Bitcoin-Core
比特幣如何使用它的通信協議和它的數據庫模型?
在比特幣的通信協議方面,比特幣是如何讓節點之間進行通信的呢?
比特幣的通信協議是否與IPFS(星際文件系統)相同,如果不是,使用 IPFS 進行區塊鏈通信是否是個好主意?既然 IPFS 可以傳輸大量數據,那為什麼不通過它發送區塊鏈數據呢?
其次,我在Stack Exchange上發現比特幣使用 LevelDB 來儲存數據。這是否意味著有一個中央伺服器/權限,LevelDB 正在執行整個鏈?如果是,那如何使比特幣去中心化?如果不是,那麼 LevelDB 是否在每個節點上執行?
使用 IPFS 進行區塊鏈通信是個好主意嗎?
比特幣節點形成一個 P2P 網路,使用 TCP 在彼此之間傳遞特定於比特幣的消息。通過使用自定義協議,可以優化比特幣網路的通信並使其能夠抵禦攻擊,而無需依賴任何外部依賴項來做到這一點。
既然 IPFS 可以傳輸大量數據,那為什麼不通過它發送區塊鏈數據呢?
據我了解,IPFS 旨在用作分佈式文件系統。在這方面,對於希望在創建新比特幣節點的引導階段下載區塊鏈的使用者來說,它可能是一個合適的選擇,作為從比特幣網路本身下載相同文件的替代方案。同樣,BitTorrent 網路上也有可用的區塊鏈副本。
請注意,在大多數情況下,從比特幣網路本身下載區塊鍊是最安全的,以確保您收到真實副本,其中沒有插入惡意文件或程式碼。
比特幣使用 LevelDB 來儲存數據。這是否意味著有一個中央伺服器/權限,LevelDB 正在執行整個鏈?
不,比特幣網路中沒有中央伺服器或權限。每個節點都建立和維護自己的數據庫,以便它可以獨立驗證網路的目前狀態。