作者:阿劍
自《Arollup-centricethereumroadmap》一文發表以來,整個社區都對以太坊的路線圖產生了疑問。2020年11月18日,在以太坊基金會的Eth2.0研究團隊的第五次AMA活動中,Vitalik明白地表示,路線圖已經發生了變化:暫時不再強調Phase2的重要性,Phase1致力于實現數據分片,供rollup方式使用;信標鏈將具備執行功能,即Eth1-Eth2合并之后,信標鏈區塊將直接包含交易;Phase0實現后的三大工作:輕客戶端支持、數據分片、合并,將并行推進,任一模塊只要準備好了就退出。
本文的目的不是為原來的三階段路線圖辯護。相反,本文是想主張,三階段路線圖虛無縹緲,新路線圖食之無味,沒有一種與Eth2.0相關的路線圖值得以太坊放棄當前的運作模式、轉向以PoS為基礎的系統。
在這里,我會先講解初始的三階段路線圖的論證思路及其技術難點;然后分析新路線圖的可擴展性。最后論證,新路線圖的可擴展性優勢,已經渺小到不足以使以太坊冒險轉入PoS。
Eth2.0的三階段路線圖
在過去兩年,廣為流傳的Eth2.0路線圖規劃了三個依次序實現的組件:
Phase0:以PoS為共識機制的信標鏈
Phase1:多條分片鏈
Phase2:為所有分片增加執行功能
從這一路線圖可以清晰地看出,原來的以太坊2.0的目標是打造一個“分片化執行”的系統,意思是:每個分片都有自己的狀態,這些狀態按各分片的狀態轉換規則來變更;變更后的狀態由信標鏈來敲定;由此,以太坊2.0就成了一個多個分片可以并行處理交易的系統。這也意味著,以太坊2.0是一個“共識”和“交易處理”解耦的系統,被分配到各分片上的驗證者負責驗證交易和狀態的正確性;但這些狀態的敲定則依賴于信標鏈的epoch敲定機制,兩個過程并不是完全同步的。
觀點:Ripple對美國證券交易委員會的官司肯定會敗訴:金色財經報道,Max Keizer認為Ripple將輸掉對SEC的訴訟。Max Keizer再次對美國證券交易委員會與XRP背后的公司Ripple之間正在進行的案件發表評論。比特幣永久看漲者認為瑞波幣將會失敗,但原因并不像許多人想象的那樣。Max Keizer是一位著名的比特幣支持者,他對這一主要加密貨幣的優點直言不諱。Keizer表示,Ripple對美國證券交易委員會的官司肯定會敗訴。[2023/7/2 22:12:47]
這種“PoS信標鏈+多分片”的架構,似乎也非常好地利用了PoS算法本身的特點:為了解決No-thing-at-stake問題,以太坊2.0所用的Casper算法要求用戶先存入一部分押金才能獲得出塊資格,而如果驗證者濫用了出塊資格,則會被罰沒押金;由此,像Casper這樣的算法實際上在區塊鏈上創造了兩種可以相互溝通、但相互獨立變更的狀態:一種是普通用戶的狀態,另一種是驗證者的出塊權重狀態;共識過程以出塊權重狀態為基礎,達成共識也會更改出塊權重狀態;因此,共識過程先天獨立于用戶交易的驗證,可以解耦;對任意的交易批次及結果狀態而言,共識過程可以被抽象成一種“終局性敲定機制”,邏輯上,多分片并行執行于是成為可能。
至于其可擴展性,以太坊分片技術的命名“二次方分片”透露了端倪:假設分片上的交易,其執行復雜性能夠被化約到與區塊頭驗證同樣的難度,則分片化執行的架構,可以使整個系統的處理能力,隨著參與節點處理能力的線性提高而呈平方級提高。通俗來說,如果參與網絡的節點在一段時間內能驗證4個區塊頭,這就意味著,在參與一個分片時,節點們可以在同等時間內驗證4筆交易,此時系統總處理量是4條分片×4筆交易/分片=16筆交易;如果節點的處理能力變成了8,則處理量會變成64筆交易。
觀點:遭受國際制裁的俄羅斯寡頭和億萬富翁只能選擇購買比特幣:3月3日消息,一名駐倫敦的律師表示,因俄烏沖突而遭受嚴厲金融限制的俄羅斯寡頭和億萬富翁正在轉向比特幣。
W Legal首席執行官Nigel Kusher向BBC表示,他們面臨的直接問題是應該將把現金轉移到哪里,他們肯定不想把錢轉移到俄羅斯,“W Legal律師事務所正在與一些未透露姓名的俄羅斯富人合作。
“有些人可能會購買比特幣,這對他們來說真的很棘手。”Kusher補充說,這是某些受到國際制裁的俄羅斯寡頭和億萬富翁的唯一選擇。“一旦你被列入制裁名單,除了一家俄羅斯銀行,世界上沒有其他銀行會與你接觸,所以你還能把錢投到哪里呢?”(福布斯)[2022/3/3 13:35:11]
聽起來很美好,但是,這個“平方級擴展”的論證中包含了如下假設:
存在一種技術,使得分片交易的驗證,可以簡化到與驗證區塊頭同樣的難度;
不存在跨分片的交易,即各分片內的交易是完全不會相互依賴的。跨分片的交易需要占用多個分片的處理容量,也要占據信標鏈的處理容量,會使可擴展性大打折扣。
關于,這個假設是有可能得到滿足的,無狀態性就是這樣的一種技術,它的思路是,在傳播交易,附帶交易所訪問狀態的證明,使得交易的驗證者無需持有交易執行之時的狀態數據,就能驗證交易的有效性。這一點極為關鍵,如果沒有無狀態性,參與分片驗證的驗證者就必須保存分片的狀態,因為驗證者會被不斷分配到不同的分片鏈上,那就意味著他們必須保存所有分片的狀態,在實踐中也就意味著他們要不斷下載所有分片的區塊并處理交易,從而使整個系統坍縮為一個大區塊系統。遺憾的是,至今,以太坊1.0也沒有研究出足夠輕量的無狀態方法。
觀點:以太坊2.0延遲系多方因素造成,包括技術和社會可擴展性需求:交易平臺Koinfox創始人兼首席執行官Ankitt Gaur正在PoS區塊鏈上部署其代理協議,根據他的說法,處理PoS共識算法的網絡在管理流程方面比PoW區塊鏈更復雜。他表示:”以太坊的延遲是多方面的結果。它從一開始就有多個客戶端,這些客戶端必須相互通信。當所有驗證器都需要相互通信時,staking過程會變得更加復雜。”
隨著越來越多的人、組織和軟件參與到平臺的開發中,管理過程變得越來越困難。以太坊核心技術成員Lane Rettig指出了技術和社會可擴展性的需求,并補充稱“協調問題變得越來越難”。與技術可擴展性一樣,在適當管理下的社會可擴展性也必須來確保平穩和精簡的操作。
此外,整個結構中可能存在的部門也會導致人員的高流動率,長時間的入職流程進一步減慢了開發過程。以太坊基金會的Jameson Hudson表示:“我們沒有足夠的人來幫助解決這些問題。”
The Daily Hodl此前發文稱,以太坊2.0發布可能會再次推遲。不斷尋找代碼錯誤是推遲最初2020年1月啟動計劃0的主要原因。“多客戶端模式”造成了延遲,因為人力資源不足以確保最佳開發。(Cointelegraph)[2020/5/24]
關于,那就沒有什么好說的了。如果不能實現跨分片交易,分片化執行的系統就沒什么意義,因為各分片各自為政。必須使得ETH有辦法存在于各個分片上,這個系統才能仍然以ETH為主體。而直到今天為止,還沒有出現一種跨分片交易方案,能夠不增加信標鏈的處理量。道理也很簡單,對于任意A分片來說,因為并行處理,任意?B分片上正在發生什么交易,需不需要改寫本分片的狀態,是不可知的,因此必須存在一個通信層,可信地證明B分片上發生了一筆試圖改寫A分片狀態的交易。而一旦需要讓信標鏈具備處理交易的功能,平方級擴展的效果就會被打破。
觀點:比特幣不是近期唯一暴跌的資產,亞洲市場很快將恢復:Nathaniel Whittemore近期在播客節目中闡述了比特幣持幣者不必擔心價格將持續暴跌的數個原因。Whittemore認為“好事多磨”,而且比特幣不是唯一暴跌的資產,價格下跌并不是對其作為一種資產或設計基本面的挑戰:“不僅僅是加密貨幣在下跌。黃金價格同日下跌4.5%。我們正處于一場可能曠日持久的危機的開端,而現在的情況是,人們正在出售任何容易獲得流動性和變現的東西。”Whittemore強調,這只是一個“極度恐懼的時刻”。他進一步指出,亞洲在加密貨幣方面具有良好的增長潛力,并暗示市場將很快恢復到新冠病爆發前的狀態。(AMBCrypto)[2020/3/16]
除了存疑的可擴展性,分片化執行還帶來了許多經濟上的有趣問題。例如,如果跨分片交易的處理時間超過一筆分片內交易的處理時間,這就意味著,不同分片上的ETH價值也不會相同。就好像美國國內的1美元,與美國國外的1美元,實際上并不是同一種東西。不論有多少個分片,都至少會有兩種ETH價格,一種,是那個金融應用最繁茂的分片上的ETH的價格;另一種是其它分片上的ETH的價格;后者必須支付一定的手續費并付出一定的時間,才能換成前者,因此對前者必定有一些折價。同理,即使每個分片上都有uniswap,不同分片上市場的交易滑點也必定不相同,最終大家都會匯集到一個分片上,因為大家都在一起的時候,流動性最充沛,資金效率最高。某種程度上,可以認為跨分片交易的需要是很少的——但這也意味著,其它分片上閑置的交易處理容量,也根本沒有意義。
分片化執行系統的技術難點,此處不再贅述,感興趣者可以自己想想分片化執行系統怎么支付手續費的問題。但我在這里想說的是,分片化執行系統的設計理念違背了大家的實際需要,也違背了事物的發展規律。全局狀態,并不是一個問題,而正是大家需要的東西;正是因為以太坊使得所有金融應用都能瞬間組合,創造了一個價值可以零摩擦流通的空間,以太坊才有了變革世界的潛力;在協議層為價值流通創造摩擦,是自廢武功。有了一個良好的基礎層時候,應該想辦法維護這個基礎層,剩下的事情讓用戶自己選擇,讓生態自己演化——不要以為設計能設計出一個生態,過度設計只是給所有人強加成本。
聲音 | 觀點:區塊鏈賦予游戲玩家權力并改善其體驗:據The Block消息,區塊鏈為全球游戲產業的困境提供解決方案。游戲貨幣、物品、化身、游戲輸入,甚至整個游戲都可在區塊鏈傳播和保護。區塊鏈可以賦予玩家權力并改善其體驗,體現在: 1. 現實世界所有權; 2. 可證明公平的游戲設置; 3. 玩即賺錢的游戲;4. 跨游戲交流。[2019/8/3]
分片化執行的擱置,側面印證了其中的難度——在可預見的未來,這條道路無法產生令我們滿意的成果。盡管如此,我并不認為Eth2.0的研究員們已經完全放棄了三階段路線圖,Vitalik也還強調,變更后的路線圖,跟Phase2也是完全兼容的,只是Phase2不再具有優先級。
但是實際上,放棄分片化執行,才是以太坊應該選擇的道路。
可執行信標鏈路線圖
在以太坊2.0的新路線圖中,最令人矚目的一點是:信標鏈區塊將包含合并后的Eth1分片的交易,也即信標鏈具備了執行功能。其它分片僅具有保存數據的功能。
實際上,新路線圖中“數據分片”的定位是“供rollup使用的數據可得性層”。
沒了執行化分片,平方級擴展就無從談起了。那么,這種“PoSLayer-1+rollup+rollup數據不占據主鏈區塊空間”架構的可擴展性如何呢?
要解答這個問題,我們先來看看rollup方案與主鏈的交互模式。
首先,你可以把一個rollup系統理解為一個無狀態的合約,這個合約的內部狀態,對外是不可見的;但是,該合約內發生的所有交易,其數據會定期公開出來,發布到主鏈上,使得任一第三方,得到這些數據后,都可以重建出該合約的內部狀態。
使用有效性證明的rollup的特點是:該合約每次公開交易數據時,都附帶一個這些交易已被正確執行、因此新的狀態根應是XXX的“計算完整性證明”;如果該證明能通過合約的驗證,則該合約更新狀態根;如果該證明不能通過驗證,則該合約拒絕更新。
使用錯誤性證明的rollup的方案則相反:任一人每次為合約公開交易數據時,都必須存入一筆押金,并斷言合約的新狀態根是YYY;此后一段時間內,任意其他人都能存入押金、發出錯誤性證明來挑戰該斷言;錯誤性證明即證明該批交易有瑕疵,或者交易處理后的新狀態根不是YYY;如果挑戰成功,則發布錯誤斷言的人會損失押金;如果一段時間內無人挑戰,則合約更新狀態根為YYY。
這兩種方案,都必須在鏈上發布數據,因此會占用鏈上空間;而且,鏈上空間的大小,決定了rollup系統在單位時間內的處理量。想得更深一些,如果這些交易數據,能夠發布在一個數據量的約束更小的地方,或者說,不去占用Layer-1區塊的空間,則其處理量,能產生倍加的效果。如果這樣的西方有很多,那還可以產生倍乘的效果。
這就是“數據分片”及“以rollup為中心的路線圖”的理念:讓rollup方案把交易數據都放到分片區塊中,分片有多少個,處理量就能提升多少倍;當前的以太坊區塊數據量大概是20~30KB,這個數據量顯然是安全的,則,如果我們有64條分片,我們每15秒就能提供64*30=1920KB=1.9MB的數據量。而且,使用端我提供了這么大的數據吞吐量,但它不會成為全節點的負擔,因為這些數據你想下載就下載,不想下載就可以不下載,大家你下載一點,我下載一點,節點的負擔還是很輕的——反正,驗證這些rollup合約的狀態,并不要求我擁有該rollup的所有歷史交易數據。以太坊的狀態仍然是安全的。
聽起來很合理,但還是那句話,太樂觀了,太多假設了:
這種“想下載就下載,不想下載就不下載”的方法,在zkrollup上根本行不通:當zkrollup要更新狀態根時,zkrollup合約更新操作的驗證者在接受證明時也必須獲得與該證明對應的交易數據,否則就無法通過驗證。。也就是說,如果僅考慮zkrollup,那么“數據分片”的方法,從帶寬上來說,與大區塊沒有任何分別。不管這些數據一開始被發到了誰手上、存到了哪里,全節點都要下載它們。
對optimisticrollup來說,如果你愿意采取更樂觀一點的假設,當然可以,你可以平時完全不下載交易數據,僅保留獲得終局性的最新狀態根,僅在發生爭議時,再下載相關的交易數據,從全節點的角度看,并沒有因此喪失對合約狀態的驗證能力;但是從用戶的角度看,事情就完全不同了:你開始不確定自己到底是不是隨時能夠重構自己的狀態,來完成取款。也就是說,用戶將不能確定自己用的到底是optimisticrollup,還是plasma。本來,optimisticrollup的方案就是保證了所有全節點都有歷史交易的備份,所以用戶可以容易地重建自己的狀態,并提交狀態證明完成取款;但如果這一點保證失去了,你就不確定自己能不能重建狀態了。optimisticrollup的安全性也會受到影響:它的安全假設是,獲得了交易數據的人之中至少有1個是遵守協議的;在數據分片模式下,你并不知道,有多少人會去請求這部分交易數據。
總而言之,“數據分片”模式搭配zkrollup時,在帶寬的意義上,無法提供更大的可擴展性,而與擴大區塊空間的效果相同;在搭配optimisticrollup時,相對于大區塊,其可擴展性優勢與挑戰發生的頻率成反比;更嚴重的是,它使optimisticrollup有退化為plasma的風險。
結論
Rollup方案其實是從Layer-2發展過程中吸取了血淋淋的教訓而飛出來的鳳凰。它最大的特點在于,給用戶的資金安全提供了充分的保護。因為任意得到了交易數據的人都可以重建狀態,而區塊鏈保證了這些交易數據的永續數據可得性,rollup方案得以提供layer-2方案中首屈一指的用戶保護。只有這樣的方案,用戶才敢真的去使用。舍棄了這種好處,按最大化性能的樂觀假設來設計系統,只能設計出用戶不敢去用的東西。
只要你意識到,rollup本質上是一種合約的設計模式,“PoS+數據分片+rollup可以提供更大吞吐量”的迷思便可一眼洞穿——rollup不管在哪個共識中,都可以提供同樣的可擴展性,數據分片能提供更多,只是因為引入了別的安全假設,使rollup犧牲安全性來換取吞吐量而已——問題在于,這樣的合約,比rollup的安全性更弱、可擴展性更強的合約,不是沒出現過,不是在pow鏈上就設計不出來,而是設計出來了也沒人用而已。
自2017年以來,以太坊社區就為著實際的需要艱難地探索安全的可擴展性方案。許多人可能都相信過,“PoS+分片”能提供強大的可擴展性,但那是“分片化執行系統”,有自身的一堆問題。眼前的“可執行信標鏈路線”,也不過是犧牲合約本身的屬性來換吞吐量而已。時至今日,已經找不到證據,證明為了可擴展性,以太坊應該擁抱PoS。
歸根結底,只有契合用戶需要的性能提升,才是真正有意義的性能提升。如果不從用戶的實際需要出發,相反,從技術美感或者最大化性能的假設出發,只能設計出空中樓閣。如果可以,那就讓用戶自己來做決定,在協議層操心太多,往往徒增摩擦。
以太坊的路線圖應該改變嗎?當然,因為沒有什么利益,大到值得我們承擔改變底層這么大的風險。
Tags:ROLLROL以太坊ETHTROLLBNBSwaprol以太坊最新價格行情走勢圖ethereal有什么特殊的含義
最近,比特幣網絡上所謂的季節性挖礦波動引發了不少爭議。據說,隨著每年8月至10月左右中國雨季的結束,廉價而豐富的水力發電便會枯竭,許多效率低下的新型礦場不得不關閉工廠,或搬遷到其他地方,以尋找更.
1900/1/1 0:00:00「眾企安鏈」正式完成Pre-A輪數千萬元人民幣的融資,本輪融資由上海常春藤企業咨詢合伙企業領投、國宏嘉信股權投資管理有限公司、上海分布士投資管理有限公司跟投.
1900/1/1 0:00:00來源:中國基金報 記者李迪 全球人民焦急等待美國大選結果之際,比特幣和黃金漲瘋了。黃金期貨站上1950美元/盎司關口,比特幣則拉升一千多美元,突破15000美元關口,創下近三年新高.
1900/1/1 0:00:00北京時間11月11日星期三凌晨1點,協議實驗室舉行線上會議,會議討論Filecoinplus。會議主持人JonathanVictor、主講人Filecoin經濟模型團隊梓軒,Filecoin基金.
1900/1/1 0:00:00近年來,區塊鏈項目層出不窮,為取信于投資者,項目方提出各類新奇的應用場景,并包裝以精巧的白皮書報告與名人背書.
1900/1/1 0:00:00鏈作雙11區塊鏈探物節,鏈圈雙11,狂歡還在繼續!簡單粗暴的5折豪氣的滿贈還有專區滿111元可抽288元的鏈作1周年大獎以及擊穿底價的硬件錢包活動時間:11.9-11.15直接去鏈作搶購:htt.
1900/1/1 0:00:00