メインコンテンツまでスキップ

ワークフロー

PIVX ネーミング サービス (PiNS) を使用すると、ユーザーは人間が判読できるドメイン名 (myname.pivx など) を登録、更新、リスト、転送し、それらを PIVX shielded (Sapling) アドレスに安全にマッピングできます。

PIVX は汎用スマート コントラクトを持たない UTXO ベースのブロックチェーンであるため、ドメイン レジストリのような複雑なデータベース システムをネイティブに実行できません。これを解決するために、PiNS はオフチェーンで操作を実行し、PIVX にデータを保存し、Arbitrum にセキュリティを固定する ロールアップ スタイルのアーキテクチャ を使用します。

このシステムは、相互接続された 5 つのコンポーネントによって駆動されます。

1. PIVX ブロックチェーン: データ可用性レイヤー

ユーザーが行うすべてのアクション (名前の登録 (REG)、住所の更新 (UPD)、所有権の譲渡 (CHG)、市場への上場 (LST)、上場廃止 (ULT)、または購入 (BUY) は、ネイティブ PIVX トランザクションとして開始されます。トランザクションには、トランザクション メモ フィールドに構造化テキスト コマンドが含まれています (例: PiNS:1:REG:domain:address:pubkey:nonce:signature)。

  • PIVX チェーンは真実の情報源です。 すべてのドメイン コマンドが永続的に保存されます。記録された PIVX トランザクションがなければ、状態の変化は起こりません。

2. レジストラー ノード: シーケンサー

自動化されたレジストラー ノードが PIVX ブロックチェーンをスキャンします。ドメイン コマンドを読み取り、ユーザーが正しいトランザクション料金を支払ったことを確認し、操作をキューに入れます。レジストラは 10 分ごとにこれらの操作を 1 つの バッチ にバンドルします。

3. SP1 zkVM: ゼロ知識エンジン (Succinct による)

トランザクションのバッチは SP1 ゼロナレッジ仮想マシン (zkVM) に送信されます。 zkVM は、厳密なプロトコル審判として機能する特殊な Rust ゲスト プログラム を実行します。証明者はバッチ内のすべてのトランザクションをチェックします。

  • 署名は有効であり、実際のドメイン所有者によって署名されていますか?
  • リプレイ攻撃を防ぐためにナンスは厳密に増加していますか?
  • ドメインプレフィックスは正しくフォーマットされていますか?
  • BUY トランザクションは、LST トランザクションで指定された正確な価格を支払いますか?
  • 数学的なマークル証明を使用して、REG0__ は REG1__ に正しく遷移しますか?

すべてのルールが満たされる場合、zkVM は ZK-SNARK 暗号証明を生成します (Groth16 を使用)。この証明は、数学的に宣言する小さな証明書です: 「ステート ルート A から始めて、この有効なトランザクション バッチを適用した後、新しいステート ルートは B になります。」

このゲスト プログラムのコンパイルされたバージョンごとに、検証キー (vkey) と呼ばれる一意の暗号化識別子が生成されます。 REG2__ は、コンパイルされたゲスト プログラムの構造自体の 32 バイトのハッシュです。検証コードが 1 行でも変更されると、プログラムは完全に異なる REG3__ にコンパイルされます。

4. Arbitrum スマート コントラクト: アンカー

生成された ZK 証明とそのパブリック入力は、Arbitrum 上の PiNSAnchor スマート コントラクト に送信されます。契約は決済ゲートウェイとして機能します。

  • 暗号バインド: スマート コントラクト内では、REG4__ (ゲスト プログラムの予想される 32 バイトのハッシュ) がオンチェーンに保存されます。プルーフが送信されると、コントラクトはプルーフと REG5__ を Succinct SP1 Verifier Gateway に転送します。
  • キーロック検証: 検証ゲートウェイは、登録された REG6__ と 正確な ゲスト プログラムによって生成された証明のみを承認します。
  • 証明が有効で、登録された REG7__ と照合して検証された場合、契約は、世界的に受け入れられている公式の州ルートを REG8__ に更新し、履歴に保存します。
  • 単一のルールに違反した場合、または変更されたゲスト プログラムを使用してプルーフが生成された場合 (別の REG9__ が生成される)、コントラクトはトランザクションを拒否し、不正な状態遷移を防ぎます。

5. 分散インデクサー: リゾルバー

誰でも独立した インデクサー ノード を実行できます。インデクサーは、ドメイン トランザクションの PIVX ブロックチェーンをスキャンし、検証済みのルート チェックポイントの Arbitrum コントラクトをスキャンします。彼らはトランザクションをローカルに適用し、独自のマークル ツリーを計算し、ローカル ルートが Arbitrum チェックポイントと一致することを確認します。

  • これにより、すべてのインデクサーがどこで実行されているかに関係なく、常にドメインを まったく同じターゲット アドレスに解決することが保証されます (分散エンドで単一の統合された状態が維持されます)。