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上での検証コストが低いという長所を併せ持っています。
Plonky2の根幹となる再帰的証明
再帰的証明とは複数の証明をまとめて、そこから更に証明を生成するという証明圧縮の技術です。例えば1,000件のトランザクションの有効性を証明したい場合、1,000件の取引を一度に検証するための1つの証明を生成することは、かなりのコストと時間を有します。
その代わりに、
・1,000台のマシンを使って、各取引について1,000個の証明を並列に生成
・そこから2つずつの証明をひとまとまりとして1つの再帰的証明を生成
というプロセスを1,000件のトランザクションを全て検証する1つの証明書が生成されるまで繰り返すことで証明生成スピードの向上を図っています。このようなプロセスを再帰(Recursion)と表現しています。(トーナメント表のような構造が1,000個の証明が1つの証明に帰結するまで繋がっているイメージ)
L1にコミットする際には1つの証明書を検証するだけで良いので、検証コストも大幅に削減することが可能です。
※Polygon Zero(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はまだテストネットでの利用のみに留まっていますが、ブロックチェーンの世界を更に前進させるゼロ知識証明技術の一つとして、動向をウォッチしていきたいと思います。
zkEVMって結局何なの?
はじめに
ブロックチェーンをスケールさせる技術のzkRollupについては、様々な企業が凌ぎを削って開発を進めておりますが、EthereumでzkRollupを実現するには課題が残されています。それはEthereumがトランザクションを実行する環境であるEVM(Ethereum Virtual Machine)に互換性を持ったzkRollup(= zkEVM)が未だ実現していないことです。今回はzkEVMがなぜ必要なのかを基礎知識から説明していきたいと思います。
EVM(Ethereum Virtual Machine)の概要
zkEVMの話をする前にその前提となるEVMとは何かを説明していきます。EVMとはEthereumネットワークを構築する何千台ものコンピュータによって構成された一つの大きな環境を指しています。どんな種類のブロックチェーンでも、どの取引が有効かを判断し、正しい情報が格納されたブロックを繋いでいくための一定のルールが必要で、EVMはそのルールに則りネットワークに参加するコンピュータからの入力を集約し、取引やスマートコントラクトの実行が正しく行われるようにしています。
しかし、近年のトランザクションの増加を原因としたガス代の高騰や処理速度の低下に見られるように、EVMが世界中のユーザに円滑に使われるようになるにはまだ課題が残っています。それらの問題を解決するべく登場したのが、EVMと互換性を持ったzkRollupであるzkEVMになります。
zkEVMの概要
暗号学の一種であるゼロ知識証明を活用してEthereumをスケールさせる一般的なアプローチはzkRollupを構築することです。zkRollupは大量のトランザクションを「ロールアップ」し、ゼロ知識証明を使ってEthereumにコミットをするレイヤー2のプロトコルです。
ロールアップ(Rollup)とはメインのブロックチェーンのセキュリティを活用しながら、トランザクションの一部をオフチェーンにて処理することでネットワークの混雑解消を図るソリューションとして機能しており、トランザクション自体はL2で実行されますが、その正当性の検証やデータ保存はL1で行われます。
ロールアップには「まとめて束ねる」といった意味がありますが、オフチェーンで処理したデータをひとまとめにしてメインのL1チェーンに提出する仕組みをさしています。
◆ロールアップ(Rollup)の流れ
①ユーザがL2でトランザクションを実行
②トランザクションデータを抽出・圧縮
③複数のトランザクションデータをひとまとめにしてL1へ提出
④L1のスマートコントラクトで③が正しいかを検証
⑤正しければL1のオンチェーンに保存
L1はL2から提出されるひとまとまりのデータを検証・保存するだけなので、個々のトランザクションについて検証する必要がなく、負荷の軽減を図ることが可能になります。これらがロールアップ(Rollup)の大まかな内容となります。
そして、zkRollupはロールアップの技術にゼロ知識証明の技術を組み合わせた方法となっており、ゼロ知識証明は「トランザクションの中身を確認せずとも、それが正当であることを確率的に証明することが出来る」ため、L1に提出されたトランザクションの検証負荷を大幅に削減することが可能です。
zkEVMの実現に向けた課題
上述のようにzkRollupはEthereumをスケールさせるソリューションとして大きな効力を持っていますが、まだその実現には課題が残されています。それはzkRollupの技術とEVMの間に互換性がないことです。
EVMはEthereumを構築する一つの大きなネットワークと先ほど述べましたが、その上には様々なプロダクトが稼働しています。zkRollupを活用する為に、もし下手にEVMへ変更を加えた場合、最悪アプリケーションが利用できなくなる可能性があり、開発者としてはなるべく既存のEVM環境を維持したままzkRollupを利用したいと考えています。つまり、EVMの既存環境を維持したままzkRollupを利用可能な状態がzkEVMの目指している世界です。
おわりに
今回はzkEVMについて概要をざっと整理いたしました。Polygonに関してはPolygon ZeroというソリューションでzkEVMの実現を目指していますが、まさにこれからのブロックチェーンインフラを担う技術として今後も動向を注視していきたいと思います。
ゼロ知識証明って結局何なの?
はじめに
今回はゼロ知識証明の概略について、まとめていきたいと思います。この技術はブロックチェーン領域での活用もかなり期待されており、特にEthereumのセキュリティやスケーラビリティをより向上させるL2ソリューションであるzkEVMの実装に向けて各社開発に凌ぎを削っている状況です。
ただ実際問題、ゼロ知識証明の世界はかなり難解で、私も理解に大変苦心をしている状況です。そこで今回はゼロ知識証明とは何かの理解を促進するために私がこれまで参考にしてきたコンテンツなども活用しながら整理していきたいと思います。ゼロ知識証明やzkRollupをこれから学んでいく際の入り口的な立ち位置になれればと思います。
なぜゼロ知識証明が必要なのか
ブロックチェーンのオープンな特性は、ガバナンスの透明化など多くの利点を提供してきましたが、個人資産が外部から閲覧可能であることのリスクや、企業のプライベート性の高いデータの取扱いなど、まだまだ課題が残されています。今後はその透明性と秘匿性がユースケースごとに上手く使い分けされていくことが予想されますが、その中でゼロ知識証明が秘匿性を向上させる技術として活用されていく可能性が高いです。
ゼロ知識証明は、Shafi GoldwasserとSilvio Micaliによる1985年のMIT論文「The Knowledge Complexity of Interactive Proof-Systems」にて初めて説明された理論になります。この論文で著者らは、証明者がデータに関する追加情報を開示することなく、それが真であると検証者に説明することが可能であることを実証しています。
ブロックチェーン技術におけるゼロ知識証明にはzk-SNARKS、zk-STARKS、Plonkyなど様々な実装があり、それぞれ証明サイズ、証明者時間、検証時間に特徴があります。
PolygonがzkEVMの実装を目指して開発を進めているPolygon ZeroはPlonky2を活用したzkRollupとなっており、Plonky2が持つ再起的証明の特性を活かしてトランザクション処理の高速化を実現しています。
ゼロ知識証明の基本特性
ゼロ知識証明の主な特性は以下の3点です。
1. 完全性
命題が真であれば、検証者は証明者が正確な知識を持っていることを確信できる
2. 健全性
命題が偽であれば、不正な証明者は検証者に正確な知識を持っていることを一方的に納得させることができない
3. ゼロ知識性
命題が真であれば、検証者はそれが真であること以外、証明者から知識を取得することができない
ゼロ知識証明の作成では検証者が証明者に一連の動作を依頼します。その動作は証明者が正しい情報を持っている場合にのみ、実行することが可能となり、もし証明者が検証者の求める動作の結果を推測して回答するだけであれば、最終的には検証者のテストによって高確率で間違っていることが証明されることになります。ここからはその具体例として洞窟問題を用いて説明していきます。
概念を理解するための例「洞窟問題」
Jean-Jacques Quisquaterらの論文「我が子にゼロ知識証明をどう教えるか」で紹介されているのが、この洞窟問題になります。データを他者に開示することなく、データに関する知識を証明することを説明する概念的な例になります。
前提となる情報と証明の流れは以下の通りです。
◆基本情報
男性:検証者
女性:証明者
前提:
・男性(検証者)は女性(証明者)がAとBのどちらの道から入ったかを知らない
・女性(証明者)は洞窟の先にある扉を開けるパスワードを知っている
→つまり、女性はAとBのどちらの道からも外に出られる
証明したいこと:
女性(証明者)はパスワードを知っていることを男性(検証者)に証明したいが、パスワードの内容は知られたくない
さて、女性はパスワードの中身を男性に知らせずにどう自分がパスワード知っていることを証明するのかというのがこの洞窟問題のテーマになっています。
ここでゼロ知識証明の考え方を活用することになります。
◆検証の流れ:
・男性は女性がどの道から洞窟に入ったのかわからない洞窟の外に立つ
・女性はAとBの道のどちらかをランダムに選んで、その道を歩く
・男性は女性にAとBの二つの道のうちどちらかを使って洞窟の入り口に戻るように依頼する
→ここで女性が元々Aの道を選んでいて、男性からBの道から戻るように依頼された場合、それを実現する唯一の方法はパスワードを知っていることになります。
この一連のプロセスを何度も繰り返すことで、女性がパスワードの知識を持っていて、たまたま推測で選んだ帰り道が当たっていたわけではないことが確率的に証明されます。
なお、例えばこのプロセスを20回繰り返した場合、全てに応えられる可能性は約0.000001%というかなり低い確率になるということです。
概念的な話になりますが、以上がゼロ知識証明の考え方になっています。
おわりに
今回は難解なゼロ知識証明をイメージしやすくするために、私がこれまで参考にした情報を噛み砕いてまとめてみました。これが概念から実践的な内容になってくると数式も沢山登場してくるので、一朝一夕に本質的な理解に辿り着くことは難しいかもしれませんが、ゼロ知識証明を今後学んでいくための概念理解の一助になれたら幸いです。
参考:https://blog.chain.link/what-is-a-zero-knowledge-proof-zkp/
ゼロ知識証明を活用したL2ソリューション
ZK Seasonの到来?
L2スケーリングソリューションとして開発されているRollup技術ですが、その中でも特に待望されているzkRollupはEthereumを支えるインフラ技術として新たな風を業界に起こしてくれるかもしれません。
この大きなチャンスを生かす方法と、Ethereum互換性を持つzkRollupであるzkEVMに注目すべき理由をまとめていきます。
概要
もしDefi周りに触れたことがある方であれば、OptimismやAirbitrumについては聞いたことがあるかもしれません。これらはEthereumのL2ソリューションとしてOptimistic Rollupを提供しており、Etheruemのセキュリティを担保しつつ、スケーラビリティを拡張する役割を担っています。
zkEVMも同様のミッションをゴールとしていますが、既存のOptimistic Rollupの課題としてはProofの検証に一定の時間を要してしまうことが挙げられ、資金の引き出しに時間がかかってしまうことから資本効率性の観点で弱点を持っています。それに対してzkEVMが持つセキュリティと検証の即時性は市場から大きく期待されています。
Ethereum創始者のVitalik Buterinも「zkRollupはEthereumの未来になる」とコメントするほどです。
なお、現状のzkRollupはEthereum互換性を持たないため、各社が凌ぎを削って開発しているのはzkEVMと呼ばれるEthereum互換性を持ったソリューションとなります。これは簡単にいうと、開発者がEthereumと同じ方法でアプリケーションを構築できるようにするものです。
zkEVMの開発状況
完全なEthereum互換性を持ったzkEVMはその開発の難しさから市場への普及はこれからという状況ですが、各社ローンチまで一歩手前のところまで来ています。
また現状、各L2ソリューションのTVLは下記図のようになっており、まだOptimistic-Rollupが全盛の状況となっていますが、一度zkEVMがローンチされれば大部分のTVLシェアを奪っていくことが予想されます。
Airdropへの期待
開発企業として抜きん出ているのは以下4つです。
・Polygon
・Scroll @Scroll_ZKP
・zkSync @zksync
・StarkNet
その中で、ScrollとzkSyncはまだトークンを発行していません。
テストネット段階で触っておくとメインネット公開後にAirdropも期待できるかと思いますので、情報をキャッチアップしておくのは有効かもしれません。 •
また、StarkNetに関しても8%のトークンが市場分配されていないため、こちらもAirdropは期待できるものと思われます。
Polygonについては、既にL2チェーンとして確固たる地位を確立しておりますが、zkEVM開発の分野でもかなり期待がされており、Plonky2を活用したPolygon Zeroがその代表的なソリューションです。zkEVMが実装されれば、更に多くの企業がPolygon上でのプロダクト開発を選択することが考えられるため、$Maticの価値にも大きな影響を及ぼすものと想像しております。
おわりに
熾烈な開発競争が行われているzkEVMの分野について、金銭的インセンティブも絡めた部分で概略をまとめてみました。zkEVMの分野はPolygonの市場価値を更に高めるものになるので今後も積極的に調査と発信をしていければと思います。
Polygon活用事例 最新動向
Polygon活用事例 最新動向
今回は今年に入って発表された企業でのPolygon活用事例について、主要トピックスをまとめていきます。世界市況の悪化からクリプト業界も冬の時代に突入しておりますが、誰もが知る企業のPolygon活用のニュースも出てきており、今後の展望にも期待が持てそうです。
取り上げる事例
①ディズニー デジタルコレクタブル
②ロビンフット Web3ウォレット「Robinhood Wallet」
③スターバックス「Starbucks Odyssey(スターバックス・オデッセイ)」
これらについて概要をまとめていきます。
①ディズニー デジタルコレクタブル
米ウォルト・ディズニー・カンパニーは今年7月「2022 Disney Accelerator」の参加企業を発表し、その中の一社としてPolygon(Matic)が選出されました。Disney Acceleratorは、「世界の革新的な企業の成長を加速させるために作られた事業開発プログラム」として発足されたもので、参加企業はディズニーとの協業や経済的支援等が受けられるものとなっています。
そしてPolygonとの取り組みの第1弾として発表されたのが、デジタルコレクタブル分野での協業となります。共同で開発するのは「ディズニーの従業員を特別な機会に表彰するための、特別なデジタルコレクタブルに関する概念実証」とされており、まだ詳細については判明していません。
参考:
https://polygon.technology/blog/polygoninsights-for-q3-2022
②ロビンフッド Web3ウォレット
ロビンフッドは新規立ち上げ予定のWeb3ウォレットである「Robinhood Wallet」にPolygonをサポートすることを発表しました。現状はベータ版でのリリースとなっていますが、NFT・DeFIに対応する仮想通貨ウォレットとして、ウォレット内のトークンスワップにガス代を必要しないことや、Polygon基盤のdAppsへのアクセスが可能となる予定です。
参考:
https://polygon.technology/blog/robinhood-selects-polygon-to-launch-web3-wallet-beta
③スターバックス「Starbucks Odyssey(スターバックス・オデッセイ)」
スターバックスは今年9月にPolygonのブロックチェーン技術を活用してWeb3体験を提供する「Starbucks Odyssey(スターバックス・オデッセイ)」というサービスを発表しました。このサービスではスターバックスのロイヤルティプログラム「Starbucks Rewards」に参加するメンバーと米国の従業員向けに提供されます。
NFTでのデジタルスタンプを収集したり、購入が可能となっているとのことで、このスタンプを通じて新しい特典や体験にアクセスできるようになる予定です。本サービス自体はまだ開始されていません。
参考:
https://polygon.technology/blog/starbucks-taps-polygon-for-its-starbucks-odyssey-web3-experience
最後に
クリプト業界では現在厳しい冬の時代が続いていますが、大企業との提携等によって様々なユースケースがPolygon上にてスタートし始めています。ブロックチェーン技術の社会実装にはまだもう少し時間がかかるかもしれませんが、確実に進歩し続けている現実があるので、継続して業界動向をウォッチしていきたいと思います。
Polygon Lightpaperの概要
はじめに
こちらは初投稿記事となります。
ブロックチェーンPolygonの概要から最新動向を少しずつまとめていきたいと思います。情報のほとんどが英語でかつ、変化のスピードが早い業界の中でその一助になれたらと考えております。
Polygon Lightpaper
今回はLightpaperの内容をざっくりとまとめていきたいと思います。
※出典
https://polygon.technology/lightpaper-polygon.pdf
現状のEthereumの課題
Lightpaperの冒頭ではEthereumの課題について以下のように指摘しています。
・スループットの低さ
・UXの悪さ(Gas代やPoWの承認の遅延※)
※2022年現在、The MargeにてPoSへ移行
・エコシステムの断片化
Ethereumのエコシステムが拡大する中で、様々なプロジェクトが課題を軽減するために最適なブロックチェーンを開発していますが、まだそのようなフレームワークやプロトコルは存在しない状況があります。その課題を解決するためのソリューションとしてPolygonを位置付けています。
Polygonでの解決策
PolygonはEthereum互換性のあるブロックチェーンネットワークを構築・接続するプロトコルやフレームワークとなることを目指しています。主な特徴は以下となります。
・Ethereum互換性
・スケーラビリティ
・セキュリティ
・インターオペラビリティ
・開発の容易性、カスタマイズ性
Polygonはその他L2のソリューションと同様に、近年顕在化してきているEthereumの混雑によるネットワーク手数料の高騰やスケーラビリティ課題に対する有力な解決策な一つとなっています。
アーキテクチャ
ここではPolygonの基礎的なアーキテクチャを説明します。
アーキテクチャは以下の図で表されます。
①実行レイヤー
②Polygonネットワークレイヤー
③セキュリティレイヤー
④Ethereumレイヤー
※LightpaperではEthreumレイヤーから説明が始まっていますが、理解しやすくするために実行レイヤーから順番に説明をしていきます。
①実行レイヤー(EVM・eWASM)
PolygonはEthereum互換性があり、このレイヤーでスマートコントラクトを実行します。
※EVMは「Ethereum Virtual Machine」の略となっており、solidityのようなプログラミング言語で書かれたスマートコントラクトをPCが理解できるように0と1に変換する機能を担っています。
※eWASMは「Ethereum WebAssembly」の略称で、プログラミングのコードをブラウザ上から高速に実行可能にする技術となります。
②Polygonネットワークレイヤー
Ethereumのサイドチェーンとして機能しているレイヤーとなっており、Polygon上のトランザクションが発生します。
③セキュリティレイヤー
サイドチェーンで発生したトランザクションをまとめ、検証をした上で数分おきにEthereumチェーンにコミットメントする役割を担っています。
④Ethereumレイヤー
上記で発生したトランザクションが最終的にEthereumレイヤーのオンチェーンに書き込まれます(ファイナリティ)。
※アーキテクチャに関してはWhitepaperの図の方がわかりやすいかと思うので、こちらも参照してみてください。
https://github.com/maticnetwork/whitepaper/blob/master/matic-architecture.png
おわりに
PolygonのLightpaperの内容をかなり簡略化して記載しました。
内容的に不完全な箇所もあるかと思うので、WhitepaperやPolygonの公式HPもご参照ください。
参照先:
https://github.com/maticnetwork/whitepaper