以太坊下次分叉重点 看这篇就够了?_LACE:Ctomorrow Platform

过去两周,由于众多的以太坊核心开发者奔赴多伦多参加以太坊扩展会议,每周一次的电话会议被迫取消。本周五晚,以太坊核心开发者将继续举行电话会议,议题抓要围绕伊斯坦布尔硬分叉,并决定最终入选的提案。

从设计层面来说,伊斯坦布尔硬分叉是以太坊将走向Serenity阶段最后的分叉。同时,本次分叉的提案涉及问题众多。如果一些问题在本次分叉中得不到解决,将对以太坊后续生态发展影响重大。另据以太坊2.0研究员JustinDrake所说,以太坊2.0阶段0将于2020年1月3日发布。

推迟ProgPoW,聚焦「状态租赁」

上个月17号,伊斯坦布尔硬分叉提案征集结束,共收集了29个提案。这些提案分别是:

EIP-615:EVM的子程序和静态跳转

EIP-663:无限制的SWAP和DUP指令

EIP-1057:ProgPoW,一种程序化的工作证明

EIP-1108:降低alt_bn128预编译gas成本

EIP-1109:PRECOMPILEDCALL操作码

EIP-1283:没有dirtymaps,测量SSTORE的净gas成本

EIP-1344:添加ChainID操作码

EIP-1352:为预编译/系统合同指定受限制的地址范围

EIP-1380:减少自我呼叫的gas成本

EIP-1559:改变ETH1.0链gas费用

EIP-1965:检查chainID在特定块号处是否有效的方法

EIP-1702:广义帐户版本控制方案

EIP-1706:当gas费用低下时,禁用SSTORE

EIP-1803:重命名操作码

EIP-1829:椭圆曲线线性组合的预编译

EIP-1884:重新定义依赖于trie-size的操作码

EIP-1930:Gas呼叫标准严格化,如果没有足够的gas调用可以复原。

EIP-1985:某些EVM参数的合理极限

EIP-1959:新的操作码,检查chainID是否是chainID历史的一部分

EIP-1962:EC算术和与运行时定义的配对

EIP-2014:扩展状态Oracle

EIP-2026:状态租赁H-固定帐户预付款

EIP-2027:状态租赁C-核算净合同规模

EIP-2028:降低CalldataGas成本

EIP-2029:状态租赁A-状态柜台合约

EIP-2031:状态租赁B--净交易柜台

EIP-2035:无状态客户端-重新定价SLOAD和SSTORE以支付块证明

EIP-2045:EVM操作码粒子的gas成本

EIP-2046:降低对预编译程序进行静态调用的gas成本

此前的核心开发者电话会议,临时批准的提案是EIP1108——提议对以太坊网络的Gas费用进行了微小改动。不过,开发人员强调,该提案虽然获得批准,但需要在之后的核心开发人员会议上提交基准数据。

另外,备受关注提案EIP-1057可能被推迟。EIP1057提出了一种改进的PoW算法,称为“渐进式PoW”或ProgPoW,旨在更好地利用GPU特定的计算功能。

此前,开发人员通过开源赏金平台Gitcoin进行众筹募集了5万DAI,作为ProgPoW代码审计资金。但由于该代码至今并未找到第三方机构进行审计,因此在5月24日的开发者会议上被宣布推迟。

同样被推迟的还有EIP-1559,该提案旨在改变以太坊交易费模式,但由于过于复杂,被开发者“抛弃”。

在这些提案中,「状态租赁」显得格外耀眼。

「状态租赁」设计初衷是,以太坊的状态大小当前已经是非常庞大了,如果其继续以目前的速度增长,以太坊网络将变得异常臃肿。而我们正在低估存储的长期成本,存储成本可以近似地建模为:字节*时间,因此,我们有必要对当前以太坊的状态设计进行改动。

根据以太坊2.0的路线图来看,状态租赁也将在ETH2.0进行部署。到底要不要在ETH1.0重新耗时费力地开发,相信也会成为本周五电话会议的讨论热点。

删减提案

上述提案也在社群中也引起广泛讨论,不少开发者质疑有些提案内容重复,应该进行删减。

开发者AlexBeregszaszi表示:“我很困惑。我认为那些提出相互冲突、相邻、重复的EIP的建议应该在再次提出之前达成一些共识。如果他们没有明确规定,那么争论EIP就没有什么意义。”

直到目前,提案审计进程仅仅进行了一小段,核心开发者们能否在本周五给出最终答案,仍然悬而未决。

Alex认为,一些提案其实并不需要在硬分叉中进行,可以联系以太坊客户端开发人员解决。“那些作者不应该只是试图自己解决它,而是要联系一些相关的开发人员,比如客户端开发人员来审查他们的想法。如果每个人都等着核心开发者召开电话会议讨论实施,我们将没有足够的时间讨论所有这些提案。”

对于上面的EIP,开发者社群目前也在讨论进行缩减,以降低核心开发者工作量,提高效率。

硬分叉时间表

除了关注提案,关于伊斯坦布尔硬分叉的时间安排也同样值得关注。

根据前硬分叉协调员AfriSchoedon制定的时间表,硬分叉过程分解为“一个固定的9个月周期”。伊斯坦布尔硬分叉时间表如下:

2019-05-17(星期五):接受“伊斯坦布尔”提案截止日期

2019-07-19(星期五):主要客户端实现的截止日期

2019-08-14(星期三):测试网升级时间

2019-10-16(星期三):主网升级时间(“伊斯坦布尔”)

目前已经完成了第一阶段提案收集,接下来要进行的则是“主要客户端实现”。所谓的“主要客户端实现”,即将已接受的EPI合并到以太坊现有客户端中,这一步类似于将代码组合在一起,这样就可以对其进行全面测试。

不过,按照以太坊一贯的调性,这次硬分叉“按时”完成的可能性并不高。此前的君士坦丁堡分叉中,就出现了代码漏洞,导致分叉延期。

以太坊基金会的受助人AlexeyAkhunov在Gitter聊天室中说道,每个人都应该考虑“截止日期”,不应该为了截止而截至,一切以做好工作为前提。

“我自己也在思考这个截止日期的目的是什么?”Akhunov说,“因为这是第一次引入这么多东西,所以我们来这里是为了确保我们所做的事情是有原因的,而不是因为‘有人这么说’。”

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

[0:0ms0-3:880ms