週末、下のカフェでエアコンに当たりながらDuskのテストネットに便乗テスト。連続してパスワードを3回間違えてしまい、30分ほどもてあました末にようやく21件目の取引を通しました。しばらくRusk仮想マシンの実行ログを見つめたまま動けなかった——以前遊んだいくつかの古いプライバシーチェーンは、ブロックが半日出ないか、匿名でやり切ってもコンプライアンス側のルート検査(監査)権限を開けないか、どちらかでした。もともと「いわゆるプライバシー・チェーン」に対しては期待していなかったのに、自分で実際に踏んでみて初めてわかった。これは本当に“ただの仮面を被せて概念を売っているだけ”ではない。

最初、私はSBAコンセンサスが換骨奪胎PoSだと思って、ノード規則を読み込み、自分で1万回も二重支払シミュレーションを回してようやく理解しました。SBA(Segregated Byzantine Agreement、分離されたバイザンチン合意)はノードを2層に分けます。1つはブロック生成委員会が取引をまとめてパッケージ化する層、もう1つは抽選で検証する監査者がランダムに監査する層です。ランダム抽選の種はVDF(検証可能な遅延関数)で生成され、誰も次に誰が監査されるかを事前に予測できません。テストネットのブラウザには、無効なブロックを提出したために3つのノードが保証金を没収されたという表示が出ていて、そのうち2つはソフト罰でした——いくつかのブロックを落としてしまい、いったんコンセンサスの待機列から外され、有効なステーキング額が一部削られます。もう1つはハード罰で、ダブルサインが捕捉され、ステークトークンは直接20%が差し引かれて焼却されました。こうした懲罰メカニズムは悪事のコストを非常に高くし、試行錯誤の代償も極めて大きくなります。

取引テストでは手が滑って0を1つ多く打ってしまい、金額がRange Proofの範囲を即座に超過。取引は瞬時に投げ返され、チェーン上にも“無駄な取引の痕跡”すら残りません。PhoenixプロトコルのRange Proofは金額範囲を厳密にロックし、Pedersenコミットメントで各取引の資産総量を固定するため、見かけ上の無からの発行は起こり得ません。さらに、各取引で毎回自動的に新しいStealth Addressへ切り替わるため、私はテスト币を5回連続で送っても、チェーン上ではこれらを同一口座に紐づけることができません。再帰的な集約によるPLONK証明は287バイトに圧縮され、1件あたりの検証はわずか1.8ミリ秒。走らせてみても非常にスムーズで、テストネットのピーク時でも混雑に遭いませんでした。

Rusk仮想マシンは全てRustでゼロから書かれており、機密資産の標準をネイティブにサポートしています。私はテストTokenをデプロイするのに200行ほどのプライバシーコードを書くだけで済み、コントラクトのGasもEVMにZKレイヤを載せる場合より63%低い。さらに、コンプライアンス側に監査権限の入口も用意されていて、プライバシーとコンプライアンスは二者択一ではなく、同時に両立できます。テストネットを走らせたあの夜は、これまでどのプロジェクトにも出資していた時よりもずっと安心できました。
#dusk $DUSK @Dusk