Go-Ethereum
當奇偶校驗節點不敏感時,共識漏洞是如何發生的?
在熟悉乙太坊的過程中,我發現了多個涉及共識問題的安全警報,最值得注意的是因為 geth 和 parity 客戶端處理某些邊緣情況的方式不同。但是,我還注意到奇偶校驗節點不會自行探勘交易。因此,例如,當奇偶校驗客戶端接受無效交易時,為什麼會導致區塊鏈分叉,因為節點並沒有真正探勘自己(而是例如 ethminer)。或者是 ethminer 不驗證塊,但奇偶校驗客戶端會?
雖然您是正確的 ethminer 或您選擇的任何礦工自己進行探勘,而不是客戶端,但進行探勘的塊和塊頭是由客戶端創建的,通常是 Parity 或 Geth。這意味著,如果存在共識問題,由其中一個探勘的塊將不會被另一個接受。
除此之外,如果只有一個客戶在建構區塊,仍然會出現共識問題。如果 Parity 和 Geth 以不同的方式處理交易,那麼如果 Geth 探勘該區塊,Parity 將認為該區塊無效,因為狀態根將不同。這仍然是一個共識問題。