Sui性能更新

Sui进行了一系列测试,以确定当前各种工作负载的峰值吞吐量以及最终处理时间。

Sui性能更新

主要成果

  • Sui网络有100个分布在全球的验证节点,在各种工作负载上实现了从10,871 TPS到297,000 TPS的峰值吞吐量
  • Sui的最终确定性约为480毫秒

旅程

一年前,Sui与单个验证节点一起向全世界宣布推出网络,并在8核M1 Macbook Pro上进行了峰值每秒120,000笔交易(TPS)的批量性能演示。现在,一个长寿命、去中心化、无权限的测试网络已经启动,是时候分享Sui的最新性能了。本次更新旨在分享以下内容:

  • 鉴定Sui协议当前版本的性能水平
  • 确定协议的下一个优化领域
  • 为社区提供一个基线,说明Sui目前和未来的预期目标

为了获得高保真和真实的性能结果,本次性能鉴定采用了全球分布式设置,在硬件配置、验证节点数量、验证节点地理分布和投票权分布等方面与主网密切相关:

  • 100个验证节点
  • 使用的验证节点硬件配置为24核AMD、256GB内存和25Gbps网卡
  • 专为此次练习开发了一个可扩展的负载生成器
  • 为了避免干扰正在进行的开发活动,没有使用公共测试网。在公共测试网上进行了几次短期性能压力测试,TPS>100,000+

测量Sui的吞吐量

在描述这一性能特征的结果之前,必须首先确定Sui的吞吐量应该如何衡量,才能既与其他区块链具有可比性,又能说明Sui的计算效用

Sui最强大的核心开发原语之一是可编程交易块(PTB)。对于传统的区块链来说,执行的基本单位是交易,而交易通常比较简单,接近于虚拟机的执行。在Sui 上,基本的原子执行单位被提升到了复杂的可组合交易序列的级别,其中包括

  • 可编程交易区块可访问所有智能合约的任何公共链上Move 功能
  • 先前链上Move 调用的类型化输出可作为类型化输入链入到后来的链上Move 调用中。这些类型可以是任意的Sui 对象,带有丰富的属性和属性集。PTB 可以是高度异构的。单个 PTB 可以从智能合约钱包中提取玩家对象,用它在游戏中移动,然后将移动赢得的徽章 对象发送到多游戏奖杯箱所有这一切都无需发布任何新的智能合约代码。PTB 的自然组合性允许现有合约与新旧代码无缝互操作(例如,游戏 无需知道/关心用户将Player 保存在多重签名钱包中,或将徽章 保存在TrophyCase 中)。
  • PTB 中的链式事务以原子方式执行和失败。下面是一个包含 12 个操作的 DeFi-related PTB 示例,它在 3 个不同的池中执行了 5 次交换,在此过程中更改了 20 个现有对象并创建了 7 个新对象。
  • 每个 PTB 最多可支持1024 个交易,这使得它既有无限的表达能力,又能提高效率。PTB 既可用于同质批处理(如支付或 NFT 造币),也可用于单发送方操作的异质链(如上文两个例子)。这两种模式都能利用Sui 的高速执行能力,并允许用户将更多的生产性工作打包到单个 PTB 中,从而进一步降低本已很低的交易费用。

由于可编程交易区块的便利性和强大功能,Sui 上的开发人员正在构建越来越复杂的可编程交易区块,为他们的应用量身定制。Sui即使在 PTB 出现之前,"可编程交易块 "的可编程性就已经具有很强的表现力,但现在,单次执行可以执行多达 1024 个异构操作,而在大多数其他区块链上,每个异构操作都是一个单独的交易。虽然这一功能在Sui 公共测试网上线仅一个月左右,但Sui 开发人员已经在探索各种 PTB 大小,甚至在 500 - 1000 的范围内(示例 1示例 2、示例3)。下图显示了目前 Testnet 上 PTB 大小的分布情况:  

虽然这种早期采用对未来异构 PTB 的使用大有希望,但它也为测量或讨论吞吐量带来了一个有趣的难题,尤其是当可编程事务块随着时间的推移变得越来越大、越来越先进时。

每秒交易量(TPS)通常被用来代表区块链协议的理论容量。然而,衡量每秒执行的可编程交易区块数量与衡量Sui 的计算能力并不一致--如果平均 PTB 的大小增加,Sui的吞吐量就会增加,但 PTB/秒的数量将保持不变。有效的吞吐量指标应反映Sui 在给定单位时间内所能提供的计算效用,而不是计算在不同执行中的分配情况。此外,随着系统的不断优化,该指标还应该有助于长期跟踪。

TPS容量测量与Sui的设计最为一致,对应用的依赖性最小,跟踪起来也最实用,即每秒执行的可编程事务块内的单个事务数量。在本次和今后的更新中,所有对 TPS 的提及和测量都将遵循这一惯例。

数字

我们对每个可编程交易区块中不同数量的同质交易(下文称为PTB 大小)进行了实验性工作负载。同质交易为支付:每个交易创建N 币对象,并将每个对象转移给不同的接收者。请注意,向N 个参与者 空投的 NFT 在对象创建和转移方面是完全相同的。

终结时间

在区块链领域,最终性通常被理解为交易生命周期中的一点,在这一点上,交易被认为是不可撤销的,不能再修改或撤销。

对于此性能更新,"最终时间 "衡量的是事务生命周期中事务本身和事务影响最终确定并可用于后续事务的时间点。  


第 50 百分位数延迟

第 95 百分位数延迟

终结时间 

~480 毫秒

~550 毫秒

下一步行动

Sui 协议从一开始就取得了长足的进步,并显示出良好的早期性能结果。然而,在优化和可扩展性方面仍有许多机会。在不久的将来,Sui :

  • 基准工具的可扩展性和覆盖范围
  • 横向可扩展性,支持在多台计算机上进行验证器内部扩展
  • 个别审定员表现不佳时的应变能力

随着协议的发展和Sui在更多方面性能的提升,我们将与更广泛的社区分享更多更新信息,供其审议和反馈。