Blockchain

如果你試圖從同一台電腦跟踪兩個比特幣區塊鏈會發生什麼?

  • March 22, 2021

這可能聽起來很愚蠢,但如果你創建一個全新的比特幣區塊鏈並在同一台電腦上執行它會發生什麼。節點如何知道要與哪個版本的比特幣區塊鏈對話?每個區塊鏈都有唯一的標識符嗎?

比特幣被程式為接受最長的工作量證明鏈,這也是最長的鏈。添加到區塊鏈的每個新塊都使用其雜湊值引用前一個塊。根據您的問題,我提出了許多案例以及您的新“分叉”區塊鏈將如何反應。

  • 您執行比特幣目前正在使用的相同軟體:您的軟體將自動接受來自其他對等方的塊並將其添加到創世塊中。這將帶你進入目前的比特幣區塊鏈
  • 您更改了創世區塊,但使用相同的 DNS 播種:當對等方將向您發送新區塊時,區塊 1 中的前一個區塊雜湊引用將與您的新創世區塊頭雜湊不匹配,因此無法添加該區塊。您現在已經生成了一個全新的鏈。
  • 你分叉了區塊鏈,但在某些時候改變了規則:這就是比特幣現金的創建方式。他們從特定的區塊高度將區塊大小增加到超過 1MB,這導致原始比特幣節點拒絕新生成的區塊。所以你現在有一個來自特定高度的不同鏈。

通過比特幣網路協議發送的每條消息的前 4 個字節都包含一個“幻數”,將其標識為比特幣或其他鏈。比特幣的主網幻數是 0xD9B4BEF9。任何分叉程式碼來實現不同鏈的人都應該使用一個新的幻數來將其與比特幣區分開來。

如果它們根據幻數處理消息,從技術上講,您可以使用同一軟體擁有多個鏈,但您更有可能將它們作為獨立的軟體執行,在這種情況下,您將使用不同的偵聽埠接收傳入連接的軟體。(TCP 不允許多個軟體通過正常方式監聽同一個埠)。每個區塊鏈都知道要連接到您機器上的哪個埠,因為它會通過 gossip 或 DNS 進行廣告宣傳。

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