作者: Emmanuel Awosika;编译:深潮 TechFlow
侧链和 Rollups 是解决区块链可扩展性问题的两种方案。这两种解决方案的中心思想是将核算从资源受限的区块链(如以太坊)搬运到专为规模化优化的独立区块链上。这种办法带来了一些好处,比如下降每笔买卖的本钱,减少推迟,进步全体吞吐量。但相似之处仅此而已。
侧链和 Rollups 在其扩展办法上底子不同,并且在规划决策和权衡上也有所不同。对于期望利用这两种解决方案构建可扩展的 dapp 的开发者来说,了解它们的差异非常重要。
本文概述了 Rollups 和侧链,并探讨了它们在架构、安全确保、扩展功能等方面的差异。
什么是侧链?
侧链是与另一个区块链(称为“主链”)并行运转的区块链网络。通常,侧链经过一个双向跨链桥与主链连接,答应在两个网络之间搬运财物,以及或许的任意数据,如合约状况、Merkle 证明和特定买卖的成果。
大多数侧链都有自己的一致机制和验证者,与主链分开。这使得侧链能够在不依靠其他区块链的情况下结算和完结买卖。但是,这也意味着桥接到侧链的资金的安全性取决于存在强壮的加密经济激励,以防止验证者之间发生恶意行为。
侧链的类型
与 EVM 兼容和非 EVM 侧链:EVM 兼容的侧链运用了以太坊虚拟机(Ethereum Virtual Machine)的自定义完结,该虚拟机是在以太坊上布置智能合约的履行环境。实际上,大多数这些区块链开始都是以 go-ethereum(也称为 Geth,以太坊协议的最流行完结)为根底进行分叉的。
尽管保留了以太坊规划的大部分特性(如对智能合约的支撑),EVM 兼容的侧链在其他方面进行了优化,特别是一致机制,以进步履行效率和吞吐量。如今,EVM 兼容的侧链运转着大部分运用 Solidity 等 EVM 言语编写的智能合约,一起下降了去中心化应用用户的本钱和推迟。
非 EVM 侧链完结了不同的虚拟机架构,无法在没有很多代码重构的情况下运转以太坊原生的 dapp。在非 EVM 链上构建的开发者无法运用熟悉的 EVM 开发环境和东西(如 Truffle、Remix、Hardhat),或许需求学习其他言语(如 Rust 或 Golang)来创立 dapp。
留意:Avalanche、Fantom、Celo 和 Palm 是 EVM 兼容的侧链的示例。NEAR、Solana 和 Algorand 是非 EVM 侧链的示例。
提交链和 Optimistic 侧链:并非每个侧链都彻底依靠自身的安全性;一些侧链,尤其是提交链和 Optimistic 链,依靠于主链供给某些安全确保。提交链定时向另一个区块链提交加密承诺(例如区块头)以更新其最新状况。主链无法验证这些状况证明,由于它无法拜访侧链的状况,但它确保诚笃的参与者能够在承认之前对无效的区块头提出质疑。
通常,这是经过在主链上完结一个智能合约来完结的,该智能合约处理侧链验证者的奖赏、质押、轮换和赏罚。假如验证者犯下可证明的违规行为(例如在相同高度签署两个区块),任何人都能够将依据提交给智能合约,并削减该验证者的质押。
Optimistic 链的运作方法相似,要求验证者定时将区块头提交到主链上的智能合约。但是,Optimistic 链没有独自的一致机制——区块头被简单地假定为有用,直到受到防诈骗的应战。因而,Optimistic 链能够在只要一个(诚笃的)验证者的情况下运转,而提交侧链需求多个验证者才干正常运转。
在这两种情况下,诚笃的参与者能够向父区块链证明侧链上发生的恶意行为。这样,即便侧链的大多数验证者都作恶,用户仍然能够取得必定的安全确保。
但需求留意的是,诚笃的参与者无法在没有拜访存储在区块中的状况数据的情况下证明恶意行为。但是,由于主链只接收来自侧链的区块头(而不是区块体),它无法确保区块的可用性。这使得不诚笃的区块提议者能够经过躲藏区块数据来进行不诚笃的行为,例如从跨链桥中盗取资金。
这个问题被称为数据可用性问题,它是一切侧链(不仅仅是提交链、Optimistic 侧链和 Rollups)在安全性特点上的差异的中心。
什么是 Rollup?
Rollup 经过在独自的履行环境中处理买卖来进步底层区块链的可扩展性。与侧链相似,Rollup 具有用于在父区块链和 Rollup 之间搬运财物的跨链桥。它们还施行了优化措施,以进步用户的核算速度和本钱效益。
但是,Rollup 会定时将区块提交到主链中,从而承继了主链的安全性和去中心化特性。这意味着父区块链为 Rollup 供给了以下安全特点的确保:
-
可用性:Rollup 区块的可用性得到确保,由于数据存储在更去中心化和安全的父网络上。例如,用户能够一直向跨链桥合约证明 Rollup 状况的详细信息(例如拥有某些代币),并在 Rollup 验证者躲藏买卖数据时提取资金。
-
有用性:只要满意由母链强制履行的有用性条件的 Rollup 区块才干终究确认。
-
存活性:由于 Rollup 数据存储在根底层上,任何人都能够重建 Rollup 的终究一个有用状况并生成新的区块。此外,用户能够经过将买卖发送到 Rollup 的链上智能合约来强制将其包括在 Rollup 中。
Rollup 的类型
Rollup 有两种方式:Optimistic 型和零常识型。零常识型 Rollup(也称为有用性 Rollup)将区块与证明一同提交到母链,以承认链下买卖的正确履行。假如证明在链上经过验证,该区块将在根底层上终究确认。
Optimistic 型 Rollup 提交的区块没有任何证明来证明链下核算的有用性。除非另一方经过“诈骗证明”对某个买卖的成果提出质疑,不然区块被简单地假定为有用。诈骗证明采用验证游戏的方式,在母链的介入下,两方争议某个核算,直到发现不诚笃的一方。
Optimistic 型 Rollup 以状况转换大部分有用的 Optimistic 假定命名。但是,这种 Optimistic 假定与加密经济激励相结合,确保了除非一个无效的区块长时刻未被质疑,不然它将永远不会被主链终究确认。
留意:Arbitrum 和 Optimism 是 Optimistic 型 Rollup 的示例。
EVM 兼容性是 Optimistic 型和零常识型 Rollup 之间的另一个值得留意的差异。尽管 Optimistic 型 Rollup 是 EVM 兼容的,但零常识型 Rollup 在 EVM 兼容性方面有所不同。由于在证明电路中证明原生 EVM 指令是复杂且资源密布的,一些有用性 Rollup 运用了针对更高效证明进行优化的自定义虚拟机指令集。
对于与 EVM 兼容的 ZK-Rollup,我们将其履行环境描绘为“零常识 EVM”(ZK-EVM)。ZK-EVM 能够在链下履行以太坊智能合约,并证明核算的一切部分都被正确履行。因而,与依靠加密经济激励和诚笃假定来防止无效履行的 Optimistic 型 Rollup 比较,ZK-Rollup 被以为更安全。
Linea 是一个具有完好 EVM 支撑的第二层有用性 Rollup 的示例,它答应开发者重用以太坊根底设施和东西来构建 dapp。比较之下,在非 EVM 的 ZK-Rollup(如 StarkNet)上布置需求(a)运用不同的堆栈构建智能合约,或者(b)修正代码库以在 StarkNet 虚拟机中运转。
侧链与 Rollup 有何不同?
吞吐量:侧链的平均买卖处理量通常比 Rollup 更高,由于它们不依靠于主链的一致和数据可用性。例如,侧链能够完结较大的区块大小和极快的区块时刻,以取得更高的吞吐量,而 Rollup 无法做到这一点。
Rollup 有必要防止处理过多的买卖,以至于买卖批次无法适应单个主链区块。不然,这将重新引入根底层的拥堵,并使其难以跟上 Rollup 发生的区块。因而,Rollup 的母链数据带宽对其吞吐量施加了有用限制。
即便是部分依靠于主链安全性的侧链(如提交链和 Optimistic 链),其吞吐量仍然优于 Rollup。
本钱:与 Rollup 比较,用户在侧链上的买卖或许付出更少费用。与侧链和 Rollup 之间的其他差异一样,这一点与 Rollup 依靠母链进行结算和终究性有关。以下是 Rollup 发生的一些运营本钱(这些本钱由用户承当):
-
数据存储:将 Rollup 区块提交到根底层会发生固定本钱(将买卖包括在区块中的本钱)和可变本钱(基于 Rollup 区块的大小)。因而,Rollup 会向用户收取核算和数据费用,数据量较大的买卖付出更多费用,反之亦然。
-
证明生成和验证:零常识 Rollup 需求为根底层的验证生成有用性证明,这会发生额定的本钱。验证有用性证明需求消耗很多资源,例如在以太坊上现在的本钱约为 500,000 Gas。
纯侧链不会发生上述本钱,因而运用它们的费用更低。提交链或 Optimistic 侧链或许会发生一些额定的本钱,例如提交区块头,但这些本钱能够忽略不计。此外,能够经过在单个买卖中累积多个区块头来下降本钱。
终究性:彻底担任其安全性的侧链具有即时终究性,一旦取得大多数验证者的批准,区块就无法撤销。但是,提交链或 Optimistic 侧链不适用于此规则,由于它们有必要考虑或许推迟区块头终究化的应战。
通常情况下,Rollup 的终究性时刻比纯侧链更长,原因各不相同。例如,Optimistic Rollup 会推迟承认买卖,以确保诚笃的参与者有满足的时刻来应战无效的状况更新。
有用性 Rollup 具有即时终究性(一旦验证经过),但与纯侧链比较,其终究性时刻更长。由于生成和验证有用性证明的本钱较高,序列化者更倾向于在生成和提交批次的有用性证明之前积累很多买卖。
安全性:Rollup(Optimistic 或零常识)的安全性由底层区块链确保,减少了用户的信赖假定。正如前面所解说的,Rollup 依靠于(经济上安全的)主链进行一致和数据可用性(与侧链不同)。这下降了检查、冻结提款、无效履行等风险。
纯侧链担任其安全性。但是,发动多样化和可靠的验证者或许很困难,这就是为什么侧链被以为比 Rollup 更不安全的原因。
提交链和 Optimistic 侧链比纯侧链稍微更安全,但用户有必要信赖验证者和提议者的数据可用性。假如在不承当赏罚的情况下进行数据躲藏进犯,提交链和 Optimistic 侧链将没有任何安全确保。
跨链桥:Rollup 和侧链(大多数情况下)运用相同的财物桥接方案:在主链上的智能合约中锁定 X 代币,并在子链上为用户铸造 X 代币。它们的差异在于桥接合约中存入的资金怎么得到确保。
由于 Rollup 专用于特定的根底层区块链,通常会有“标准桥接”连接两者。存入 Rollup 桥接的资金由母链确保:
-
只要在验证与包括退出买卖的批次相关的证明在链上得到验证后,才干提取存入有用性 Rollup 的资金。
-
对于 Optimistic Rollup,只要在包括用户提款买卖的区块在争议窗口(约 1-2 周)结束后未被应战,用户才干提取资金。
相反,存入侧链桥接的资金的安全性取决于其规划。例如,假如侧链与另一个区块链有一个标准跨链桥,那么桥接资金的安全性与验证者的诚笃程度相关。另一个问题是桥接是否由整个验证者(例如,Polygon PoS 桥)或一小组外部验证者(例如,Avalanche-Ethereum 桥)进行验证。
Rollup 和侧链桥接之间的终究性时刻差异也解说了它们之间的差异。举例来说,Optimistic Rollup 用户在将资金桥接回主链时会遇到更多推迟,由于需求等待争议窗口。运用侧链,一旦收到终究确认的区块头(以及必要时有用的 Merkle 证明),用户就能够从跨链桥合约中提取资金。
在Rollup和侧链之间进行选择
在布置智能合约时,选择运用 Rollup 仍是侧链取决于您的目标、用户反应和项目需求。以下是在不同情况下运用 Rollup、侧链或两者的优势。
何时运用 Rollup:
-
您的用户期望取得最高的安全确保。
-
您的用户能够忍受稍高的本钱和添加的推迟/终究性。Rollup 的本钱比以太坊低得多,速度更快(数量级上),但在这些指标上无法与侧链相媲美。
-
您(或您的用户)期望与母链生态系统(例如以太坊)树立更紧密的关系。
-
您方案改善 Rollup 上 DApp 用户的用户体验。这或许意味着运用流动性供给者来减少从 Optimistic Rollup 中提取资金的推迟,或者施行代码优化来减少用户与您的智能合约交互时生成的买卖数据。
-
您期望在构建 DApp 时运用 EVM 东西和根底设施。大多数 Rollup 兼容 EVM,并运用与以太坊相同的东西、客户端软件和节点 API。
何时运用侧链:
-
您的用户期望以最低的费用进行买卖。
-
您的用户期望买卖快速处理,特别是在桥接资金时。
-
您的用户能够忍受添加的信赖假定和较低的安全确保。
-
您(或您的用户)不以为与主链生态系统的紧密关系是首要任务。
-
您能够学习运用一组新的编程言语、东西和根底设施来构建 DApp(假如运用非 EVM 侧链)。
何时一起运用侧链和 Rollup:
-
您的项目已经在一个区块链上树立了强壮的网络效应,并准备一起扩展到多个生态系统(例如,为了利用流动性)。
-
您期望迎合不同类型的用户,并防止疏远商场的一方。
-
您的项目有满足的资源来处理跨链扩展。这或许意味着有不同的团队担任在不同的区块链平台上布置您的 DApp。
此时快讯
【以太坊扩容项目AltLayer已部署超10万个闪电层】7月27日消息,以太坊扩容项目AltLayer发推表示,超过10万个闪电层(Flash Layers)已作为Altitude第三阶段的一部分完成部署。此前AltLayer与以太坊再质押协议EigenLayer建立合作,使再质押用户能够启动闪电层。