19 以太坊中的挖礦演算法

2021-10-03 01:19:19 字數 1863 閱讀 4405

對於基於區塊鏈證明的區塊鏈系統來說,挖礦是保障區塊鏈安全的重要手段,block chain is secured by mining。

bug bounty:在美國電影裡面有賞金獵人(bounty hunter),這個是說懸賞去找挖礦bug。

在位元幣的挖礦演算法是是安全的,但是在位元幣系統中存在必須使用asic晶元來挖礦的與去中心化相悖的問題。one cpu,one vote:這才是中本聰的初衷。

所以在後來的區塊鏈系統上,乙個目標就是做到asic resistance, 乙個常用的做法就是增加puzzle對於記憶體訪問的需求,即memory hard mining puzzle,就可以扼制對記憶體要求不高的asic晶元的作用。乙個早期的例子就是萊特幣萊特幣曾經是市值僅次於位元幣的加密貨幣。lite coin使用的雜湊函式是scrypt這是乙個對記憶體要求很高的雜湊函式,但是萊特幣雖然對於挖礦機是memory hard,但是對於輕節點來說也是memory hard,因此實際萊特幣在使用的時候記憶體要求為128k,對輕節點進行了乙個妥協,也最終沒有達到設計目標。

冷啟動問題:是加密貨幣乙個很嚴重的問題,萊特幣雖然沒有達到開始的設計目標,但是解決了一開始的冷啟動問題。

以太坊中用的是兩個資料集,一大一小:16m和1g,這樣就解決了輕節點方便驗證和重節點memory hard的問題。並且為了適應計算機的容量的增長,這兩個資料集的大小也是定期增長的。

而puzzle的驗證和生成是根據dataset來生成的,一開始的時候根據區塊的塊頭block headernonce來算出乙個雜湊,根據這個雜湊來對映dataset中的某個位置,然後進行一些運算,算出下乙個要讀取的位置(每次讀取的時候還要把相鄰節點也讀取出來,這樣迴圈64次,每次讀取兩個數,最終會獲得128個數 ),最後算出乙個雜湊值來,與目標域的值比較一下,看看是不是合適的值,否則就再換另乙個nonce值。

這裡的思考題是不相關,每乙個dataset中的數都是利用cache生成的,在dataset中兩個相鄰節點是沒有關係的。

以太坊的挖礦演算法ethash以太坊的另乙個目標就是將工作量證明轉向權益證明,就是不挖礦了。這個對於asic廠商來說是很不友好的,

這個圖的目的是好看,所以放在這裡。

以太坊之六挖礦演算法

6.1 scrypt演算法 pow本身是為了能讓記賬權能夠隨機分給各個節點而產生的,但是現在有人用了專用的asic晶元,而且迭代速度非常快,把挖礦當做一種職業已經普及開了,這已經違背了pow的初衷。中本聰用位元幣是當作一種去中心化的加密貨幣,可以理解為電子 的投資或者保值類產品。所以需要使用一種as...

以太坊2 0怎麼挖礦 看好以太坊2 0挖礦的潛力

我們先看看關於以太坊的幾個資料。1 截至6月6日,根據intotheblock資料顯示,目前持有以太幣的位址總數已經達到3996萬個,而位元幣的持有位址數為3010萬個,以太坊的持有位址總數已經超過位元幣。而且在持有以太坊的位址中,值得注意的是,持有超過32個以太幣的位址數一直在增長。這很有可能是因...

19 以太坊賬戶

一 以太坊賬戶 上 1 從utxo談起 2 以太坊的做法 3 優缺點比較 位元幣 utxo 模式優點 潛在的可擴充套件性 utxo在理論上更符合可擴充套件性要求。因為我們只需要依賴擁有 utxo 的那些人去維護基於merkle樹的所有權證明就夠了,即使包括所有者在內的每個人都決定忘記該資料,那麼也只...