探討 Eth2.0 所帶來的可能被人們忽視的重大變化。

原文標題:《Eth2.0 從 Eth1.0 中學到了什麼》
撰文:Ivan Martinez,Prysmatic Labs 軟件工程師

Eth2.0 帶來的最廣爲人知的變化當屬 PoS (權益證明) 和分片 (sharding),但它也有許多其他的變化是從改進當前以太坊中得到的靈感。

Eth2.0 革新 Eth1.0 之路:貨幣政策、無狀態與賬戶抽象等

我們從比特幣 & 以太坊中學到了什麼

自從比特幣 11 年前的第一個創世區塊誕生,它啓發了許多人進一步深入學習和研究區塊鏈和加密經濟學,以瞭解如何進行優化改進。

從 PoW (工作量證明) 開始,我們已經瞭解到協議安全性對於加密貨幣至關重要。激勵人們在遊戲中擁有更多「皮膚」(昂貴的挖礦硬件)的效果非常好。儘管「自私挖礦」存在可能,但 PoW 在保護比特幣網絡安全方面的表現異常出色。

2015 年以太坊發佈時,它引入了「通用」區塊鏈的概念,該概念使任何人都可以在該網絡上構建與 ETH 和各種代幣交互的應用。這些應用爲去中心化金融(DeFi)的發展打開了大門,併成長爲擁有超過 10 億美元抵押資產的金融產品。我還撰寫了一篇關於 DeFi 如何發展成爲以太坊上真正的、有價值的服務的 博客文章

ETH1.X 擴容的難題

如今,以太坊已經歷盡了 5 年發展,其驚人的增長速度幫助業界意識到了其瓶頸所在以及可以改善的方面。

當以太坊在 2017 年快速增長遇到困難時,幾個號稱「以太坊殺手」的區塊鏈平臺開始崛起並試圖「擊敗」ETH。但是,這些「殺手」都聚焦於通過犧牲弱安全性來提高每秒的交易量,或者明顯誤導性(且令人困惑)地取消交易手續費。但是這些都不是以太坊缺陷的「解決方案」。

爲了使以太坊真正得到改善,每一個參與進來的人都需要從現有系統後退一步思考,從一個全新的起點思考。我們可以充分利用以太坊的優勢,同時也可以消除它的許多缺點。

注意:在下文中,當我提到「狀態」 (state) 時,我指的是以太坊永久保存的全局、持久性數據,例如賬戶信息、交易和智能合約狀態(如代幣餘額)。

進入 Eth2.0

Eth2.0 是加密貨幣領域有史以來最大規模的開源工作,旨在交付一個可以滿足以太坊預期目標的全新系統。你可能聽說過 Casper (權益證明)和分片,然而還有很多達成 Eth2.0 目標所需要的技術。

由於以太坊 2.0 (Eth2.0)的許多改進將勢必破壞現有的以太坊鏈 (Eth1.0),因此這些變更將建立在 Eth2.0 鏈上,同時將現有的以太坊鏈「插入」到新系統的 1 個分片中。通過這種方式,Eth2.0 將不需要通過升級現有 Eth1.0 網絡而變得複雜,同時當前的 Eth1.0 網絡也將在受益於新系統的改進之際正常運行。

這篇文章將探討 Eth2.0 所帶來的人們可能不知道的重大變化,以及這些變化如何讓以太坊成爲(去中心化)世界的通用平臺。

以及他們是如何從幫助以太坊準備好迎接 (去中心化的) 樂趣這一共同基礎上獲得靈感的。

貨幣政策

加密貨幣的貨幣政策比大多數人想象的更重要!對於使用發行方式(以區塊獎勵的形式產生供給)來吸引礦工和算力的代幣,爲確保網絡安全性而需要提供的資金髮行量越少越好。我們已經看到 BTC 擁有最安全的區塊鏈,同時在前 20 種加密貨幣中發行率最低。目前,BTC 的年發行量爲 3.8%,對比以太坊約 4.5% 的發行量,這是相當低的(如果 ETH 採用 BTC 的減半政策,則 ETH 的年發行量會更高)。

雖然許多 ETH 持有者認爲以太坊爲網絡安全性支付了過多費用,但由於礦工的利潤不高,降低發行量可能會導致算力和安全性下降。所以降低 PoW 區塊鏈的發行量很難,因爲可能會對區塊鏈安全性產生意想不到的副作用。比特幣(大部分情況下)並沒有這個問題,因爲它的大部分挖礦獎勵變化都是可以長期預測的。

Eth2.0 的最大目標之一是過渡到權益證明(PoS),這意味着廢除昂貴的 ASIC 或 GPU 礦機。如此巨大的計算量和功耗將被低成本的標準計算機所取代,這些計算機僅處理 Eth2.0 節點基本的功能,比如區塊傳播和同步。在維護網絡安全方面,成本要低得多!除了成爲驗證者之前需要投資 32 個 ETH。

通過降低總體安全成本,可以將代幣發行量降低到 0%-1%之間,具體數值取決於網絡中有多少驗證者 (也即網絡中質押了多少 ETH 資產)。這樣,發行量就可以精確設計以獲得最佳安全性!

Eth2.0 革新 Eth1.0 之路:貨幣政策、無狀態與賬戶抽象等發行量和驗證者獎勵取決於需要多少安全資金

除了減少發行量外,Eth2.0 還打算使用名爲 EIP1559 的策略來重新定義手續費拍賣市場和交易手續費中的 gas 價格。你無需瞭解其運作方式,只需知道在該模型中將銷燬掉大部分手續費。雖然通過 EIP 1559,用戶支付的手續費更低,但 Eth2.0 中將有多個分片,因此 Eth2.0 中的總體手續費的使用 / 銷燬將大於當前以太坊的手續費。[備註:相關閱讀《EIP 1559:以太坊貨幣政策的最後一塊拼圖》]

加上極低的發行率(<1.0%),手續費銷燬可能會使得 Eth2.0 出現淨負資產發行,這意味着被銷燬的資產將超過新增發行量!這將使得 ETH 變得更加稀缺,攻擊 PoS 網絡的成本也將更高。

共識算法(如 PoW 或 PoS)的目標是保持區塊鏈的安全和去中心化,而維護網絡安全的激勵機制將加密貨幣與簡單賬本區分開來。這種激勵措施吸引礦工 / 驗證者爲網絡提供安全性。Eth2.0 試圖在礦工資金激勵方面做到最低可行發行量(MVI)。[備註:相關閱讀《被低估的 ETH 貨幣政策》]

MVI (最低可行發行量) 意味着區塊鏈維持保證安全所需的最少發行量。低發行量加上手續費的銷燬使得攻擊更加昂貴(因爲 ETH 變得越來越稀缺),從而減少了對網絡大規模攻擊的可能性。

無狀態 (Statelessness)

當人們談論以太坊及其狀態規模時,你可能聽說過「狀態膨脹」 (state bloat)。這是指支付一次 gas 費會讓你的數據在以太坊區塊鏈上永久保存,從而導致一個無限的、不斷增長的狀態,其中甚至有很多無用數據。狀態在存儲空間上「膨脹」,這意味着隨着網絡的使用,以太坊節點需要更多的存儲或更高性能的硬件。從長遠來看,這增加了以太坊節點運行的門檻,並且每當區塊 gas 限制增加時,狀態增長就成爲一個更大的問題。[備註:相關閱讀:《以太坊基金會:Eth1.x 研究進展速覽》]

Eth2.0 (以及未來的 Eth1.x)將朝着無狀態的目標發展,這意味着輕(無狀態)節點將能夠驗證所有交易以及狀態的所有部分,而無需實際存儲任何狀態。無狀態允許輕客戶端以各種狀態 / 無狀態存在,每個狀態都需要不同的規範,從而使節點更易於訪問。當節點資源多於無狀態模式但少於完整狀態模式,則可以運行在半狀態模式下。

如果你想進一步瞭解無狀態,請觀看這個 ETHDenver 的演講

Eth2.0 革新 Eth1.0 之路:貨幣政策、無狀態與賬戶抽象等無狀態範式下的網絡拓撲圖

這對於分片非常重要!由於每個分片都有其自己的唯一狀態,因此 Eth2.0 中的驗證者將需要對其驗證的那條分片的狀態執行狀態更改(交易)。無狀態協議使得驗證者在切換需要驗證的分片時 (因爲驗證者會被隨機分配到某條分片中進行驗證),無需下載該條分片的整個狀態,,而只下載代表性的二進制 merkle 樹(尺寸要小得多)。分片越多,狀態增長就越無止境,總會有諸如交易所或區塊鏈瀏覽器不計成本地維護所有分片鏈狀態 / 數據以提供準確的分發服務,並且因此受到激勵。

這爲「狀態提供者」 (state providers) 軟件打開了大門,這類軟件將交易修改的狀態部分提供給驗證者,以便他們可以輕鬆地完成狀態更改。狀態中繼者 (state relayers) 幫助將磁盤 I/O 和驗證的存儲密集部分完全移到另一個實體。這爲有趣的激勵方案(基於狀態的激勵,這曾經是以太坊的一個研究問題)打開了大門,並且使驗證者受益,因爲他們不再需要持有整個分片的狀態。但是,他們仍然可以驗證從中繼者那裏接收到的狀態是正確的,因爲他們可以將接收到的信息與同步的狀態樹進行比較。

帳戶抽象

當前以太坊協議中有兩種類型的賬戶:外部賬戶(用戶)和合約賬戶。只有外部帳戶纔可以發起交易,並且僅允許賬戶的所有人修改其帳戶狀態。當前,存在元交易,但是這些交易依賴於中繼網絡來支付 gas,例如 GSN。

Eth2.0 試圖將這兩種賬戶類型抽象爲 1 種,從而使用戶賬戶和合約賬戶在網絡中無法區分。當然智能合約依然存在,但這將爲以太坊充當元交易的中繼者本身打開了大門。自己簽名交易並進行廣播將不再是與網絡互動的唯一方法。[備註:相關閱讀《引介 | 概述以太坊賬戶抽象化》]

你還可以像智能合約一樣操作普通帳戶,例如,將主帳戶中收到的 ETH 直接發送到冷錢包中,或者甚至發送任意 ETH 到你的帳戶中,該賬戶會自動賣出 ETH 來購買 DAI。

將功能內置到帳戶中爲 DApp 設計打開了更多的空間!用戶管理帳戶的處理將不再像以太坊中當前所定義的一組明確的操作。

帳戶抽象的有趣可能性在於智能合約將能夠支付自己的 gas 費用,或者成爲發送交易的原始地址。這是一個仍需努力解決的複雜問題,但是在這種變化之後將產生新的創造可能!

執行環境

對於以太坊開發者來說,他們主要使用的語言是 Solidity 或 Vyper,它們各有特色,但都可以很好地滿足開發生態系統的需求。當前,這些語言被編譯爲以太坊虛擬機(EVM)可以理解的更通用的底層操作。如果你想更深入地瞭解 EVM,可以參考這裏。但不是必需。

EVM 使用操作代碼(OPCODE)來幫助以太坊節點生成相同的計算結果,與運行操作代碼的計算機是無關(因此稱爲「虛擬機」)。它還定製複雜的操作(如驗證簽名或查詢帳戶餘額),僅一行代碼即可完成。如果沒有 EVM,正常讀取和修改狀態的功能是無法實現的。

儘管 EVM 爲整個智能合約生態系統(甚至在其他鏈上)奠定了堅實的基礎,但如果以太坊上的應用程序都能夠使用所需的任意運行環境,那就更好了。區塊鏈不應將自己的狀態轉換規則(例如 EVM)強加給其他人,執行過程應該更加開放。這就是執行環境 (EE) 的用武之地。

執行環境(EE)允許直接在協議中內置任何類型的狀態轉換(使用 WASM),這使我們可以從系統的其餘部分完全抽象出處理交易的方式。有專門爲處理 ZK Rollup 或私人交易而設計的 EE,也可能有針對 UTXO (未花費交易輸出) 建模交易的 EE (就像 BTC)。甚至可能存在某個專門針對代幣的 EE,這可以用於所有的代幣,這樣就不必爲每種現有代幣上傳相同的代碼。當然,現有的 EVM 將被複制到稱爲 eWASM 的某個 EE 中,以保持對當前生態系統的兼容。

Eth1.0 上的每個 DApp 都需要在考慮 EVM 的情況下進行設計,以太坊狀態轉換功能(EVM)的所有限制都使整個系統成爲瓶頸。有了 EE,將不再存在這個瓶頸,允許構建可以充分利用開放式協議的全新的 DApp 類型。如果你想了解更多,這裏是 EthHub 和 Will Villanueva 的 精彩播客。這裏還有最新的 進度更新。

關於作者

我是 Prysmatic Labs 的軟件工程師 Ivan Martinez。近兩年來,我們一直致力於實現以太坊 2.0 的目標,目前我們擁有活躍的測試網!如果你想嘗試運行驗證程序或提供幫助,請隨時加入我們的 Discord 服務器並與我們聯繫!

如果你喜歡閱讀本文,請在 Twitter 上關注 或我的 團隊!

希望提供幫助?

如果您想參與其中,請 加入我們的 Discord 或與下列的任何人聯繫:

來源鏈接:medium.com