AI×暗号技術の衝撃!OpenVMのZkVMにAIは何を見出したのか?
AI Meets Cryptography 2: What AI Found in OpenVM's ZkVM
AI Meets Cryptography 2: What AI Found in OpenVM's ZkVM
AIと暗号技術の融合が再び進化を遂げました。今回は、注目を集める「OpenVM」のZkVMに対して、AIがどのような分析結果を導き出したのか、その深層を探ります。ゼロ知識証明とAIの掛け合わせがもたらす新たな可能性について、技術的な視点から紐解いていきましょう。
もし誰かがこれらをうまくエクスプロイトしたらどうなるんだ?L2エコシステムの大半、あるいはそれら同士を連携させる魔法のようなコンポーネントをすべてハードリセットする必要が出てくるってことか?
要約するとこうだ。署名が確かにそのハッシュに署名していることは検証するが、署名されたデータがそのハッシュに一致するかどうかまでは検証しない署名検証ライブラリを想像してみてくれ。やらかしたな。
これについて誰もコメントしてないのは、文脈なしだと数学が濃すぎるからだろうな。運良く俺は昨日、非対話型ゼロ知識証明の仕組みを1〜2時間かけて学んでいたところだ。
SNARK(や楕円曲線上の多項式に基づく他のコミットメントスキーム、用語が合ってればいいけど)では、コミットメントを検証する際(余計な技術詳細:誰にも秘密の点でのEC上の多項式。コミッター自身も知らないから、最大限一致する多項式を作る必要がある。そして最大限一致する多項式は、全点で一致する)、回路とコミットメントから計算した2つの要素(単なるいくつかの群要素)を掛け合わせて、結果が1になるかを確認する。この暗号化下での乗算と比較は、「ペアリング」と呼ばれる準同型暗号のような仕組みで行われる(通常、楕円曲線暗号では、値を知らない秘密の群要素に対しては加算しかできない)。
彼らはこの処理を実装する特定のライブラリに対して、「信じてくれ、このペアリングは大丈夫だ」と言い含める方法を見つけたんだ。しかも、さっきの技術的な詳細には一切依存せずにだ。「お探しのドロイドはこれじゃない」的なノリでな。ペアリング検証に必要な事前計算値が、この特定の状況と実際に一致しているかを検証しておらず、常に1を返してしまう(でも状況下では無効な)自明なパラメータが存在していたってわけだ。
暗号学2だって?こっちはまだサイドチャネルなしで暗号学1を実装しようと四苦八苦してるっていうのに、向こうは新しいやつを発明したのか?