03 · 系统架构与角色
上一章解释了每个核心对象。本章把它们放入完整系统,说明合约分层、共享范围和参与方职责。
3.1 四层架构
普通应用主要访问资产层。只有创建身份时才需要 ONCHAINID Gateway;只有发行新资产时才需要 TREXGateway。
3.2 平台共享与资产独立
平台共享能力
通常由 Project RWA 统一提供:
ONCHAINID Gateway:投资者创建身份的公开入口;IdFactory:创建身份并保存钱包与身份映射;TREXGateway:新资产发行准入入口;TREXFactory:创建资产 Suite;- Implementation Authority:管理代理使用的实现版本。
开发者从 06 · 环境配置与验收 获取公开地址。
每项资产独立能力
每次发行会产生新的:
Token
IdentityRegistry
IdentityRegistryStorage
ClaimTopicsRegistry
TrustedIssuersRegistry
ModularCompliance
这意味着每项资产可以有独立的资格要求、认可机构、合规规则和管理角色。
3.3 一项资产内部如何连接
部分关联地址可以从链上动态发现:
Token.identityRegistry() → IdentityRegistry
Token.compliance() → ModularCompliance
IdentityRegistry.identity(wallet) → 投资者 ONCHAINID
IdentityRegistry.topicsRegistry() → ClaimTopicsRegistry
IdentityRegistry.issuersRegistry() → TrustedIssuersRegistry
建议同时使用公开地址表和链上读取结果进行校验。两者不一致时,应停止写操作并确认目标资产配置。
3.4 五类参与方
Project RWA 平台
负责网络和共享基础设施:
- 发布 RPC、Chain ID、浏览器和公开合约地址;
- 管理新资产发行准入;
- 维护共享身份、发行和版本基础设施;
- 发布升级、安全和迁移公告;
- 提供测试环境和接入支持。
平台不替代发行方定义现实资产权益和兑付规则。
资产发行方
负责具体资产:
- 定义名称、代号、精度和现实权益;
- 确定需要哪些 Claim Topic;
- 确定认可哪些 ClaimIssuer;
- 配置国家、额度或锁定规则;
- 指定 Owner、Token Agent 和 IR Agent;
- 登记投资者;
- 执行增发、销毁、暂停和冻结。
资格签发机构
负责资格审核:
- 在链下完成 KYC/AML 等审核;
- 生成 Claim 签名;
- 管理资格有效期和撤销;
- 保护 Claim 签名密钥。
投资者
负责自己的钱包和身份:
- 创建或控制 ONCHAINID;
- 提交已签名 Claim;
- 支付本人交易 gas;
- 发起转账和授权;
- 保护钱包密钥。
应用开发者
负责正确连接链上系统:
- 使用正确的网络和代理地址;
- 动态读取精度和关联合约;
- 组织用户交互但不代管管理私钥;
- 处理交易回执、事件和回滚;
- 区分链上状态与链下业务状态。
3.5 操作与权限
| 操作 | 调用目标 | 签名方 | 是否需要平台或发行方权限 |
|---|---|---|---|
| 查询资产和余额 | Token | 无,只读 | 否 |
| 查询资格 | IdentityRegistry | 无,只读 | 否 |
| 创建 ONCHAINID | ONCHAINID Gateway | 投资者 | 否 |
| 生成 Claim 签名 | 链下签名服务 | 资格签发机构 | 是 |
| 写入 Claim | 投资者 ONCHAINID | 投资者 | 否 |
| 登记投资者 | IdentityRegistry | IR Agent | 是 |
| 增发、销毁 | Token | Token Agent | 是 |
| 普通转账 | Token | Token 持有人 | 否 |
| 发行新资产 | TREXGateway | 获准发行账户 | 是 |
| 升级合约 | 版本管理合约 | 治理角色 | 是 |
应用可以构造交易,但最终签名方必须符合合约权限。
3.6 多资产场景
同一投资者可以复用钱包和 ONCHAINID,但各资产的资格判断仍然独立:
- Claim 是否复用取决于资产是否认可相同 Topic 和 Issuer;
- 每项资产都应通过自己的 IdentityRegistry 查询;
- 参与多项独立资产时,通常要在多个注册表分别登记;
- 是否共享底层 IdentityRegistryStorage 由具体发行方案决定,不应由应用自行假设。
3.7 升级对外部应用的影响
正常升级不会改变代理地址及其保存的余额和身份状态。
系统中的版本入口分为三类:
| 对象 | 版本机制 | 影响范围 |
|---|---|---|
| Token、IR、IRS、CTR、TIR、MC | TREX Implementation Authority | 引用同一 IA 的资产 Suite |
| 投资者 ONCHAINID | ONCHAINID Implementation Authority | 引用同一 IA 的身份合约 |
| 可升级合规模块 | ERC1967 / UUPS | 引用该模块的资产 |
接入方需要关注:
- ABI 是否增加或废弃方法;
- 事件是否保持兼容;
- 平台是否发布迁移说明;
- 升级后网络、地址和只读检查是否仍然通过。
普通应用不直接调用升级接口。
全局 IA 升级影响范围较大;正式资产发行方应采用多签、延迟执行、存储布局检查和升级演练等治理措施。外部应用只使用代理地址,并关注公开升级公告。
3.8 治理与安全边界
系统权限主要分为四类:
| 权限 | 用途 | 建议 |
|---|---|---|
| Owner | 升级、替换组件、配置规则 | 正式资产采用多签和延迟执行 |
| Agent | 登记、增发、销毁、暂停、冻结等日常操作 | 职责分离、最小授权、保留审计记录 |
| 合约回调权限 | Token、Compliance 和模块之间的自动调用 | 不应交给人工钱包 |
| ONCHAINID Key | 身份管理、执行和 Claim 签名 | 管理 Key 与 Claim Key 分离 |
Safe 等多签合约可以持有 Owner 或身份管理权限,但 Claim 验签依赖可恢复的签名地址时,Claim Key 应使用受控 EOA、HSM 或 MPC 签名服务。
需要特别关注:
- Owner、Agent、IA 或 ClaimIssuer 权限失控会直接影响资产或投资者资格;
- 暂停不会阻止 Agent 的增发、销毁、强制转移和钱包恢复;
- 移除可信 Issuer 或修改必需 Topic,可能同时改变大量投资者的资格;
- 合约不能替代底层资产真实性、法律权属和兑付安排。
3.9 接下来阅读什么
现在已经知道各合约和角色如何协作。下一章将按实际发生顺序,完整说明资产发行、投资者准入、增发、转账和销毁: