[TOC]
## 2.1 以太坊的使用:基础指南
通过本节可以获取用户参与到以太坊项目中的基本方法。首先,要想成为网络中的节点,需要运行一个以太坊客户端。在选择客户端这一节中列出了多重实现,同时针对不同的安装应选择什么样的客户端给出了建议。连接到网络会告诉佝关于网络、连接敀障排除和区块链同步的基本信息。设立私有链等高级的网络主题可以在测试网络章节中看到。
## 2.2 Homestead的发布
Homestead 是以太坊平台的第二个主要版本,也是以太坊发布的第一个正式版本。它包括几处协议变更和网络设计变更,使网络进一步升级成为可能。以太坊的第一个版本 Frontier 实际上是测试版,供开发者学习、试验并开始建立以太坊去中心化的应用和工具。
## 2.3以太坊开发路线图中的里程碑
以太坊上线之前计划的初始开发路线图主要有以下几个里程碑:
* 预发布:Olympic testnet —— 2015 年 5 月发布
* 发布第一个版本:Frontier —— 2015 年 7 月 30 日发布
* 发布第二个版本: Homestead —— 2016 年 3 月 14 日发布(π日)
* 发布第三个版本: Metropolis —— 即将宣布
* 发布第四个版本:Serenity –—— 即将宣布
尽管仍然有效,但它背后的实质已有所改变。Olympic testnet 阶段(Frontier 发布之前)见证了很多主要的改迕,紧接着就发布了 Frontier。Homestead 标志着测试版结束,开始发布正式版本。Homestead 会自动在 1,150,000 号区块引入,大概会发生在 2016 年 3 月 14 日,也就是π日前后。
如果你正在运行一个和实时网络连接的节点,非常有必要升级到 Homestead 兼容的客户端。这些客户端版本列在以太坊客户端下。如果客户端不兼容,你会进入到错误的分叉,不能和网络其他部分同步。
以太坊区块链一旦到达 1,150,000 号区块,以太坊网络就会经历一个硬分叉,带来几项主要变更,这将在下一章节中阐述。
## 2.4 Homestead 硬分叉变更
以太坊仅狭义上来说,是一系列协议。Homestead 带来了几个反向不兼容的协议变更,进而要求硬分叉。这些变更在过程中向以太坊改进建议靠拢,主要包括以下几个内容:
### EIP 2:
* [ ] 通过交易创建合约的费用由 21000 增加到 53000。用 CREATE 操作码通过合约来创建合约不受影响。
* [ ] S 值比 secp256k1n/2 大的交易签名现在被认定无效。
* [ ] 如果创建合约时没有趍够的 gas 用来支付给状态增加合约编码户需的最终gas 费用,合约创建就会失败(例如,无 gas 可用)而不会留下一个空合约。
* [ ] 改变算法难度调整
### EIP 7: DELEGATECALL:
增加一个新的操作码,DELEGATECALL at 0xf4,它和 CALLCODE 的概念相似,不过会把发送者和父作用域的价值发送到子作用域,比如,创建的调用不原始调用具有相同的发送者和价值。这就意味着合约可以通过信息存储通路,同时遵仅父合约中的信息发送者(msg.sender)和信息价值(msg.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 确保以太坊网络上使用的所有客户端软件可以应对未来网络协议升级。
## 2.5参考资料:
* [Reddit 上关于 Homestead 发布的讨论](https://www.reddit.com/r/ethereum/comments/48arax/homestead_release_faq/)
* [初始开发路线图](https://blog.ethereum.org/2015/03/03/ethereum-launch-process/)
* [EIP 2](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-2.mediawiki)
* [EIP 7: DELEGATECALL](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7.md)
* [对 EIP 7 的评论](https://github.com/ethereum/EIPs/issues/23)
* [EIP 8: devp2p Forward Compatibility compliance with the Robustness Principle](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-8.md)