共識演算法POW原理及實現
最新
07-29
POW簡介
Proof of Work,工作證明。
POW共識演算法主要是通過計算難度值來決定誰來出塊。POW的工作量是指方程式求解,誰先解出來,誰就有權利出塊。方程式是通過前一個區塊的哈希值和隨機值nonce來計算下一個區塊的哈希值,誰先找到nonce,誰就能最先計算出下一個區塊的哈希值,這種方式之所以被稱為計算難度值是因為方程式沒有固定解法,只能不斷的嘗試,這種解方程式的方式稱為哈希碰撞,是概率事件,碰撞的次數越多,方程式求解的難度就會越大。比特幣就是採用POW共識演算法
演算法具體實現原理
這裡涉及到兩個重要的概念,一個是難度係數,一個是nonce,nonce可以理解為一個隨機數,就是挖礦中要找到一個符合條件的nonce值。
這裡假設難度係數是4(比特幣初始難度係數就是4),將一個區塊中的數據加上nonce值打包,nonce值從0開始一直遞增,將這打包的數據計算hash值,hash滿足最前面有4個0,就是挖礦成功。難度係數為多少,hash最前面就需要滿足多少個0。
代碼簡單實現其原理
輸出


TAG:區塊鏈001 |