Block-Validity
許多有效交易中的一個無效交易如何接受一個塊?
當一個區塊被開採時,假設一個區塊中有 2000 個交易中只有一個無效交易。
他們會擺脫那筆交易並接受剩餘的區塊,還是對於那筆無效的交易,他們會拒絕整個區塊?
它不被接受。在一個區塊中,每筆交易本身都必須是有效的,但整個區塊也必須是有效的。如果塊有任何問題,它就是無效的——沒有“部分正確”。
假設一個礦工創建了這樣一個區塊並將其廣播給他們的同行。每個全節點對等節點嘗試驗證該塊並意識到該塊不遵守規則。他們丟棄該塊,不將其轉發給他們的對等方,不將其添加到他們的區塊鏈中,也不更新他們的 UTXO 集。根據礦工將區塊轉發給他們的方式,他們甚至可能會斷開連接並禁止礦工發送無效數據。除非有人在社交媒體上發帖嘲笑礦工,否則沒有人會看到無效區塊……
他們會擺脫那筆交易並接受剩餘的區塊嗎
這不是比特幣(以及任何其他基於區塊鏈的系統)的工作方式。**你永遠不能改變一個塊。**絕不。您可以接受或拒絕阻止,就任何人的選擇而言就是這樣。
但是“更改/省略/拒絕單個交易”?這將導致對該塊的Merkle Tree的級聯增加更改,從而導致不同的最終雜湊,因此(幾乎可以肯定)需要不同的隨機數。這被稱為一個完全不同的塊,恰好也包含許多相同的交易。在所有其他方面,它仍然是一個不同的區塊,最重要的是:它必須完全單獨開採(也就是嘗試不同的隨機數)。任何試圖探勘相似但不同的區塊的人肯定會將自己(或他們的礦池)作為獎勵地址,因此該區塊還有一點不同