作者:Vitalik
本文介绍的路线图被用来完成从eth1 向 eth2 转换,如果你是应用开发者或用户,你所能感受到的变化乃至颠覆实际上非常有限。已有应用将继续运行,而不会发生任何改变。所有账户余额、合约代码和合约存储(包括 ERC20 余额、质押债仓等)都将继续存在。 你需要应对以下情况: IO 访问操作码(SLOAD、BALANCE、EXT*、CALL*)的 gas 成本将增加。CALL(调用)的 gas 成本大概是每访问 1 字节的代码需要消耗 1 gas。你需要下载实现网络升级的代码。这在根本上与拜占庭和君士坦丁堡等其它升级没有区别。但是下载量更大一点,因为如果你还没有 eth2客户端,那你需要下载一个。以太坊区块链可能会暂停大约 1 小时。1 小时后,“以太坊” 看似重新上线了,但是实际上 eth1 不再是一个独立的系统,而是成了在 eth2 内运行的子系统。就是这样。如果你是开发者,只要你确保自己的应用所需的 witness 规模不会太高(可通过单笔事务所访问的全部 存储槽+合约+合约代码 的数量来衡量),你的应用因为 gas 消耗量改变而崩溃的可能性就很小。 转换将如何发生 目前,该机制有大约 6 小时的延迟(其中有 4 小时的延迟是因为 ETH1_FOLLOW_DISTANCE “Eth1 主链跟随距离”,另外 2 小时是因为投票期) ,但是在转换完成前,这些参数会随着时间的推移而减小,将延迟降至 1 小时左右。 影响 eth1 向 eth2 转换的基本机制如下图所示: 指定一个(eth1 链的) 高度TRANSITION_HEIGHT。高度为TRANSITION_HEIGHT的 eth1 区块将被视为 eth1 链的 “最终” 区块。从该区块往后,(原本是 “正统链的”)eth1 将作为 eth2 的子系统运行。eth2 的 “诚实验证者” 代码会根据(1)做出相应调整,不允许验证者投票给区块号 >TRANSITION_HEIGHT的 eth1 区块。如果投票算法已经选出了某个区块编号 >TRANSITION_HEIGHT的 eth1 区块,则改成为TRANSITION_HEIGHT的 eth1 区块投票。此外,在已触发(2)的情况下,验证者会将deposit_count设置为比实际值高 2**63(就是将deposit_count的 top bit 作为 “eth1 已完成” 的标记)当 eth2 在 “eth1 已完成” 标记开启的情况下接受eth1data时,eth2 会执行一次 “非常规的状态变换”,将该 eth1 区块的状态根放到 “eth1 执行环境”(eth2 上的一类系统级智能合约)的状态中。与 eth1 链上的总 ETH 供应量等量的 ETH 会添加到这个 eth1 执行环境的余额中。 在这之后,转换完成。从技术层面来说,eth1 链会继续运行,但它已经变成了一条毫无价值的链;等到冰河期到来时,这条 eth1 链将彻底消失。 eth1 系统现在位于 eth2 系统内部。因此,通过在 eth2 上提交针对 eth1 执行环境(即上文所述的 eth2 子系统)的交易,eth1进一步转换成 eth2 的子系统。eth1 执行环境拥有可以实现整个 eth1 EVM 和交易处理逻辑的代码;它有一个update(state_root, transaction, witness) -> new_state_root功能,可以按照 eth1 链的规则,以交易和见证消息(状态部分的默克尔证明)作为输入处理该交易,并决定更新后的 eth1 状态根。关于见证消息和状态根的运作原理,请阅读《无状态客户端概念》。 eth1 执行环境代码可以添加额外的功能,即,将 ETH 和消息从 eth1 执行环境提取到 eth2 的其它部分,以及其它分片上的 eth1 执行环境副本中。在默认情况下,所有 eth1 账户/合约都会放在同一个分片上,因此为了利用 eth2 更大的容量,你需要主动使用这个功能将你的 ETH 或其它应用转移到其它分片上,不过难度不大。我们需要通过扩展 ERC20 标准来支持跨分片代币转账。 用户客户端如何运作 从用户的角度来看,以太坊能够 “感受到” 转换前和转换后(由于 PoS 和 EIP 1559,以太坊在感受后者时更加顺畅)。虽然打包和广播交易所使用的代码路径区别很大,但是它们所提供的功能都是一样的。 我们甚至可以对这种转换进行设计,以便钱包无需经过任何修改,即可通过 RPC 与客户端通信。 用户案例 潜在优化 我们不会在 EE 中照搬沿用 Eth1 的状态根生成方法,而是以适用上述修改后的方法来计算状态根(Instead of including the actual eth1 state root into the EE, we would include the root of the state tree generated by performing all of these modifications)。这是确定性计算,因此所有验证者都可以同时进行计算。这种一次性的计算支出可以大大提高 eth1 转换后的效率和可用性。 原文链接: https://ethresear.ch/t/the-eth1-eth2-transition/6265 作者:Vitalik 翻译&校对:闵敏 & 阿剑—- 编译者/作者:EthFans 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
引介 | eth1 -> eth2 转换
2021-02-09 EthFans 来源:区块链网络
LOADING...
相关阅读:
- IPFS/Filecoin:浅谈Filecoin 的 Gas 费用2021-02-09
- 波卡周报 | 波卡官方总结 Rococo 的最近进展2021-02-09
- 由于以太坊的发展,灰度看涨以太坊的价格2021-02-09
- 加拿大皇家银行:苹果应该跟随特斯拉并创建加密货币交易所2021-02-09
- Bitwise试图推出ETF以追踪“加密创新者”的表现2021-02-09