本文作者:MoveMoon[1]
最近大家都在谈论两个新的 L1(Aptos 与 Sui),不聊聊好像跟不上时代,要了解他们就需要了解什么是 Move,弄清楚共识机制,并了解他们的价值主张。
从前...
最初 Meta(原名 Facebook)建立了 Diem(原名 Libra),想要成为一个基于许可的区块链稳定币支付系统。从本质上讲,他们想在追求其垄断性地位的同时涉足点对点支付。但是,监管和反垄断问题一直困扰他们,他们在今年 1 月放弃了 Diem 这个项目。
不过,Diem 确实留下了一些有用的财富:基于 Rust 的智能合约和自定义交易编程语言 Move。
与 Solidity 相比,Move 有许多好处,主要有:
- 与 Solidity(有些资产被永久锁定在合约中)相比,Move 的资产属性很容易定制,允许资产作为参数在智能合约中流动及由函数返回。这有许多有用的应用,将在后面讲到。
- 安全性:代币和智能合约被存储为 "资源(resources)",在 Move 的代码架构中具有很高的地位,防止它们被复制或销毁。
我了解过的开发者,他们也提到 Move 的开发体验非常优越。它允许资产和合约的真正可组合性。夸张的说,在 Solidity 中需要 3 个星期的代码在 Move 中只需一天。
Aptos 和 Sui
Aptos 和 Sui 的团队都是来自 Meta 的原 Diem 团队。他们都是 Layer1 层的区块链网络,使用权益 证明( proof of stake)作为他们的共识机制。然而,他们使用不同版本的 Move,并且在其并行执行背后有不同的算法设计,因此他们的共识算法也是不同的。
Aptos 和 Sui 都声称已经破解了困扰其他 L1 的可扩展性问题。Aptos 的测试网能够处理超过 16 万 TPS 和 >1s TTF (最终确定时间),Sui 声称大多数交易几乎即时结算,高达 12 万 TPS。
与以太坊最大的 45 TPS 和 Solana 的 2.3-46s TTF 相比,很容易让人非常兴奋。这也许是为何从 Web3 VC 的顶级大佬们那里筹集大约 6 亿美元的资金。但是,加密货币领先吹牛皮吹破天太常见,会不会是另一个 EOS 呢?所以任何有兴趣的人都应该对实际的架构差异做适当的调查,让我们深入了解一下。
先执行,后问对不对
大多数区块链使用顺序执行,成千上万的节点更新同一个账本,包含执行的每一笔交易的时间顺序。因为每笔交易都是一次添加的,所以有必要等待每笔新的交易被验证,限制了吞吐量,导致我们知道的高额 Gas 费,特别是当网络使用量激增时。
顺序执行不必要地限制了这些链上的吞吐量 -- 大多数交易是独立的。而且随着应用需求的扩大,高延迟也会成为一个问题,所以影响了 dApps 的响应速度。Sui 官网有很好的解释:
Sui 和 Aptos 都使用并行执行,以便有能力随着需求和利用率的增加而无限地扩展网络吞吐量。这并不新鲜,并行执行说起来容易做起来难。如何对订单达成共识?如何区分独立和冲突的交易?
Aptos 使用 BFT(Byzantine Fault Tolerance,即拜占庭容错)共识算法,其中并行化是通过使用 BlockSTM(HotStuff 算法的演变)动态检测依赖关系和执行任务来实现的。
从本质上讲,交易被优化执行,若有冲突会被并行执行引擎中的最大一个线程检测出来,然后通过队列重新执行和重新验证,然后同步和改变最终状态。
Sui 使用基于 DAG 的 mempool(Narwhal)和 Tusk 共识算法,然后在执行层利用 DAG 进行并行化。它要求明确说明交易的依赖性,这意味着它可以并行处理大部分交易,在少数交易依赖的情况下,仍然按顺序执行。这是通过使用 2 种不同的共识路径来实现的:独立交易的拜占庭一致广播和依赖交易的 BFT 共识。它只在需要时运行共识以检查其状态,通过利用 "随意排序"放弃对大多数交易顺序的共识(与其他完全排序的区块链相比)。
这与 Aptos 形成鲜明对比,Aptos "等待交易尘埃落定",然后一次性验证所有链,然后重新执行失败的链,让验证过的链通过。
Move 在这一切中的作用是什么?
执行并行执行 Move 是很必要的。Aptos 或多或少使用了 Diem Move 版本,但 Sui 使用了一个改编的版本,使其智能合约能够接收对象作为输入,操作它们,并将它们作为输出返回,这两个版本都有以下好处:
- 安全性:Move 与 Solidity 的不同之处在于它们对稀缺性和访问控制的关注。它将资产视为基本资源,永远不能被克隆或丢弃,只能被转账。可以防止重入漏洞、毒代币和欺骗性授权来提高安全性。
- 可扩展性:每个对象都有所有权元数据,允许 Sui 验证器执行和提交使用该对象的交易,并与依赖关系无关的交易并行。Move 的类型系统确保了该所有权元数据在交易中的完整性。(Solidity 不允许这样做,因为资产被存储在动态可索引的 map 中,所以验证器不清楚交易是否是独立的)。所以 Sui 需要一种像 Move 这样的语言来进行并行执行,因为它允许结构化的资产在合约间自由流动。
上述内容如何与 token 联系起来?
好吧,Aptos 甚至没有代币,所以暂时把它们放在一边,用 Sui 的彩色图表来看看:
Sui 的 Gas 价格机制和存储基金(storage fund)激励 Sui 将交易并行化和存储任意数量的链上数据的能力,这意味着它在架构上是高度可扩展的。SUI 代币(上限为 100 亿)可以被用来参与 POS 共识,用于支付 Gas 费用,作为智能合约和货币政策应用的流动资产,最后用于治理/链上投票。
在主网启动时,SUI 总发行量的一部分将是可流通的。存储基金创造了重要的货币动态调节:更高的链上数据要求转化为更大的储存基金,减少流通中的 SUI 数量。
Sui 的 Gas 定价机制
Sui 的 Gas 定价的作用是保持 Gas 定价的可预测性和尽量低的手续费。
验证者在每个 epoch(epoch 是一个固定的时间段,其中参与的验证者集合是固定的)开始时商定一个全网的参考价格,作为用户提交交易时的锚。
用户为执行(Gas 费用)和存储(通过治理建议设定的费用)支付单独的费用。前者是通过一个在 Sui epoch 中反复操作的三步程序确定的,用于激励验证者诚实地宣布他们报价,然后兑现它。
- 在 epoch 开始时,Gas 价格调查要求验证者提交他们愿意处理交易的最低 Gas 价格。该协议将质押数量 2/3 认可的价格设定为该 epoch 的参考 Gas 价格。
- 随着 epoch 的进行,验证者会获得关于彼此的信号。
- 在 epoch 结束时,每个验证者提交他们对其他验证者行为的看法,这被用来确定权益奖励分配规则。那些在 Gas 调查期间提交低价报价的人或处理所有交易的价格高于他们的报价的人将得到奖励,反之亦然。(用于激励低报价)
Sui 的存储基金
Sui 旨在处理任意数量的链上数据。用户为计算和存储预先支付费用(因此未来的用户不必为他们的存储而补贴部分用户)。存储费用被存入一个存储基金,用于调整未来分配给验证者的相对于 SUI 委托者的权益奖励份额。如果链上存储需求很高,验证者会得到补偿。
最后的思考
Sui 的 Move 以对象为中心的设计让验证者以因果排序的方式执行交易,因此独立的交易可以以任何顺序处理。因此,每个验证器可以通过增加计算能力来增加其交易吞吐量。这意味着随着网络活动的增加,吞吐量和成本都会线性增长。
并行执行是 L1 的一个很有前途的机制,Sui 和 Aptos 已经提出了有意思、可扩展的机制来维持它。我期望随着 Move 的好处越来越明显,更多的开发者会熟悉它。在这方面,他们的成长是相互受益的。
我相信我们会看到更多的 L1(我接下来会关注 Sei 和 Canto),肯定会有更多的应用程序被建立在它们之上,更多的资金会被投资到这些地方。在深熊的环境下,有一些非常有趣的、有差异的架构出现了,而且熊市看起来很有希望。
任何问题,反馈,批评,死亡威胁,建议--请发到我的邮箱:marthe@whitestarcapital.com
参考资料
https://docs.sui.io/learn/why-move
https://medium.com/mysten-labs/announcing-sui-tokenomics-9cb829086e30
https://www.theblock.co/post/114225/layer-1-platforms-a-framework-for-comparison
https://twitter.com/state_xyz/status/1546533606847160320
https://mirror.xyz/contributiondaoblog.eth/dOACGWcGESEBvVyLnGz6PxQmBcbl-cr9iBb3TQ3v23o
https://medium.com/mysten-labs/suiecho-bootstrapping-sui-communities-d3a59606dfcb
https://decrypt.co/resources/what-is-aptos-the-solana-killer-created-by-diem-developers
https://research.thetie.io/aptos-network-deep-dive/
https://twitter.com/TheBlockRes/status/1557368834373345281
https://twitter.com/cryptoalvatar/status/1551878534926401537
https://twitter.com/tracecrypto1/status/1544332560389607424
https://research.thetie.io/sui-blockchain/
https://twitter.com/0xirreducible/status/1516880152248037376
https://twitter.com/adamcader_/status/1509712927003095049
https://twitter.com/state_xyz/status/1551878856151142401
https://twitter.com/state_xyz/status/1551878856151142401
https://medium.com/@state_xyz/aptos-a-formidable-layer-1-addressing-the-blockchain-trilemma-398ff9be62d7
https://medium.com/@state_xyz/aptos-a-formidable-layer-1-addressing-the-blockchain-trilemma-398ff9be62d7
原文链接:https://medium.com/@marthenaudts1/sui-vs-aptos-2729cb304c80
参考资料
[1]
MoveMoon: https://learnblockchain.cn/people/11436