区块链网站|NFTS Chainlink(Link) 阅读区块链执行层、存储层和共识层的扩展计划

阅读区块链执行层、存储层和共识层的扩展计划

广告位

一文读懂区块链执行层、存储层和共识层的扩容方案

声明:本文旨在传递更多市场信息,不构成任何投资建议。文章仅代表作者观点,不代表MarsBit官方立场。

边肖:记得要集中注意力。

来源:Chainlink

信任最小化是一个有价值的安全属性,而区块链技术在实现这一属性上有着独特的优势。区块链基于计算机代码、密码学和去中心化共识来保证安全,取代了握手、品牌信誉、纸质合同等传统协议机制。它的安全性也为加密事实奠定了基础。

加密事实可以最小化对应用程序和记录的后端计算的信任。

目前,区块链已经为各种创新应用场景最小化信任,包括货币政策(如比特币)和数字资产交易(如DEX)。但是,区块链在很多应用场景下一直难以满足速度和成本的需求,在这两个维度上无法与传统计算系统相提并论。区块链在可扩展性上的限制也让用户不得不支付高额的交易费用,这让开发者怀疑区块链是否真的能支撑高价值的应用场景,实现实时的数据处理。

区块链的最终目标是覆盖所有用户和应用场景。因此,可扩展性是其R&D的重点,也是推动智能合约成为金融、供应链、游戏等传统行业后端基础设施的关键要素。下面总结了区块链的可扩展性,重点介绍了区块链与传统计算系统的区别,并列举了区块链不同扩展方案在执行层、存储层和共识层的优缺点。

注意:本文没有详细列出所有的区块链扩展方案。由于区块链的研发是尖端的,所有解决方案仍处于研发、测试、部署和更新阶段。

区块链与传统计算的对比分析在讨论如何扩展区块链之前,我们必须先了解区块链计算与传统计算的根本区别。总的来说,区块链有以下核心价值观:

高确定性计算3354严格按照预定义的代码逻辑来执行,并且具有非常高的确定性。并且可信的中立——区块链没有集中的管理员或特殊的网络权限,这意味着任何人都可以提交交易,而不用担心被操纵或被区别对待。用户验证——世界上任何人都可以审计区块链图书的历史和现状以及客户端软件的底层代码。更具体地说,区块链系统的任务是管理内部分类账,它可以记录资产所有权、合同状态或原始数据。大多数区块链网络由“块生产者”和“所有节点”管理。这两类参与者的功能不同,但有时会相互重叠。

块生产者将收集用户提交的未确认的交易,检查交易的有效性,并将交易放置在我们称为“块”的数据结构中。区块生产商通常在工作量证明(PoW)区块链中被称为“矿工”,在权益证明(PoS)区块链中被称为“验证节点”。PoW和PoS都是抗witch攻击机制,可以始终保持区块链总账的健壮性,防止总账被操纵。

在块生产者提交块之后,块将被所有节点接受或拒绝。整个节点将独立存储区块链总账的完整副本,并不断验证新的块,但整个节点不需要参与块的制作过程。大多数完整节点由块生产者运行,但关键经济实体和终端用户,如交易所、RPC协议提供商和稳定币发行者也可以运行完整节点。所有节点都有拒绝无效块的权利,因此可以监督块生产者的行为,即使大部分块生产者是恶意的,也可以保证网络安全。在这种机制下,如果网络中有一定数量的诚实节点,创建无效块将成为一件吃力不讨好的事情。

用户通过所有节点向区块链提交事务,而挖掘器和验证节点向所有节点提供块并得到验证。

此外,将整个节点与块生产者分离还可以防止挖掘者或验证节点任意改变协议规则来操纵块。这是一种权力制衡机制。大宗商品生产商只有对交易进行分类的权力,但他们不能决定区块链的规则。规则由全节点社区管理。理论上,任何人都可以轻松加入全节点社区。要了解更多关于区块链底层架构的信息,请拨打《一文读懂加密事实:信任最小化的计算和记录》。

降低硬件要求对于降低所有节点的操作门槛至关重要,这一直是保持区块链去中心化水平和最小化信任的关键。但是,分散化通常会导致非常慢的区块链速度,因为网络的运行速度取决于最慢的节点。这个问题也被称为“不可能的区块链三位一体”或“可扩展性问题”,即传统区块链只能在可扩展性、去中心化和安全性三个维度中的两个维度上进行改进。

不可能的区块链三位一体意味着区块链不得不在可扩展性、安全性和去中心化三个维度上做出取舍。

传统的区块链模型存在一个瓶颈,即要实现可扩展性,必须牺牲去中心化水平或安全性,或者在两个维度上都做出一些牺牲。例如,可扩展且分散的网络必须向大量活跃参与者提供经济激励以确保安全性。然而,具有可扩展性和安全性的网络通常不得不增加节点的运行成本,从而牺牲去中心化水平。此外,分散且安全的网络通常需要维持较低的节点要求和较高的攻击成本,但最终会遇到可扩展性瓶颈。

与区块链不同,传统计算环境不需要担心去中心化,因为它们的主要目的不是最大程度地最小化信任。因此,传统的计算网络通常由盈利企业集中管理。由于网络由单个实体管理,其计算结果不需要终端用户独立验证,因此可以实现低成本、高运行速度。

为此,传统计算环境的信任模型是基于品牌背书和法律契约的。相比之下,区块链的信任模型是基于密码学和博弈论。参与者可以独立验证并直接参与网络。传统的计算环境与区块链网络不兼容,因为它会受到外部因素的影响,并且存在单点故障和控制风险,用户无法对过程进行审计。

这些问题对区块链的扩展提出了一个根本性的挑战:区块链如何在速度和成本上赶上传统计算环境,同时在信任最小化和去中心化方面保持原有的强大能力?

区块链扩张的三个关键特征区块链扩张大致可以分为三类,即:执行层、存储层和共识层扩张。下面,详细定义了每个类别,并讨论了其旨在解决的核心问题。实际上,每一层的扩容都会在另一层或者两层同时实现。

区块链执行层区块链执行层是指执行交易和状态变化的计算层。交易执行包括检查交易的有效性(例如,验证签名和信用余额)、执行链逻辑和计算状态变化。状态的改变是指所有节点更新账簿的副本以反映新卡转移、更新智能合同代码和数据存储。

区块链执行层扩展通常指的是每秒的交易量(TPS),但在更宏观的层面上,指的是每秒的计算量,因为每笔交易的复杂度和成本都不一样。网络中处理的事务越多,任何时候需要执行的计算就越多。

在扩展执行层时,主要问题是如何每秒处理更多的计算,同时不需要大幅增加全节点认证区块链事务的硬件要求。

区块链存储层区块链存储层是指所有节点维护和存储账簿副本的存储层。区块链的存储功能通常分为两类:

历史数据——包括所有原始事务和块数据。交易数据包括始发地和目的地的地址、发送的金额以及每笔交易的签名。数据包括事务列表和某个块的元数据,如根哈希值、nonce和前一个块的哈希值。历史通常不需要快速访问,只需要至少一个诚实节点下载即可。全局状态——是所有数据的快照,可以由智能合约读取和写入,例如所有智能合约的帐户余额和变量。全球地位可视为区块链的数据库,输入的交易需要核实。状态通常存储在树形数据结构中(如默克尔树),所有节点都可以方便快捷地访问和更改。所有节点都需要访问历史数据以首次与区块链同步,还需要访问全局状态以验证新块并执行新的状态更改。随着书籍和相关存储数据量的增加,状态计算会更慢、更昂贵,因为节点需要花费更多的时间和执行更多的计算来读写状态。如果一个节点的内存满了,就需要使用磁盘存储空间,这样会进一步拖慢计算速度,因为节点在执行过程中需要在不同的存储环境中来回切换。

随着区块链对存储需求的增加,这通常会导致州政府机构膨胀。如果状态扩大,所有节点往往要升级硬件,否则很难跟上当前版本的账簿,用户也很难同步新的所有节点。一些因素可能会导致区块链的状态扩展,例如账簿中的历史数据量、添加新块的频率、每个块的最大空间以及为了验证事务和执行状态更改而必须存储在链中的数据量。

在扩展存储层时,主要问题是如何使区块链既能处理和验证更多的数据,又不用增加所有节点的存储需求。也就是说,在不颠覆区块链信任假设的情况下,数据可以长期存储在哪里?

区块链共识层区块链共识层是指去中心化网络中的节点就区块链的当前状态达成一致的地方。达成共识的关键是保证大多数节点诚实,最终达到最终的结局,即准确处理交易,最大程度保证交易不会被撤回。区块链共识层的设计原则通常是最小化通信成本,从而提高去中心化水平的上限,实现更强的拜占庭容错机制,缩短最终时间。

在扩展共识层时,主要问题是如何提高最终速度,降低成本,进一步最小化信任。这一切的前提是保证可预测性、稳定性和准确性。

执行层扩展以下是目前区块链执行层的五种扩展方案,以及每种方案的优缺点。在实践中,会结合一些方案来提高实施效果。

为了验证节点的硬件要求,实现纵向扩展,可以通过提高区块链生产商的硬件要求来扩展区块链执行层。更高的硬件要求意味着每个验证节点每秒可以执行更多的计算。

优点:建立一个去中心化的网络,所有节点都有强大的计算能力。通过这种方式,区块链可以扩展块空间,加快块生成,降低交易成本,同时仍然维护区块链和智能合约的核心优势,即信任最小化水平优于传统计算环境。这种区块链特别适合高频交易、游戏等对延迟敏感的应用场景。

缺点:认证节点的纵向扩展会限制网络的去中心化水平,因为运行认证节点或所有节点的成本变得更高。节点的成本通常会随着时间越来越高,这也让大多数用户望而却步。保持分散化水平将取决于摩尔定律,即芯片上的晶体管数量每两年增加一倍,计算成本减半。所有节点成本的增加也会导致直接验证链中最终用户成本的增加,从而削弱信任,使信任最小化。

打造多链生态,实现横向扩张。除了纵向扩张,还可以利用多个独立的区块链或者某个区块链生态的侧链进行横向扩张。横向扩展可以将一个生态中的交易计算分散到多个独立的区块链,每个公司都有自己的块生产者和执行能力。

优点:多链生态可以全面定制每个链的执行层,如节点硬件要求、隐私功能、燃气费用、虚拟机、许可证设置等。正因如此,多链生态有时会产生一个dApp专属的区块链,某个区块链会专门扶持某个dApp或者某个小群体的dApp。拥有自主主权的区块链还可以隔离安全风险,即一条链的安全不一定会波及到生态中的其他链。

缺点:多链生态要求每个区块链通过持续发放通货膨胀相关的原生通行证来建立自己的安全机制。虽然这种模式对于早期的区块链来说很正常,但也很难过渡到更可持续的通过用户付费在链条上盈利的经济模式,因为用户付费往往分散在不同的区块链,很难实现规模效应。而且因为交互的dApp和pass不一定在同一个链上,所以也存在兼容性问题。

拆分执行层,实现横向扩展。另一个类似的扩展方案是将一个区块链分成许多块,并行执行它们。每个片实际上是一个区块链,这意味着许多区块链可以并行执行。此外,将有一个主链,其唯一的任务是保持所有片段同步。

当执行分片时,验证者池也将被分配给每个分片来执行事务。节点会定期随机轮换,因此同一个片上的事务不会总是被执行/验证。此外,碎片的数量将被配置为确保任何碎片被攻击的概率接近于零。

优点:执行层的所有碎片都会从同一个节点池中提取节点,所以不需要在新的碎片上建立安全机制。如果节点池足够大,每个执行环境都可以达到相同的安全级别。执行层分片时不需要提高节点的硬件要求,因为节点每次只需要在一个分片上执行计算任务。片段可以运行在同一个虚拟机上,也可以使用不同的配置参数来满足特殊用例的需求。

缺点:因为所有节点必须能够支持每个切片上的计算,所以切片的灵活性受到限制。此外,由于主链上的计算需求会越来越大,分配给每个段的节点数可能不够,所以区块链可以支持的段数也有上限。另外,由于采用了共享的安全模式,所有的分片都可能存在相同的安全漏洞,所以在负载均衡和实现风险上会存在一些问题。

在多链生态中,不同的区块链一般不会共享同一个安全机制,但是不同的分片会共享同一个节点池,所以也会共享同一个安全机制。

通过模块化实现水平扩展的另一种水平扩展方案是模块化区块链。该方案将区块链的基础架构分为执行层、数据可用性层和共识层。最主流的区块链模块化机构是rollup。该机制将计算和状态传输到离线网络,并将事务数据存储在链中。然后,零知识证明(zk-rollup)或欺诈证明(optimal rollup)将用于验证链下计算的状态变化结果。

优点:模块化区块链将事务执行和状态转移到成本更低、更精简、吞吐量更高的计算环境中,同时保留了底层区块链的安全属性。这是因为当在执行层链下验证计算时,共识层仍然基于原始的分散底层区块链(即L1)。也就是说,因为整个节点不需要执行每个事务,所以底层区块链的计算带宽可以被更有效地利用。所有节点都需要验证简明证明,并存储少量交易数据。

Rollup还可以设置一个熔断机制来最小化信任。如果汇总网络无法正常工作,用户可以提取自己的加密资产,并提交给底层区块链。许多模块化网络也可以分担用户成本。在基础区块链上验证zk-rollup的证据需要固定成本。随着使用量的增加,这个成本可以被更多的用户分摊,所以每个用户的共识成本也会相应降低。此外,rollup还有1/n信任模式,即即使只有一个诚实节点,也能保证计算的准确性和健壮性。

缺点:大部分模块化方案会以底层区块链作为安全保障,但底层区块链的块空间通常有限,成本较高,所以这种方案可能比侧链或单个区块链速度慢或成本高。目前的模块化方案通常存在升级风险,需要外部rollup的治理干预,因此无法篡改。最后,运行汇总或其他模块化区块链比运行单独的区块链更具创新性和复杂性。

提出将以太坊进行模块化扩展,分为执行层、数据可用性层和共识层(数据源)。

支付状态通道支付状态通道可以实现区块链扩展。用户加密货币被锁定在一个多签名的智能合约中,然后在链下交换签名的消息,消息代表资产所有权转移或状态变化的信息。全程不需要发起任何连锁交易。用户只需要在创建渠道和关闭渠道时发起连锁交易。

用户可以通过签订多份合同,对每笔交易进行加密签名,从而保证在渠道中正确结算。每个签名都会有一个nonce,智能合约可以通过nonce验证交易顺序是否正确。

优点:支付和状态通道可以实现实时、零成本的加密货币转账,几乎没有延迟。支付通道可以实现小额支付,但这一功能在底层区块链中通常是不可能实现的。此外,支付通道还可以在通道内锁定加密货币,如果双方合作顺利,可以在链内快速结算。

缺点:状态/支付通道要求每个参与者保持在线,以确保交易对手不会使用旧消息来结算链上的帐户。也就是说,瞭望塔要持续监控渠道,保护用户的资金安全。支付渠道也需要提前充值,所以大额支付会比较麻烦,资金效率会很低。

此外,难以在渠道间高效调度支付任务,可能导致转账失败,或者为了保证用户能够获得足够的流动性或高效的路线,而创建更集中的模式。总之,地位/支付通道在一群已知的静态参与者中效果最好,但在一群无限的动态参与者中就不行了。另一个问题是所有权。渠道通常很难或无法代表没有明确所有者的项目(例如,DEX的流动性池)。

扩展数据存储层以下是目前扩展区块链存储层的六种方案。在实践中,一些方案将被组合以提高存储容量。

垂直扩展区块链节点与垂直扩展区块链执行层相同,垂直扩展区块链存储层也需要升级所有节点的硬件。

优点:区块链提高了所有节点的存储上限,可以大大降低存储成本。所有节点都可以存储更多的历史数据和状态。数据直接存储在所有节点中,因此访问链中的数据更加方便,不需要依赖额外的存储层或外部存储系统。

缺点:随着时间的推移,链中存储的数据会越来越多。因此,整个节点的运行成本不断上升,这将威胁到区块链的分权水平。一旦去中心化程度降低,用户将获得更低的信任最小化保证,无法完全保证数据的可用性和准确性。状态的扩展还会导致块执行速度降低,给网络带来更大的压力。

用于底部区块链上的数据分段的另一个区块链数据存储扩展方案是数据分段。数据碎片化将账簿数据或用于重建账簿的数据分割成不同的碎片,降低了对各个节点的存储要求。

优点:数据分片可以提高区块链的存储容量,降低存储成本,并且不需要增加节点的硬件要求。该方案可以降低用户运行节点的门槛,因此可以保持去中心化的水平。数据碎片还可以提高rollup的存储容量,rollup将在底层区块链上存储事务数据,以重建汇总状态。此外,Darksharding和其他方案还可以建立一个组合的费用市场,以更好地平衡数据负载和输入数据。

缺点:由于碎片越多,主链承受的压力越大,所以区块链所能携带的碎片数量是有上限的。另外,需要实现数据可用性抽样(DAS)来验证用于重建部分账簿的历史数据在出块时的可用性,节点不需要自己下载所有数据。此外,数据碎片化也会造成通信开销,节点轮换到其他碎片时,需要互相交换存储数据。此外,还需要大量的节点来维持高安全性,也就是说每个段都要保持一定的去中心化程度,所以整个节点池的规模非常大。

使用模块化区块链压缩链上的数据存储。模块化区块链在链下执行计算任务,然后存储链上或链下的事务数据和状态变化。其他节点或用户可以使用这些数据来重建账簿的当前或历史状态。Rollup在将数据存储到链上之前,先压缩链下的数据。

优点:在链上存储压缩数据是模块化区块链最安全的数据存储方案,因为网络中的所有节点都会存储数据。此外,这还可以降低底层区块链上的数据存储成本。rollup实现数据碎片化后,可以更高效、更低成本地将事务数据存储在链中,并随着使用量的增加更好地扩展其容量。

缺点:链上存储的成本远高于链下存储,这可能使模块化区块链在可扩展性方面不如更集中的存储方案。压缩数据也可能会丢失一些对验证不关键的数据,因此用户可能无法根据剩余的数据对链活动进行更详细的分析。

模块化区块链的链下数据存储模块化区块链可以在链下存储交易数据,以进一步降低对链上存储的要求。比如“validiums”在链上发布零知识证明,在链下存储数据。目前,模块化区块链主要采用四种离线数据存储方案:

集中存储——将数据存储在链下的集中平台上。这种方案的数据存储成本最低,但也可能导致数据缺乏透明性或安全性。比如集中存储平台可能会修改数据或者直接下线。获得许可的DAC——在链下存储数据,证明链上数据的准确性,并由一小组可信节点组成的委员会签名,该委员会称为“数据可用性委员会”(DAC)。该方案的优缺点类似于集中式存储方案,但在数据可用性方面的信任假设更好。无授权DAC——在链下存储数据,利用无授权DAC在链上提供证明,采用加密经济激励机制鼓励诚实行为。免授权DAC的成本低于链上存储方案,安全性高于其他链下存储方案。其缺点是安全性仍不如链式存储方案,尚未实现大规模应用和可持续的经济模式。用户可以选择在链上或链下存储交易数据。Volition之所以具有创新性,是因为它提供了事务级的数据可用性方案,同时所有事务共享相同的状态根,分担一致成本。但是,这个方案比上面提到的其他方案更复杂,并且它还没有被实现。

数据剪枝数据剪枝技术可以允许区块链的所有节点删除一定块高之前的历史数据。数据修剪通常与PoS检查点同时使用,超过某个检查点的块中的事务将被视为最终事务。这意味着,除非达成重大社会共识,或者出现硬分歧,否则这些交易是不能撤回的。

优点:数据修剪将减少节点在参与共识时需要存储或引用的数据量。由于史料已经考证,可以对其进行剪裁,以减少书籍的篇幅。如果操作整个节点只是为了验证未来块而不是跟踪历史块,则不需要存储历史数据。

缺点:数据剪枝需要依靠交易平台或区块浏览器等第三方永久存储历史数据,以便追溯到创建区块。但是,由于这是1/n信任模型,所以只需要第三方诚实地存储数据来帮助整个节点重建所有的历史状态。因为PoS提供了检查点和弱主观性,所以这个假设意义不大。然而,这些数据仍然是有价值的链上分析和阻止浏览器。

无状态、无状态、无状态、有状态租用其他方案侧重于限制存储在所有节点中的状态数量,特别是通过设置有状态过期、无状态或有状态租用。

过期状态——节点可以剪除超过一段时间未被访问的状态,并且可以在必要时使用某种Merke证明(也称为“见证”)来恢复过期状态。无状态——所有节点都不需要存储状态。所有节点都需要通过见证来验证新块。无状态意味着只有发布块的节点需要存储全局状态,而所有其他节点都可以验证块而不存储状态。租金——用户需要支付租金才能获得有限的状态存储空间。未支付租金的状态将被收回并出租给新用户。优点:这些方案对状态存储的要求设置了限制,最终有助于限制节点的状态存储量。这样可以缓解状态膨胀,有效应对账本不断膨胀或者链条上交易数量不断增加的情况。受限状态存储可以长期很好地实现最终用户身份验证,同时保持较低的硬件要求。

缺点:限制状态存储是创新的。用户不需要支付任何费用,因此网络中的每个节点都可以永久存储自己的状态信息,这与当前的区块链运行模式有很大不同。此外,区块链要从传统的国有存储模式升级到更具限制性的国有存储模式并不容易。有些状态可能无法随时访问,因此可能会影响开发阶段某些应用程序的具体假设。新的状态存储模式也可能增加一些应用程序的成本。

在共识层下面是扩展区块链共识层的四个关键目标,涉及出块速度、最终速度和抵抗节点离线或恶意攻击的鲁棒性。这里需要注意的是,扩展共识层不仅是为了提高速度,也是为了提高准确性、稳定性和安全性。

升级执行和存储能力的区块链共识机制的一个基本要素是升级计算和存储能力,同时基本上维持所有节点的硬件要求。这样做可以让更多的节点参与到账本扩展过程中的共识,或者至少防止现有节点脱网,可以有效地在运行时间、抗操纵能力、准确性和安全性上达成更好的共识。如果能够在对整个节点没有太大影响的情况下,大幅提升执行和存储能力,那么区块链甚至可以稳定地实现更高的分块速度和更大的分块空间,而不牺牲内核的去中心化特性。

减少网络带宽的使用扩展区块链共识机制的另一种方法是减少网络带宽的使用,即减少所有节点达成共识所需的通信成本(也是发送和接收消息的成本)。为了达成共识,节点不需要与所有其他节点通信(即全对全投票),而只需要在任何时候与少量节点通信(即重复采样投票)。有些共识机制不采用多轮投票或沟通机制,只需要在区块铺开时沟通即可,但这往往会导致最终结局不确定。

降低网络延迟有些方案侧重于降低共识期的网络延迟,尤其是加快最后阶段的速度。一些区块链共识机制通过多轮重复抽样或全体对全体投票来实现即时终结。其他区块链有检查站,核查人员在一段时间后达成共识,以确保安全。这意味着块在通过检查点后被认为是最终的,然后块重组不能再在协议内进行。在网络延迟和网络带宽之间必须有一个权衡,但是也有一些混合方案同时优化这两者。

提高安全预算还可以通过提高安全预算扩大信任度最小的共识层,为参与共识的节点提供激励。常见的方式是由于区块空间不足,提供流动性、发放通行证奖励或增加交易手续费收入。增加安全预算会给参与者带来更多的潜在收入,这也会提高网络的去中心化水平,因为经济会鼓励更多的节点加入网络。区块链还可以要求节点抵押更多的许可证或提供更多的计算能力来参与共识机制。但是,如果阈值设置得太高,可能会降低网络的去中心化水平。

可扩展性和安全性跨链的未来发展前景。区块链扩展目前正处于发展的关键阶段,一系列丰富的解决方案正在开发、测试和发布。目前区块链的发展重点是在信任最小化的前提下实现容量扩展,势必成为各行业、各应用场景首选的后端基础设施。

为了支持不断增长的多链生态系统,Chainlink正在积极开发跨链互操作协议(CCIP ),以帮助用户使用自定义逻辑在各种区块链之间安全地传输数据和传递卡。CCIP专注于安全,并创建了反欺诈网络来实现跨链智能合同和安全桥,同时保持区块链的原始信任假设。想了解更多关于CCIP的信息,请拨打《CCIP解锁跨链智能合约创新》。

CCIP的基础设施

了解更多Chainlink咨询,请访问Chainlink官网,关注Chainlink官方推特,获取Chainlink最新消息和公告。

广告位
本文来自网络,不代表区块链网站|NFTS立场,转载请注明出处:https://www.qklwz.com/jzb/link/15319.html
上一篇
下一篇

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

返回顶部