#dusk $DUSK @Dusk
Phoenixは、アカウント台帳ではなく、ノートのメルクルツリーの中にダブルスペンドの証明を保持します。見える残高はありませんが、それでも同じ出力を2回使うことは誰にもできません。実際にそれがどう成立しているのかを見てみたかったのです。

Phoenixは、@Dusk の各単位を「note(ノート)」と呼ばれるUTXOとして扱います。各ノートはメルクルツリー内のハッシュとして存在します。ノートを支払っても、それは消えません。メルクルツリーの仕組み上、それはありません。代わりに、支払いは「nullifier(無効化子)」を生成します。これは、ノートの秘密鍵から導かれる値で、使われると公開されます。ネットワークはnullifierがどのノート由来かは知りません。ただ、それが無効になったことだけを認識します。同じノートを再利用しようとすると、重複したnullifierが即座にそれを暴きます。

この設計のおかげで、Phoenixは秘匿されたままでも強制可能になります。規制された金融は曖昧な決済を許容できません。nullifierは、送信者・受信者・金額を公開することなく、決定的な最終性を与えます。さらにビューキーにより、所有者はノートに何が含まれていたかを選択的に証明できます。監査可能性が完全に失われることはなく、鍵保有者側にその責務が委ねられる形になります。

ドキュメントからは完全には解決できなかった点として、nullifierセットの成長が長期的にどう管理されるのか、また、テスト環境ではなく継続的な機関レベルの取引量の下で、ノートツリーがスケールしたときの証明コスト(オーバーヘッド)がどれくらいになるのか、という疑問があります。

本当に気になっています。現実の決済負荷(実運用)でのPhoenixの証明生成スループットについて、テストネットではない数値を見たことがある方はいますか?

$DUSK #dusk