译者注:据以太坊联合创始人VitalikButerin刚提出的
eth1->eth2转换方案显示,以太坊转换前和转换后,它们会使用非常不同的代码路径来打包和广播交易,而在完成转换后,以太坊1.0将成为以太坊2.0的子系统,而用户经历的更改将是非常有限的。
以下为方案译文:
用户体验
如果你是一名app开发者或app用户,并且本文中描述的路线图被用于完成以太坊1.0->以太坊2.0的过渡,那么你所经历的更改和困扰将是非常有限的。现有的应用将继续运行,而不会有变化。所有账户余额、合约代码和合约存储将延续存在。
而你需要面对及处理的是以下这些:
IO访问操作码的Gas成本将会增加。CALL的Gas成本可能会每访问一字节代码就需要增加1Gas;
日本物联网平台开发商Jasmy与AVITA Technologies成立合资公司:日本物联网平台开发商Jasmy与AVITA Technologies成立了合资公司。
Jasmy将为新公司提供数据管理解决方案,帮助AVITA为客户提供安全的计算机解决方案和带有个人资料柜的设备。随着Jasmy物联网平台与Secure PC解决方案的融合,新公司将为B2B客户提供DaaS设备即服务,为远程办公提供理想解决方案。Jasmy希望将区块链、加密货币和安全物联网解决方案等金融科技应用规模从日本扩大到亚太地区,并最终走向全球。[2023/4/17 14:08:00]
在某个时候,你必须下载实现网络升级的代码。这与任何其它升级没有本质上的区别,但这次的下载量要大一些,这是因为你还需要下载一个以太坊2.0客户端。
Terra Classic独立开发团队TerraCVita拟申请币安“行业复苏计划”资金支持:2月24日消息,Terra Classic独立开发团队TerraCVita发推向社区征求意见,希望申请币安的“行业复苏计划”资金支持。目前已获得社区大多数人的同意,Terra Classic验证者BetterLunc也支持这一想法并强调币安一直致力于为DeFi项目提供帮助。
TerraCVita于今年1月完成100万美元融资,而币安则是在去年11月宣布推出规模达10亿美元的“行业复苏计划”。(The Crypto Basic)[2023/2/24 12:27:54]
区块链可能会暂停大约1个小时。1小时后,“以太坊”就会重新上线了,但此时以太坊1.0将作为以太坊2.0的一个子系统,而不是一个独立的系统运行。
Vitalik Buterin:并不认为zkPorter具有比Optimistic Rollup更强的安全保证,且没有紧密耦合性:以太坊联合创始人Vitalik Buterin针对Matter Labs披露的zkPorter扩容方案表示:并不认为zkPorter具有比Optimistic Rollup更强的安全保证,宁愿将资产放在Optimistic Rollup中,而不是链下数据可用性系统中。zkPorter链下数据可用性的安全级别要低于基础链,且没有紧密耦合性(Tight coupling)。另一方面,分片中的数据可用性层将受到整个以太坊网络的保护,并兼具紧密耦合性。如果某些应用程序同时使用链下数据可用性也是可以的,但前提是链下数据在基于分片的数据可用性可用之前明确为临时措施,但是我认为这没有必要。[2021/4/14 20:17:45]
就是这些了,如果你是一名开发人员,你可通过主动编写验证内容较小的应用程序,来消除gas成本变化带来的最大干扰。
现场 | Vitalik Buterin:“中心化”系统涉及高成本 分片技术能减少交易固定成本:金色财经现场报道,今日,由金色财经提供战略媒体支持的以太坊产业发展峰会在香港举办,会上以太坊创始人Vitalik Buterin发表观点:中心化系统通常涉及较高的固定成本,以太坊技术可以减少相关交易成本。[2018/9/8]
如何实现平稳过渡?
假设阶段0-阶段2已经实现,并且eth2链稳定运行了,我们的目标是让eth1区块链也会继续稳定运行。在阶段0的规范中,已经存在一种名为eth1_datavoting的机制,其中验证者投票同意最近的规范eth1哈希,这种机制被用于处理存款。我们只需要对它稍作修改,然后用于将eth1的完整状态馈送到eth2。
目前,该机制会存在大约6小时的延迟,但这些参数可在过渡前随时间的推移而减小,最终使延迟变成大约1小时。
以太坊创始人Vitalik:若区块链沦为富人的工具 整个行业将变得无趣:Vitalik近期在采访中分享了自己对区块链的看法,他说:“如果只有富人才能使用区块链,那么整个行业就会变得很无趣。”另外,他还对PoW和PoS进行了对比,他认为前者很容易造成硬件中心化,而后者通过适当的奖惩机制将更具优势。[2018/1/5]
影响过渡的基本机制如下:
指定一个过渡区块高度TRANSITION_HEIGHT:TRANSITION_HEIGHT指定的eth1区块将被视为eth1侧的“最终”区块,从那时起,这条eth1链将作为eth2的子系统运行;
与相同时间点,添加对eth2“诚实验证者”代码的更改,该代码不允许对number>TRANSITION_HEIGHT的eth1区块进行投票。如果投票算法先前选择了一些number>TRANSITION_HEIGHT的区块,则投票TRANSITION_HEIGHT高度的祖先区块;
此外,在触发的情况下,验证者应将deposit_count设置为比其真实值高2**63;
当“eth1已经完成”信号被发出,eth2链接收eth1数据时,其执行一次性的“不规则状态转换”,将eth1区块的后状态根放入“eth1执行环境”的状态。这等于eth1链的ETH总供给量被加到这个eth1EE的余额中;
在这一点之后,过渡就完成了。
eth1链在技术上仍继续存在,但它是没有价值的(valueless
),当难度冰河期来临时,它最终会消亡。
此时,eth1系统就位于eth2的内部了,因此,通过在eth2上提交以eth1EE为目标的交易,可进一步转移至eth1系统。eth1EE有实现整个eth1EVM和交易处理逻辑的代码,其具有一个函数升级,它会接受一笔交易和验证内容,根据eth1链上的相同规则处理交易并确定更新的eth1状态根。请参阅无状态客户端概念来了解验证内容和状态根的工作方式。
附加的功能将添加到eth1EE代码中,该代码允许ETH和消息从eth1EE撤回到eth2的其他部分,以及撤回到其他分片eth1EE的副本中。默认情况下,所有eth1帐户/合约都将被放置在同一分片上,因此想要利用eth2增加的容量,你需要主动使用此功能将ETH或其他应用移动到其他分片中,但这并不困难。另外,我们还需要对ERC20代币标准进行扩展,以支持代币的跨分片传输。
用户客户端将如何工作
在过渡之前,面向客户的客户端将被修改成具有两种代码路径。客户端将检查eth2,以查看是否已发生了转换。如果它还没有发生,那么它就会像以前一样使用eth1链发送交易、检查余额等,除非其认为所有number>TRANSITION_HEIGHT的eth1区块都不存在。而如果发生了转换,它将检查eth2上的eth1EE。完整客户端将按顺序处理eth2上以eth1EE为目标的所有交易,以便继续更新完整的eth1状态树。这将允许客户端为它们要发送的任何交易生成验证内容,并以eth2格式“打包”它。而轻客户端会将它们的交易广播至一个完整客户端,该客户端可以为它们添加验证内容。
从用户的角度来看,以太坊转换前和转换后,没有发生大的变化。实际上,转换前后会使用非常不同的代码路径来打包和广播交易,但提供的功能将是相同的。
可能的话,这种转换还可以进行改造,以至钱包通过RPC与客户端通信而不需要改变任何东西。
举个app用户的例子
比如你是在MakerDAO上有CDP,那么在eth1到eth2的转换过程中,你可以好好睡上一觉,当你醒来时,过渡就已经完成了。你可以像以前一样通过发送交易来与CDP交互以及清算CDP,但实际上你的客户端代码将认为你是在转换后的,并将验证数据添加到你的交易中,然后将其发送到eth2网络,而不是eth1网络。
可能的优化
在eth1链到达TRANSITION_HEIGHT,以及eth2上的eth1EE接受到状态之间的期间,我们可以对eth1状态进行一些预处理。比如我们可以:
将十六进制Patricia树替换为二进制稀疏Merkle树,以及一个专用哈希函数,以确保分支的哈希开销保持为O(log(n)),这使Merkle分支的大小减少了约4倍;
用SSZ哈希树替换RLP;
向帐户添加与状态租赁相关的数据字段;
清除“粉尘”账户;
根据“抽象化”提议修改账户结构;
相比将实际的eth1状态根包含到EE中,我们可选择包含通过执行所有这些修改生成的状态树根。这是一种确定性计算,因此所有验证者都可并行完成。这种一次性计算能够节省开销,可大大提高eth1转换后的效率和可用性。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。