作者|RaulJordan
編譯|Jhonny
很多文章都在討論以太坊2.0的路線圖、研究提案及其發展現狀。然而有關以太坊2.0內部運行背后的設計原則和不變量的文章卻不多。
對于以太坊2.0這樣一場需要協調并耗時數年的重大變革來說,其成功的關鍵在于需要一組明確的不變量(invariants)并要求實施者(implementers)與以太坊的哲學理念保持一致。本文將解釋其中一些設計決策、相關背景以及為何這些設計對于以太坊2.0協議的未來至關重要。
歷史回顧
自以太坊網絡誕生以來,將以太坊從PoW轉換為PoS協議的動機就在不斷演化。當時VitalikButerin正在探索一種可行的解決方案,以克服單純的PoS協議存在的缺陷,從而提供比PoW更強大的安全保障。具體來說,Vitalik和以太坊研究團隊設計了一種稱為slasher(罰沒)的機制,用以在PoS協議中懲罰惡意攻擊者并罰沒他們的存款(Buterin2018)。
之后VladZamfir加入了以太坊項目,2014年的大多數工作都集中在解決已知的針對PoS的遠程攻擊(long-rangeattack)。
當攻擊者輕易地從頭開始搭建一條比當前的規范鏈更長的鏈,并導致網絡中的其他參與者認可新鏈的狀態時,這就是遠程攻擊。
這種情況幾乎不可能在比特幣或以太坊等PoW鏈上發生,因為這需要整合大量的計算能力。然而,由于PoS機制并不依賴于計算能力,因此在遭遇這種攻擊時會導致網絡崩潰(Zamfir2014)。
VitalikButerin和VladZamfir一致認為,除了嚴格地阻止客戶端同步一條超過某個checkpoint(檢查點)的鏈之外,沒有其他可行的抵御遠程攻擊的解決方案(Buterin2018)。
這種方法意味著,網絡中的新節點只需要從那個最新的、由網絡中的其他節點認可為“finalized”的“checkpoint”開始同步,而不是從創始區塊開始同步。也就是說,當新的節點加入到網絡中時,新節點對舊節點存在固有的信任。這種現象被稱為PoS的弱主觀性(weaksubjectivity)。當新節點加入網絡中時,對在網絡所有參與者中已經被“finalized”且不可篡改的區塊存在主觀信任(subjectivetrust)。
數據:DeFi TVL約為430.77億美元,Lido位列第一:金色財經報道,據DefiLlama數據顯示,目前DeFi的TVL約為430.77億美元,其中,Lido約為150.02億美元,位列第一。其次是AAVE,約58億美元。第三是MakerDAO,約51億美元。[2023/7/30 16:06:53]
在那段時間,VitalikButerin和以太坊基金會的VirgilGriffith都致力于在ArXiV(https://arxiv.org/abs/1710.09437)網站上發布最初版的CasperProofofStake白皮書。2014至2017年這段很長的時間,以太坊試圖在當前運行PoW機制的以太坊主鏈之上覆蓋一個基于PoS機制的最終性系統(aPoSbasedfinalitysystem)。與此同時,以太坊開發者們也致力于實現狀態分片(statesharding),將之作為擴展以太坊網絡的方案。
而到了2018年時,這兩項規劃都得到了重大的推進,且2018年3月份在臺北的一場標志性研究聚會之后,以太坊研究團隊提議將CasperProofofStake和Sharding合并到一項稱為以太坊Serenity(也即以太坊2.0)的發展方案中。
為何要推出以太坊2.0?
本文旨在解釋“為何要推出以太坊2.0?”這一核心問題背后的設計理念。
當然,對當前以太坊PoW鏈的共識協議和數據完整性進行全面變革并不是通過僅僅一次硬分叉就能夠輕易實現的--重新開始搭建一個全新的系統并將當前的以太坊1.0鏈完全地摒棄,這不是更容易嗎?
在搭建以太坊2.0時,我們遇到的一個難題就是需要讓以太坊社區參與到這場挑戰中來,并讓社區成員清楚地了解過渡到以太坊2.0背后的巨大益處和需求。在了解了伴隨這種范式轉換而來的巨大責任之后,現在是構建以太坊2.0的絕佳時機。
不管我們是否愿意承認,當前區塊鏈和加密貨幣依舊處于襁褓階段,并且我們今天所做的決定將推動區塊鏈和加密貨幣在未來多年的加速增長和采用。在轉向PoS機制方面,我們已經等待了足夠長的時間,以太坊應用亦是如此。當前已到了構建以太坊2.0的最佳時間,相關團隊也做好了相應的準備。
Tether CTO:比特幣是持有財富的“終極方式”:金色財經報道,Tether和Bitfinex首席技術官Paolo Ardoino在談及過去幾個月發生的事情時表示,“這幾個月發生的事情表明比特幣支持者和比特幣maxis一直是正確的,比特幣是持有財富的“終極方式”。[2023/3/31 13:37:33]
前方的挑戰
單純的Layer1擴展可能會付出巨大的安全性代價,因為對區塊鏈進行分片會使得無法對交易進行全局性驗證(globaltransactionverification,也即網絡中的所有礦工(除了惡意攻擊者之外)都會致力于對所有交易進行確認,所有礦工的算力保證了整條鏈的安全。而分片則意味著某條分片鏈中的交易只由整個網絡中的一部分驗證者進行驗證(因為整個網絡中的驗證者會被分配到各個分片鏈中負責交易驗證),如此一來,單條分片鏈的安全性就比整條鏈的更低);當前的比特幣和以太坊就能夠對交易進行全局性驗證,從而保證了整個網絡的安全。
關鍵的問題是:我們如何在不犧牲去中心化和安全性的同時獲取擴展性呢?以太坊的很多競爭性區塊鏈平臺(如EOS)選擇走中心化的路線來解決這一問題。而以太坊選擇了一種不同的方式,即將網絡的狀態劃分到1024條并行運行的分片鏈之中,每條分片鏈都由統一由一條稱為信標鏈(beaconchain)的根鏈進行協調。
信標鏈運行完全的CasperPoS機制,整個體統中不存在EOS那樣的代理或中心化的投票權。在這種方式中,每個節點只需要負責處理整個網絡中所有交易的一部分,且很多區塊可以并行處理交易,這就線性增長了整個網絡的吞吐量。
以太坊2.0規范試圖回答以下問題:
如果沒有對交易進行全局性驗證,那網絡的安全性將會受到什么影響呢?應該如何選擇驗證的參與者同時阻止驗證壟斷的出現呢?應該如何設計激勵措施,以最大限度地提高數據可用性和參與的積極性?
在經過多年的研究、探索和理解需要做出的權衡之后,以太坊探索著將PoS作為其共識算法的選擇。出于文本中討論的原因,驗證者是一定能夠獲得獎勵的,同時驗證實體(個人或企業)在CasperPoS協議中享有平等的待遇,在參與到驗證者委員會并獲得獎勵/處罰方面有著均等的概率。
Sui基金會為表彰早期貢獻者設立Builder Hero Award獎項:2月8日消息,Sui基金會宣布設立Builder Hero Award,旨在表彰早期為Sui生態系統做出貢獻的社區成員,包括在Devnet上構建原型和產品、構建開發工具、幫助教育其他構建者的貢獻者。
SuiNetwork將在2月17日公布獲獎者并單獨聯系已發放獎品,最多將有15個獲獎者,獎品包括一次性現金獎勵、Sui Builder House邀請函和Sui禮品。[2023/2/8 11:54:26]
交易的全局性驗證轉變成了間接性驗證:每條分片鏈中的每筆交易都將首先由該分片中的驗證者進行驗證,該分片的驗證者會將檢查點(checkpoints)提交至信標鏈中,信標鏈在以太坊2.0中扮演著各分片鏈的“協調者”角色。
以太坊2.0設計的不變量
協議設計的一個關鍵支柱就是理解該協議將在哪些不變量下運行。
對于以太坊及其開發者社區來說,存在一個不可修改的設計決策對于以太坊2.0的未來發展是至關重要的。我們可以將以太坊2.0的核心分為以下幾個要點:
參與到網絡中應該是無需許可的(permissionless);
Layer1的范圍應該簡潔(concise)、緊湊;
協議應該在最大程度上具有表達性(expressive),同時不考慮其未來的用途;
網絡應該具有活性(liveness),能夠有效地從任何災難性的場景中恢復過來;
應該將協議的復雜性與應用程序開發的復雜性區分開來。
01.無需許可性
以太坊2.0與其他“下一代”區塊鏈平臺的顯著區別就在于如何參與共識。
以太坊2.0中稱為驗證者的唯一要求就是需要持有32枚ETH。在以太坊2.0系統中,不存在代理,沒有用于選擇驗證節點的投票,也沒有決定誰能參與驗證的中心化機構。更重要的是,每個實體參與進來的硬性要求是質押32ETH,這使得以太坊2.0中的驗證者都得到了平等的對待。
然而,任何個人都可能擁有對個驗證者身份(也即持有大量ETH的用戶在多個客戶端中進行質押,并擁有多個驗證者身份)。這只是一項簡化共識協議的安全性和簡潔性的決策。從激勵設計的角度來說,在對區塊進行投票驗證時,平等地對待所有參與者是非常重要的,這對于形式化建模(formalmodeling)也是很重要的。1名驗證者=質押32ETH,不能多也不能少。
美國加州于Tezos區塊鏈啟動車主證NFT化測試,預計Q2上線配套應用程序:1月27日消息,美國加利福尼亞州機動車管理局(California's Department of Motor Vehicles)將在Tezos區塊鏈上啟動車主證NFT化測試,旨在將汽車產權數字化并簡化車主之間的產權轉讓過程。
據加州機動車管理局首席數字官Ajay Gupta透露,該項目預計將在三個月內完成,屆時還將推出包括數字錢包在內的消費者應用程序。(Crypto Saurus)[2023/1/27 11:32:38]
其他的區塊鏈平臺往往通過采取一種更為中心化的方式來進行交易驗證,以此來解決擴展性問題;但對于以太坊而言,這并不是其考慮的選項。
02.保持簡潔性,但具有最大程度的表達性
以太坊2.0在其核心定義和實現目標方面力求簡潔緊湊。在基礎層面,以太坊2.0是一個用于搭建去中心化應用的可擴展、無需許可平臺,
在以太坊2.0系統中,沒有必要引入應用程序邏輯,這是有原因的。我們可以將以太坊2.0系統類比成Linux系統的內核--并不應該由操作系統本身來決定應該包含某些特性或設想其用例,而是應該由為系統內核搭建應用的開發者來決定。
03.保證安全性
以太坊2.0的PoS模式--CaspertheFriendlyFinalityGadget--在一系列的激勵措施下運行,旨在保持高度的活力和網絡參與。以太坊2.0通過Casper進行擴展并利用其特征來保護整個分片鏈網絡的安全性。也就是說,以太坊2.0通過使用鏈最終性閾值的概念來保證系統中的1024條分片鏈與信標鏈共享安全性。
PoS的前提是,驗證者在按預期執行被分配的驗證工作之后就能夠獲得獎勵,或者因為處于離線狀態而小損失部分質押金,亦或者如果驗證者惡意違反協議時受到嚴重的懲罰(質押金被罰沒)。
雖然這一前提很簡潔,但相關的細節是決定成敗的關鍵。一旦我們意識到不僅要考慮每個驗證者的行為,同時還要考慮所有驗證者委員會的行為時,Casper經濟學很快就變得更加復雜。
美股期貨指數全線上漲:行情顯示,美股期貨指數全線上漲,標普500指數期貨漲近0.40%,納指期貨漲近0.32%,道指期貨漲近0.33%。[2022/6/20 4:39:26]
通常對于PoS鏈的一個開放性問題是:應該何時懲罰惡意行為,以及應該如何根據行為的嚴重程度來相應地對驗證者進行懲罰(嚴重程度不同,懲罰也應不同)。也就是說,我們需要找到一個足夠全面的懲罰措施,既能涵蓋所有的極端情況,又能保持簡潔性。
由于協議依賴于驗證者的活動,協議的運行也依賴于持久的時間尺度,可能會出現誠實的驗證者下也無法參與驗證的情況。誠實的驗證者可能因為斷電、網絡故障或其他原因而離線,但我們需要明確地將離線懲罰和惡意行為懲罰區分開來。
以太坊2.0的部分設計原理是使任何企圖破壞協議的攻擊者付出巨大的成本代價。也就是說,在其他區塊鏈平臺上發生的51%攻擊,在以太坊2.0鏈上將需要付出巨大的成本,甚至會帶來相反的效果。也即逆轉協議中的最終性將使得攻擊者對于其他誠實地驗證者非常顯而易見,從而允許社區協調一致地通過軟分叉來將該惡意攻擊者移除出去,使其攻擊變得無效。
基于PoS機制的系統的另一個限制就是驗證者的困境,也即系統中的驗證者過于懶惰(離線狀態),一味地相信協議中的其他驗證者將會以正確的方式進行區塊驗證,因此這些懶惰的驗證者玩忽職守。這些驗證者通過不執行他們的驗證職責,從而節省帶寬或一般的計算需求,除非他們面臨重大的懲罰。針對這種情況,可以通過在網絡中增加針對數據缺失或錯誤的簽名信息而設置的非常嚴重的懲罰和挑戰機制,以此來緩解這種問題。
以太坊2.0的驗證者激勵措施
以太坊2.0的驗證者激勵措施如下:
01.驗證者離線:QuadraticLeak
以太坊2.0依賴于拜占庭容錯閾值,也即必須保證網絡中2/3的驗證者是誠實的驗證者
針對不參與驗證的驗證者的懲罰稱為“inactivityleaks”。如果某條分片鏈在超過4個epoch期間沒有得以敲定,那該協議對驗證者的獎勵將變得盡可能嚴格,也即最大的預期獎勵將是0,因此驗證者需要正確地進行驗證操作,否則將受到更多的懲罰。懲罰程度的大小將與上一次鏈實現最終性以來的時間成正比(也即距離上一次的最終性的時間越長,受到的懲罰就越大),以此來組織驗證者離線。
驗證者離線的時間越長,這種懲罰就會呈指數級增長。這種懲罰稱為“quadraticleak”,這種懲罰機制的設計初衷是:短期的離線狀態將不會受到懲罰,但離線較長一段時間將為驗證者帶來很大的不利影響,這能夠很好地將預期的現實情況考慮進去。這種懲罰所損失的資金將被銷毀,而不是分發給其他的誠實驗證者。
02.故意的惡意行為:罰沒(slashing)
在針對以太坊PoS的早期提案中,惡意的驗證者將受到稱為slashing(罰沒)的巨大懲罰,通常這些機制僅僅討論了針對單獨的個人惡意驗證者的懲罰,而沒有討論驗證者串謀起來的嚴重性。只有當很大一部分驗證者協同對網絡進行惡意操作時,網絡才會受到影響。
根據拜占庭式容錯,對惡意行為者的懲罰將是在一定時間間隔內也進行惡意行為的驗證者數量的3倍。這有助于懲罰大量協同的攻擊行為,同時也阻止惡意驗證者聚集在一起。也就是說,對于驗證者來說,聯合起來對網絡發起攻擊是非常不利的。
罰沒(slashing)是通過一個揭發機制來實現的,也即驗證者能夠通過發現其他驗證者的可罰沒攻擊行為來獲得獎勵,作為報酬能夠獲得其他驗證者被罰沒的資金。
03.驗證者獎勵
根據VitalikButerin的以太坊Serenity設計原理(https://notes.ethereum.org/s/rkhCgQteN),他概述了每名驗證者在每個epoch時間段內(每生成64個區塊稱為一個epoch)獲得的基本獎勵的4個明確組成部分:
通過證明以確定正確的epoch檢查點而獲得的獎勵的1/4;
通過證明以確定正確的chainhead而獲得的獎勵的1/4;
通過證明使區塊得以快速進入鏈中而獲得的獎勵的1/4;
通過證明以確定正確的分片區塊而獲得的獎勵的1/4;
此外,根據正確參與驗證的驗證者數量,在這個基本獎勵之上還有其他額外的獎勵。這一額外的獎勵用于激勵驗證者進行正確操作,共同地推動了網絡中的誠實活動。獎勵的發放時間表應該是一直且直接的。增加其他更多的復雜性將使整個系統更易于出錯,從宏觀經濟的角度來看也更難以理解。
將協議的復雜性與應用的復雜性區別開來
可以說,以太坊2.0的路線圖是一項將歷時多年且最具雄心的計劃之一,該計劃從整個區塊鏈領域吸取了經驗教訓并創建了一個能夠很好地解決擴展性三難困境的協議,該協議將能夠持久運行下去。
有關分片將如何有效地增加開發者體驗已經存在很多的討論。其基本依據是,在以太坊2.0協議的設計中不考慮應用開發者的需求是非常困難的,因為分片鏈的高度復雜系統要求各分片需要彼此交互(跨分片通信)。
乍看之下,這種觀點說得通,因為從外部看來以太坊2.0非常令人生畏,且在以太坊2.0中有關智能合約執行方面依舊存在很多的不確定性。但實際上,事實要微妙地多。
應用開發者將只需要了解以太坊2.0協議的一小部分就夠了。普通的智能合約開發者是不需要了解驗證者注冊表(validatorregistry)或者信標鏈的最終性小工具的內部構造的。
因此,階段0(信標鏈階段)完全從應用層中移除了。最近階段1和階段2也提出了一些非常有力的提案,這些提案建議對執行環境進行更高程度的抽象化(abstraction),這使得以太坊2.0變得更加強大和更為簡潔。
最壞的情況下是,錢包/應用開發者需要了解跨分片交易的某些細節,以便通過一些技巧顯示即時交易結算。今天的計算機操作系統和內部結構比10年前復雜得多,但是大多數應用程序開發人員并不需要理解那些使計算機構架變得強大的隱藏內部構造。將這兩者區分開來是優秀的架構設計的核心,我們也可以將之當成在搭建以太坊2.0時需要記住的一個設計不變量。
構建一臺真正的世界計算機
總結而言,以太坊是圖靈完備的,這意味著以太坊能夠以當前計算機相同的方式運行任何類型的代碼,盡管它尚且是一臺緩慢、單線程的計算機。
今天的以太坊類似于早期的弱處理器。當前在以太坊上運行應用程序是昂貴的,因為該協議內置了一些機制,用于阻止困擾諸多公共事業的公地悲劇。
以太坊充滿活力的開發者社區從未停止過對當前網絡的創新,無論是其核心層(Layer1)還是Layer2。從治理的角度來說,以太坊未來計劃的升級并不會一路平坦毫無挫折。如果未來以太坊2.0上線了幾年之后,我們感到收到約束并希望搭建以太坊3.0,那也意味著我們在前者的核心設計方面的失敗。
可升級性(upgradeability)應該以一種不需要通過有風險的硬分叉才能實現的方式才融入到協議中。也就是說,一旦系統長期處于運行中,Layer1層面的創新應該保持最小甚至為零的狀態。
我們還有很長的路要走,但是我們通過謹慎地提醒自己為何要搭建這個軟件,以及我們希望以太坊在未來10年內走向何方,我們也就可以編寫能夠經受住時間考驗的、更具魯棒性的代碼。
參考鏈接:
https://www.tokendaily.co/blog/design-principles-of-ethereum-2-0
EOS看漲期權 代碼月EOS看漲0708期權標的EOS合約類型歐式看漲期權計價單位USDT最小價格單位0.0001USDT合約比例1:1.
1900/1/1 0:00:00關于“Startup非首發打折優惠上線通道”Gate.io正式上線“Startup非首發打折優惠上線通道”,針對已經在主流交易平臺上線的發展穩定有潛力的區塊鏈項目,提供更為快捷的上幣通道.
1900/1/1 0:00:00不知何時開始,交易所和項目刷量成為幣圈的日常。這個在傳統市場被視作欺詐的行為,在國內幣圈變得熟視無睹,相互掩耳盜鈴.
1900/1/1 0:00:00整體流程和架構,以及兩個核心算法,即隨機數生成算法以及出塊者選擇算法。這兩個算法能夠保證在確定了共識參與者之后,共識過程能夠安全穩定的進行.
1900/1/1 0:00:00在交易情緒逐漸高漲的近半年以來,除了手續費收到抽筋的交易所日進斗金,不停地高調宣發項目以外,另一個神秘的群體卻也在這個不安分的季節里,賺得盆滿缽滿.
1900/1/1 0:00:00LTC近期走勢相當強勢,在BTC帶動主流梯隊回調的情況下,依舊能夠維持在115美元上方震蕩,從LTC4小時走勢能看出,從5月26號回調至84美元觸底反彈以來截止目前整體處于三角區間內震蕩上行.
1900/1/1 0:00:00