Verification

區塊驗證時間

  • January 28, 2019

區塊驗證時間(由網路中的所有節點)是否佔總區塊傳播時間的很大一部分?平均百分比是多少?

如果您詢問的是平均時間、第 N 個百分位時間,還是最壞的情況,包括惡意建構塊的可能性,這在很大程度上取決於。

顯然,節點使用它們收到的塊的第一個副本。這樣做的結果是,沿著較慢路徑的塊傳播將被更快路徑上的塊傳播所超越。因此,總體傳播時間主要取決於最快路徑的行為,並且比特幣網路中有許多優化可以使最快路徑通常非常快。

在絕大多數區塊上,該區塊中 >99% 的交易都是事先知道的並且已經過驗證。驗證已經記憶體,唯一需要的進一步驗證是瑣碎的測試,例如防止塊內的雙花和驗證塊時間/高度是否與事務鎖定時間一致。

在由BIP152 HB 模式對等點之間的已知事務組成的塊上,無需大多數驗證即可發生(僅檢查 POW 和雜湊根,這在典型的快速主機上花費不到 1 毫秒)。同樣,即使許多事務事先不知道,光纖轉發也不需要等待驗證(或完成接收)。

因此,平均而言,當今網路中用於驗證的傳播時間量可能更接近於 0% 而不是 1%。根據來自馬特中繼網路的數據,我預計第 99.9 個百分位數將有幾個百分點的驗證。

然而,在最壞的情況下,沒有交易是已知的或已經驗證的,而且在最壞的情況下,一個塊可能需要幾分鐘的處理才能驗證。由於需要額外的數據,光纖仍會相當快地轉發,但仍比典型速度慢幾倍。在這種最壞的情況下,絕大多數傳播時間將花在驗證上,即使使用光纖傳播(即使數據未知,也不需要等待驗證),只是由於最終接收節點自己驗證。

您可能會對這個其他答案感興趣:https ://bitcoin.stackexchange.com/a/80928/52021

社區已經花費了大量精力來優化非惡意區塊案例,因為很清楚需要在那裡做什麼,並且因為提供公平訪問非常快速的傳播對於避免為大型礦工創造優勢至關重要。然而,可以說,對於許多問題,最壞情況下的性能更為關鍵。Fiber 在非驗證相關的最壞情況性能方面取得了一些進步,並且不使最壞情況變得更糟是 segwit 的主要設計目標,但最壞情況仍然是一個更困難且解決得不太好的問題。

引用自:https://bitcoin.stackexchange.com/questions/84045