随着Sui宣布在第二季度要发布主网,今天和大家一起聊一聊Sui这条公链。
简单来说,Sui是一条基于Move语言的Layer1的新公链,区别于传统的顺序执行,Sui其最大的亮点在于实现了并行交易执行,从而导致了更小的延迟和更高的吞吐量。
Sui和Aptos一样,创始团队的核心成员都是从Meta的Diem项目中出来的。Sui由一群曾在 Novi Research(Meta的高级加密研发团队)工作的研究人员创立,后来4人离开Meta成立Mysten Labs,开始Sui的搭建工作。CEO是Evan Cheng,曾经负责 Meta 加密钱包的研发工作,Sam Blackshear为CTO, Adeniyi Abiodun为COO,George Danezis为首席科学家。在创办Sui时,他们有三年的区块链项目经历,包括Diem区块链(Meta搭建的去中心化支付系统)、新颖的高性能共识/执行策略以及 Move 编程语言开发的经历。
强大的创始团队光环也给Sui带来了非常雄厚的VC投资,2021年12月,完成了3600万美元A轮融资,由 a16z 领投,Coinbase Ventures等参投。2022年9月,3亿美元B轮融资,投资方包括FTX Ventures,a16z crypto, Jump Crypto, Binance Labs, Coinbase Ventures等,基本上都是顶级VC的身影。
在这么备受关注的背景下,Sui究竟有哪些核心优势呢?
通过阅读白皮书和调研发现,核心优势主要可以总结为以下3点:
这里涉及到2个对比条件:Move和Solidity,以及Sui Move和Move的差别。
首先是Move和Solidity,Solidity是目前主流的EVM的编程语言。
而EVM和Move最大的一个区别就是资产的数据模型: EVM 资产被编码为owner_address -> 哈希映射中的条目。资产更新和传输通过更新此映射中的条目来工作。没有代表资产的类型或值,因此资产不能作为参数传递、从函数返回或存储在另一个资产中。Solidity语言只能将资产作为数值在钱包地址加减完成转移,容易产生漏洞; 而Move语言把所有自定义资产都视为一个资源,且资源不能复制或者删除。资产可以作为参数传递,从函数返回,并存储在其他资产中,通过资产移动来改变所有权,更加安全。
接下来是Sui Move和Move的对比,Sui没有直接用Move,而是在Move的语言上进行了修改。
核心差异点总结来说就是存储方面,资源没有存在MOVE全局存储中,而是存储在Sui链上;且对对象赋予了全局唯一ID,包含id和版本序号。从而增强了Move的安全性和灵活性,极大地提高了吞吐量,减少了最终延迟。
Sui区分了简单交易和复杂交易,对于只需要更新资金的所有者的简单交易,如资金转账、NFT铸造等,采取了跳过共识的方式,基于拜占庭广播,从而提高速度和效率;而复杂交易则通过2次共识Narwhal和Bullshark完成交易。
让我们简单了解下是如何进行拜占庭广播的,总共分为5个步骤:
用户将交易发送到仲裁驱动程序,例如全节点,该驱动程序将交易广播到一组验证器。
每个 Sui 验证者对交易执行有效性检查并为有效交易添加签名。 每个签名的权重都与验证者的抵押金额成正比。
仲裁驱动程序将合并权重大于或等于总权益(quorum of stake)的 2/3 的签名收集到证书中,并将其广播给所有 Sui 验证者。
当验证器收到证书时,验证器会验证证书。 如果证书有效,则验证器执行嵌入式事务并将已签名的事务效果返回给仲裁驱动程序。 在法定人数的验证者接收并执行相应的证书后,实现最终交易。
(optional)仲裁驱动程序可以根据前面的步骤收集一个效果证书,并将其返回给发送者作为最终证明。
重点聊一下Sui的共识机制,Sui是由基于DAG的拜占庭容错Narwhal和Bullshark(Tusk)实现DPoS,该共识设计使Sui可以并行处理交易,快速达成共识。
传统区块链的顺序是线性的,必须一个一个完成交易;而DAG上各自处理各自的交易,是一种平行处理信息的模式。
由于无需等待,便实现了处理速度的大幅增加。
但如果并行处理信息,如何确定共识呢?
Sui采用的是Narwhal与Bullshark结合的方式,这种结合主要是为了解决传统拜占庭容错共识中网络算力被浪费的困境。在传统的拜占庭容错共识中,随机产生领导节点,由领导节点提议并发起广播,然后收集投票到证明中,再将证明广播出去,其工作量远远大于只需要投票的其他节点。然而由于领导节点是随机产生的,所以所有节点都要储存算力来满足领导节点工作的算力要求,从而导致了算力浪费。
而Sui将数据传播和共识分开由Narwhal和Bullshark分别进行,从而节省了算力。Narwhal和Bullshark的技术细节分享起来有些复杂,如果感兴趣的小伙伴多的话,之后有机会再与大家分享。简单理解的话,Narwhal进行数据传播,Bullshark进行共识确认。
了解了Sui之后,让我们一起来对比一下Sui和它的宿敌Aptos:
从语言的角度来看,Sui Move是以对象为中心的模型,Sui上的资产、智能合约、NFT等的交易是改变该资源的所属者,因此只需要更新一次数据,更加安全; 而Aptos使用的Move以地址为中心模型,资产的转换需要修改发送和接受地址上的数据,需要更新两次数据。另外从开发者友好的角度来说,Sui move语言相对更加好用一些。
从共识层面来看,Sui和Aptos都是并行处理。其中基于DAG的Sui使用Narwhal和Bullshark,因果顺序的共识可以快速决定大部分交易的共识;Aptos则是将验证的每个步骤独立分开和并行运行,整个Aptos的共识流程更贴近传统区块链架构。
生态布局方面,Aptos的生态起步更早,在市场营销和造势方面也显著的快于Sui,在生态布局上占据了领先的位置,不过其早期出现的大量项目rug的现象,也给很多人打下了疑问。Sui的生态起步较晚,未来生态发展,还处于蓄势待发的状态。
虽然上面说了Sui的很多闪光点,但其也存在一些缺点,首先Sui需要同时应用拜占庭一致性广播来管理简单交易和共识协议来处理共享对象的交易,导致Sui 开发人员不得不保留相当大的代码库;此外,Sui 专有的编程语言 Move 是非常新的,目前能够帮助增强和丰富 Sui 生态系统的专业 Move 开发人员相对较少,如何吸引开发者从solidity到move,是一个难关。
总结来说,Layer1赛道长期来看是一超多强的局面,在以太坊没能吃下的特定细分领域还有Layer1的战场,尤其是在solana陨落之后资本急需新的Layer1故事。而Sui团队从技术优势出发,相比Aptos在营销方面发力,选择在语言和共识方面稳扎稳打,相信会在Defi和游戏等复杂交易领域占据一席之地,期待Sui主网的上线带来新的波澜。