0

Dragonfly:从AMM交易效率来看L1公链性能

 2 years ago
source link: https://www.chainfor.pro/news/show/136621.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Dragonfly:从AMM交易效率来看L1公链性能_区块链资讯_链向财经
Dragonfly:从AMM交易效率来看L1公链性能

Dragonfly:从AMM交易效率来看L1公链性能

多链格局已经成为了现实。以太坊缺乏可扩展性导致众多应用及流量迁移至新一代的 Layer 1。这些Layer 1中大多数使用EVM(以太坊虚拟机),这使得其与以太坊钱包和开发工具兼容,但是 Solana 已经从头开始完全重建了它的堆栈。Solana声称是现有最快的区块链,那么问题来了:Solana究竟比 EVM 兼容链要快多少?

Dragonfly:从AMM交易效率来看L1公链性能

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

首先,我们需要确定一个衡量基准。新公链总是宣称自己的性能比以太坊高出多少,这是一种古老的消遣。您会看到很多乱七八糟的数字、匆忙赶制的图表以及比较主观的TPS数据。而这些通常来自于他们自己的营销材料,而这些几乎都是胡说八道。

Layer 1本身公布的大多数基准测试几乎都是基于简单价值转移的TPS—— 即将代币从一个账户转移到另一个账户。简单的转账很便宜,所以就会产生很高的TPS,但事实是没有哪个区块链会在这样的传输上遇到瓶颈,而且这种活动并不能真实地反应现实世界的使用模式。除此之外,其中许多数据是在开发网络或测试网络上生成的,而不是在主网上生成。

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

所以,我们究竟应该如何衡量 Layer 1 的性能呢?

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

首先,性能始终需要与去中心化进行权衡。与主网环境相比,高度中心化的测试网和开发者网络可能产生难以置信的数据,于是很多主网通过牺牲去中心化程度挤压了额外的性能。

但是假设我们忽略去中心化,只关注性能,依然难以对区块链性能进行测试,因为大多数新公链的数据可视性都很差。

7 年以来,以太坊的性能得到了深入研究和理解,而相比之下大多数新公链的链上工具很少且数据可视性差,同时它们也在不断发展,可能在您阅读这篇文章的时候,这些基准已经过时了。

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

但是我们所谓的性能是什么?性能有两个方面,吞吐量延迟

您可以将区块链性能可视化,例如流过管道的水,交易就是水,您希望大量交易同时流过管道,但管道的长度决定了延迟,也就是说如果一个交易需要很长时间才能被执行,哪怕被执行之后可以立刻被确认,也是不理想的。

Dragonfly:从AMM交易效率来看L1公链性能

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

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

我们没有使用代币转账,而是使用以太坊上 Gas 消耗最高的产品之一:Uniswap V2,将其作为一个非常简单的基准。如果您使用 Uniswap V2 上的交易来填满整个区块,每秒可以有多少笔交易被清算?

Dragonfly:从AMM交易效率来看L1公链性能

我们选择这个基准的原因是:1)它简单且易于测量;2)每个区块链上都运行着一个 Uniswap V2 风格的 AMM;3)它是常见的智能合约使用模式的典型。

对于大多数具有 Gas 模型的区块链,该方案的实操难度并不高:首先找到区块 Gas 上限和出块时间,推导出链的 Gas / 秒吞吐量。然后找到一个 Uniswap V2 风格的 AMM,并选择一个SwapETHforTokens等价交易;最后,使用第一个数据除以第二个数据,得出如果其区块被类似的 AMM 交易填满,可以实现每秒多少tx/sec。

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

事不宜迟,我们顺着列表往下看:

Dragonfly:从AMM交易效率来看L1公链性能

Uniswap V2 每秒交易量:平均 9.19,最大 18.38(由于EIP-1559)
平均出块时间:13.2 秒(PoW,所以区块是在泊松过程中随机挖掘的)
最终确认时间:66 秒(大约的时间,以太坊区块无法完全被最终确认)
假设和方法:在与 EIP-1559 达成平衡的 1500 万 Gas 的上限下,以太坊每秒可进行 9.19 次交易;在 3000 万 Gas 上限下,可以实现每秒 18.38 次交易(但如果保持这个状态,费用将成倍增加),我们使用 swapExactETHForTokens 交易作为基准。假设区块生产者可以用 Uniswap 交易完美填充 1500 万个 gas 限制区块,每笔交易花费 123,658 个燃料,这意味着我们可以将 15M/123,658 = ~121.3 个交换放入一个区块中。如果我们假设区块每 13.2 秒到达一次,这意味着以太坊每秒处理 121.3/13.2s = ~9.19 Uniswap v2 交换。

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

(注意:我们忽略了使用 Rollup 方案的情况,因为所有的 Layer 1 智能合约都可以添加 Rollup。)

Dragonfly:从AMM交易效率来看L1公链性能

Ubeswap每秒交易:平均24.93,最大 49.86(由于 EIP-1559)
平均出块时间:5s
完成时间:5秒(Celo 使用 PBFT 机制的协议,可立即完成区块)
假设:本次交易具有代表性,目标 Gas 1000 万,Gas 上限为 2000 万。

Dragonfly:从AMM交易效率来看L1公链性能

Quickswap每秒交易:平均 47.67,最大 95.33(由于 EIP-1559)
平均出块时间:2.5s
最终完成时间:Polygon有两种完成交易的概念

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

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

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

假设:本次交易具有代表性,目标 Gas 1500 万,Gas 上限为 3000 万。

Dragonfly:从AMM交易效率来看L1公链性能

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

平均出块时间:平均2 秒(Avalanche 是一种具有弹性出块时间的协议:只要支付足够的最低费用,就可以随时产生区块。Avalanche C 链曾有过在1秒内产生超过10个区块的阶段。)
最终完成时间:出块后约 1.75 秒。
假设:本次交易具有代表性,当前 Gas 上限为 800 万。

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

Dragonfly:从AMM交易效率来看L1公链性能

PancakeSwap每秒交易次数:194.60(币安智能链不使用 EIP-1559,所以这是一个固定数字)
平均出块时间:3s
最终完成时间:75s
假设:Dragonfly:从AMM交易效率来看L1公链性能本次交易具有代表性,当前 Gas 上限为 8000 万。

以上就是各个EVM 兼容链的基准测试——其虚拟机以以太坊为模型的区块链。由于所有的 EVM 链都使用相同的 Gas 模型,我们可以将 Gas / sec视为吞吐量的基准。以下实心条表示目标吞吐量,空心条表示吞吐量的上限。

Dragonfly:从AMM交易效率来看L1公链性能

EVM 链的 Gas/sec

由此看来,当您以绝对极限运行 EVM 时,会发生币安智能链。如果您想从智能合约中获得更高的性能,您将不得不完全远离 EVM。

Dragonfly:从AMM交易效率来看L1公链性能

Solana每秒交易次数:273.34
出块时间:590 毫秒
最终确认时间:13 秒(Solana 实现了一种更快的“optimistic confirmations模式”,但这些只能抵抗约4.7%的违规,大部分 DApp都接受这个阈值)

下面解释一下我们如何计算这些数值,这次有点复杂。

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

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

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

每个帐户的限制为12M。如果您遵循这个12M帐户CU限制、主网上590毫秒的区块时间以及每笔在Orca上的交易成本为74,408 CU,我们得出的理论限制为 273.34 交换/秒。

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

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

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

Dragonfly:从AMM交易效率来看L1公链性能

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

您可能会看到这一切并想知道,Solana的TPS不是3000吗?

区块浏览器衡量Solana 的 TPS 的方式可能会产生误导 —— 它将内部共识消息视为交易,这是其他区块链所没有的。Solana 大约80% 的吞吐量是共识消息。减去这些,TPS 数值约为 600,其中大部分是在 Serum 上非常低成本的交易。但就算各种其他的合约,Solana 在性能上依然有着很大的优势。

Dragonfly:从AMM交易效率来看L1公链性能

Uniswap v2风格的swaps/sec性能

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

首先,不要觉得这些数据都是对的,可以自己算一算。

其次,请记住,所有这些区块链都是在发展的。它们不断被优化,技术也在迅速发展,而任何基准都是即时快照。我们希望看到更多独立组织创建标准化基准,但本文提出的基准已经是我们能想到最好的方案了。

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

第四,如果您想要真正的高性能,您必须把目光投向 EVM 领域之外。我们在这里只对 Solana 进行了基准测试,但还有其他非 EVM Layer 1公链,例如 NEAR 和 Terra,它们也实现了更高的性能。但与 Solana 一样,他们无法从围绕 EVM 建立的工具和生态系统中受益。(尽管 NEAR 拥有与 EVM 兼容的 Aurora ,并且其他 Layer 1 也正在尝试开发类似的虚拟化 EVM 实例。)

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

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

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

Dragonfly:从AMM交易效率来看L1公链性能

下一代区块链展现出了明显的进步,但离被主流接受还有很长的一段路要走。

已有0人喜欢

本文经授权发布,不代表链向财经立场。如若转载请标注文章来源:链向财经(www.chainfor.com)

为了您能更及时的获取到最新热门资讯,请关注链向财经微信公众号:LXcaijing


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK