Bitcoin-Core

2009 節點是否同步整個比特幣區塊鏈

  • February 13, 2020

那麼 2009 年的節點會同步整個比特幣區塊鏈嗎?2013 年的臨時拆分對此有什麼影響嗎?

理論上它可以作為明確的共識規則沒有改變。但是在實踐中,如果不進行一些特殊修改,它將無法同步。

首先,網路版本太舊了,沒有現代節點軟體會接受來自它的連接。此外,自第一個版本以來,網路消息的格式發生了變化,因此它現在包含消息的校驗和。比特幣客戶端的第一個版本沒有消息校驗和。網路協議的這種差異將導致消息對連接中的任何一個節點都沒有意義。

除了網路消息的變化,原來的比特幣客戶端將無法找到要連接的節點。它只能通過使用 IRC 節點發現進行連接,該發現已被禁用和刪除。因此,您需要專門建構 peers.dat 文件,以便它能夠找到要連接的對等點。

最後,除非增加 BDB 鎖的數量,否則原始比特幣客戶端將無法在 2013 年分叉之後同步。使用預設設置,當它到達那個時間時,它將用完鎖,因此無法同步。

如果你能避免所有這些問題(例如,通過使用專門的節點軟體來同步)並增加 BDB 鎖的數量,那麼原始比特幣客戶端應該能夠同步目前區塊鏈,儘管速度非常慢並且可能永遠無法同步到提示。在區塊鏈的目前尖端,驗證一個區塊可能需要比找到一個新區塊所需的時間更長。


幾個月前,我修改了 Bitcoin Core 的一個版本以與 Bitcoin 0.1.0 兼容,然後嘗試同步它。程式碼在這裡。幾天后我停止了這個實驗,因為它只能同步大約 25,000 個塊。

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