nonce 是一個只使用一次的數字。在挖礦中,它是礦工在計算區塊頭哈希值時需要改變的變數。區塊頭包含前一個區塊的雜湊值、時間戳記、默克爾根、難度目標以及 nonce 值。礦工會嘗試不同的 nonce 值,直到產生的雜湊值低於目標難度。沒有捷徑可走。找到有效 nonce 的唯一方法是不斷嘗試,每秒進行數十億次。第一個找到有效 nonce 的礦工將獲得廣播區塊的資格。
比特幣中的 nonce 欄位為 32 位,這意味著大約有 40 億個可能的值。這聽起來很多,但現代 ASIC 礦機很快就會耗盡 nonce 空間。當 nonce 空間耗盡時,礦工會更改區塊頭的其他部分,例如時間戳或 coinbase 交易,然後重新開始。這樣他們就能獲得一組新的 nonce 值。 nonce 是一個很小的數字,卻承擔著重要的任務。它使得工作量證明機製成為可能,並防止礦工重複使用相同的雜湊值。如果沒有 nonce,隨機產生一個有效的區塊將是不可能的。
臨時事實
- 比特幣中的 32 位元欄位——約有 40 億個可能的值
- 礦工修改以找到有效的哈希值
- 很快耗盡——礦工調整其他標頭字段
- 這並非秘密——獲勝的隨機數字會在版塊中公佈。
nonce 不是一種安全特性。它是一種使雜湊值不可預測且工作可驗證的機制。
Comments
No comments yet. Be the first to share a thought.
Leave a comment