[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)