@Dusk の暗号スタックを見れば見るほど、その下にあるプリミティブがより面白くなっていきます。

‎最初は、Dusk のプライバシーは主にゼロ知識証明(zero knowledge proofs)によるものだと思っていました。

‎しかし、その実際に下に何があるのかを見てみたのです。

‎BLS12-381 は、現代の証明システムで使われるペアリング対応の楕円曲線です。Dusk では、ゼロ知識スタックやシグネチャスタックの一部として登場します。

‎次に JubJub。SNARK に親和的な設定で効率的な楕円曲線で、プライバシー保護を目的とした設計でよく使われます。

‎認証と完全性のために Schnorr 署名が用いられ、プロトコル上のアクションをサイン/検証するための基盤が Dusk に備わっています。

‎そして Poseidon も、私の注意を引いた別の要素です。

‎これはゼロ知識回路の中で効率的に動作するよう設計されており、コミットメントや Merkle ツリーのハッシュに使うことができます。

‎さらに Dusk には dusk-merkle があります。これはスパース Merkle ツリーの実装で、大規模データセットに対して効率的なメンバーシップ証明を可能にします。

‎そして PLONK。

‎PLONK は、ゼロ知識証明を構築するための証明システムです。開発者は再利用可能な回路を定義し、オンチェーンで検証できる簡潔な証明を生成できます。

‎つまり、「Dusk は ZK を使っている」だけの話ではありません。

‎楕円曲線、署名、ハッシング、Merkle ツリー、そして証明システムが、それぞれスタックの異なる部品として機能し合っています。

‎その見方が、より面白いところだと思います。

‎プライバシー機能そのものだけでなく、そのプライバシーを実際に可能にしている“下側の仕組み”が何なのか。

#DUSK #dusk @Dusk $DUSK