Consensus

節點如何拒絕欺詐塊

  • January 23, 2022

我閱讀了有關塊結構、散列、驗證交易的資訊,但我很難理解壞塊是如何被礦工拒絕的。

假設我是一個壞演員並贏得了 PoW 比賽,並且我在區塊內添加了欺詐交易(在狀態更改後仍然有效)。我廣播了我的塊和解決方案。其他節點是否真的檢查了區塊中的交易與他們的本地交易?如果不是,他們如何確定存在不良交易?

如果他們說它是有效的,那麼這個塊不會被廣播到所有節點並使其進入區塊鏈。顯然,這不會發生,但想知道原因。

區塊鏈的座右銘是信任但驗證。每個節點都遵循一組規則,稱為共識規則,它是一組規則,定義了目前區塊鏈中什麼樣的塊是有效的

假設一個壞演員贏得了 POW 競爭並創建了一個無效塊。然後它將這個塊廣播給所有仍在嘗試解決問題的相鄰節點,因為他們不知道問題已經解決。現在,情況分為兩種情況。

  1. 接收塊拒絕該塊:請記住,每個節點都有一個嵌入在其節點程式碼中的共識規則的本地副本。所以它只是簡單地拒絕壞塊並繼續解決忽略壞塊的問題。
  2. 接收塊接受塊:要接受塊,節點的共識規則必須不同於定義有效塊的規則。因此,接受節點可以更改自己的規則並認為該塊有效並將該塊傳遞給下一個相鄰節點。如果許多節點對自己的規則進行相同的更改並繼續傳遞,則有效網路的安全性會降低並形成分叉

現在,如果只有一個礦工是壞人,分叉案發生的機會就會減少。在獲得塊獎勵的激勵上,一個好的礦工會拒絕壞塊並急於解決問題,因為他們仍然有機會獲得獎勵。

但是,如果礦工本身的意圖是定義/更改規則並更改有效區塊,那麼它就是一個分叉,而乙太坊經典鏈就是一個例子。

引用自:https://ethereum.stackexchange.com/questions/119712