Vitalik:扩展 Rollups 的分步路线图

Vitalik:扩展 Rollups 的分步路线图
文章图片
免责声明:本文旨在传递更多市场信息 , 不构成任何投资建议 。 文章仅代表作者观点 , 不代表火星财经官方立场 。
小编:记得关注哦
来源:Unitimes
撰文:VitalikButerin , 以太坊联合创始人
对于以太坊而言 , Rollups是短中期 , 也可能是长期的唯一无须信任的可扩展性解决方案 。 以太坊L1上的交易费在几个月以来一直很高 , 现在更迫切的是采取一切必要的行动 , 帮助推动整个生态系统转移到Rollups 。 Rollups已经大大降低了许多以太坊用户的费用:l2fees.info网站时常显示Optimism和Arbitrum网络的费用要比以太坊基础层本身低了约3-8倍 , 而zk-Rollups有着更好的数据压缩 , 并且可以避免包含签名 , 因此其费用要比以太坊基础层低约40-100倍 。
然而 , 对于许多用户来说 , 即便是这些(Rollups中的)费用也还是太过昂贵了 。 很长一段时间以来 , 数据分片(datasharding)被认为是解决当前形式的Rollups的长期不足的解决方案 , 数据分片有望在以太坊链上为Rollups增加大约1-2MB/s的专用数据空间 。 本文描述了实现该解决方案的一条实用的路径 , 能够尽可能快地为Rollups解锁数据空间 , 并随着时间的推移增加更多额外的空间和安全性 。
Step1:扩展交易calldata
目前现有的Rollups使用了交易calldata 。 因此 , 如果我们想要在无需让各个Rollups团队做出任何额外工作的情况下 , 在短期内提升Rollups的容量并降低成本 , 我们应该降低交易calldata的Gas成本 。 当前的平均区块大小还远没有达到威胁以太坊网络稳定性的大小 , 因此这样做是有可能安全的 , 尽管可能需要一些额外的逻辑来预防非常不安全的边缘情况 。
参见EIP-4488提案 , 或者另一个(更简单但效果更温和的)EIP-4490提案 。
EIP-4488:https://github.com/ethereum/EIPs/pull/4488EIP-4490:https://github.com/ethereum/EIPs/pull/4490EIP4488应该能将每个slot可用于Rollups的数据空间增加至理论上最大约1MB , 并将Rollups上的成本降低约5倍 。 这可以比后面的步骤更快地实现 。
Step2:几条分片
与此同时 , 我们可以开始做一些工作来推出“适当的”分片 。 想要以完整(功能)的形式实现分片还需要很长的时间 , 但我们能做的是可以一步步地实现它 , 并从每一步中获益 。 首先自然是要实现分片规范的“业务逻辑” , 但需要使最先上线的分片数量非常低(比如4条分片) , 以此来避免围绕分片网络的大多数难点 。 每条分片将在其自己的子网络中广播 。 默认情况下 , 验证者将信任委员会 , 但如果他们愿意 , 他们可以选择在每个子网络中 , 但只有当他们看到了信标区块确认的任何分片区块的全部数据时 , 他们才会接收该信标区块 。
分片规范本身并不是特别困难;它与最近发布的Altair硬分叉有着类似规模的样板代码更改(Altair的信标变更规范文件是728行 , 分片的信标变更规范文件是888行) , 因此可以合理地预计它可以在与Altair的实现和部署类似的时间框架内实现 。
为了使分片数据(shardeddata)实际上可被Rollups使用 , Rollups将需要能够使其证明(proofs)进入到分片数据中 。 有两个选择:
增加BEACONBLOCKROOT操作码;Rollups将增加代码来验证根植于历史信标链区块根的默克尔证明(Merkleproofs);增加面向未来的状态和历史访问预编译 , 这样当承诺方案(commitmentscheme)在未来发生改变时 , Rollups就不需要更改它们的代码 。这将使得每个slot的Rollup数据空间增加至约2MB(每个分片250kB*4个分片 , 再加上上文Step1中扩大的calldata) 。
Step3:N条分片 , 由委员会保护