😊

ZKロールアップの概要を学び、各プロジェクトを比較しましょう

2023/05/29に公開

0 はじめに

当記事は、こちらの記事を翻訳・編集したものです。
https://blog.thirdweb.com/zero-knowledge-rollups-zk/

1.スケーラビリティについて

スケーラビリティは、イーサリアムにとって長年の懸案事項でした。

これを書いている時点で、保留中のイーサリアムのトランザクションは18万件以上あります。

イーサリアムの上海アップグレードの際のライブストリームで、ブロックチェーンの共同創設者であるVitalik Buterinは次のように述べています。

このスケーラビリティの欠如は、イーサリアムの高いガスと相まって、ネットワーク災害の道筋となります。


https://messari.io/asset/ethereum/chart/txn-fee-avg

2.スケーラビリティ問題への対応

では、この問題を解決するにはどうすればいいのでしょうか?

ステートチャネルサイドチェーンロールアップなどのレイヤー2(L2)ソリューションは、セキュリティや分散化を損なうことなくEthereumをよりスケーラブルに(そしてより安く)するために、あちこちで登場しています。

このEthereumのスケーラビリティの競争において、ZKロールアップ(または単にZKロールアップ) は最も有望なソリューションの1つと考えられています。

3.ZKロールアップとは

しかし、そもそもZKロールアップとは何なのでしょうか?

どのようにしてイーサリアムのスケーラビリティを向上させるのでしょうか?

そして、どれがベストなのでしょうか?

このブログ記事では、

  • ZKロールアップとは何か
  • どのように機能するのか
  • 人気のあるZKロールアップが互いにどのような評価を得ているのか

を探ります。

それでは、さっそくご覧ください。

1 ZKロールアップとは何か?

1.概要

ゼロ知識(ZK)ロールアップは、レイヤー2のスケーリングソリューションで、Ethereumをよりスケーラブルにするために、コントラクト計算とトランザクション実行をオフチェーンにするものです。


https://blog.chain.link/zkevm/

ZKロールアップは、実行時にトランザクションをバッチ処理し、それらのトランザクションの有効性証明をイーサリアム上に公開します。

ZKロールアップの概念を、ゼロ知識証明(ZKP) とブロックチェーンロールアップの2つに分解することができます。

ZKロールアップが何であるかをよりよく理解するために、これらの個々の概念を確認してみましょう。

2.ゼロ知識証明(またはZKP)

ゼロ知識証明(ZKP)とは、ある情報の所有権や有効性を、その情報自体を明らかにすることなく証明するための暗号技術です。ZKP技術のこの能力は、それがゼロ知識と呼ばれる理由です

ZKPは、本人確認、(zCashに見られるような)プライベートトランザクション、ブロックチェーンのスケーラビリティなど、ブロックチェーンにおける多くのユースケースを持っています。

ZKPをより深く知るには、こちらのブログをお読みください。
https://zenn.dev/thirdweb_jp/articles/bde586f0f56f9f

3.ロールアップ

ブロックチェーン・ロールアップはL2ブロックチェーンで、別のネットワークでトランザクションを処理し、トランザクションをバッチにロールアップしてL1ネットワークであるイーサリアムに公開します。

ロールアップの大前提は、複数の手紙(トランザクション) を封筒(バッチ) にまとめ、投函(ブロックチェーンに記録) することです。

ロールアップは2つのことを行うことで、イーサリアムネットワークの計算圧力を軽減します。

  1. トランザクションを計算し、状態保存をオフチェーンに移動する。
  2. イーサリアム上に保存されるすべてのトランザクションのデータを圧縮する。
    例えば、単純なETHの転送はイーサリアム上で~110バイトかかりますが、ロールアップでは約~12バイトで済みます。


https://vitalik.ca/general/2021/01/05/rollup.html

この2つのコンセプトの組み合わせにより、ゼロ・ナレッジ・ロールアップはEthereumの効率的安全なスケーリング・ソリューションとなっています。

2 ZKロールアップはどのように機能するのか?

ZKロールアップがどのように機能するかを理解するために、プロセスを2つの部分 - コアインフラ実行プロセス - に分けてみましょう。

前者はロールアップを実現する可動部分からなり、後者はロールアップがEthereumをスケールさせるためのルートとなります。

1. コア・インフラストラクチャー

ZKロールアップのコア・インフラには、オンチェーン・コントラクトオフチェーン仮想マシンの2つの部分があります。

①オンチェーンコントラクト(On-chain contracts)

ZKロールアップは、Ethereum上で動作するスマートコントラクトによって運営されています。

1)メインコントラクト

ロールアップブロックを保存し、預金を追跡し、ZKロールアップから来る状態更新を監視します。

2)検証コントラクト

検証コントラクトは、ブロック生産者から提出されたZKプルーフを検証するために使用されます。

②オフチェーン仮想マシン

ZKロールアップのオフチェーン実行エンジンであり、トランザクションチェーン状態の計算と保存を担当します。

ロールアップはZKPを使用して、イーサリアムベースの検証コントラクトがこのオフチェーンVM内のすべての計算の正確さと正当性を検証するのを支援します。

2. 実行プロセス

ZKロールアップの実行プロセスは、シーケンシング証明生成証明検証の3つの部分に分けることができる。

① シーケンシング

イーサリアムのノードオペレータと同様に、L2にはトランザクションを実行し、それをバッチにまとめZKロールアップコントラクトに提出するシーケンサがいます。


https://scroll.io/blog/architecture

このプロセスはシーケンシングと呼ばれます。

② 証明の生成

ZK rollupオペレータは、バッチされたトランザクションの正しさを検証するための有効性証明を作成します。

③ 証明の検証

検証メカニズム、すなわちzk SNARKまたはzk STARKは、オンチェーンで提出されたzkプルーフの完全性を検証するために使用されます。

証明は、L1のプレ・ステートルートからZKロールアップのポスト・ステートルートまでの有効なトランザクションのシーケンスを証明する必要があります。

有効であれば、zk rollupのポスト・ステートルートは「有効」と認められ、Ethereum上で公開されます。

3 究極のZKロールアップ比較:どれがベストか?

イーサリアム互換のZKロールアップのカテゴリーでは、4つの主要な支持者が有望なソリューションを構築しています。
PolygonScrollzkSync、そしてStarkWareです。

その4つをチェックしてみましょう。

1. ポリゴンのzkEVM

Polygonは、ゼロ知識技術に取り組み、L2スケーリングソリューションとして採用した最も早いプロジェクトの1つです。

ゼロ知識テック関連の取り組みに10億ドルを投じているのは、彼らのゼロ知識テックに対する信念の表れです。

PolygonのZKスイートは、現在4つの製品を持っています。


https://polygon.technology/blog/polygons-zero-knowledge-strategy-explained?ref=blog.thirdweb.com

① Hermez

HermezはPolygonの分散型ZKロールアッププロトコルで、「Proof of Efficiency」 を採用しており、どのユーザーもシーケンサー(トランザクションの一括処理)アグリゲーター(ZK証明の生成) となることができます。


https://ethresear.ch/t/proof-of-efficiency-a-new-consensus-mechanism-for-zk-rollups/11988


https://ethresear.ch/t/proof-of-efficiency-a-new-consensus-mechanism-for-zk-rollups/11988

これにより、中央集権とそれに伴うリスクを軽減することができます。

② Miden

MidenはPolygonのEVM互換の汎用ZKロールアップであり、スマートコントラクトのローカル実行を強化したものです。


https://polygon.technology/polygon-miden

証明のみをネットワークに提出すればよいため、並行トランザクションが可能です(効率化)。

③ ナイトフォール

Polygon Nightfallは、エンタープライズレベルのスケーリングに対応するために、オプティミスティック・ロールアップとゼロ知識テクノロジーを統合したものです。


https://forum.polygon.technology/t/polygon-nightfall-deep-dive-a-private-rollup-for-enterprises/2034

Nightfallは、オプティミスティック・ロールアップの効率性と、ゼロ知識テクノロジーのプライバシー要素を併せ持ちます。

そのため、機密データを扱う企業でのユースケースに道を開くことができます。

④ Zero

Polygon Zeroは、EVMと完全に互換性のあるZKロールアップソリューションです。

Plonky2(再帰的証明システム) を採用し、有効性証明の生成に必要な時間とリソースを軽減しています。


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

これらの製品により、ポリゴンは以下のようなZKロールアップソリューションのラインナップを提供します。

1)高速

Plonky2は0.17秒でZKプルーフを生成します。

2)効率的

Hermes 2.0は、証明サイズを最小化することを目的としています。

3)経済的

ガスコストを5Mから350Kに削減します。

これらのロールアップとPolygonのzkEVMは、Ethereumのスケーラビリティ競争において注目すべきソリューションです。

2. スクロールのzkEVM

Scrollは、ZKロールアップ技術を用いたEthereum用のレイヤー2スケーリングソリューションです。

汎用的なZKロールアップであるため、あらゆるタイプのEthereumアプリケーションをサポートするために使用することができる。

Scrollは、3つの部分からなるアーキテクチャを備えています。


https://scroll.io/blog/architecture

① Scrollノード

レイヤー2とレイヤー1の間の橋渡し役です。

レイヤー2上のユーザートランザクションからブロックを構築し、イーサリアムに送信します。

② ローラーネットワーク

このノードのネットワークは、ブロック内のトランザクションの正しさを証明するためのゼロ知識(ZK)有効性証明を生成します。


https://mirror.xyz/0x5E127b154F21d057b44355f1aeedAC16c29E5195/6n2VbgACsGmSKDEiKA2b1r2niHyCy777Dhur8XJfsc8

③ ロールアップとブリッジコントラクト

イーサリアムとScroll間の資金移動の橋渡し(ブリッジ)、ZK有効性証明の検証データの可用性を保証する(ロールアップ)コントラクトです。


https://mirror.xyz/0x5E127b154F21d057b44355f1aeedAC16c29E5195/6n2VbgACsGmSKDEiKA2b1r2niHyCy777Dhur8XJfsc8

Scrollはそのアーキテクチャに加え、イーサリアムのスケーリングに役立つ2つの独自機能を備えています:

① 非中央集権的な証明

ScrollネットワークのネイティブトークンであるSCRをステークすることで、誰でもローラーになることができます。


https://hackmd.io/@yezhang/SkmyXzWMY

SCRのステーキング量によって、ローラーが証明を生成するために選ばれる確率が決まります。
これにより、証明は分散化され、一部の団体に支配されることがありません。

② 証明の低コスト化

Scrollは、証明にかかるコストを削減するために、新しい技術を採用しています。

これにより、コンピューティングリソースをあまり持っていない人でも、誰でもローラーネットワークに参加することが可能になります。

2023年2月のサービス開始以来、Scrollは100万以上のユニークなアドレス200万以上のトランザクションを引き寄せています。

3. zkSync Era

zkSync は Matter Labs 社が開発した EVM互換のZKロールアップで、大幅なアップグレードが行われました。


https://matter-labs.io/

当初はzkSync 1.0(現在はzkSync Lite)として機能制限付きで発売されましたが、最近になって本格的なzkEVMであるzkSync Eraに進化しています。

この最新のチェーンでは、ネイティブなアカウント抽象化LLVMコンパイラなどの新機能が導入されています。


https://stackoverflow.com/questions/2354725/what-exactly-is-llvm

zkSync Eraは、アップグレード後、2ヶ月足らずでZKPを使用して1600万件以上のトランザクションを処理し、素晴らしいパフォーマンスを実証しています。


https://explorer.zksync.io/

また、TVL(Total Value Locked) は1億ドル以上に達し、その人気と採用が拡大していることを証明しています。


https://defillama.com/chain/zkSync Era?tvl=true

zkSync Eraを使用する利点は以下の通りです。

① データ圧縮

zkSyncは、データの可用性(DA)そのコストを優先させ、最終的に取引コストを決定します。
zkSyncは状態の差分のみをオンチェーンで公開することで、DAを改善し、大きな入力データを持つトランザクションのコストを削減することができます。

② アカウントの抽象化

ユーザーと開発者の体験を向上させるために、zkSyncではアカウントの抽象化がネイティブで行われています。最初のユースケースは、任意の通貨でガス代を支払うことに限定されています。

zkSyncのアカウント抽象化により、ソーシャルリカバリーガス代補助複雑なトランザクションのバッチ処理など、より多くのユースケースが可能になります。


https://recruit.gmo.jp/engineer/jisedai/blog/zksync-era/

これらの機能により、zkSync EraはEthereumをスケーリングするための強力なエンジンに昇華します。

4. StarkNet

StarkNetは、Ethereumのための汎用的なEVM互換のレイヤー2スケーリングソリューションです。

ZK STARKプルーフの共同発明者であり、プライバシーに特化した暗号決済ネットワークZcashの創設科学者であるEli Ben-Sassonが設立したStarkWare社によって開発されています。


https://starkware.co/

StarkWare社のZK技術を使用することで、StarkNetはイーサリアムのセキュリティを維持しながら、1日あたり数百万件のトランザクションに拡張することができます。

StarkNetはまだ開発中ですが、Ethereumの主要なスケーリングソリューションとなる可能性を秘めています。

すでにdYdX、Immutable、DeversiFiなど、多くの開発者やプロジェクトを惹きつけています。


https://dydx.exchange/

他のZKプロトコルとは異なり、StarkNetは一般的に使用されているSNARK(Scalable Transparent ARgument of Knowledge) 証明の代わりにSTARK(Succinct Non-interactive ARgument of Knowledge) 証明を使用しています。

ここでは、STARKとSNARKの比較について簡単に説明します。

① STARKs

  • 中央集権への依存度が低い。
  • 量子耐性がある。

② SNARK

  • 証明の生成にかかるガス消費量が少ない
  • 証明の検証をより迅速に行うことができる。

しかし、EVMとの互換性を考えると、StarkWare社のStarkNetは最も互換性の低いZKロールアップです。

これは、StarkWare社がStarkNetをスタンドアロンチェーンとしても機能させ、Ethereumに完全に依存しないように開発しているためです。

5. ZKロールアップレースの概要

プログラミング言語 互換性 料金
Polygon Solidity 完全なEVM互換 ETHのみ
Scroll Solidity 完全なEVM互換 ETHのみ
zkSync Era Yul 言語互換性のみ あらゆるERC-20トークン
StarkNet Cairo 言語互換性のみ STRK or ETH

6. ZKロールアップを始める

上記のzkEVM、および700以上のEVMチェーン上でスマートコントラクトの展開やdAppsの構築を、無料で利用できるthirdwebのweb3開発者ツールで始めることができます。

チェーンリストで構築したいネットワークを検索し、構築を開始するだけです。

サポートされているチェーンのリスト

すぐに始められるように、いくつかのガイドをご紹介します。

4 よくある質問

① ZKロールアップ と zkEVM は同じものですか?

ZKロールアップとzkEVMの違いは、EthereumとEVMの違いと同じです。

前者はトランザクションを記録するブロックチェーンであり、後者はスマートコントラクトの計算が行われる計算機環境です。

② ZKロールアップと楽観的ロールアップの違いは?

ZKロールアップは 「無罪が判明するまで有罪」 原則で動作します。

つまり、ZKロールアップデフォルトですべての取引を不正とみなし、そうでないことをネットワークが証明することを要求します。

このため、ネットワークは計算量が多くなりますが、より安全です。

楽観的ロールアップは、「有罪が判明するまで無罪」 という原則で動作します。

つまり、楽観的ロールアップは、デフォルトですべてのトランザクションを有効と見なします

ノードは、疑わしいトランザクションにフラグを立てて削除するために、フォールトプルーフを生成することがあリます。

しかし、楽観的ロールアップはより速く、より効率的です。

③ zkSNARKsとzkSTARKsのどちらが良いのでしょうか?

この質問には白か黒かの答えはありません。

SNARKの証明サイズはSTARKの証明サイズより小さいです。

SNARKは信頼できるセットアップを必要とするため、中央集権的なリスクを抱えがちです。

STARK量子攻撃耐性があるため、SNARKよりも安全です。

SNARKはSTARKよりも現在の使い方や用途で人気があります。

5 ZKロールアップ: 可能性と将来性

ZKロールアップは、効率とプライバシーの絶妙なバランスを保ち、ブロックチェーン・アプリケーションの幅広いユースケースを可能にします。

しかし現在、PolygonやStarkWareからScrollやzkSyncに至るまで、主要なZKロールアップのほとんどは、最大の効率を達成するために大きな開発を必要としています。

しかし、ZKのロールアップは、おそらく最も強固な長期的ブロックチェーンスケーラビリティソリューションとなるでしょう。

次の1年間で、ZKロールアップがどのようにイーサリアムのスケーラビリティをリードするソリューションに成長するかが決まる重要な時期となるでしょう。

このブログ記事が、ZKロールアップとは何かZKロールアップを構築しているプロジェクトは何か、そして彼らがどのようにイーサリアム上のスケーリングを追求しているのかをよりよく理解するのに役立ったことを願っています。

https://discord.com/invite/thirdweb?ref=blog.thirdweb.com

Discussion