稳定币跨链桥
Rand 只发行一种资产 RAND,而它的价格会波动。一个没有任何稳定资产可持有的屏蔽池,用于支付的价值有限,因此 USDT 和 USDC 从它们已在流通的链上导入,扣除 0.1% 的跨链桥费用后铸造为 zUSD:一种屏蔽美元,由 USDT 与 USDC 的合并储备作为支持,以票据的形式与其他一切资产放在同一个池中,并可随时兑换为任一种币。
另一种办法是等待 Tether 和 Circle 原生发行,而这是一项商业决策,所依据的交易量是这条链目前尚不具备的。跨链桥不需要发行方的配合。代价是更长的信用链条,以及我们自己的一个托管方——本页如实说明这一代价,而不是含糊带过。
- 已锁定稳定币
- —
- 所有已接受的币种,覆盖全部四条链
- USDT 已锁定
- —
- Tether USD
- USDC 已锁定
- —
- USD Coin
- zUSD 供应量
- —
- 代币注册表中的总量,与已锁定资产一比一对应
| 链 | 代币 | 今日铸造 | 每日上限 | 已锁定 |
|---|
正在从浏览器读取桥数据…
锁定
USDT 或 USDC 被存入其所在原生链上的托管合约并在那里被冻结。该合约只负责锁定和释放,从不铸造任何东西。
见证
守护者监视每条源链上已登记的发出方,等待达到确认深度,然后对所见内容签名。八个签名中的六个构成法定人数。他们见证的是一条消息已被发布,而不是它的含义。
铸造
Rand 会验证法定人数签名、同一批守护者给出的第二组后量子法定人数签名以及发行方绑定;检查该储备的铸造上限和过去 24 小时内的全局上限;将证明标记为已花费;并向屏蔽池中插入一个票据承诺,金额为存款减去桥接费用(自 chain 20 起为 0.1%,以 zUSD 票据形式留存给金库)。从这一刻起,该资产就是一张 zUSD 票据,与匿名集中的任何其他票据无法区分。
赎回
持有者在一笔交易中花费该票据,交易中指明币种、目标链和地址,并支付 0.01 RAND 的桥接费用。自 chain 20 起,链还会留存金额的 0.1% 作为 zUSD 费用票据,放行金额为扣除该费用后的数额。如果该币种的储备低于该金额,Rand 会拒绝此交易。先公布作废符(nullifier),然后守护者对销毁予以证明,最后托管方放行。债权在抵押品转移之前销毁,而不是之后。
锁定的价值在边界处是公开的。此后该票据的每一次转移则不是。隐私边界就是跨链桥本身:进入的部分是透明的,在 Rand 上流通的部分是屏蔽的。
一种代币,七份储备
zUSD 是单一代币,但它的支持是按储备逐一计算的:一份储备是某一种币在某一条原生链上的部分,以这一组合为键,而不是以代号为键。锁定在 Ethereum 上的 USDT 与锁定在 Tron 上的 USDT 处于各自独立的托管中,Rand 记录每一份锁定了多少。赎回需指明币种和链,如果该储备少于该金额便会被拒绝,因此在一条链上的赎回无法动用另一条链的托管资产。根据构造,zUSD 的供应量等于这七份储备之和。
传输值带有八位小数。当某种代币使用十八位小数时,合约只锁定可表示的金额;当它使用六位小数时,赎回必须是该币自身最小单位的整数倍。无论哪种情况,都不会有任何已锁定的单位缺少可将其释放的见证。
| 链 | 币种 | 标准 | 托管 | 确认 | 小数位数 |
|---|---|---|---|---|---|
| Ethereum | USDT, USDC | ERC-20 | 锁定合约 | 32 个区块 | 6 |
| Binance Smart Chain | USDT, USDC | BEP-20 | 锁定合约 | 20 个区块 | 18 位,在传输时截断为 8 位 |
| Tron | USDT | TRC-20 | 锁定合约 | 20 个区块 | 6 |
| Solana | USDT, USDC | SPL | 托管程序 | 已最终确认的 slot | 6 |
八位守护者,六位签名
守护者集合是一个有序的见证密钥列表。当超过三分之二的守护者对一条消息签名时,该消息即被见证:这是验证者集合的拜占庭门限,应用于一个监视 Rand 验证者无法从共识内部看到的链的委员会。其格式沿用 Wormhole 的,是移植而非重新发明,因此守护者、Solidity 验证器和 Rust 验证器可以相互核对。
在 Rand 上铸造还需要第二个法定人数:同样八位守护者中的六位使用 Dilithium2 对同一摘要签名,并绑定到 Rand 链,缺少任何一个法定人数,Rand 都会拒绝铸造。源链上的释放仍然仅依赖 secp256k1 法定人数。
见证不等于授权
守护者见证的是发布。他们监视一个发出消息的合约,等待确认,并对其观察到的内容签名。他们不解释载荷。如果消息层接受来自任何调用者的消息,那么任何能够提交源链交易的一方,都可以在不攻破任何一个守护者密钥的情况下,促使铸造任意数量的 zUSD:守护者的见证是真实的,因为该消息确实已被发布。
阻止这种铸造的不是签名验证,而是发出方绑定:目的链仅当见证来自该见证本身所指明的那条链上已登记的跨链桥合约时才接受它。在无许可的消息层上,签名有效并不意味着获得授权,而这一绑定正是承重的检查。
损失由什么界定
这些措施都不能使跨链桥无需信任。每一项都把一种故障从无界变为有界,或从无声变为可观察。
托管可靠性
定理 9.13每条链都统计自己持有的数额,并拒绝释放超过该数额的资金;Rand 则对每份储备保持同样的统计,并拒绝超出该数额的赎回。伪造的见证无法提取从未锁定在那里的资金,因此无界的铸造故障变成了有界的托管故障。
发出方绑定
定义 9.7 · 推论 9.8仅当见证由其自身所指明的那条链上已登记的跨链桥合约发出时,才会被接受。若无此项,任何能在源链上发布消息的人,都可以在诚实的守护者如实签名的情况下随意铸造。
重放保护
定义 9.10每个见证恰好可兑现一次,以其摘要为键,每次赎回都会发布一个无效化标识。铸造和释放都无法被重放。
供应可审计性
定理 9.14屏蔽供应量等于公开铸造量减去公开销毁量,与托管之间的挂钩条件任何人无需打开票据即可核验。池内转账在构造上保持价值守恒,因此无法改变总量。
上限与暂停
备注 9.16在当前 testnet 上,每个储备在任意滚动 24 小时内最多可铸造 100,000 zUSD,七个储备合计最多 4,000 zUSD。一把暂停密钥与守护者密钥分开保管,可立即停止铸造,但无法恢复铸造:恢复需要后量子守护者法定人数,该法定人数也可更换暂停密钥,而赎回在此期间始终保持开放。源链合约自带各自的暂停者和速率上限。这些措施限定了风险敞口,但并未消除它。
确认深度
守护者只在源链确认锁定已最终结算后才签名,因此被重组的存款无法支撑铸造。
最薄弱的组件
协议中的其他部分,最终都可归结为密码学难题,或归结为由质押且可罚没的验证者集合所保证的拜占庭容错上界。桥不属于此类,论文也明确这样表述。zUSD 论文中的命题 2.8 正是反对这种构造;该命题原样保留,因为它依然成立。由于每一份 zUSD 的支撑都是一条经过证明的腿,每一单位上的保障取决于托管偿付能力与双重守护者门限完整性二者中较弱的一项。
- ›守护者密钥的法定人数可以释放每条链上全部被托管的余额。没有欺诈证明,没有质疑窗口,也没有乐观延迟。一个有效的法定人数签名就是授权。
- ›守护者既未被 Rand 的共识要求质押保证金,也不会被其罚没。这一类桥所发生的损失——Ronin、Wormhole、Nomad、Harmony——源于密钥泄露和验证漏洞,而非共识失效。
- ›如果一台机器持有六把密钥,那么这台机器就是桥。不同的运营者、司法辖区和密钥硬件是部署的必要条件,而不是可选的配置偏好。
- ›zUSD 是单一的池化资产:对 Rand 托管资产的索取权,而这又是对 Tether 和 Circle 的索取权。无论存入的是哪种币,每位持有者都同时承担两家发行方的风险,外加守护者风险,而后者是远为薄弱的一环。
- ›尚未进行任何独立审计。这些合约自 2026 年 9 月 19 日起已部署在四条主网上,持有真实的 USDT,上限为每笔转账 100、每个代币每日 1,000。目前由一个运营者持有全部守护者密钥:六把位于不同主机,两把位于一台笔记本电脑上。
前沿
共识、隐私和归属认证都是后量子安全的:STARK 可靠性、384 位的转录哈希、Dilithium 签名。而基于 secp256k1 的守护者证明不是后量子安全的,释放路径目前仍仅依赖它们。量子攻击者可以从已公布的公钥恢复每一把守护者密钥,并释放全部被托管的余额。系统的后量子安全性取决于各组件中的最小值,在释放一侧,该组件在迁移之前为零位。
验证者是 Rand 自身的执行层,该层本已验证 Dilithium。现在每次铸造除了 secp256k1 法定人数之外,还附带由同一批守护者对同一摘要给出的 Dilithium2 法定人数,因此仅恢复 secp256k1 密钥已不足以伪造铸造。自 chain 15 起,后量子法定人数可以轮换自己的集合和暂停密钥,每次轮换由当前集合签名;在 chain 20 上,轮换还需要证明新密钥确为持有,并在被接受一天后生效。
Ethereum、Binance Smart Chain、Tron 和 Solana 原生验证 secp256k1。在合约代码中验证 ML-DSA 目前需要数百万 gas。在源链推出后量子预编译之前,释放路径仍将采用经典安全方案,而 Rand 无法凭自身加快这一日期。
对运营者的启示
残余风险敞口由托管额度而非屏蔽供应量设定上限,并且随着桥被用于流转而非存放而缩小。在源链一侧持有大量闲置余额,是使量子时代损失最大化的配置,因此托管上限应据此设定。信任最小化的替代方案已在系统的工具箱中:用 STARK 验证源链的共识,可将桥的假设缩减为该链加上 STARK 可靠性,并完全去除守护者集合。障碍在于证明成本和逐链的工程实现,而不是缺少某种原语。
实现状态
已有一个参考实现:面向 EVM 链和 Tron 的托管合约,Solana 上的托管程序,一个监视所有链并提供已汇总证明的守护者,以及一个用于线路格式的共享编解码器,它作为 bridge-codec crate 包含在 fullnode 中,使得一种语言中线路格式的变更会令其他语言中的测试失败。在 Rand 一侧,自屏蔽池阶段 S3 起,全节点已实现接收一半:一份证明会存入一个由链根据被证明金额计算出的 note,桥接持有物是与 RAND 同在一个池中的 note,而销毁是一笔带一个证明的交易。链通过其创世块中的一个部分启用桥。当前的 testnet,即 chain 20,已将其开启:创世块中包含八个守护者、八个后量子守护者、一把暂停密钥和每日 4,000 zUSD 的全局铸造上限,也包含带有七个储备的 zUSD,承接切换时未偿付的 zUSD,并仍为其锁定着托管资产。其创世块指明了 2026 年 9 月 30 日重新部署的 Ethereum、BNB Chain 和 Tron 桥端点,并对每次铸造和每次销毁以 zUSD 收取 0.1% 的费用,因此供应量仍等于为其锁定的托管资产。2026 年 9 月 20 日,在 chain 14 上对每条源链各进行了一次往返测试。本页顶部的数字读取自 chain 20。
合约、守护者和中继器公开于 github.com/randprotocol/bridge,已部署的地址及其交易列于其主网部署记录中。这些端点自 2026 年 9 月 19 日起已在 Ethereum、BNB Smart Chain、Tron 和 Solana 上线,每个代币上限为每笔转账 100、每日 1,000。托管持有真实价值:2026 年 9 月 30 日为 10 USDT,支撑流通中的 10 zUSD。尚未进行任何独立审计,并且由一个运营者持有全部守护者密钥。