以太坊(Ethereum,貨幣符號ETH)在設計之初就決定最終要採起權益證實(PoS)去維護交易的安全性,取代效率低下,資源消耗大的工做量證實(PoW)。前期經過PoW創建起一套能夠信賴的數字加密貨幣體系,以後就將基於該貨幣轉到PoS體系,經過權益人交保證金的方式去保證其做爲一個誠實的節點驗證交易的有效性。爲此,以太坊的創始人們爲它設定了4個發展階段:Frontier,Homestead,Metropolis,Serenity,階段之間的轉換須要經過硬分叉的方式實現。安全
Frontier是2015年7月以太坊發行初期的試驗階段,那個時候的軟件還不太成熟,可是能夠進行基本的挖礦,學習,試驗。系統運行以後,吸引了更多的人關注並參與到開發中來,以太坊做爲一個應用平臺,須要更多的人去開發本身的去中心化應用來實現以太坊自己的價值。隨着人氣漸旺,以太坊的價值也水漲船高。app
Homestead是以太坊第一個正式的產品發行版本,於2016年3月發佈。目前以太坊仍運行在該階段,100%採用PoW挖礦,可是挖礦的難度除了由於算力增加而增長以外,還有一個額外的難度因子呈指數級增長,這就是難度炸彈(Difficulty Bomb)。因爲PoS的運用將會下降挖礦的門檻,由於你不須要再去購買價格高昂的硬件礦機,只須要購買必定數量的ETH,將其做爲保證金經過權益證實的方式驗證交易有效性,便可拿到必定的獎勵。所以,對礦工來講他們花高價購買的礦機將無用武之地,這勢必會引發礦工的不滿。爲了防止PoW轉PoS的過程當中礦工聯合起來抵制,從而分叉出兩條以太坊區塊鏈,難度炸彈被引入。難度炸彈指的是計算難度時除了根據出塊時間和上一個區塊難度進行調整外,加上了一個每十萬個區塊呈指數型增加的難度因子。計算公式以下,最右的相加項即爲難度炸彈:分佈式
block_diff = parent_diff + parent_diff / 2048 * max(1 - (block_timestamp - parent_timestamp) / 10, -99) + int(2^((block.number / 100000) - 2))學習
這有點像一個溫水煮青蛙的過程,一開始附加的難度並不引人注意,可是隨着區塊高度的增長,呈指數增加的難度因子比重將會顯著提升,使得出塊難度大大增長,礦工將難以挖出新的區塊。目前以太坊的區塊高度超過420萬,難度炸彈已經開始發揮威力,出塊時間從以前很長一段時間維持的平均15秒左右漸漸增長到了25秒,天天新產生的ETH降到了19000如下(2017年9月2日數據)。因爲出塊愈來愈艱難,到最後區塊將被徹底凍結,這個過程又被稱做「冰川時代」(Ice Age)。有了這個預期,那麼轉PoS引發的硬分叉就不會是一個困難的選擇,畢竟沒有人會繼續待在那條將要走向凜冬的區塊鏈。區塊鏈
然而PoS的機制設計中有不少問題須要解決,開發時間比本來計劃的要長。根據最近的以太坊改進建議EIP-649(2017年8月26日被接受 ), 轉換到權益證實(PoS)的時間節點將被延遲約一年半,工做量證實(PoW)將會繼續擔當大任。爲了避免堵塞交易,維持系統穩定運行,難度炸彈也須要被相應地延遲,實現方式是將挖礦難度按照回退300萬個區塊的高度去計算,所以出塊時間又將回到15秒左右,若是不採起任何行動,則ETH的供應量會明顯超出按本來難度炸彈時間表規劃的供應量,這會致使通貨膨脹,下降ETH的價值,爲了使ETH的供應量與本來計劃的數量至關,因而須要減小每一個區塊的獎勵,從本來的5個ETH減小爲3個ETH,叔塊的獎勵也將相應減小。加密
Homestead的下一階段Metropolis又被分紅了兩個階段:Byzantium和Constantinople。Byzantium預計在9月下旬發佈,屆時難度炸彈延遲和區塊獎勵減小將被執行。Constantinople的規劃與開發預計將在今年晚些時候進行。設計
Byzantium的區塊高度計算調整:3d
fake_block_number = max(0, block.number - 3_000_000) if block.number >= BYZANTIUM_FORK_BLKNUM else block.number cdn
Byzantium的區塊獎勵計算調整,3*10e18 wei,即3ETH:blog
new_block_reward = 3_000_000_000_000_000_000 if block.number >= BYZANTIUM_FORK_BLKNUM else block.reward
樂觀估計,以太坊的最後一個階段Serenity,即轉成PoS的軟件版本至少要到2018年末發佈了,具體實施要到2019年春季後。到時PoS的實行將會吸引更多分佈式節點的加入,爲各類分佈式應用(Dapp)的運行打下物理基礎,以太坊將有但願成爲去中心化領域的app store,互聯網的新時代也將到來。從軟件開發的性質來講,老是會有各類意想不到的問題和難度出現,因此誰也不知道以太坊設想的烏托邦Serenity最終將在什麼時候到來,不過這是一個值得期待的事件。若是說比特幣是數字加密貨幣開創性的先驅,那麼以太坊就是繼往開來的主將,它有着更宏偉的藍圖。