Aptos vs Sui:备受瞩目的两大公链究竟有何区别?
目前所有人都在谈论两个新的L1。让我们跟随本文,了解一下大家都在关注些什么。
背景
Meta将Diem(原名Libra)打造成了一个基于许可的区块链稳定币支付系统。从本质上讲,他们想在追求垄断的同时涉足点对点支付。但可以预见的是,监管反弹和反垄断担忧阻碍了他们的步伐,于是他们在今年1月放弃了这个项目。
但他们确实留下了一些有用的东西——基于rust的智能合约和自定义交易编程语言Move。与Solidity相比,Move有很多好处,它们主要体现在:
与将资产永久锁定在合约中的Solidity相比,其资产属性易于定制,允许资产作为参数在智能合约中流动,并由函数返回。
安全性:代币和智能合约被储存为在Move的代码体系结构中具有很高地位的“资源”,这可以防止它们被复制或销毁。
与我交谈过的开发人员也提到了Move的开发体验是多么优越。它允许资产和操作中合约的真正可组合性。在Solidity中需要耗时3周的代码在Move中只需要一天。
Diem项目被砍,留下了尚且青涩的代码。
Aptos和Sui参与了进来。
Aptos和Sui团队都来自Meta的原始Diem团队。它们是使用权益证明作为其共识机制的第1层。然而,他们使用了不同版本的Move,并且在其并行执行背后有不同的算法设计——这意味着他们的共识算法是不同的。
最终,他们都声称已经解决了困扰其他L1的可扩展性问题。Aptos的测试网能够处理超过160k TPS和超过1秒的TTF,而Sui声称几乎可以即时结算大多数交易,每笔交易的TPS高达120k TPS。与以太坊的最大45 TPS和Solana的2.3 - 46s秒TTF相比,这种差距令我们感到兴奋。他们已经/正在从Web3风投的顶级公司那里筹集了大约6亿美元。但在加密货币领域,始终会有承诺过高的可能性,因此任何对此感兴趣的人都应该对实际的架构差异进行认真研究。让我们一探究竟吧。
先执行,后问询
大多数区块链都使用顺序执行,这意味着成千上万的节点持续更新包含曾经执行的每笔交易时间顺序的单个分类帐。因为每次都要添加新的进去,所以必须等待每笔新的交易被验证,这就限制了吞吐量,并导致了高昂的gas费,特别是在网络使用量激增的时候。
顺序执行不必要地限制了这些链上的吞吐量——大多数交易是独立的。随着应用需求的扩大,高延迟也可能成为一个问题,从而影响dApp的响应能力。
Sui比我要解释得更好:
Sui和Aptos都使用并行执行,以便能够随着需求和利用率的增加无限扩展网络吞吐量。这并不是什么新鲜事,但是并行执行说起来容易做起来难。如何就订单达成共识?如何区分独立交易和冲突的交易?
Aptos使用的是通过动态检测依赖关系和利用BlockSTM执行任务来实现并行化(BlockSTM是HotStuff算法的进化)的BFT共识算法。
从本质上讲,交易被优化执行,之后由并行执行引擎中的最大一个线程检测冲突,然后通过队列重新执行和重新验证,接着同步并更改最终状态。
Sui使用基于DAG的内存池 (Narwhal)和在执行层利用DAG实现并行化的Tusk共识算法。它要求明确声明交易的依赖关系,这意味着它可以并行处理大多数交易,在少数交易相互交织的情况下仍然按顺序执行它们。这是通过使用两种不同的共识路径来实现的——独立交易的Byzantine Consistent Broadcast和依赖交易的BFT共识。
它只在需要检查其状态时运行共识,通过使用“随意排序”(vs其他完全排序的区块链)来放弃大多数交易的共识。
这与Aptos形成了鲜明对比,Aptos在验证所有区块链之前会一直等到交易完成,然后重新执行失败的链,让经过验证的链通过。
在所有这些中,Move起到了什么作用?
Move对于这两者的并行执行来说是必要的。Aptos或多或少使用了标准的Diem Move,但Sui使用了一个改编版本,使其智能合约能够接收对象作为输入,对其进行操作,并将它们作为输出返回。这两个版本都具有以下优点:
安全性:Move与Solidity的不同之处在于它对稀缺性和访问控制的关注。它将公式视为永远不能被非法复制或丢弃,只能被移动的基本资源。这通过防止重入漏洞、有毒代币和欺骗性代币批准提高了安全性。
可扩展性:每个对象都有所有权元数据,这些元数据允许Sui验证者使用该对象与无因果关系的交易并行执行和提交交易。Move的类型系统确保了跨交易的所有权元数据的完整性。而Solidity不允许这样做,这是因为资产被存储在动态可索引的映射中,所以验证者不清楚交易是否独立。因此,Sui需要像Move这样的语言来并行执行,因为它允许结构化资产在合约之间自由流动。
我们如何将上述所有内容与代币经济学联系起来呢?
Aptos甚至没有代币,所以我们现在把这个问题放在一边,看一下下图。
Sui的gas费机制和存储基金促进了Sui的并行交易和存储任意数量的链上数据的能力,这意味着它在架构上具有高度的可扩展性。SUI代币(上限为100亿)可以被用来参与权益证明机制、用于支付gas费、用作智能合约和货币政策应用的流动资产,以及用于治理/链上投票。
在主网启动时,SUI总供应的一部分将是流动的。由于更高的链上数据需求将转化为更多的存储基金,这减少了流通中的SUI数量,所以存储基金创造了重要的货币动态。
Sui的gas定价机制
Sui的gas定价旨在保持gas价格的可预见性和低水平。
验证者在每个epoch (epoch是一个固定的持续时间,其中参与的验证者集合是固定的)开始时会就全网参考价格达成一致,作为用户提交交易时的价格锚点。
用户分别支付执行费(gas费)和储存费(通过治理提案确定的费用)。前者是通过在Sui各个epoch反复运行的三步程序确定的,旨在激励验证者诚实地宣布其保留价格并遵守该价格。
在epoch开始时,会有民意调查要求验证者提交他们愿意处理交易的最低gas价格。
随着epoch的发展,验证者将会获得其他验证者的价格信息。
在epoch结束时,每个验证者会提交他们对其他验证者行为的看法,这将被用来确定权益奖励的分配规则。那些在调查期间提交低价报价或在其自行申报的参考价格基础上处理所有交易的人将获得奖励,反之亦然。妙。
Sui的存储基金
Sui旨在处理任意数量的链上数据。用户将预先支付计算和存储的费用(这样以后的用户就不必为部分用户的存储提供补贴)。存储费用会被存入存储基金,用于调整未来分配给验证者的相对于SUI委托者的权益奖励份额。如果链上存储要求很高,验证者将得到额外奖励。
结语
Sui的Move以对象为中心的设计允许验证者以因果排序的方式执行交易,因此独立交易可以以任何顺序处理。
这样一来,每个验证者都可以通过增加更多的计算能力来提高其交易吞吐量。这意味着随着网络活动的增加,吞吐量和成本会呈线性增长。
总结
并行执行是L1的一种很有前途的机制,Sui和Aptos已经提出了一些有趣的、可扩展的机制来支持它。随着其好处越来越明显,我希望更多的开发者能够熟悉Move。在这一点上,他们的成长将使彼此受益。
我相信我们会看到更多的L1。我确信我们将看到更多的应用程序被建立在它们之上。我敢肯定,我们会看到更多的资金投入到上述所有项目中。但从根本上说,在这个熊市的深处出现了一些非常有趣的架构差异,它们看起来很有前景。
Scan QR code with WeChat