本文是基于Celestia官方教程做的笔记整理和注释。一、单链
单链包含四个组件
执行层:确保所执行的交易进行正确的状态更新。执行层必须确保被执行的交易是有效的,即交易的结果是有效的状态机转换。结算层:确保有一个使得执行层能够验证证明、解决欺诈纠纷的环境,并作为执行层之间的桥梁。共识层:确保交易的顺序达成一致。数据可用性层:确保交易数据的可用性。单片区块链在单个层上同时完成上述的所有事情。
单链的限制
低效的交易验证:节点必须重新执行交易以检查有效性。资源约束:区块链受单个节点的资源容量约束。可扩展性:为了提高吞吐量,必须在一定程度上牺牲安全性或去中心化。
单链和模块化区块链的对比
二、模块化区块链基础知识
(1)模块化区块链是什么
指将「执行层、结算层、共识层、数据可用性层」四个组件中至少一个组件完全外包给外部链的区块链。
由于在单片链上为数百万或数十亿用户提供服务过于复杂且解决能力有限,人们提出了分片和Layer2解决方案,后来逐渐演变成模块化区块链。模块化的实现最初方案是rollups,后来这个概念进一步扩大成模块化区块链。
模块化区块链能够最大限度地降低运行节点的成本。
马克·库班称自己已经完全改变看法 正在深入研究加密货币:6月21日消息,达拉斯独行侠队老板、亿万富翁马克·库班称自己正在深入研究加密货币,已经完全转变看法,不会错过这个。(bitcoin.com)[2021/6/21 23:52:57]
(2)模块化区块链的第一原则
去中心化:模块化区块链通过降低用户操作节点和验证网络的成本来优先考虑网络安全。安全:在存在恶意验证者的情况下,去中心化的用户网络最终负责维护区块链的安全性。可扩展:扩展使模块化区块链能够增加容量,而不会增加用户验证和保护网络的成本。如果区块链可以增加它处理的交易数量,而不会增加节点验证交易的成本,那么它就是可扩展的。模块化区块链堆栈中使用的欺诈证明、有效性证明和数据可用性采样等技术使节点能够比完整节点更有效地验证交易,同时保持同等的安全性。
可扩展性公式定义
(3)模块化区块链的优势
具有主权:尽管使用了其他层,但新的模块化区块链可以像Layer1一样具有主权。这允许区块链在未经任何底层许可的情况下响应黑客攻击并推送升级。主权:在代币、协议的功能和升级、网络和协议的治理、生态系统的建设和基础设施具有更高的主动权方便推出新的区块链:由于模块化区块链不需要处理所有功能,新区块链可以简单地将现有的模块化区块链用于他们希望卸载的组件。像Optimint这样的Rollups“SDK”与CosmosSDK相结合将有助于促进新区块链的创建,而无需引导安全验证器集提高可扩展性:通过模块化可以在不牺牲安全性或去中心化的情况下实现扩展。(4)关于Celestia
Bondly获OKEx Blockdream Ventrues投资 双方将深入探索NFT领域:据官方消息,Bondly已获OKEx Blockdream Ventrues(OKEx BDV)投资,双方将深入探索NFT领域,为NFT优质区块链项目发展提供服务和资源支持。一方面,Bondly将通过NFT形式为OKEx BDV合作的优质项目提供LaunchPad服务;另一方面,双方共同把优秀品牌带到Bprotect,也将以NFT创新形式与OKExChain生态资产进行品牌合作。
Bondly是一种可互操作、透明、便捷的资产兑换协议,旨在彻底改变传统的资产托管方法,并使每个艺术创作人都能进入自己的数字市场,旗下产品包括BSwap(NFT发售平台)、Bondly LaunchPad(IDO平台)、BProtect(NFT交易平台)。OKEx BDV初始资金1 亿美金,致力于发现和投资最前沿的产品技术创新类区块链项目,投资方向包括基础设施、交易及金融项目、公链生态类项目、应用类流量入口等。[2021/5/6 21:28:39]
Celestia与之前的区块链设计不同,后者将执行作为核心功能,但Celestia设计者认为执行是新链的工作,而Celestia专注于基础层,这样可以从基础层缓解单片链的最大瓶颈:吞吐量和状态膨胀。
Rollups和Celestia的区别在于Rollups专注于执行,Celestia专注于共识和数据可用性。
数据可用性层对吞吐量的重要性:吞吐量分为数据吞吐量和交易吞吐量,数据吞吐量与数据可用性层密切相关,因为它们的主要工作是为数据提供高容量。状态膨胀:指支付一次GAS费会让你的数据在以太坊区块链上永久保存,从而导致一个无限的、不断增长的状态,其中甚至有很多无用数据。
山西深入推进跨境金融区块链服务平台应用:国家外汇管理局山西省分局深入推进跨境金融区块链服务平台应用,为中小微外贸企业跨境结算与融资扩渠道、增便利。目前,山西省已有17家银行加入该平台,为16家企业办理融资业务116笔,累计放款7.67亿美元。(中国新闻网)[2020/5/3]
三、模块化区块链的三种架构
(1)Layer1&Layer2
最初构建朴素的模块化堆栈是为了向Layer1提供可扩展性。在这个堆栈中,Layer1提供所有关键功能,包括执行,而Layer2只专注于执行。Layer1允许Layer2发布区块,同时充当连接Layer2的枢纽。
在大多数情况下,Layer2的容量也取决于Layer1的容量。因此,Layer1和Layer2堆栈的这种实现对于可扩展性来说不是最理想的。
(2)执行、结算和数据可用性
优化模块化区块链堆栈可以提供的更多好处,通过模块化区块链将各个功能解耦:
执行层应用程序所在的环境和执行状态更改的环境,位于模块化堆栈的顶部,其作用与Layer2相同。结算层执行层的可选中心,用于验证证明、解决欺诈纠纷。用于在执行层和结算层之间建立信任最小化桥梁,并提供了一种执行层之间相互连接的方式。执行层可以选择将其完整的区块发布到结算层,之后结算层将构建自己的区块,包括来自执行层的交易,并将交易数据发布到共识和数据可用性层。这只是结算层在模块化堆栈中发挥作用的多种方式之一。因为没有执行功能,所以结算层只发布交易数据,而不是整个区块的内容。信任最小化桥梁:两个区块链之间的桥梁不需要中间人、委员会或诚实的多数假设来确保资金不会被盗。例子是以太坊和建立在其之上的Rollups之间的桥梁。共识和数据可用性层共识就交易顺序达成一致,数据可用性验证交易数据是否可供下载。在多数情况下这两层之间互相协作,例如专门研究数据可用性的模块化区块链需要达成共识才能对数据进行排序,否则无法确定数据的历史记录。
动态 | 金融时报:未来区块链等技术与银行业的融合一定会越来越深入:据金融时报今日刊文指出,银行业“变革的思维”,还体现在科技与传统银行的结合上。未来,云计算、大数据、区块链与银行业的融合一定会越来越深入。数据和信息会成为未来银行的生命线。拥有数据和信息,就能精准勾画出消费者所需要的场景,从而提高银行服务和产品的覆盖范围与个性化程度,进而满足金融消费者的获得感、幸福感和安全感。并且,数字技术与普惠金融、小微金融、消费金融相结合,可以产生事半功倍的效果,因为小微企业与消费者是最需要数字技术所带来的金融服务便利性的客户群体。[2018/9/8]
(3)执行和数据可用性
在前两个模块化堆栈中,执行层只专注于执行,并将剩余的功能卸载到其他层。然而,由于模块化区块链的用途很灵活,因此执行层不仅限于将其块发布到结算层。例如,可以创建一个不涉及结算层的模块化堆栈,只涉及共识和数据可用性层之上的执行层。
由于不涉及结算层,因此只有数据可用性层负责为交易排序和数据可用性提供安全性。这使执行层能够获得将共识与执行分离的全部可扩展性优势,因为没有中间层将交易数据转发到基础层。
四、模块化结算层
何玺:高层对区块链有过深入研究:就《人民日报》第17版财经周刊刊登了整版3篇关区块链的专题报道,围观者众。资深媒体评论人,酷科技创始人何玺巴比特专栏发文称,由此可见高层已经对区块链技术有过深入的研究,并达成了“共识”,即把区块链技术定为了“兵家必争之地”、是“战略机遇”、更是“国家战略”。[2018/2/27]
由于模块化区块链仅处理一部分功能,因此可以进行更多的解耦,比如解耦出结算层,可以通过模块化区块链进行结算层的优化和专业化。
模块化堆栈中的结算层可以专注于结算,同时将其余组件外包给其他模块化区块链。通过引入欺诈或有效性证明,结算层可以增强轻客户端的安全性,允许他们验证有效或无效块。
结算层为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可以很快地部署到没有兼容限制的数据可用性层。
主权区块链:通过社会共识对自身及其应用进行独立控制的区块链。主权链有能力应对黑客攻击并推动升级。附录
现有模块化区块链的产品
责任编辑:Kate
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。