#dusk $DUSK 前にDuskのテストネットのインセンティブで入金手順に「資金の出所の検証」が入っていて、そこで資金が弾かれました。私は半年分の住所(アドレス)取引履歴を用意するなど、当時もう準備は万端だったのに——以前Zcashで同系統のコンプライアンス証明をしたときも、スクリーンショットを送るだけで20分以上かかり、Gasは0.1枚近くのコインを燃やして、さらに自分のアドレスの保有量を丸ごと検証者に見せてしまいました。こういう要求に当たるたび、ほんとうに頭が痛くなります。結果的に、Duskウォレットで3回クリックするだけで、2分で検証が通りました。検証者には、私のアドレスに残っているテスト用コインがいくらかすら見えていません。

Duskについての私の理解は、ずっと「プライバシーのための公チェーン」というところで止まっていて、他の匿名チェーンと同じように、プライバシーのために監査可能性を諦めているのだと思い込んでいました。Phoenixの取引モデルのRustソースコードを約2時間読み込み、目が疲れてからようやく、設計の意図が本当にツボを突いていることが分かったんです。

Duskは「完全公開/完全匿名」という白黒つけたスイッチを作っていません。zk-SNARKsの証明層で、検証可能な暗号クレデンシャル(VEP)を設計し、Plookupアルゴリズムによって証明体のサイズを1KB以内に圧縮しています。他のZKプライバシーチェーンが同系統の証明を作るには少なくとも10KB以上の証明が必要で、検証も十数秒待たなければなりません。Duskのオンチェーン検証はわずか2ミリ秒。つまり「資金が正規の取引所から来たこと」を証明したいだけなら、その入金の1件に対して的を絞った証明を生成すればよく、完全なアドレス、総保有量、その他の取引履歴を公開する必要がありません。相手に入金先(受取)アドレスを教える必要すらないんです。私が生成した証明にかかったGasは0.0003DUSKで、通常の送金より安いくらいでした。検証者は、チェーン上でコントラクトを呼ぶだけで真偽を検証できるので、私がスクリーンショットをアップロードする手順も不要になりました。ブロックエクスプローラで見ると、この取引に含まれているのは証明ハッシュのみで、半分でも明文データはありません。

これまでのあらゆるプライバシーチェーンは、「プライバシーが欲しければコンプライアンスできない、コンプライアンスするならプライバシーを捨てる」という行き詰まりに止まっていました。Duskのこの設計は、プライバシーの主導権を完全にユーザーへ返します。取引を隠したいなら、チェーン上では明文が一切見つからない。コンプライアンス証明を行う必要があるなら、相手に見せるのは最小限の必要情報だけで、余計なプライバシーは一切漏らす必要がありません。

みなさんは、オンチェーン認証のために仕方なく全保有量を露出してしまうような、気まずい経験をしたことはありますか?@Dusk