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

理解以太坊2.0,先理解以太坊2.0核心設計原則

区块链研习社
特邀专栏作者
本文約5851字,閱讀全文需要約9分鐘
一文讀懂以太坊2.0核心設計理念。
AI總結
一文讀懂以太坊2.0核心設計理念。

以太坊技術應用大會今天在北京舉行,V神、以太坊基金會核心成員、以太坊DAPP開發者等重量級嘉賓雲集,此次大會以以太坊2.0為主要議題。

大眾也普遍關注以太坊2.0的進展,此次大會V神發表了名為“以太坊2.0之跨分片交易”的演講。

討論以太坊2.0 路線圖、研究提案及其發展現狀的文章已經很多了,然而有關以太坊2.0 內部運行背後的設計原則和不變量的文章卻不多,本文旨在探討以太坊2.0背後的設計原則。

作者簡介:Raul Jordan,Raul Jordan 是Prysmatic Labs 聯合創始人,也兼任zk Capital 合夥人,畢業於哈佛,區塊鏈工程師、以太坊開發者,專注於Prysmatic Labs 分片技術開發。

二級標題

二級標題

一、歷史

自從以太坊網絡誕生以來,試圖將以太坊從PoW轉換為PoS,是一個重大的進展。 Vitalik Buterin當時正在探索一種可行的解決方案,以防不成熟PoS的缺陷,並提供比PoW更大的安全保障。

尤其是,他和以太坊研究小組設計了一種稱為slasher的的機制,來懲罰PoS中惡意行為者並削減其全部抵押(Buterin 2014)。

數學家Vlad Zamfir隨後加入了該項目,2014年的大部分工作都集中在解決所謂的PoS的遠程攻擊。

當攻擊者可以從頭開始創建一個比當前規範區塊鏈更長的全鏈,以便在新的規範狀態下說服網絡中的其他人時,遠程攻擊就會發生。

這幾乎不可能在PoW中執行,因為它需要大量的複合計算能力。然而,PoS不依賴於計算能力,因此在這種攻擊下會崩潰(Zamfir 2014)。

Vitalik和Vlad都讚同:除了“嚴格阻止客戶同步比某個檢查點更早的鏈”之外,沒有可行的遠程攻擊解決方案(Buterin 2015)。

這意味著,不需從創世區塊同步鏈,網絡中的新節點只需要從最近的“檢查點”同步網絡中最終確定的其他節點。

也就是說,當新節點加入網絡時,舊節點存在固有信任。這種現像後來被稱為PoS的弱主觀性。當新節點加入時,對於“最終確定的”、“不可逆轉的”區塊在網絡中的參與者之間存在主觀信任(Buterin 2018)。

二級標題

然而,

然而,二級標題

二、為什麼選擇ETH 2.0?

本文要解釋核心問題背後的設計理由:“ 為什麼要使用以太坊2.0?”。

當然,對現有系統的共識協議和數據完整性進行徹底檢查,並不是通過硬分叉就可以輕鬆完成的—-從頭開始簡單地創建一個新系統並完全放棄以太坊1.0不是更容易嗎?

構建ETH 2.0 時,我們面臨的一個難題是,需要讓社區了解這一挑戰,並清楚地了解過渡到ETH 2.0 背後的巨大利益和需求。

二級標題

二級標題

三、挑戰未來

缺乏經驗的Layer 1 擴展可能會帶來巨大的安全花費:將區分鏈分片防止全球交易驗證,就像當前比特幣和以太坊鏈所做的那樣。

關鍵問題是:如何在不犧牲去中心化或安全性的同時,獲得可擴展性?許多競爭鏈旨在尋求中心化路線作為解決這一問題的手段。

以太坊選擇不同的方法:將網絡狀態劃分為1024個分片,這些分片表現為一組同質的區塊鏈,每個區塊鏈由稱為信標鏈(beacon chain)的單個根鏈協調。信標鏈在完整的Casper PoS上運行,沒有委託也沒有中心化投票權。

在這種方法中,每個節點僅負責整個網絡中發生的一部分交易,並且許多塊可以並行發生,從而線性地增加整體網絡吞吐量。

此解決方案旨在回答以下問題:

如果交易未被全局驗證,網絡的安全配置文件會如何變化?如何在防止卡特爾形成的同時,選擇驗證參與者?如何設計激勵措施,以最大化數據可用性和鼓勵積極參與?

經過多年的研究、探索以及對取捨的理解,以太坊尋求PoS作為其共識算法。如前所述,獎勵是確定性的,驗證實體在協議中具有相同的待遇、參與委員會的概率相同、同樣獲得獎勵/懲罰。

二級標題二級標題

四、設計不變量 

協議設計的一個關鍵支柱是,理解協議將在哪些不變量下運行。對於以太坊及其開發者社區而言,擁有一份不可協商的設計決策清單,對項目的未來至關重要。

我們可以將ETH 2.0 的核心分解為以下要點:

1、參與網絡應該是無需許可的;

2、Layer 1 在其範圍內應該簡潔,抽象和緊湊;

3、該協議應該是最具表現力的,而不是假設它的未來用途;

4、網絡應該傾向於有生命力,以有效地從任何災難性場景中恢復;

5、將協議的複雜性與應用程序開發的複雜性區分開來。

1、無需許可

以太坊2.0與其他“下一代”區塊鏈之間的顯著差異在於如何確定參與共識。以太坊2.0對驗證者的唯一要求是擁有32枚ETH。

這裡沒有代理,不需要投票去選擇驗證節點,沒有中心化的憲法來決定誰參加。更重要的是,以太坊2.0中的驗證者都被平等對待:每個實體參與的硬性要求都是32個ETH。

但是,任何個人都可以擁有多個驗證者身份。這僅僅是為簡化共識協議的安全性和緊湊性而做的決定。從激勵設計角度考慮,且為了形式化建模,在對區塊進行投票驗證時,平等對待所有參與者是非常重要的。

1個驗證者= 質押32個ETH,不能比這個多。其他鏈旨在通過採用更中心化的驗證方法來解決可擴展性問題。然而,對於以太坊而言,不考慮這種選擇。

2、簡潔,但最具表現力

以太坊2.0在其核心定義和實現目標上,力求簡潔和緊湊。從根本上講,它是一個可擴展的、無需權限的平台,用於搭建去中心化的應用程序。

沒有必要在以太坊2.0中引入應用程序邏輯,這是有充分理由的。人們可以將以太坊2.0系統類比為一個精簡的Linux內核- 它不是由操作系統來決定其所包含的功能或假設的用例,而是由為內核搭建應用程序的開發人員決定。

“假設意圖”這種做法是有限制性的。舊的以太坊格言說“我們沒有任何特徵”,這理念同樣適用於以太坊2.0。

3、保證安全性

以太坊2.0的PoS模式,也就是Casper the Friendly Finality Gadget,在一系列旨在保持高度活躍度和網絡參與度的激勵措施下運作。

以太坊2.0擴展了Casper,以利用其屬性來保護分片區塊鍊網絡的安全。也就是說,以太坊2.0使用“鏈終結性閾值”的概念來確保系統中的1024個分片共享與信標鏈相同的安全池。

PoS的核心前提是,驗證者都會因為按預期完成指定工作而獲得獎勵,或因為處於離線狀態而損失質押金,或因為惡意違反協議而受到嚴厲處罰(質押金被沒收)。

雖然前提很簡潔,但細節決定成敗。一旦我們意識到我們不僅要考慮每個驗證者的行為,而且要且要考慮整個驗證者委員會行為,Casper的經濟學很快變得更加複雜。

一般來說,PoS鏈的一個開放性問題是,應該何時懲罰行為,以及如何根據某些驗證者行為的嚴重性來進行不同的處罰。也就是說,我們需要找到一種足夠全面的懲罰措施,以便在保持簡潔的同時涵蓋所有邊緣案例。

鑑於協議依賴於驗證者活動,且依賴於對運行時間的持久觀測,那麼可能存在誠實的驗證者無法參與的情況。誠實的驗證者可能會由於停電、網絡不穩定或其他因素而離線,但我們需要明確區分離線處罰和惡意行為造成的處罰。

以太坊2.0的部分設計理由是,攻擊者為任何企圖破壞協議的嘗試付出巨大代價。也就是說,在其他鏈中常發生的51%攻擊,在以太坊2.0上應該是成本巨大的,甚至結果會適得其反。

也就是說,在具有明確最終性的協議中,“將最終性逆轉將”會使攻擊者對於誠實的驗證者來說顯而易見,這就使得社區可協調一致地進行軟分叉,以移除惡意行為者並使其攻擊無效。

當然,即使攻擊成功並且這種社區協調不成功,如果攻擊者的唯一目的是破壞系統並造成巨大損失,系統的完整性會減少。

二級標題

二級標題

五、以太坊2.0的驗證者激勵

以太坊2.0 的驗證者激勵措施如下:

1、驗證者離線:Quadratic Leak

以太坊2.0依賴於拜占庭容錯閾值,必須保證網絡中三分之二的驗證者是誠實參與者。對不參與驗證的驗證者的處罰被稱為“inactivity leaks”。

如果一條鏈超過4個epoch時期還未能最終確定,那麼協議對驗證者獎勵就會盡可能嚴格。也就是說,最大期望獎勵會變為0,因此驗證者需要表現得很完美,否則就會面臨更多的懲罰。

懲罰的大小與上一次鏈實現最終性以來的時間成正比,以阻止驗證者離線。

某些驗證者離線的時間越長,這種懲罰就會呈現指數增長,這種就被稱為“Quadratic Leak”。之所以涉及這種懲罰,是希望不會對短期離線造成不利影響,但考慮到預期的現實世界行為,較長時間離線會有很大的不利。

這種罰款而損失的資金會被銷毀,而不會重新分配給誠實的驗證者。

2、故意惡意活動:罰沒

在針對以太坊PoS的早期提案中,惡意驗證者將遭受大規模的懲罰,稱為罰沒(slashing),通常這些機制只討論個別惡意驗證者的處罰,而不討論驗證者串謀起來的嚴重性。如果大部分驗證者協同惡意攻擊網絡,網絡就會受到影響。

根據拜占庭容錯,對惡意行為者的處罰將是在特定時間間隔內惡意行動的驗證者數量的3倍。這有助於懲罰大型協同攻擊,並且還可以阻止惡意驗證者池的產生。

也就是說,在網絡上執行聚合攻擊,對惡意驗證者有利而對普通驗證者不利。通過舉報機制進行罰沒,激勵驗證者發現其他驗證者的可罰沒的違法行為。

3、驗證者獎勵

根據Vitalik的以太坊Serenity 設計原理,他在每個epoch時期中概述了驗證者基本獎勵的4個特定組成部分:

1.通過證明以確定正確的epoch 檢查點而獲得的獎勵的1/4;

2.通過證明以確定正確的chain head 而獲得的獎勵的1/4;

3.通過證明使區塊得以快速進入鏈中而獲得的獎勵的1/4;

二級標題

二級標題

六、把程序複雜性與協議複雜性分開

“以太坊2.0路線圖令人生畏”的說法並不確切,因為以太坊2.0可能是最雄心勃勃且歷時多年的計劃之一,它可以從行業中獲得最好的經驗教訓,並創建一個優雅地解決擴展性三難困境的協議,並且,該協議將能夠持久運行下去。

關於“分片如何顯著降低開發人員體驗”已經進行了大量討論。其依據是,在以太坊2.0協議內部結中剝離應用程序開發人員的需求是非常困難的,因為高度複雜的分片系統需要彼此交互(跨分片交易)。

乍一看,以太坊2.0從外部看起來令人生畏,並且,在以太坊2.0中智能合約如何執行仍不甚清晰。然而,事實要更加微妙。

應用程序開發人員只需要知道一小部分以太坊2.0協議。普通智能合約開發人員無需了解驗證者註冊表或信標鏈終端小工具的內部結構。

因此,階段0從應用層中完全移除。最近階段1和階段2也提出了非常有力的提案,主張對執行環境進行更高程度的抽象化,使以太坊2.0更強大、更簡潔。

二級標題

二級標題

七、構建真實的世界計算機

總而言之,以太坊是圖靈完備的,這意味著它可以像今天的計算機一樣,運行任何類型的可想像的代碼,儘管它還是一台緩慢的、單線程的計算機。

今天的以太坊類似於早期的弱處理器。如今在以太坊運行應用程序是昂貴的,因為該協議已建立機制,以防止困擾公共事業的公地悲劇的出現。

以太坊充滿活力的開發者社區從未停止對當前網絡的改進創新,無論是在核心層還是在layer 2。但是,從治理的角度來看,未來計劃的升級可能會出現問題且很痛苦。

如果以太坊2.0上線幾年後,我們感到受限,並希望建立一個以太坊3.0,那就表示我們在前者的核心設計上失敗了。

可升級性應該以不需要有風險的硬分叉的方式被納入協議。也就是說,一旦系統長期處於運行中,layer 1 的創新應該是最小的或接近於零。

聲明:本文為作者獨立觀點,不代表區塊鏈研習社(公眾號)立場,亦不構成任何投資意見或建議。

-END-

聲明:本文為作者獨立觀點,不代表區塊鏈研習社(公眾號)立場,亦不構成任何投資意見或建議。

聲明:本文為作者獨立觀點,不代表區塊鏈研習社(公眾號)立場,亦不構成任何投資意見或建議。

來源:https://www.tokendaily.co/blog/design-principles-of-ethereum-2-0

ETH
歡迎加入Odaily官方社群