4. 工作量證明

爲了在點對點的基礎上實現分佈式時間戳服務器,我們需要使用類似於 Adam Back 的 Hashcash[6] 的工作量證明系統,而不是報紙或 Usenet 帖子。

工作量證明涉及掃描一個值,該值在進行哈希處理(例如使用 SHA-256)時,哈希值以多個零位開始。所需的平均工作量與所需的零位數量成指數關係,並且可以通過執行單個哈希來驗證。

對於我們的時間戳網絡,我們通過增加塊中的隨機數來實現工作量證明,直到找到一個值,該值爲塊的哈希提供所需的零位。

一旦花費了 CPU 的努力來滿足工作量證明,則在不重做工作的情況下無法更改塊。由於後面的塊鏈接在它後面,因此更改塊的工作將包括重做它後面的所有塊。

工作量證明還解決了確定多數決策中的代表性問題。如果多數是基於一IP地址一票,那麼任何能夠分配多個IP的人都可能會顛覆它。

工作量證明本質上是一 CPU 一投票。多數決定由最長的鏈代表,該鏈投入了最大的工作量證明努力。

如果大部分CPU算力由誠實節點控制,誠實鏈將增長最快並超過任何競爭鏈

要修改過去的區塊,攻擊者必須重做該區塊及其後所有區塊的工作量證明,然後趕上並超越誠實節點的工作量。

稍後我們將證明,隨着後續塊的添加,速度較慢的攻擊者追上的可能性呈指數級下降。

爲了補償不斷增加的硬件速度和隨着時間的推移對運行節點的興趣的變化,工作量證明難度由針對每小時平均塊數的移動平均值確定。如果它們生成得太快,難度就會增加。

#BinanceSquare

#BTC

#BitcoinWorld

#uniswap

#ftx