#dusk $DUSK @Dusk 午後の一部を使って、Duskがプライベート取引証明の内部で使っている実際のカーブを眺めてみたのですが、最初に考えていた以上に、その選択が重要だと分かりました。
プライベート送金では、金額や関係者を見せずに、それが有効であることを証明する必要があります。その証明はPLONKで構築されているため、プライベート経路上で起きる各署名、主要なステップ、暗号化がすべて、回路が検証できる算術制約にきれいに収まらなければなりません。ほとんどの一般的なカーブは、この条件を強制すると高くついたり、扱いが面倒になったりします。
選ばれたのがJubJubです。これはねじれた楕円エドワーズ曲線で、その基礎体がBLS12-381のスカラー体にちょうど一致します。つまり、外側の曲線で使っているのと同じ体の演算を、内側の楕円曲線の作業にもそのまま使えるということです。
リポジトリを確認したところ、実務上の結果は明確でした。Poseidonを使ったSchnorr署名は、そのままJubJub上で動きます。ElGamal暗号化も同じ曲線上にあるため、暗号文を回路の中で扱えます。曲線自体は、後付けで取り付けた部品ではなく、きちんとしたライブラリとして扱われています。
プライベート経路では、証明システムの横に別の暗号レイヤーを追加する必要がありません。同じ対象が両方の役割を担います。そのレイヤーが破綻すれば、機密性に関する主張もそれとともに崩れます。
人々が実際にプライベート経路を使うかどうかは別の話です。重要なのは、どの主張であれ意味あるものにするために、その曲線が確かでなければならないという点です。
プライベート送金では、金額や関係者を見せずに、それが有効であることを証明する必要があります。その証明はPLONKで構築されているため、プライベート経路上で起きる各署名、主要なステップ、暗号化がすべて、回路が検証できる算術制約にきれいに収まらなければなりません。ほとんどの一般的なカーブは、この条件を強制すると高くついたり、扱いが面倒になったりします。
選ばれたのがJubJubです。これはねじれた楕円エドワーズ曲線で、その基礎体がBLS12-381のスカラー体にちょうど一致します。つまり、外側の曲線で使っているのと同じ体の演算を、内側の楕円曲線の作業にもそのまま使えるということです。
リポジトリを確認したところ、実務上の結果は明確でした。Poseidonを使ったSchnorr署名は、そのままJubJub上で動きます。ElGamal暗号化も同じ曲線上にあるため、暗号文を回路の中で扱えます。曲線自体は、後付けで取り付けた部品ではなく、きちんとしたライブラリとして扱われています。
プライベート経路では、証明システムの横に別の暗号レイヤーを追加する必要がありません。同じ対象が両方の役割を担います。そのレイヤーが破綻すれば、機密性に関する主張もそれとともに崩れます。
人々が実際にプライベート経路を使うかどうかは別の話です。重要なのは、どの主張であれ意味あるものにするために、その曲線が確かでなければならないという点です。
