Proof-of-Work

乙太坊工作量證明實現中 sha3() 中的參數是什麼意思

  • May 28, 2019
sha3(nonce, currentChallenge, block.blockhash(block.number-1))

在這一行中,我知道塊雜湊是一個隨機數,但是為什麼我們要從前一個塊中取出它,這裡有什麼硬性規定嗎?

sha3(nonce, currentChallenge)

在這一行中只有兩個參數,第三個變數是 sha3 實現中的預設變數嗎?

sha3(nonce, currentChallenge, block.blockhash(block.number-1))
  • nonce是唯一的加一個值,確保事務是唯一的,而不是前一個事務的重放
  • currentChallenge在PoW中使用的均勻隨機值;詳細資訊請參見黃皮書第 6 頁
  • **block.blockhash(block.number-1)**一個雜湊值,其作用是指向塊鏈中的前一個塊。這是將區塊鏈連接在一起的連結機制

是 sha3 你可以傳遞任意數量的參數。它將返回連接字元串的雜湊。

需要上一個塊來驗證塊的父級。

引用自:https://ethereum.stackexchange.com/questions/7192