ゼロ知識証明とは

ゼロ知識証明(Zero Knowledge Proof / ZKP)は、ある情報を「知っている」ことを、その情報自体を明かすことなく証明できる暗号技術です。1985年にGoldwasser、Micali、Rackoffの3名によって提唱されました。ブロックチェーンではスケーラビリティとプライバシーの両面で革命的な技術として注目されています。

わかりやすい例え

有名な例え話「アリババの洞窟」で説明できます。洞窟の中に秘密のドアがあり、あなたはその鍵を持っています。友人にドアの鍵を見せることなく、「鍵を持っている」ことを証明したい場合、友人に「右から入って左から出てきて」と指示してもらい、それを繰り返し成功させることで、鍵を持っていることを高い確率で証明できます。

ZKPの種類

主要なZKP方式として、zk-SNARK(Succinct Non-interactive Argument of Knowledge)とzk-STARK(Scalable Transparent Argument of Knowledge)があります。zk-SNARKは証明サイズが小さい一方で信頼セットアップが必要です。zk-STARKは信頼セットアップ不要で量子コンピュータ耐性がありますが、証明サイズがやや大きくなります。

スケーラビリティへの応用

zkRollup(Scroll、zkSync、StarkNet、Polygon zkEVM等)はZKPの最も重要な応用例です。数千件のトランザクションをオフチェーンで実行し、その正当性をZKPで圧縮して証明します。この証明をイーサリアムに提出することで、低コストかつ高セキュリティなスケーリングを実現しています。

プライバシーへの応用

ZKPはプライバシー保護にも活用されています。Zcash(zk-SNARKを使用した匿名送金)、Tornado Cash(取引の匿名化)、Worldcoin(個人情報を明かさない本人証明)などが代表例です。KYCにおいても「18歳以上であること」を年齢自体を明かさずに証明するなど、様々な応用が研究されています。

関連記事