BTC
ETH
HTX
SOL
BNB
查看行情
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

V神:當我們對區塊鏈進行驗證的時候,我們在做什麼?

以太坊爱好者
特邀专栏作者
本文約6181字,閱讀全文需要約9分鐘
有關區塊鏈驗證的哲學。
AI總結
有關區塊鏈驗證的哲學。

編者按:本文來自以太坊愛好者(ID:ethfans)編者按:本文來自

以太坊愛好者(ID:ethfans)

以太坊愛好者(ID:ethfans)

以太坊愛好者(ID:ethfans)

二級標題

二級標題

圖片描述

圖片描述

二級標題

圖片描述

二級標題

用戶對區塊鏈進行驗證主要有兩個好處。首先,這可以在最大程度上讓節點參與到決定合法鏈(也就是被整個社區接受的、具備合法性的鏈)的過程中。通常來說,合法鏈被定義為“有最多礦工或驗證者支持的有效區塊鏈”,比如比特幣中的“最長有效鏈”。無效鏈根據定義就會被拒絕,如果有多條有效鏈競爭,則獲得最多礦工或驗證者支持的鏈獲勝。因此如果你運行一個驗證所有區塊有效性的節點,你將能檢測到哪些鏈有效哪些無效,從而將最大程度地提高檢測出合法鏈的機會。

二級標題

但用戶對區塊鏈進行驗證其實還有一個更深層的益處。假如一個強大的參與者企圖讓網絡接受某個對協議的變更(比如改變發行量),並且有多數礦工支持,在沒有其他人對區塊鏈進行驗證的情況下,這個攻擊很容易就實現了。並且,所有客戶端都會默認接受這條新鏈。等到所有人回過神來意識到這件事時,只能靠反對者通過協調來拒絕這條新鍊鍊。但如果普通用戶也參與驗證,那麼情況就完全不同了,企圖變更協議的攻擊者需要說服驗證用戶主動下載他們的軟件補丁以變更協議。

二級標題

定義的視角vs 協作的視角

看一看這個從“定義的視角” 來討論這件事的例子,來自Gavin Andresen:

二級標題

  • “比特幣” 是一個交易分類賬,以區塊鏈的形式記載帶有合法簽名、花費此前未花費資金的交易。這條鏈由創世塊開始,其哈希為000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f,它按照預定的時間表、在積累了最多double-SHA256 工作量證明的鏈上發行2100 萬枚比特幣。

  • 二級標題

來自Wasabi 錢包的另一個定義,從解釋全節點的價值來說,這個定義更直接了當:

二級標題

使用全節點讓我們享有定義、驗證並執行我們比特幣貨幣規則的權利。

最重要的是你堅守在符合自己規則的鏈上。

從你的角度來說,你的確還擁有在你所認同的規則基礎上構建出來的系統中的貨幣,但那又如何?其他人都不再接受你的貨幣了。交易所不會接受,網站上可能會顯示新貨幣的價格節節高漲,但這新幣指的是擁有多數用戶的鏈上的貨幣,你的貨幣會變得一文不值。密碼學貨幣與區塊鏈從根本上來說乃是社會建構。如果沒有其他人相信,它們將變得毫無意義。

正文

正文

正文

二級標題

但在區塊鏈的應用上,協調問題反而成了我們的優勢。我們利用協調問題造成的不順暢來阻止核心參與者的瀆職行為。我們能夠構建具有X 屬性的系統,並且保證這個X 屬性能夠被保留下來,因為將規則從X 屬性更改為非X 屬性需要一堆人同意並且同時更新他們的軟件。即使有一個參與者可以強制推動更改,他也非常難做到,要比反對者積極協調抵制更改難得多。

正文

我們應該注意到持這個觀點的特殊後果:運行全節點的目的不僅僅是為了保護自己的利益,在發生爭議硬分叉時,運行全節點的用戶很安全,而沒有全節點則不安全。這在更大程度上可以看成一種群體免疫,驗證的人越多,每個人都越安全,而且即使只有一部分人驗證,每個人都可以獲得較高程度的保護。

二級標題

默認造成失敗> 默認導致混亂> 默認取得成功

二級標題

這裡的“大於號” 意思是前者比後者更優。最優的情況是攻擊直接失敗,次優的情況是攻擊導致混亂,造成大家無法就合法鏈達成一致,而最壞的情況則是攻擊成功。為什麼說造成混亂要大大優於攻擊成功?這可以歸結為激勵機制,混亂也會給攻擊者帶來成本,使他們無法確信攻擊能成功,因此能削減攻擊者發起攻擊的動力。天然導致混亂的環境對攻擊者來說,意味著他們需要贏得區塊鏈戰爭(成功發起51% 攻擊)還要贏得“輿論戰”,說服整個社區跟進攻擊鏈。相較於僅僅發動51% 攻擊就必然成功,上述情況將使攻擊變得異常困難,也沒那麼有利可圖了。

圖片描述

分片

這項技術有時也稱為無狀態驗證,客戶端可以只記錄區塊頭,而無需記錄完整的區塊鏈狀態數據,而且可以通過向其他節點請求任意狀態條目的默克爾證明來實時驗證正在處理的區塊。

二級標題

分片

分片

該技術的強大之處在於,輕客戶端只有在收到警報(警報也是可驗證的,如果輕客戶端發現虛假警報,它們可以停止監聽該節點的警報)後才會去驗證單個區塊,因此在正常情況下,輕客戶端依然輕量,只檢查哪些區塊獲得了大多數礦工或驗證者的支持。但在特殊情況下,若多數人所在的鏈包含了一個該輕客戶端不接受的區塊,只要有至少一個誠實的全節點驗證到了這個有問題的區塊,就可以知道其無效,並廣播欺詐證明,從而使網絡中的其他節點也拒絕它。

分片

二級標題

二級標題

這也是現實世界中審計的意義:並不是每個人都隨時在驗證所有內容的,而是第一,每個特定部分都有足夠的人在檢查,任何錯誤都一定能被發現,第二,一旦檢查出錯誤,所有人都可以清楚看到錯誤所在。

二級標題

圖片描述

我們可以說這次攻擊的確導致了混亂,但這是偶然事件而不是以太坊經典社區有意設計如此。可惜的是社區隨後選擇接受了(更長的)攻擊鍊為合法鏈。以太坊經典推特賬戶稱其為“像我們的初衷一樣嚴格遵循工作量證明”。因此,該社區規範竟積極幫助攻擊者獲勝。

結論

這種方法還有發展的潛能。我們可以嘗試製造51% 攻擊來專門審查會導致混亂的交易。對於及時性驗證器的研究也在讓所有類型的攻擊朝著天然失敗的方向發展。儘管如此,仍會有一些混亂發生,因為及時性驗證器無法幫到那些離線或者網絡連接不好的節點。

二級標題

結論

二級標題

ETH
开发者
歡迎加入Odaily官方社群