跳到主要内容

架构概览

OXN 是一条由两层协作组成的 L1 链:一个共识层负责对交易顺序达成共识、并托管原生代币余额;一个执行层在 SGX enclave 中运行 Solidity 合约。用户一般只与执行层交互——其余对使用者透明。

一图看懂

┌─────────────────────────────────────────────────────────────────┐
│ OXN L1 │
│ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ 执行层 — 在 SGX enclave 内的 EVM │ │
│ │ │ │
│ │ • 运行 Solidity 合约 │ │
│ │ • 加密的合约存储 / calldata / 返回数据 │ │
│ │ • 持有 0x…(EVM) 余额 │ │
│ │ • 提供标准 eth_* JSON-RPC + OXN 专属扩展 │ │
│ │ • 向客户端分发 enclave 认证 quote │ │
│ └────────────────────────┬─────────────────────────────────┘ │
│ │ │
│ deposit ▲ │ ▼ withdraw │
│ │ │
│ ┌────────────────────────┴─────────────────────────────────┐ │
│ │ 共识层 — BFT 共识 │ │
│ │ │ │
│ │ • 交易排序与区块终结 │ │
│ │ • 持有 oxn1…(原生) 余额 │ │
│ │ • 运行验证人质押(主网) │ │
│ │ • 管理 enclave 密钥轮换 │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘

两层都跑在每一个验证节点上。它们不是两个独立网络——是同一条 L1 的两个角色。

执行层(SGX 内的 EVM)

这是你的 Solidity 合约实际运行的地方。

每个验证节点在 Intel SGX enclave 里加载 EVM。 当交易到达时,enclave:

  1. 校验交易签名(标准 EIP-155 规则——这里没有 OXN 特有的东西)
  2. 解密加密的 calldata(如果客户端发送了加密信封)
  3. 通过 enclave 的每合约加密密钥读写存储
  4. 执行 EVM 字节码
  5. 用调用者的会话密钥加密返回数据
  6. Emit 事件日志(同样用调用者的会话密钥加密)

因为签名验证之后的每一步都在 enclave 内发生,节点运营方以及 enclave 之外的所有人都看不到 calldata、返回数据、存储内容或事件内容。详细清单见机密性模型

执行层持有 EVM 地址0x…)上的余额,通过标准以太坊 JSON-RPC 在 https://rpc.bout.network 端口对外服务。钱包、ethers.js、viem、Hardhat、Foundry——全部连这里。

共识层

这是真正对"区块是不是区块"达成共识的地方。它跑的是拜占庭容错(BFT)共识——验证人提议区块、投票,达到票数门槛后区块立即终结。没有概率终结性、没有重组。

共识层:

  • 交易排序——决定哪笔交易在哪笔之前
  • 区块终结——区块要么终结、要么没终结;不像以太坊那样有 "safe / justified / finalized" 三态
  • 持有原生余额——用 oxn1… bech32 地址标识的账户住在这里
  • 主网运行验证人质押(当前测试网阶段未开放)
  • 分发 enclave 密钥材料——长期 enclave 密钥通过分布式密钥管理协议在验证人之间轮换与备份

大部分 dApp 开发者从不直接与共识层打交道。它通过钱包的 "deposit / withdraw" 流程暴露,未来通过验证人运营开放。

两层如何互换价值

原生代币住在共识层的 oxn1… 地址上。EVM 合约住在执行层,只能处理 0x… 地址上的余额。要在 EVM 合约内使用资金,用户需要deposit——把资金从共识层转到执行层;要把价值移回原生地址(比如未来做质押),用户需要withdraw

网页钱包的 UI 里两个方向都有。程序化上,deposit 是一笔共识层交易,会给某个 EVM 地址加余额;withdraw 反之。

具体地址格式与两者的映射关系见账户与地址

TEE 强制执行在哪一层

SGX enclave 只保护执行层,不保护共识。这是故意的:

  • 共识需要公开可审计。 任何人都应该能验证区块是否正确终结、验证人是否诚实投票、排序规则是否被遵守。把共识加密会让这件事无法实现。
  • 执行需要私密。 你合约的状态与输入才是要藏起来的东西。

结果:交易排序、验证人身份、质押流动、原生余额全部公开。合约执行——真正对机密性起作用的部分——发生在 enclave 内。

"一条 L1" 到底是什么意思

OXN 不是 rollup。 执行层不向任何其他链提交证明或数据。它靠共识层提供终结性,共识层只靠自己的验证人集合。两层都是同一条主权网络的一部分。

OXN 不是桥或侧链。 两层之间没有可信中介。它们是同一批节点的两个角色。

OXN 不是多链结构。 Deposit 和 withdraw 在同一条链内的两种地址格式之间移动价值,不是在不同链之间。你的 OXN 永远不离开 OXN,除非你用外部桥(见跨链桥——暂未上线)。

下一步