關於比特幣和以太坊的節點對比,社區最常用的方法,是使用節點統計網站的數據,例如,當前bitnodes.earn.com統計的比特幣節點數是10459個,而ethernodes.org統計的以太坊節點數則是8580個。乍看之下,兩大區塊鏈網絡似乎平分秋色。

以太坊真全節點不足100個,欺詐證明如何彌補網絡的安全性?

(比特幣節點數)

以太坊真全節點不足100個,欺詐證明如何彌補網絡的安全性?

(以太坊節點統計數)

實則不是這樣。

我們首先需要了解的背景是,當前,完整的比特幣區塊鏈交易數據大小約爲200 GB,而完整的以太坊區塊鏈數據則達到了比特幣的10倍,接近2TB。

以太坊的狀態爆炸,使得用戶要完整存儲數據變得不現實,也因此,當前以太坊的8000多個節點,絕大多數是全驗證狀態後進行修剪工作的節點,當然,爲了好聽一些,以太坊官方還是將這類全驗證節點簡稱爲全節點,而把完整存儲歷史狀態數據的節點稱爲檔案節點(Archive Node),而在今天,以太坊全網的檔案節點只剩下不足100個了。

而比特幣的全節點,其實就相當於以太坊的“檔案節點”,當然,比特幣也有類似的修剪節點,這是在Bitcoin Core 0.12.0 版本客戶端之後提供的一種功能。

而這種修建節點,同樣可獨立完成比特幣轉賬確認,但是它並沒把整個區塊鏈都保存到本地,也就無法提供完整的區塊鏈給其它節點。

可以說,無論是比特幣的全節點,還是以太坊的檔案節點,它們都是各自網絡的主心骨,如果網絡完全失去了它們,網絡的安全性將大大降低,而這類節點數越多,就代表着網絡的抵抗性越強。

而另一種只下載區塊頭交易或狀態數據的節點,我們稱之爲簡化支付驗證(SPV)節點,又稱輕節點,而比特幣和以太坊,都擁有此類節點。(目前,研究者們又提出了簡化版SPV節點,又稱超輕節點,例如FlyClient)

在正常情況下,SPV輕節點的運行是良好的,但當多數全節點出現不誠實行爲的情況下,輕節點的安全保障就會變得較弱。例如,儘管在比特幣或以太坊網絡中的多數非誠實節點,目前只能審查、反轉或重排序交易,如果所有的客戶端都使用的是輕節點,多數共識將能夠相互勾結,產生包含憑空創造貨幣的交易區塊,而輕節點將無法檢測到這一點。另一方面,全節點將立即拒絕掉那些無效區塊。

而由於以太坊的數據太過龐大,其會遇到的挑戰也就越大,爲此,以太坊創始人等研究者就提出了欺詐證明方案和數據可用性證明系統(論文:欺詐證明:通過多數非誠實節點,實現最大化輕客戶端安全性並擴展區塊鏈)。

簡單說,如果以太坊網絡有一個誠實的檔案節點(真全節點),它願意生成在最大網絡延遲的情況下傳播的欺詐證明,然後輕客戶端就能夠接收和驗證來自全節點的無效區塊欺詐證明,而數據可用性證明系統,則負責讓輕客戶端能夠保證全節點生成欺詐證明所需的區塊數據是可用的。

通過這種方式,使得以太坊輕客戶端的安全程度能夠向全節點靠近,當然,這只是在理論上的。

總的來說,就目前的情況而言,比特幣的節點健康度是要遠好於以太坊的,而後者想要解決這個問題,就需要付出更多的努力。

相關文章