#dusk $DUSK @Dusk

市場にはZK対応をうたうプロジェクトが山ほどありますが、実装の実行レイヤーの詳細まで掘り下げると、ほとんどが表面的な作りで、ZKを“追加パッチ”として付け足しているだけであり、原生の基盤能力としては実装していないことが分かります。多くの人はZK証明の生成時間ばかりを比較し、合意のロジックをコントラクト呼び出しする際に発生する追加のgasコストや呼び出しレイテンシーといった、実行環境の中に隠れた“暗黙のコスト”にあまり注目しません。しかし、これらこそが、プライバシーを扱う金融アプリケーションをスケールさせて実行できるかどうかを直接左右します。

大半のパブリックチェーンでは、ZK検証を“外付け”の方式で処理しています。たとえば、プリコンパイルされたコントラクトに依存するか、重い証明計算をすべてチェーン外に投げるかです。こうした実装経路は参入障壁が低く、リリースも早い一方で、欠点が非常に際立ちます。毎回ZK検証を行うたびに、コントラクトがモジュール間のクロス呼び出しを行う必要があり、やり取りが1つ増えるごとにガス消費が1ラウンド分増えます。実測では、単回呼び出しの追加gasコストがしばしば十数万gasから始まることもあります。さらに、チェーン外のサービスが混雑すれば、証明結果の返送遅延がそのままオンチェーンの業務を止める原因になります。故障ポイントが分散し、チェーン(経路)が長くなるほど、ミスやエラーの確率も高くなります。要するに、ZKは“見栄えを良くする”付加機能に過ぎず、オンチェーンの基盤ロジックより優先度が低いのです。

Duskの仮想マシンアーキテクチャは、まったく逆の発想を採っています。暗号学的な検証能力を、実行時の基盤レイヤーへ直接“沈める”ことで、あらゆる主流のゼロ知識証明の検証ロジック、ハッシュアルゴリズム、集約署名コンポーネントなどをすべてホスト機能(コントラクトホスト)に内蔵します。コントラクト層からそのまま呼び出せるため、プリコンパイルの跨ぎやチェーン外通信を往復して消耗するオーバーヘッドを省けます。同じZK検証ロジックでも、コントラクト層のgas消費を約3割まで圧縮でき、呼び出しレイテンシーもミリ秒級にまで引き下げられます。

さらに、基盤ではEVMのメモリ体系をそのまま踏襲せず、WASMをベースにメモリ配置を再設計しています。EVMのネイティブなメモリモデルは通常のスマートコントラクト向けに最適化されており、ZK演算では高頻度の読み書きにより、不要なメモリコピーが大量に発生します。複雑な証明シナリオでは、メモリ使用量が数倍に跳ね上がることさえあります。WASMのメモリ粒度はより柔軟で、ZKが大量のループハッシュや多項式演算を行う特徴に適応できます。メモリ使用量は最大で40%まで削減でき、実行効率も明確に改善されます。

もっと重要なのは“全体の統合”です。ZK能力は孤立したコンポーネントではありません。コントラクトのインターフェースと、オンチェーンのプライバシー取引原語をつなぎ込み、証明検証、資産移転、プライバシーロジックを同一の取引チェーンの中で閉じることができます。複数のシステムをまたいで組み合わせる必要がありません。