Polygon Zeroを支える Plonky2の概要

はじめに

今回はzkEVMの開発を目指しているPolygon Zeroを支えるスケーリング技術「Plonky2」について概要を整理していきたいと思います。

 

先日、Polygonの共同創業者であるMihailo Bjelicが2022年12月8日のツイートで「Polygonはzkの分野で多様なソリューションを開発しているが、その多角的アプローチが相互に作用し合い、目的を最短で達成できそうだ」と述べていましたが、Plonky2も様々はソリューションのいいとこ取りになっており、Polygonの戦略構築の上手さが反映されていると感じます。

 

Plonky2はゼロ知識証明書(ZKP)の生成に再帰的証明を活用した技術で、証明書の生成スピード向上と検証コストの削減を同時に達成するものです。zk-STARKの高速な証明と事前の証明ルール設定が不要(SNARKは証明者と検証者の間で証明ルールの事前設定が必要)であるという長所と、zk-SNARKの再帰的証明をサポートしEthereum上での検証コストが低いという長所を併せ持っています。

 

https://polygon.technology/blog/plonky2-a-deep-dive

Plonky2の根幹となる再帰的証明

再帰的証明とは複数の証明をまとめて、そこから更に証明を生成するという証明圧縮の技術です。例えば1,000件のトランザクションの有効性を証明したい場合、1,000件の取引を一度に検証するための1つの証明を生成することは、かなりのコストと時間を有します。

その代わりに、

・1,000台のマシンを使って、各取引について1,000個の証明を並列に生成

・そこから2つずつの証明をひとまとまりとして1つの再帰的証明を生成

というプロセスを1,000件のトランザクションを全て検証する1つの証明書が生成されるまで繰り返すことで証明生成スピードの向上を図っています。このようなプロセスを再帰(Recursion)と表現しています。(トーナメント表のような構造が1,000個の証明が1つの証明に帰結するまで繋がっているイメージ)

 

L1にコミットする際には1つの証明書を検証するだけで良いので、検証コストも大幅に削減することが可能です。

 

※Polygon Zero(Plonky2)のプロセスイメージ

https://polygon.technology/blog/introducing-plonky2/

証明の生成スピード

2019年にMir(現Polygon Zero)をスタートした時、1つの再帰的証明の生成に高スペックのPCを利用しても120秒がかかっていたようです。2020年には60秒まで短縮することができ、その後もスピードは向上していきましたが、Ethreum互換性はまだありませんでした。

 

2021年、開発チームはEthereum上で1秒以下の再帰的証明を実現するという目標を掲げ、zk-STARKとzk-SNARKの機能を上手く融合させた結果、Plonky2の再帰的証明はMacbookProで170ミリ秒という従来の約100倍の驚異的なスピードを達成しています。

 

証明書サイズ

Plonky2の証明プロセスの高速化にはzk-STARKが大きく寄与していますが、zk-STARK

のアプローチには以下のようなトレードオフが存在しています。

・高速な証明が可能だが、データサイズが大きい(イーサリアムでの検証コストが高くなる)

・データサイズを小さく出来るが、証明が低速

これに対してPlonky2は証明の速さが重要なのか、データサイズが重要なのかに応じて柔軟に証明プロセスのパラメータを最適化することでトレードオフの解消を図っています。これによってzk-STARKを利用している他のソリューション(StarkWare社のStarkNet等)と比較をして、大きなコスト削減を達成しています。

 

おわりに

今回はPolygon Zeroが活用しているPlonky2について、概要をまとめました。Plonky2はまだテストネットでの利用のみに留まっていますが、ブロックチェーンの世界を更に前進させるゼロ知識証明技術の一つとして、動向をウォッチしていきたいと思います。