文章出于:http://wangxiaoming.com/blog/2016/05/26/ethereum-2/
通過本節(jié)可以獲取用戶參與到以太坊項目中的基本方法。首先,要想成為網(wǎng)絡(luò)中的節(jié)點,需要運行一個以太坊客戶端。在選擇客戶端這一節(jié)中列出了多重實現(xiàn),同時針對不同的安裝應(yīng)選擇什么樣的客戶端給出了建議。連接到網(wǎng)絡(luò)會告訴你關(guān)于網(wǎng)絡(luò)、連接故障排除和區(qū)塊鏈同步的基本信息。設(shè)立私有鏈等高級的網(wǎng)絡(luò)主題可以在測試網(wǎng)絡(luò)章節(jié)中看到。
Homestead是以太坊平臺的第二個主要版本,也是以太坊發(fā)布的第一個正式版本。它包括幾處協(xié)議變更和網(wǎng)絡(luò)設(shè)計變更,使網(wǎng)絡(luò)進一步升級成為可能。以太坊的第一個版本Frontier實際上是測試版,供開發(fā)者學習、試驗并開始建立以太坊去中心化的應(yīng)用和工具。
以太坊上線之前計劃的初始開發(fā)路線圖主要有以下幾個里程碑:
盡管仍然有效,但它背后的實質(zhì)已有所改變。Olympic testnet階段(Frontier發(fā)布之前)見證了很多主要的改進,緊接著就發(fā)布了Frontier。Homestead標志著測試版結(jié)束,開始發(fā)布正式版本。Homestead會自動在1,150,000號區(qū)塊引入,大概會發(fā)生在2016年3月14日,也就是π日前后。
如果你正在運行一個和實時網(wǎng)絡(luò)連接的節(jié)點,非常有必要升級到Homestead兼容的客戶端。這些客戶端版本列在以太坊客戶端下。如果客戶端不兼容,你會進入到錯誤的分叉,不能和網(wǎng)絡(luò)其他部分同步。
以太坊區(qū)塊鏈一旦到達1,150,000號區(qū)塊,以太坊網(wǎng)絡(luò)就會經(jīng)歷一個硬分叉,帶來幾項主要變更,這將在下一章節(jié)中闡述。
以太坊從狹義上來說,是一系列協(xié)議。Homestead帶來了幾個反向不兼容的協(xié)議變更,進而要求硬分叉。這些變更在過程中向以太坊改進建議靠攏,主要包括以下幾個內(nèi)容:
EIP 2:
通過交易創(chuàng)建合約的費用由21000增加到53000。用CREATE操作碼通過合約來創(chuàng)建合約不受影響。
S值比secp256k1n/2大的交易簽名現(xiàn)在被認定無效。
如果創(chuàng)建合約時沒有足夠的gas用來支付給狀態(tài)增加合約編碼所需的最終gas費用,合約創(chuàng)建就會失?。ɡ纾瑹ogas可用)而不會留下一個空合約。
EIP 7: DELEGATECALL:增加一個新的操作碼,DELEGATECALL at 0xf4,它和CALLCODE的概念相似,不過會把發(fā)送者和父作用域的價值發(fā)送到子作用域,比如,創(chuàng)建的調(diào)用與原始調(diào)用具有相同的發(fā)送者和價值。這就意味著合約可以通過信息存儲通路,同時遵從父合約中的信息發(fā)送者(msg.sender)和信息價值(msg.value)。這樣對創(chuàng)建合約的合約來說是好事,但是不要重復那些存儲gas的附加信息。參見對EIP 7的評論。
這些變化有以下幾項好處:
EIP-2/1消除了通過交易創(chuàng)建合約的過量激勵,通過交易創(chuàng)建的成本是21000,而通過合約創(chuàng)建的成本是32000。
EIP-2/1 在自殺式退款的幫助下修復了協(xié)議中的漏洞, 現(xiàn)在只用11664 gas就能實現(xiàn)簡單的以太幣價值轉(zhuǎn)移。
EIP-2/2 修復了交易可塑性方面的擔憂(不是安全性缺陷,是用戶界面不便利性)
EIP-2/3 在合約創(chuàng)建過程中,建立了更加直觀的"成功或失敗"的區(qū)分,而不像現(xiàn)在"成功,失敗或者空賬戶" 三分的情況。
EIP-2/4 將設(shè)置時間戳區(qū)別的過量激勵消除到1,以便創(chuàng)建難度稍大的區(qū)塊,進而保障搞定任何可能的分叉。這樣就保證了出塊時間維持在10-20范圍,并且按照模擬可以恢復目標的15秒出塊時間(現(xiàn)在有效時間是17秒)。
EIP-7 使合約更容易儲存另一個地址,作為編碼和"通過"調(diào)用的可變來源,子編碼會和父編碼在本質(zhì)上相同的環(huán)境下執(zhí)行(除非gas減少,調(diào)用棧深度增加)
Reddit上關(guān)于Homestead發(fā)布的討論:https://www.reddit.com/r/ethereum/comments/48arax/homestead_release_faq/
初始開發(fā)路線圖: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
EIPs(Ethereum Improvement Proposals):以太坊改進建議