主页 > imtoken国内下载 > 为什么以太坊需要扩容? ——Rollup与Validium扩容技术详解

为什么以太坊需要扩容? ——Rollup与Validium扩容技术详解

imtoken国内下载 2023-11-12 05:07:36

本文转载自以太坊课程优秀学员(学员Discord ID:0x5f37a86#3269)对以太坊扩容计划的解读,报名了丁丁与Arbitrum联合出品的以太坊入门开发课程——《以太坊开发速成》 Start - Easy Creating Smart Contracts》,完成前两课的学习后,可以从区块链的底层设计入手,对以太坊的扩容计划进行深入的技术解读。以​​下为原文全文干货

01

为什么缩放

为什么以太坊需要扩容,官方文档[1]给出了详细的原因:用户数量增加,容量已达上限,网络成本过高,交易速度和吞吐量提升。

由于以太坊不可能三角(以太坊生态系统中存在互操作性不可能三角。可互操作的协议只能具有以下三个特征中的两个: 无信任:与底层域具有相同的安全性; 可扩展性:可以支持任何域;信息通用性:可以处理任何跨域数据(详见Vision [2]),因此解决方案主要分为链上扩容和链下扩容两种。

链上扩展

Sharding,通过创建分片(新链)来减少网络拥塞,提高TPS,同时减轻验证者的负担,本质是将数据库水平切分,增加可扩展性。

以太坊联盟和以太坊的关系_以太坊上海升级退出机制_sitebishijie.com v神退出以太坊

链下扩张

为了保持安全性和去中心化,L2 是从 L1 中抽象出来的(在以太坊上)。 L2是建立在以太坊上的网络,比如侧链。 L2继承了L1的安全性(如乐观卷积、零知识卷积或状态通道),使其可以向可扩展性方向扩展。 卷积在 L1 之外执行任务,并在达成共识时公开 L1 中的数据。 当前的 L2 扩展解决方案包括 State Channels、Sidechains、Plasma、Rollup 和 Validium。 其中扩容方案主要是Rollup和Validium,较少使用状态通道、侧链和Plasma。

02

汇总

Rollups 是最新和最广泛的第 2 层扩展技术。

交易可以分解为三个部分,输入数据、执行和世界状态改变。 消耗Gas最多的部分是交易执行和世界状态变化,执行部分没有消耗那么多。 Rollups的思想是将执行和归档分开,将大量的交易聚合成一个batch,为这个batch生成一个proof发布到主网上——也就是把开销小的部分放在L1(开销小的部分也可以恢复完整的交易),从而减少执行和改变世界状态所消耗的Gas。

为什么仅仅把calldata放在L1上就认为这个交易是安全的呢? 智能合约不能是多线程的。 如果是多线程的话,同样的输入可能会因为多线程而导致不同的输出。 当一个矿工输入一个input时,同一个数据在不同的矿工上执行的数据是不同的,一个矿工提出的区块不会被其他矿工建立。 因为状态变化对应的值不同,可能会导致网络分叉等一些问题。 EVM 是单线程模型。 把calldata放在L1上,按顺序记录下来,按顺序执行,肯定能在L2上计算出准确的状态。

分类

Rollup又分为Optimistic Rollup和ZK Rollup。 前者参考 Plasma 欺诈证明机制 [3](默认情况下,所有交易都是有效的,如果怀疑有欺诈行为,可以挑战并证明欺诈),后者使用零知识证明机制 [4](证明者不提供任何使验证者相信交易的有效信息,一旦链上接受证明,即可立即确认交易有效)以确保安全。

乐观汇总

NFT扩容有较大限制,无法快速提现NFT; 其次,如果 Optimistic Rollup 中的 NFT 价值很高,则可能成为攻击目标,因为从 Optimistic Rollup 中窃取资金的成本与潜在盗窃的成本是不一样的。 大小无关紧要。 应用程序包括 Arbirum、Optimism、Boba Network 等。

ZK Rollup

它将链上的用户状态压缩存储在Merkle树中,将用户状态的变化传递到链下(链上直接处理的成本比较高,但是使用合约在链上的成本比较高)验证零知识证明的证明是否正确的概率很低。但同时也保证了链下状态共识的安全性),以及链下用户状态变化过程的正确性通过 zk-SNARK 的证明得到保证。 在NFT系统中,ZK解决了Optimistic的两个问题。 一是保证了用户的快速退出和系统的安全性; 另一个是每秒数千笔交易的速度使得更大的交易规模成为可能。 但目前只能使用转账、交易等个别功能。 应用程序包括 zkSync、Loopring、dYdX 等。

PS zk-STARKs 和 zk-SNARKs 是两种零知识技术。 前者代表零知识可扩展透明知识论证,后者代表零知识简洁非交互知识论证。 详细的算法分析可以参考这篇文章[5],这里不再赘述。

rollup 经历了哪些步骤?

大体过程与L1类似。 当用户发起一笔交易时,首先发送给L2 RPC Node节点,由该节点将交易转发给sequencer。 这时候就类似于L1矿工,不同的是L1矿工需要参与共识竞争才能出块。 但是sequencer直接拥有出块权,直接将交易打包到sequencer区块链中并返回交易回执给用户,用户的交易可以瞬间得到确认,不像L1需要等待网络共识产生一个堵塞。 因此,用户在 L2 的交易体验要优于 L1。 当sequencer执行多笔交易时,会将交易压缩在一起提交到L1的收件箱。 压缩后的数据是交易的调用数据和交易的入参数据。 这个sequencer inbox其实就是L1上的一个合约,calldata记录在L1 Location上。

拆解如下

以太坊联盟和以太坊的关系_sitebishijie.com v神退出以太坊_以太坊上海升级退出机制

节点分类

全节点fullnode,与L1 fullnode基本相同,没有出块权限,只有记录状态和向用户开放rpc通道的权限。 用户通过全节点发起交易,将交易传递给排序器。 与L1的全节点不同的是,L1的全节点可以连接到网络中的多个节点,因为L1毕竟需要共识才能出块,这会涉及到广播,而sequencer则负责完成L2 块生产。 因此全节点只需要连接到sequencer即可。 如果由于某种原因无法连接音序器怎么办? 全节点也可以连接收件箱合约,L2 只需要知道输入就可以推断出整个最终状态。 因此全节点也可以读取L1上的inbox合约获取calldata,然后安排calldata重新执行获取最新的数据。

定序器(sequencer)、网络记录权、区块生成权、交易排序权等。未来的定序器应该是去中心化的,以防止定序器遇到的各种问题,比如反MEV(反矿工可以从一些操作中提取价值) .

验证者负责为网络背书(网络仍然由定序器推动)。 例如,sequencer 维护了一些状态,但是此时,一些节点认为他们想要相信收件箱合约。 这时候哪一方出了问题,用户调用了多个rpc节点,只是调用了不同状态的rpc。 当你是一个节点时,你会怀疑有一方参与欺诈。 用户可以查看验证者是否有质押状态,质押是哪个状态,用户会相信验证者质押状态得到的数据。 验证码是假的怎么办? 多轮交互欺诈证明,如果你证明你是对的,而验证者是错的,那么验证者质押的资金就会变成你的,只会催促验证者质押正确的状态。

两份合同

Inbox合约记录了我在L2上交易的calldata在L1上的位置,只传输calldata。

Rollup合约,记录了rollups L2协议的核心状态,比如有哪些验证者,验证质押状态,确认L2到L1通信信号等。

L2相当于两条链,一条是sequencer chain(从和其他区块链一样的链式数据结构中抽象出来的),一条是rollups chain(validator质押链),平时交互的链是sequenced chain of设备(状态链)。 你在区块链浏览器上看到的是排序器链的结果。 状态由定序器读取并生成块,这与 L1 类似。 以太坊上的 rollups 链与 L1 不同。 主要是为了验证作者认为正确的状态被质押并连接到前驱状态被质押的节点上。

另一个问题是下面的104、106、109、111这四个区块有一个共同的父区块,L1上的不同区块有相同的父区块(103),它们的区块高度都一样,只是在L2以太坊上海升级退出机制,所有块都有特定的高度。 rollups 链保持 L1。 L1智能合约是单线程的,同一时间只能执行一笔交易。 当同时进入多个区块时,它仍然是按顺序处理区块,并按顺序标记它们,这就是为什么不会有重复的区块高度(只有rollups区块的特征,没有sequencer的特征)堵塞)

以太坊联盟和以太坊的关系_sitebishijie.com v神退出以太坊_以太坊上海升级退出机制

如果用户无法连接到音序器怎么办?

因为是L2,所以它的最终目标是把calldata放在L1中。 因此,还有其他方式可以将交易放入L1,比如将交易发送给L1 RPC节点,L1 RPC节点将交易发送给矿工,矿工将状态写入延迟收件箱。 几分钟后,交易将再次被排序器读取。 或者被其他节点读取,正式包含在L2的状态中。

为什么需要延迟(延迟收件箱)? 因为排序器正在处理状态,所以延迟收件箱也在处理状态。 如果定序器没有提出延迟收件箱状态或直接忽略它,定序器需要几分钟才能知道交易,并在稍后的某个时间将其带入 L2 状态。

sitebishijie.com v神退出以太坊_以太坊联盟和以太坊的关系_以太坊上海升级退出机制

总结

其他扩张计划

03

状态通道

属于构想较早的L2方案。 例如核心:交易在链下处理,只向主链提交证明。 例如,在竞猜智能合约的链下运行中,A 创建交易并发送给 B,AB 相互签名并留下一份返回给对方。 每笔交易都基于最后的状态,并通过签名更新为新的状态。 状态,那么根据签名的顺序就可以知道所有交易的顺序。 无论AB与AB之间进行多少笔交易,由于是在链下进行,无需在L1上支付高额手续费,也无需等待区块打包时间。 真正的资产转移过程只发生在最终执行转移的时刻。

缺点:需要所有参与者都在线才能完成最终的交易,参与者离线或被代表限制了状态通道的安全性和可扩展性。

应用:Celer Network、Liquidity Network、Raiden Network

04

侧链

核心思想是建立一个完全独立的链以太坊上海升级退出机制,有自己的共识模型、验证者和运营者。 通常兼容EVM,可以扩展通用应用,可以与主链进行资产往来。

但缺陷也很明显。 由于侧链不依赖以太坊的安全性,它只是选择性地向主链发送区块头的快照以防止分叉,但验证者仍然可以通过合谋发起“无效状态转换”。 攻击”,主链无法验证侧链上的所有区块,只要50%以上的验证者合谋创建无效区块来窃取资产。

应用:xDAI、Skale Network、Injective Protocol等。

05

等离子体

应用:xDAI、Skale Network、Injective Protocol等。

核心原则是“链中链”。 在主链上创建一系列智能合约作为主链和子链之间的通信媒介。 合约规定了子链的一些基本状态和规则。 子链是一个完整的独立区块链,可以有专门的矿工,使用与主链不同的共识算法。

以太坊联盟和以太坊的关系_sitebishijie.com v神退出以太坊_以太坊上海升级退出机制

交互:比如使用合约创建代币,数字资产必须在L1上,可以通过Plasma子链的智能合约转移到子链上。 用户还需要在主链上购买资产,然后将其转移到子链上。 合约先将资产锁定在主链上,在子链上生成等值资产,用户可以完全脱离主链在子链上进行交易。 当子链的矿工在运行过程中打包区块时,运营者将区块哈希值提交给主链作为子链状态更新证明。 由此可见,子链上的资产并不安全,但如果运营者在这个过程中作恶篡改交易,用户仍然可以拿回资产,Plasma链上的参与者也可以提交资产通证随时返回主链。

优点:安全性高,可以无人监管

缺点:提现机制复杂,提现挑战周期过长,用户在此期间提供欺诈证明,极大影响体验

应用:Matic 网络(多边形)

课程信息

本文优秀学生作者报名参加了丁丁和Arbitrum打造的保姆级区块链入门课程——《零基础创建以太坊智能合约》。 该课程由Arbitrum和TinTinLand联合开发,旨在为开发者提供学习和掌握区块链开发的完美解决方案。 本次课程邀请了三位区块链核心开发专家DODO合约工程师Owen Liu、DODO数据团队负责人Autark、Arbitrum亚太区集成工程师Jason Wan担任讲师。 在互联网上创建DApps的开发者更适合没有区块链基础的开发者通过课程进入热门的区块链行业,获得更多的区块链就业选择和更有前景的职业发展。

通过课程,大家从了解以太坊到入门Solidity和开发实践,再到前端和智能合约的开发和部署,再到经典商业合约的解析,再到在以太坊网络上打造属于自己的区块链产品从0到1通过实战!

课程试听课已经上线,感兴趣的开发者可以先试听第一课。 让我们通过与 DApp 应用程序的交互来了解以太坊。

视频链接:

附上入学申请链接: