一年后,我来快速更新一下之前提到的 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)




