Nonce
塊頭中的 nonce 是如何到達的?
我的理解是,乙太坊區塊頭部的nonce是一定範圍內的整數(大於0)。
然而,當我通過線上區塊瀏覽器(例如 etherscan)查看區塊時,我看到了具有諸如0x885ddbbf0826351997之類的值的隨機數。
事實上,如果我查看過去一年的塊,我找不到不以 0x88 開頭的塊。
但是,使用散列函式,不太可能看到這麼多以 0x88 開頭的值。
誰能告訴我在乙太坊中尋找有效雜湊值時使用的隨機數如何導致塊頭中顯示的隨機數?
我的公司執行一個區塊鏈瀏覽器。
這是我們為該連結塊提供的資訊。
我查看了原始數據,沒有一個 nonce實際上以 0x88 開頭(從 JSON RPC 呼叫返回到 Parity (1.6.8) 節點)
看起來好像 Etherscan 正在添加這個。我不確定為什麼。這可能與 Etherscan 如何檢測他們的節點有關,或者他們可能只是將其添加到輸出中。
一個推測性的答案,我最初添加為評論。很高興得到糾正。
0x88 == 136,這是 sha3 “塊”的字節大小(而對於 sha256 “塊”,它將是 64 字節 == 0x40)。
“0x88”似乎分散在整個程式碼中,因此這很可能是客戶端前綴,而不是鏈瀏覽器添加的東西。
所以……這可能只是表明隨機數已經用sha3而不是另一種散列算法散列的一種方式……(用於向後兼容性檢查等)