Proof-of-Work

這段關於區塊頭隨機數的要求有錯誤嗎?

  • March 12, 2021

在此處輸入圖像描述

它說 PoW 評估為一個數組,其中第一項是混合雜湊,第二項是偽隨機數。然而,從等式 49 看來,它似乎是第二項 m,它等於混合雜湊,而第一項 n,它是偽隨機數。我在這裡缺少什麼嗎?

首先,如果我錯了,請有人糾正我。我會嘗試澄清一些事情,但我猜黃皮書有一些此類小錯誤。我總是喜歡並建議查看程式碼。

在第 4.3 節中,我們有:

工作量證明函式(參見第 11.5 節):計算結果為一個數組,其中第一項是混合雜湊,以證明 DAG已使用正確,第二項是一個偽隨機數,密碼依賴於Hd

讓我們看看黃皮書第 11.5 節是怎麼說的:

PoW-yellowpaper_ethereum

PoW 是工作量證明函式,它計算出一個數組,其中第一項是 mixHash,第二項是一個偽隨機數,以加密方式依賴於Hd

我們可以看到等式現在(m,n)不是(n,m),但是論文的兩個部分中的句子是相同的。他們似乎將第 11.5 節中的句子復製到第 4.3 節中,反之亦然。

然後,我們去附錄 J.4 看看 PoW 函式是如何工作的:

Yellowpaper_ethereum_2

然後,我們需要查看程式碼,看看 PoW 函式返回了哪些元素(我想這就是我們想要的函式):

return digest, crypto.Keccak256(append(seed, digest...))

我們可以看到第二個元素確實是一個雜湊,看起來就是mixHash. 所以,我相信方程 49 是正確的,但不是解釋它的句子。

此外,在GitHub 上有一個與此問題相關的未解決的未解決問題。

最後,如果我做出了錯誤的假設,請原諒。

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