#dusk
「ゼロ知識証明」をおそらく8回くらい、異なる投稿で書いてきたのに、一度も実際に何を計算しているのか説明していなかったんだと気づいた。
その場しのぎのように用語を指差すだけでなく、それを支える本当の暗号プリミティブを探してみた。
すると、すべてを1つの数式でやっているわけではない。4つあって、それぞれ別の役割を担っている。
署名と証明システムの土台になっているのは、楕円曲線のBLS12-381。
これはペアリングに適した性質を持っていて、署名の集約や、計算があまりに重くならない形での簡潔な証明の構築を実現可能にしている。
JubJubは別の曲線で、特にSNARK回路の内部で効率よく動くよう最適化されている。フェニックスのシールド付きノートのプライバシーは、まさにこの仕組みで証明される。
Poseidonは、それらの回路の中で重い処理を担うハッシュ関数。
SHA-256のような通常のハッシュ関数でも使えるが、ゼロ知識証明の中で計算するには高コストだ。
Poseidonはその文脈で安く済むように作られているので、なじみのある別の何かよりも、コミットメントやメルクルツリーのハッシュの場面で登場する。
PLONKは、これらを実際に「証明可能な主張」に変換する部分。
つまり証明システムで、開発者が一度だけ回路を定義し、元の計算をやり直さずにオンチェーンで検証される証明を生成できるようにするもの。
これらを組み合わせるという点で印象に残ったのは、どれもDusk固有の発明ではないということ。
それらは確立された暗号の部品であり、特定の仕事のために選ばれて組み立てられた。
本当のエンジニアリング上の判断は、新しい数学をゼロから発明することではなく、適切な組み合わせを選ぶことだった。
$DUSK
つまり、@Dusk 。
新しい暗号方式ではなく、確立されていて長く研究されてきたプリミティブを使うことは、プライバシーチェーンをより信頼できるものにするのか? それとも、4つの異なるシステムを積み重ねることで、継ぎ目(接合部)に新たな失敗ポイントを生むだけなのか?
そして平均的な人が、これらの名前のどれか一つを知る必要がそもそもあるのか? それともこれはずっと舞台裏にあって、監査担当者や研究者にだけ関係するのだろうか?
「ゼロ知識証明」をおそらく8回くらい、異なる投稿で書いてきたのに、一度も実際に何を計算しているのか説明していなかったんだと気づいた。
その場しのぎのように用語を指差すだけでなく、それを支える本当の暗号プリミティブを探してみた。
すると、すべてを1つの数式でやっているわけではない。4つあって、それぞれ別の役割を担っている。
署名と証明システムの土台になっているのは、楕円曲線のBLS12-381。
これはペアリングに適した性質を持っていて、署名の集約や、計算があまりに重くならない形での簡潔な証明の構築を実現可能にしている。
JubJubは別の曲線で、特にSNARK回路の内部で効率よく動くよう最適化されている。フェニックスのシールド付きノートのプライバシーは、まさにこの仕組みで証明される。
Poseidonは、それらの回路の中で重い処理を担うハッシュ関数。
SHA-256のような通常のハッシュ関数でも使えるが、ゼロ知識証明の中で計算するには高コストだ。
Poseidonはその文脈で安く済むように作られているので、なじみのある別の何かよりも、コミットメントやメルクルツリーのハッシュの場面で登場する。
PLONKは、これらを実際に「証明可能な主張」に変換する部分。
つまり証明システムで、開発者が一度だけ回路を定義し、元の計算をやり直さずにオンチェーンで検証される証明を生成できるようにするもの。
これらを組み合わせるという点で印象に残ったのは、どれもDusk固有の発明ではないということ。
それらは確立された暗号の部品であり、特定の仕事のために選ばれて組み立てられた。
本当のエンジニアリング上の判断は、新しい数学をゼロから発明することではなく、適切な組み合わせを選ぶことだった。
$DUSK
つまり、@Dusk 。
新しい暗号方式ではなく、確立されていて長く研究されてきたプリミティブを使うことは、プライバシーチェーンをより信頼できるものにするのか? それとも、4つの異なるシステムを積み重ねることで、継ぎ目(接合部)に新たな失敗ポイントを生むだけなのか?
そして平均的な人が、これらの名前のどれか一つを知る必要がそもそもあるのか? それともこれはずっと舞台裏にあって、監査担当者や研究者にだけ関係するのだろうか?
