1 min read

TON、Solana 和 以太坊 2.0 的对比

翻译:MetaCat

摘要

自 2017 年编写最初的 TON 白皮书[1] 以来,出现了许多新的区块链项目,例如 Solana 和 Ethereum 2.0。在本文中,我们将 TON 与其中一些比较有代表性的区块链项目进行了对比。

1. 对比形式

根据 TON 原白皮书第2.8 和2.9 节对区块链项目的分类进行形式比较

1.1 对比指南

我们根据以下标准对区块链项目进行分类,在 TON 白皮书[1] 的第 2.8 节中有更详细的解释: 

  • 单区块链/多区块链项目

  • 共识算法:PoW(工作量证明) ) / PoS (proof-of-stake)

  • 对于 PoS 项目,精确的共识算法(例如 dPOS 或 BFT)

  • 对于支持任意(图灵完备)智能合约的多区块链项目,我们必须进一步考虑的问题:
    1> 成员区块链的类型和规则:同质、异构、混合
    2> 主链的存在
    3> 原生支持分片、静态和动态分片
    4> 区块链之间的交互:松耦合/紧耦合

除此之外,简化分类区块链项目在TON 白皮书[1] 的 2.8.15 中进行了介绍,并且在第 2.9 节的开头给出了包含最流行区块链项目的基本属性的表格。

2. Solana

2.1 Solana 概述

Solana [2] 在 2020 年代是一个有点不寻常的项目:它是一个专为非常快速地执行专门的交易而优化的单一区块链项目。在这方面,它类似于 EOS [8](2016-2018 年开发)的前身 BitShares 项目[9](2013-2014 年开发),但使用被称为 Tower Consensus [3] 的 PBFT [10] 变体代替dPOS。Solana 声称每秒生成一个区块,甚至更快;然而,这是有代价的,因为下一个区块是在前一个区块完成之前生成的(引用官方博客文章[4],“与PBFT 不同, Tower Consensus 更喜欢活跃性而不是一致性”)。这可能会导致创建短暂的分叉。当验证者分布在世界各地的不同地点时,在现实生活中完成一个块需要多次往返(乐观情况下的 PBFT 本质上是一个三阶段提交协议),因此最好的情况需要几秒钟。官方文档的解释似乎暗示一个区块通常在 16 轮投票后最终确定,每轮预计持续大约 400 毫秒;这意味着6.4 秒的完成时间。 

我们可以说,Tower Consensus 虽然正式成为 PBFT 的变体,但与 dPOS 共识协议相比更好,后者提供更短的区块生成时间,但以更长的区块完成时间为代价。 

Solana 的另一个有趣特性是,它经过高度优化,可以执行非常简单的预定义交易,这些交易不会改变账户数据,但账户余额可能除外。这允许大规模并行执行和验证交易。在这方面,Solana 类似于EOS 的前身BitShares,它使用 dPOS(具有短的块生成时间和长的块完成时间)并且针对非常简单的预定义交易的大规模执行进行了优化。除此之外,Solana 的设计方式是,与生成这些交易所需的时间相比,在高端 GPU 上验证交易正确顺序的速度可能会加快千倍。 

最终,Solana 声称每秒能够执行多达 700,000 次简单交易(根据[11] 的实际数字是 65,000 而不是 700,000),前提是它们不改变帐户状态并且不需要太多数据,并且仅在所有帐户的所有数据都适合 RAM (译者注:随机存取存储器)的情况下。同样,这与 BitShares [9] 几年前的承诺非常一致。主要区别在于,与 BitShares 相比,Solana 确实提供了对区块链软件未预定义的交易类型的支持;为此,使用了一种称为 Berkley Packet Filter 的虚拟机变体,该机器的预编译程序可以上传到 Solana 区块链中,然后在交易中引用[12][13] ,Solana 形式上是图灵完备的,但通常引用的性能指标仅与非常简单的预定义交易有关,并且仅适用于所有帐户的所有数据都放入 RAM 的情况,因此我们认为与 BitShares 的比较仍然有效。 

总而言之,Solana 是 TON 白皮书[1] 中 2.8.15 术语中的“第三代区块链项目备择方案”,最终与 EOS [8] 的前身 BitShares [9] 非常相似,但有进一步的优化。它在形式上是图灵完备的,但实际上只能执行多种预定义类型的大量非常简单的交易,或者更少量的更一般的事务;它声称能够平均每秒生成一个以上的块,并在未来的硬件升级后每秒执行 700,000 次简单交易(实际数字似乎是 65,000 而不是 700,000 [11])。它是一个固有的不可扩展的专业单区块链项目,如果不进行完整的重新设计,则不提供或不可能提供对分片或不同工作链的支持(我们参考 TON 白皮书[1] 的 2.8.16 来解释为什么这样的重新设计非常困难)。在这方面,它与 EOS [8] 相比之下,TON 允许即时部署任何复杂智能合约,由于共识机制具有更短的交易和区块最终确认时间,并且可能最重要的是动态分片,因此可以提供更高级别的安全性。随着负载的增加,后者会自动将区块链扩展为越来越多的分片链,从而提供任何单区块链架构都不可能实现的可扩展性(比如在Solana 中实现)。 

很自然,Solana 的前辈,其他单区块链或松散耦合的多区块链项目,如EOS 等没有分片支持的项目,在早期阶段看起来很壮观,但事实证明是短暂的,因为这些概念不可避免地冲击了在后期阶段对其可扩展性和稳定性产生负面影响的限制。2021 年9 月 Solana 区块链[5] 崩溃的早期迹象表明,在意外激增的交易“造成内存溢出”后,该区块链实际上停滞了 17 个小时,这导致许多验证器崩溃,迫使网络减速并最终停止”,引用自描述此故障的官方文件。这让我们质疑 Solana 在现实交易中的未来表现,而不是特制的非常简单的交易,只涉及少量不同的账户,并在非常特定的测试环境中执行,数百个强大的验证服务器位于一个数据中心或在附近的几个数据中心。TON 在这方面似乎更加稳健。

2.2 隐喻:Solana 是一辆超级蒸汽机车

Solana 是一个有趣的例子,它展示了一种古老的工程方法,将众所周知的固有局限性推向了极致。因此,它让我们想起了技术史上几个类似的故事,我们现在想把它们联系起来。 

其中之一当然是 1938 年英国 LNER A4 4468 Mallard 蒸汽机车创下的 203 公里/小时的世界记录。在常规客运服务期间,它没有达到这些平均速度,而是以150 公里/小时的速度运行。然而,当时它保持着所有机车、蒸汽机车、柴油机或电力机车的世界记录。尽管如此,这是一条技术死胡同,后来的所有高速列车,如日本的新干线、法国的 TGV 或德国的 ICE,都是多单元电动列车。有趣的是,所有现代高速列车都是这样。

多单元电动列车意味着每个车厢中都有一个发动机甚至多个发动机,而不是由蒸汽机车牵引的传统列车。我们看到了分片的力量。我们看到了为什么即使在 1938 年就很明显,未来属于电动火车:电动发动机可以很容易地在整个火车上扩展和分布,而蒸汽机技术不能以这种方式扩展。 

想到的第二个技术故事是 2000 年初英特尔的 Pentium 4 CPU。英特尔承诺在几年内逐步将这些处理器的时钟频率提高到 10 GHz,并达到前所未有的性能水平。在实践中,Pentium 4 运行实际代码的速度通常比上一代 Pentium 3 慢,时钟频率更低,而英特尔在达到 4 GHz 的边界后无法实现最初承诺的时钟频率增长。在那之后,英特尔完全重新思考了其 CPU 开发路线图,并基本上恢复到具有较低时钟速度的 Pentium 3 架构(更名为Intel Xeon 或 Intel Core 2),但在一个物理设备中安装了越来越多的CPU 内核。这种方法被证明更具可扩展性和耐用性,现在我们可以根据需要购买 64 核处理器。同样,基于使一个计算核心越来越快的方法失败了,多核方法(可以比作多单元火车和区块链中的分片)被证明是可行的。 

第三个技术故事是超级计算机的故事,例如 Cray,它在 1970 年代和 1980 年代很流行,但后来被由数千个商用 CPU(通常是英特尔和AMD CPU 的服务器版本)组成的集群所取代。如今,排名前 100 位的超级计算机都是商用 CPU 集群。再次,“分片”或“多单元系统”战胜了单单元系统的超级优化。 

我们想通过将 Solana 比作超级蒸汽机车,来结束我们对技术历史的探索,它利用了古老技术范式的所有可能的技术优化,但最终是不可扩展的和技术死胡同。我们可以赞扬和钦佩在设计和运行这些技术奇迹时所采用的独创性;但它们仍然是技术死胡同。 

3. 以太坊 2.0

TON 与以太坊 2.0 的比较有些复杂,因为截至 2022 年以太坊2.0 的开发和部署仍然不完整。让我们描述一下目前已知的情况[6]-[7]。

向以太坊2.0 的过渡将分几个阶段进行。首先,将部署一个新的 Beacon 区块链(信标链)[6](其作用类似于原始 TON 白皮书术语中的主链)。这个 Beacon 区块链将采用一种名为 Casper 的原始 PoS 共识算法。其主要目的是注册多达 64 个分片链(辅助区块链)的状态(最后一个块的哈希值)。推荐使用的 PoS 算法的不同寻常之处在于:它会涉及甚至需要大量参与的验证者(至少16,384 个),每个验证者质押少量的 ETH(每个32 个 ETH)。这些验证者本质上是常规的以太坊节点,只是需质押 32 个以太币。除了与区块和内存池传播相关的常见以太坊网络问题外,这些节点之间不需要特定的通信。在这方面,以太坊2.0 似乎异常“民主”(几乎所有其他 PoS 区块链项目都相当“寡头政治”,其中数十或至多数百名验证者在给定时刻参与实际创建区块)。然而,这是有代价的:对于 Beacon 区块链和 64 个分片链来说,区块确认时间似乎都在 10 到 15 分钟左右。换句话说,一个人必须等待 10 到 15 分钟才能确保他们的交易确实完成了。 

假定过渡的第二阶段,将包括将现有的以太坊1.0 (PoW) 区块链转换为与新Beacon 区块链相关的 64 个分片链之一(例如,零分片链)。之后,PoW 共识机制将被禁用,以太坊将继续作为 PoS 区块链。 

最后,第三阶段将包括创建 63 个其他分片链[7]。这样,以太坊将由 64 个分片链组成,其中一个将是旧的以太坊 1.0 区块链,以及一个 Beacon 区块链,它是主要致力于质押、削减(惩罚行为不端的验证者)、达成共识和注册分片链哈希值的主链。 

现阶段尚不清楚新的 63 个分片链的确切功能是什么,以及这些分片链将如何相互作用。没有这些信息,我们就无法真正完成我们对多区块链系统的对比。但如果在分片链之间引入消息传递,则必须等待 10 到 15 分钟,直到最终确定发出消息的分片链块,然后才能在另一个分片链中处理该消息。这似乎是目前不考虑分片链交互的原因。此外,目前额外的分片根本不应该能够运行 EVM 智能合约(尽管有一些迹象表明这可以在未来重新考虑)[7]。相反,它们应该用作分布式分类帐中的附加数据存储。它们不会用于运行任意智能合约;相反,它们的首选用途是完成链下或第 2 层区块链计算(类似于比特币的支付通道或闪电网络),可能类似于 Plasma 项目先前提出的那些(在原始 TON 白皮书的2.9.10 中讨论 )。 

通过这种方式,以太坊2.0 似乎完全避免了分片链交互、在驻留在不同分片链中的智能合约之间传递消息等问题。相反,以太坊的未来用户预计将在不相关的侧链中运行他们的所有交易,并使用以太坊2.0 分片链来完成这些侧链的最终状态。正是在这个意义上,以太坊2.0 声称能够从目前的每秒 15 笔交易扩展到每秒数万笔交易。我们认为这种说法具有误导性,因为存在比较具有不同一致性和最终性保证的不同类型的交易。当前每秒 15 笔交易是通常的链上图灵完备 EVM 智能合约执行;在不远的将来承诺的数以万计的“交易”是完全不同的,可能是非常专业的交易,参与者数量有限,只有在它们产生之后才变得普遍可见。人们也可以将其与使用和不使用闪电网络的比特币性能进行比较。

但是,在这种情况下,还应该允许引用 TON 区块链,包括所有可能的支付渠道和支付网络内的“交易”,这些支付网络绑定到驻留在 TON 区块链分片链中的智能合约。因此,如果我们接受以太坊 2.0 每秒能够执行数万次“交易”(实际上是指侧链和支付通道交易)的说法,那么按照这个定义,TON 将能够执行每秒数十亿次这样的“交易”。 

总而言之,以太坊 2.0 似乎回避了真正复杂的分片链交互问题,如果不完全重新思考 EVM 和智能合约交互模型,这是无法解决的(我们参考原始TON 白皮书[1] 的 2.8.16 了解更多信息详细说明),并用 63 个额外的分片链(10-15 分钟的完成时间)扩充原始以太坊区块链,仅用于存储侧链和支付通道的最终状态[7]。这是一种有点失败主义的做法,人们会期待世界上第二古老的核心区块链项目更雄心勃勃,它是第一个引入图灵完备智能合约的项目! 

在目前设想和测试的形式中,以太坊2.0 的目标不是达到现有 TON 实现已经达到的速度和多功能性水平。 

4. 结论

TON 区块链最初是在 2017 年设想和描述的。其白皮书[1] 仔细解释了为什么 TON 做出的设计选择对于构建一个真正可扩展的区块链项目似乎是必要的,该项目能够处理每秒数百万笔交易未来没有任何涉及其智能合约逻辑及其交互的本质变化。这就是为什么 TON 被选为当时唯一的第五代区块链项目的原因。 

从那时起,新的区块链项目不断涌现。人们会期望他们克服 TON 白皮书中讨论的所有旧区块链项目的限制,并可能提出一些区块链开发的新方法。相反,我们看到基于即使在 2017 年就已经过时的想法而重新出现的区块链。比如 Solana,从 2019 年开始设计,在 TON 白皮书的术语中,它是一个本质上不可扩展的“第三代区块链项目”的备择方案,与 2013 年的 BitShares 项目,EOS 的前身是统一类型。如果读者对 Solana 与 2013 年一个看似不起眼的声称提供类似性能的项目的反复比较感到沮丧,那可能是有充分理由的:如果我们可以在某种程度上使用过去来预测未来,我们可能会预测 Solana 在其成立九年后(即2028 年)将同样面临困境。此外,由于原始 TON 白皮书中解释的原因,稍后向 Solana 添加分片以克服其固有的不可扩展性几乎是不可能的。另一个让我们失望的区块链方案是以太坊 2.0,它基本上抵消了以太坊的主要成就:图灵完备的智能合约,并声称它们毕竟不是特别有用。另一方面,以太坊 2.0 很好地说明了上面提到的与 Solana 相关的一般原则:如果没有考虑到这些问题,就无法将分片和可扩展性改造到最初设计的区块链项目中。 

截至 2022 年,TON 区块链仍然是为数不多的真正可扩展的区块链项目之一。因此,它仍然是最先进的区块链项目(原始白皮书中的“第五代”),能够执行每秒数百万比交易,如果将来有必要,每秒可以执行数千万次真正的图灵完备智能合约交易,只需要很小的内部更改。自成立以来的五年中,它仍然处于通用区块链技术的最前沿。 

自 2017 年以来,基于过去几年开发的 TON 技术的实施,各种测试网和主网的高性能进一步验证了 TON 白皮书中提出的架构方法的效率。 

参考文献

[1] TON 白皮书,在线查看 https://ton-blockchain.github.io/docs/ton.pdf

[2] Solana:高性能区块链v0.8.13 的新架构,https:// solana.com/solana-whitepaper.pdf

[3] Tower BFT:Solana 的PBFT 的高性能实现,17.07.2019,https://medium.com/solana-labs/tower-bft-solanas-high-performance-implementation- of-pbft-464725911e79

[4] 8 项创新让 Solana 成为首个 Web 级区块链,https://solana.com/news/8-innovations-that-make-solana-the-first-web-scale-blockchain 

[5]解释:系统中断如何扰乱 Solana 的大规模活动,https://www.cnbctv18.com/cryptocurrency/solana-sol-token-solana-outage-cryptocurrency-10822571.htm

[6 ]你需要先阅读的信标链以太坊2.0 解释器,https://ethos.dev/beacon-chain

[7] 以太坊升级:分片链,https://ethereum.org/en/roadmap/danksharding/

[8] EOS.IO 技术白皮书,https://gith ub.com/EOSIO/Documentation/blob/master/TechnicalWhitePaper.md 

[9] S.Larimer,比特股的历史,2013 年,https://docs.bitshares。org/bitshares/history.html

[10] M. Castro、B. Liskov 等人,实用拜占庭容错,第三届操作系统设计与实现研讨会论文集(1999 年),第 173 页。http://pmg.csail.mit.edu/papers/osdi99.pdf

[11] Crtomir Ipavec,Solana,https://medium.com/crypto-articles-randomly/solana-9c432a1b84a8 

[12] https://docs.solana.com/developing /on-chain-programs/

[13] https://docs.solana.com/developing/programming-model/

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注