編者注:這篇文章的原標題為“PhaseOneandDone:eth2asadataavailabilityengine”,在發表當時,作者意在為Eth2.0提出一種替代Phase2的路線圖,也就是,如果僅用分片來保證數據可得性,這樣的系統是否有用,還需要增加哪些部分來使之變得有用。令人驚訝的是,在一年半以前,作者就已經認識到,對zk-rollup這樣的系統來說,底層必須保障的是“狀態轉換的執行和數據可得性必須是原子化地綁定在一起的”,因此底層必須具備執行能力,哪怕是非常簡單的無狀態執行;而且,為保證用戶體驗,還缺少的主要部分是數據怎么上分片的手續費支付協議。手續費協議在Phase2的規范中,目前也仍然是缺失的。
順帶說一句,本文作者是CaseyDetrio,他是Ewasm團隊的一員,之前也為Phase2提供過很多想法;他也認為,應該以“保證Eth1的合約到了Eth2能夠如常執行”為核心來設計Eth2.0。他是被低估的一個開發者。
目前,限制Eth1吞吐量的瓶頸是狀態增長。因此,如果我們想要擴展以太坊,從邏輯上來說,1000個具有獨立狀態的分片能夠將吞吐量提高1000倍。
Bitfinex Alpha:盡管SEC起訴幣安和Coinbase,比特幣價格仍保持穩定:6月20日消息,根據Bitfinex Alpha最新報告,隨著更多關鍵指標陸續出爐,美國繼續面臨喜憂參半的經濟格局。以PPI衡量的批發價格在5月份經歷了比預期更大的下降,預示著通脹可能放緩。這一趨勢表明,供應鏈瓶頸正在緩解,由于借貸成本上升,商品需求正在放緩。這證明了美聯儲上周暫時維持利率不變的決定是正確的。
此外,盡管美國SEC對幣安和Coinbase提起訴訟,但加密市場仍然非常穩定。事實上,鏈上的動向顯示出投資者行為中一個有趣的差異:一方面,規模低于1000萬美元的交易出現了大量提現;另一方面,高于這個閾值的交易普遍是存款。資金外流表明,盡管存在針對監管審查的抱怨,但比特幣的長期持有者似乎并未受到影響,他們對這種資產的長期價值保持信心。[2023/6/20 21:49:27]
但是,從Eth1.x的路線來看,Eth1.x想要對兩類資源的成本進行重大調整:存儲和交易數據。目前,存儲的定價過低,而交易數據的定價過高。這會激勵dApp開發者在編寫合約時更多使用存儲而非交易數據,從而導致存儲成為吞吐量的瓶頸。針對這一問題提出的解決方案是增加存儲的定價,并減少交易數據的定價。經過這些成本調整,開發者將受到激勵更多地使用交易數據,而非存儲。因此,在不久的將來,我們預期Eth1的吞吐量會受到交易數據的限制,而非存儲的限制。
StarkNet發布性能路線圖,Mainnet alpha已升級到 v0.10.2:11月29日消息,以太坊擴容方案 StarkNet 宣布其 Mainnet alpha 已升級到 v0.10.2,并發布性能路線圖,StarkNet 稱路線圖中一些步驟已經在 StarkNet Alpha 0.10.2 中實現。未來的性能路線圖中包括定序器并行化、Cairo-VM 的新 Rust 實現、Rust 中的定序器重新實現,該路線圖旨在為改進 TPS 做好準備。[2022/11/29 21:10:23]
如果我們假設吞吐量受到交易數據的限制,那么為了擴展以太坊,Serenity上的分片不需要有狀態。如果吞吐量受到來自無狀態合約的交易數據的限制,那么1000個無狀態分片就會將吞吐量提高1000倍。
這聽起來不錯,但是需要通過分片來實現,按計劃要等到Phase2。與此同時,我們可以將Phase1作為數據可得性引擎。數據可得性引擎一詞似乎逐漸流行起來。我們來思考一下它是如何運作的。
以zk-rollup為例,zk-rollup受到數據可得性的限制。Eth1上的zk-rollup合約能否有效地將Eth2作為橋接式可用性保障提供方?如果在執行過程中無法同時保障數據可得性,你就會得到一個類似plasma的zk-rollback系統。這個系統雖然能夠大幅提高TPS,但是會引入復雜的權衡關系,需要處理像plasma那樣的運營者挑戰和退出機制。在可用性挑戰中,任何人都可以提供數據來證明可用性,因此目前還不清楚將數據放入橋接的Eth2分片中能不能讓事情變得更簡單。
Phala Network加入Pancake糖漿池 開啟流動性挖礦:據官方消息,web3.0隱私計算云項目Phala Network與Pancake達成合作,上線PHAFarm及糖漿池,提供485,000PHA獎勵用于流動性挖礦。前48小時內,單個錢包最大質押量不超過100CAKE,PHA-BUSDFarm池提供1xCAKE獎勵。PHA的BEP20版本將完全可以在BSC進行交易和轉賬,用戶可隨時在PancakeSwap進行PHA交易。[2021/8/24 22:34:43]
現在有了另一個版本的zk-rollup,即,500TPS的zk-rollup,一切都變得簡單多了。不再需要指定的運營者,任何人隨時都能充當中繼者,并生成SNARK證明來更新狀態。事實上,數據可得性保障始終伴隨著狀態更新,也就是說不需要處理像plasma那樣的運營者挑戰和退出機制。但是這需要執行和數據可得性保障都發生在同一筆交易中,而遺憾的是我們無法使用橋接式可用性引擎做到這點。換言之,橋接對于zk-rollback這樣的欺詐證明系統來說足夠了,但是對zk-rollup這樣的有效性證明系統來說還不夠。結論是,為了將Layer2上的有效性證明簡單化,Layer1上的可用性引擎需要具備的一項重要功能是,能保證數據可得性與狀態轉換的執行是原子化地一起發生的。
dYdX在其Alpha版本集成Chainlink預言機喂價:近日,Chainlink官方宣布,去中心化衍生品交易所dYdX已在其推出Alpha版本中使用Chainlink預言機喂價來確保借貸和保證金交易的安全。通過與Starkware的集成,Chainlink網絡將預言機功能擴展到Layer 2解決方案。[2021/3/10 18:31:39]
或許我們不應該對這一認識感到驚訝。如果單靠數據可得性就有用的話,就不會有人說Phase1啟動只是為了確保一堆非零blob的可用性,也就不會有人抱怨必須要等Eth2進入下一階段才能真正發揮作用了。我們正在努力將Phase1作為數據可得性引擎,但是它依然無法執行任何操作,因此令人感到失望。
那么,為什么Phase1會與執行相沖突?好吧,假設是有狀態執行,則每個分片都要維護一些本地狀態。如果驗證者需要維護很多本地狀態,那么驗證者混洗就會復雜得多。反之,如果沒有執行,就不用擔心本地狀態。驗證者混洗就會簡單得多,我們就可以專注于使用數據blob構建分片,然后更快地啟動分片。
但是,我們先不假設執行是有狀態的。如果我們嘗試使用非常簡單的無狀態虛擬機來執行操作會怎么樣?
dYdX啟動由StarkWare支持的Layer 2永續合約alpha版本:據dYdX中文社區消息,經過7個月的研發,dYdX新的通用保證金永續合約現已在第二層主網上發布。為了顯著擴大交易量,dYdX和StarkWare在StarkWare的StarkEx可擴展引擎和dYdX的Perpetual智能合約基礎上,為通用保證金永續合約建立了Layer 2協議。用戶現在可以以零gas成本進行交易,這就降低了交易費用,同時還降低了最低交易門檻。今天將在主網上推出內測Alpha版本,會定向邀請用戶、流動性提供商和戰略合作伙伴使用。在全面測試系統的穩定性后,將會在幾周內進行產品公測。[2021/2/24 17:49:24]
假設信標鏈狀態中有3個新的驗證者字段:code、stateRoot和deployedShardId。這里還有一個函數process_deploy。一旦代碼部署完成,驗證者必須保證賬戶余額不低于某個閾值。
現在,我們假設全局狀態中已經有了一些帶有代碼的賬戶。
接下來,我們嘗試將特定數據blob打包到分片上,但是該怎么做?據我所知,對于phase1的分片驗證者來說,如何決定將哪些數據blob打包到分片區塊中仍是個懸而未決的問題。假設phase1規范中沒有詳細說明這一點。那么,對于用戶來說,如果他們想要將自己的數據blob打包到分片上,就只能通過兩種方式:聯系驗證者,并通過協議外的方式向其付款;自己成為驗證者,就可以將數據blob打包到分片上。這兩種方式都是下策。
比較好的方法是,將事情擺到臺面上,允許驗證者通過一個交易協議向當前區塊提議者支付費用。作為交換,區塊提議者要將驗證者的數據blob打包到分片鏈上。但是,如果信標鏈區塊操作有最小容量要求,這種方法就行不通了。如果沒有一個能夠讓驗證者決定數據blob打包優先級的交易協議,那么“將phase1作為數據可得性引擎”的用例將無法實現。不管怎么說,我們先假設,不管分片提議者在“沒有執行的數據可得性引擎”模式中如何打包數據blob,都可以在“簡單無狀態執行的數據可得性引擎”中都同樣能做到。
好了,那么假設特定的數據blob可以打包進區塊了。每個區塊都將執行限制在一筆交易中。我們還未明確交易要用密鑰簽署,還是不需要簽署。假設是后者,且代碼實現了自己的簽名檢查。如果blob能夠作為交易成功解碼,則以數據和當前狀態根作為輸入執行目標賬戶代碼。如果執行成功,則返回數據為新的狀態根。
我們如何更新驗證者賬戶的stateRoot?我們無法在每個分片區塊的BeaconState中更新狀態根。但是,信標鏈的狀態中的分片字段,會隨著交聯而更新。取同一個分片上所有賬戶的已更新狀態根,假設對它們進行哈希運算,得到shard_state_root。shard_state_root似乎與phase1設計中已有的crosslink_data_root差不多。
不可否認的是,不是每挖出一個信標鏈區塊,所有分片狀態根都會更新,因此存在一些本地狀態。但是,如果賬戶是全局的,狀態根數據就是最小化的。這就與混洗期間驗證者之間需要轉移部分分片區塊的數據差不多。
這里當然忽略了很多細節。我想要表達的是,無狀態執行的大部分要求似乎在phase1就能滿足。我認為,最大的問題在于,目前尚未明確用戶可以通過哪種方式將他們的blob打包上鏈。或許這只是第一個問題,還有其它嚴重的問題被我忽略了。我忽略了什么?如果要在phase1上允許用戶通過某種方式將blob打包上鏈,那么最困難的部分是什么?
這個執行模式相比phase2的提議更加簡單,一大原因是合約賬戶是全局的,就像驗證者賬戶一樣。這就意味著,合約賬戶的數量必須設有上限,而且部署代碼的成本與成為驗證者的成本一樣高。但是,如果這能夠讓我們更快地將執行引入Eth2,我們是否可以接受這種權衡?代碼部署后,就無法更改合約存儲,因此也可以說,我們這是在嘗試不擴展合約存儲而為Phase1提供執行功能。這里還有一大重要用例:具備數據可得性的超高吞吐量。
即使有了基礎的無狀態執行,用戶也可以通過將一個合約的狀態證明作為交易數據發送到另一個合約,從而實現跨分片合約調用。合約也可以實現自己的類似收據的功能。開發者體驗不是很好,因為協議不會提供任何幫助。但是現有的phase2提議似乎缺乏實際的功能來促進跨分片合約交互。因此,就開發者體驗而言,基礎的phase1無狀態執行聽起來沒有比“簡單的”phase2構想糟糕很多。基礎的無狀態執行也足以實現信標鏈上的BETH和主鏈上的ETH之間的雙向錨定。
Phase2提議與我們這里的提議的最大區別在于,Phase2的目標是擴展合約的storage。但是存儲,以及相應而來的富狀態執行,同樣似乎就是大多數復雜性的來源,也正是使我們無望在Phase1引入執行的原因。
原文鏈接:
https://ethresear.ch/t/phase-one-and-done-eth2-as-a-data-availability-engine/5269
作者:?CaseyDetrio
翻譯&校對:?閔敏?&阿劍
Tags:PHAETHSTABLOalpha幣宣發YFETH價格Vesta Protocolblockchain錢包短信認證
各位關注TokenEco的朋友大家好,本期雙周報為第29期,為廣大生態共建者匯報一下近兩周TokenEco的項目進展情況.
1900/1/1 0:00:002020年是一個不平凡的一年,對于加密貨幣的信仰者而言,比特幣在這一年幾乎重回2萬美元,數字貨幣迎來了新的機遇。?2020年也開啟了以“數字化”為主的新金融時代的開端.
1900/1/1 0:00:00尊敬的客戶: 支點國際站將于2020年12月6日09:19上線JOJO/USDT交易對。 幣種介紹: 代幣名稱:JOJOSmartcontractchain 英文縮寫:JOJO 中文名稱:久久智.
1900/1/1 0:00:00機構投資加密貨幣熱情大漲,灰度投資也吸引了眾多投資者的注意力。同樣,灰度的母公司DigitalCurrencyGroup也引起了大家的關注.
1900/1/1 0:00:00比特幣天圖 在2020.11.29這一天的文章之中,我們詳細分析了比特幣接下來的調整模式大概率會跟2020年5月到7月份的三角收斂震蕩類似.
1900/1/1 0:00:00FilecoinGas基礎費率在12月3日達到3.009nanofil,創近兩周Gas基礎費率新高,Gas基礎費率較正常水平上漲3000萬倍左右.
1900/1/1 0:00:00