Homestead的发布

Homestead是以太坊平台的第二个主要版本,也是以太坊发布的第一个正式版本。 它包括几处协议变更和网络设计变更,使网络进一步升级成为可能。 以太坊的第一个版本Frontier实际上是测试版,供开发者学习、试验并开始建立以太坊去中心化的应用和工具。

以太坊开发路线图里程碑

参见 这个网址 以获取最新信息。

如果你正在运行一个和实时网络连接的节点,非常有必要升级到一个兼容的客户端。 这些客户端及对应版本可从 以太坊客户端列表 中获得。 如果客户端不兼容,你会进入到错误的分叉,并无法和网络的其他部分同步。

以太坊区块链一旦到达1,150,000号区块,以太坊网络就会经历一个硬分叉,带来几项主要变更,这将在下一章节中阐述。

Homestead硬分叉变更

以太坊从狭义上来说,是一系列协议。 Homestead带来了几个反向不兼容的协议变更,进而要求硬分叉。 这些变更遵循 以太坊改进建议 流程, 主要包括以下几个内容:

  • EIP 2:
    • 通过交易创建合约的费用由21000增加到53000。用 CREATE 操作码通过合约来创建合约不受影响。
    • S值比 secp256k1n/2 大的交易签名现在被认定无效。
    • 如果创建合约时没有足够的gas用来支付给状态增加合约编码所需的最终gas费用,合约创建就会失败(例如,无gas可用)而不会留下一个空合约。
    • 改变算法难度调整
  • EIP 7: DELEGATECALL: 增加一个新的操作码, DELEGATECALL at 0xf4, 它和 CALLCODE 的概念相似,不过会把发送者和父作用域的价值发送到子作用域,比如,创建的调用与原始调用具有相同的发送者和价值。这就意味着合约可以通过信息存储通路,同时遵从父合约中的 msg.sendermsg.value 。这样对创建合约的合约来说是好事,但是不要重复那些存储gas的附加信息。参见对 EIP 7的评论
  • EIP 8: devp2p 向前兼容性符合健壮性原则 RLPx 发现协议和 RLPx TCP传输协议确保以太坊网路上使用的客户端软件可以应对将来的网络协议升级。对于以太坊的旧版本来说,网络协议升级并不被旧客户端所接受,发现接收到的hello数据包不是预期数据时,通信会被拒绝。这个升级意味着未来的客户端版本能够接受即将到来的网络升级和握手通信。

这些变化有以下几项好处:

  • EIP-2/1消除了通过交易创建合约的过量激励,通过交易创建的成本是21000,而通过合约创建的成本是32000。
  • EIP-2/1 在自杀式退款的帮助下修复了协议中的漏洞, 现在只用11664 gas就能实现简单的以太币价值转移。
  • EIP-2/2 修复了交易可塑性方面的担忧(不是安全性缺陷,是用户界面不便利性)
  • EIP-2/3 在合约创建过程中,建立了更加直观的"成功或失败"的区分,而不像现在"成功,失败或者空账户" 三分的情况。
  • EIP-2/4 将设置时间戳区别的过量激励消除到1,以便创建难度稍大的区块,进而保障搞定任何可能的分叉。这样就保证了出块时间维持在10-20范围,并且按照模拟可以恢复目标的15秒出块时间(现在有效时间是17秒)。
  • EIP-7 使合约更容易储存另一个地址,作为编码和"通过"调用的可变来源,子编码会和父编码在本质上相同的环境下执行(除非gas减少,调用栈深度增加)
  • EIP-8 确保以太坊网络上使用的所有客户端软件可以应对未来网络协议升级。

参考资料: