以太坊技術應用大會今天在北京舉行,V神、以太坊基金會核心成員、以太坊DAPP開發者等重量級嘉賓云集,此次大會以以太坊2.0為主要議題。
大眾也普遍關注以太坊2.0的進展,此次大會V神發表了名為“以太坊2.0之跨分片交易”的演講。
討論以太坊2.0路線圖、研究提案及其發展現狀的文章已經很多了,然而有關以太坊2.0內部運行背后的設計原則和不變量的文章卻不多,本文旨在探討以太坊2.0背后的設計原則。
作者簡介:RaulJordan,RaulJordan是PrysmaticLabs聯合創始人,也兼任zkCapital合伙人,畢業于哈佛,區塊鏈工程師、以太坊開發者,專注于PrysmaticLabs分片技術開發。
很多文章都在討論以太坊2.0的路線圖、研究方案和現狀。然而,關于其內部工作背后的設計原則和不變量的公開寫作并不多。對于這種協調多年的努力來說,擁有一套明確的不變量,對其成功至關重要,并且,這會使得執行者思考以太坊哲學的一面。
本文將解釋其中一些設計決策、背景以及它們對協議未來的重要性。
一、歷史
自從以太坊網絡誕生以來,試圖將以太坊從PoW轉換為PoS,是一個重大的進展。VitalikButerin當時正在探索一種可行的解決方案,以防不成熟PoS的缺陷,并提供比PoW更大的安全保障。
尤其是,他和以太坊研究小組設計了一種稱為slasher的的機制,來懲罰PoS中惡意行為者并削減其全部抵押。
數學家VladZamfir隨后加入了該項目,2014年的大部分工作都集中在解決所謂的PoS的遠程攻擊。
zkSync聯創提出新的治理解決方案L1 Fork,以應對智能合約實施過程中的風險:金色財經報道,Matter Labs聯合創始人兼首席執行官Alex在社交媒體發文,提出“L1 Fork作為終審法院”概念擬解決智能合約實施風險問題,并且表示zkSync愿意資助相關研究。Alex指出,L2合約在緊急升級時存在中心化問題,相比之下L1是可分叉的,任何用戶都可以選擇加入他們主觀認為正確且規范的分叉分支,但這種模式不適用于L2和DeFi協議,因為L2和DeFi協議無法分叉從L1橋接的底層原生資產(例如ETH)。
因此,Alex建議建立一個類似于現實世界司法機構的“鏈上法院”等級制度,每個協議都有自己的治理并定義正常和緊急升級機制且必須指定一份特殊合約作為上訴實例,這種模式可以解決緊急升級時的中心化問題。對于緊急升級,必須有一個上訴期,在此期間任何人都可以向上級“法院”提出質疑但必須繳納預先確定的保釋金,然后,該法院可以取消緊急升級(并且不執行任何其他操作),每個“法院”必須指定可以對任何決定提出上訴的更高一級“法院”,直到以太坊最高“法院”。[2023/9/3 13:14:42]
當攻擊者可以從頭開始創建一個比當前規范區塊鏈更長的全鏈,以便在新的規范狀態下說服網絡中的其他人時,遠程攻擊就會發生。
這幾乎不可能在PoW中執行,因為它需要大量的復合計算能力。然而,PoS不依賴于計算能力,因此在這種攻擊下會崩潰。
Vitalik和Vlad都贊同:除了“嚴格阻止客戶同步比某個檢查點更早的鏈”之外,沒有可行的遠程攻擊解決方案。
這意味著,不需從創世區塊同步鏈,網絡中的新節點只需要從最近的“檢查點”同步網絡中最終確定的其他節點。
也就是說,當新節點加入網絡時,舊節點存在固有信任。這種現象后來被稱為PoS的弱主觀性。當新節點加入時,對于“最終確定的”、“不可逆轉的”區塊在網絡中的參與者之間存在主觀信任。
在此期間,來自以太坊基金會的Vitalik和VirgilGriffith致力于在ArXiV上發布CasperPoS白皮書的初始版本。
聲音 | Anthony Pompliano:人們需要時間去熟悉并理解比特幣的重要性:針對監管者往往支持區塊鏈、禁止加密貨幣的做法,Morgan Creek Digital聯合創始人Anthony Pompliano認為,比特幣這個游戲規則改變者需要的只是時間,“我認為每個人都進入這個行業,他們通常通過比特幣來實現。他們聽說了它,開始觀察,然后就有了進化。他們去檢查企業區塊鏈、代幣化證券、DeFi,但幾乎每個人都會回到比特幣。現在,這段旅程可能需要6個月、12個月或者18個月,但我認為對比特幣來說最好的事情是時間。人們需要時間來熟悉它,開始使用它,理解它為什么至關重要。我認為這將發生在政府層面、私人層面和機構層面。所以這只是人們更熟悉它所需要的時間。”[2019/12/9]
2014-2017年,是一段很長的時期,它標志著以太坊試圖在目前運行的PoW鏈上覆蓋基于PoS的終結系統。與此同時,人們正努力實現狀態分片,以作為分區方案以擴展以太坊區塊鏈。
然而,在2018年,當這兩項舉措被結合在一起,并且在3月份的臺北標志性研究會議之后,以太坊研究團隊提議將CasperPoS與分片合并為一項名為EthereumSerenity的計劃,也稱為作為以太坊2.0。
二、為什么選擇ETH2.0?
本文要解釋核心問題背后的設計理由:“為什么要使用以太坊2.0?”。
當然,對現有系統的共識協議和數據完整性進行徹底檢查,并不是通過硬分叉就可以輕松完成的—-從頭開始簡單地創建一個新系統并完全放棄以太坊1.0不是更容易嗎?
構建ETH2.0時,我們面臨的一個難題是,需要讓社區了解這一挑戰,并清楚地了解過渡到ETH2.0背后的巨大利益和需求。
在理解這種范式轉變帶來的巨大責任的同時,沒有比現在更好的時間來構建ETH2.0。無論喜歡與否,加密行業仍然處于起步階段,我們今天做出的決定,將對加速增長和這些年的采用多年的產生復合的效果。
向PoS的遷移,已經等待了足夠長的時間,以太坊應用程序的可擴展性也是如此。沒有比現在更好的時間來構建ETH2.0了,團隊已經做好了準備。
分析 | 未來穩定幣可以存在于后端,消費者可能并不完全理解:Stellar發展基金會伙伴關系主任Lisa Nestor近日表示,從消費者的角度來看,電子貨幣和穩定幣已經成為可比較的產品,具有可用于交易的金融價值,并便于向其他實體付款。我們只是剛剛開始看到通證化貨幣和穩定幣將為世界帶來什么,未來穩定幣可以存在于后端,消費者可能并不完全理解。但是他們的金融資產將在后端進行通證化,經營交易的支付處理機構和金融機構將在結算和處理匯款方面獲得重大優勢。(AMBCrypto)[2019/8/28]
三、挑戰未來
缺乏經驗的Layer1擴展可能會帶來巨大的安全花費:將區分鏈分片防止全球交易驗證,就像當前比特幣和以太坊鏈所做的那樣。
關鍵問題是:如何在不犧牲去中心化或安全性的同時,獲得可擴展性?許多競爭鏈旨在尋求中心化路線作為解決這一問題的手段。
以太坊選擇不同的方法:將網絡狀態劃分為1024個分片,這些分片表現為一組同質的區塊鏈,每個區塊鏈由稱為信標鏈的單個根鏈協調。信標鏈在完整的CasperPoS上運行,沒有委托也沒有中心化投票權。
在這種方法中,每個節點僅負責整個網絡中發生的一部分交易,并且許多塊可以并行發生,從而線性地增加整體網絡吞吐量。
此解決方案旨在回答以下問題:
如果交易未被全局驗證,網絡的安全配置文件會如何變化?如何在防止卡特爾形成的同時,選擇驗證參與者?如何設計激勵措施,以最大化數據可用性和鼓勵積極參與?
經過多年的研究、探索以及對取舍的理解,以太坊尋求PoS作為其共識算法。如前所述,獎勵是確定性的,驗證實體在協議中具有相同的待遇、參與委員會的概率相同、同樣獲得獎勵/懲罰。
全局交易驗證變為間接驗證。每條分片鏈中的每筆交易都將首先由該分片中的驗證者進行驗證,并且,信標鏈在ETH2.0上扮演“協調器”的角色。
聲音 | 加密經濟學家回擊 Whiteblock:認為 EOS 不是區塊鏈是不理解我們現在做的事:據 IMEOS 報道,加密經濟學家 Ashe Oro 發推表示: Whiteblock 報告認為 “EOS 不是區塊鏈” 是因為他們無法解釋我們目前正在做的事 - 更迅速地出塊,免費的交易。他的 FUD (恐懼、不確定、懷疑)令我感到歡樂。(相信)基于 EOS 我們將會再次獲得自由。[2018/11/5]
四、設計不變量
協議設計的一個關鍵支柱是,理解協議將在哪些不變量下運行。對于以太坊及其開發者社區而言,擁有一份不可協商的設計決策清單,對項目的未來至關重要。
我們可以將ETH2.0的核心分解為以下要點:
1、參與網絡應該是無需許可的;
2、Layer1在其范圍內應該簡潔,抽象和緊湊;
3、該協議應該是最具表現力的,而不是假設它的未來用途;
4、網絡應該傾向于有生命力,以有效地從任何災難性場景中恢復;
5、將協議的復雜性與應用程序開發的復雜性區分開來。
1、無需許可
以太坊2.0與其他“下一代”區塊鏈之間的顯著差異在于如何確定參與共識。以太坊2.0對驗證者的唯一要求是擁有32枚ETH。
這里沒有代理,不需要投票去選擇驗證節點,沒有中心化的憲法來決定誰參加。更重要的是,以太坊2.0中的驗證者都被平等對待:每個實體參與的硬性要求都是32個ETH。
但是,任何個人都可以擁有多個驗證者身份。這僅僅是為簡化共識協議的安全性和緊湊性而做的決定。從激勵設計角度考慮,且為了形式化建模,在對區塊進行投票驗證時,平等對待所有參與者是非常重要的。
1個驗證者=質押32個ETH,不能比這個多。其他鏈旨在通過采用更中心化的驗證方法來解決可擴展性問題。然而,對于以太坊而言,不考慮這種選擇。
2、簡潔,但最具表現力
以太坊2.0在其核心定義和實現目標上,力求簡潔和緊湊。從根本上講,它是一個可擴展的、無需權限的平臺,用于搭建去中心化的應用程序。
BM:對代理如何運作和“dApp開發者”如何計費的理解可能需要調整:北京時間今日凌晨,BM在開發者群發表對代理如何運作和“dApp開發者”如何計費的理解:
??1)所有CPU/帶寬都是“執行操作的用戶”;
??2)所有存儲都按照dApp的選擇向用戶或dApp付費;
??3)dApp開發人員希望授權用戶將帶寬委托給用戶;
??4)授權帶寬理論上可以用于任何dApp。
現在想象一下,你是一個社交媒體公司,希望為用戶提供免費賬戶。用戶在您的網站上注冊,您為他們創建一個區塊鏈賬戶,然后將一些帶寬委托給他們。您的應用可以選擇為每個授權用戶支付有限的存儲空間,這使他們能夠在他們需要攜帶自己的存儲空間之前,擁有N份杰出的帖子和V張投票。如果您的應用不想為用戶支付存儲費用,則該應用可能完全是BYOS(注:Bring your own storage,使用你自己的存儲)和BYOB(注:Bring your own Bandwith,使用你自己的帶寬)應用。如果用戶不繼續他們的訂閱或停止使用您的服務,那么您可以將帶寬重新分配給其他用戶。[2018/4/30]
沒有必要在以太坊2.0中引入應用程序邏輯,這是有充分理由的。人們可以將以太坊2.0系統類比為一個精簡的Linux內核-它不是由操作系統來決定其所包含的功能或假設的用例,而是由為內核搭建應用程序的開發人員決定。
“假設意圖”這種做法是有限制性的。舊的以太坊格言說“我們沒有任何特征”,這理念同樣適用于以太坊2.0。
3、保證安全性
以太坊2.0的PoS模式,也就是CaspertheFriendlyFinalityGadget,在一系列旨在保持高度活躍度和網絡參與度的激勵措施下運作。
以太坊2.0擴展了Casper,以利用其屬性來保護分片區塊鏈網絡的安全。也就是說,以太坊2.0使用“鏈終結性閾值”的概念來確保系統中的1024個分片共享與信標鏈相同的安全池。
PoS的核心前提是,驗證者都會因為按預期完成指定工作而獲得獎勵,或因為處于離線狀態而損失質押金,或因為惡意違反協議而受到嚴厲處罰。
雖然前提很簡潔,但細節決定成敗。一旦我們意識到我們不僅要考慮每個驗證者的行為,而且要且要考慮整個驗證者委員會行為,Casper的經濟學很快變得更加復雜。
一般來說,PoS鏈的一個開放性問題是,應該何時懲罰行為,以及如何根據某些驗證者行為的嚴重性來進行不同的處罰。也就是說,我們需要找到一種足夠全面的懲罰措施,以便在保持簡潔的同時涵蓋所有邊緣案例。
鑒于協議依賴于驗證者活動,且依賴于對運行時間的持久觀測,那么可能存在誠實的驗證者無法參與的情況。誠實的驗證者可能會由于停電、網絡不穩定或其他因素而離線,但我們需要明確區分離線處罰和惡意行為造成的處罰。
以太坊2.0的部分設計理由是,攻擊者為任何企圖破壞協議的嘗試付出巨大代價。也就是說,在其他鏈中常發生的51%攻擊,在以太坊2.0上應該是成本巨大的,甚至結果會適得其反。
也就是說,在具有明確最終性的協議中,“將最終性逆轉將”會使攻擊者對于誠實的驗證者來說顯而易見,這就使得社區可協調一致地進行軟分叉,以移除惡意行為者并使其攻擊無效。
當然,即使攻擊成功并且這種社區協調不成功,如果攻擊者的唯一目的是破壞系統并造成巨大損失,系統的完整性會減少。
基于PoS機制系統的另一個限制是驗證者困境,也就是說,系統中的驗證者是懶惰的、并且簡單地信任協議中的其他人正在正確地完成其工作,因此不驗證他們本該負責驗證的消息。
除非面臨重大處罰,否則這些驗證者可以通過不履行其責任來節省帶寬或一般的計算要求。通過為網絡中丟失的數據或錯誤簽名的信息添加極其強大的懲罰和質詢機制,可以緩解這種問題。
五、以太坊2.0的驗證者激勵
以太坊2.0的驗證者激勵措施如下:
1、驗證者離線:QuadraticLeak
以太坊2.0依賴于拜占庭容錯閾值,必須保證網絡中三分之二的驗證者是誠實參與者。對不參與驗證的驗證者的處罰被稱為“inactivityleaks”。
如果一條鏈超過4個epoch時期還未能最終確定,那么協議對驗證者獎勵就會盡可能嚴格。也就是說,最大期望獎勵會變為0,因此驗證者需要表現得很完美,否則就會面臨更多的懲罰。
懲罰的大小與上一次鏈實現最終性以來的時間成正比,以阻止驗證者離線。
某些驗證者離線的時間越長,這種懲罰就會呈現指數增長,這種就被稱為“QuadraticLeak”。之所以涉及這種懲罰,是希望不會對短期離線造成不利影響,但考慮到預期的現實世界行為,較長時間離線會有很大的不利。
這種罰款而損失的資金會被銷毀,而不會重新分配給誠實的驗證者。
2、故意惡意活動:罰沒
在針對以太坊PoS的早期提案中,惡意驗證者將遭受大規模的懲罰,稱為罰沒,通常這些機制只討論個別惡意驗證者的處罰,而不討論驗證者串謀起來的嚴重性。如果大部分驗證者協同惡意攻擊網絡,網絡就會受到影響。
根據拜占庭容錯,對惡意行為者的處罰將是在特定時間間隔內惡意行動的驗證者數量的3倍。這有助于懲罰大型協同攻擊,并且還可以阻止惡意驗證者池的產生。
也就是說,在網絡上執行聚合攻擊,對惡意驗證者有利而對普通驗證者不利。通過舉報機制進行罰沒,激勵驗證者發現其他驗證者的可罰沒的違法行為。
3、驗證者獎勵
根據Vitalik的以太坊Serenity設計原理,他在每個epoch時期中概述了驗證者基本獎勵的4個特定組成部分:
1.通過證明以確定正確的epoch檢查點而獲得的獎勵的1/4;
2.通過證明以確定正確的chainhead而獲得的獎勵的1/4;
3.通過證明使區塊得以快速進入鏈中而獲得的獎勵的1/4;
4.通過證明以確定正確的分片區塊而獲得的獎勵的1/4;
根據正確參與的驗證者數量,在基本獎勵之外還有額外獎勵。這個額外獎勵是激勵每個驗證者做正確的事情,為誠實的行為創造集體推動力。獎勵的發布時間表應該是一致并直接的。增加更多的復雜性只會使系統更容易出錯,并且從宏觀經濟的角度來看更難理解。
六、把程序復雜性與協議復雜性分開
“以太坊2.0路線圖令人生畏”的說法并不確切,因為以太坊2.0可能是最雄心勃勃且歷時多年的計劃之一,它可以從行業中獲得最好的經驗教訓,并創建一個優雅地解決擴展性三難困境的協議,并且,該協議將能夠持久運行下去。
關于“分片如何顯著降低開發人員體驗”已經進行了大量討論。其依據是,在以太坊2.0協議內部結中剝離應用程序開發人員的需求是非常困難的,因為高度復雜的分片系統需要彼此交互。
乍一看,以太坊2.0從外部看起來令人生畏,并且,在以太坊2.0中智能合約如何執行仍不甚清晰。然而,事實要更加微妙。
應用程序開發人員只需要知道一小部分以太坊2.0協議。普通智能合約開發人員無需了解驗證者注冊表或信標鏈終端小工具的內部結構。
因此,階段0從應用層中完全移除。最近階段1和階段2也提出了非常有力的提案,主張對執行環境進行更高程度的抽象化,使以太坊2.0更強大、更簡潔。
最壞的情況是,錢包/應用程序開發人員需要了解跨分片交易的某些細節,以通過一些技巧顯示即時交易結算。如今的計算機操作系統和內部設備比10年前復雜得多,但是,大多數應用程序開發人員無需了解隱藏的內部結構,即使這些內部結構構成強大的計算機體系。
這種“將關注點區分開”,是良好架構設計的核心,人們可以把它作為在構建以太坊2.0時應該牢記的設計不變量。
七、構建真實的世界計算機
總而言之,以太坊是圖靈完備的,這意味著它可以像今天的計算機一樣,運行任何類型的可想象的代碼,盡管它還是一臺緩慢的、單線程的計算機。
今天的以太坊類似于早期的弱處理器。如今在以太坊運行應用程序是昂貴的,因為該協議已建立機制,以防止困擾公共事業的公地悲劇的出現。
以太坊充滿活力的開發者社區從未停止對當前網絡的改進創新,無論是在核心層還是在layer2。但是,從治理的角度來看,未來計劃的升級可能會出現問題且很痛苦。
如果以太坊2.0上線幾年后,我們感到受限,并希望建立一個以太坊3.0,那就表示我們在前者的核心設計上失敗了。
可升級性應該以不需要有風險的硬分叉的方式被納入協議。也就是說,一旦系統長期處于運行中,layer1的創新應該是最小的或接近于零。
我們還有很長的路要走,但我們謹慎提醒自己為什么要構建這個軟件,以及我們希望在10年內看到它走向何方,以編寫出更具魯棒性的、可以經得起時間的考驗的代碼。
-END-
譯者簡介:愛樂牛,區塊鏈研習社特約作者。
聲明:本文為作者獨立觀點,不代表區塊鏈研習社立場,亦不構成任何投資意見或建議。
Tags:以太坊ETH區塊鏈以太坊幣是什么幣ETH錢包地址ETH挖礦app下載Etherael指什么寓意區塊鏈工程專業學什么區塊鏈存證怎么弄區塊鏈技術發展現狀和趨勢
以太坊合并是加密歷史上最強大的催化劑之一,它的到來正在迅速逼近。 隨著以太坊逐漸走向工作量證明機制的終局,我們有必要了解一下以太坊合并后的PoS時代的10個重要特征:1.合并后,ETHL1費用不.
1900/1/1 0:00:00我最近的一條推文似乎引起了NFT社區很大一部分人的共鳴。 這個想法是,即使我們在交易中賺了很多錢,但如果我們本可以賺更多,我們往往不會對客觀上的優秀結果感到興奮.
1900/1/1 0:00:001、本文要點 自MEV-Boost創建以來,MEV供應鏈變得更加復雜,MEV-Boost是以太坊上的驗證者用于賺取MEV的標準化軟件權益證明.
1900/1/1 0:00:001、全鏈游戲解析 在加密世界里,“onchain”一詞有兩種不同的含義。其中一種更新、更寬松的含義是指區塊鏈的一般應用.
1900/1/1 0:00:00隨著區塊獎勵逐漸減少,并傾向于只收取交易手續費,比特幣挖礦收入的增長速度低于市值和交易量。人們誤以為比特幣的能源使用是一個指數問題,這便是問題所在.
1900/1/1 0:00:00長期以來,葡萄牙一直是國際Crypto投資者的最佳目的地。為什么?葡萄牙此前授予了靈活的簽證選擇以及加密稅收優惠 然而,葡萄牙最近提出了一項將于2023年生效的稅收政策:一年內獲得的加密貨幣收益.
1900/1/1 0:00:00