Relay

一個節點如何從其他節點獲取資訊?

  • March 22, 2018

我認為一個節點有時需要從其他節點獲取資訊。

例如

  • 獲取一組 UTXO。
  • 獲得主(最長)鏈。

我有兩個問題。

  1. 一個節點如何告訴其他節點這些請求?

就像在 github 中一樣,是否有像“拉請求”這樣的命令? 2. 節點從哪裡獲取資訊?

我相信區塊鍊是去中心化的,所有的資訊都在所有節點的手中。一定不能有中心化的數據庫。

那麼,節點如何決定從誰那裡獲取資訊是可靠的呢?

我希望你能理解我糟糕的英語…

獲取一組 UTXO。

注意:節點不會直接下載 UTXO 集,它們會下載整個區塊鏈並在驗證區塊鏈時建構自己的 UTXO 集。

一個節點如何告訴其他節點這些請求?像 git 一樣,是否有像“拉請求”這樣的命令?

節點之間直接通過 P2P 協議進行通信,相互發送不同類型的消息以檢索不同類型的資訊。您可以在此處查看每條消息的詳細資訊,<https://bitcoin.org/en/developer-reference>

節點從哪裡獲取資訊?我相信區塊鍊是去中心化的,所有的資訊都在所有節點的手中。一定不能有中心化的數據庫。那麼,節點如何決定從誰那裡獲取資訊是可靠的呢?

節點將一次向多個相鄰節點詢問資訊,而不僅僅是信任單個其他節點。然後它可以使用所有鄰居中最長的鏈,所以只要它只連接到一個誠實節點,它就能夠下載區塊鏈。這很可能是因為它連接的節點是從 DNS 伺服器給它的集合中隨機選擇的

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