以太坊連載(二):如何使用Homestead文檔及以太坊路線圖

以太坊的使用:基礎指南
經過本節能夠獲取用戶參與到以太坊項目中的基本方法。首先,要想成爲網絡中的節點,須要運行一個以太坊客戶端。在選擇客戶端這一節中列出了多重實現,同時針對不一樣的安裝應選擇什麼樣的客戶端給出了建議。鏈接到網絡會告訴你關於網絡、鏈接故障排除和區塊鏈同步的基本信息。設立私有鏈等高級的網絡主題能夠在測試網絡章節中看到。git

Homestead的發佈
Homestead是以太坊平臺的第二個主要版本,也是以太坊發佈的第一個正式版本。它包括幾處協議變動和網絡設計變動,使網絡進一步升級成爲可能。以太坊的第一個版本Frontier其實是測試版,供開發者學習、試驗並開始創建以太坊去中心化的應用和工具。github

以太坊開發路線圖中的里程碑
以太坊上線以前計劃的初始開發路線圖主要有如下幾個里程碑:算法

  • 預發佈: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號區塊,以太坊網絡就會經歷一個硬分叉,帶來幾項主要變動,這將在下一章節中闡述。工具

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 確保以太坊網絡上使用的全部客戶端軟件能夠應對將來網絡協議升級。

參考資料
Reddit上關於Homestead發佈的討論:https://www.reddit.com/r/ethe...

初始開發路線圖:https://blog.ethereum.org/201...

EIP 2:https://github.com/ethereum/E...

EIP 7: DELEGATECALL:https://github.com/ethereum/E...

對EIP 7的評論:https://github.com/ethereum/E...

EIP 8: devp2p Forward Compatibility compliance with the Robustness Principle:https://github.com/ethereum/E...

EIPs(Ethereum Improvement Proposals):以太坊改進建議

下一篇文章咱們將會介紹《以太坊連載(三):Web 3:去中心化應用平臺》

汪曉明 HPB芯鏈創始人,巴比特專欄做家。十餘年金融大數據、區塊鏈技術開發經驗,曾參與建立銀聯大數據。主創區塊鏈教學視頻節目《明說》30多期,編寫了《以太坊官網文檔中文版》,並做爲主要做者編寫了《區塊鏈開發指南》,在中國區塊鏈社區以ID「藍蓮花」知名。
相關文章
相關標籤/搜索