以太坊,和所有區塊鏈技術一樣,使用激勵驅動的安全模式。共識基於選擇具有最高總難度的區塊。礦工創造區塊,其他人檢測有效性。區塊只有在包含特定難度的工作量時才有效,還有其他合格性條件。請注意到以太坊Serenity裡程碑,可能就會被取代(參考權益證明模型)。
以太坊區塊鏈在很多方面與比特幣區塊鏈類似,但也有些不同。在區塊鏈架構方面,以太坊和比特幣之間最主要的的區別是,不像比特幣,以太坊區塊不僅包含交易列表也包含最近狀態(merkle patricia特裡結構的根散表編碼在狀態中更精確)除此之外,另外兩個值,區塊數和難度,也儲存在區塊中。
使用的工作量證明算法叫Ethash(Dagger-Hashimoto算法的改良版本),包括找到算法的隨機數輸入以使結果低於特定的難度閾值。工作量證明算法的意義在於,要找到這樣一個隨機數,沒有比列舉可能性更好的策略,而解決方法的驗證瑣碎又廉價。由於輸出有均勻分布(是散表功能應用的結果),我們可以保證,平均而言,需要找到這樣一個隨機數的時間取決於難度閾值。這使得只通過操縱難度來控制找到新區塊的時間成為可能。
正如協議中所描述的,難度動態調整的方式是每15秒整個網絡會產生一個區塊。我們說網絡用15秒區塊時間生產一個區塊鏈。這個 ;心跳 ;基本上主要強調系統狀態同步,保證不可能維持一個分叉(允許double spend)或被惡意分子重寫歷史,除非攻擊者有半數以上的網絡挖礦能力(即所謂的51%攻擊)。
任何參與到網絡的節點都可能是礦工,預期的挖礦收益和他們的(相對)挖礦能力或者說成正比,比如被網絡總散表率標準化的,每秒嘗試的隨機數數量。
Ethash工作量證明是內存難解的,這使它能抵抗ASIC。內存難解性由工作量證明算法實現,需要選擇依靠隨機數和區塊標題的固定資源的子集合。這個資源(幾十億字節大小的數據)叫做DAG。每3000個區塊的DAG完全不同,125小時的窗口叫做epoch(大約5.2天),需要一點時間來生成。由於DAG只由區塊高度決定,它可以被事先生成,如果沒有被事先生成,客戶端需要等到進程最後來生產區塊。如果客戶端沒有預生成並提前緩存DAG,網絡可能會在每個epoch過渡經歷大規模區塊延遲。注意不必要生成DAG以驗證工作量證明,它可以在低CPU和小內存的狀態下被驗證。
在特殊情況下,從零開始創建節點的時候,只有在為現存epoch創建DAG的時候才會開始挖礦。
註:本文資料來歷於網際網路揭露途徑,內容由凱獅資訊傳播分享,所述僅代表個人觀點,不構成投資建議,投資者據此操作風險自擔,如發現違規現象請聯絡刪除。
聲明:本文由入駐金色財經的作者撰寫,觀點僅代表作者本人,絕不代表金色財經贊同其觀點或證實其描述。
提示:投資有風險,入市須謹慎。本資訊不作為投資理財建議。