本文將總結現有圍繞著以太坊2.0Phase2的研究成果,重點關注中繼網絡以及手續費機制。每種提案都有其不同的權衡取舍,而且被不同的平臺所采用,因此做一次合理且全面的匯總,能讓新入門的研究者更快上手。
背景
在深入討論中繼網絡之前,我們先回顧一下以太坊的主要瓶頸之一:狀態。
在以太坊中,狀態指的是賬戶余額、合約代碼、合約存儲內容的集合。不論什么時候執行交易,都要對狀態進行讀寫操作。早些時候,人們曾對以太坊計算模型原生的不可擴展性提出過質疑;但時至今日,反而是狀態的讀寫成為執行交易的成本瓶頸,磁盤的I/O性能成了運行以太坊全節點的制約因素。
請注意,為了能夠按照富狀態范式執行任何的交易,全節點必須保證所有狀態始終放在可訪問的位置。如果應用在單一區塊鏈的場景,或許這還能勉強接受,但是一旦面臨分片、面臨分片上委員會的重組,這種要求是非常不合理的。設想一下,每當驗證者被指定到一條分片鏈,他就得同步該分片上的所有狀態;則這種系統就等價于單一區塊鏈,只是此時的區塊大小等于分片區塊大小*分片數量。
這就是為什么我們需要無狀態客戶端。
分片及無狀態客戶端
在無狀態客戶端范式中,驗證者只需要存儲一個經過壓縮的區塊鏈狀態表,大幅降低了執行交易的負擔。一般來說累加器的大小是常量,不過也有可能是對數大小。
阿根廷首都布宜諾斯艾利斯將于2023年運行以太坊節點:金色財經報道,阿根廷首都布宜諾斯艾利斯將于 2023 年運行以太坊節點。(Blockworks)[2022/8/15 12:26:47]
無狀態客戶端的本質是,每筆交易都附帶當前累加器的見證數據,見證數據中包含了所有執行該交易所需的信息。在以太坊中,使用稀疏Merkle樹作為累加器,一筆交易所涉及的所有狀態元素都可以被包含進默克爾樹分支中。
在其他應用上,無狀態客戶端可以縮短以太坊節點的初次同步時間,這就是BeamSync的原理。
備注:有一些密碼學累加器比Merkle累加器性能更好,但是這種累加器需要受信任初始化,或是使用未驗證的前沿密碼技術,所以安全部署到生產系統上還需要點時間。
但無狀態客戶端也有自己的挑戰:一旦使用Merkle累加器,每當結束一次完整的執行后,見證就過期了。如果模型要求每筆交易都包含單獨的見證,然后順序執行這些交易,則排在后頭的交易的見證數據就會過期,必須能夠隨著前面每一筆交易結束而更新自己的見證。幸虧更新這些Merkle累加器的見證涉及零哈希開銷方法——如果見證數據可以作為附加物添加到“一大包”交易上的話,就不需要更新屬于每筆交易的單獨見證,或是說可以整合為多重證明。
假如所有用戶都維護著全節點,并實時更新見證的狀態,那么無狀態客戶端系統是能夠馬上被采用的。可惜在分片環境下,這意味著要求所有用戶維護自己所在分片上的所有狀態;這樣做不僅不切實際,而且就如我們上面提到的,這就相當于只是建立一條區塊體量更大的單一區塊鏈。
三箭資本CEO:“看漲穩定幣,而不是以太坊”是一種怪異的投資策略:三箭資本CEO Su Zhu在推特上評論The Block的一篇文章時表示:“恕我直言,人們看好比特幣和穩定幣,但不看好以太坊,這正是其在區塊鏈使用率非常高的背景下繼續跑贏比特幣減半后表現的原因。最好的阿爾法機會是當你能認識到市場的集體盲點。我預測,回首過去,‘看漲穩定幣,而不是以太坊’將被視為一種更為怪異的扭曲,但不知何故,它進入了投資組合的管理實踐。”[2020/8/3]
為了解決問題,這里引入了中繼者的概念。中繼者負責提供用戶所需的見證,并以此向用戶收取服務費。和用戶不一樣,中繼者可以將服務聚焦在單一分片上;但中繼者無法預知用戶什么時候需要狀態,因此必須保證見證的及時更新,也就是實時存儲狀態,以供用戶獲取。
中繼者的引入也會引來一大堆復雜的問題,也是以太坊2.0的全面部署所面臨的最重要的開放問題之一。第一點,如果不能很好地平衡中繼者和區塊提議者所得到的利益,驗證者就會被激勵成為中繼者,則相關服務的獲取成本可能會讓一般使用者望而卻步。第二點,要讓中繼者能夠從用戶和驗證者處收取費用),同時不至于引入太大的開銷,顯然不是件簡單的事;換言之,驗證無狀態交易很容易,但是提供必要的見證很困難。
中繼網路及費用市場提案
以太坊2.0Phase2的設計空間很大,也出現了很多對執行模式的提議。每種提議都各自表述了如何通過付費,結合中繼網路的機制,將交易更好地在用戶和區塊提議者之間進行傳遞。本章節會盡可能簡潔而全面地總結不同的協議,并著重分析它們在中繼網路及手續費機制上的異同。
火幣大學方軍:現在很多新項目都在增加以太坊網絡的價值:5月22日20:00,火幣大學推出的“區塊鏈卓越人才特訓營(第三期)”正在開課。火幣大學顧問合伙人方軍作為主講人,以“區塊鏈案例深度解析”為主題,重點講解了《以太坊:價值計算平臺》和《密西西比泡沫與男孩子泡沫》兩個案例。
方軍認為,HODL與BUIDL之爭在幣圈,HODL是圈內典型的投資理念,即持有比特幣;而BUIDL,是如以太坊聯合創始人Joseph Lubin所言“未來屬于建設者”。HODL與BUIDL之間的艱難抉擇,將決定我們在區塊鏈行業該如何行動。方軍表示,如果比特幣網絡是區塊鏈1.0,那么以太坊網絡就是區塊鏈2.0,現在很多新的項目,如螞蟻區塊鏈都是在增加以太坊網絡的價值。[2020/5/23]
校勘者提案
這是Phase2階段的早期提議,將分片鏈的建塊分為三個部分:提議者、校勘者、執行者。一些提議者負責收集交易,打包成區塊,一些提議者負責提交collation到鏈上,最終,執行者根據被提議的collation給出一個新的狀態根。
該提案從未得到完全的研究;因此,也沒有對手續費支付機制的研究。除去別的因素,這項提案被棄用還因為,它的激勵機制鼓勵用戶同時成為提議者、校勘者、執行者,以得到利益最大化
Phase1andDone
CaseyDetrio在其開創先河的博文通過以太坊1.x上的合約來支付費用;不過這個可行性令人懷疑,因為這會使得以太坊2.0的可用性強烈依賴以太坊1.x。
Phase2Proposal1
動態 | 以太坊未確認交易64427筆:據Etherscan.io數據顯示,以太坊未確認交易64427筆。當前挖礦難度2084.24 TH,交易處理能力5.2 TPS。截至目前以太坊全球均價為176.28美元,最近24小時漲幅為1.17%。[2020/1/30]
緊接著Detrio的研究,VitalikButerin對Phase2階段提出了具體的新提案:phase2proposal1。在此提案中,執行腳本存放在信標鏈上,以太幣可以被存入執行腳本,而且絕對不會脫離信標鏈;每個分片的狀態和執行都是完全獨立的。
請注意,它們的名字可能會有誤導性——執行腳本乃是定義執行交易的虛擬機的規則,而非我們今天在以太坊看到的智能合約。執行腳本必須以客戶端可解析、計量、編碼的方式定義數據模型及操作碼。
為了支付費用,每個執行腳本本質上都是個layer-2系統,驗證者無法“得知”其內部的付費機制。這不是設計缺陷,而是故意為之的;如果要求分片驗證者去解析和計算不同的費用機制,這無疑會導致實施難度及經濟機制復雜性大幅增加,引入更多可能被攻擊的弱點,甚至變得完全不可用。很大程度上,反對“經濟抽象化”的理由也可以用于反對這種依腳本定義手續費種類的執行模式。
因為驗證者無法直接從執行腳本中收取費用,他們必須通過其他方式拿到服務費。這里通過一個特殊的執行腳本完成;任何人都可以發送包含以下邏輯的交易:“如果在某分片中的某時隙打包了這個使用了某執行腳本的數據,則我要向記錄這個數據塊的人支付這筆費用”;這里的操作都是由中繼者完成:中繼者負責收集用戶的交易,根據非-enshrined普通執行腳本指定的規則收取費用,然后再向分片中的區塊提議者根據enshrined執行腳本支付打包交易的費用。
動態 | 以太坊Github代碼提交活躍度遠遠領先其他公鏈基礎平臺:據RatingToken和RatingDapp大數據監測顯示,市值排名前列的公鏈基礎平臺分別為:ETH、EOS、IOTA、TRON和NEO。近7日Github代碼總提交數排第一的為ETH,近7日提交代碼人數排第一的為ETH,近30日提交代碼人數排第一的為ETH。RatingToken分析師認為,投資者可以從如下兩個方面關注一個項目代碼提交的活躍度:對于目前處于不斷完善階段的公鏈基礎平臺來說,開發者持續的活躍和代碼的持續提交是一個項目內在價值的支撐,同時,如果代碼提交活躍度階段性的放大則可能是重要版本發布的前兆。[2019/4/12]
WilliamVillanueva的博客AJourneyThroughPhase2ofEthereum2.0對到這里為止的Phase2提案給出了完美的總結。
Phase2Proposal2
受到Detrio前期工作的啟發,V神再次提出Phase2Proposal2,針對對提案1進行簡化,移除了分片鏈上狀態,改用信標鏈追蹤隨分片各異、隨執行環境各異的狀態根。
這種設計的好處是,不同的執行環境能選擇自己的累加器,而不像之前的提案,必須尊奉一種累加器形式。
現在,一般交易流程如下:用戶創建交易并將其發送給中繼者,中繼者隨用戶需要添加見證以獲得用戶支付的費用。接著中繼者將多個交易進行打包,一起發送給區塊提議者,并通過協議內置的機制向他們支付費用,讓提議者將該交易堆打包到下一個區塊中。與提案1一樣,這里的“協議內置的機制”是指一個更高等的EE,所有驗證者都能識別的EE。
對于驗證者來說,此方案一定程度上減輕了他們的負擔,但是由于以上操作仍需要一些分片狀態,而該提案又沒有設計用戶與中繼者的協議內費用支付機制,所以還沒有解決中繼網絡的全部問題。首先,使用協議外手段進行支付會削弱用戶的隱私保護;其次,我們不清楚要如何創建一個完全脫鏈的系統來保證用戶和中繼者一手交錢一手交貨;第三,使用協議外手段進行支付的潛在高風險,以及成為中繼者的高算力要求,可能會導致中心化問題——在最糟的情況下,用戶和以太坊2.0網絡之間可能只剩下幾個“把關的”中繼者。
回歸交易緩存池模式
Vitalik在新的提案中提到,讓中繼者有條件地向區塊提議者付費,需要繁重的雙重承諾方法來保證支付的原子性,因此,不如用一個手續費市場EE來解決所有問題。在該提案中,EE將具有自己的余額。EE執行一批交易后會輸出一個收據,負責支付費用的高等EE會根據這個數據,將以太幣從該EE賬戶轉給區塊提議者。因此,支付費用的高等EE能夠“回看”之前的收據并處理轉賬。而充值EE賬戶可能就是中繼者的責任了。
這個提案的好處是,不需要通過什么復雜的方法來協調中繼者和區塊提議者之間的支付往來,但沒有指明用戶該怎么和中繼者進行交互,只是建議使用支付通道。
基于最初的提案,Villanueva建議回歸交易緩存池模式。在這種情況下,中繼者只需作為狀態提供者,僅提供見證而不需要打包交易;區塊提議者維護一個緩存池,合并所需的見證數據來打包交易。有鑒于每個EE可以選擇不同的累加器,因此EE必須事先聲明一個固定的合并見證的方法,讓區塊提議者可以整合兩個及以上的見證,例如將多個Merkle分支整合成一個Merkle多重證明。
因為狀態提供者只需要提供見證,目前已有的很多角色都可以勝任這個任務:如,輕客戶端服務器。可以使用更方便的工具和更低的成本來激勵更多輕客戶端服務器提供見證,這對于高可靠性大有幫助。不過對于用戶來說,不得不使用高摩擦力的支付渠道付費給狀態提供者,仍然很令人頭疼。
Phase2另類架構
就在不久之前,V神提出了Phase2另類架構,打算完全去掉分片的狀態。關鍵之處在于,在信標鏈中加入了完整的、有狀態的、可表達的狀態轉換引擎。這個引擎作為“調度員”,持續追蹤EE的狀態根。調度員設計也讓多分片事務執行成為可能:按照既定的順序檢查分片和時隙,以確保正確執行了跨分片到同一個EE的多個交易。
這個提案的費用支付機制與前一個提案相比沒有什么變化,不過因為調度員具有足夠的能力來處理EE余額管理和收據消費,因此不再需要特定的支付費用EE存在。
分片鏈簡化提案
在DevCon5大會上,V神發布了關于以太坊2.0架構的重大重構消息,這是啟發自Near協議的分片塊——夜影的設計。在新的提案中,不要求每個分片鏈都運行相互獨立的分叉選擇規則,而是交錯著以更快的速度生成區塊和交聯;分片中的區塊緊隨著信標鏈的區塊一起生成,而且所每個分片都與每個信標鏈區塊交叉連接。該體系結構增加了分片交叉鏈接的數量,為應對交聯數量的增加,分片的數量從1024減少到64個;與此同時每個分片的吞吐量也有所增加,使整個系統的吞吐量保持原來水平。
上述思維模式的根本變化,使得費用市場變得更更加簡單:由于分片數量大大減少,跨分片通信更為簡化,用戶大可直接在每一個分片上都存有Ether,直接給區塊提議者支付。
消弭了大半的費用市場問題,現在只剩下中繼網絡的挑戰還依然存在。
提醒
以上關于以太坊2.0的中繼網路/費用市場的討論,并非完全詳盡的:
對于用戶、中繼者、區塊提議者來說,大家都需要適當的付費激勵及服務。用戶可以通過付費得到所需的見證,中繼者收取費用提供見證,而區塊提議者收費打包交易。關于中繼者向區塊提議者付費的方式,可以在協議內聲明;但是用戶希望一邊要取得見證數據,一邊要保證交易被打包,其付費的方式就沒有那么單純了。對于用戶來說,好的支付方法應該是低阻力的,方便其轉換不同的中繼者。但是依賴外部區塊鏈的支付通道,存在預先支付押金及對外部鏈活性的要求;理想的情況還是能在協議內解決用戶支付的問題。續上一點,應該讓中繼者難以審查用戶。可惜的是,見證取自于內嵌的訪問列表,因此沒有辦法阻止中繼者設置黑名單。驗證者不必“理解”每個EE內部的支付方式,因為這會極為復雜,對部署及建立有效的市場帶來巨大的阻力。用戶不是非維護全節點不可。我們希望這個提案對于輕客戶端非常友好。最后一點同樣很關鍵:抵御DoS攻擊非常重要。按照見證的合并/刷新方式,很有可能會有向驗證者發起的DoS攻擊。務必要當心有人利用這種漏洞。
總結
回顧過去的一整年,圍繞著中繼網絡及費用市場的研究進行了多次迭代,致力于給用戶和輕節點帶來良好的使用體驗的同時,降低驗證者負擔,盡可能保證免準入性。展望未來,我們希望看到更多關于Phase2的提案,進一步改進和完善以太坊2.0的各個層面!
GameFi其實并不是一個最新創造的概念,根據資料顯示,2019年下半年,MixMarvel首席戰略官MaryMa當時在烏鎮峰會的演講中首次提出GameFi,即GameFinance.
1900/1/1 0:00:00印度中央銀行-印度儲備銀行,敦促該國最高法院規范cryptocurrencies,當地新聞媒體的金融快報報道7月21日.
1900/1/1 0:00:00加密貨幣分析公司CoinGecko提交的年度報告,比特幣2019年的價格走勢主要是由新聞驅動的.
1900/1/1 0:00:00歡迎點個關注加入我們,我們下期再見在比特幣領域,債務上限協議和中國最新的加密貨幣報告等近期發展引起了廣泛關注。這些事件引發了對比特幣價格軌跡的潛在影響的質疑.
1900/1/1 0:00:00行業簡訊: 今天下午2點鐘全球最大的合約交易所所BitMEX合約區XRP/USD的價格迅速從0.33美元下跌到0.13美元,跌幅近60%.
1900/1/1 0:00:00上游財經—重慶商報記者吳光亮14日晚間,比特幣中國宣布將于9月30日停止所有交易業務,聲稱系根據9月4日七部委下發的文件精神做出的決定。比特幣中國這一公告被認為系國內開始清退虛擬幣平臺的動作.
1900/1/1 0:00:00