转发原文标题《Limitations of scaling blockchains and which VM’s are theoretically the fastest》
TL;DR最近我和一位我非常尊敬的创始人聊天,他提到我应该写下我们之间的对话。
对话从一个简单的问题开始:“Sonic 是否以某种方式并行化交易执行?”答案是:没有。乍一看,这似乎是一个奇怪的选择,因为过去两年里,如果你有关注过虚拟机技术,你会看到“并行化”几乎无处不在。那么我们为什么不做呢?
要回答这个问题,我们首先需要看看 Sonic 工程团队是如何评估我们应该专注于什么的。我们有很多理论,纸面上看起来都很实际,都是我们想要实施的,但团队的资源有限,那我们该如何选择最有影响力的方向呢?于是,团队决定不去做那些想法中的任何一个,而是花了一年时间去构建 Aida。Aida 是一个非常强大的工具,它让我们能够在几分钟内重放整个区块链(任何区块链),而不是几个月,而且还带有有用的性能指标。这意味着我们可以在 Aida 中快速原型开发、测试,并迅速知道哪些理论是有效的,哪些是行不通的。
Aida 还为我们提供了强大的性能分析功能,能够生成以下输出:
有了以上这些,我们可以非常快速且准确地测试我们的吞吐量假设,因此我们开始比较纯内存虚拟机与磁盘、并行执行、RDMS 与 KV 与平面文件、超集、新的共识模型等等。
最大的提升来自于数据库,提升了 800%,接下来是超集,然后是共识,而并行执行则排在非常靠后的位置,尽管有 30% 的适度提升。这似乎有些违反直觉,因为像并行执行这样的概念,直觉上看起来应该比结果好。那么我们是如何实现并行化的呢?也许我们犯了个错误,测试名为“Clairvoyance”,它是完美的排序形式,是一种能够提前知道最优排序和并行化方式的引擎(在实践中这已经是不可能的,所以即使是 30% 的提升,也高于预期)。
虚拟机和区块链是非常复杂的组件,而且我们常常测量错误的指标(或者根本没有测量)。
然后他问我:“那么,Solana 的速度来自哪里?或者,它并不比 Sonic 快?”我的回答是:“Sonic 比 Solana 快,但 Sonic 并不比 Solana 的最快速度快。”
我们正在看到向单一强大服务器的转变;Solana、Megaeth 和各种单一排序器都倾向于一个目标:单一高吞吐量、高内存服务器(其中,非 L2 将始终在实际操作中最快)。如果正确优化,这种解决方案将始终比多个参与者更快。因此,像 Solana 或 Megaeth 这样的系统的最大优化吞吐量将比采用 2+ 服务器共识的下一个最快竞争对手更高。
那么,下一个问题可能是,为什么 Sonic 不使用单一领导者选举的服务器呢?答案是,这并不是我们优化的方向。我在 2018 年写过的一篇文章中提到过,我们的北极星之一是,随着互通程序的出现,某个时刻就需要共识。假设一个繁忙的交叉口没有停车标志或红绿灯,且有数百辆车通过。最优化的方法是让这些车在交叉口“登记”,然后达成排序协议,并选择最优化的方法来让每辆车行动,以最大化吞吐量。在这种情况下,你不能使用基于领导者的系统,也不能假设某一方不会恶意行为,在这种情况下,Sonic 共识已经优化到可以在 Raspberry Pi 上验证,而不会损失任何吞吐量,因此所有的车都可以基于 Sonic 共识达成排序。Sonic 针对的是网状网络的优化。
不管怎样,这只是一些随意的胡言乱语,希望某种程度上能有所帮助。
免责声明:
本文转载自 [Andre Cronje]。所有版权归原作者所有 [Andre Cronje]。若对本次转载有异议,请联系 Gate Learn团队,他们会及时处理。免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。Gate Learn 团队将文章翻译成其他语言。除非另有说明,否则禁止复制、分发或抄袭翻译文章。