声明:本文旨在传递更多市场信息,不构成任何投资建议。文章仅代表作者观点,不代表MarsBit官方立场。
边肖:记得要集中注意力。
资料来源:stefaniewei4等。
原标题:从“Diem”系统看下一代公链范式
公链基础设施一直是加密行业的叙事中心。特别是在技术方面,公链在共识机制、可编程性、可扩展性等方面一直在取得突破。即便如此,公链发展仍存在瓶颈,如性能无法匹配Web2基础设施,生态应用需求不足等。今年的新公链针对上述问题提出了自己的解决方案。2022年上半年,以宇宙网为主体,引领了一批以“模块化”和“跨链”为话题点的新公链。下半年热议的新公链是由“Diem”系统衍生出来的三个公链:Aptos、Sui、Linera。以这三条公链为切入点,主要从五个方面论述了“Diem”系列新公链在技术和生态方面的创新和优势:
新Move语言的三大特点和优势;
并行解决方案;
共识机制的创新与困难;
代币经济模式的探索性发展;
专用公链可能的发展趋势。
通过分析,可以得出以下结论:智能合约编程语言在安全性、并行性和开发者方面起着极其重要的作用;(2)并行化是确定未来公链的正确途径;(3)共识机制大多基于BFT进行改革,但改进的空间可能已经达到天花板水平;(4)代币经济模式一直是公链发展的助推器。如何平衡网络、用户、验证者、开发者之间的关系,是新公链需要关注的问题;(5)专用公链需要基于应用场景开发技术,提升用户体验。从以上结论中,我们可以窥见下一代公链范式,尤其是在并行化和虚拟机上。对于“Diem”系统尚未解决的问题,可以继续关注他们在技术、代币经济、生态方面的新进展。
1.公链技术发展综述。公链作为加密行业的核心基础设施,对整个行业影响巨大。公链的技术发展是前三次牛市的主要叙事,也是资本和需求驱动的必然结果。公链的突破性技术主要表现在三个方面:1。共识机制;2.可编程性;3.可扩展性。
共识机制方面,我们见证了以比特币网络为首的PoW链的辉煌时期,以太坊合并后的PoS链新时代。对于比特币和以太坊来说,PoW机制可以保证一定程度的去中心化,但也带来了资源浪费、处理效率低等问题。2012年诞生的PoS机制,通过权益记账的方式解决了PoW能量消耗过大的问题。PoS机制也是大多数新公链采用的共识机制。除了PoS,为了提高阻断的效率,维护网络的安全性,还诞生了其他创新的共识机制,比如Solana的PoH,Avalanche的avalanche consensus。
可编程性是指使用智能合约构建区块链的应用层。因为比特币网络的脚本语言不是图灵完整的,所以无法构建复杂的应用。以太坊使用虚拟机和Solidity编程语言实现智能合约。这也是上次牛市的根本原因之一。但是由于Solidity不支持并发,安全性低,很多区块链已经开始使用Rust或者构建新的编程语言,比如Move,来提供更安全、友好、可扩展的开发语言。
在可伸缩性方面,区块链一直受到不可能的三位一体问题的限制。解决这个问题的关键在于模块化。模块化是一种将系统分解成多个单独的子模块的工具,这些子模块可以随意拆卸和重新组装。这里的模块化包括两个概念:公有链的模块化框架和工具,模块化公有链。区块链的三层框架模型包括结算层、执行层和数据可用性层。基于模块化框架,一些团队完成了这些模块化工具和组件的研发,广泛应用于现有公共链的构建和开发,包括Cosmos和Polkadot ecology。实现模块化分离的方式主要有三种:(1)共享安全;(2)Layer2执行层;(3)数据可用性层的分离。这些也是目前公链扩展技术的主流方向。
2.公链发展的瓶颈虽然公链技术一直在不断发展,但目前公链的主要问题是性能不足,与web2的基础设施还有一定差距。公链性能的缺失会带来两个严重的问题:1 .限制生态应用开发的上限;2.带来用户体验差,主要体现在部分公链短时拥堵,手续费高。执行层的性能不足是EVM只能串行,无法实现多个事务的并发执行,直接限制了链上的数据吞吐量。解决方案是并行计算。并行计算在web2中已经是一项非常成熟的技术,但在区块链领域才刚刚起步。除了并行计算,以太坊还把执行层的部分功能交给了Layer2。
共识层的性能是共识的效率、经济性和安全性,主要由算法决定。目前大部分公链选择PoS共识,所以效率主要是指节点间的通信次数和达到最终确定性的时间。在分布式系统中达成共识是一个经典的话题,这个话题远早于区块链的诞生,所以在其发展过程中出现了很多成果,比如PBFT、HotStuff、DUMBO、Algorand,这些理论上都可以达到比较高的TPS。创新的共识机制和最终确定性的算法,对于公链的构建是非常具有挑战性的工作,很难超越前人。但对其进行的改进能否达到指数级的性能提升还是未知数。
数据层包含数据存储、账户和交易实现以及安全等功能。比特币网络的每个节点都是一个完整的节点,存储所有的块数据。这是目前最安全和最分散的区块链网络。这种折衷意味着每秒只能处理7个事务,块大小为1M。以太坊有契约层和应用层,它的块需要更多的空间。这是以太坊目前面临的一个棘手问题。虽然Layer2的Rollup方案可以压缩数据,但是随着应用规模的增加,上传的数据量也随之增加。目前讨论较多的有两种解决方案:1。将数据层的一些功能剥离给其他公共链,比如celestia中的数据可用性;2.要实现链式扩展,也就是碎片化、碎片化技术,难度非常大。
此外,受制于区块链不可能的三位一体,在发展业绩的同时,安全也会受到威胁。公链的安全性有两个方面:1 .节点;2.智能合同。如果节点数量不足,去中心化程度不够,网络就容易受到攻击。智能合约的安全性涉及区块链的底层,需要考虑编程语言和虚拟机。
在生态应用方面,大部分公链都没有形成自己独特的应用或垄断。用户也根据奖励的多少在不同的链上来回切换。实际上,只有以太坊是应用程序本身保留的用户。这种现象在牛熊转换中尤为明显。熊市阶段,资金更倾向于停留在以太坊网络上。其他公链的优势在于其完整的生态应用和较低的链处理费用。
3.Diem的新公链模型新公链采用的提升性能的创新技术几乎都是基于三个方面:共识机制、可编程性和可扩展性。最受关注的新公链项目,无疑是Diem孕育的新项目:Aptos、Sui、Linera。他们在编程语言、共识算法、模块化架构、事务并行性等方面都做了相应的创新,试图在性能和安全性上更上一层楼。通过研究这三种新的公链,我们也可以看到未来新一代的公链范式。
3.1智能合约的安全革命在区块链世界,编程语言作为定义计算机程序的形式语言,是实现系统所有功能和目标的基本载体。继Solidity和Rust languages之后,由于Aptos和Sui这两个超级新的公共链项目的强势出现,从Diem孕育出来的新编程语言Move重新回到了聚光灯下。它曾被誉为最适合区块链的语言。Move的再次出现,似乎暗示着新语言的叙事正在成为公链竞争的新战场。下图简要比较了三种编程语言的特点。我们还阐述了Move语言在安全性、并行性和开发友好性方面的创新。
(1)安全性
Move在资产安全性上优于以前的编程语言,很大程度上是因为它在前人的肩膀上做了有针对性的改进。在火币研究所过去的报告《Move:innovations and opportunities》中,我们专门讨论了这些安全特性。这里只总结重点。
Move从语言设计、虚拟机、契约调用方式、契约执行等方面为智能契约提供全方位的安全保障。Move专门为数字资产定义了一种新的资源类型,以区别于其他数据,并结合了Module强大的数据抽象特性,保证资产不会凭空产生,不会被任意复制或隐式丢弃,大大提高了安全性。同时,Move语言被设计成只支持静态调用,所有契约执行路径都可以在编译时确定,并得到充分的分析和验证,从而提前暴露一些安全漏洞,降低系统运行时宕机的概率;最后还引入了形式化验证工具,大大降低了人工审核代码安全性的成本。
(2)并行处理
众所周知,solidity语言不支持并发处理,Move试图从底层改变这个特性。因为它对数字资产做了特殊的定义,在数据类型上区别于普通的数值,通过定义各种资源的不同属性,可以有效地帮助识别“独立”事务。结合多线程执行引擎,可以同时运行和处理事务数据,大大提高了系统运行效率。
(3)有利于发展
从目前的市场反馈来看,Move对开发者非常友好,其目的是降低开发者的安全门槛,让合约开发者专注于业务逻辑;同时,Move由Rust和Solidity进化而来,摒弃了他们设计中不必要的“糟粕”,其复杂度相对较低,因此整体开发者迁移成本不高。据Move从业者介绍,有Rust和Solidity编程经验的开发者,只需要1-2天左右就能上手Move;对于没有智能合约编程基础的开发者来说,从零开始学习Move只需要12周左右的时间。
Aptos和Sui都继承了Move的核心特性。但也有一些基于各自特点的改进,但都保留了Move的安全性和灵活性,但优化了存储和地址机制,从而提高了网络性能,减少了事务确认时间。如下所示:
3.1.1锦上添花:引入适配器层,打好基础,全面并行化。我们以数据所有权为例来说明Aptos数据存储在所有者的账户中,即所有者拥有完全的控制权,账户是基本的存储空间。这无疑是Move原生所有权体系的直接应用,很好的体现了用户交易的本质,即资产所有权的转移。
除此之外,Aptos还根据自己的项目特点做了一些特殊的设计。它引入了适配器层的概念来扩展核心MoveVM的附加功能,包括通过Block-STM的并行性、无需用户输入的事务并发执行、帐户中键的大规模存储以及去耦的细粒度存储。账户中的数据量会影响与账户相关的交易的燃气费。
3.1.2独特:去除全局存储,减少事务延迟。另一个移动公链双子是隋。相比Aptos对Move的继承,Sui对Move的核心功能做了一些修改,特别是在全局存储操作符和key ablility方面。具体差异体现在以下几点:
(1)删除全局存储操作符。
在本机Move语言中,用户可以通过move_to和move_from等全局存储操作符直接访问和调用模块和资源。当一个新的对象被创建时,数据通常被直接存储在链上相应的地址中。但是,考虑到链中有限的存储空间资源,Sui删除了全局存储操作符,并将新创建的资产或模块存储在特定的Sui存储中。因此,当用户需要访问系统中的某个对象时,不能通过Move原有的全局存储操作直接获取,而必须先通过Sui传递该对象才能访问。
(2)为对象设置ID
Move中的对象可以添加key属性,并作为键值存储在数据结构中。但由于Sui去掉了全局存储功能,对关键属性的对象进行了微调。当一个对象可以被索引时,它必须有一个关键字field-ID。ID包括两个方面,对象ID和序列号。通过为当前事务的内容创建ID,并将防冲突哈希函数应用于记录事务中创建了多少对象的计数器,保证了资产的唯一性。
(3)构造不同的对象类型。
Sui有三种对象类型,为并行化和一致性机制做准备:
可以读取、写入、传输和销毁;(共享对象)此对象涉及智能合约。
仅读/写(单个所有者对象),类似于简单传输。
只读(不可变对象)
3.2并行化的必然方式目前,大多数主流区块链使用EVM作为执行引擎。处理事务时,EVM一次执行一个事务,暂停所有其他事务,直到该事务完成,更新区块链状态,然后按顺序执行下一个事务。这种顺序执行是网络吞吐量的主要瓶颈之一。
如何解决这个问题?除了使用更先进的硬件来加速执行,主要的方法是并行计算。现代计算机的发展也出现了类似的现象。20年前,大部分电脑CPU只有一个核心,而现在四核、八核甚至更多的CPU随处可见。通过更多的内核进行并行计算,计算机的处理能力得到了不断的提升。
并行计算是指在并行计算机上,将一个应用分解成多个子任务,分配给不同的处理器,每个处理器相互协作并行执行子任务,从而加快求解速度或解决更大规模的问题。在区块链中,事务的并行执行是为了打破事务顺序执行的范式。通过简化事务的操作、排序和依赖性,可以同时执行不相关的事务,从而提高系统的吞吐量。并行机是区块链的验证器/节点。
并行计算不仅可以提高性能,还可以降低节点的成本,从而提高系统的去中心化程度。因为如果要在没有并行计算的情况下达到同样的性能,就需要使用性能更强的单核CPU,价格更贵,也不符合计算机科学发展的规律。Aptos和Sui借鉴了并行计算的思想。
3.2.1并行化的第一枪:事务分类,多线程同步执行Aptos的设计思想是区分不相关的事务,依靠先进的执行引擎和硬件同时执行。这种思路更接近区块链目前的运作模式。有三种具体做法:
最简单的情况:同时在不同的线程中执行事务,不会出现数据和账户的重叠冲突。例如,爱丽丝将100 XYZ代币转给鲍勃,查理同时将50 UVW代币转给爱德华。
略复杂的情况:如果同时存在对同一数据或账户的操作,首先并行执行事务,然后按照正确的顺序解决可能发生冲突的行为delta writes可以改变状态,以保证确定性的结果。比如爱丽丝连续给鲍勃和查尔斯转账同一个令牌,然后并行执行两次转账,然后检查爱丽丝的账户整体变化是否合理。如果余额不足,重新执行之前的交易。
高阶操作:事务可以跨一个或多个块重新排序,以优化执行的并发性。比如某个地址连续收到付款或者转账,这些转账可以分布在多个区块。这可能会延迟某些用户事务的确认,但总体来说,它使其他事务更加并发,提高了网络的整体性能。
Aptos采用Block-STM(软件事务内存)并行执行引擎来执行事务。它同时在同一CPU的不同内核上执行不相关的事务。通过实现事务的多指令流和多数据流,可以最大化并行性。
Aptos白皮书展示了Block-STM并发控制的性能测试。可以看出,在10k账号竞争,32线程的情况下,TPS可以达到16万。当大量账户争夺交易空间时,并行执行的优势就体现出来了。
此外,我们还比较了Aptos、Ethereum和Solana在并行执行方面的异同。主要观点引自反猿篇《Ethereum – Solana – Aptos: the high-performance competition is on》。这篇文章将用更通俗的语言来表达。
以太坊虚拟机(EVM)是单线程的,没有并行处理。它只能使用一个CPU内核来按顺序处理事务。注意不要把EVM的CPU内核和以太网显卡(GPU)矿机搞混了。EVM的CPU处理用户的交易,如转账和智能合约调用;矿机的GPU处理加密操作ETHASH,争夺POW矿的记账权。
为了追求更快的性能,Solana使用4096个GPU核心来处理事务。当事务的相关性较弱时,这种设计可以使Solana获得非常高的吞吐量。但是,它有一个隐患,即对于逻辑上连续的事务,它将失去并行执行的能力。例如,铸造NFT的交易不能同时在4096个核心上进行。因为NFT有总量限制,每个NFT都有自己的号码。同时铸造会导致重复,所以必须按顺序加工。这就让Solana的4000多GPU没用了,无法发挥并行执行的优势;而GPU性能弱于CPU,严重降级网络性能,甚至导致Solana网络中断。
Aptos结合了两者的思想,使用8核16线程CPU实现并行计算,不仅通过多线程提高了事务的并发性,还可以用更高性能的CPU处理顺序执行的事务。
以太坊能否提高CPU的配置,比如16线程CPU,实现并行处理?可惜我不能。因为EVM的设计只有一个线程,只有提高EVM才能发挥CPU更多线程的计算能力。以太坊的梦想是切片layer2,同样可以达到高性能。Aptos也有在未来引入碎片化的想法。如果能成功实现,双11高峰期实现支付宝每秒50万笔的超高吞吐量也不是不可能。
3.2.2火力全开:进一步细分事务,依托DAG提升并发Sui在并行计算的思路上与Aptos类似,但Sui有更多细节来提升和支持数据的并行处理。首先,它抛弃了传统的区块链链结构,采用了DAG(有向无环图)数据结构。DAG的固有特征是高并发性。其次,Sui基于Move语言的资源属性将资源细分为不同的对象,并以对象为中心进行并行化。这两点加在一起,使得Sui实现了高并发和高性能。
在隋改进的Move语言中,对象可以理解为像钞票一样的资产。每个对象都有一个属性列表,包括其所有者的地址(或共享所有权属性)、读/写属性、可转移性属性、dapp/游戏内函数等。大多数简单的传输只需要改变特定对象的所有者属性。例如,Alice向Bob转账100美元,只需将这100美元的所有者从Alice更改为Bob。这些不相关的事务可以同时处理。它们的顺序自然会出现在DAG的数据结构中,全世界都有一个通用的顺序。
DAG数据结构可以允许许多分支链同时出现在网络中,而不仅仅是单个链。只要把每个分支对应的对象的来龙去脉说清楚(验证过),节点只需要对交易进行验证,不需要多轮沟通就可以对一个交易进行投票。这样在单位时间内可以并发更多的事务,也可以减轻共识过程中验证者的负担。
隋在测试阶段的表现也很出色。今年3月,在Macbook Pro(8核M1芯片)上运行的未优化单核Sui Authority节点的TPS达到了12万。如果CPU核心数增加,TPS可以线性提升。
3.2.3两种并行化方案的比较Aptos和Sui在并行处理的设计上有什么区别?下面我们用例子来比较一下以太坊,Aptos,Sui之间并行性的异同。假设每个网络是一个城市,有8个旅游景点。一个用户提交交易,就像飞往城市,交易确认后,乘客从机场到达目的地。
以太坊的做法是用一辆大巴装载乘客,直到大巴满员。大巴会绕着这八个景点转一圈,把所有乘客一个个放下。
Aptos的做法是设置8辆公交车,去不同地方的乘客乘坐不同的公交车,这样就不用先去其他地方了。而且因为硬件的提升,Aptos总线比以太坊总线更快,更节省时间。
隋的做法是设置了很多出租车乘客口,让乘客一上车就直接启动,连等公交车满了再启动的时间都省了。很多出租车一起跑更快,但也有负面影响。Sui中的所有交易仍需要足够数量的审核人签名才能写入分类账。与Aptos相比,Sui的主导验证者每笔交易都需要收集其他验证者的签名,带来了额外的工作量;Aptos leader验证器只收集被提议的块的签名。Sui的额外工作负载可能会抵消一些吞吐量和延迟优势。
Aptos和Sui的想法都是可行的。下面简单对比一下它们的优缺点。
至于这两种方式哪个更好,将来更有前途,目前还不需要判断。第一,因为他们还处于测试网络的阶段(如果Aptos在本文写作过程中上线,也只是很快上线),所以需要让网络运行更久,获得更多的实际数据后再做评测。二是因为现在链上的活动非常冷清,他们宣称的处理能力完全足够应付。如果没有频繁宕机,都比现在的高性能公链好。
最后要注意一点:并行计算没有多核,所有问题都可以通过事务分类来解决。Aptos,Sui和其他未来的公共链不仅仅是一个支付网络,它们还必须运行许多dApp和智能合同。现有的智能合约只适合串行执行,如AMM和NFT铸造。为了在未来发挥并行计算的威力,智能合约需要在算法上符合并行计算的特点。开发者需要修改现有的智能合约或者重写一批新的智能合约。这涉及到巨大的工作量,更重要的是思维的转变。我们需要等待一段时间才能看到并行计算公链的全面崛起。一旦出现这种情况,可能会极大地推动行业的发展,带来彻底的范式转变。
3.3共识算法的天花板在共识算法上创新其实很难。最早的是BFT共识,适用于分布式系统中如何达成共识的问题,特别是当节点可能失效作恶时。最早关于BFT的讨论是在1982年。BFT的问题是需要多轮通信,通信开销与节点数量的平方成正比。比特币网络采用中本聪共识,有两个特点:(1)通过工作量证明(计算时间成本)限制网络中的提案数量;(2)最长链原理在概率上保证了最终的确定性和安全性(经济博弈限制了攻击者)。中本聪共识要求极高的成本,挖掘机器性能,并保持节点在线以保持网络运行。
关于共识机制,有三个创新项目值得一提。首先是索拉纳的PoH(历史的证明)共识。这个共识为全网建立了一致的时钟,交易事件可以按照自己的时钟排序,保证账本的一致性。PoH共识确实给Solana的性能带来了突破,TPS可以达到20003000。但由于黑客可以预测并攻击下一个区块生产者,PoH的安全性稍显不足。第二个是Avalanche的avalanche consensus,测试网络可以达到4500TPS的性能。雪崩共识是一种BFT,但它没有领袖节点,节点是平等的。每个节点随机采样周围的节点,形成自己的结果,最后整个系统会在很短的时间内达成共识。第三个是嫩薄荷共识,这也是BFT的改进版本。适用于部分同步网络,有两阶段投票,每一轮投票都会有超时。Tendermint consensus的创新之处在于,它简化了领导者的切换过程,但却以时间为代价。可以看出,现在流行的共识算法,大部分都是在BFT的基础上进化而来的,比如HotStaff和Polkadot的爷爷。
要判断共识协议的质量,可以使用三个指标:安全性、活性和响应性。这里对这三个指标进行了说明:
安全性:所有诚实的验证者将确认提议和执行。比如比特币网络,用算法保证网络不容易被攻击。
活动:网络中总会有提案。这部分包括如何切换Leader节点,如何定义超时等。
响应性:块的确认时间只与网络时延有关,节点会一直响应共识。比如Tendermint共识,需要等待固定的时间才能屏蔽掉,即使网络状态好,所以它的响应性也不是很好。
Diem的共识是基于HotStuff共识,这是一个三阶段投票的BFT共识。每轮投票节点之间不需要通信,只需要向主节点提交自己的投票结果。DiemBFT consensus做了很多细节上的改进,其中一个就是增加了一个内存池,相当于增加了一个实际的存储层,类似于Solana。这一改变极大地提高了系统的性能。这在Aptos和Sui中也是继承的。在DiemBFT的基础上,隋创建了Narwhal和Tusk两种机制,使系统在异步网络环境下快速达成共识。以下是对这两个共识的分析。
3.3.1区块结构的根本改变Aptos共识机制直接延续DiemBFT。DiemBFT对共识节点的投票权进行了重新配置,每个验证者的投票权并不相等,需要根据权益进行加权,这与其质押令牌的数量成正比。同时,DiemBFT通过共享内存池协议相互共享事务信息,然后根据轮次进行投票,类似于HotStuff。
Aptos的共识过程和内容与一般的区块链有些不同。它的交易传播与共识阶段分离,验证者只需要对交易的元数据达成共识。这意味着Aptos块中只有事务元数据,而没有实际的事务数据。这与传统的块结构有很大的不同,如下图所示。
我们来看看如何达成共识。
验证者收集交易并自行验证后,将一定数量或一段时间内的交易打包成一个批次,并在验证者网络中不断将这样的批次互相传输。验证者分发交易批次后,交易批次不能被篡改。其他验证人员接受并存储该批次,同时在该批次的摘要上签名,并将签名反馈给该批次。当2f 1个验证者(加权计算,f是错误验证者的权重)签署批摘要时,系统生成一个可用性证明(PoAv)。PoAv保证至少有f ^ 1个权重的诚实验证者(假设f个虚假验证者在最后一步提交了他们的签名,但是他们后来删除了这些事务,那么至少有f ^ 1个诚实验证者仍然保留着这些事务)已经存储了这批事务,所以所有的诚实验证者都可以在执行之前检索到它,所以没有必要在块中包含实际的事务。所提出的块的节点只需要排序和打包几批元数据,加上它们的PoAv就可以形成一个块。其他验证者在验证PoAv和区块元数据标准(如提案时间戳和区块到期时间)后,可以投票决定该区块是否合法。
Aptos将共识阶段的带宽需求平均分配到更长的时间段,可以在很低的带宽下达成共识(因为共识过程中要传输的数据量很小,只有块元数据和PoAv可用),从而实现高事务吞吐量和最小化延迟。DiemBFT V4的共识很快。一般共识只需要两次网络往返,全网往返时间通常小于300ms。2019年以来,DiemBFTv4经过了数十个运营商节点和多钱包生态系统多次迭代的广泛测试,并经过Aptos三期测试,其稳定性应该也是有保障的。
3 . 3 . 2DAG结构与BFT共识的结合隋的共识机制作为其最大的亮点,在创新和解决性能问题上都有所突破。虽然Aptos和Sui是在HotStuff上做的变种,但是Sui改造了DiemBFT中的交易内存池,直接在内存池中做交易广播。同时,采用名为Tusk的全局随机硬币来实现异步一致性。共识Sui具有更快的处理速度、更低的延迟和更好的可扩展性。共识创新让Sui在性能上比Aptos表现更好。
(1)1)DAG结构的并发优势
隋没有积木的概念,而是一个一个的交易。节点在事务的“顶点”投票。“顶点”类似于Merkle树的根,并且包含先前相关事务的引用。Sui结合了对象类型分类和DAG的优势,创建了更快的交易确认。DAG中不需要达成共识,但是为了防止双花,网络还需要参与交易的节点的验证和签名,这需要结合一些简单的共识机制来完成。DAG在这里有两个优势:
为并行化创造条件:DAG作为一种数据结构,结合区块链可以解决效率问题。由于链式结构,全网只能有一条链,导致无法并发执行块。引入DAG结构后,可以在网络中并行封装多个块。
因果顺序加速共识过程:在Sui中,交易的因果顺序是一个重要特征。它类似于Merkle Root in a block,是DAG结构的主干,也是一致投票的参考证明。
(2)当达格哈马舍尔德与BFT相遇时
Sui采用PoS机制,Sui的共识机制围绕上述三个对象,是一个混合协议,即DAG BFT。很多公司已经开始实施这一共识,包括Aptos、Celo和Somelier,但具体实施方案各不相同。Sui对单所有者对象采用DAG BFT一致性广播,直接将事务确认环节下放给事务本身,不需要验证者对块进行排序打包。一个普通的DAG需要一个全序排序,节点可以通过在本地内存池中找到对象的依赖路径来验证,也就是找到与对象相关的所有之前的事件,包括签名、时间戳和哈希值。
对于共享对象,隋使用的变体来为独角鲸的长牙和独角鲸建立一个内存池。Tusk是一种用于选择领导节点的随机硬币算法,类似于Alogrand的可验证随机数。为了让Sui运行在异步网络中,这里不再过多描述这个算法。Sui使用DAG结构对内存池中的因果进行排序,并进行可靠传播。节点将最高级别的“顶点”提交给领导节点,并达成BFT共识。
(3)共识过程
在Sui的共识机制中有两类角色:客户和权威。客户端相当于所有不参与共识的节点。它们收集对主节点的交易反馈,并根据共识形成交易证书和最终生效证书。权威机构的角色是参与共识节点,需要对交易进行验证和签名。已签名的交易将被返回给客户端,客户端收集已签名的交易并形成交易证书(DAG过程)。客户端相当于一个全节点客户端,其完成的交易证书将被发送回授权机构。如果交易涉及共享对象,则需要BFT共识。Authorities是验证者节点,它需要对交易达成共识。对于不需要达成共识的单一所有者交易,当局也需要在交易上签字。共享对象的事务稍微复杂一些。节点需要对对象及其相关对象进行排序,然后执行事务并收集签名以形成执行证书。一旦共识节点的签名数达到法定人数(2/3),即为最终,客户端可以收集执行证书并创建生效证书。
独角鲸建造的记忆池
DiemBFT对Hotstuff做了很多改动,其中一个就是增加了内存池,但是Hotstuff没有存储。独角鲸的记忆池和DiemBFT的不同。Diem的内存池仅用于交易池共享和定期发送。Narwhal把事务的广播放在内存池中,相当于把网络通信层从共识逻辑中分离出来。节点只对提议的哈希值进行排序和投票。这带来了两个好处:
l可以使共识层更快的完成共识工作,广播工作不占用共识的通信通道,内存池直接完成块的广播;
l实现线性扩展,节点可以增加硬件提升性能,而Narwhal可以线性提升性能(类似碎片化)。每个验证者可以水平扩展自己,通过增加更多的计算能力来增加他的事务吞吐量。
从Aptos和Sui这两个新Diem公链可以看出,目前对共识机制的研究已经取得了不错的成果,其创新仍然是在经典共识的基础上完成的,主要分为两个方向:1 .改变区块结构和内容格式,使其更轻量级地参与共识过程;2.使用各种方法促进并行性,尤其是在事务排序和广播方面。未来共识机制的进化概率也是基于HotStuff,毕竟其机制已经成熟。另一个是内存池,它将被进一步改进为一个缓冲区,用来存储等待执行的事务。
3.4充满博弈论的经济模型Token经济模型在区块链项目中发挥着越来越重要的作用。好的代币经济可以给技术优势大的项目带来加分。代币经济的每一个参数的设定和修改都会给项目和社区带来很大的影响。对于一个公链来说,衡量代币经济模式的好坏有两个方面:(1)是否能捕捉到更多的经济价值;(2)网络、用户、开发者、验证者(矿工)之间的关系能否平衡。做好这两件事很难。许多成熟的项目要么推迟发行代币,要么一直在改善代币经济。
在Diem的新公链中,只有隋给出了自己的代币经济,其实更多的是关于经济模式的讨论。在隋的代币经济中,气费包括交易成本和存储成本,具有两个特点:遵循以太坊经济模式的优势;(2)提出了一种新的存储成本解决方案。
(1)燃气费
与以太坊类似,用户在付费前需要设置气限,即最大气的预算。它将被执行,直到达到预算。预算用完了,就暂停。此外,Sui还采用了EIP1559的方案。该协议将设定一个基本费用(以每$Sui的气单位计价),该费用将在每个epoch关键时期进行算法调整(在每个epoch开始时,要求验证者提交他们愿意处理交易的最低价格,该协议将设定2/3的价格作为每个epoch的参考气价。提交低价并以低价处理交易的验证者将获得更高的奖励,交易发送者还可以包括可选的小费(以$Sui计价)。
汽油费=(已用汽油费*基本费用)小费
气包括计算成本和存储成本,在隋网中气价应该比较低。当验证者提交天然气价格时,两个关键因素影响他们的报价:计算规则促使验证者遵守天然气调查期间提交的报价,而分配规则促使验证者提交低天然气价格。
(2)存储成本
用户还需要提前计算并支付保管费。这种方法类似于气费,也是为了防止一些无效存储交易导致的网络拥塞和潜在攻击。用户必须为当前执行和未来存储付费。但是成本模型很难计算,存储需求不可预测,成本变得不稳定。
为了解决这个问题,隋引入了存储基金的概念,用于将过去的交易费用重新分配给未来的验证者。当链上的需求高时,存储基金可以作为对验证者的补贴。存款基金的三个特点:1。资金由过去的交易支付;2.存储基金将放入国库产生收入,收入将用于奖励验证者。基金收益的方式是验证者可以借入存储基金,基金获得本金收益;3.存储基金机制鼓励用户选择删除先前存储的数据以获得存储费用折扣;4.存储资金不归客户所有。
存储成本的经济模型是继filecoin之后的新尝试,需要用户找到合适的矿工来存储数据。虽然Sui中还存在一些问题,比如在利益驱动下,操作节点可能会试图删除旧数据,无法确定节点是否会按照协议实际存储数据。不过后续官方要根据网络情况进行调整。
隋的代币经济主要基于气费模型的构建,以及验证者的质押奖励,如何进行链式治理,如何激励协议和开发者。我们可以期待Aptos和Sui改进这些机制。作为一个通用的公共链,链上的存储函数具有一定的存在价值。建立合理的存储成本机制可以解决两个问题:1 .提高代币的经济捕获能力;2.释放链条上的存储压力。公链代币经济未来发展方向类似:1。为验证者/采矿者提供可持续的商业模式;2.治理可以灵活地参与链活动,捕捉协议的价值;3.更严格供气模型;4.赋予代币更多的应用场景,包括与链上算法稳定的币链接。
3.5 Linera的专用公链之路随着Cosmos和Avalanche多链生态网络的发展,越来越多的公链选择专用之路,或者有足够多用户的应用直接创建公链。例如dydx、WAX等。专用公链虽然对性能要求不高,但更注重其应用场景和用户增长。
在Diem公链中,Linera更倾向于特殊公链的发展。Linera的主要应用场景是支付,联通的真实世界和web3世界,这可能真的继承了脸书Diem的支付梦想和技术精髓。基于这种情况,Linera在技术上需要满足:
(1)低延迟
Linera的创始人Mathieu认为,市场对低延迟区块链的需求非常强劲。越来越多的Dapp需要低延迟来即时响应用户的操作,例如:零售支付、游戏应用的微支付、自营交易以及区块链之间的连接。
由于内存池的消耗和验证者之间复杂的协调,当前区块链中的确认时间通常仍需要几秒钟。与Aptos和Sui不同,为了满足低延迟的硬性需求,Linera完全去除了内存池,最大限度地减少了验证器之间的交互,可以大大加快支付等简单操作的速度。Linera Blockchain希望大多数基于帐户的操作可以在几分之一秒内得到确认。
(2)线性标度(线性延伸)
线性比例是Web2的一个技术概念。2000年前后,互联网行业经历了“线性扩张”的横向扩张。根据实时吞吐量动态提供数据库资源,动态增加更多处理节点(硬件),让企业在平时遇到高并发或资源闲置时不用担心网站宕机。
目前,区块链优先考虑“顺序”执行模型,该模型允许用户账户和智能合约在一系列交易中任意交互,但顺序执行阻碍了(垂直)线性扩展。Linera项目将开发和推广一种新的适合线性扩展的执行模型,不同用户账户上的操作将同时运行在不同的执行线程中。通过这种方式,总是可以通过向每个验证器添加新的处理单元来扩展执行。
Linera继承了FastPay和Zef协议,很可能成为低延迟、高交易确认的支付链,可以与Web2互联网支付相媲美,很可能继承了Zef协议的匿名支付特性。FastPay可以部署在各种环境中,可以独立作为原生代币和加密货币的结算层;或者作为另一种加密货币的侧链,或者作为已建立的实时汇总系统(RTGS)一侧的高性能结算层来结算合法的零售支付。未来,Linera不仅可以作为支付链,还可以作为其他公链的支付端链,或者嵌入其他Web2互联网产品,提供去中心化的即时支付服务。
类型特定的公链往往可以获得比通用公链更好的交互体验和更高的安全性。比如dYdX宣布脱离Starkware,选择开发基于Cosmos SDK的新链。或许在不久的将来,Rollup可以满足dYdX作为期货交易DEX对交易流畅度的高需求。然而,即使汇总性能提高到足够的水平,与数百个dAPP竞争一个块空间相比,单独享受专用区块链可以使交易体验更好,而且在未来,Linera将是一个专用的公共链,链中的应用项目和支付订单在块中很少。在这样一个简单而专用的环境下,Linera大概会得到比Aptos和Sui更低的交易延迟,更高的交易确认,更高的安全性。
4.下一代新公链范式探讨。从以上对Diem系统新公链的分析可以看出,公链技术的创新是主要的叙事主体。在生态方面,经过调研,Diem新公链的生态发展主要从两个方面入手:1。降低用户的使用门槛,从钱包应用可以看出,用户可以通过邮件直接注册;2.吸引开发者,基于Move语言,方便开发者为应用创建各种工具和框架。Diem公链给区块链的基础设施带来了新气象:(1)更大的公链竞争压力,体现在技术和性能上。公链起步不仅靠大机构、大人物的背书,还有技术团队和背景;(2)技术和运营并行,从Aptos可以看出,从资本的青睐到生态应用的快速支持。但是还有一些问题没有解决,比如公链的护城河,如何真正为去中心化的用户提供需求。
从Diem公链开始,我们可以看到下一代公链的发展形态:
(1)并行化是未来公链的新范式。
并行计算只是略微提高了对硬件的要求,矿工/验证者可以接受这种成本增加,不会严重影响去中心化的程度。但是,并行计算将大大提高区块链的整体性能和系统的稳定性,并增加不可能三位一体的面积。与此同时,基于共识的创新将是困难的。4年内的新公链,在性能上要以Aptos和Sui为标杆,几乎很难超越。在生态应用上,AMM和NFT铸造的并行升级可能是下一轮牛市的必要条件。AMM是DeFi的基础,NFT可能会在更多的使用场景中发挥作用。牛市的到来必然伴随着交易和其他各类应用的繁荣,它们的表现不可能被卡住。
(2)虚拟机的发展
EVM是一个由链节点为智能合约创建的隔离且可确定的沙盒环境。多个合同程序在同一进程中的不同虚拟机沙箱中运行。这意味着以太坊合约之间的调用是在同一个进程的不同智能合约虚拟机之间,安全性依赖于智能合约虚拟机之间的隔离。
移动虚拟机支持并行执行。合同之间的调用集中放在一个沙箱中。在这种架构下,契约状态的安全性主要通过编程语言的内部安全性来隔离,即基于Move的每一个资产都具有原生的稀缺性,是唯一的,并且具有相应的访问控制属性,而不是依赖虚拟机来隔离。
(3)专用公共链的尝试
目前一些用户足够多的应用还是有建立新链的想法。比如金融dydx。一些专用的公链也可能解决一些技术问题。例如,celestia提供了第2层的数据可用性层。这些新范式大多是从技术的角度出发,但技术与整个基础设施的发展密不可分,都具有一定的周期性。此外,宏观经济是否支持资本作为区块链产业底层技术的发展,也是限制公链的一大因素。但各国对加密行业的严格监管,对开发者、节点、私有公链都是威胁,也是影响未来公链形态的一个原因。
参考文献1。以太坊-索拉纳-aptos:高性能比赛开始,3359 antiape . substack . com/p/cf 40447d-d674-4454-9e 09-f 003517 de 6 de?s=r
2.宣隋、
3.https://www.defidaonews.com/article/6775866
4.专为速度打造:在Aptos和Sui的发动机罩下,https://medium . com/amber-group/built-for-Speed-Under-the-Aptos-and-Sui-3f 0ae 5410 f6d
5.隋移动与核心移动有何不同,https://docs.sui.io/learn/sui-move-diffs
6.继续前进,https://aptos.dev/guides/move-guides/move-on-aptos/
7.Move:具有可编程资源的语言,https://diem-developers-components . net lify . app/papers/diem-move-A-Language-With-Programmable-Resources/2020-05-26 . pdf
8.https://jolestar.com/why-move-1/
9.https://linera.io/利内拉
10.LibraBFT,https://tokens-economy . git book . io/consensus/chain-based-pbft-and-bft-proof-of-stage/Libra bft
11.快速支付:高性能拜占庭容错解决方案,https://arxiv . org/pdf/2003.11506 . pdf
12.介绍Linera:将web2的性能和可靠性引入web3,https://medium . com/@ linera/introducing-linera-BDB 809735552
13.Zef:低延迟、可伸缩、私有支付,https://静态1。方形空间。com/static/62d 6 e 9 b 8 BF 6051136 f 934527/t/630 b 0 EC 13 ee 5 da 4 def bb 6 b 8 c/1661669058381/zef。可移植文档格式文件的扩展名(portable document format的缩写)
14.独角鲸和长牙:基于十克的内存池和有效的BFT共识,https://arxiv . org/pdf/2105.11827 . pdf
15.达格哈马舍尔德遇见BFT——下一代BFT共识,https://去中心化思想。github。io/2022-06-28-达格哈马舍尔德遇见BFT/
16.https://github . com/mysten labs/sui/blob/main/doc/paper/sui . pdf sui白皮书
17.Sui tokenomics,https://github。com/my sten labs/sui/blob/main/doc/paper/token omics。可移植文档格式文件的扩展名(portable document format的缩写)
责任编辑凯特