比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > Luna > Info

Phase one and done:Eth2 作為數據可用性引擎_PHA

Author:

Time:1900/1/1 0:00:00

編者注:這篇文章的原標題為 “Phase One and Done: eth2 as a data availability engine”,在發表當時(2019 年 4 月),作者意在為 Eth2.0 提出一種替代 Phase 2 的路線圖,也就是,如果僅用分片來保證數據可得性,這樣的系統是否有用,還需要增加哪些部分來使之變得有用。令人驚訝的是,在一年半以前,作者就已經認識到,對 zk-rollup 這樣的系統來說,底層必須保障的是 “狀態轉換的執行和數據可得性必須是原子化地綁定在一起的”,因此底層必須具備執行能力,哪怕是非常簡單的無狀態執行;而且,(作者也通過層層推理指出)為保證用戶體驗,還缺少的主要部分是數據怎么上分片的手續費支付協議(這兩點認識,即使放到今天,也仍然稱得上是前沿,甚至是超前)。手續費協議在 Phase 2 的規范中,目前也仍然是缺失的。

順帶說一句,本文作者是 Casey Detrio,他是 Ewasm 團隊的一員,之前也為 Phase 2 提供過很多想法;他也認為,應該以 “保證 Eth1 的合約到了 Eth2 能夠如常執行” 為核心來設計 Eth2.0。他是被低估的一個開發者。

目前,限制 Eth1 吞吐量的瓶頸是狀態增長。因此,如果我們想要擴展以太坊,從邏輯上來說,1000 個具有獨立狀態的分片能夠將吞吐量提高 1000 倍。

Linea:將于6月12日發布Alpha v0.2,為主網啟動做準備:6月8日消息,ConsenSys 旗下 zkEVM 項目 Linea 官方表示,將于北京時間 6 月 12 日 20 時發布 Alpha v0.2,通過一個實質性的架構升級為主網的啟動做準備,屆時預計橋接功能將暫停使用 4-6 小時。[2023/6/9 21:24:58]

但是,從 Eth1.x 的路線來看,Eth1.x 想要對兩類資源的成本進行重大調整:存儲(storage)和交易數據(tx data)。目前,存儲的定價過低,而交易數據的定價過高。這會激勵 dApp 開發者在編寫合約時更多使用存儲而非交易數據,從而導致存儲成為吞吐量的瓶頸。針對這一問題提出的解決方案是增加存儲的定價,并減少交易數據的定價。經過這些成本調整,開發者將受到激勵更多地使用交易數據,而非存儲(即,他們會編寫更多無狀態合約而非狀態合約)。因此,在不久的將來(如果 Eth1.x 的路線圖獲得廣泛采用),我們預期 Eth1 的吞吐量會受到交易數據的限制,而非存儲的限制。

如果我們假設吞吐量受到交易數據的限制,那么為了擴展以太坊,Serenity 上的分片不需要有狀態。如果吞吐量受到來自無狀態合約的交易數據的限制,那么 1000 個無狀態分片就會將吞吐量提高 1000 倍。

這聽起來不錯,但是需要通過分片來實現,按計劃要等到 Phase 2。與此同時,我們可以將 Phase 1 作為數據可得性引擎。數據可得性引擎一詞似乎逐漸流行起來。我們來思考一下它是如何運作的。

以太坊域名服務ENS推出ENS App V3 alpha版本,開源其設計系統Thorin:6月24日消息,以太坊域名服務ENS開發者taytems.eth宣布推出新ENS App的第一個alpha版本,除了App之外,公開發布和開源了其設計系統Thorin,以及全新版本的ENSjs。新ENSApp的改變包括:移動端友好的布局、更好的搜索、速度改進、快速查看配置文件、增強的名稱過濾、更好的可訪問性。alpha版本只有讀取功能,未來將開發設置主要名稱、高級記錄編輯等功能。[2022/6/24 1:29:50]

以 zk-rollup 為例,zk-rollup 受到數據可得性的限制。Eth1 上的 zk-rollup 合約能否有效地將 Eth2 作為橋接式可用性保障提供方?如果在執行(即,驗證 SNARK 證明并更新狀態根)過程中無法同時保障數據可得性,你就會得到一個類似 plasma 的 zk-rollback 系統。這個系統雖然能夠大幅提高 TPS,但是會引入復雜的權衡關系,需要處理像 plasma 那樣的運營者挑戰和退出機制。在可用性挑戰中,任何人都可以提供數據來證明可用性,因此目前還不清楚將數據放入橋接的 Eth2 分片中能不能讓事情變得更簡單。

現在有了另一個版本的 zk-rollup,即,500 TPS 的 zk-rollup,一切都變得簡單多了。不再需要指定的運營者,任何人隨時都能充當中繼者,并生成 SNARK 證明來更新狀態。事實上,數據可得性保障始終伴隨著狀態更新,也就是說不需要處理像 plasma 那樣的運營者挑戰和退出機制。但是這需要執行和數據可得性保障都發生在同一筆交易中,而遺憾的是我們無法使用橋接式可用性引擎做到這點。換言之,橋接對于 zk-rollback 這樣的欺詐證明系統來說足夠了,但是對 zk-rollup 這樣的有效性證明系統來說還不夠。結論是,為了將 Layer 2 上的有效性證明簡單化,Layer 1 上的可用性引擎需要具備的一項重要功能是,能保證數據可得性與狀態轉換的執行是原子化地一起發生的。

Alphabet CEO:公司正在關注區塊鏈領域:2月2日消息,Alphabet首席執行官皮查伊表示,公司正在關注區塊鏈領域,這是一項有趣而強大的技術,具有廣泛的應用。(財聯社)[2022/2/2 9:27:06]

或許我們不應該對這一認識感到驚訝。如果單靠數據可得性(沒有執行)就有用的話,就不會有人說 Phase 1 啟動只是為了確保一堆非零 blob(二進制大型對象)的可用性,也就不會有人抱怨必須要等 Eth2 進入下一階段才能真正發揮作用了(除了 PoS 之外)。我們正在努力將 Phase 1 作為數據可得性引擎,但是它依然無法執行任何操作,因此令人感到失望。(哇,我們可以構建 Mastercoin 2.0 了!)

那么,為什么 Phase 1 會與執行相沖突?好吧,假設是有狀態執行,則每個分片都要維護一些本地狀態。如果驗證者需要維護很多本地狀態,那么驗證者混洗就會復雜得多。反之,如果沒有執行,就不用擔心本地狀態。驗證者混洗就會簡單得多,我們就可以專注于使用數據 blob 構建分片,然后更快地啟動分片。

但是,我們先不假設執行是有狀態的。如果我們嘗試使用非常簡單的無狀態虛擬機來執行操作會怎么樣?

假設信標鏈狀態中有 3 個新的驗證者字段:code、stateRoot和deployedShardId。這里還有一個函數process_deploy(就在 process_transfer 下方)。一旦代碼部署完成,驗證者必須保證賬戶余額不低于某個閾值[至少鎖定 1 ETH。如果代碼中沒有自毀程序(SELFDESTRUCT),那么這部分 ETH 就等同于銷毀了,代碼也會永久部署]。

去中心化失能開關應用Sarcophagus融資367萬美元:12月29日消息,去中心化失能開關應用Sarcophagus完成367萬美元的鏈上融資,Inflection、Infinite、Lo Enterprises等參投。Sarcophagus由專注于Web3的Decent Labs孵化。

據悉,Sarcophagus是一個基于以太坊和Arweave建立去中心化的失能開關應用,用戶可在Sarcophagus里上傳文件,指定私鑰接收人。若未來用戶未能執行一項行動或設定的時間到期,接收人會收到私鑰,打開該用戶存儲在Arweave里的文件。使用場景包括遺囑與信托、密碼恢復、憑證存儲等。

此前11月消息,Sarcophagus DAO通過代幣銷售融資180萬美元,Placeholder Ventures領投,Greenfield One、Blockchain.com Ventures、Coral DeFi、以及Aragon聯合創始人LuisIván Cuende、Synthetix創始人Kain Warwick參投。(PRWeb)[2021/12/29 8:10:34]

現在,我們假設全局狀態中已經有了一些帶有代碼的賬戶。

接下來,我們嘗試將特定數據 blob 打包到分片上,但是該怎么做?據我所知,對于 phase 1 的分片驗證者來說,如何決定將哪些數據 blob 打包到分片區塊中仍是個懸而未決的問題。假設 phase 1 規范中沒有詳細說明這一點。那么,對于用戶來說,如果他們想要將自己的數據 blob 打包到分片上,就只能通過兩種方式:(1)聯系驗證者,并通過協議外的方式(例如,eth1 支付通道)向其付款;(2)自己成為驗證者,就可以(在他們被隨機選為分片的區塊提議者時)將數據 blob 打包到分片上。這兩種方式都是下策。

HashSpace通證HS 同步上線AlphaGo、CleanEX交易所:據HashSpace官方消息,HashSpace官方數字貨幣將于5月5日12:00(UTC+8)正式同步登陸Alpha Go與CleanEX交易所,開通充值;將于5月10日12:00(UTC+8)開通HS/USDT交易對,正式開放交易。

HashSpace致力于為全球用戶建設一個開放,透明,協同,共治的鏈上無國界社交應用生態圈。此次發行的代幣HS,所屬公鏈為HashSpace的HS-Chain高性能公鏈,發行總量20億,開盤價為1 USDT。[2021/5/7 21:34:04]

比較好的方法是,將事情擺到臺面上,允許驗證者通過一個交易協議向當前區塊提議者支付費用。作為交換,區塊提議者要將驗證者的數據 blob 打包到分片鏈上。但是,如果信標鏈區塊操作(如驗證者轉賬)有最小容量要求,這種方法就行不通了。如果沒有一個能夠讓驗證者決定數據 blob 打包優先級的交易協議,那么“將 phase 1 作為數據可得性引擎” 的用例將無法實現(無論是通過橋梁連接到信標鏈的 eth1 合約,還是 Truebit、Mastercoin 2.0 或其它我之前聽說過的數據可得性用例)。不管怎么說,我們先假設,不管分片提議者在 “沒有執行的數據可得性引擎” 模式中如何打包數據 blob,都可以在 “簡單無狀態執行的數據可得性引擎” 中都同樣能做到。

好了,那么假設特定的數據 blob可以打包進區塊了。每個區塊都將執行限制在一筆交易中(例如,整個數據 blob 必須作為一筆交易)。我們還未明確交易要用密鑰簽署(存在交易協議),還是不需要簽署(不存在交易協議)。假設是后者,且代碼實現了自己的簽名檢查(類似賬戶抽象;存在區塊 gas 上限,但是沒有費用轉賬機制,因此沒有 gas 價格和 GASPAY 操作碼)。如果 blob 能夠作為交易成功解碼,則以數據和當前狀態根作為輸入執行目標賬戶代碼。如果執行成功,則返回數據為新的狀態根。

我們如何更新驗證者賬戶的stateRoot(狀態根)?我們無法在每個分片區塊的 BeaconState(信標鏈狀態)中更新狀態根(因為信標鏈操作在數量上有嚴格限制)。但是,信標鏈的狀態中的分片字段,會隨著交聯(crosslink)而更新。取同一個分片上所有賬戶的已更新狀態根,假設對它們進行哈希運算,得到shard_state_root(分片狀態根)。shard_state_root似乎與 phase 1設計中已有的crosslink_data_root差不多(二者都是取決于之前分片區塊內容的哈希值)。

不可否認的是,不是每挖出一個信標鏈區塊,所有分片狀態根都會更新,因此存在一些本地狀態。但是,如果賬戶是全局的,狀態根數據就是最小化的。這就與混洗期間驗證者之間需要轉移部分分片區塊的數據差不多。

這里當然忽略了很多細節。我想要表達的是,無狀態執行的大部分要求似乎在 phase 1 就能滿足。我認為,最大的問題在于,目前尚未明確用戶可以通過哪種方式將他們的 blob 打包上鏈(如果這個問題不解決,phase 1 就無法成為橋接式可用性引擎)。或許這只是第一個問題,還有其它嚴重的問題被我忽略了。我忽略了什么?如果要在 phase 1 上允許用戶通過某種方式將 blob 打包上鏈,那么最困難的部分是什么(如果你喜歡的話,也可稱之為 phase 1.1)?

這個執行模式相比 phase 2 的提議更加簡單,一大原因是合約賬戶是全局的,就像驗證者賬戶一樣。這就意味著,合約賬戶的數量必須設有上限,而且部署代碼的成本與成為驗證者的成本一樣高(也有可能低于后者)。但是,如果這能夠讓我們更快地將執行引入 Eth2,我們是否可以接受這種權衡?代碼部署后,就無法更改合約存儲,因此也可以說,我們這是在嘗試不擴展合約存儲而為 Phase 1 提供執行功能。這里還有一大重要用例:具備數據可得性的超高吞吐量(將交易吞吐量增加 1000 倍)。

即使有了基礎的無狀態執行,用戶也可以通過將一個合約的狀態證明作為交易數據發送到另一個合約,從而實現跨分片合約調用。合約也可以實現自己的類似收據的功能(合約狀態根中的收據就像區塊頭中的收據字段一樣可驗證)。開發者體驗不是很好,因為協議不會提供任何幫助。但是現有的 phase 2 提議似乎缺乏實際的功能來促進跨分片合約交互(這些麻煩都留給了 dApp 開發者,他們必須實現從不同分片中獲取收據的邏輯,確保收據沒有雙花等等)。因此,就開發者體驗而言,基礎的 phase 1 無狀態執行聽起來沒有比 “簡單的” phase 2 構想糟糕很多。基礎的無狀態執行也足以實現信標鏈上的 BETH 和主鏈上的 ETH 之間的雙向錨定。

Phase 2 提議與我們這里的提議的最大區別在于,Phase 2 的目標是擴展合約的 storage。但是存儲,以及相應而來的富狀態執行(stateful execution),同樣似乎就是大多數復雜性的來源,也正是使我們無望在 Phase1 引入執行的原因。

原文鏈接:

https://ethresear.ch/t/phase-one-and-done-eth2-as-a-data-availability-engine/5269

作者:?Casey Detrio

翻譯&校對:?閔敏?& 阿劍

Tags:PHAETHBLOALPAlphaCar TokenETHSTKVR BlocksAlpha Kombat

Luna
關于YFI合并Pickle和Cream的一些思考_DEF

YFI打響了DeFi領域并購第一槍,盡管并不是傳統金融市場意義上的并購,更多是底層開發資源的整合與互通。YFI的目標也是非常明確,都是一些Fork類的DeFi項目.

1900/1/1 0:00:00
香港將全面監管虛擬資產 交易所“持牌經營”成硬性要求_WEB

與2019年底香港證監會(簡稱SFC)通過監管沙盒實施的自愿性參與的監管實驗計劃不同,此次的發牌制度屬于強制性,將全面監管證券型及非證券型代幣的交易服務.

1900/1/1 0:00:00
金色趨勢丨BTC牛市這一黃金規律能否再次上演?_BTC

上圖為BTC 2010-2020年至今的長期走勢,通過研究可以發現,以三次產量減半為時間分割點,從之前每一輪熊市的最低點一直延伸至各自周期內的產量減半時間點這一段時間周期.

1900/1/1 0:00:00
一文了解DeFi恒定函數做市商(CFMM)的曲率權衡(一)_UNI

(顯然,人們很難聽出鼓的形狀(Marc Kac,1966),那?CFMM呢?)2019年Uniswap的崛起,是DeFi交易的分水嶺.

1900/1/1 0:00:00
SBF:若進展順利 FTX或將于本周開通USDT對股權通證交易_AME

律動 BlockBeats 消息,11 月 16 日,FTX 聯合創始人 Sam Bankman-Fried 進行了一場線上社區 AMA,解讀 FTX 股權通證發展.

1900/1/1 0:00:00
中本聰發明比特幣時住在倫敦 你信不信?_比特幣

大俠已去,江湖只留下傳說!比特幣創始人中本聰在2011年4月離開社區后,留下了太多迷案。不過他在從事比特幣工作時,仍有很多蛛絲馬跡,可對他的下落進行深入研究.

1900/1/1 0:00:00
ads