一年後,我來快速更新一下之前提到的 Motoko EVM 項目:
我們已經成功了。EVM 已經可以正常工作,並且通過了GitHub 上 ethereum/execution-specs 項目中 99% 的測試用例(只有故意導致堆棧溢出和遞歸的測試用例失敗了)。
現在我需要一些反饋/指導,因為在開發過程中,環境發生了很大的變化,而且我知道目前的市場狀況很糟糕。
我想就基於 Motoko(Motoko 是一種專為共識/區塊鏈系統設計的基於 Actor 的語言)的 EVM 方案獲得一些技術反饋。該方案如果具備原生Threshold簽名、異步調度、更豐富的錢包模型和出站數據訪問等功能,是否能展現出一個真正有趣的設計空間?或者這些功能大多隻是誘人但並非必要的簡單組件?簡而言之,我是否應該繼續投入時間在這上面?
我們在 Motoko 中構建了一個 EVM,因為我們認為,在應用層感覺像以太坊,但又提供普通 EVM 堆棧默認情況下不具備的基礎設施原語的鏈是有發展空間的。
價值主張並非“新的虛擬機,新的語言,相信我們”。價值主張是:
保持 EVM 表面可識別;
保持 Solidity 和以太坊思維模型的相關性;
添加基礎層原語,使跨鏈控制、錢包設計、異步工作流、自動化和專用部署更容易表達。
我歡迎大家就這些優勢是否真的有意義,以及設計中哪些地方仍然不美觀提出任何異議。
電子投票機試圖證明什麼
目前的引擎研發目標是實現真正的EVM(電子生產模型)對等性:
142 個操作碼
18 個預編譯程序
5種交易類型
13個硬叉
88/88 項 JSON-RPC 兼容性測試均通過
2,681 個以太坊 fixture 文件通過了執行規範風格的語料庫
所以出發點不是“讓我們發明一個奇特的以太坊替代品”,而是:在展現更強大的底層系統原語的同時,我們能在多大程度上保留以太坊的語義?
為什麼我認為 Motoko EVM 可能對以太人來說很有趣
0. 按下按鈕,只需幾美元即可獲得一個全球分佈式的 13 或 34 個獨立節點的 EVM。
1. 跨鏈資產控制可以是一種合約原語,而不僅僅是橋接公司的產品。
這裡比較有趣的功能之一是ThresholdECDSA 的簽名基礎設施,這意味著 EVM 合約和錢包界面可以設計成原生控制其他鏈上的賬戶或資產。
無需:
由運維團隊運行的多重簽名
外部繼電器組,
一個專門的橋牌委員會,
或者說,一種名義上去中心化但實際操作上仍然集中化的協議。
我們正在探索的問題是,類似 ETH 的合約能否將外部鏈簽名視為一種原生的、可審計的系統功能,而不是將其作為單獨的中間件附加到系統中。
如果這種方法行之有效,它將改變以下設計空間:
面向比特幣的EVM,
跨鏈資金管理
合同控制的結算軌道,
基於錢包的賬戶抽象化,
以及受監管的資產流動,其中籤署政策的治理至關重要。
2. 異步執行並非事後隨意添加的。
目前,所有異步操作都會被推送到機器人、守護者、鏈下工作節點、定時任務服務或中繼器堆棧中。
Motoko 環境之所以有趣,是因為異步是一個真正的基礎原語。這為圍繞以下方式構建的執行模型打開了大門:
定時器和 cron 式調度,
發佈/訂閱/監聽模式
長期工作流程協調
延遲完成模式
錢包路由的外部調用,
以及更豐富的重試/日誌式狀態機。
這並非指簡單意義上的“異步EVM”。EVM執行仍然需要確定性的邊界。但這確實意味著區塊鏈可以更原生地表達更多生命週期信息,而不是假裝所有重要的東西都能裝進單個同步事務中。
我認為有趣的問題是,這是否能讓我們在不破壞開發者思維模式的情況下,將大量鏈下協調工作轉移回複製系統中。
3. 預言機和外部數據可以減少對中間件的依賴
另一個優勢是出站 HTTPS 訪問作為一項一流的系統功能。這意味著去中心化預言機和自動化模式不必總是從“我們應該信任哪個鏈下委員會來獲取和轉發數據?”這個問題開始。
這並不會讓Oracle問題消失,也不會神奇地解決數據真實性問題,但它確實改變了架構:
獲取數據可以成為系統表面的一部分,
驗證策略可以採用鏈上驗證策略。
協議可以對外部讀取進行推理,而無需每次都默認使用相同的中繼器模式。
我預料到大家會對決定論、可重玩性、真實性和成本建模等方面提出異議。而這正是我想要的反饋。
4. 錢包可能比會話簽名器豐富得多。
我們EVM中最具差異化的界面之一是錢包模型。
這裡的錢包方向並非“瀏覽器擴展”,而是我們自己的錢包。它更接近於一個基於用戶的執行環境(它是一個企業虛擬機),具有以下特點:
委派權限,
方法和合同範圍的政策,
消費限額
恢復時間鎖
提交日誌,
經過認證的交易流程
並通過用戶的錢包身份路由外部調用。
從以太坊的角度來看,這意味著錢包可以成為可編程的安全和協調界面,而不是密鑰對的簡單封裝。
我認為這很重要:
更安全的零售用戶體驗
團隊和機構錢包,
插件/應用商店風格的錢包擴展程序,
賬戶抽象實驗,
以及鏈式原生應用組合。
5. 專門的鏈部署更容易理解
該架構可以部署在獨立的 13 節點或 34 節點子網中,並可根據地理位置選擇部署位置。
這對於零售業的賭徒體驗來說意義不大,但對於思考以下問題的人來說意義更大:
機構鏈,
涉及主權或管轄權的敏感部署,
KYC 門禁環境
並且,基礎設施結構是產品的一部分,而不是隱藏的後端細節。
以太坊一直面臨著可信的中立性和專業化部署之間的矛盾。我感興趣的是,這種架構是否適合探索後者,而無需假裝它具有前者的特性。(這裡未明說的假設是主網鎖定是默認設置。)
未解決的問題
以下是我最希望以太坊母語人士回答的問題:
合約的原生閾值簽名訪問權限是否真的足夠重要,還是僅僅改變了信任邊界?
異步/定時器/發佈/訂閱模型真的有優勢嗎?還是說它主要創造了一種新的開發者陷阱?
確定性/外部數據訪問模式是否值得在鏈級別進行集成,還是最好將其留給預言機協議和中間件?
錢包模型是否在以太坊的智能賬戶/AA方向上實現了實質性的改進,還是僅僅是對類似理念的不同包裝?
哪個用例最有說服力?
開放類似以太坊的可擴展鏈,
以比特幣為導向的鏈(BTC作為 gas 費用/原生代幣),
受監管/KYC鏈,
或者以錢包為中心的應用程序?
- 哪些部分會讓你立刻產生懷疑?
走到今天這一步實屬不易,我也不確定目前的成果是否配得上當下的形勢。我們正在考慮是否應該繼續投入時間和資源。如果您對此感興趣,歡迎與我們聯繫。我知道這不如新的零知識證明或直接擴展主網那樣令人興奮,但如果方法得當,我們認為這裡蘊藏著許多激動人心的機會,例如易於啟動的應用鏈以及其他一些可能更獨特的實驗。
(如果性能很重要,該系統目前跟蹤結果為 2-6 秒最終確認,標準 TPS 為 1000, Uniswap v3 交換速度約為每秒 13.5 次,支持高達 400GB 的狀態/EVM)



