Blockchain
我可以依靠我的完整節點來始終擁有最新的塊嗎?
我有一個完整的節點正在執行,我正在使用 ZMQ 在新塊到達時通知我。如何確保我的節點收到的這個塊是寫入區塊鏈分類帳的有效塊而不是孤立塊?我可以依靠我的完整節點來擁有最新的區塊嗎?
我怎樣才能確保我的節點收到的這個塊是一個有效的塊
比特幣核心只會(通過 ZMQ)宣布改變最知名的有效鏈尖端的區塊。這意味著他們連同他們所有的祖先都是完全有效的。
而且它不是孤塊
在宣布它時,您知道它是最知名的有效鏈的一部分。當然,總是有可能稍後收到更好的替代分支,它會重組您聽說的舊分支。在這種情況下,您將收到一條新的 ZMQ 通知,以獲取新的最佳提示。
我可以依靠我的完整節點來擁有最新的區塊嗎?
不,當然不。地球周圍的通訊速度是有限的;如果在地球的某個地方發現了一個新區塊,那麼在它有時間傳播給您之前,您無法知道它。
即使忽略這一點,您連接的節點也總是有可能變慢、損壞或惡意,從而阻止它們向您傳播塊。
考慮這一點的唯一正確方法是根本不存在“最佳/最新塊”之類的東西,每個節點都在不斷地試圖趕上新的資訊。從理論上講,您永遠沒有任何保證。在實踐中,節點通常會在幾秒鐘內了解區塊,如果花費的時間太長(比如幾個小時),你就會知道出了什麼問題。