目前Rollup方案主要描述的 558 是 32 基于Ethereum的 11 一种拓展解决方案,Ethereum由于大量DApp的 416 应用造成链上拥堵导致高Gas费,与链的 765 交互成本极速升高,因此社区一直在积极寻找各种拓展解决方案(ETH2. 2 0,Rollup)。
拓展解决方案的 85 主要目的 76 是 74 在不降低区块链去中心化特性的 896 情况下增加网络的 738 交易处理速度、TPS。当前有两类主要的 176 拓展解决方向:链上拓展、链下拓展。
链上拓展也称为Layer1 拓展,主要是 157 指增加区块链核心层的 61 处理量,通常是 941 指增加区块的 674 交易量;因此在Ethereum中,该方案意味着需要对协议作出修改,同时增加的 410 区块容量也会要求节点需要更高配置的 528 硬件,会使可运行的 961 节点数量减少、影响去中心化。但是 55 在ETH2. 832 0种引入了 687 shading分片的 197 概念(指将Ethereum数据的 30 拆分的 755 过程),通过拆分网络来降低节点的 925 负载,可能会对链上有益。
链下拓展 是 28 指在Layer1上增加多层来处理交易,但这些层在处理交易时不直接使用Layer1的 59 处理能力,从而间接的 40 拓展基础层(Layer1);通常Layer1在该解决方案中作为可信层和仲裁者。因此链下拓展也被称为Layer2拓展,即在以太坊Layer1之上添加了 697 一层。
Layer2拓展可以视为对以太坊的 670 扩容直接解决方案,因为它维护了 601 以太坊社区最有价值的 920 属性:去中心化;但Layer2方案也需要额外的 1048 硬件或复杂的 46 软件,所以对Layer1来说也需要一些时间才能感知到Layer2的 1056 状态;但Layer2的 706 安全性来源于以太坊主网,可以被个人、社区、组织等基于自身应用自定义构建。
Sidechains:侧链是 661 通过桥连接到以太坊的 894 EVM兼容链,它们有自己的 1 共识协议和链上参数。
Rollups:在以太坊主网外执行交易、然后将交易数据发送回以太坊主网。
State channels:使用多签通道解决主链和参与方的 531 交易,并将状态数据发送回主链。该方案非常安全但用例受限。
Plasma:是 659 一个框架,通过一个Root Contract将侧脸锚定到主链,Root Contract 记录子链的 823 当前状态和子链的 255 规则。
Layer2解决方案中,Channel技术与以太坊主网具有相同的 1051 安全性,但是 741 仅能在特定的 677 用例下工作;侧链技术具有EVM兼容性、可以拓展各种使用场景,但核心缺陷是 143 不依赖于以太坊主网的 547 安全性,通过自己的 1032 共识模型来保证状态安全。
Rollup尝试提取两种方案的 545 优点来构建一种通用的 858 拓展解决方案,
Rollups通过在以太坊主网外处理交易、但仍将交易数据发送回以太坊主网、且仍从以太坊主网获得其安全性。每个Rollup都在以太坊部署自己的 1062 特定合约,在主链外特定的 700 rollup链上执行交易,然后将交易批量打包、压缩后发送回主网,减少实际需要处理交易的 789 主网负载。
这减少了 910 与主网交互的 579 费用、增加了 675 区块链的 44 采用,同时当前存在于以太坊主网的 544 合约也可以在几乎不经改动的 797 情况下部署到rollup上。
Rollup是 1040 以太坊拓展问题的 836 新型解决方案,但如果保证由Rollup发送回主网的 581 数据是 936 有效的 874 呢?不同的 446 Rollup类型具有不同的 915 解决方案,当前有两种方案:Optimistic Rollup(乐观型)和ZK rollup。
乐观型方案假设提交回以太坊主网的 529 数据默认是 68 正确、有效的 48 ,每当人们认为存在无效交易时,则使用争议解决方案。如:一个参与方批量提交交易数据至以太坊,当某些人检测到欺诈交易时,则提交该交易的 569 欺诈证明。因此存在两种参与角色:首先质押他 613 们的 345 ETH,然后一方负责提交数据、一方负责检测欺诈提交证明;任何一方不当行为都会丢失质押的 848 ETH。当欺诈证明被提交后,可以的 260 交易会在以太坊主网上再次执行,为了 912 确保交易以在Rollup上的 99 执行状态被重放,需要创建一个管理合约来使用Rollup中一些状态来替换某些函数调用。
也叫Zero-Knowledge(零知识证明) rollups,与Optimistic解决方案不同,没有争议解决方案,它使用了 256 一个巧妙的 752 密码学证明。每个提交提交到以太坊主网的 922 交易批次都包含一个密码学证明,称为SNARK(Succinct Non-Interactive Argument of Knowledge ),该证明可以被部署在以太坊主网的 831 合约进行校验。这个合约维护了 939 rollup上的 837 所有状态,并且仅当加密证明有效时该状态才会被更新,这意味着仅有一个有效的 34 证明被存储在以太坊主网上而不是 251 笨重的 87 交易数据。