声明:本文旨在传递更多市场信息,不构成任何投资建议。文章仅代表作者观点,不代表MarsBit官方立场。
边肖:记得要集中注意力。
来源:celestia
原标题:学习模块化
本文根据Celestia官方教程整理注释。
1.单片区块链单个链包含四个组件执行层:确保执行的事务被正确更新。执行层必须保证执行的事务是有效的,即事务的结果是有效的状态机转换。结算层:确保有一个环境,使执行层能够验证证书,解决欺诈纠纷,并充当执行层之间的桥梁。共识级别:确保对交易顺序达成一致。可用性层:确保事务数据的可用性。单片区块链在一层上同时完成上述所有事情。
由于单链的限制,事务验证效率低下:节点必须重新执行事务来检查有效性。资源约束:区块链受到单个节点资源容量的约束。可伸缩性:为了提高吞吐量,必须在一定程度上牺牲安全性或分散性。单链和模块化区块链的比较
二。模块化区块链的基础知识(1)什么是模块化区块链?是指将“执行层、结算层、共识层、数据可用性层”四个组成部分中的至少一个完全外包给外链的区块链。
由于在单个芯片链上为数百万或数十亿用户提供服务过于复杂,解决能力有限,人们提出了切片和Layer2解决方案,逐渐演变为模块化区块链。Rollups是模块化实现的最初方案,后来这个概念被进一步扩展为模块化区块链。
模块化区块链可以最大限度地降低运行节点的成本。
(2)去中心化,模块化区块链第一原则:模块化区块链通过降低用户操作节点和验证网络的成本,优先考虑网络安全。安全性:在存在恶意验证者的情况下,分布式用户网络最终负责维护区块链的安全性。可扩展:扩展使模块化区块链能够在不增加用户身份验证和网络保护成本的情况下增加容量。如果区块链能够在不增加节点验证交易成本的情况下增加其处理的交易数量,那么区块链就是可扩展的。模块化区块链堆栈中使用的欺诈证明、有效性证明和数据可用性采样等技术使节点能够比完整节点更有效地验证交易,同时保持相同的安全性。扩展性公式定义
(3)模块化区块链的优点是独占:虽然使用了其他层,但是新的模块化区块链可以像层1一样独占。这使得区块链能够在没有任何底层许可的情况下应对黑客攻击并推动升级。主权:在令牌、协议功能和升级、网络和协议治理、生态系统建设和基础设施方面拥有更高的主动权,便于推出新的区块链:由于模块化区块链不需要处理所有功能,新的区块链可以简单地使用现有的模块化区块链来卸载他们希望卸载的组件。像Optimint和Cosmos SDK这样的roll up“SDK”的组合将有助于促进新区块链的创建,而无需指导安全验证器集来提高可扩展性:它可以在不牺牲安全性或通过模块化去中心化的情况下进行扩展。
(4) CelestiaCelestia不同于之前的区块链设计,以执行为核心功能。然而,Celestia的设计师认为执行是新链(指Celestia创建的处理执行的新链)的工作,而Celestia专注于基础层(共识和数据可用性),可以缓解单芯片链的最大瓶颈:吞吐量和状态膨胀。
Rollups和Celestia的区别在于,Rollups侧重于执行(无结算、共识和数据可用性层),而Celestia侧重于共识和数据可用性(无执行和结算)。
数据可用性层对吞吐量的重要性:吞吐量分为数据吞吐量和事务吞吐量,数据吞吐量与数据可用性层密切相关,因为它们的主要工作是为数据提供高容量。扩展:意思是交一次气费,就会让你的数据永久保存在以太坊区块链上,从而导致一种无限的、不断增长的状态,在这种状态下甚至会出现大量无用的数据。
三。模块化区块链的三种体系结构(1)第1层第2层简单的模块化堆栈最初是为了向第1层提供可扩展性而构建的。在这个堆栈中,第1层提供所有关键功能,包括执行,而第2层只关注执行。Layer1允许Layer2发布块,同时作为连接Layer2的hub。
大多数情况下,第2层的容量也取决于第1层的容量。因此,第1层和第2层堆栈的实现对于可扩展性来说并不理想。
(2)执行、结算和数据可用性优化。模块化区块链堆栈可以提供更多优势,通过模块化区块链分离各种功能:
执行层应用的环境和执行状态改变的环境位于模块化栈的顶部,并且具有与层2相同的功能。结算执行层的可选中心用于验证证书和解决欺诈纠纷。它用于在执行层和结算层之间建立一个最小信任桥梁,并提供一种连接执行层的方式。执行层可以选择将其完整的块发布到结算层,之后结算层将构建自己的块,包括来自执行层的事务,并将事务数据发布到共识和数据可用性层。这只是沉降层在模块化堆栈中发挥作用的众多方式之一。因为没有执行函数,结算层只发布交易数据,不发布整块的内容。最小化信任桥梁:两个区块链之间的桥梁不需要中间人、委员会或诚实多数假设来确保资金不会被盗。这个例子是以太坊和建立在其上的Rollups之间的桥梁。共识和数据可用性层对交易顺序达成一致,数据可用性验证交易数据是否可以下载。在大多数情况下,这两层相互合作。例如,专门研究数据可用性的模块化区块链需要达成共识才能对数据进行排序,否则无法确定数据的历史。
(3)执行和数据可用性在前两个模块化堆栈中,执行层只专注于执行,将其余功能卸载到其他层。然而,因为模块化区块链的使用是灵活的,所以执行层不限于将其块发布到结算层。例如,您可以创建一个不涉及结算层,而只涉及共识和数据可用性层之上的执行层的模块化堆栈。
因为不涉及结算层,所以只有数据可用性层负责为事务排序和数据可用性提供安全性。这使得执行层能够获得将共识与执行分离的所有可伸缩性优势,因为没有中间层将事务数据转发到基础层(共识和数据可用性层)。
四。模块化的结算层由于模块化的区块链只处理部分功能,所以可以做更多的解耦,比如结算层的解耦,可以通过模块化的区块链进行优化和专门化。
模块化堆栈中的结算层可以专注于结算,而将其他组件(如共识和数据可用性)外包给其他模块化区块链。通过引入欺诈或有效性证明,结算层可以增强轻客户端的安全性,允许它们验证有效或无效的块。
结算层为汇总提供的功能是证据验证和争议解决:汇总发布其证书以供外部验证的地方,这对于依赖于欺诈的交互式证据的OP-roll up特别有用。促销中心:如果汇总通过一个公共结算层,它们可以相互桥接。流动性来源:同一结算层存在的流动性可以被顶层的所有上滚使用。
模块堆栈中的结算
5.模块化可扩展性从可扩展性的角度来看,可以将执行层、数据可用性层和结算层模块化。
1.执行层Rollups本身就是一种区块链,它的块被发布到基础层以确保有效性和数据可用性。随着时间的推移,出现了两种主要的Rollup设计,Optimal和ZK-roll up。
(1)乐观汇总
Optimal Rollups将其块发布到基础层,基础层接收块并乐观地假设事务是正确的。如果怀疑汇总块无效,则允许对其进行质询,提供了一个争议窗口。如果一个块被质疑,则使用欺诈证据来验证它是否无效。一旦争议窗口关闭,就不能对该区块提出异议。
最佳汇总提供的可扩展性:
从层1移动执行。一旦事务在最佳汇总上执行,第1层就不需要重新执行它们,因为它们被自动假定为正确的,从而减少了第1层执行的负担。减少层1的状态增加。通过将应用程序和事务转移到不同的链,Layer1可以降低其状态的增长率。大量的状态增加会增加节点的硬件要求,对去中心化有负面影响。(2)ZK-汇总
发布到第1层的每个汇总块都将附有有效性证明,以证明该块的正确性。一旦验证了有效性证书,交易就被认为是最终的,并且不需要争议窗口来判断累计块的有效性。
ZK卷提供的可扩展性:
减少第1层的执行瓶颈和状态增长,并提供类似于最佳汇总的可伸缩性优势。此外,ZK-Rollups还通过使用验证为计算验证提供了可扩展性。在大多数区块链中,块生产者执行事务并将它们放入块中,然后由节点重新执行以验证正确性。有效性证明允许节点有效地验证事务,而无需重新执行它们。他们只需要验证有效性证明。
2.通过分离共识和执行,数据可用性层也可以针对可伸缩性进行优化,而不会受到提供结算层的功能的限制。关键技术是数据可用性采样。通过多轮采样小的随机块,它允许节点验证可用性,而无需下载整个块,从而减少了轻型节点的带宽。
3.结算层当前的结算层仍然承担着应用程序及其相应的基于用户的交易活动的负担,这导致结算层挤满了来自个人用户和执行层的交易。结算层可以采用与执行层和数据可用性层相同的技术进行扩展,但目前结算层的扩展效果并不理想。
不及物动词创建新区块链随着Cosmos SDK及其相应的共识引擎(如Tendermint)的兴起,现在创建新区块链变得更加容易,区块链创建的下一次进化将通过模块化架构来实现。例如,可以使用SDK创建一个新的区块链,现有的模块化区块链可以立即使用。新的区块链可以使用在数据可用性层之上开始的结算层。因为执行层不需要共识机制,所以它们不需要大量的验证集或者令牌分配。新的区块链将能够毫不费力地启动,无需花费大量的时间和金钱。
在数据可用性层上启动结算层的区块链像独立的区块链一样拥有主权,而结算层之上的汇总没有主权。他们依靠结算层来验证他们的交易。
原始Rollups类型的执行层在部署到结算层时,需要与以太坊虚拟机兼容。既然数据可用性层已经分离,就可以只发布原始事务数据,而不需要执行层的任何事务或状态更新,这样新的汇总就可以快速部署到数据可用性层,而没有兼容性限制。
主权区块链:通过社会共识独立控制自身及其应用的区块链。主权链有能力应对黑客攻击,促进升级。
附录现有模块化区块链产品
编辑:凯特