作者:?CaseyDetrio
翻譯&校對:?閔敏&阿劍
編者注:這篇文章的原標題為“PhaseOneandDone:eth2asadataavailabilityengine”,在發表當時,作者意在為Eth2.0提出一種替代Phase2的路線圖,也就是,如果僅用分片來保證數據可得性,這樣的系統是否有用,還需要增加哪些部分來使之變得有用。令人驚訝的是,在一年半以前,作者就已經認識到,對zk-rollup這樣的系統來說,底層必須保障的是“狀態轉換的執行和數據可得性必須是原子化地綁定在一起的”,因此底層必須具備執行能力,哪怕是非常簡單的無狀態執行;而且,為保證用戶體驗,還缺少的主要部分是數據怎么上分片的手續費支付協議。手續費協議在Phase2的規范中,目前也仍然是缺失的。
順帶說一句,本文作者是CaseyDetrio,他是Ewasm團隊的一員,之前也為Phase2提供過很多想法;他也認為,應該以“保證Eth1的合約到了Eth2能夠如常執行”為核心來設計Eth2.0。他是被低估的一個開發者。
觀點:美國繼續對數字貨幣觀望,它將失去決定數字貨幣未來的機會:9月26日消息,Lyle Solomon表示,世界上86%的中央銀行都在嘗試創建數字貨幣的世界。他們中近60%正在研究這個概念,14%已經推出了試點計劃。美聯儲仍對央行數字貨幣的有效性持懷疑態度。美國沒有對數字貨幣采取積極措施的一個可能原因是美元仍然占主導地位。如果數字貨幣被廣泛使用,那么美元作為全球儲備貨幣的價值將會下降。(Cointelegraph)[2021/9/26 17:07:53]
目前,限制Eth1吞吐量的瓶頸是狀態增長。因此,如果我們想要擴展以太坊,從邏輯上來說,1000個具有獨立狀態的分片能夠將吞吐量提高1000倍。
但是,從Eth1.x的路線來看,Eth1.x想要對兩類資源的成本進行重大調整:存儲和交易數據。目前,存儲的定價過低,而交易數據的定價過高。這會激勵dApp開發者在編寫合約時更多使用存儲而非交易數據,從而導致存儲成為吞吐量的瓶頸。針對這一問題提出的解決方案是增加存儲的定價,并減少交易數據的定價。經過這些成本調整,開發者將受到激勵更多地使用交易數據,而非存儲。因此,在不久的將來,我們預期Eth1的吞吐量會受到交易數據的限制,而非存儲的限制。
觀點:加密公司需要優化客戶服務并加強用戶教育:Coinbase最近收到了大量客戶服務投訴,涉及賬戶鎖定、黑客攻擊甚至資金損失。據報道,自2016年以來,Coinbase用戶已向聯邦貿易委員會和消費者金融保護局提交了超過1.1萬份針對該平臺的投訴,大多數屬于客戶服務問題。Bitstamps的美國首席執行官Bobby Zagotta和Ledger的交易副總裁Iqbal Gandham分享了他們對Coinbase的看法,對加密交易所客戶服務體驗的新愿景,以及集中式交易所的缺陷。
Zagotta表示:“加密貨幣正經歷著巨大的采用率,以至于做好客戶服務對每個人來說都是一項挑戰。我覺得現在的情況是,一些加密公司像科技公司一樣對待客戶服務。這意味著,有很多MVP產品,有聊天機器人驅動的自動化客戶服務。但缺少的是人的因素。”
Gandham表示:“似乎‘不是你的私鑰,就不是你的加密貨幣’這句話永遠不會失去共鳴。隨著如此多的人進入加密領域,對于真正擁有你的加密貨幣意味著什么,我們永遠無法得到足夠的教育。典型的加密旅程敘述仍然是一樣的:Coinbase和其他公司對很多人來說都是加密的入口,而隨著時間的推移,一些用戶最終會了解到足夠多的信息,將他們的資產轉移到硬件錢包中。”(Cointelegraph)[2021/8/27 22:42:13]
如果我們假設吞吐量受到交易數據的限制,那么為了擴展以太坊,Serenity上的分片不需要有狀態。如果吞吐量受到來自無狀態合約的交易數據的限制,那么1000個無狀態分片就會將吞吐量提高1000倍。
觀點:東南亞國家的STO進展較快,但仍需穩健創新:國際新經濟研究院數字經濟研究中心主任鄭磊對記者表示,STO數字資產發行和交易,東南亞國家的進展得比較快。而數字資產是數字經濟的基礎,也是數字金融的標配,這方面創新停滯,可能會嚴重影響數字經濟的發展。因此,仍需對這方面進行穩健創新。(證券日報)[2020/11/13 14:13:24]
這聽起來不錯,但是需要通過分片來實現,按計劃要等到Phase2。與此同時,我們可以將Phase1作為數據可得性引擎。數據可得性引擎一詞似乎逐漸流行起來。我們來思考一下它是如何運作的。
以zk-rollup為例,zk-rollup受到數據可得性的限制。Eth1上的zk-rollup合約能否有效地將Eth2作為橋接式可用性保障提供方?如果在執行過程中無法同時保障數據可得性,你就會得到一個類似plasma的zk-rollback系統。這個系統雖然能夠大幅提高TPS,但是會引入復雜的權衡關系,需要處理像plasma那樣的運營者挑戰和退出機制。在可用性挑戰中,任何人都可以提供數據來證明可用性,因此目前還不清楚將數據放入橋接的Eth2分片中能不能讓事情變得更簡單。
觀點:從全球金融體系吞下價值后 比特幣達到穩定:比特幣金融公司River Financial發推稱,如果比特幣的波動性沒有吸引力,你可以一直等著,直到它從全球金融體系中吞下所有的價值后,達到穩定。[2020/8/9]
現在有了另一個版本的zk-rollup,即,500TPS的zk-rollup,一切都變得簡單多了。不再需要指定的運營者,任何人隨時都能充當中繼者,并生成SNARK證明來更新狀態。事實上,數據可得性保障始終伴隨著狀態更新,也就是說不需要處理像plasma那樣的運營者挑戰和退出機制。但是這需要執行和數據可得性保障都發生在同一筆交易中,而遺憾的是我們無法使用橋接式可用性引擎做到這點。換言之,橋接對于zk-rollback這樣的欺詐證明系統來說足夠了,但是對zk-rollup這樣的有效性證明系統來說還不夠。結論是,為了將Layer2上的有效性證明簡單化,Layer1上的可用性引擎需要具備的一項重要功能是,能保證數據可得性與狀態轉換的執行是原子化地一起發生的。
或許我們不應該對這一認識感到驚訝。如果單靠數據可得性就有用的話,就不會有人說Phase1啟動只是為了確保一堆非零blob的可用性,也就不會有人抱怨必須要等Eth2進入下一階段才能真正發揮作用了。我們正在努力將Phase1作為數據可得性引擎,但是它依然無法執行任何操作,因此令人感到失望。
觀點:比特幣和DeFi將同步增長:Volt Capital投資者、DeFi支持者Imran Khan稱,“比特幣和DeFi將同步增長,我預計宏觀變化將有力推動比特幣的飛輪,DeFi是一個次飛輪。加密貨幣行業的這兩個部門服務于兩個不同的‘老板’:比特幣是為了篡奪貨幣主權而建立的,而DeFi則是為了篡奪傳統銀行業。”(Cryptoslate)[2020/7/22]
那么,為什么Phase1會與執行相沖突?好吧,假設是有狀態執行,則每個分片都要維護一些本地狀態。如果驗證者需要維護很多本地狀態,那么驗證者混洗就會復雜得多。反之,如果沒有執行,就不用擔心本地狀態。驗證者混洗就會簡單得多,我們就可以專注于使用數據blob構建分片,然后更快地啟動分片。
但是,我們先不假設執行是有狀態的。如果我們嘗試使用非常簡單的無狀態虛擬機來執行操作會怎么樣?
假設信標鏈狀態中有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引入執行的原因。
加密貨幣投資者現在可以通過NexusMutual購買中心化交易所的存款保險。 Bitfinex CTO指責CMC統計數據時“偏袒”某些交易所:Bitfinex首席技術官Paolo Ardoino.
1900/1/1 0:00:00周一以太坊突破兩年來新高,到達609美元,旋即回落至570美元附近。我們一直在關注以太坊的動向,在以太坊存款合約滿足限制之后,接下來即將于12月1日開啟漫長的以太坊2.0上線里程.
1900/1/1 0:00:00丘吉爾曾說,不要浪費一場危機。每一次危機,都是一次壓力測試,暗藏機會。2020年初,半路殺出“新冠”,312擊碎了比特幣“數字黃金”的避險神話.
1900/1/1 0:00:00截止12月2日,比特幣現貨價格從年最低價約3782美元上漲至約19880美元,刷新歷史新高。數字貨幣市場加速上漲,根據CoinMarketCap數據,數字貨幣總市值年內漲幅約200%.
1900/1/1 0:00:00“11月24日,Yearn.finance創始人AndreCronje發文表示,Pickle和Yearn的開發人員已經設計出一種結構,以使兩個項目可以共生地協同工作.
1900/1/1 0:00:00律動BlockBeats消息,近日,花旗銀行的分析師對美國上市企業MicroStrategy的股票評級調整為「賣出」,建議其客戶賣出MicroStrategy股票.
1900/1/1 0:00:00