Blockchain

新區塊如何分配

  • December 8, 2017

我了解新區塊是如何創建的,並由創建它的礦工驗證。

但是,它是否將這個新塊通告給附近的節點?這些節點如何驗證這一點?他們會停止探勘自己的區塊嗎?

你如何防止其他節點竊取新區塊並偽裝成自己的區塊?(我猜他們自己的地址中包含的轉賬可以防止這種情況發生?)

我知道可以同時有多個分支,最終一個存活下來,但是如何防止多個分支長時間存活?

當一個節點發現一個新塊時,它會發送一個(未經請求的)inv(庫存消息)來向它的對等點宣布這個新塊。然後,對等方應通過發送getdata請求標頭或完整塊的消息來響應。開發人員參考
更詳細地描述了交換 的消息。

然後節點將檢查標頭,以及每個包含的交易是否符合共識規則。他們很可能會立即根據標頭開始探勘新的空塊(因為他們不知道哪些交易仍未確認),然後在收到的塊得到驗證後切換到探勘非空塊。

每個區塊都包含一個將挖礦獎勵發送給其礦工的交易。其他節點無法更改此交易,因為該塊將不再有效。請參閱什麼是 coinbase?

當兩個區塊1A同時1B被發現時,每個鏈尖將被網路的一部分認為是有效的。一旦找到一個新塊2,它只能擴展兩個鏈尖之一(此處1A→2A),從而將兩個鏈尖之一區分為工作最多的鏈的一部分。當節點聽到這個新區塊2A時,他們將丟棄他們的陳舊鏈尖1B並重組為“最長鏈” 1A→2A

由於任何建立在其上的鏈都不太可能1B超越該1A→2A鏈,因此礦工將浪費他們的力量繼續在過時的鏈上工作。因此,強烈激勵網路收斂到工作量最大的一條鏈上。

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