Ethereum 2 為什麼有那麼多種 client ?
2 min readSep 30, 2020
隨著 Eth 2 邁向最終的測試階段。截至目前大約有五個堪用的 client:Lighthouse,Teku,Nimbus,Prysm 以及即起直追的 Lodestar。
但到底為什麼要有那麼多的 client 呢?
簡單來說就是要避免過度仰賴某個實作,以免出現重大錯誤導致整個網路毀滅。
更重要的是,Eth 2 設計的機制鼓勵大家不要使用多數人都在使用的 client。什麼意思呢?在 Eth 2 中,一但你的節點離線或是因為軟體實作錯誤而產生惡意行為,整個網路是有權利懲罰你的(取走全部或是部份抵押品)!
但懲罰的前提只有當多數人(超過 1/3)都離線了或是都出錯了,才會被懲罰。
例如在 8 月時的測試網, Prsym 的實作出現了時鐘校對的問題,導致無法取得共識。當時 Prsym 的實作佔了測試網的 ~62% 。而等到問題修好時,這些節點的抵押品也都被清算了。
所以這時候選擇『不從眾』就帶給了驗證者好處,至少你使用的 client 集體壞掉時,你不會是那個會被懲罰的多數。
節錄與參考自這一篇:https://blog.ethereum.org/2020/08/21/validated-why-client-diversity-matters/