一個PoS的幽靈,在以太坊的上空回蕩。——題記
自《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敲定機制,兩個過程并不是完全同步的。
以太坊市值已超越埃克森美孚公司 排名升至第42:Asset Dash數據顯示,以太坊市值已超越埃克森美孚公司,排名升至全球資產第42位,目前約為2128.20億美元。據悉,埃克森美孚公司是世界最大的非政府石油天然氣生產商。[2021/2/13 19:39:04]
這種“PoS信標鏈多分片”的架構,似乎也非常好地利用了PoS算法本身的特點:為了解決No-thing-at-stake問題,以太坊2.0所用的Casper算法要求用戶先存入一部分押金才能獲得出塊資格,而如果驗證者濫用了出塊資格,則會被罰沒押金;由此,像Casper這樣的算法實際上在區塊鏈上創造了兩種可以相互溝通、但相互獨立變更的狀態:一種是普通用戶的狀態,另一種是驗證者的出塊權重狀態;共識過程以出塊權重狀態為基礎,達成共識也會更改出塊權重狀態;因此,共識過程先天獨立于用戶交易的驗證,可以解耦;對任意的交易批次及結果狀態而言,共識過程可以被抽象成一種“終局性敲定機制”,邏輯上,多分片并行執行于是成為可能。
至于其可擴展性,以太坊分片技術的命名“二次方分片”透露了端倪:假設分片上的交易,其執行復雜性能夠被化約到與區塊頭驗證同樣的難度,則分片化執行的架構,可以使整個系統的處理能力,隨著參與節點處理能力的線性提高而呈平方級提高。通俗來說,如果參與網絡的節點在一段時間內能驗證4個區塊頭,這就意味著,在參與一個分片時,節點們可以在同等時間內驗證4筆交易,此時系統總處理量是4條分片×4筆交易/分片=16筆交易;如果節點的處理能力變成了8,則處理量會變成64筆交易。
聽起來很美好,但是,這個“平方級擴展”的論證中包含了如下假設:
Ripple首席技術官:曾以一美元價格賣出4萬枚以太坊:Ripple首席技術官David Schwartz表示,自己除持有瑞波幣(XRP)外,還擁有多種加密資產。David Schwartz是XRP分類帳原始架構師之一,他聲稱自己將大部分投資組合分配給比特幣和瑞波幣,另外還擁有少量ETH和BAT。今年五月,David Schwartz表示“全球監管不確定性”讓Ripple公司高管難以披露自己的瑞波幣持有量,也無法發表相關觀點。David Schwartz此前透露,他和妻子在2012年為加密投資制定一個“冒險計劃”,但這個計劃并未成功,導致損失了8位數利潤,據悉他當時以1美元價格賣出了4萬枚以太坊,并以750美元的價格賣出了一大筆比特幣,又以0.10美元價格賣出大量瑞波幣。(The Daily Hodl)[2020/11/27 22:20:04]
存在一種技術,使得分片交易的驗證,可以簡化到與驗證區塊頭同樣的難度;
不存在跨分片的交易,即各分片內的交易是完全不會相互依賴的。跨分片的交易需要占用多個分片的處理容量,也要占據信標鏈的處理容量,會使可擴展性大打折扣。
關于,這個假設是有可能得到滿足的,無狀態性就是這樣的一種技術,它的思路是,在傳播交易,附帶交易所訪問狀態的證明,使得交易的驗證者無需持有交易執行之時的狀態數據,就能驗證交易的有效性。這一點極為關鍵,如果沒有無狀態性,參與分片驗證的驗證者就必須保存分片的狀態,因為驗證者會被不斷分配到不同的分片鏈上,那就意味著他們必須保存所有分片的狀態,在實踐中也就意味著他們要不斷下載所有分片的區塊并處理交易,從而使整個系統坍縮為一個大區塊系統。遺憾的是,至今,以太坊1.0也沒有研究出足夠輕量的無狀態方法。
以太坊2.0新測試網Spadina達到驗證節點門檻:9月23日,Bitfly通過推特宣布,以太坊2.0測試網Spadina已經觸及1024個驗證節點的門檻,質押以太坊總量達32768ETH。Spadina將在9月29日上線,并與Medalla測試網并行。[2020/9/23]
關于,那就沒有什么好說的了。如果不能實現跨分片交易,分片化執行的系統就沒什么意義,因為各分片各自為政。必須使得ETH有辦法存在于各個分片上,這個系統才能仍然以ETH為主體。而直到今天為止,還沒有出現一種跨分片交易方案,能夠不增加信標鏈的處理量。道理也很簡單,對于任意A分片來說,因為并行處理,任意B分片上正在發生什么交易,需不需要改寫本分片的狀態,是不可知的,因此必須存在一個通信層,可信地證明B分片上發生了一筆試圖改寫A分片狀態的交易。而一旦需要讓信標鏈具備處理交易的功能,平方級擴展的效果就會被打破。
除了存疑的可擴展性,分片化執行還帶來了許多經濟上的有趣問題。例如,如果跨分片交易的處理時間超過一筆分片內交易的處理時間,這就意味著,不同分片上的ETH價值也不會相同。就好像美國國內的1美元,與美國國外的1美元,實際上并不是同一種東西。不論有多少個分片,都至少會有兩種ETH價格,一種,是那個金融應用最繁茂的分片上的ETH的價格;另一種是其它分片上的ETH的價格;后者必須支付一定的手續費并付出一定的時間,才能換成前者,因此對前者必定有一些折價。同理,即使每個分片上都有uniswap,不同分片上市場的交易滑點也必定不相同,最終大家都會匯集到一個分片上,因為大家都在一起的時候,流動性最充沛,資金效率最高。某種程度上,可以認為跨分片交易的需要是很少的——但這也意味著,其它分片上閑置的交易處理容量,也根本沒有意義。
以太坊網絡疑似正因一個龐氏騙局而遭遇擁堵:5月13日消息,以太坊網絡似乎正因為一個旁氏騙局而遭遇嚴重擁堵。以太坊網絡上正有數以千計的交易涌向同一個地址,該地址現在擁有價值530萬美元的Paxos Standard(PAX)。而該地址屬于MMM Global運營商。MMM Global正推行多層營銷計劃,聲稱每日投資回報率為1%。而根據一位加密貨幣研究人員所言,4月下旬,該地址每天消耗以太坊8.5%的Gas。并且根據Etherscan上的數據,該地址現在是以太坊上Paxos穩定幣的第七大持有者。
而這些看似毫無價值的交易正繼續涌入MMM地址。且所有轉賬的交易都標記為“待處理”,而這些看起來沒有價值的交易事務通常代表沒有轉移任何ETH。Hydro Labs的Mark A表示,看起來這只是一個隨機的人創建了一個智能合約,其運作方式類似于龐氏騙局。截至發文,以太坊區塊鏈瀏覽器顯示網絡現已積壓了超過90,000筆未處理交易。
注:eth.btc.com數據顯示,當前以太坊網絡共有161848筆未處理交易。(CryptoPotato)[2020/5/13]
分片化執行系統的技術難點,此處不再贅述,感興趣者可以自己想想分片化執行系統怎么支付手續費的問題。但我在這里想說的是,分片化執行系統的設計理念違背了大家的實際需要,也違背了事物的發展規律。全局狀態,并不是一個問題,而正是大家需要的東西;正是因為以太坊使得所有金融應用都能瞬間組合,創造了一個價值可以零摩擦流通的空間,以太坊才有了變革世界的潛力;在協議層為價值流通創造摩擦,是自廢武功。有了一個良好的基礎層時候,應該想辦法維護這個基礎層,剩下的事情讓用戶自己選擇,讓生態自己演化——不要以為設計能設計出一個生態,過度設計只是給所有人強加成本。
動態 | 以太坊未確認交易37421筆:據Etherscan.io數據顯示,以太坊未確認交易37421筆。當前挖礦難度2391.21 TH,交易處理能力6.7 TPS。截至目前以太坊全球均價為173.49美元,最近24小時跌幅為1.21%。[2019/10/7]
分片化執行的擱置,側面印證了其中的難度——在可預見的未來,這條道路無法產生令我們滿意的成果。盡管如此,我并不認為Eth2.0的研究員們已經完全放棄了三階段路線圖,Vitalik也還強調,變更后的路線圖,跟Phase2也是完全兼容的,只是Phase2不再具有優先級。
但是實際上,放棄分片化執行,才是以太坊應該選擇的道路。
可執行信標鏈路線圖
在以太坊2.0的新路線圖中,最令人矚目的一點是:信標鏈區塊將包含合并后的Eth1分片的交易,也即信標鏈具備了執行功能。其它分片僅具有保存數據的功能。
實際上,新路線圖中“數據分片”的定位是“供rollup使用的數據可得性層”。
沒了執行化分片,平方級擴展就無從談起了。那么,這種“PoSLayer-1rolluprollup數據不占據主鏈區塊空間”架構的可擴展性如何呢?
要解答這個問題,我們先來看看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。
歸根結底,只有契合用戶需要的性能提升,才是真正有意義的性能提升。如果不從用戶的實際需要出發,相反,從技術美感或者最大化性能的假設出發,只能設計出空中樓閣。如果可以,那就讓用戶自己來做決定,在協議層操心太多,往往徒增摩擦。
以太坊的路線圖應該改變嗎?當然,應該放棄這些不切實際的幻想,回頭問問用戶需要什么。
作者:?阿劍
公告編號2020112201各位關心ZBG的投資者們和項目方:ZBG平臺現已恢復ETC的充值和提幣.
1900/1/1 0:00:00這聽起來像是科幻小說:巨大的太陽能發電站漂浮在太空中,將巨大的能量輻射到地球上。長期以來,這個概念主要是對作家的啟發。然而,一個世紀后,科學家在將這一概念變為現實方面取得了巨大進步.
1900/1/1 0:00:00尊敬的用戶: 火幣合約USDT本位永續合約自10月26日上線得到了廣大用戶充分的支持和認可,11月23日單日交易量突破35億美元.
1900/1/1 0:00:00分析不能當飯吃,卻是吃飯不能丟掉的家伙,很多時候我們都混淆了分析只是工具而非盈利的結果,這個市場檢驗的唯一標準就是讓行情去證明誰能站在這個市場盈利,或許你覺得看到曉風的策略時已經為時已晚.
1900/1/1 0:00:00全球領先的信息技術研究和顧問公司Gartner每年都會總結年度重要戰略科技趨勢。2020年10月20日,Gartner發布了2021年需要深挖的9項重要戰略科技趨勢,具體如下:行為互聯網,全面體.
1900/1/1 0:00:00Filecoin于148888區塊高度成功上線。Filecoin作為2020年最備受期待的區塊鏈項目,越來越多的投資者開始關注IPFS/Filecoin這個領域.
1900/1/1 0:00:00