Evm
哪些節點有 evms,它們如何比較結果?
哪些節點有乙太坊虛擬機?我讀過帶有 evms 的節點執行事務並檢查它們是否都得到相同的結果。他們如何同步和比較他們的結果?
哪些節點有乙太坊虛擬機?
所有客戶端都執行 EVM。(所以我認為這基本上意味著“所有節點”,包括輕節點。)
我讀過帶有 evms 的節點執行事務並檢查它們是否都得到相同的結果。
當一個節點收到一個新塊時,它將驗證與每個事務相關的狀態轉換。如果交易不能應用於給定節點儲存的狀態,則該塊將被視為無效而被拒絕。因此,如果一個挖礦節點創建了一個包含無效交易的新區塊,網路的其餘部分將(應該)拒絕它。
他們如何同步和比較他們的結果?
他們不直接比較他們的結果,而是依靠共識機制。如果每個人都在按規則行事,那麼所有節點在收到無效塊時都應該拒絕它們。有一個隱含的假設,即所有節點都這樣做。在這種情況下,有一個隱含的假設,即每個人都有相同的世界觀。
當兩個或多個探勘節點創建不同但有效的塊並將它們傳播到網路時,就會出現複雜情況。如果發生這種情況,網路的一部分將對世界有一種看法,而網路的另一部分將有另一種看法。兩者都有效。這是一個鏈叉。在這一點上,共識算法發揮他們的魔力1來協調鏈的兩個分叉之間的差異,最終導致一個分叉被標記為無效。