Vitalik 在一篇技術文章中提出,如果加入檢查節點,容錯率將提升至 99%,這也意味着網絡中只需要 1% 的誠實節點,這究竟是怎麼回事呢?

原文標題:《Vitalik Buterin Proposes a Consensus Algorithm That Requires Only 1% to Be Honest》
文章來源:Trustnodes
翻譯:藍狐筆記 LS

「如果你增加更多的假設,具體來說,這要求觀察者也積極監察共識,而不只是在事後下載輸出,那麼,你可以將容錯率一直提高到 99%。」

在一篇由 Emin Gun Sirer 評論的高度技術性文章中,V 神提出,這表明可以不要求 50% 以上的礦工或者權益質押者是誠實的,只需 1% 的人誠實即可。

因此,令人害怕的 51% 攻擊在這種共識算法情況下,成爲 99% 攻擊,這也意味着攻擊實際上變成不可能。

從高階視角來看,它的運行方式,按照我們的理解,它是通過要求監聽節點或獨立觀察者來運作。

你可能熟悉比特幣中最先看到的規則。如果不熟悉,這是中本聰在 2010 年 7 月 17 日的解釋,我們完整引用過來:

「我相信,對於一家支付處理公司來說,提供快速分發交易服務是可能的,並且能夠在 10 秒甚至更短時間內完成足夠充分的檢查。」

網絡節點只接收他們收到的第一個交易版本,以便合併到他們試圖生成的區塊中。當你廣播一個交易,如果其他人同時廣播一個雙花交易,這是關於誰先廣播到大多數節點的競賽。如果一個人稍微先行開始,通過網絡進行幾何擴散它會更快,並率先抵達大多數節點。

一個粗略的示例:

Vitalik 提案:在網絡中加入監聽節點,51% 攻擊將變爲 99% 攻擊?

這意味着,如果雙花的交易必須等待即使只是一秒鐘的時間,那麼,它也有巨大的劣勢。

支付處理商跟很多節點有連接。當它收到交易,它就會將其大力擴散,同時監控網絡的雙花交易。如果它在任何一個監聽節點上收到一筆雙花交易,它就會警示該交易是壞的。如果沒有其中的監聽者聽到,雙花交易不會走太遠。

雙花交易將不得不等待,直到監聽階段結束,但到那個時候,支付處理商的廣播已經抵達大多數節點,或者它在廣播方面遙遙領先,雙花交易沒有任何希望能夠超越。

Buterin 提出類似的東西,但是針對區塊的。Buterin 後來澄清說,正如他在原始提案中明確指出的一樣,他沒有發明 99% 容錯共識算法,是 Leslie Lamport 發明的。Lamport 是計算機科學家,曾因爲其在分佈式系統領域的貢獻而獲得圖靈獎。

「我恰好寫了一個解釋器並將其改編爲區塊鏈語境」,Buterin 說。在以太坊開發者 Conrad Barski 的高級別解釋中,他指出:

「Vitalik 建議,如果網絡流量的獨立觀察者(也就是用戶運行的區塊鏈客戶端,不是礦工 / 驗證者)觀察實時發生的事情,並注意信息何時出現,他們可以監測到礦工發起的 51% 攻擊的「犯規行爲」,這可以提供額外的安全保障,可以防止這種攻擊。」

Buterin 後來補充道:「另外一個用例是它可以用作檢測 51% 審查攻擊的工具,並協調使用少數軟分叉來擺脫它們,而不需要靠太多人爲驅動的社會協調工具,以在邊緣情況下選擇一個行爲或其他。」

這聽上去像欺詐證明,一些比特幣核心開發者表示並不存在的這樣的神祕生物。然而,中本聰的白皮書,提到這樣的欺詐證明,以解釋爲什麼不需要保留特定的數據,或爲什麼輕節點可以是非常安全的。

簡單來說,顧名思義,欺詐證明是欺詐、欺騙或不當行爲的證據,或未達成共識的證據。

如果你運行全節點,你在驗證所有內容,因此節點會拒絕不當行爲。但是,如果你不是驗證所有內容,假說你使用的是智能手機,那麼,在極少數情況下,你可能會接收到不正確的數據,而你無法知道它們是不正確的。

欺詐證明提供了這種方式,這裏的建議是,如果我們理解非常好,似乎是因爲獨立觀察者在監測,所以你可以知道數據是不正確的。

當然,所有這些都是由軟件或代碼本身完成的。如在代碼中「知道」一些數據不正確,由此,它會自動拒絕它。Buterin 說:

「如果 5% 的驗證者是誠實的,那麼,在 512 個隨機選擇的節點中沒有一個是誠實的,這種概率大約只有萬億分之一。因此,只要網絡延遲加上時鐘偏差小於 D/2,上述的算法就會有效,它能就某些單個最終值上正確地協調節點,即使在最終值上存在多個衝突(由於閥值相關算法的容錯被破壞)也能正確解決。」

這裏的重點當然是 Casper,這個提議似乎是建議將其納入 PoS。如果它在這種背景下有效,那麼,以太坊區塊鏈可能會變得更加安全。

來源鏈接:vitalik.ca