撰文:Wilson Withiam,加密货币数据平台 Messari 研究分析师。该文为 Messari Pro Research 研究平台的付费报告,链闻获得授权翻译并发表。
编译:詹涓
比特币从设计上就是慢的。
区块链并不一定是为了速度而创建。
中本聪在设计比特币时,将安全性和去中心化置于首位,他也承认,在与中心化的竞争对手如主流信用卡网络竞争时,比特币系统将面临压力。而实际上,比特币的10 分钟出块时间和较小的区块却让它能够维护一个全球
性的、无领导网络的共识,因为这样做减少了非故意的账本分叉的频率,又能维持节点运营的低成本和存储的低要求。
比特币很慢:在过去一年中,它每秒处理的交易量 (tps) 还不到 4 次。而且比特币无法轻易扩大其吞吐量,这在围绕「区块大小」而展开的多年治理斗争中已显而易见。这场斗争的高潮是在 2017 年底,比特币现金 (bitcoin cash) 成为该网络的首个主要硬分叉。为比特币区块设置一个硬性的大小限制,这使得「数字黄金」的说法从此占据主导地位。
如今,大多数投资者似乎已满足于将比特币作为一个低吞吐量系统,更看重其对高价值交易的强大结算保障,而不怎么在乎它对全球支付网络的支持。原因显而易见!交易的方程式表明,速度(即资金的交易速度)一旦提高,会给其价格带来下行压力。
以太坊怎么样?
类似的说法现在也在以太坊浮现。这个所谓的「世界计算机」项目正在做三难选择,到底是侧重高价值的交易结算,还是偏重高吞吐量的去中心化应用。简而言之,以太坊现在只和去中心化金融 (DeFi) 有关 。
这种转变是必然的。以太坊在 2017 年变得非常火,其较弱的处理能力(平均 7.5 tps)无法跟上交易量的快速增长。未确认交易不断积压导致交易费飙升,并进一步让结算时间不断延迟,使得以太坊作为平台难以满足特定游戏应用和交易所的需求。
最著名的例子是加密猫 (CryptoKitties) 危机,这是一款链上收藏品的游戏。在 2017 年末推出后实在太火爆,不久它就让以太坊几近停滞、颜面扫地。为了应对这种窘境,基于区块链的游戏和博彩应用,后来选择了性能更高、收费更友好的其他智能合约平台,如 EOS 或 Tron。甚至始作俑者,即加密猫的创造者、创造力旺盛的 Dapper 实验室,也筹集了 1,100 万美元去创建一个竞争性的网络,目标就是解除困扰以太坊的交易瓶颈。
当比特币遇到扩展难题时,它从支付演变成了结算。
而在同样的挑战中,以太坊从世界计算机演变成了 DeFi。
下一代区块链项目似乎不应该忽视这样一个显而易见的事实:高吞吐量的加密应用普遍缺乏一个承载平台,这为新项目打开了机遇的大门。但谁能解决用户体验和激励配置等问题呢?短期解决方案可能是两个,一是说服客户相信,非监管的金融和数据服务比现在的方案更值得考虑(行为转变),一是提供一个在性能上打败现有系统的环境(技术进步)。
消费者行为的转变需要时间和教育,才能达到预期的效果。在我们这个即时满足、而且时间有限的世界里,这种方法效率很低。作为应对,大多数开发人员和投资者选择去解决技术问题,以构建可扩展的区块链网络。
一些高吞吐量选项
分析一下近期融资的项目你会发现,可扩展性是赢得用户的首选策略。在我们的样本中,投资者已经向主打优异性能的以太坊替代品投入了超过 24 亿美元。然而,这些「超级链」中有 75% 尚未推出,其他已上线系统也未兑现它们在性能方面的承诺。
主要的 layer 1 高性能区块链项目
这一轮投资热潮还延伸到「第二层解决方案」。这些项目从基础层网络中分担了一些计算和数据存储职能,在每秒处理的交易量和节点操作成本方面,性能都有所提高。第二层解决方案的投资者,押注于区块链网络的垂直扩展,而非水平扩展。
Layer 2 扩展性解决方案
尽管注入了大量资金,但可扩展的区块链解决方案仍然难以名状。一个挥之不去的问题是,既然所有这些资金都被投入到区块链扩展的研究和开发中,那么,为什么没有出现一个主导性的解决方案呢?
规模更大,问题越多
基于去中心化的基础设施和一个节点运营者社区来让某一网络实现规模扩展,难度很大。这是因为,去中心化、安全性和可扩展性之间的关系非常纠结,这有时被称为「可扩展性不可能三角」,它让区块链系统无法同时具备这三个特性。
所有现有的网络项目都需要进行取舍。比特币和以太坊选择将去中心化(节点运营成本低)和安全性(攻击成本高)放在可扩展性(每秒交易量高)之上。像币安链(Binance Chain) 这样的替代型项目,则通过控制可访问节点数量、牺牲去中心化而获得性能的优化。另一些替代方案选择了部分牺牲网络的安全性。
面对「可扩展性不可能三角」,不同项目的不同取舍
由于计算性能是功能和被采用的先行指标,因此,试图解决这个三难问题的任何努力,都能让人们发现,到底何种策略有可能让区块链网络获得扩展。过去的许多项目常常忽略了影响某一网络能够扩展的各参数之间的关系。除了每秒交易量,应考虑的参数还包括验证者的数量、交易的成本和终结性所需的时间。
关于可扩展性的早期尝试,大多较为笨拙,都试图在不影响其他参数的情况下捣鼓某一个参数。
比特币现金和它的 BSV 分叉通过改变比特币代码来增加区块大小,使得每个区块可包含更多的交易。Tps 的增加是以牺牲去中心化为代价的,因为这种「升级」对节点运营者的数据存储提出了更高要求。比特现金和 BSV 都宣传自己的交易费低,但其实交易费低会减少矿工的收入,并对网络的安全构成长期的生存威胁。
另一种控制运营者成本的方法是,严格限制验证节点的数量。这种方法在DPoS 网络中很常见,比如 EOS 和 Tron,在这些项目里,被选定的某一批节点结合在一起,控制所有的投票权。这个验证者的集合很小,所以网络能够在短时间内对交易顺序和验证达成一致,但是系统也因此放弃了去中心化和抗审查的特性。
寻找更有前景的解决方案
更有前景的第一层解决方案认识到,上面列出的可扩展性参数需要以一种集体的方式扩展。这些方法涉及更大的技术复杂性,因此在研究和开发上需要更长时间。其中一些实验包括分片、时间和状态的分离以及互操作性。
像以太坊 2.0、Zilliqa 和 NEAR 这样的项目,正在考虑采用分片来解决可扩展性问题。分片模型将网络划分为不同的组(称为分片),节点只需验证其所在分片上的交易。这种「分而治之」的方法使链的各部分能够并行处理各自的网络交易,从而提升性能。
各节点也只负责处理网络中总交易的一小部分,这反过来又降低了运营者的成本并保持了去中心化。尽管有好处,但分片是一个极为头疼的工程问题,而且其在高压力下保持运转的能力仍然存疑。虽然 Zilliqa 主网号称实现了实时分片架构,但分片面临的真正考验,应该是在以太坊启动 Serenity 的最后阶段时发生。
另一方面,Solana 则放弃了分片策略,选择了时间和区块链状态的分离这一方法。它的网络具有一种被称为历史证明 (PoH) 的内嵌机制,可以实时同步交易的顺序。PoH 消除了在交易排序上达成共识的需要,也就免掉了相应的时间损耗,使节点能在收到交易时立刻处理它们。然而,与分片一样,PoH 并无先例,并且仍处在发展中。Solana 的团队也发现,在内部测试中很难达到预期的 tps 上限(约 40,000- 50,000)。随着 Solana 从内部测试场所切换到公共的测试网,它将面临更大的挑战。
关于可扩展性的另一个前沿难题是互操作性。作为中介,互操作性的解决方案能够促进不同的第一层网络之间进行信息传输,这种跨网络连接还可以促使各种链的相互利用,并将性能或安全需求外包。在某种意义上说,当前的以太坊可以将某些处理型的工作交给更高性能的链,通过「并行计算」实现可扩展性。而接收了这些工作的网络将受益于以太坊的安全级别、代币流动性和用户基础。虽然跨链协作这个想法令人振奋,像 Cosmos 和 Polkadot 这样的项目也在进展中,但是互操作性到底能否解决可扩展性难题,这一设想仍未被证实。
所有这些解决基础层可扩展性的尝试,都涉及极度复杂的技术方案。复杂性在于,人们很难在大规模情形下很好地协调某一区块链设计的各种参数(安全性、去中心化、交易成本等)。这一艰巨的挑战促使一些项目寻找可行的替代方案。
寻找上述问题的答案
第二层方案,存在于区块链网络之上的一层,通常通过双向挂钩或专门的智能合约连接到底层平台。这些双向通道为基础层提供了一个出口,以减轻一些计算责任并缓解各种交易壅塞。我们可以将这些第二层网络看作是某些高交易量、低吞吐量的区块链的减压阀。
当基础层获得性能提升时,第一层/第二层的关系完全是相互促进的:大多数第二层解决方案依赖于它们的底层网络来实现安全性和解决争议。这种动态关系使得在第二层的设计有更大的灵活性,团队可以在不牺牲基本层去中心化的情况下,用安全性(有时是信任最小化)来换取可扩展性。
闪电网络 (LightningNetwork) 是一个最突出的例子。它是一个建立在比特币区块链之上的支付渠道系统,使用户能够在一个低费用、高吞吐量的环境中进行交易。用户可以定期将闪电网络的交易记录在比特币网络上结算,而无需把每笔交易都提交到链上,这就减轻了比特币网络的整体工作负担。虽然闪电网络和类似的项目(如状态通道)在理论上是令人兴奋的概念,但这些项目的适用范围较为有限:支付和状态通道对执行智能合约或更复杂的操作的贡献甚少。于是,一些项目开始探索其他第二层扩展解决方案,也就是侧链(sidechain)和 rollup。
侧链是独立的网络,通常具有唯一的共识层,通过双向挂钩连接到一个基础层协议。由于没有第一层设计的负担,侧链可以支持超出其基础层能力的某些特性,包括但不限于可扩展性和互操作性,同时不依赖于第一层的存储。尽管有这些所谓的好处,但这些分支网络需要参与者之间更多的信任和协作,而这对加密业的信众来说是比较为难的要求。
这一两难困境可以解释为什么侧链缺乏需求。Loom Network 正试图通过接入多个第一层网络(现在是以太坊和 Tron,不久的将来还有币安链)来强推其采用率,希望某一项努力能掘到金矿。即使是那些历练更多的侧链项目,比如 POA Network 的 xDai 链,在活跃度和日活用户方面的排名也明显低于基础层的应用程序。支持侧链的一个更有说服力的论点是,如果市场对互操作性的需求激增,这将推动用户使用已上线的第二层解决方案,因为第一层互操作性的协议仍在开发中。
另一方面,rollup 方案受到了包括 Vitalik Buterin 在内的加密精英的广泛关注。Rollup 是一种基于以太坊的智能协议,它可以管理侧链和第一层网络之间的跨层传输。与大多数侧链使用的双向挂钩机制不同,rollup 合约会将包含数千个交易的大量状态变化打包到一个区块中,然后才发布到基础层。这种方法为链上数据存储和计算提供了一种更经济的替代方法。
Rollup 也分为两种:ZK Rollup 和 Optimistic Rollup。在较高的层级上,ZK Rollup 使用 zk-SNARKS 的加密魔法来自动验证每一个新的交易区块。而Optimistic Rollup 则绕过了这个数学路障(SNARKS 成本高昂且难以实施),其运营者和用户可以复查已发布的状态,如果无效则回滚该区块。这两种方案都还处于开发的早期阶段,需要克服两类挑战才能成为可行的选项,一是安全(rollup 由一个合约组成,对于攻击来说是一个非常诱人的蜜罐),一是实现最终性所需的时间。
可扩展性解决方案面临的严峻现实
时间还是太早了。
上面描述的每一项新技术都需要时间来开发、调试和改进。而严峻的现实是,在区块链可扩展性方面出现的最好的技术可能不会笑到最后。正如 Dan Zuller 所说,「还有社会和经济因素会决定谁是最终的赢家(们)。」
这种观点显然更青睐像比特币和以太坊这样的区块链网络,因为它们在实用性、交易量、开发者和利益相关者社区方面具有明显的优势。控制这些因素的网络效应将继续积累价值和需求,以促成更稳健、更成熟的区块链。因此,基于更受欢迎的基础层而构建的扩展方案将更容易被采用,并进而发现更大的需求。
剩下的问题是:以太坊将何去何从?如果扩大网络规模的艰苦战斗一直受困于延迟问题,那么,用户和项目是否会整体迁移到其他竞争链上去?短期来看,可能不会。以太坊已通过 DeFi 和多样的利益相关者社群,建立了足够的护城河,可以防止失去重要的地盘。第二层解决方案的出现,特别是 rollup 合约,可以缓解以太坊短期的性能担忧,并提供足够的缓冲,直到以太坊 2.0 的主网做好准备。
「高性能」的区块链项目并没有获得采用,这说明可扩展性并不是吸引用户的决定性功能。它只是一个营销术语,一个有效的术语,用于为前产品时期的融资提高估值。但它的确能对主流的区块链带来增值;可扩展性解决方案拓展了现有垂直领域(如DeFi)的功能,使应用程序能够应对更广泛的用例,并吸引更广大的用户群。