现在位置:首页 > 以太坊2.0 > Rollup未来在以太坊的角色是什么?

Rollup未来在以太坊的角色是什么?

imtoken  以太坊2.0  2021-10-31  124  0评论

以太坊扩容在社区中的讨论如火如荼,多个解决方案正在加紧开发,并有望在今年全部上线主网。在整个以太坊 Layer2 方案爆发的前夕,imToken 联合 ETHPlanet、EthFans、ECN、上海前沿技术研讨会和 HiBlock 等多家优秀的以太坊生态社区与公司,共同策划一场以太坊扩容主题系列活动。4 月 23 日举办了第一场活动:Rollup - 以太坊 L2 扩容新范式杭州线下 Meetup。
以下是本次 imToken 首席科学家 Chang-Wu 的分享:「Rollup 未来在以太坊的角色」 的文字版,由 imToken 整理。

演讲整理

我先带大家了解一下什么是 Rollup,以及 Rollup 未来与 Eth2 路线图又是一个什么样的关系。
首先,我们都知道现在以太坊网络的一个 block(区块) ,它的计算单位是 gas limit(笔者注:每笔链上交易都会消耗 gas),每个区块的 gas limit 都有上限,目前这个上限值已经被调整为 1500 万,这 1500 万就代表每个区块可以包含的计算单元,也就是每个区块里所有交易累计消耗的 gas limit 不能超过 1500 万 gas。
举例来说,单纯的 ETH 转账,每笔的 gas limit 是 21000。如果一个区块中所有交易都是 ETH 转账,那么单个区块中最多可包含的交易笔数就是 1500w / 21000 = 714 笔。同时,目前以太坊出块平均时间是 12 秒,那么用 714 除以 12,我们就可以知道目前以太坊网络每秒可处理交易数的上限。
最近大家都看到了,现在的网络是非常拥挤的,尤其是在柏林升级前,区块 gas limit 只有 1200 万的时候。但即使是通过升级把 gas limit 提升到了 1500 万,我们仍然看到每个区块几乎都是满的,区块空间利用率接近饱和。
也就是说这时候你想要放入更多的交易其实是很困难的。同时我们也注意到,因为一些 DeFi 项目的兴起、需求等等,每当市场上有震荡的时候,手续费就会特别昂贵。过去一段时间,我相信大家也注意到在星火矿池维护的实时评估 gas 的网站上,有时甚至能看到 900、1000 Gwei 这样非常昂贵的手续费的产生。
所以在这一现状下我们认识到由于 DeFi 不停增长的需求,导致网络拥挤、每个区块都是饱和的状态、手续费昂贵。即便近期(在柏林升级中)提升了区块的 gas limit,但仍不足以满足链上的交易需求。
对此,我们越来越需要通过扩容来支撑以太坊网络整体的交易量。这就是我们今天想要和大家介绍的主题 - Rollup,中文叫做卷叠。通过引入 Rollup 技术方案,我们可以将以太坊网络的交易处理能力由当下 Eth1 上的 20 TPS(每秒可处理交易)提升至 4000 TPS(从理论上估计)。
那么 Rollup 是什么,以及它在 Eth2 路线图中又会扮演什么样的角色呢?
我们都知道 Eth2 想要通过分片的方法来提升整体的交易量。具体而言,分片是通过将交易发送到不同的 Eth2 分片去做执行,因为分片本身的设计允许不同的交易在不同分片上平行处理,以此从最底层的协议上进行优化,达到给网络整体扩容的目的。但是呢,我们也都知道,Eth2 的阶段 0 是去年 12 月份刚上的,上面谈到的分片实际运转起来可能要等到阶段 1.5 或阶段 2。如果没有过渡或者说妥协的方案出来,这中间将是漫长的等待期,而且期间网络将一如既往的拥堵。这也是为什么 Rollup 二层网络解决方案在近期越来越受到欢迎和普及。
那接下来,我们开始介绍 Rollup,我会通过说明 Rollup 的每一个步骤来向大家解释它是如何实现扩容的。
首先,下图中间黑线上面代表 Layer1,下方代表 Layer2。Layer1 的主网就是现在 Eth1 的主链,Rollup 项目方会在这条主链上部署一个智能合约。
Rollup未来在以太坊的角色是什么1
用户在这个合约中可以 deposit(存入)资产,存入后,Rollup 运营商或服务商就会在二层网络上把这些资产映射出来。关于具体的映射方式,我们可以把它想像成是以数据库的方式,映射成一个存储的格式,而这个格式可以表示每一个账号现在有多少余额。
通过这种方式将用户在主网 Layer1 的存入资产与二层网络账户上的余额进行映射。然后,用户就可以在 Layer2 上进行转账、兑换等操作。那么,当用户们在 Layer2 发起大量交易时,由谁来对这些交易进行筛选、排序和打包呢?
在当前的 Rollup 二层网络方案中,这个角色一般由项目方来承担,我们称其为 sequencer(排序者)。sequencer 的角色,有点像是在打包这些交易,类似 Layer1 的矿工。但区别在于,sequencer 是先把交易整理好,然后才去做打包交易的动作。比如在二层网络中用户 A 给用户 B 转 10 个 token,用户 B 给用户 C 转 20 个 token,这些交易就会由 sequencer 来负责验证处理,并且打包整理成最后用户 A、B、C 的余额应该各有多少。
但仅做到以上这些仍是不够的,因为以太坊上一笔交易占据的空间非常大。例如仅收款方的地址,就占 20 个 bytes,ECDSA 签名占 64 bytes。对于以太坊区块有限的空间来说,这些数据所占用的空间较大,那么我们是否有办法压缩这些数据呢?
Rollup未来在以太坊的角色是什么2
方法是有的。现在以太坊上一个地址是 20 bytes,在二层网络上,我们可以通过编码的方式进行压缩。具体来讲,Layer1 上的一个普通地址通过编码可以从 20 bytes 压缩到 3 bytes。同样的,上面提到的 ECDSA 签名数据和其他数据也可以进行压缩。sequencer 的职责就是压缩交易,并将压缩后的数据放在 Data(以太坊交易的一个字段)中同步到 Layer1 上。以上就是 Rollup 处理交易的过程说明。
到这一步,我们看到即使是在 Layer2 上,sequencer 最终同样需要把所有交易打包后的数据上链。这里有两个问题需要回答:
为什么要把数据放到链上?
原因在于只有当数据上链时,数据才具备可用性,其他人就可以通过这些数据来验证其中包含的交易是否真的成功。避免由于 sequencer 作恶(比如将一笔转账的收款地址替换为自己的地址)造成的资产损失。因此数据上链是必要的。
如何确保上链的数据是正确的(即如何保证数据的有效性)?
这就要求 sequencer 要对数据进行验证,一般是通过提交 Proof(证明)来确保上链数据正确。
在第二个问题上,目前的 Rollup 方案主要区别在于对数据和 Proof 的处理上。有的方案只把数据上链,但不对数据进行验证,也就是缺乏 Proof,比如 Optimism(笔者注:他们通过欺诈性证明来保障链上数据有效)。有的方案则是将数据和对数据的 Proof 同时上链来保证数据的有效性,比如 zkRollup 通过零知识证明对数据进行验证,并且把验证得到的 Proof 和数据一起上链,以此确保对应数据在链上的有效性和资金的安全性。所以 zkRollup 是目前被大家公认为比较安全的方案。
Rollup未来在以太坊的角色是什么3
整体来看 Rollup 方案,Layer1 上的智能合约就像是城堡,其中的资金安全性依赖于 Layer1 自身的安全性。在 Layer1 上需要保存各账户的状态转换数据,同时要把 Layer2 上交易压缩后的数据同步到 Layer1 上,至于要不要做 Proof 则取决于具体的项目方的取舍。
Layer2 则负责执行交易,将本来在 Layer1 上处理的交易转移到 Layer2 上。当前对数据正确性的验证主要有两种典型的方案:
Validity proof:即指类似于 zkRollup 的零知识证明方案。将数据和对数据的 Proof 同时上链。
Fraud proof:即指类似于 Optimism 的欺诈性证明方案。由于只将数据上链,所以 Optimism 需要用户或项目方自身去监测 sequencer 是否如实地把交易数据同步到了 Layer1 上。如果监测到欺诈行为,那么就可以通过提交欺诈性证明来保障资产安全。
Rollup未来在以太坊的角色是什么4
最后,关于数据可用性,从形态上可以简单分为两个代表:zkRollup 和 Optimism。主要区别在于对哪些数据上链(on-chain) / 不上链(off-chain)方面的取舍。大部分方案都是把数据上链的,但是也有一些方案选择对一部分数据不上链处理,这么做的好处在于可以进一步提升扩容性能,而不用受区块自身可存放数据容量大小的限制;另一个原因是,有些应用顾虑到隐私性或其他一些特性,并不希望所有数据都上链,因而做了取舍,对这部分在这次分享中我们不去详细讨论。
Rollup未来在以太坊的角色是什么5
在数据上链 / 不上链取舍上有一个典型的例子:zkPorter,也就是未来的 zkSync 2.0。他们宣称在 zkSync 2.0 中可以达到 24,000 TPS,这主要是通过默克尔树实现的,在不同分支中分别存放 zkRollup 与 zkPorter。对于在意安全性的用户来说,zkRollup 是一个更可靠的选择;但在对安全性要求相对较低的应用中,则可以考虑使用部分数据不上链的 zkPorter(效率更高,处理能力更好)。zkSync 2.0 通过这种混合的方式实现有保障性的安全和效率的提升。
Rollup未来在以太坊的角色是什么6
那么为什么说 Rollup 和 Eth2 的路线图有关?其实前面有提到过,Eth2 分片上的交易执行暂时还无法立即到位,社区可能还要在等一段时间。但是在 Phase1 和 Phase 1.5 间,当分片的数据库成型时,其中的每个分片就好比是一个主网,这些分片的数据层就可以用来存储 Rollup 的数据。
当未来有分片的时候,虽然我们不能在其上立即进行交易,但是我们可以通过把 Rollup 的数据存到这些分片中提前发挥分片的作用,达到进一步扩容的目标。 这部分就是我今天的分享,谢谢大家。

评论一下 分享本文 联系站长
imToken钱包
看完文章就评论一下!
挤眼 亲亲 咆哮 开心 想想 可怜 糗大了 委屈 哈哈 小声点 右哼哼 左哼哼 疑问 坏笑 赚钱啦 悲伤 耍酷 勾引 厉害 握手 耶 嘻嘻 害羞 鼓掌 馋嘴 抓狂 抱抱 围观 威武 给力
提交评论

清空信息
关闭评论
sitemap