跳到主要内容

为什么需要机密 EVM

每一条 EVM 链都会广播你的输入。把交易打包进区块的同一条链,也把交易内容广播给全世界每一个观察者——你调用了哪个函数、传了什么参数、合约之后 emit 了什么事件。这份透明性是公开 EVM 可审计的基础,但也正是它让整类应用变得无法构建。

OXN 保留审计记录,但隐藏内容。以下是被解锁的用例。

密封拍卖

在公开 EVM 上的问题。 以太坊上的"密封拍卖"实际上是两阶段的 commit-reveal 拍卖:竞拍者先发布 keccak256(bid, salt),之后再公开真实出价。三个已知问题:(1) 最后不揭示获胜出价的人可以零成本走人;(2) commit 哈希泄漏的信息比人们想的多——出价空间小时暴力破解很便宜;(3) 整个设计每次出价需要两笔链上交易。

OXN 的解法。 单笔交易的密封出价。出价金额存在加密的合约存储里。任何人——拍卖方、其他竞拍者、节点运营方——在揭示阶段结束前都读不到它。揭示阶段触发时,合约读取自己的加密状态,选出赢家。每次出价一笔交易,无需 commit 哈希,无需揭示步骤。

隐藏订单簿与抗 MEV 的 DEX

在公开 EVM 上的问题。 每一张挂在公开订单簿上的限价单都能被抢跑它的 searcher 看到。每一笔进 mempool 的 AMM swap 都会触发三明治机器人。公开 EVM 链上,MEV 每年从用户那里抽走数十亿美元,任何 gas 策略调整都无法完全堵上。

OXN 的解法。 订单以加密的价格和数量提交。撮合在 enclave 内针对加密状态发生。searcher 只能看到清算价格和成功匹配的结果——无法把交易拆解成单个订单去做三明治。同一个合约里既是公开的结算层,又是私密的撮合引擎。

企业工作流与 B2B 结算

在公开 EVM 上的问题。 供应商把 120 万美元的发票打进智能合约,等于告诉每一个竞争对手、对手方、未来谈判者他拿到的确切价格。想要区块链可审计性但法务/商业上无法暴露具体数字的企业,最终只能进私链,失去网络效应。

OXN 的解法。 发票金额、采购单、结算事件都以加密形式存储。持密钥的审计方看得到全部。其他人看到的只是"发生了一笔交易、发生在哪两个地址之间、成功还是失败"——但看不到金额或明细。公开链,私密数据。

投票与治理

在公开 EVM 上的问题。 选票公开时可以被收买。选票化名但可观察时可以被溯源。当前几乎所有链上治理投票实际上都是公开点名投票,票权胁迫、贿赂、社会压力都能扭曲计票结果。

OXN 的解法。 每一票按投票人加密。计票在 enclave 内针对加密选票发生。结果——多少赞成、多少反对——是公开的,但单张选票保持密封。既有计票的公开问责,又有投票的私密良知。

链上机密、凭证与链下身份

在公开 EVM 上的问题。 你不能把密码放到公开区块链上。不能放 API key。不能放智能合约用来签名的私钥——因为合约存储完全可读。当今所有"链上身份"方案最终都变成一组公开承诺 + 链下签名验证,因为真正的机密只能在链下。

OXN 的解法。 机密可以真的活在合约存储里,加密存放,只能被合约自身逻辑使用。合约可以持有一把链下签名密钥、代表授权调用方签署请求、执行访问控制——全程从不暴露密钥。这是真正的链上身份,不再只是"对链下身份的链上证明"。

带隐藏信息的游戏

在公开 EVM 上的问题。 扑克合约发不了牌。战略游戏做不到战争迷雾。任何每玩家私密状态的游戏都要把状态搬到链下——这就抹掉了在链上跑游戏的意义。

OXN 的解法。 每玩家私密状态以加密形式存在合约里,只有游戏逻辑说要揭示时才揭示。卡牌游戏、战略游戏、隐藏信息拍卖、盲抽——都变成自然的链上状态机。

OXN 不尝试做什么

有些事无论用什么技术,链都藏不住:

  • 谁与谁在交易。 发送方和接收方地址始终可见——链必须把交易路由到某个地方。OXN 不隐藏这个。如果你需要交易图隐私,需要在上层叠一个混币器。
  • 付了多少 gas。 Gas 是消耗在公开硬件上的公共资源,始终可见。
  • 合约字节码。 部署后的合约代码是公开可查的,就像以太坊一样。私密的是代码操作的状态和调用方传入的输入
  • 按设计就会泄漏的元数据。 如果你的合约调用了地址 0xabc… 上的另一个合约,而那个合约只处理 USDC,那么"涉及 USDC"这个事实与加密无关,是可推断的。

机密性是工具,不是魔杖。完整的"什么会泄漏"速查表见机密性模型

下一步