本文為研究員 Aditya Asgaonkar 在 EthCC 大會上的演講投影片,據其自述,是為了向智能合約開發者說明 Eth2 的設計方案,以及開發者的開發體驗會有什麼樣的變化。他在演講中鮮明地勾勒出 Eth2 的基本架構,以及 Eth2 在設計上的挑戰,正文中對投影片內容的說明和分段,俱為編者所加。本文源自 Aditya Asgaonkar 的幻燈片Design Choises in ETH2.0,由專欄作者以太坊愛好者編譯、撰寫及整理。
在這一段,作者指出,以太坊 2.0 的兩大設計目標是可擴展性和安全性。
前者意味著吞吐量呈超線性增長,若節點資源投入量提升 K 倍,則整個系統的吞吐量增長大於 K 倍。後者則意味著相應於節點所形成的共識安全性,保證所有部分都是同樣安全的。
前者用分片(把整個系統的狀態切分開來形成不同的片區)來實現,而後者用信標鏈來實現。
但是兩相結合之下,信標鏈就不能保存所有的分片數據、執行所有的分片交易,否則就會打破可擴展性要求。
因此,兩者的分工是,信標鏈負責共識、只保存分片狀態的默克爾根,而且不執行分片交易;分片則沒有任何共識機制,僅有隨機抽取的驗證者來出塊、驗證並將默克爾根提交到信標鏈上。
但這樣一來,開發者今天習以為常的東西,在 Eth2.0 裏面就不一定現實了,比如:對系統中任意合約的同步調用。因爲基本問題是,發起調用時,接受調用的分片不知道有人正在發起跨分片交易,除非信標鏈裏不僅有狀態默克爾根值訊息,還有別的訊息。但這樣就會打破可擴展性。
這就引發了兩者狀態訪問模式的比較。靜態狀態訪問的例子是無狀態執行,這種模式下,所需的狀態訊息是附加在交易的見證訊息裏跟交易一起傳播的,這樣確定性更強,但這樣就會遭遇上述問題;動態訪問模式下,交易的打包先後順序可能會引發問題。
最後,演講者指出,可擴展性和安全性是 Eth2.0 的終極追求,而相似於 Eth1 的執行模式只是次要目標;並呼籲智能合約開發者放心,問題都可以解決的。
?相關報導?
新手科普|白話解讀即將到來 Ethereum 2.0,以太坊區塊鏈的革命性升級
以太坊2.0 更新|完成存款合約的審計和驗證;信標鏈優化的重要性
Ethereum 動態更新|基金會發布以太坊 2.0「最終規範」
讓動區 Telegram 新聞頻道再次強大!!立即加入獲得第一手區塊鏈、加密貨幣新聞報導。