Go-Ethereum
達成共識後錢包如何同步區塊
我知道,當使用者送出交易時,該交易會通過遵循此協議https://github.com/ethereum/wiki/wiki/%C3%90%CE%9EVp2p-Wire-Protocol發送給所有對等方。礦工收到這筆交易,檢查有效性和其他事情(如孤立交易),然後將其與一堆其他交易捆綁在一起,最終達成共識並將區塊儲存在區塊鏈中。
錢包客戶端發生了什麼,因為他們沒有達成共識,他們是如何收到區塊的?據我了解,他們連接到 P2P 網路,並且在他們和參與共識的驗證者對等方之間發生了諸如 gossipnig 之類的事情,最後,他們同步了塊
到目前為止我是正確的嗎?
我的第二個問題是八卦協議通常通過將消息從鄰居傳遞到鄰居來八卦消息,結果是當客戶端錢包連接到參與共識的對等點並嘗試同步塊時客戶端錢包如何知道該對等點不會產生假塊或叉子。也許客戶端從所有活動對等方同步並遵循大多數????
我錯過了什麼?
節點從多個節點接收相同的塊和塊頭。如果存在分叉,則假定多數分叉將始終長期獲勝,並且 PoW 協議最終具有統計數據。事實上,乙太坊主網每天都有幾次小分叉。