加载中 ...
首页 > 股票 > 区块链 > 正文

如何衡量一条区块链的性能?Solana等区块链的“高TPS”口号已经无用了?

2022-03-02 19:20:54 来源:广东财经网

多链现在已成为现实。以太坊缺乏可扩展性导致大规模迁移到新一代 L1。这些 L1 中的大多数使用 EVM(以太坊虚拟机),这使得它们与以太坊钱包和开发工具兼容。但是 Solana 已经从头开始完全重建了它的堆栈。 Solana 声称是现有最快的区块链。所以它引出了一个问题:Solana 比 EVM 链快多少?


      如何衡量一条区块链的性能?Solana等区块链的“高TPS”口号已经无用了?

L1 区块链的 TVL 增长,图片来源:The Block

首先,我们需要就如何衡量性能达成一致。自古以来,新的区块链就一直在宣称它们的性能比以太坊高出多少。这是一种老调常谈。你会看到大量的数字和匆忙组合的图表,比较自我报告的 TPS(每秒交易量)。不幸的是,这些 TPS 数字通常来自他们自己的营销材料,而这些材料几乎都是废话。

L1 本身发布的大多数基准测试都测量简单价值转移的 TPS——即,将币从一个账户转移到另一个账户。简单的转账非常便宜,因此会产生庞大的数字,每个人都喜欢庞大的数字。但实际上没有区块链在这样的传输上遇到瓶颈,而且这种活动并不能反映现实世界的使用模式。此外,其中许多数字是在开发网络或测试网络上生成的,而不是在主网上生成的。我们不关心某人的软件抽象地可以做什么:我们关心当前主网上的可能性。

实际上,没有一种统一的方法来对 TPS 进行基准测试。基准测试中经常出现这种情况。这是一个混乱而令人担忧的领域,充满了误导性营销、过度拟合/“应试教学”和作弊。

好的。那么我们应该如何实际测量 L1 性能呢?

这是一个棘手的问题,因为性能有多个维度。

首先,性能始终是针对去中心化的一个妥协。与主网环境相比,高度中心化的测试网和开发网可以产生难以置信的数字。许多主网在去中心化方面偷工减料,这挤压了额外的性能。

但是,假设我们想忽略去中心化,只关注性能。好吧,众所周知,对区块链性能进行基准测试非常困难,因为大多数新链的数据可见性都很差。

7 年来,以太坊的性能得到了高度的研究和很好的理解。但是当你开始探索更新的链时,它们中的大多数工具都少得多,可观察性差,而且还在不断发展。当您阅读本文时,这些基准可能已经过时了。

此外,基准测试总是随意的,并且充满了陷阱。你能做的最好的就是选择一个衡量有价值的东西的基准,然后尽可能仔细地确定你的结果。这就是我们将在这里尝试做的事情。

但是我们所说的性能是什么意思呢? 性能有两个方面:吞吐量和延迟。

您可以将区块链性能可视化,例如流过管道的水。 交易就是水——你希望大量交易同时流过管道。 但是管道的长度决定了它的延迟——如果一个交易需要很长时间才能得到确认,即使很多交易可以一次得到确认,那也是不理想的。


      如何衡量一条区块链的性能?Solana等区块链的“高TPS”口号已经无用了?

延迟可以细分为区块时间(区块间隔的时间)和最终确定时间(区块肯定不会被回滚的时间)。 出块时间和完成时间很容易衡量。

但是要实际测量吞吐量,您需要一个标准的测量单位。 什么的吞吐量?

我们没有使用代币转移,而是查看了以太坊上最耗gas的产品之一:Uniswap V2,并将其变成了一个非常简单的基准。 如果你用 Uniswap V2 风格的交易填满了整个区块,每秒有多少笔交易可以清算?


      如何衡量一条区块链的性能?Solana等区块链的“高TPS”口号已经无用了?

我们选择这个基准是因为 1)它简单且易于测量,2)每个区块链都有一个 Uniswap V2 风格的 AMM 在生产中,3)它是常见的智能合约使用模式的典型。

对于大多数具有gas模型的区块链,这种粗略的练习应该很简单。首先,找到区块gas限制和出块时间,推导出链的gas/sec吞吐量;接下来,找到一个 Uniswap v2 风格的 AMM 并选择一笔 SwapETHforTokens 等效交易;最后,将第一个数字除以第二个数字,得出如果它的区块充满相同的 AMM 交易,它将达到多少 tx/sec。

注意:这不是一个完美的基准!它是特殊的,它不考虑可并行交易(因为 Uniswap 在同一个池上的交易必须是线性化的),并且它不能代表每种使用模式。但智能合约的使用始终是幂律分布的,并且最常用的 Dapps 往往是 AMM,因此在一组基准测试中,我们认为这有助于全面了解性能。

因此,事不宜迟,让我们顺着列表往下看。


      如何衡量一条区块链的性能?Solana等区块链的“高TPS”口号已经无用了?

Uniswap v2 每秒交易数量:平均 9.19,最大 18.38(由于 EIP-1559)

平均出块时间:13.2 秒(PoW,因此区块是在Poisson过程中随机挖掘的)

最终确定时间:66 秒(大约,ETH 区块不是真正的最终确定)

假设和方法:在 1500 万 gas 目标下,即以太坊与 EIP-1559 达到平衡时,以太坊每秒可以进行 9.19 次交易;在 3000万的 gas 限制下,它可以实现每秒 18.38 次交易(但如果保持在这里,费用会成倍增加)。我们将此swapExactETHForTokens 交易用作具有代表性的链上一跳交易。假设区块生产者可以用 Uniswap 交易完美地填充 1500 万gas 限制区块,每笔交易花费 123,658 gas,这意味着我们可以将 15M/123,658 = ~121.3 个交换放入一个区块中。如果我们假设区块每 13.2 秒到达一次,这意味着以太坊每秒处理 121.3/13.2s = ~9.19 Uniswap v2 swap。

我们将对列表中的其他 EVM 链使用类似的计算。

(注意:我们忽略了这种方法的Rollup,因为所有智能合约 L1 都能够添加Rollup。)


      如何衡量一条区块链的性能?Solana等区块链的“高TPS”口号已经无用了?

Ubeswap 每秒交易次数:平均 24.93,最大 49.86(由于 EIP-1559)

平均区块时间:5 秒

最终确定时间:5 秒(Celo 使用 PBFT 风格的协议,可立即完成区块)

假设:本次swap交易是代表交易、1000 万 gas 目标和 2000 万 gas 限制。


      如何衡量一条区块链的性能?Solana等区块链的“高TPS”口号已经无用了?

Quickswap每秒交易次数:平均 47.67,最大 95.33(由于 EIP-1559)

平均出块时间:2.5 秒

最终确定时间:Polygon 上有两种最终性概念

1.概率:这类似于大多数以太坊风格的区块链,其中规范链取决于完成的最多工作(最重链)。在 Polygon 的案例中,Bor 层(即区块生产者层)的最终确定性取决于难度较高的分叉。

2. 可证明:这类似于 Tendermint/IBFT,在规范链上的绝对多数签名。这通过检查点发生在 Heimdall 层(Polygon 的验证器管理和状态同步层)。这些检查点被提交给以太坊。

重组和分叉可以发生在 Bor 层,但不能发生在 Heimdall。检查点是 Bor 链状态的快照。一旦一个区块被包含在一个提交的检查点中,它就不能被重新组织(除非 >=1/3 的验证器集是不诚实的)。检查点大约每 25 分钟提交一次。

假设:此swap交易代表交易、1500 万 gas 目标和 3000 万 gas 限制。


      如何衡量一条区块链的性能?Solana等区块链的“高TPS”口号已经无用了?

Trader Joe 每秒交易:平均 31.65 次,但由于其弹性出块时间,在最大吞吐量下,Avalanche C 链可以处理足够的gas以达到每秒 175.68 次交易。但是,将吞吐量维持在该水平会导致费用成倍增加。

平均出块时间:平均 2 秒(Avalanche 是一种具有弹性出块时间的无领导者协议:只要支付足够的最低费用,就可以随时产生区块。Avalanche C 链曾有过在 1 秒内产生 >10 个区块的时期.)

最终确定时间:出块后约 1.75 秒

假设:此swap交易是代表交易,当前 800 万gas限制。

Avalanche 相对难以比较,因为它的区块生产机制与以太坊和 PoS 链如此不同。对于 Avalanche,它以最大吞吐量执行的操作与以平均吞吐量执行的操作之间存在很大差异。 (像以太坊这样已经实现 EIP-1559 的链的平均吞吐量是其平均吞吐量的 2 倍。)


      如何衡量一条区块链的性能?Solana等区块链的“高TPS”口号已经无用了?

PancakeSwap 每秒交易次数:194.60(币安智能链不使用 EIP-1559,所以这是一个固定数字)

平均区块时间:3 秒

最终确定时间:75 秒

假设:这个swap交易是代表交易,8000万 gas限制。

这结束了 EVM 区块链的基准测试——其虚拟机以以太坊为模型的区块链。 由于所有 EVM 链都使用相同的 gas 模型,我们可以将 gas/sec 视为吞吐量的基准。 实心条表示目标吞吐量,空心条表示限制。


      如何衡量一条区块链的性能?Solana等区块链的“高TPS”口号已经无用了?

EVM链的Gas/sec

您可以想象您以绝对极限运行 EVM,这种情况就是币安智能链(BSC)(现已更名为BNB Chain)发生的。 如果你想从智能合约中获得更高的性能,你将不得不完全远离 EVM。


      如何衡量一条区块链的性能?Solana等区块链的“高TPS”口号已经无用了?

Orca 每秒交易次数:273.34

区块时间:590 毫秒

最终确定时间:13 秒(Solana 也发出更快的“乐观确认”,但这些只能抵抗约 4.7% 的损坏。大多数 Dapp 都接受这个阈值。)

这是我们计算这个数字的方法。 这是一个笨的方法。

我们首先想为 Solana 找到一个等效的“gas limit”。 你在区块浏览器上找不到任何这样的数字。 我们首先询问了一些我们认识的 Solana 开发人员,但似乎没有人确切知道是否存在这样的限制。 于是我们卷起袖子踏上旅途,一探究竟。

我们首先了解到 Solana 确实有类似gas的东西,称为计算单位 (CU)。 从我们与验证者的对话来看,大多数人似乎认为 Solana 验证是“争分夺秒地在区块时间内打包尽可能多的交易”,但实际的限制是每个区块只能包含 4800 万个 CU。

其次,只有有限数量的 CU 可在单个区块中写入单个帐户。这个限制是为了防止过多的交易写入同一个账户,从而减少一个区块的并行性——尽管这正是在大规模拥塞期间发生的事情,例如在流行的 IDO 期间,当所有交易都在竞争使用单个合约时。

每个帐户的限制为 1200万。如果您遵循这个 1200万帐户 CU 限制、主网上 590 毫秒的区块时间以及每次 Orca swap的 74,408 CU 成本,我们得出的理论限制为 273.34 swap/秒。

这个数字似乎低于预期!为了让我们相信这个数字,我们希望通过经验验证这种方法。

为了确认我们正确地测量了它的性能,我们决定直接对 Solana 进行垃圾邮件攻击测试。出于显而易见的原因,我们不想向主网发送垃圾邮件,因此我们针对 Solana 开发网。请注意,Solana 的开发网运行在较小的集群上,因此比主网具有更快的出块时间(380 毫秒与主网的 590 毫秒),与主网相比,这将提高其性能。给定 380 毫秒的区块时间,我们应该期望开发网每秒清算 424.40 次swap。

我们在开发网上向 Orca SOL-ORCA 交易对发送垃圾邮件,以查看我们可以在单个区块中进行多少 Orca swap,然后推断为最大吞吐量。


      如何衡量一条区块链的性能?Solana等区块链的“高TPS”口号已经无用了?

在开发网区块高度106784857 中,我们设法实现了 184 次Orca swap

我们设法达到的最高数字是单个区块中的 184 次swap。假设区块时间为 380 毫秒,这给我们在开发网上实现 484.21 swap/秒。 (请注意,区块时间并不准确,因此这些数字存在一些偏差。如果您在我们获得最多交易的 3 个区块中取平均值,它看起来更像是每秒 381 次swap,这似乎更合理)。这似乎证实了我们的分析方法是正确的(约 10-15% 的增量),因此这意味着 Solana 的主网可能在 AMM 上执行大约 273 次swap/秒。

当然这只是一次测试运行,所以这是我们的代码 - 我们鼓励您使用它并与我们分享您的结果。

我们在这里掩盖了大量细节,如果没有我们在 Blockdaemon 的朋友的帮助,这一切都是不可能的。如果您想了解执行此操作所需的详细信息(以及更深入地了解 Solana 内部结构),请查看第 2 部分,我们将在其中介绍技术细节。

您可能会看到这一切并想知道:但我认为 Solana 通常能够执行 3000 TPS?

区块浏览器衡量 Solana 的 TPS 的方式可能会产生误导——它将内部共识消息视为交易,这是其他区块链所没有的。 Solana 大约 80% 的吞吐量是共识消息。减去这些,你剩下大约 600 TPS,其中大部分是非常便宜的 Serum 交易。只要接触到足够多的其他合约,Solana 也可以在生产中实现更高的性能。


      如何衡量一条区块链的性能?Solana等区块链的“高TPS”口号已经无用了?

AMM 测试:Uniswap v2 风格的 swaps/秒 性能

那么这一切的结果是什么?

首先,不要把这当成福音。自己算算。

其次,请记住,所有这些区块链都是移动目标。它们不断被优化,技术也在迅速发展,而任何基准都是即时快照。我们希望看到更多独立组织创建标准化基准,但这是我们最好的尝试。

第三,请注意,这些区块链之间的性能差异并不像宣传的那么大。以太坊和最好的链之间的性能差异大约是 10-25 倍,而不是 100 倍或 1000 倍。没有人能从线性化的 VM 事务中获得如此出色的性能。这将需要更多的工作和优化。

第四,如果你想要真正的高性能,你必须放弃 EVM。我们在这里只对 Solana 进行了基准测试,但还有其他非 EVM L1,例如 NEAR 和 Terra,它们也实现了更高的性能。但像 Solana 一样,他们无法从围绕 EVM 的工具和生态系统中受益。 (尽管 NEAR 拥有与 EVM 兼容的 Aurora 分片,并且其他 L1 正在尝试开发类似的虚拟化 EVM 实例。)

第五,用户现在对非以太坊 L1 的性能考虑并不那么敏感。 他们更关心生态系统的整体实力、良好的用户体验和低费用。 这些区块链目前没有在性能上进行竞争,因为它们实际上都没有被用于容量,除非在罕见的峰值期间,例如在 IDO 或市场崩溃期间。

我们预计所有主要 L1 的性能都会随着时间的推移而提高,因为开发团队会花费越来越多的时间来调整典型使用模式的性能。 毫不奇怪,在早期,这些区块链中的每一个都没有得到很好的优化!

但总的来说,我的印象是:以太坊是智能合约操作系统的 MS-DOS。 但是当前的区块链时代将我们带入了 Windows 95 时代。


      如何衡量一条区块链的性能?Solana等区块链的“高TPS”口号已经无用了?

MS-DOS(左)到 Windows 95(右)

下一代区块链代表了显着的进步,但要达到主流采用还有很长的路要走。

“广东财经网”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与

我们联系删除或处理,客服邮箱1098101642@qq.com,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同

其观点或证实其内容的真实性。

  • 声音提醒
  • 60秒后自动更新
  • 【民政部回应何时恢复婚姻登记】民政部社会事务司二级巡视员杨宗涛表示,婚姻登记场所是人群聚集场所,部分地区暂停婚姻登记工作是对人民群众安全负责。未停止登记的地方推广用电话、网络、qq群预约登记,控制登记人数,分批分段登记,减少人员聚集和在登记机关停留时间。已停止婚姻登记地方将根据当地疫情控制情况逐渐恢复。

    15:54
  • 欧洲央行副行长金多斯:欧洲央行还没有达到逆转利率。宽松政策的副作用更明显了。

    15:54
  • 财经网站Forexlive分析师Justin Low评瑞士1月CPI月率:尽管通胀年率保持稳定,但核心通胀率有所下降,这一点令人更加担忧。这只是进一步巩固了瑞士央行维持现有货币政策不变,并可能在未来寻求更多宽松措施的观点。

    15:54
  • 【武汉两大批发市场商户开业率超过80%】商务部市场建设司司长朱小良10日称,目前武汉生活必需品供应基本正常,除冷鲜肉、鲜叶菜等少数品种存在结构性短缺外,大部分重要生活物资供应充足,未发生明显抢购或脱销断档情况。当地白沙洲和四季美两大批发市场正常营业,商户开业率超过80%,日交易量上升至3000吨以上。(国是直通车)

    15:53
  • 【日本2019年经常项目顺差增长4.4%】日本财务省10日发布的国际收支初步统计报告显示,主要受外国人入境游消费扩大影响,2019年日本经常项目顺差增长4.4%。报告显示,2019年日本经常项目顺差为20.06万亿日元(1美元约合109.8日元)。其中,商品贸易方面,由于液化天然气价格下跌等因素,进口下降5.6%至75.56万亿日元;由于汽车部件及钢铁等产品出口减少,出口下降6.3%至76.12万亿日元。货物贸易顺差减少53.8%,为5536亿日元。(新华社)

    15:53
  • 欧元兑美元EUR/USD短线波动不大,现报1.0952。

    15:53
  • 瑞士1月CPI年率:0.2%,前值:0.2%,预期:0.1%;瑞士1月CPI月率:-0.2%,前值:0%,预期:-0.2%。

    15:52
  • 英镑兑美元GBP/USD短线走低13点,现报1.2890。

    15:52
  • 【宁德时代“供电”国产特斯拉 有望拉低售价20%】全国乘联会秘书长崔东树分析认为,“随着特斯拉国产化率提升和产能爬坡,未来特斯拉国产车型的价格下探空间还是很大的。”他预计今年下半年,国产Model 3车型的售价就有望降至25万元,降幅接近20%。(新京报)

    15:51
  • 【内蒙古:对不裁员或少裁员企业返还上年度50%失业保险费】据内蒙古新型冠状病毒肺炎疫情防控工作指挥部消息,疫情期间,内蒙古对不裁员或少裁员的企业返还上年度实际缴纳失业保险费的50%,对面临暂时性经营困难的中小企业,返还标准提高到上年度6个月企业及其职工缴纳社会保险费的50%。

    15:51
  • 【商务部:2019年服务进出口总额54152.9亿元 同比增长2.8%】商务部新闻发言人表示,2019年,在服务贸易创新发展试点等政策的激励下,我国服务贸易总体保持平稳向上态势,逆差明显下降,结构显著优化,高质量发展成效初步显现。全年服务进出口总额54152.9亿元(人民币,下同),同比增长2.8%。其中,出口总额19564.0亿元,同比增长8.9%;进口总额34588.9亿元,同比减少0.4%。(第一财经)

    15:51
  • 【振华股份:疫情导致下游客户开工推迟 产品库存上升】振华化学公告,公司目前生产经营稳定,所有产能均正常开工,原材料采购能基本满足生产需要,由于疫情导致下游客户开工推迟,公司出货量减少,产品库存有所上升。公司将根据客户需求、疫情及市场变化,适度调整生产经营策略,尽可能保持生产经营的稳定。

    15:50
  • 环旭电子2月10日晚间公告,公司2020年1月合并营业收入为23.27亿元,较去年同期的合并营业收入减少27.83%,较2019年12月合并营业收入环比减少37.23%。

    15:49
  • 精测电子:与京东方集团签订了多份销售合同,合同累计金额达到6.96亿元。

    17:12
  • 华夏银行:银保监会同意本公司在全国银行间债券市场发行不超过100亿元人民币的金融债券,募集资金全部用于绿色信贷。

    17:03