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