以前我看到 @Dusk は、Moonlight と Phoenix を同時に扱っていて、「普通の送金」と「プライバシー送金」でそれぞれ機能が重複しているだけなのでは、と感じていました。ところが、取引モデルのドキュメントと取引所の接続手順を一緒に読むと、二つのモデルが“ただの見せ技”ではなく、同じ決済レイヤーの中で主に次のことを能動的に認めていることが分かります。つまり、公開されるべき資金の流れもあれば、すべての人に金額や関係性を晒すべきではない流れもある、ということです。

Moonlight は公開アカウントモデルで、残高・送信者・受信者・金額がすべて見えます。取引所の入金(チャージ)、国庫(トレジャリー)、そして公開の照合が必要なシーンで扱いやすいです。一方 Phoenix は、資金を暗号化された note に入れ、ゼロ知識証明でダブルスペンドがなく資金が足りていることを確認しつつ、傍観者には具体的な金額や対応する note を公開しません。監査が必要なときは、viewing key によって選択的に開示します。

ここでの最大の誤解は、「プライバシーがあるから、ブラウザでは何も見えない」というものです。公式のブラウザでもブロック、取引タイプ、手数料、gas などの公開メタデータは依然として見えます。どこまで見えるかは、取引モデルやコントラクトによって変わります。逆に、取引所が Phoenix を Moonlight のようにそのままスキャン/回収できるわけでもありません。公式の統合ドキュメントでは、入金(チャージ)は Moonlight を使うよう明確に推奨されています。プライバシー残高は、先に公開アカウントへ転送してからでないといけません。保管(トラッキング)やスキャンのロジックは完全に別物です。

したがって $DUSK の難しさは、「プライバシーを証明できるか」ではなく、ユーザーが公開とプライバシーの間で切り替えるときに、間違った経路を辿らないようにすることです。#dusk が本当に規制下の資金フローに入るなら、デフォルトはプライバシーで、必要なときに開示でき、かつ予測可能な托管(トラッキング/保管)も同時に成立していなければなりません。皆さんがより懸念しているのは、全透明によるポジションの漏えいですか?それとも、二つのモデルによってプロダクトの複雑さを上げすぎてしまう点ですか?