Railgun 协议
Railgun 是一个开源、经过审计、完全在链上运行的隐私协议。Anon 使用 Railgun 作为密码学隐私层。
屏蔽池
Railgun 的核心是一组维护屏蔽池的智能合约;屏蔽池是一份共享的加密账本。屏蔽代币时,代币进入池中;解除屏蔽时,代币离开池。池内的余额和转账对外部观察者不可见。
池通过加密票据组成的 Merkle 树实现。每张票据代表一个可支用余额的承诺。只有相应支出密钥的持有者才能生成有效证明来花费票据。
私密转账如何运作
- 发送方花费现有票据,为接收方创建一张新的加密票据
- 生成零知识证明,证明以下事实:
- 被花费的票据存在于 Merkle 树中,但不透露具体票据
- 发送方知道这些票据的支出密钥
- 金额平衡,没有凭空产生资金
- 新票据的格式有效
- 将证明和加密密文提交至 Railgun 合约
- 合约验证证明并更新 Merkle 树
私密转账保护内部票据数据。公开输入和输出,包括屏蔽与解除屏蔽的地址和金额,仍然可见;网络服务也可能收到请求元数据。
支持的网络
| 网络 | 状态 |
|---|---|
| Ethereum Mainnet | 支持 |
| Arbitrum | 支持 |
| Polygon | 支持 |
| BNB Smart Chain | 支持 |
清白证明(POI)
Railgun 与**私密清白证明(Private Proofs of Innocence)**配合,依据列表提供方的数据集检查资金。Anon 在钱包同步期间跟踪证明及可支用状态;屏蔽交易确认后,资金仍可能需要完成额外检查才能花费。这些检查不代表满足所有法律合规要求。参阅合规与 POI。
审计
Railgun 的智能合约及密码学电路已由多家独立机构审计。审计报告可在 Railgun GitHub 上查看。