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で確認できます。