什么是区块链三难困境?

可扩展性是区块链技术增长和采用面临的最大挑战之一,但传统上实现可扩展性往往涉及到牺牲去中心化或安全性,有时两者兼而有之。管理这些权衡的过程被称为“区块链三难问题”(也被称为“可扩展性三难问题”)。

“可扩展性三难问题”这个术语最初由Vitalik Buterin提出,用于描述一个高性能区块链平台必须具备的三个特性——去中心化、安全性和可扩展性——之间的内在张力。三难问题涉及到一种观点,即区块链平台只能有效地实现这三个目标中的两个。

去中心化和安全性——主要设计原则

去中心化是区块链网络的核心设计原则之一,其帮助消除了对第三方进行金融活动的需求,转而促进点对点交易。与传统金融体系不同,后者依赖于银行等实体来维护账户和交易记录,区块链通过一个分布式的计算机网络(称为节点)来执行这一角色。

节点使用共识模型(如工作证明 PoW权益证明 PoS)来验证交易,并就区块链的当前状态达成一致。一旦交易经过验证为有效,它们就会被添加到区块链上的一个区块(或一组交易)中。一个由独立运行的大量节点组成的网络通常是健康、去中心化区块链的标志。

去中心化是区块链安全的关键元素,因为权力在许多节点之间的分布使得网络对攻击更具弹性,例如51% 攻击(也称为多数攻击)。然而,其他因素也影响区块链的安全性,如确保无人能操纵账本或货币发行。这些因素取决于区块链是使用 PoW 还是 PoS 协议。

PoW 协议要求矿工投入计算资源来验证交易并将其添加到区块链上,通过这种方式来获得加密货币奖励。要求矿工投入能源和采矿设备作为资源,旨在确保他们有充足的“参与感”,从而促使他们为网络利益行动而不是对其发起攻击。

PoS 协议的工作方式则不同。PoS 不是要求投资能源和外部资源,而是要求节点质押一定数量的平台本土加密货币,以参与区块验证并获得奖励。如果节点未能为网络利益行动,那么它的部分(或全部)质押可能会作为惩罚被没收,减少获得的奖励。在这种情况下,节点在维护区块链安全方面有直接的经济利益。

对可扩展性的影响

去中心化和安全性共同作用以确保区块链对潜在的瘫痪攻击保持弹性。然而,这往往以牺牲可扩展性为代价,也就是区块链容量增长的能力。

例如,PoW 系统旨在保持恒定的区块时间(创建新区块所需的时间)不变,不管网络上有多少计算能力。无论使用区块链的人数如何,该过程都不会改变,这可能会影响区块链支持交易量增加的能力。

解决可扩展性的方案通常专注于增加交易吞吐量,而不妥协于去中心化或安全性。多年来,比特币社区就如何提高网络的可扩展性进行了辩论,这导致了区块链的多次分叉

一种提出的方法是增加区块中可以存储的数据量,但在比特币中实施此类更改的尝试存在争议。2017 年 8 月,比特币社区因为一项称为SegWit的提议升级而出现分歧,该升级将减少区块中交易的“体积”。有些人反对这项升级,而是提议将区块大小从比特币原始代码中定义的 1MB 限制增加。然而,更大的区块使得全节点运行成本更高,提高了运行节点的门槛,影响了去中心化。

这场分歧导致了一次区块链分裂,即硬分叉,产生了具有更大区块大小的比特币分支——比特币现金,并允许比特币接受 SegWit 升级。在随后的几年中,区块大小的争论将导致比特币现金社区进一步分裂

缺乏可扩展性影响用户体验,因为在网络高峰期间,当有限的带宽需求高涨时,可能会导致交易时间长和费用高。最终,缺乏可扩展性会损害区块链网络的可用性和可访问性,限制了采用的前景。

解决区块链三难问题

对于区块链三难问题,没有快速简单的解决方案。然而,现在有几种方法在努力缓解去中心化、安全性和可扩展性之间的紧张关系。大致上,它们分为两类——链下处理解决方案和分片解决方案。

链下处理使用二层网络

链下处理指的是将交易从主区块链上移走,以缓解拥堵和对有限区块空间的竞争。区块链的一些用例,如游戏,涉及对低价值总额的高频交易,这可以在主链之外进行。

第 2 层协议通过允许应用程序打包交易以进行高速处理,并定期在主区块链上结算账户余额,作为一种可扩展性解决方案。一些例子包括以太坊的 Arbitrum 或 Optimism,或比特币闪电网络

第二层平台可能在安全性或去中心化方面做出权衡以实现可扩展性。例如,一个依赖于少数验证者来验证交易的二层网络引入了二层级别多数攻击的风险。因此,一些二层平台之前已经成为黑客攻击的目标。

分片

分片涉及将区块链分割成不同部分,以实现并行处理,进而提高交易吞吐量。分片是以太坊选择的扩展方法,正在作为多年路线图的一部分实施。然而,分片引入了新的安全考虑,因为每个部分或分片更容易受到 51% 攻击。

得益于新引入的权益证明算法,以太坊能够解决验证者串通攻击单个分片的问题。一旦分片启用,当验证者质押其 ETH 时,它将触发随机分配分片。这种随机性以及无法选择要验证的分片使得协调攻击几乎变得不可能。

区块链三难问题要点

  • 在设计和开发去中心化和安全的区块链时,开发人员通常会在可扩展性上做出妥协。
  • 这种三向张力被称为“区块链三难问题”,已经成为区块链核心开发人员面临的经典问题。
  • 解决方案和变通方法包括使用二层协议的链下处理和使用分片的并行处理。