Blockchain

礦工修改未確認的交易並放入區塊

  • January 19, 2021

有沒有可能是礦工修改了一個未確認的交易(比如把交易的輸出改成礦工自己)放到本地區塊,10分鐘後礦工幸運地解決了PoW,把區塊放到鏈上廣播給別人?

如果交易被修改並最終連結到鏈上,其他人如何檢查 tx 是否有效?(其他人只檢查 PoW 答案是對還是錯,而不檢查 tx,對嗎?)

如果修改後的 tx 在鏈上,受影響的人如何從修改後的 tx(其中輸出被修改給礦工本人)的損失中恢復他們的資產?他們可以要求撤銷封鎖嗎?或者他們怎麼做?

謝謝

有沒有可能是礦工修改了一個未確認的交易(比如把交易的輸出改成礦工自己)放到本地區塊,10分鐘後礦工幸運地解決了PoW,把區塊放到鏈上廣播給別人?

不,因為交易將是無效的。絕大多數交易都包含對整個交易進行簽名的數字簽名。如果交易發生變化,簽名將失效,因此交易將無效。如果一個交易是無效的,包含它的區塊也是無效的。

如果交易被修改並最終連結到鏈上,其他人如何檢查 tx 是否有效?(其他人只檢查 PoW 答案是對還是錯,而不檢查 tx,對嗎?)

不,這是完全不正確的。所有完整節點都會驗證它們收到的所有塊中的所有交易(以及在塊外收到的交易)。僅僅因為一個塊具有有效的工作證明並不意味著該塊是有效的。它仍然必須建立在一個有效的塊上,並且必須只包含有效的交易。全節點仍會驗證塊中包含的交易是否有效。

與普遍的看法相反,礦工並沒有說什麼交易是有效的。他們的工作是在一定的限制範圍內確定交易的順序。驗證交易是全節點的工作,所有礦工(或礦池)都應該執行全節點。

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