主页 > imtoken官网地址打不开 > 一文看懂区块链执行层、存储层、共识层的扩展方案

一文看懂区块链执行层、存储层、共识层的扩展方案

imtoken官网地址打不开 2023-11-07 05:07:20

信任最小化是一种有价值的安全属性,而区块链技术具有独特的定位来实现它。 区块链基于计算机代码、密码学和去中心化共识来提供安全性并取代传统的协议机制,例如握手、品牌声誉和纸质合同。 它的安全保证也为加密真相奠定了基础。

加密的事实支持对应用程序和记录的后端计算进行信任最小化。

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

区块链的最终目标是覆盖所有用户和应用场景,因此可扩展性是其研发的重点,也是推动智能合约成为金融、供应链和游戏。 下面概述了区块链的可扩展性问题比特币扩容方式,着重阐述了区块链与传统计算系统的区别,列举了区块链执行层、存储层、共识层不同扩展方案的优缺点。

注:本文并未详尽列出所有区块链扩容方案。 由于区块链的前沿研发工作,各个解决方案还处于研发、测试、部署和更新阶段。

区块链与传统计算的对比分析

在讨论如何扩展区块链之前,有必要了解区块链计算与传统计算之间的根本区别。 总体而言,区块链具有以下核心价值:

更具体地说,区块链的任务是管理一个可以记录资产所有权、合同状态或原始数据的内部账本。 大多数区块链网络由“区块生产者”和“全节点”管理。 这两类参与者各自执行不同但有时重叠的功能。

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

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

比特币扩容_比特币扩容方式_比特币扩容相关新闻

用户通过全节点向区块链提交交易,矿工和验证节点向全节点提供区块并进行验证。

此外,将全节点与区块生产者分离,也可以防止矿工或验证节点随意更改协议规则,操纵区块。 这是一种权力制衡机制,区块生产者只有权力命令交易,但不能决定区块链的规则。 规则由全节点社区管理。 理论上,任何人都可以轻松加入全节点社区。 要了解有关区块链底层架构的更多信息,请查看加密事实:最小化信任计算和记录。

降低硬件要求对于降低全节点运行门槛至关重要,这一直是保持区块链去中心化水平的关键,也是实现信任最小化的关键。 然而,去中心化也常常导致区块链非常慢,因为网络的速度仅与其中最慢的节点一样快。 这个问题也被称为“区块链不可能三角”,或“可扩展性困难”,即传统区块链只能解决可扩展性、去中心化和安全性三个维度中的两个问题。 一个维度的提升。

比特币扩容方式_比特币扩容相关新闻_比特币扩容

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

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

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

比特币扩容方式_比特币扩容相关新闻_比特币扩容

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

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

区块链扩展的三个关键特征

区块链扩容大致可以分为三类,即:执行层、存储层、共识层扩容。 下面详细定义了每个类别,并讨论了它旨在解决的核心问题。 事实上,每一层的缩放同时在另一层或两层进行缩放。

区块链执行层

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

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

在扩展执行层时,主要问题是如何在不大幅增加全节点验证区块链交易的硬件要求的情况下,每秒处理更多的计算。

区块链存储层

区块链存储层是指全节点维护和存储账本副本的存储层。 区块链的存储功能一般分为两类:

全节点需要访问历史数据以首先与区块链同步,以及全局状态以验证新块并执行新状态更改。 随着分类帐和相关存储数据量的增长,状态计算变得更慢且成本更高,因为节点花费更多时间并执行更多计算来读取和写入状态。 如果节点的内存已满,则需要使用磁盘存储空间,这进一步减慢了计算速度,因为节点在执行过程中需要在不同的存储环境之间来回切换。

随着区块链的存储要求越来越高,通常会导致状态膨胀。 如果出现状态膨胀,全节点往往要升级硬件,否则很难与当前版本的账本保持同步,用户也很难同步新的全节点。 许多因素会导致区块链中的状态膨胀,例如分类账上的历史数据量、添加新块的频率、每个块的最大大小以及必须存储在链上的数据量为了验证交易并强制执行状态更改。

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

区块链共识层

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

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

执行层扩展

比特币扩容相关新闻_比特币扩容方式_比特币扩容

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

提高验证节点硬件要求,实现垂直扩展

可以通过提高区块生产者的硬件要求来扩展区块链执行层。 更高的硬件要求意味着每个验证器每秒可以执行更多的计算。

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

缺点:验证者节点的垂直扩展会限制网络的去中心化程度,因为运行验证者节点或全节点的成本变得更高。 节点的成本通常会随着时间的推移而增加,这对大多数用户来说也是望而却步的。 维持这种程度的分散化将取决于摩尔定律,该定律指出芯片上的晶体管数量每两年翻一番,而计算成本减半。 全节点成本的上升也将导致直接验证链上活动的最终用户的成本更高,从而最大限度地减少信任侵蚀。

打造多链生态,实现横向扩展

除了纵向扩展,还可以利用多个独立的区块链或区块链生态系统的侧链进行横向扩展。 横向扩展可以将一定生态内的交易计算量分散到多个独立的区块链上,每条链都有自己的区块生产者和执行能力。

优点:多链生态可以完全自定义每条链的执行层,如节点硬件要求、隐私功能、gas费用、虚拟机、许可设置等。 正因为如此,多链生态有时会产生dApp专用的区块链,某个区块链会专门支持某个dApp或一小群dApp。 具有自主权的区块链还可以隔离安全风险,即一条链的安全性不一定会扩散到生态系统中的其他链。

缺点:多链生态需要每条区块链通过不断发行通货膨胀的原生代币来建立自己的安全机制。 虽然这种模式对于早期的区块链来说是常态,但很难过渡到更可持续的通过链上用户收费赚钱的经济模式,因为用户收费往往分散在不同的区块链上,很难实现规模经济。 而且由于交互dApp和token不一定在同一条链上,所以也存在兼容性问题。

对执行层进行分片,实现横向扩展

另一种类似的扩展方案是将一条区块链分成许多块并并行执行。 每个分片实际上就是一条区块链,也就是说可以有很多条区块链并行执行。 此外,将有一条主链,其唯一任务是保持所有分片同步。

执行分片时,验证人池也会分配到各个分片上执行交易。 节点会定期随机轮换,因此不会始终执行/验证同一分片上的交易。 而且,分片的数量也会进行配置,以保证任何一个分片被攻击的概率接近于零。

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

缺点:分片的灵活性有限,因为所有节点都必须能够支持每个分片上的计算。 此外,由于对主链的计算要求会增加,分配给每个分片的节点数量可能不够,因此区块链可以支持的分片数量也有上限。 另外,由于共享的安全模型,所有分片可能存在相同的安全漏洞,因此在负载均衡和实施风险方面会存在一定的问题。

比特币扩容方式_比特币扩容_比特币扩容相关新闻

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

模块化横向扩展

比特币扩容_比特币扩容方式_比特币扩容相关新闻

另一个水平扩展解决方案是模块化区块链。 该方案将区块链基础设施分为执行层、数据可用性层(DA)和共识层。 最主流的区块链模块化机制是rollup。 该机制将计算和状态传输到链下网络,并将交易数据存储在链上。 然后使用零知识证明(zk-rollup)或乐观汇总在链上验证链下计算的状态变化结果。

优点:模块化区块链将交易执行和状态转移到成本更低、更精简和吞吐量更高的计算环境,同时保留底层区块链的安全属性。 这是因为共识层在验证执行层的链下计算时,仍然基于原来去中心化的底层区块链(即L1)。 换句话说,由于全节点不再需要执行每一笔交易,底层区块链的计算带宽可以得到更有效的利用。 全节点只需要验证简洁的证明和存储少量的交易数据。

Rollup 还可以设置熔断机制来最小化信任。 如果汇总网络无法正常运行,用户可以提取他们的加密资产并将其提交到底层区块链。 许多模块化网络还可以分摊用户成本。 在底层区块链上验证 zk-rollup 的证明是有固定成本的。 随着使用量的增加,这个成本可以在更多用户之间分担,因此每个用户的共识成本相应降低。 另外,rollup还有1/n的信任模型,即即使只有一个诚实节点,也能保证计算的准确性和稳健性。

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

比特币扩容相关新闻_比特币扩容方式_比特币扩容

有人提议通过模块化来扩展以太坊,将其分为执行、数据可用性和共识层(来源)。

支付和状态通道

支付和状态通道支持区块链扩展。 用户将加密货币锁定在一个多重签名的智能合约中,然后在链下交换签名消息,这些消息代表资产所有权转移或状态变化信息。 整个过程无需发起任何链上交易。 用户只需要在创建和关闭通道时发起链上交易。

用户可以通过多签合约对每笔交易进行密码签名,确保通道内的结算正确无误。 每个签名都会有一个随机数,智能合约可以使用随机数来验证交易顺序是否正确。

优势:支付和状态通道支持实时和零成本的加密货币传输,几乎没有延迟。 支付渠道可以实现小额支付,这在底层区块链中通常是不可能的。 此外,支付通道还可以锁定通道内的加密货币。 如果双方合作顺利,可以快速入驻链上。

缺点:有状态/支付通道需要每个参与者保持在线,以确保交易对手不会使用旧消息在链上结算。 换言之,watchtower 必须对通道进行持续监控,保护用户的资金安全。 支付通道也需要提前充值,大额支付会很麻烦,资金效率会很低。

此外,各个渠道之间难以高效调度支付任务,因此可能会导致转账失败,或者创建一个更中心化的模型,以确保用户能够获得充足的流动性或高效的路径。 总之,状态/支付通道最适合一组已知的静态参与者,但不适用于一组不受限制的动态参与者。 另一个问题是所有权。 如果没有明确的所有者(例如:DEX 流动资金池),渠道通常很难或不可能代表物品。

扩展数据存储层

以下是当今扩展区块链存储层的六个选项。 在实际操作中,会结合一些解决方案来更好地提高存储容量。

区块链节点垂直扩展

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

优点:区块链增加了全节点的存储上限,可以大大降低存储成本。 全节点可以存储更多的历史数据和状态。 数据直接存储在全节点上,不依赖额外的存储层或外部存储系统,访问链上数据会更方便。

比特币扩容_比特币扩容方式_比特币扩容相关新闻

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

底层区块链上的数据分片

另一种区块链数据存储扩展方案是数据分片。 数据分片将账本数据或用于重建账本的数据分成不同的分片,降低了每个节点的存储需求。

优点:数据分片可以在不增加节点硬件要求的情况下,提高区块链的存储容量,降低存储成本。 该方案可以降低用户运行节点的门槛,从而保持去中心化水平。 数据分片还可以提高 rollup 的存储能力。 Rollup 会将交易数据存储在底层区块链上,以重构 Rollup 状态。 此外,Darksharding 等方案还可以建立联合收费市场,更好地平衡数据负载和输入数据。

缺点:由于分片越多,对主链的压力越大,区块链可以承载的分片数量是有上限的。 此外,还需要实现数据可用性采样(DAS),验证出块时用于重构部分账本的历史数据的可用性,节点无需自行下载所有数据。 此外,数据分片也会产生通信成本。 当节点轮换到其他分片时,它们需要相互交换存储数据。 此外,需要大量的节点来维持高安全性,这意味着每个分片都必须保持一定程度的去中心化,因此整个节点池的规模必须非常大。

使用模块化区块链压缩链上数据存储

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

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

缺点:链上存储比链下存储昂贵得多,这可能使模块化区块链的可扩展性不如更中心化的存储解决方案。 压缩数据也可能会丢失一些对验证不重要的数据,因此用户可能无法根据剩余数据对链上活动进行更详细的分析。

模块化区块链的链下数据存储

模块化区块链可以在链下存储交易数据,以进一步降低链上存储要求。 示例包括“validiums”,它在链上发布零知识证明并在链外存储数据。 目前模块化区块链主要采用四种链下数据存储方案:

数据修剪

数据剪枝技术可以让区块链全节点删除某个区块高度之前的历史数据。 数据剪枝通常与 PoS 检查点(checkpoints)同时使用,超过某个检查点的区块交易将被视为最终交易。 这意味着除非有重大的社会共识或硬分叉,否则这些交易无法逆转。

优点:数据剪枝减少了节点在参与共识时需要存储或引用的数据量。 由于历史数据已经过验证,因此可以对其进行修剪以减小分类账的大小。 如果运行全节点只是为了验证未来的区块而不是追踪历史区块,那么就没有必要存储历史数据。

缺点:数据剪枝需要依赖交易平台或区块浏览器等第三方永久保存历史数据,才能追溯到创世区块。 但是,由于这是一个 1/n 的信任模型,只需要一个第三方诚实地存储数据并帮助全节点重建所有历史状态。 由于 PoS 提供检查点和弱主观性,这个假设没有什么意义。 但是,这些数据对于链上分析和区块浏览器仍然具有一定的价值。

无国籍状态、状态过期和状态租金

还有一些解决方案侧重于限制全节点存储的状态量,特别是通过设置状态过期、无状态或状态租金。

比特币扩容方式_比特币扩容_比特币扩容相关新闻

优点:这些方案对状态存储要求进行了限制,最终有助于限制节点可以存储的状态存储量。 这样可以缓解状态膨胀,有效应对账本不断膨胀或者链上交易数量不断增加的情况。 限制状态存储非常适合长期的最终用户身份验证,同时保持较低的硬件要求。

缺点:受限状态存储具有创新性,用户无需支付单笔费用,让网络中的每个节点永久存储自己的状态信息,这与目前的区块链运行模式有很大区别。 此外,区块链从传统的状态存储模型升级到限制性更强的状态存储模型也并非易事。 某些状态可能无法随时访问,因此可能会影响某些应用程序开发阶段所做的特定假设。 新的状态存储模型也可能会增加一些应用程序的成本。

扩展共识层

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

增强的执行和存储能力

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

减少网络带宽使用

另一种扩展区块链共识机制的方法是减少网络带宽的使用,即降低所有节点达成共识所需的通信成本(也是发送和接收消息的成本)。 为了达成共识,一个节点不需要与所有其他节点通信(即:all-to-all voting),而只需要随时与少数节点通信(即:resampled voting)。 一些共识机制不采用多轮投票或通信,只需要在区块传播时进行通信,但这往往会导致非确定性的终结性。

减少网络延迟

有几个提案侧重于减少共识期间的网络延迟,尤其是加快最终确定性。 一些区块链共识机制通过多轮重采样或全对全投票实现即时终结。 其他区块链有检查点和验证者在一定时间后达成共识以确保安全。 这意味着一个块在通过检查点后被认为是最终的,并且不再可能在协议内进行块重组。 必须在网络延迟和网络带宽之间进行权衡,尽管有一些混合解决方案可以针对两者进行优化。

提高您的安全预算

信任最小化共识层也可以通过增加安全预算来扩展,为参与共识的节点提供激励。 常见的方式有提供流动性、发行代币奖励,或因区块空间不足而增加交易手续费收入。 Raising the security budget leads to more potential income for participants, which also increases the level of decentralization of the network, as more nodes are economically incentivized to join the network. The blockchain can also require nodes to pledge more tokens or provide more computing power to participate in the consensus mechanism. However, if the threshold is set too high, it may reduce the level of decentralization of the network.

The Future of Scalability and Secure Cross-Chain Development

Blockchain expansion is currently at a critical stage of development, and a series of rich solutions are being developed, tested and released. The current development focus of the blockchain is to achieve expansion on the premise of minimizing trust, and it is bound to become the preferred back-end infrastructure for various industries and application scenarios.

In order to support the ever-growing multi-chain ecosystem, Chainlink is actively developing the Cross-Chain Interoperability Protocol (CCIP) to help users securely transfer data and tokens across various blockchains with custom logic. CCIP focuses on security and creates an anti-fraud network that enables cross-chain smart contracts and secure token bridges while maintaining the original trust assumptions of the blockchain. For more information about CCIP, please read "CCIP Unlocks Cross-Chain Smart Contract Innovation".

比特币扩容相关新闻_比特币扩容_比特币扩容方式

CCIP infrastructure

To learn more about Chainlink, please visit Chainlink's official website and follow Chainlink's official Twitter to get the latest news and announcements from Chainlink.