本文是基于Celestia官方教程做的笔记整理和注释。一、单链
单链包含四个组件
执行层:确保所执行的交易进行正确的状态更新。执行层必须确保被执行的交易是有效的,即交易的结果是有效的状态机转换。结算层:确保有一个使得执行层能够验证证明、解决欺诈纠纷的环境,并作为执行层之间的桥梁。共识层:确保交易的顺序达成一致。数据可用性层:确保交易数据的可用性。单片区块链在单个层上同时完成上述的所有事情。
单链的限制
低效的交易验证:节点必须重新执行交易以检查有效性。资源约束:区块链受单个节点的资源容量约束。可扩展性:为了提高吞吐量,必须在一定程度上牺牲安全性或去中心化。
单链和模块化区块链的对比
二、模块化区块链基础知识
(1)模块化区块链是什么
指将「执行层、结算层、共识层、数据可用性层」四个组件中至少一个组件完全外包给外部链的区块链。
由于在单片链上为数百万或数十亿用户提供服务过于复杂且解决能力有限,人们提出了分片和Layer2解决方案,后来逐渐演变成模块化区块链。模块化的实现最初方案是rollups,后来这个概念进一步扩大成模块化区块链。
模块化区块链能够最大限度地降低运行节点的成本。
通州区政府工作报告:试点和深入实施元宇宙创新发展三年行动计划:金色财经报道,2023年北京市通州区政府工作报告提出,继续保持千亿以上投资规模,不断优化投资结构,推动投资向高精尖产业、民生等领域倾斜,有效带动社会投资。具体到产业方面,北京通州区将重点打造“四区三镇三园”十大重点产业功能区。2023年将进一步丰富金融业态,建设“基金财富港”,加快打造全球财富管理中心、全球绿色金融和可持续金融中心。另外,推动金融业数字化创新与试点和深入实施元宇宙创新发展三年行动计划。[2023/6/25 21:58:10]
(2)模块化区块链的第一原则
去中心化:模块化区块链通过降低用户操作节点和验证网络的成本来优先考虑网络安全。安全:在存在恶意验证者的情况下,去中心化的用户网络最终负责维护区块链的安全性。可扩展:扩展使模块化区块链能够增加容量,而不会增加用户验证和保护网络的成本。如果区块链可以增加它处理的交易数量,而不会增加节点验证交易的成本,那么它就是可扩展的。模块化区块链堆栈中使用的欺诈证明、有效性证明和数据可用性采样等技术使节点能够比完整节点更有效地验证交易,同时保持同等的安全性。
可扩展性公式定义
(3)模块化区块链的优势
具有主权:尽管使用了其他层,但新的模块化区块链可以像Layer1一样具有主权。这允许区块链在未经任何底层许可的情况下响应黑客攻击并推送升级。主权:在代币、协议的功能和升级、网络和协议的治理、生态系统的建设和基础设施具有更高的主动权方便推出新的区块链:由于模块化区块链不需要处理所有功能,新区块链可以简单地将现有的模块化区块链用于他们希望卸载的组件。像Optimint这样的Rollups“SDK”与CosmosSDK相结合将有助于促进新区块链的创建,而无需引导安全验证器集提高可扩展性:通过模块化可以在不牺牲安全性或去中心化的情况下实现扩展。(4)关于Celestia
央行上海总部:深入推进金融科技创新监管试点:5月12日,央行上海总部发布通知称,下一步将加强对金融科技应用创新试点工程的组织领导,并会同上海市地方金融监管局等单位,深入推进金融科技创新监管试点,提升金融科技支撑能力。中国人民银行于2020年4月26日支持在上海等6市(区)扩大金融科技创新监管试点,这标志着金融科技创新监管工作正式在上海启动,也为加快推进上海金融科技中心建设再添助力。
近年来,人民银行上海总部把大力发展金融科技作为推动上海国际金融中心和科技创新中心联动发展的重要着力点,积极探索设计上海金融科技中心的建设与发展路径,发布了《关于促进金融科技发展 支持上海建设金融科技中心的指导意见》(银总部发〔2019〕67号)。
央行上海总部明确,下一步将以《发展规划》为指引,加强对金融科技应用创新试点工程的组织领导,并会同上海市地方金融监管局等单位,深入推进金融科技创新监管试点,加大试点项目横向交流和成果共享,深化金融市场科技应用,提升金融科技支撑能力,为把上海建设成为与国际金融中心地位相适应的金融科技中心提供有力支撑。(中新经纬APP)[2020/5/12]
Celestia与之前的区块链设计不同,后者将执行作为核心功能,但Celestia设计者认为执行是新链的工作,而Celestia专注于基础层,这样可以从基础层缓解单片链的最大瓶颈:吞吐量和状态膨胀。
Rollups和Celestia的区别在于Rollups专注于执行,Celestia专注于共识和数据可用性。
数据可用性层对吞吐量的重要性:吞吐量分为数据吞吐量和交易吞吐量,数据吞吐量与数据可用性层密切相关,因为它们的主要工作是为数据提供高容量。状态膨胀:指支付一次GAS费会让你的数据在以太坊区块链上永久保存,从而导致一个无限的、不断增长的状态,其中甚至有很多无用数据。
声音 | 国家金融与发展实验室理事长:数字货币尤其是Libra 需要深入研究:据新浪财经消息,近日,国家金融与发展实验室理事长李扬在第八届中国国际金融交易?博览会中对脸书计划推出的数字货币(Libra)发表看法:数字货币标志着金融进入新时代,这是最新科技对传统中央银行、传统金融调控体系、传统货币体系的挑战,要理解数字货币尤其是Libra,需要深入研究,特别是从货币经济学的基础来研究。[2019/6/25]
三、模块化区块链的三种架构
(1)Layer1&Layer2
最初构建朴素的模块化堆栈是为了向Layer1提供可扩展性。在这个堆栈中,Layer1提供所有关键功能,包括执行,而Layer2只专注于执行。Layer1允许Layer2发布区块,同时充当连接Layer2的枢纽。
在大多数情况下,Layer2的容量也取决于Layer1的容量。因此,Layer1和Layer2堆栈的这种实现对于可扩展性来说不是最理想的。
(2)执行、结算和数据可用性
优化模块化区块链堆栈可以提供的更多好处,通过模块化区块链将各个功能解耦:
动态 | 人民日报:深入实施国家大数据战略 应突破区块链等十大技术瓶颈:9月14日讯,人民日报发文表示,深入实施国家大数据战略,应集中力量协同攻关,突破大数据的十大技术瓶颈,包括数据供给层面的区块链技术、数据交换技术,数据处理层面的大数据存储管理技术、分布式计算技术、编程语言技术,数据分析层面的大数据基础算法、机器学习、数据智能技术,大数据应用层面的大数据可视化、真伪判定技术。[2018/9/14]
执行层应用程序所在的环境和执行状态更改的环境,位于模块化堆栈的顶部,其作用与Layer2相同。结算层执行层的可选中心,用于验证证明、解决欺诈纠纷。用于在执行层和结算层之间建立信任最小化桥梁,并提供了一种执行层之间相互连接的方式。执行层可以选择将其完整的区块发布到结算层,之后结算层将构建自己的区块,包括来自执行层的交易,并将交易数据发布到共识和数据可用性层。这只是结算层在模块化堆栈中发挥作用的多种方式之一。因为没有执行功能,所以结算层只发布交易数据,而不是整个区块的内容。信任最小化桥梁:两个区块链之间的桥梁不需要中间人、委员会或诚实的多数假设来确保资金不会被盗。例子是以太坊和建立在其之上的Rollups之间的桥梁。共识和数据可用性层共识就交易顺序达成一致,数据可用性验证交易数据是否可供下载。在多数情况下这两层之间互相协作,例如专门研究数据可用性的模块化区块链需要达成共识才能对数据进行排序,否则无法确定数据的历史记录。
何玺:高层对区块链有过深入研究:就《人民日报》第17版财经周刊刊登了整版3篇关区块链的专题报道,围观者众。资深媒体评论人,酷科技创始人何玺巴比特专栏发文称,由此可见高层已经对区块链技术有过深入的研究,并达成了“共识”,即把区块链技术定为了“兵家必争之地”、是“战略机遇”、更是“国家战略”。[2018/2/27]
(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可以很快地部署到没有兼容限制的数据可用性层。
主权区块链:通过社会共识对自身及其应用进行独立控制的区块链。主权链有能力应对黑客攻击并推动升级。附录
现有模块化区块链的产品
责任编辑:Kate
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。