見出し画像

楽観的ロールアップとゼロ知識ロールアップを学ぶ会

はじめに

ブロックチェーン技術は素晴らしいものですが、その核心的な革新性とポテンシャルが認識される一方で、実際の適用を阻害している課題も存在します。その最大のものが「スケーラビリティ」です。スケーラビリティとは、ブロックチェーンが大量のトランザクションを効率的に処理する能力のことで、このスケーラビリティによってブロックチェーンの使いやすさというのが大きく変わります。スケーラビリティが低すぎる場合、ブロックチェーンの処理が滞ってしまい、決済がいつまでも確定しないということが起こってしまためです。

ブロックチェーンの最大手であるイーサリアムにおいても、この問題は顕著であり、スケーラビリティ問題に対処するために多くの開発者が、「スケーラビリティ問題」の解決に乗り出しています。
今回は、そのスケーラビリティ問題の対処において、もっとも有名なL2(レイヤー2)スケーリングソリューションから、特に有名な楽観的ロールアップとゼロ知識ロールアップについて解説していきます。

イーサリアムとマイニングの振り返り

イーサリアムでは、ブロックチェーンネットワークの維持とセキュリティの確保のために、 PoW(Proof-of-Work)現在は、PoS(Proof-of-Stake)というアルゴリズムが使用されます。PoWとは、難解な数学的問題を解くことでブロックチェーンへの貢献を証明するシステムです。

これはイーサリアムにおけるマイニングと呼ばれ、ネットワークの各参加者、すなわち「マイナー」が、ハッシュ関数を使用して特定の値を見つけるために大量の計算を行います。この特定の値は、「ハッシュ値」と呼ばれ、それを見つけたマイナーが新たなブロックをネットワークに追加し、そのブロック内の全トランザクションを確認する権利を得ます。

イーサリアムは、この一連のプロセスによって、分散性を実現しています。なぜなら、イーサリアムのネットワークは集中化されたサーバーではなく、世界中に分散された各マイナーのコンピュータ上で運営されるからです。そのため、分散性を実現する一方で大量の計算力と電力を必要とするのが現状です。

また、マイナーが新しいブロックを追加し、トランザクションを確認すると、イーサリアムのネイティブトークンであるEtherを報酬として受け取ります。これが、参加者が計算に大量のリソースを投資する動機付けになります。この報酬は、新しく生成されたEther(ブロック報酬)と、トランザクションの手数料(ガス料)から成ります。

これらのように、大量の計算による競争を行い、その中で勝てたら報酬がもらえるというPoWプロセスはネットワークのスケーラビリティと効率性に大きな制約をもたらします。それが、イーサリアムがL2スケーリングソリューションの開発に乗り出した一因となります。

楽観的ロールアップとは何か

それでは、楽観的ロールアップについて説明していきます。

イーサリアムのマイニングと同様に、楽観的ロールアップもまた、ブロックチェーンネットワークの安全性と分散性を確保するための方法です。しかし、これはマイニングとは異なるアプローチを取り、より効率的なトランザクション処理とネットワークのスケーラビリティ向上を可能にします。

楽観的ロールアップは、L2スケーリングソリューションの一つであり、トランザクションの大部分をイーサリアムのメインネットワーク(レイヤー1)から別のレイヤー(レイヤー2)に移します。このレイヤー2は、ロールアップチェーンと呼ばれ、その上で実行される全てのトランザクションは、最終的にメインネットワークに「ロールアップ(巻き上げられ)」されます。

ここで重要なのは、このロールアップチェーンの運営は、各参加者ではなく、専用の演算子(オペレーター)によって行われるという点です。オペレーターはトランザクションを収集し、それらを一つのバッチにまとめ、そのバッチのデータをメインネットワークに送信します。

この送信されたバッチは、未開封の封筒が郵便局に到着したような状態と考えることができます。封筒(バッチ)は到着していますが、その中身(トランザクション)はまだ確認されていません。つまり、中身が確かであることを「楽観的」に期待している状態と言えます。

このように「楽観的に期待している」状態の為、この段階ではまだトランザクションは確定せず、中身の確認と正当性のチェックが行われるまで、取引の結果は確定しないというのが楽観的ロールアップの大きな特徴になります。

また、楽観的ロールアップのインセンティブメカニズムは、オペレーターがトランザクションの手数料を受け取ることで構成されています。この手数料は、ロールアップチェーン上でのトランザクションの実行コストと、そのトランザクションデータをメインネットワークに投稿するためのガスコストをカバーします。

以上が楽観的ロールアップの概要ですが、楽観的ロールアップは完全なメリットだけではありません。

例えば、トランザクションの確認がメインネットワーク上で遅延されるため、不正なトランザクションがロールアップされると、その後の検証プロセスでコミットされたバッチが取り消され、その間に行われた正当なトランザクションも無効になる可能性があります。

このような問題を回避するため、楽観的ロールアップは「フラウドプルーフ(不正証明)」というメカニズムを導入しています。これにより、誤ったバッチが投稿されると、他の参加者がそれをチャレンジし、不正が証明された場合はそのバッチが取り消されます。ここでの「チャレンジ」は、不正なバッチに対して公に異議を申し立て、その証明を行う行為を指します。

楽観的ロールアップには、バッチが投稿されてから一定期間の「異議申立期間」が設けられており、この期間中にチャレンジが可能です。そして、不正の証明に成功した参加者は、その労力の報酬として一部のトランザクション手数料を受け取ることができます。

このように、楽観的ロールアップは、イーサリアムのスケーラビリティ問題を解決するための一つの効果的な手段です。しかし、それだけでなく、この技術は、ネットワークの安全性と分散性を確保しつつ、トランザクションの処理速度と効率性を大幅に向上させる可能性を秘めています。

ゼロ知識ロールアップ

それでは、ゼロ知識ロールアップについても解説します。

ゼロ知識ロールアップ(ZKロールアップ)も、楽観的ロールアップ同様、イーサリアムのスケーリングソリューションの一部であり、ブロックチェーンのトランザクション処理を高速化し、大量のトランザクションを一つのバッチとして扱うことで、イーサリアムのメインネットワーク(レイヤー1)の負荷を軽減します。

ゼロ知識ロールアップ(ZKロールアップ)もまた、楽観的ロールアップ同様、イーサリアムのスケーラビリティ問題に対する一つの解決策です。これは、楽観的ロールアップと同様に、レイヤー2のソリューションであり、トランザクションの大部分をメインネットワークからレイヤー2に移すことで、トランザクション処理を高速化やレイヤー1の負荷の軽減を実現します。しかし、その運用方法には重要な違いがあります。

ゼロ知識ロールアップは、その名の通り「ゼロ知識証明」を利用しています。ゼロ知識証明は、ある情報が正しいことを証明するための数学的な方法で、その内容を開示することなく証明することが可能です。これにより、トランザクションの承認と確認を一度に行い、またその過程で必要なデータ量を削減します。

ゼロ知識ロールアップでは、複数のトランザクションを集めて一つのバッチにまとめ、そのバッチ全体についてゼロ知識証明を生成します。この証明は、バッチに含まれる全てのトランザクションが正しいことを証明します。そして、この証明はイーサリアムのメインネットワークに提出され、そこで確認と承認が行われます。

楽観的ロールアップとは異なり、ゼロ知識ロールアップではバッチの投稿時にその中の全てのトランザクションがすでに確認されています。これにより、異議申立期間やフラウドプルーフ(不正証明)という仕組みが不要となり、結果としてより高速なトランザクションの処理と確認が可能となります。

以上がゼロ知識ロールアップの概要ですが、楽観的ロールアップと同様に完全なメリットだけではありません。

ゼロ知識ロールアップの一つの欠点は、ゼロ知識証明の生成には高度な計算能力が必要であるという点です。これは、一部のユーザーやデバイスにとっては制約となる可能性があり、従来の方法と比べて分散化のハードルが高くなってしまう可能性があります。

また、ゼロ知識証明の技術自体がまだ新しいため、その安全性については十分に理解されていない部分もあります。しかし、これらの課題が解決されれば、ゼロ知識ロールアップはブロックチェーンのスケーリングに大きな可能性をもたらすと考えられます。

楽観的ロールアップとゼロ知識ロールアップの比較

楽観的ロールアップとゼロ知識ロールアップは、イーサリアムのスケーラビリティ問題を解決するための2つの異なるアプローチです。両者ともにトランザクションの処理をメインネットワークからロールアップチェーン(レイヤー2)に移すことでネットワークの負荷を軽減しますが、それぞれ異なる特性と利点、そして課題を持っています。

まず、楽観的ロールアップでは、オペレーターがバッチに含まれる全てのトランザクションを検証せずに、そのままメインネットワークに送信します。これは「楽観的」に、トランザクションが正当であることを期待するという考え方に基づいています。トランザクションの正当性は後から確認され、もし不正なものが含まれていた場合には、そのバッチ全体が無効にされます。このシステムは比較的シンプルで、迅速なトランザクションの処理が可能ですが、不正なトランザクションが含まれていた場合、その検証と排除に時間がかかるという課題があります。

一方、ゼロ知識ロールアップは、ゼロ知識証明という特殊な暗号学的手法を用いて、バッチに含まれる全てのトランザクションが正しいことを証明します。これにより、トランザクションの正当性が事前に保証され、トランザクションの詳細を公開せずにプライバシーを保つことが可能となります。しかし、ゼロ知識証明の生成と検証には高い計算コストがかかるため、一部の状況では処理速度が遅くなる可能性があります。

さらに、ゼロ知識証明は比較的新しい技術であり、実装が難しいという課題もあります。しかし、この技術は高いプライバシー保護とデータの圧縮を可能にし、大量のトランザクションを一度に処理することが可能となります。これにより、ネットワーク上のデータ量が大幅に減少し、イーサリアムのスケーラビリティが向上する可能性があります。

これらの違いを理解するために、レストランでの食事を例に考えてみましょう。楽観的ロールアップは、料理が出てくるのを待つことなく、あらかじめ注文した料理が美味しいと「楽観的」に期待することに似ています。しかし、料理が出てきたときにそれが美味しくない場合、注文を取り消すことはできません。一方、ゼロ知識ロールアップは、あらかじめシェフが料理の美味しさを保証することに似ています。しかし、その保証を得るためには、シェフが料理を作るのに時間をかけ、それに伴うコストがかかります。

最終的に、どちらのアプローチがベストかは、具体的な使用ケースや、スケーラビリティとプライバシー、コストといった要素をどのように重視するかによるでしょう。

まとめ

イーサリアムのスケーラビリティ問題は、ブロックチェーンの進化と共にますます重要になっています。今回はその解決策として、有名な楽観的ロールアップとゼロ知識ロールアップを取り上げました。

楽観的ロールアップは、「楽観的」にトランザクションが正当であることを期待し、その後で検証を行うというシンプルながら効果的な方法を提供します。一方、ゼロ知識ロールアップは、トランザクションの正当性を事前に保証するという高度な暗号学的手法を用いて、プライバシーの保護とデータの圧縮を実現します。しかし、それぞれには独自の課題があり、その解決には時間と労力が必要です。

最終的にどちらのロールアップ技術が優れていると言えるかは、使用ケースや、スケーラビリティとプライバシー、コストといった要素をどのように評価するかによります。現状では、どちらの技術もまた進化し続けており、ブロックチェーンの未来を形成する重要な要素となっています。

このブログが、楽観的ロールアップとゼロ知識ロールアップを知る最初の一歩になってくれたら嬉しいと思います。
ここまで、読んでいただきありがとうございます。

この記事が気に入ったらサポートをしてみませんか?