Ethscriptions 是一種協議,其目的是允許使用者以更低的成本在以太坊 L1 上共享資訊並執行計算,它繞過了使用智慧合約儲存和執行來實現這一點,將確定性協議規則應用於以太坊呼叫資料來計算狀態。
(前情提要:銘文第二春,拳打L2新敘事, ETHS大漲為何能火爆全網? )
(背景補充:一文讀懂EthStorage,會成為以太坊的去中心化儲存中心嗎? )
我第一次瞭解到 eths 是今年八月中,那時這已經不是一個新興的概念了,各種銘文滿天飛,很多人只是將其當作 BRC-20 的仿盤。
而且當時的推特上絕對沒有現在對此概念的熱情,直到今天看到各位老師來聊 eths 是不是 Layer2 才有了興趣。
晚上在各個媒體上找了找,好像也沒有對 Ethscriptions Virtual Machine (ESC-VM) 概念的科普,所以就寫一篇文章來看看這是個什麼東西,儘量不涉及技術,簡單明瞭的把事兒說明白。
Layer2
簡單的幾句話先過一下 Layer2,這個概念大家應該比較清楚,之前有一段時間我也系列的寫了 OP Rollup、ZK Rollup 等主流的 Layer2 擴容解決方案,OP Stack 作為發鏈 Chain SaaS 工具的主題文章。在這裡很多基礎問題我們都不再贅述。
Layer2 核心要解決的問題就是擴容、降低交易成本。
因為鏈上超額的節點要爭搶有限的區塊空間。隨著以太坊生態的高速發展,就需要完成更多的執行和計算,導致鏈上交易非常擁堵,Gas 費動輒炒到天上。
想要實現 L2 的方案有很多,也在不斷更新。早期的狀態通道、Plasma、Validium、現在流行的 Optimistic-Rollup、Zk-Rollup 等。
延伸閱讀:Bitwise投資長 : 前所未有大牛市週期將至!「Layer 2」將驅動加密貨幣
Rollup 方案是在鏈下進行交易計算和具體狀態變更,在鏈上處理交易和交易批處理後的最終狀態摘要並進行驗證,這樣就能有效緩解以太坊上面的擁堵了。
但當時我們還沒有將 eths 作為一種 Layer2 方案,甚至沒有作為預備方案來討論,這是因為 eths 在當時只是被當作一種以太坊的銘文協議,並沒有什麼非常特別之處。
而在之後的更新升級中,一個改進 Ethscriptions 協議的建議:ESIP-4: The Ethscriptions Virtual Machine 從根本上改變了很多。
Ethscriptions(ETHS)
Ethscriptions 是一種協議,其目的是允許使用者以更低的成本在以太坊 L1 上共享資訊並執行計算。
它繞過了使用智慧合約儲存和執行來實現這一點,將確定性協議規則應用於以太坊呼叫資料來計算狀態。
這種方式更便宜,這是因為其使用以太坊交易呼叫資料,而不是智慧合約在鏈上儲存資料,自然而然的降低了成本,同時也省去了類似 OP 的樂觀證明機制、ZK 的有效證明機制驗證成本。
當然,Ethscriptions 的內容已經很多了,我們重點來聊 The Ethscriptions Virtual Machine。
ESIP-4: The Ethscriptions Virtual Machine
Ethscriptions 虛擬機器,這是一個改進 eths 的草案 ESIP-4 的核心內容,也正是該提案對 ETHS 的功能性拓展,才讓其脫離了銘文炒作的概念,在炒作價值之外具有了功能實用性。
我們按照白皮書中的一句話可以明確其發開的目的:
ESC-VM 的目標不是取代智慧合約或 L2,而是在去中心化時首要考慮如何提供低成本的計算能力。
在 ESIP-4 的草案中,引入了 Ethscriptions 虛擬機器(ESC-VM)的概念,這是一個建立在 Ethscriptions 之上的新協議。
ESC-VM 使 ethscriptions 能夠作為一種電腦指令,增強了 Ethscriptions 協議的功能,這些電腦指令允許使用者與稱為 Dumb Contracts(啞合約)的特殊程式進行互動。
在之前的 ETHS 銘文中,對各種圖片的「燒錄」是利用了以太坊「呼叫資料」,即「Calldata」功能。
Calldata 指在對智慧合約的呼叫中提供的資料。這也是比使用合約儲存更便宜的核心點。
而在 ESIP-4 的啞合約中,可以執行命令:部署(建立新合約)、呼叫(呼叫現有合約的狀態更改函式),這個過程也是通過銘文方式儲存,交易以 calldata 欄位儲存在鏈上,從而繞過了 EVM 執行和儲存成本。
ESC-VM 為啞合約提供類似於 EVM 的環境,使啞合約功能能夠與智慧合約的功能並行,說白了就是 ESC-VM 基本上就可以認為是 EVM。
在這個過程中,因為繞過了 EVM 執行和儲存成本,所以啞合約比智慧合約便宜得多,可以很大程度降低成本,這不就把 Layer2 的核心目的給解決了嗎。
但是區別肯定還是很大的,我們再來看一看 ESC-VM 和現有 Layer2 的區別。
ESC-VM 和現有 Layer2 的區別(Is the ESC-VM an L2?)
在 ESIP-4 的白皮書當中,其實很明確的就提到了這一點,並且給出了理由。
The ESC VM is not an L2. One way to understand this is to consider the two notions of consensus that exist on Ethereum:
(1)Consensus over what transactions are included in each block and in what order. 關於哪些交易被包含在每個區塊中以及以什麼順序的共識。
(2)Consensus over the aggregate impact (1) has on the state of the EVM. 關於(1)對 EVM 狀態的總體影響的共識。
Ethscriptions 的主要思想是:
通過專注於(1)來構建一個完全去中心化的系統,因為區塊鏈的狀態明確且確定地指定了 EVM 的狀態。僅憑區塊鏈本身,任何人都可以獨立並確切地驗證 EVM 的狀態。
另一方面,驗證(1)的「真實性」是不可能的,因為這是一個非確定性的過程,沒有「正確答案」。將(1)和(2)結合在以太坊協議中是理想的。
然而,對於大多數應用程式來說,這種組合過於昂貴。Ethscriptions 犧牲了以太坊協議的一部分(2),並構建了工具以使確定性狀態的計算變得方便。
相比之下,L2 採取了相反的方法。由於 L2 狀態是在區塊鏈的上下文中管理的,因此比 Ethscriptions 生態系統的狀態更方便進行驗證。
然而,L2 的驗證是有條件的。它說給定 X 交易包含在一個排序為 Y 的區塊中,我們就可以推斷區塊鏈的狀態應該更改為 Z。但是在 L2 系統中,沒有辦法驗證 X 和 Y 是否正確。
在一般情況下,只有當使它們公平與運營 L2 的組織的目標相一致時,X 和 Y 才會公正。運營 L2 的公司承擔著對股東利益高於 L2 使用者利益的信託責任。在極端情況下,如果 L2 不再符合公司的利益,L2 將會被關閉。
Ethscriptions 代表的理念是:
在非確定性問題(如區塊包含和交易排序)上沒有形成去中心化共識的情況下,區塊鏈永遠無法被認為是安全的。使用 ESC-VM 的目標是將去中心化和安全性與接近 EVM 功能的功能相結合。
存在的問題
目前來看,Dumb Contract 是有一些問題極待解決。
- 啞合約功能不能直接支付,需要橋接;
- ESIP-4 不允許任意建立啞合約。啞合約可以在不信任的情況下部署和執行,但程式碼本身與 ESIP 流程中的其餘 Ethscriptions 協議規則一起定義;
- 0x8699 老師提到的一個非常重要的問題:eths 極度依賴 indexer,但機制裡沒有給 indexer 足夠的重視,鑑於這個問題可以單獨深度的寫一篇文章,就不再在這裡多聊。
📍相關報導📍
Vitalik ETH香港演講:以太坊至今的成就!未來又有什麼挑戰?