アーキテクチャ概要

このドキュメントでは、zERC20がオンチェーンコントラクト、オフチェーンサービス、Internet Computer (ICP) ステルスメッセージングレイヤーにわたってどのように構築されているかを説明します。

  • プライバシー保護送金: 送信者はステルスアドレスにzERC20をバーン。受信者は同じまたは別のチェーンで、紐付け可能なオンチェーンメタデータなしにミント
  • ERC-20互換: 標準トークンインターフェースが既存のウォレット、DEX、DeFiプロトコルで動作
  • 証明可能な整合性: すべてのミントはゼロ知識証明(Nova/Groth16)に依存
  • スケーラビリティ: PoseidonマークルツリーとIVCで数千の送金を1つの証明にバッチ化
  • クロスチェーン: LayerZeroベースのHubが全チェーンのルートを集約

オンチェーンコントラクト

コントラクト 説明
zERC20 アップグレード可能なERC-20。IndexedTransferイベントを発行し、SHA-256ハッシュチェーンを維持し、検証済みミント用のteleportを公開
Verifier LayerZero OApp。Nova/Groth16証明を検証し、受信者ごとのテレポート額を追跡し、ルートをHubにリレー
Hub 全チェーンの転送ルートをPoseidonツリーに集約し、グローバルルートを全Verifierにブロードキャスト
LiquidityManager 流動性ポリシーを管理し、原資産のラップ/アンラップを処理
Adaptor 別チェーンの方が流動性が有利な場合のStargate経由のクロスチェーン出口

オフチェーンサービス

サービス 説明
Indexer Actix HTTPサーバー + Postgres。オンチェーンイベントを同期し、マークルツリーを維持し、ルート証明を生成
Decider Prover オンチェーン検証用のNova証明を確定するHTTPワーカー
Cross-chain Job 転送ルートをHubにリレーし、ブロードキャストをトリガー

ICPステルスストレージ

Canister 説明
Key Manager Canister VetKDベースのIBE鍵導出(EVMアドレスごと)
Storage Canister 暗号化されたアナウンスメントと署名済みインボイスを保存

データフロー

1. 転送の発行

すべての転送(ミント/送金/バーン)はSHA-256ハッシュチェーンに追加され、インデックス付きイベントを発行します。

zERC20._update() → IndexedTransferを発行 → hashChainを更新

2. ルート証明

インデクサーがPoseidonマークルツリーを維持し、定期的にIVC証明を使用してオンチェーンで新しい転送ルートを証明します。

3. クロスチェーン集約

各チェーンのVerifierはその転送ルートをHubにリレーし、Hubはそれらを集約してグローバルルートを全Verifierにブロードキャストします。

4. プライベート送金

送信者 → バーンアドレスへのzERC20送金 → 受信者がICPストレージをスキャン → ZKP生成 → Verifier.teleport() → zERC20が受信者にミント

暗号プリミティブ

プリミティブ 用途
Poseidon Hash マークルツリー、バーンアドレス導出、受信者バインディング
SHA-256 ハッシュチェーンコミットメント(BN254用に248ビットに切り詰め)
Nova Folding バッチ引き出し証明、ルート遷移証明
Groth16 シングル引き出し証明
VetKD/IBE ICP上の暗号化ステルスメッセージング

信頼モデル

エンティティ 権限/能力
コントラクトオーナー コントラクトのアップグレード、Verifierのローテーションが可能
インデクサーオペレーター 送信者/バーンアドレス/金額を観察。クエリ時に受信者を把握
ICP Canister 暗号化データを保存。受信者の鍵なしに復号不可
⚠️ 最大限のプライバシーのために

送信者-受信者の紐付け漏洩を避けるために、独自のインデクサーインスタンスを運用してください。