说明:本文是基于Celestia官方教程做的笔记整理和注释。原文:LearnModular
编译:《深入探究模块化区块链》by?Echoic
一、单链
单链包含四个组件
执行层:确保所执行的交易进行正确的状态更新。执行层必须确保被执行的交易是有效的,即交易的结果是有效的状态机转换。
结算层:确保有一个使得执行层能够验证证明、解决欺诈纠纷的环境,并作为执行层之间的桥梁。
共识层:确保交易的顺序达成一致。
数据可用性层:确保交易数据的可用性。
单片区块链在单个层上同时完成上述的所有事情。
单链的限制
低效的交易验证:节点必须重新执行交易以检查有效性。
资源约束:区块链受单个节点的资源容量约束。
可扩展性:为了提高吞吐量,必须在一定程度上牺牲安全性或去中心化。
单链和模块化区块链的对比
二、模块化区块链基础知识
(1)模块化区块链是什么
指将「执行层、结算层、共识层、数据可用性层」四个组件中至少一个组件完全外包给外部链的区块链。
由于在单片链上为数百万或数十亿用户提供服务过于复杂且解决能力有限,人们提出了分片和Layer2解决方案,后来逐渐演变成模块化区块链。模块化的实现最初方案是rollups,后来这个概念进一步扩大成模块化区块链。
模块化区块链能够最大限度地降低运行节点的成本。
(2)模块化区块链的第一原则
Paxful CEO:将向在Celsius Earn中损失资金的Paxful用户进行退款:3月30日消息,比特币P2P市场Paxful首席执行官兼联合创始人Ray Youssef在推特上表示,其承诺将向在Celsius Earn中损失资金的Paxful用户进行退款。本周晚些时候,用户的Celsius资金将可以在其Paxful钱包中使用。
Youssef解释称:“去年,Celsius宣布他们申请破产,因此,用户无法在Paxful Earn中获取资金。Paxful和其他许多人一样,因为我们无法取回Celsius持有的资金而无法行动。另一个打击是,法院裁定Celsius Earn账户属于Celsius的破产财产,而不是其用户。我们对这一事很不舒服,比特币是一种财富保值工具,对许多人来说,这是他们未来所依赖的钱。为了得到用户信任,我们采取了该行动。”[2023/3/30 13:34:23]
去中心化:模块化区块链通过降低用户操作节点和验证网络的成本来优先考虑网络安全。
安全:在存在恶意验证者的情况下,去中心化的用户网络最终负责维护区块链的安全性。
可扩展:扩展使模块化区块链能够增加容量,而不会增加用户验证和保护网络的成本。
如果区块链可以增加它处理的交易数量,而不会增加节点验证交易的成本,那么它就是可扩展的。模块化区块链堆栈中使用的欺诈证明、有效性证明和数据可用性采样等技术使节点能够比完整节点更有效地验证交易,同时保持同等的安全性。
可扩展性公式定义
(3)模块化区块链的优势
具有主权:尽管使用了其他层,但新的模块化区块链可以像Layer1一样具有主权。这允许区块链在未经任何底层许可的情况下响应黑客攻击并推送升级。
分析:从技术层面来说,Celsius可能已经资不抵债:6月6日消息,据推特用户yieldchad分析,从技术层面来说,Celsius可能已经资不抵债。该项目一共有100万枚ETH,但只有26.8万枚(近27%)是有充足流动性的;另外44.5万枚拿的是Lido的stETH,按当前Curve的汇率只能换出28.7万枚ETH;最后28.8万枚直接质押进了以太坊2.0合约,一时半会(至少1年内)拿不出来。按照每周5万枚ETH的速度,Celsius在五周内就会耗尽具有流动性的ETH。[2022/6/6 4:05:49]
主权:在代币、协议的功能和升级、网络和协议的治理、生态系统的建设和基础设施具有更高的主动权
方便推出新的区块链:由于模块化区块链不需要处理所有功能,新区块链可以简单地将现有的模块化区块链用于他们希望卸载的组件。
像Optimint这样的Rollups“SDK”与CosmosSDK相结合将有助于促进新区块链的创建,而无需引导安全验证器集
提高可扩展性:通过模块化可以在不牺牲安全性或去中心化的情况下实现扩展。
(4)关于Celestia
Celestia与之前的区块链设计不同,后者将执行作为核心功能,但Celestia设计者认为执行是新链的工作,而Celestia专注于基础层,这样可以从基础层缓解单片链的最大瓶颈:吞吐量和状态膨胀。
Rollups和Celestia的区别在于Rollups专注于执行,Celestia专注于共识和数据可用性。
数据可用性层对吞吐量的重要性:吞吐量分为数据吞吐量和交易吞吐量,数据吞吐量与数据可用性层密切相关,因为它们的主要工作是为数据提供高容量。状态膨胀:指支付一次GAS费会让你的数据在以太坊区块链上永久保存,从而导致一个无限的、不断增长的状态,其中甚至有很多无用数据。
中币(ZB)将于今日上线SAND及CELR:根据官方公告,中币(ZB)于2021年4月12日上线SAND(The Sandbox)以及CELR(Celer Network);现已开放充值。4月15日14:00开放SAND/USDT和SAND/QC交易;2021年4月15日16:00开放CELR/USDT和CELR/QC交易。更多详情请查看中币官方公告。[2021/4/12 20:10:51]
三、模块化区块链的三种架构
(1)Layer1&Layer2
最初构建朴素的模块化堆栈是为了向Layer1提供可扩展性。在这个堆栈中,Layer1提供所有关键功能,包括执行,而Layer2只专注于执行。Layer1允许Layer2发布区块,同时充当连接Layer2的枢纽。
在大多数情况下,Layer2的容量也取决于Layer1的容量。因此,Layer1和Layer2堆栈的这种实现对于可扩展性来说不是最理想的。
Celsius Network创始人:若无法快速有效扩容,以太坊或失去市场支配地位:金色财经报道,加密借贷平台Celsius Network创始人Alex Mashinsky表示,尽管对Eth2充满信心,但如果网络无法快速、有效地扩容,它可能会失去关注。如果无法扩容,Cardano和Polkadot可能会接管。[2020/12/5 14:03:23]
(2)执行、结算和数据可用性
优化模块化区块链堆栈可以提供的更多好处,通过模块化区块链将各个功能解耦:
执行层
应用程序所在的环境和执行状态更改的环境,位于模块化堆栈的顶部,其作用与Layer2相同。
结算层
执行层的可选中心,用于验证证明、解决欺诈纠纷。用于在执行层和结算层之间建立信任最小化桥梁,并提供了一种执行层之间相互连接的方式。
执行层可以选择将其完整的区块发布到结算层,之后结算层将构建自己的区块,包括来自执行层的交易,并将交易数据发布到共识和数据可用性层。这只是结算层在模块化堆栈中发挥作用的多种方式之一。
因为没有执行功能,所以结算层只发布交易数据,而不是整个区块的内容。
信任最小化桥梁:两个区块链之间的桥梁不需要中间人、委员会或诚实的多数假设来确保资金不会被盗。例子是以太坊和建立在其之上的Rollups之间的桥梁。
共识和数据可用性层
共识就交易顺序达成一致,数据可用性验证交易数据是否可供下载。在多数情况下这两层之间互相协作,例如专门研究数据可用性的模块化区块链需要达成共识才能对数据进行排序,否则无法确定数据的历史记录。
动态 | 加密借贷机构Celsius采用Fireblocks的热钱包解决方案 以保障3亿美元资产:据TheBlockCrypto今日报道,加密货币借贷公司Celsius已与安全公司Fireblocks合作,以确保其借贷活动。11月19日,Celsius公司称Fireblocks将帮助其在49,000个活跃的钱包中保障超过3亿美元的资产,Fireblocks的热门钱包解决方案将使Celsius能够安全地借出用户存款并产生利息收入。Celsius以前使用BitGo和Prime Trust提供的冷钱包解决方案,现在热钱包中的所有代币将由Fireblocks保护?。[2019/11/19]
(3)执行和数据可用性
在前两个模块化堆栈中,执行层只专注于执行,并将剩余的功能卸载到其他层。然而,由于模块化区块链的用途很灵活,因此执行层不仅限于将其块发布到结算层。例如,可以创建一个不涉及结算层的模块化堆栈,只涉及共识和数据可用性层之上的执行层。
由于不涉及结算层,因此只有数据可用性层负责为交易排序和数据可用性提供安全性。这使执行层能够获得将共识与执行分离的全部可扩展性优势,因为没有中间层将交易数据转发到基础层。
四、模块化结算层
由于模块化区块链仅处理一部分功能,因此可以进行更多的解耦,比如解耦出结算层,可以通过模块化区块链进行结算层的优化和专业化。
模块化堆栈中的结算层可以专注于结算,同时将其余组件外包给其他模块化区块链。通过引入欺诈或有效性证明,结算层可以增强轻客户端的安全性,允许他们验证有效或无效块。
结算层为rollups提供的功能
ProofVerification和DisputeResolution:rollups发布其证明以供外部验证的地方,这对于依赖交互式欺诈证明的OP-Rollups特别有用。
促进桥接的中心:如果rollups通过一个共同的结算层,它们可以相互桥接。
流动性来源:存在于同一个结算层的流动性可以被顶部的所有rollups使用。
模块化堆栈中的结算
五、模块化可扩展性
站在可扩展性的角度,可以进行执行层、数据可用性层、结算层的模块化划分。
1.执行层
Rollups本身就是一种区块链,将其块发布到基础层以确保有效性和数据可用性。随着时间的推移,出现了两种主要的Rollup设计,optimistic和zk-rollups。
(1)OptimisticRollups
OptimisticRollups将其区块发布到基础层,基础层接收区块并乐观地假设交易是正确的。为了允许在怀疑区块无效的情况下挑战Rollups块,提供了一个争议窗口,如果一个块受到挑战,则使用欺诈证明来验证它是否无效。一旦争议窗口关闭,就不能对区块提出挑战。
OptimisticRollups提供的可扩展性:
将执行从Layer1移走,一旦交易在OptimisticRollups上执行,Layer1就不需要重新执行它们,因为它们自动被假定为正确的,从而减轻了Layer1执行的负担。
减轻Layer1的状态增加。通过将应用程序和交易转移到不同的链上,Layer1可以降低其状态增长的速度。大量的状态增加会增加对节点的硬件要求,这会对去中心化产生负面影响。
(2)ZK-Rollups
对于发布到Layer1的每个Rollups区块都会附带一个有效性证明,以证明该区块的正确性。一旦验证了有效性证明,交易就被认为是最终的,不需要争议窗口来判断Rollups区块的有效性。
ZK-Rollups提供的可扩展性:
减轻Layer1的执行瓶颈和状态增长,提供与Optimisticrollups类似的可扩展性优势。此外,ZK-Rollups还通过使用有效性证明为计算验证提供可扩展性。
在大多数区块链中,区块生产者执行交易并将它们放入一个区块中,随后由节点重新执行以验证正确性。有效性证明允许节点有效地验证交易而无需重新执行它们——它们只需验证有效性证明。
2.数据可用性层
通过分离共识和执行,数据可用性层也可以进行可扩展性优化,而不受提供结算层功能的限制。关键技术是数据可用性采样,通过多轮抽样小随机块,它允许节点无需下载整个块来验证可用,从而减少轻节点的带宽。
3.结算层
现在的结算层仍然承受着应用程序及其相应的基于用户的交易活动的负担,这导致结算层挤满了来自个人用户和执行层的交易。结算层可以使用与执行层和数据可用性层相同的技术进行扩展,但目前结算层的扩展效果还不理想。
六、创建新的区块链
随着CosmosSDK及其相应的共识引擎Tendermint等SDK的兴起,与之前的区块链相比,现在已经可以更轻松地创建新的区块链,而区块链创建的下一次演变将由模块化架构实现。例如,一个新的区块链将能够使用SDK创建,并且能够立即使用现有的模块化区块链。新的区块链可以使用在数据可用性层之上启动的结算层,由于执行层不需要共识机制,因此它们不需要大量的验证集或进行代币分配。新的区块链将能够毫不费力地启动,而无需花费大量时间或金钱成本。
在数据可用性层上启动结算层的区块链像独立的区块链一样具有主权,而结算层之上的Rollups不具有主权,它们依赖结算层来验证他们的交易。
原始的Rollups类型的执行层在部署到结算层时,需要对以太坊虚拟机进行兼容。而现在解耦了数据可用性层,可以不处理来自执行层的任何交易或状态更新,仅发布原始交易数据,使得新的Rollups可以很快地部署到没有兼容限制的数据可用性层。
主权区块链:通过社会共识对自身及其应用进行独立控制的区块链。主权链有能力应对黑客攻击并推动升级。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。