区块广播:

以太经典亚特兰提斯硬分叉详解

ETC亚太社区版主发布在 ETC/以太坊原链
 20514  2

本文来自ETC Labs的Medium博客,由ETC亚太社区翻译整理,转载请注明出处。关注ETC亚太社区公众号,及时获取最新ETC相关资讯。


以太经典通过ECIP-1054提出的亚特兰提斯(Atlantis)硬分叉自公布以来,在社区内得到了很好的反响。这个硬分叉旨在对以太经典网络进行包括EVM和协议在内的一系列升级,使其能够兼容以太坊网络的“虚龙”(Spurious Dragon)和“拜占庭”(Byzantium)分叉实现的协议升级。


亚特兰提斯分叉预计在以太经典主网的第875万区块上进行,大约会在今年的9月中旬实施。

 

本文将为大家具体地介绍以太经典网络通过此次升级会得到怎样的优化,以方便大家进一步理解以太经典,并帮助大家更加科学地规划投资。




以太经典出块率更具可预见性


-EIP 100(更改难度调整,以计算包括叔块在内的平均出块时间)

 

我们目前所使用的公式没有将“叔块出块率”计算在内,因此如果实施这一升级,以太经典的出块率将更具可预见性。

 

可以通过添加以下公式来计算包括叔在内的具体出块数:

 

adj_factor = max(1 + len(parent.uncles) - ((timestamp - parent.timestamp) // 9), -99)

 

DApp开发更加简单


操作码(opcode)和预编译合约(precompiled contract)旨在使DApp的开发更加便捷高效。

 

操作码


-EIP 140(EVM中的REVERT指示)

REVERT指示提供了一种停止执行和恢复状态更改的方法,不会消耗所有提供的gas并且能够反馈原因。目前还没有其他方式可以不消耗掉所有剩余gas就能做到这一点。

 

-EIP 211(新操作码RETURNDATASIZE和RETURNDATACOPY)

这种机制能够在EVM内返回任意长度的数据。调用之后,返回的数据保存在虚拟缓冲区内,调用者可以将其(或部分)复制到存储器中。在下一次调用时,缓冲区就被覆盖了。

 

-EIP 214(新操作码STATICCALL)

该提议添加了一个新的操作码,可用于调用另一个合约(或自身),但禁止在调用期间对状态进行任何修改。这样,合约就可以进行无状态变化的调用,让开发人员和审查人员能确保不会因某种调用而产生再次进入的故障或其他问题;它是一个返回输出的纯函数,不执行任何其他操作。

 

预编译合约


·EIP 198(BIGINT模幂运算的预编译合约)

这种预编译合约用于在EVM内部进行有效的RSA验证。基于比特的指数计算专门针对经常使用的指数2(用于乘法)和3、65537(用于RSA验证)进行运算。

 

预编译合约可简化zkSNARKS的执行


-EIP 196(用于椭圆曲线上的加法和标量乘法的预编译合约alt_bn128)

-EIP 197(用于椭圆曲线上的配对检查的预编译合约alt_bn128)


zkSNARKS能够提供隐私和可扩展性解决方案,但这些解决方案目前成本过高,无法在区块gas限制内进行验证。这些预编译合约将降低gas成本,并且足够灵活,能够进一步研究zkSNARKS。


提高以太经典性能


-EIP 161(状态清算)

此EIP专注于通过删除空帐户来抑制区块链状态大小,以实现更快同步时间等优化。

 

-EIP 170(合约代码大小限制)

此EIP可防止以固定的gas成本重复访问大量帐户代码的攻击情形。大小限制设置为24576字节,大于任何当前所部署的合约。

 

-EIP 658(在收据中嵌入交易状态代码)

随着EIP 98被弃用且EIP 140引入REVERT,调用者不再有明确的机制来确定交易是否成功以及其中所包含的状态更改是否已执行。此EIP用状态代码替换中间状态根,0表示失败(归咎于任何可导致交易或顶级调用重复的操作),1则表示成功。

 

所有更改都记录在EIP中。每个EIP的技术规范可对照下面的列表进行查询:

 

-EIP 100(更改难度调整,以计算包括叔块在内的平均出块时间)

-EIP 140(EVM中的REVERT指示)

-EIP 161(状态清算)

-EIP 170(合约代码大小限制)

-EIP 196(用于椭圆曲线上的加法和标量乘法的预编译合约alt_bn128)

-EIP 197(用于椭圆曲线上的配对检查的预编译合约alt_bn128)

-EIP 198(BIGINT模幂运算的预编译合约)

-EIP 211(新操作码RETURNDATASIZE和RETURNDATACOPY)

-EIP 214(新操作码STATICCALL)

-EIP 658(在收据中嵌入交易状态代码)

 

这些变化的实施预计会按照以下时间进行:

 

-到达1039000区块高度时在Kotti Classic PoA测试网上实施(2019年8月初)

-到达4723000区块高度时在Morden Classic PoW测试网上实施(2019年8月初)

-到达8750000区块高度时在以太经典PoW主网上实施(2019年9月中旬)



本主题由 walterF 于 2019-04-17 16:38:59 审核通过
  • 正序
  • 最新
只看帖主楼层直达
登录 账号发表你的看法,还没有账号?立即免费 注册