見出し画像

初心者向け: #zkEVM とは?

ゼロ知識(ZK)という暗号化技術は、Ethereumの拡張にとって重要な技術です。

Ethereumを拡張するための、最も一般的なゼロ知識証明の利用方法は、zkEVM(zero-knowledge Ethereum Virtual Machine)だと考えられています。

zkEVMとはどのようなシステムで、どのような方法で、Ethereumをより安く、効率的化するのに、役立つのかを説明していきます。

Ethereum仮想マシン(Ethereum Virtual Machine)とは?

EVM(イーサリアムバーチャルマシン)を拡張するゼロ知識証明を理解するためには、まず、EVMが何かを理解する必要があります。

EVMは、Ethereumのブロックチェーンがトランザクションを実行する仕組みのことを示しています。

全てのブロックチェーンは、どのトランザクションが有効かを判断するための一連のルールを設定、運用することが必要です。

Ethereumの場合、EVMがこの機能を担い、ネットワークを動かし、ブロックチェーンの記録を保守運用していると考えてください。

Ethereum Foundationの言葉を借りると

EVMの物理的なインスタンスは、雲や波を示すのと同じように具体的に表現することはでません。しかし、Ethereumクライアントを実行する何千台ものコンピュータによって維持されている一つの実体として存在しているのです。
Ethereumのプロトコル自体は、この特別なステートマシンによって継続的で中断のない、挙動を継続運用する目的を持っています。これが、すべてのEthereumアカウントとスマートコントラクトが存在する環境です。 チェーン内の任意のブロックにおいて、Ethereumは1つだけの「正規の」状態を持ち、EVMはブロックからブロックへ新しい有効な状態を計算するためのルールを定義するものです。

以上のように、EVMは、Ethereumネットワークに参加するすべてのコンピュータの入力を集約し、私たちが取引やスマートコントラクトを実行できる状況を作り出しているのです。このようにEVMは、私たちがEthereumに求める機能を実現するスーパーコンピュータなのです。

しかし、Ethereumや、EVMは一つ大きな問題を抱えています。具体的には、拡張性です。現状の機能を拡張する必要があるということです。

Ethereumの処理能力はとても低く、取引の処理コストがとても高いという問題をどう解決すればよいのでしょうか?

zkEVMの力

Ethereumをスケールさせるために、ゼロ知識証明を使う一般的な方法としてはZKロールアップを構築することだと考えられています。

具体的には、レイヤー2のプロトコルで、大量のトランザクションを「ロールアップ」し、ゼロ知識証明を使って、Ethereumに検証させるものです。多くのトランザクションが1つにまとまることで、コストを削減し、処理を向上させることができます。

課題は、EVMが様々な活動が行われる開発環境だということです。EVMでの作業に慣れている開発者だった場合、開発環境に変更を加えると、頭痛の種になるだけでなく、最悪の場合、アプリが使用できなくなる可能性もあるということを理解していただけると思います。

そのため、Ethereumの機能をすべて維持したまま拡張するには、ゼロ知識証明を利用する場合でも、EVMの開発環境をどのように維持するかを考える必要があります。

このように、ZKロールアップの中で、EVMの働きを維持できるようにする試みは、"zkEVM "として知られています。

この問題は、簡単に解決できる課題ではありません。

Vitalik Buterin氏は、関連するトレードオフを整理しています。これは、EVMが当初ZKスケーリングを意識して設計されていなかったこともあり、ゼロ知識証明を利用するためには、それに最適化された環境の方が本質的に簡単です。

そのため、EVMの維持と最適なスケーリングのバランスをとる必要があります。

zkEVMを利用する人にとってのメリットは、開発者にとって重要なほとんどの意味において、EVM と同等性を維持しながら、ZKスケーリングのメリットを得ることが可能であるということです。

さらに良いニュースは、Polygonがこのジレンマに対処するためのバランスの取れたアプローチを持っていることです。

PolygonのzkEVMはバランスを重視する

Polygon zkEVMチームによって、開発されているアプローチは、ゼロ知識証明で、EVMの拡張を可能にできます。

これは、互換性とパフォーマンスという zkEVM の基本的なジレンマを解決するための最善の試みです。

Vitalikのフレームワークでは、タイプ 2 zkEVM と呼ぶものを目指して構築しているプロジェクトに分類されています(重要なことは、彼の最初のブログ投稿の時点では、我々はまだタイプ3のzkEVMであり、つまりタイプ2よりもEVMとの互換性が低かったということです)。

Vitalik氏によると、タイプ2のzkEVMは、EVMそのものに非常に近いものであるとのことです。"タイプ2のZK-EVMは、まさにEVMと同等であろうと努めているが、Ethereumと同等とまではいかない。つまり、「内側から見れば」Ethereum同様だが、外側、特にブロック構造やステートツリーなどのデータ構造には違いがある」"

Polygonは、開発者とユーザーがEthereumのように見え、感じ、動作し、かつゼロ知識証明のスケーリングパワーを持つzkEVMに値すると考えているので、このレベルの実用性を目指して構築しています。

そのための重要な手段の1つが、ZKチームによる技術的なブレークスルーです。

例えば、Polygon zkEVMは、現在開発されている最速のゼロ知識証明システムであるPlonky2の恩恵を受けています。Plonky2は、Polygon Zeroと外部の貢献者によって開発され、Polygon zkEVMがzkEVMのジレンマである性能面を解決するのに役立っています。

つまり、zkEVMは、EVMと同じような利便性を達成しながら、高速な証明を生成することができるのです。

PolygonがzkEVMはEthereumの未来の鍵であると信じている理由、そして私たちが最高のものを作ることにコミットしている理由がお分かりいただけたかと思います。


詳細

初心者向け: #zkEVM とは?|Polygon Japan @0xPolygonJapan #note https://note.com/0xpolygon_japan/n/n892efeec12c5

Join the testnet
https://wiki.polygon.technology/docs/zkEVM/overview/…

Report bugs https://developersupport.polygon.technology/support/solutions…

Explore the code
https://github.com/0xPolygonHermez

リンク集

法人向け:Polygon お問合せフォーム

最新の開発情報は、こちらのウェブサイトをご覧ください。

Website | Twitter | Developer Twitter | Enterprise Twitter | Studios Twitter | Telegram | Reddit | Discord| Instagram | Facebook | LinkedIn

Polygonリンク集
Polygon Japan Twitter
Polygon Discord 日本開発者向けコミュニティ
Polygon Japanチームへの法人問合せ