非托管设计¶
Sera 是一个完全非托管的交易所。Vault 余额保存在以太坊上的链上智能合约中 — 从不由 Sera 持有。本页面解释这意味着什么、它如何运作以及为什么重要。
什么是非托管?¶
在托管交易所中,您将代币转移到交易所,并信任他们保管您的资金。如果交易所被黑客攻击、离线或恶意行为,您的资金面临风险。
在 Sera 上,情况并非如此。您的代币保存在部署在以太坊上的经过审计的开源智能合约中。这些合约通过任何人都可以验证的代码执行存款、交易、结算和提款规则。Sera 无法托管或没收您的资金;合规控制可能限制由平台发起的操作,但 Vault 余额仍可通过紧急提款直接取回。
Sera 控制什么 vs. 不控制什么¶
| 组件 | 作用 | 能接触您的资金? |
|---|---|---|
| Vault 合约 | 按用户维护账本余额存储已存入代币 | 仅链上托管 |
| Sera 合约 | 结算匹配的交易并执行提款 | 仅链上托管 |
| 链下撮合 | 撮合买卖订单(CLOB) | 否 |
| API | 接收订单并提供市场数据 | 否 |
Sera 的链下服务仅用于订单撮合。它们不托管您的代币。所有资金流转通过智能合约在链上进行。
您的资金如何保持安全¶
交易期间¶
当您将代币存入 Vault 时,它们从您的钱包转移到 Vault 智能合约中,而不是转给 Sera。合约在您的地址下跟踪您的余额。当您下限价单时,抵押品在合约中冻结。当订单成交时,结算在链上进行。每一步都由智能合约强制执行规则。
兑换期间¶
兑换不需要 Vault 存款。系统构建交易,您使用钱包签署 — 由于参数以 EIP-712 类型化数据呈现,您可以在批准前查看签署的确切内容(代币、金额、接收者)。结算随后在链上原子性地进行。Sera 的链下服务促进报价,但不托管您的代币。
如果 Sera 离线¶
如果 Sera 的 API 或链下服务不可用,您可以直接在 Sera 智能合约上调用 emergencyWithdraw() 来取回 Vault 余额,包括冻结在未完成订单中的余额。这无需与 Sera 的服务器进行任何交互。
紧急提款流程:
- 在 Sera 合约上调用
emergencyWithdraw(token, amount) - 等待约 24 小时(约 7,200 个区块)— 此延迟防止滥用
- 再次调用
emergencyWithdraw(token, amount)以执行
详情请参阅紧急提款。
如果 Sera 的服务器被黑客攻击?¶
如果攻击者入侵了 Sera 的公共 API 或撮合服务,智能合约仍会执行签名和结算规则。
原因如下:Sera 的链下系统不托管您的代币。资金流转由链上智能合约执行,并且需要有效授权。入侵公共服务的攻击者无法:
- 在没有有效授权的情况下从 Vault 中提取您的资金
- 在签名限制之外结算交易
- 绕过智能合约规则
主要剩余风险之一是签署恶意交易,例如参数被篡改的兑换。由于 Sera 使用 EIP-712 类型化数据签名,您的钱包会在批准前显示详细信息(代币地址、金额、接收者)。签名前请仔细核对这些字段。
| 场景 | 资金风险 |
|---|---|
| Sera 的 API 被入侵 | 链下服务无法托管或提取您的代币 |
| 攻击者篡改订单撮合 | 结算仍需有效签名和链上规则 |
| 攻击者发送恶意交易让您签署 | 仅在您未审查就签署时 — 您的钱包通过 EIP-712 显示完整详情 |
| 攻击者尝试直接调用合约 | 失败 — 合约对任何资金流转都需要您的签名 |
这就是非托管设计的核心优势:您资金的安全取决于智能合约和您自己的签名 — 而非 Sera 服务器的安全性。
开源且可审计¶
所有智能合约都是开源的。任何人都可以:
- 阅读合约代码以验证规则
- 独立审计合约
- 验证已部署的合约与已发布的源代码匹配
这种透明度是非托管属性的基础 — 您无需信任 Sera,您可以自行验证。
审计报告¶
Sera 的智能合约已经过独立审计。完整列表与每个合约的源代码链接请参阅专门的 审计报告 页面,或直接在 GitHub 上浏览审计文件夹。
总结¶
| 问题 | 答案 |
|---|---|
| 谁持有我的资金? | 链上 Vault 智能合约 |
| Sera 能接触我的资金吗? | 链下服务不托管您的代币 |
| 我可以提款吗? | 可以 — 通过 API,或在 API 不可用时通过延迟紧急提款流程取回 Vault 余额 |
| 合约开源吗? | 是的 — 完全可审计。参阅审计报告 |
| 如果 Sera 消失了? | 您通过紧急提款取回 Vault 余额 |
| 如果 Sera 的服务器被黑? | 智能合约规则仍要求有效授权才能移动资金 |