昨晩、私はDuskのドキュメントを読んで「『選択的開示』が実運用で具体的にどうトリガーされるのか」を理解しようとしました。ドキュメントはかなり分かりやすく書いてあります。つまり「デフォルトはプライバシー」「必要に応じて開示」「規制当局は証明を持った上で照会可能」。でも、権限管理の章まで辿り着いたところで手が止まりました。全文にはただ「認可者が閲覧用の秘密鍵を保有する」と書かれているだけで、肝心の「この認可は取り消せるのか」「有効期限はあるのか」「誰がどのように認可行為を記録するのか」といった点が書かれていないのです。

そこで私はすぐにテストネットで試しました。まず、ある身元を作成し、閲覧権限を模擬監査者に対して認可しました。手順は通ります——認可鍵を生成し、取引を送信し、相手が検証します。合計4ステップで、所要は2分ほどでした。ですが、戻って認可記録を見ると、そこには何もありません。認可を取り消すためのドキュメントもなく、テストネットのコンソールにも該当する入口が見当たりません。「オンはあるがオフがない」スイッチが、コンプライアンスの場面で危険なのは言うまでもありません。監査権限が一度付与され、取り消せないのなら、「必要に応じた開示」は「一度の認可で永久に可視化」となってしまいます。

次に、GitHubで認可モジュールのコントラクトコードを確認しました。「revoke」や「expire」を検索してみましたが、検索結果は空でした。私が見つけるべきリポジトリのブランチを間違えた可能性もありますし、これらの機能がまだ計画段階で実装されていないのかもしれません。とはいえ、ユーザーとして私は、手元の現行ドキュメントと現行コードから判断するしかありません。

その後、私はあることに気づきました。これはDusk固有の問題ではなく、「プログラマブル・プライバシー」という取り組み全体に共通する学びなのだと。権限の付与は暗号学で成り立ちますが、権限の取り消しはガバナンス(運用・制度設計)です。付与は数学でできますが、取り消しはプロセスでしかできません。そして現状、そのプロセスはドキュメントに書かれていません。

だから私のテストネットのウォレットには数百DUSKが増えましたが、メインネットの資産は当面動かしません。公式が、認可管理(取り消し・有効期限・監査ログ)をドキュメントとコードに書き加えてくれるまで、私は本当のお金を投入しないつもりです。それまでは認めざるを得ません——「選択的開示」は良い設計だと思います。でも、設計が「点灯」ボタンだけで「消灯」ボタンがないのは困ります。

@Dusk_Foundation $DUSK #dusk