术语表
OXN 文档中使用的术语,按主题分组。
机密性
TEE(Trusted Execution Environment,可信执行环境)。 一种 CPU 特性,能把一段内存区域隔离出来,使得连操作系统、Hypervisor 和节点运营方都无法读取或修改它。OXN 使用 Intel SGX 作为 TEE。
Enclave。 TEE 的一个具体实例,运行着一段具体的代码。在 OXN 上,每个验证节点在 enclave 中运行 EVM。
远程认证(Remote Attestation)。 一套密码学协议,让客户端能证明自己正在与"运行着预期代码、跑在真实 Intel CPU 上的真实 enclave"对话。没有认证,"运行在 TEE 中"这件事无法验证。
加密调用(Encrypted Transaction)。 一笔 calldata 通过临时密钥与 enclave 公钥做交换后加密的交易。enclave 在 TEE 内解密、执行,再把返回数据加密回给调用者。
明文调用(Plain Call)。 不经封装直接发出的交易——calldata 在链上以明文形式存在。OXN 允许这样做,但通常意味着本该用 wrapped 客户端却漏了。
签名查询(Signed Query)。 一次经过认证的 eth_call。调用者用私钥签名查询;enclave 据此填充 msg.sender、执行 view 函数、再把结果加密只回给这个调用者。用来在不公开泄漏的情况下读取私密状态。
会话密钥 / 临时密钥。 客户端针对每笔交易(或每次查询)生成的一次性 密钥,用于与 enclave 做一次加密交换,用完丢弃。
网络与共识
Layer 1(L1)。 拥有自己的出块与共识、不依赖其他链提供安全性的区块链。OXN 是一条 L1。
主权 L1(Sovereign L1)。 强调 OXN 拥有自己的验证人集合,且不 settle 到任何其他链(与 rollup 不同)。
共识层。 OXN 架构的底层。负责交易排序、持有原生 oxn1… 账户余额、提供终结性。用户很少直接与它交互。
执行层(EVM)。 OXN 架构的上层。在 enclave 中运行 Solidity 合约、持有 EVM 0x… 账户余额。MetaMask、Hardhat 以及所有 EVM 工具都是与它对话的。
终结性(Finality)。 一个区块不会被回滚的保证。OXN 提供单槽终结性——区块一旦产出即为终结。
地址与账户
原生地址(oxn1…)。 40 个字符的 bech32 地址,用于共识层,由公钥派生。
EVM 地址(0x…)。 20 字节的十六进制地址,用于执行层,与所有以太坊钱包兼容。
地址映射。 在两种格式之间转换的确定性函数。每一个 EVM 地址都有对应的原生地址,反之亦然。
Deposit(充值)。 把 OXN 从原生地址移到 EVM 地址,让 EVM 工具能花费。
Withdraw(提现)。 反过来——把 OXN 从 EVM 地址移回原生地址。
客户端与工具
RPC 端点。 你的钱包或 SDK 对话的 HTTP(S) URL。OXN 测试网的公共 RPC 是 https://rpc.bout.network。
JSON-RPC。 标准的以太坊请求 / 响应协议。OXN 支持完整的标准方法集合,加上少量 OXN 专属扩展。
Provider。 在 ethers.js 和 viem 中,与 RPC 端点对话执行读操作的对象。
Signer。 在 ethers.js 中,持有私钥并签名交易的对象;在 viem 中称为 WalletClient。
Wrapped Provider / Wrapped Signer。 会自动加密外发调用、解密返回响应的 provider 或 signer。机密交互必需。
Precompile(预编译合约)。 位于固定地址、由原生代码(非 EVM 字节码)实现的合约,Solidity 里通过 staticcall 调用。OXN 提供加密、随机数、密码学操作等预编译。
水龙头(Faucet)。 发放测试网 OXN 的公共服务:https://faucet.bout.network。
开发
EVM 版本(EVM version)。 编译器目标的 opcode 集合。OXN 目前支持到 paris。更晚的版本(shanghai、cancun)包含 OXN 尚未支持的 opcode(PUSH0)。
Gas limit。 一笔交易允许消耗的最大 gas。OXN 上应显式设置 gas limit,而不是依赖客户端 eth_estimateGas 估算。
Chain ID。 链的唯一数字标识,用于 EIP-155 签名重放保护。OXN 测试网是 186。
测试网 vs 主网。 测试网使用无价值代币,且状态可能被重置。主网是生产网络。OXN 当前处于测试网阶段。
PUSH0。 Shanghai 硬分叉引入的 EVM opcode,用一个字节压入零而不是两个。OXN 尚未实现 PUSH0;在编译器配置里使用 evmVersion: "paris" 可以规避。