本文將總結現有圍繞著以太坊2.0Phase2的研究成果,重點關注中繼網絡以及手續費機制。每種提案都有其不同的權衡取舍,而且被不同的平臺所采用,因此做一次合理且全面的匯總,能讓新入門的研究者更快上手。
背景
在深入討論中繼網絡之前,我們先回顧一下以太坊的主要瓶頸之一:狀態。
在以太坊中,狀態指的是賬戶余額、合約代碼、合約存儲內容的集合。不論什么時候執行交易,都要對狀態進行讀寫操作。早些時候,人們曾對以太坊計算模型原生的不可擴展性提出過質疑;但時至今日,反而是狀態的讀寫成為執行交易的成本瓶頸,磁盤的I/O性能成了運行以太坊全節點的制約因素。
請注意,為了能夠按照富狀態范式執行任何的交易,全節點必須保證所有狀態始終放在可訪問的位置。如果應用在單一區塊鏈的場景,或許這還能勉強接受,但是一旦面臨分片、面臨分片上委員會的重組,這種要求是非常不合理的。設想一下,每當驗證者被指定到一條分片鏈,他就得同步該分片上的所有狀態;則這種系統就等價于單一區塊鏈,只是此時的區塊大小等于分片區塊大小*分片數量。
這就是為什么我們需要無狀態客戶端。
分片及無狀態客戶端
在無狀態客戶端范式中,驗證者只需要存儲一個經過壓縮的區塊鏈狀態表,大幅降低了執行交易的負擔。一般來說累加器的大小是常量,不過也有可能是對數大小。
報告:Polygon生態系統正越來越獨立于以太坊:金色財經報道,區塊鏈開發平臺Alchemy周三發布的一份新報告顯示,Polygon生態系統正在迅速擴展,并且越來越獨立于以太坊。根據該報告,該鏈上現在有3,000個應用程序,而去年僅為30個。此外,Alchemy在Polygon鏈上進行建立的團隊數量環比增加了145%。根據報告,在部署到Polygon的新應用程序中,只有38%是在Polygon和以太坊上構建的,而62%僅部署在Polygon上。[2021/10/21 20:45:02]
無狀態客戶端的本質是,每筆交易都附帶當前累加器的見證數據,見證數據中包含了所有執行該交易所需的信息。在以太坊中,使用稀疏Merkle樹作為累加器,一筆交易所涉及的所有狀態元素都可以被包含進默克爾樹分支中。
在其他應用上,無狀態客戶端可以縮短以太坊節點的初次同步時間,這就是BeamSync的原理。
備注:有一些密碼學累加器比Merkle累加器性能更好,但是這種累加器需要受信任初始化,或是使用未驗證的前沿密碼技術,所以安全部署到生產系統上還需要點時間。
但無狀態客戶端也有自己的挑戰:一旦使用Merkle累加器,每當結束一次完整的執行后,見證就過期了。如果模型要求每筆交易都包含單獨的見證,然后順序執行這些交易,則排在后頭的交易的見證數據就會過期,必須能夠隨著前面每一筆交易結束而更新自己的見證。幸虧更新這些Merkle累加器的見證涉及零哈希開銷方法——如果見證數據可以作為附加物添加到“一大包”交易上的話,就不需要更新屬于每筆交易的單獨見證,或是說可以整合為多重證明。
以太坊未確認交易為87,309筆:金色財經消息,據OKLink數據顯示,以太坊未確認交易87,309筆,當前全網算力為254.25TH/s,全網難度為3.38P,當前持幣地址為50,000,211個,同比增加247,988個,24h鏈上交易量為3,531,122.31ETH,當前平均出塊時間為13s。[2020/11/13 14:09:44]
假如所有用戶都維護著全節點,并實時更新見證的狀態,那么無狀態客戶端系統是能夠馬上被采用的。可惜在分片環境下,這意味著要求所有用戶維護自己所在分片上的所有狀態;這樣做不僅不切實際,而且就如我們上面提到的,這就相當于只是建立一條區塊體量更大的單一區塊鏈。
為了解決問題,這里引入了中繼者的概念。中繼者負責提供用戶所需的見證,并以此向用戶收取服務費。和用戶不一樣,中繼者可以將服務聚焦在單一分片上;但中繼者無法預知用戶什么時候需要狀態,因此必須保證見證的及時更新,也就是實時存儲狀態,以供用戶獲取。
中繼者的引入也會引來一大堆復雜的問題,也是以太坊2.0的全面部署所面臨的最重要的開放問題之一。第一點,如果不能很好地平衡中繼者和區塊提議者所得到的利益,驗證者就會被激勵成為中繼者,則相關服務的獲取成本可能會讓一般使用者望而卻步。第二點,要讓中繼者能夠從用戶和驗證者處收取費用),同時不至于引入太大的開銷,顯然不是件簡單的事;換言之,驗證無狀態交易很容易,但是提供必要的見證很困難。
中繼網路及費用市場提案
以太坊研發者:BaconSwap和shroom項目所有者可無限增發代幣:以太坊研發者Philippe Castonguay今日發推文稱,DeFi項目BaconSwap和shroom.finance均允許項目所有者在沒有時間鎖定的情況下增發無限的代幣。此外,在shroom.finance項目中,有25%的shroom代幣進入了開發人員地址。[2020/9/4]
以太坊2.0Phase2的設計空間很大,也出現了很多對執行模式的提議。每種提議都各自表述了如何通過付費,結合中繼網路的機制,將交易更好地在用戶和區塊提議者之間進行傳遞。本章節會盡可能簡潔而全面地總結不同的協議,并著重分析它們在中繼網路及手續費機制上的異同。
校勘者提案
這是Phase2階段的早期提議,將分片鏈的建塊分為三個部分:提議者、校勘者、執行者。一些提議者負責收集交易,打包成區塊,一些提議者負責提交collation到鏈上,最終,執行者根據被提議的collation給出一個新的狀態根。
該提案從未得到完全的研究;因此,也沒有對手續費支付機制的研究。除去別的因素,這項提案被棄用還因為,它的激勵機制鼓勵用戶同時成為提議者、校勘者、執行者,以得到利益最大化
Phase1andDone
CaseyDetrio在其開創先河的博文通過以太坊1.x上的合約來支付費用;不過這個可行性令人懷疑,因為這會使得以太坊2.0的可用性強烈依賴以太坊1.x。
Phase2Proposal1
緊接著Detrio的研究,VitalikButerin對Phase2階段提出了具體的新提案:phase2proposal1。在此提案中,執行腳本存放在信標鏈上,以太幣可以被存入執行腳本,而且絕對不會脫離信標鏈;每個分片的狀態和執行都是完全獨立的。
動態 | 監測:以太坊鏈上500萬枚HUSD被銷毀:Whale Alert監測數據顯示,北京時間2月23日19:20,以太坊鏈上500萬枚HUSD被銷毀。[2020/2/23]
請注意,它們的名字可能會有誤導性——執行腳本乃是定義執行交易的虛擬機的規則,而非我們今天在以太坊看到的智能合約。執行腳本必須以客戶端可解析、計量、編碼的方式定義數據模型及操作碼。
為了支付費用,每個執行腳本本質上都是個layer-2系統,驗證者無法“得知”其內部的付費機制。這不是設計缺陷,而是故意為之的;如果要求分片驗證者去解析和計算不同的費用機制,這無疑會導致實施難度及經濟機制復雜性大幅增加,引入更多可能被攻擊的弱點,甚至變得完全不可用。很大程度上,反對“經濟抽象化”的理由也可以用于反對這種依腳本定義手續費種類的執行模式。
因為驗證者無法直接從執行腳本中收取費用,他們必須通過其他方式拿到服務費。這里通過一個特殊的執行腳本完成;任何人都可以發送包含以下邏輯的交易:“如果在某分片中的某時隙打包了這個使用了某執行腳本的數據,則我要向記錄這個數據塊的人支付這筆費用”;這里的操作都是由中繼者完成:中繼者負責收集用戶的交易,根據非-enshrined普通執行腳本指定的規則收取費用,然后再向分片中的區塊提議者根據enshrined執行腳本支付打包交易的費用。
WilliamVillanueva的博客AJourneyThroughPhase2ofEthereum2.0對到這里為止的Phase2提案給出了完美的總結。
Phase2Proposal2
動態 | Telegram和YouTube上出現將以太坊伊斯坦布爾升級作為噱頭的加密騙局:金色財經報道,在以太坊完成伊斯坦布爾升級后不久,Telegram和YouTube上就出現了新的加密貨幣騙局,騙子們要求潛在受騙者發送ETH以獲得價值10倍的獎勵。以Telegram為例,幾位對加密貨幣感興趣的用戶加入了一個使用了以太坊基金會官方標志和名稱以及Vitalik Buterin(V神)姓名的可疑聊天群。該群宣稱正在進行一場2萬枚ETH的空投活動以慶祝升級成功,借此誘騙用戶發送所持ETH來換取更高的返還獎勵。[2019/12/10]
受到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的各個層面!
在加密貨幣的7月份市場中,比特幣的26%反彈讓許多加密貨幣陷入了困境。事實上,比特幣優勢率是一個廣泛使用的指標,跟蹤比特幣貢獻的總加密市值的百分比,從42%升至48%,在31天期間創下7個月新高.
1900/1/1 0:00:00馬斯克:Twitter計劃創建一個比傳統銀行業更高效的金融系統:金色財經報道,Elon Musk表示,Twitter計劃創建一個比傳統銀行業更高效的金融系統.
1900/1/1 0:00:00幣圈隔夜消息一覽 1.美國眾議員:對數字支付創新的批評可能會扼制其進展。2.CFTC主席HeathTarbert重申以太坊期貨即將到來。3.柬埔寨將推出中央銀行數字貨幣付款系統.
1900/1/1 0:00:00文:頭等艙 隨著Eth2.0的階段深入,研究重點正在轉移到階段2:狀態執行。此階段最重要的一個方面是跨片通信的處理,它影響了分片化區塊鏈系統的可擴展性,執行環境容量以及用戶體驗.
1900/1/1 0:00:00數字貨幣早報一覽 1.以太坊2.0抵押合約有望于春季啟動。2.美國法院駁回UnitedAmerican針對比特大陸的訴訟.
1900/1/1 0:00:00資本講故事,牛市到來之時,也是新故事開始之時,而這之前都是準備。現在看來DeFi就是一個好的故事,一個毫不違和的財富故事,一個正在準備彈藥的新故事.
1900/1/1 0:00:00