今天,在以太坊研究論壇中悄然誕生了一個新的概念:Proof of Validator。
該協議機制允許網絡節點證明它們是以太坊驗證者,而無需透露它們具體的身份。
這和我們有什麼關係?
一般情況下,市場更容易關注以太坊上某些技術創新所帶來的表層敘事,而很少提前深入研究技術本身。例如以太坊的上海昇級、合併、從PoW轉到PoS以及擴容,市場只記住了LSD、LSDFi以及再質押的敘事。
但不要忘記,性能和安全是以太坊的重中之重。前者決定了上限,後者則決定了底線。
可以明顯看到,一方面以太坊一直在積極推進各種擴容方案來提升性能;但另一方面,擴容路上,除了自己修煉內功,也需要防範外來的攻擊。
例如,如果驗證節點被攻擊,導致數據不可用,那麼一切構建在以太坊質押邏輯上的敘事和擴容方案,可能都會被牽一發而動全身。只是這種影響和風險躲在背後,最終用戶和投機者們難以察覺,有時甚至也不關心。
而本文要談到的Proof of Validator,可能就是以太坊擴容路上關鍵的安全拼圖。
既然擴容勢在必行,如何降低擴容過程中可能蘊含的風險,是一個不可迴避的安全議題,它也與我們每一個圈內人休戚相關。
因此,有必要弄清楚新提出的Proof of Validator的全貌。但由於技術論壇中的全文過於零碎和硬核,並且牽扯到了擴容諸多方案和概念,深潮研究院整合原帖和梳理必要的相關信息,對Proof of Validator產生的背景、必要性和可能影響進行了解讀。
數據採樣(Data Availability Sampling): 擴容的突破口
別著急,在正式介紹Proof of Validator之前,有必要搞清楚以太坊目前擴容的邏輯,和其中可能蘊含的風險。
以太坊社區正在積極推進多項擴容計劃。其中,數據可用性採樣(簡稱DAS) 被視為最關鍵的一項技術。
其原理是將完整的區塊數據分割成若干“樣本(sample)”, 網絡中的節點只需要獲取與自己相關的少數樣本,就可以對完整區塊進行驗證。
這極大地降低了每個節點的存儲和計算量。換一個好理解的例子,這就類似我們抽樣調查,通過訪問不同人,可以總結出全體人群的總體狀況。
具體來說,DAS的實現方式簡述如下:
-
區塊生產者把區塊數據分割成多個樣本。
-
每個網絡節點只取到其關注的少數樣本,而不是完整的區塊數據。
-
網絡節點可以通過獲取不同的樣本,來隨機採樣驗證完整區塊數據是否可用。
通過這種採樣,即使每個節點只處理少量數據,合起來也可以完整驗證整個區塊鏈的數據可用性。這可以使得區塊大小大幅提升,實現快速擴容。
但是,這種採樣方案有一個關鍵問題:海量樣本存儲在何處?這需要一整套去中心化網絡來支持。
分佈式哈希表(Distributed Hashed Table): 樣本的家
這就給了分佈式哈希表(DHT)機會大顯身手。
DHT可以看作是一個巨大的分佈式數據庫,使用哈希函數將數據映射到一個地址空間中,不同節點負責存取不同地址段的數據。它可以用於在海量節點中快速查找和存儲樣本。
具體來說,DAS將區塊數據分割成多份樣本後,需要將這些樣本分佈到網絡中的不同節點上存儲。 DHT可以提供一種去中心化的方法來存儲和檢索這些樣本,其基本思路是:
-
使用一致的哈希函數,將樣本映射到一個巨大的地址空間中。
-
網絡中的每個節點負責存儲和提供一個地址範圍內的數據樣本。
-
當需要某個樣本時,可以通過哈希查找對應地址,並在網絡中查找負責該地址範圍的節點,從中獲取樣本。
比如,按一定規則可將每個樣本哈希為一個地址,節點A負責0-1000號的地址,節點B負責1001-2000號的地址。
那麼地址為599的樣本會存儲在節點A中。需要這個樣本時,通過同樣的哈希查找地址599,再在網絡中查找負責該地址的節點A,從它那裡獲取樣本。
這種方式打破了中心化存儲的局限,大大提升了容錯性和可擴展性。這正是DAS樣本存儲所需要的網絡基礎設施。
與中心化的存儲和檢索相比,DHT可以提高容錯性,避免單點故障,也能增強網絡的擴展性。此外,DHT還能幫助抵禦DAS中提到的“sample hiding”等攻擊。
DHT的痛點: 女巫攻擊
但是,DHT也存在一個致命弱點,那就是面臨Sybil攻擊的威脅。攻擊者可以在網絡中製造大量假節點,周圍的真實節點就會被這些假節點“淹沒”。
類比一下,一個誠實的小販被整排整排的假冒商品圍住,用戶就很難找到真品。這樣攻擊者就可以控制DHT網絡,導致樣本不可用。
舉例來說,要獲取地址1000的樣本,需要找到負責這個地址的節點。但是被攻擊者創建的成千上萬假節點包圍後,請求會被不斷導向假節點,而無法到達真正負責該地址的節點。結果是樣本無法獲取,存儲與驗證都失敗。
為了解決這個問題,需要在DHT上建立一個高信任的網絡層,僅由驗證者節點參與。但是DHT網絡本身無法識別節點是否為驗證者。
這就嚴重阻礙了DAS和以太坊擴容。有什麼辦法可以抵禦這種威脅,保證網絡的可信任性呢?
Proof of Validator: 守衛擴容安全性的ZK方案
現在,讓我們回到這篇文章的重點:Proof of Validator。
在以太坊技術論壇中,今天 George Kadianakis , Mary Maller, Andrija Novakovic , Suphanat Chunhapanya 4人共同提出了這個方案。
它的總體構想是,如果我們能想出一種辦法,讓上一節DHT的擴容方案中,只允許誠實的驗證者加入DHT,那麼想要發起女巫攻擊的惡意者,也必須質押大量ETH,在經濟上顯著提高作惡成本。
這個構想換一句我們更加熟悉的話來說,就是:我想在不知道你身份的前提下,知道你是個好人,並且能識別壞人。
這種有限信息的證明場景,零知識證明顯然能派上用場。
於是,Proof of Validator(下稱PoV)可用於建立一個只由誠實驗證節點組成的高可信DHT網絡,有效抵禦女巫攻擊。
其基本思路是,讓每個驗證節點在區塊鏈上註冊一個公鑰,然後利用零知識證明技術,證明自己知悉這個公鑰對應的私鑰。這就相當於拿出自己的身份證明明自己是驗證節點。
此外,對於驗證節點的抗DoS(拒絕服務) 攻擊,PoV還旨在隱藏網絡層上驗證者的身份。也就是說,該協議不希望攻擊者能夠分辨出哪個DHT節點對應於哪個驗證節點。
那麼具體要怎麼做?原帖用了大量的數學公式和推導,在此不做贅述,我們給出一個簡化的版本:
具體實現上,使用Merkle樹或Lookup表。比如利用Merkle樹,證明註冊公鑰存在於公鑰列表這棵Merkle樹中,然後證明從這個公鑰派生出的網絡通信公鑰是匹配的。整個過程利用零知識證明實現,不會洩露實際身份。
跳過這些技術細節,PoV最終實現的效果是:
只有通過身份驗證的節點才能加入DHT網絡,其安全性大大增加,可以有效抵禦Sybil攻擊,防止樣本被故意隱藏或修改。 PoV為DAS提供了一個可靠的基礎網絡,間接幫助以太坊實現快速擴容。
不過,當前PoV還處在理論研究階段,能否落地還存在不確定性。
但該貼的幾位研究員已經在小範圍進行了實驗,結果顯示,PoV在提出ZK證明的效率上,以及驗證者接收證明的效率還不錯。值得一提的是,他們實驗設備只是一台筆記本,裡面裝的還僅僅是一顆5年前的Intel i7處理器。
最後,當前PoV還處在理論研究階段,能否落地還存在不確定性。但是無論如何,它代表了區塊鏈通往更高擴展性的重要一步。作為以太坊擴容路線圖中的關鍵組件,它值得整個行業持續關注。