Relay
一個節點如何從其他節點獲取資訊?
我認為一個節點有時需要從其他節點獲取資訊。
例如
- 獲取一組 UTXO。
- 獲得主(最長)鏈。
我有兩個問題。
- 一個節點如何告訴其他節點這些請求?
就像在 github 中一樣,是否有像“拉請求”這樣的命令? 2. 節點從哪裡獲取資訊?
我相信區塊鍊是去中心化的,所有的資訊都在所有節點的手中。一定不能有中心化的數據庫。
那麼,節點如何決定從誰那裡獲取資訊是可靠的呢?
我希望你能理解我糟糕的英語…
獲取一組 UTXO。
注意:節點不會直接下載 UTXO 集,它們會下載整個區塊鏈並在驗證區塊鏈時建構自己的 UTXO 集。
一個節點如何告訴其他節點這些請求?像 git 一樣,是否有像“拉請求”這樣的命令?
節點之間直接通過 P2P 協議進行通信,相互發送不同類型的消息以檢索不同類型的資訊。您可以在此處查看每條消息的詳細資訊,<https://bitcoin.org/en/developer-reference>
節點從哪裡獲取資訊?我相信區塊鍊是去中心化的,所有的資訊都在所有節點的手中。一定不能有中心化的數據庫。那麼,節點如何決定從誰那裡獲取資訊是可靠的呢?
節點將一次向多個相鄰節點詢問資訊,而不僅僅是信任單個其他節點。然後它可以使用所有鄰居中最長的鏈,所以只要它只連接到一個誠實節點,它就能夠下載區塊鏈。這很可能是因為它連接的節點是從 DNS 伺服器給它的集合中隨機選擇的