往期の記事では、layer0-3 について説明しましたが、まずは定義を振り返りましょう。
Layer1#
Layer1 は、基盤となるブロックチェーンです。イーサリアムとビットコインは、Layer1 ブロックチェーンであり、さまざまな Layer2 がこれらの上に構築されています。Layer2 プロジェクトの例には、イーサリアム上の "Rollup" やビットコインベースのライトニングネットワークがあります。これらの Layer2 プロジェクト上のユーザーの取引活動はすべて、最終的に Layer1 ブロックチェーンに戻ることができます。
また、イーサリアムは Layer2 のデータ可用性層としても機能しています。Layer2 プロジェクトは、自身の取引データをイーサリアムに公開し、データの可用性を確保するためにイーサリアムに依存しています。これらのデータは、Layer2 の状態を特定するために使用されるか、または Layer2 上の取引に異議を申し立てるために使用されることがあります。
Layer2#
Layer2 は、具体的なイーサリアムのスケーリングソリューションを記述するための集合的な用語です。Layer2 は独立したブロックチェーンであり、イーサリアムのスケーリングとセキュリティ保証を拡張しています。
なぜ Layer2 が必要なのか?#
ブロックチェーンの 3 つの主要な目標属性は、分散化、セキュリティ、スケーラビリティです。単純なブロックチェーンアーキテクチャでは、これらの属性のうち 2 つしか実現できません。安全な分散型ブロックチェーンを実現するためには、スケーラビリティを犠牲にする必要があります。
現在、イーサリアムはネットワーク容量の上限に達しており、毎日 100 万件以上の取引が行われ、それぞれの取引に高い需要があります。イーサリアムの成功と使用需要により、Gas 手数料の価格が大幅に上昇しています。そのため、スケーリングソリューションへの要望も高まっています。これが Layer2 ネットワークが生まれた理由です。
スケーラビリティの主な目標は、トランザクションの速度(より速いトランザクション確認)とトランザクションスループット(秒間取引量の向上)を向上させることであり、分散化やセキュリティに影響を与えることはありません。
イーサリアムコミュニティは、スケール拡大のために分散化やセキュリティを犠牲にすることはありません。イーサリアムメインネット(Layer1)は、シャーディングが採用されるまで、約 15 件のトランザクションを 1 秒間に処理することしかできません。イーサリアムの需要が増加すると、ネットワークが混雑し、トランザクションの費用が増加し、高額な価格がユーザーに負担となります。これが現在、イーサリアムのスケーリングのために Layer2 ネットワークを使用している理由です。
Layer2 の利点#
1. コスト削減
オフチェーンの複数のトランザクションを 1 つの単一の Layer2 ネットワークトランザクションに統合することで、トランザクション手数料を大幅に削減し、誰もがより簡単に参加できるようにします。
2. セキュリティの維持
Layer2 ブロックチェーンは、イーサリアムメインネット上でトランザクションを決済するため、ユーザーはイーサリアムネットワークのセキュリティを利用することができます。
3. スケーラビリティ
秒間のトランザクション数の増加、トランザクション手数料の低下、新しいテクノロジーの発展に伴い、プロジェクトは新しいアプリケーションに拡張し、ユーザーエクスペリエンスを向上させることができます。
Layer2 オフチェーンスケーリングソリューション - ステートチャネル#
現在、Layer2 オフチェーンスケーリングソリューションには、ステートチャネル、サイドチェーン、ロールアップの 3 つの主要な方法がありますが、この記事ではまずステートチャネルについて詳しく説明します。
ステートチャネル(State Channels)の核心思想は、トランザクションプロセスをメインチェーンから分離し、オフチェーンで行い(つまり、ステートチャネル内でトランザクションを行い)、最終的なトランザクション結果をメインチェーンに戻すことです。
ステートチャネルの図は以下の通りです:
ステートチャネルは、Layer2 の最初のスケーリングソリューションであり、2 人以上のユーザーが信頼できる環境で一連のトランザクションを行い、各トランザクションで Gas 手数料を支払う必要がない場合に使用できます。
おそらくまだわからないかもしれませんが、小さな例を挙げましょう。イーサリアム上で Tic-Tac-Toe ゲームを開発したとします。ゲームをプレイする 2 人(プレーヤー A とプレーヤー B)は、最初に 10ETH(イーサリアム)をデポジットする必要があり、最終的に勝利したプレーヤーは相手のデポジットした 10ETH を獲得します。
ゲームの各手をチェーン上に記録する必要がある場合、各手に対して Gas 手数料を支払う必要があります。したがって、最終的な Gas 手数料は非常に高額になり、報酬を上回る可能性があります。
この Gas 手数料を削減する方法はありますか?それがステートチャネルを利用することです。ステートチャネルは、ゲームプレイヤーに対してオフチェーンで小さな部屋を提供し、どのように進めるかは関係ありません。最終的な勝者の結果をイーサリアムメインチェーンに戻すだけです。
前述の例では、ステートチャネルを使用する場合、ゲームの開始時に 1 回、ステートチャネルを開くために Gas 手数料を支払う必要があります。そして、ゲームの終了時に 1 回、ステートチャネルを閉じるために Gas 手数料を支払う必要があります。
トランザクション費用を削減するだけでなく、ステートチャネルにはプライバシーを向上させる潜在的な利点もあります。なぜなら、開始と終了の状態のみがメインチェーンに書き込まれ、実際の操作はオフチェーンで行われるため、公開されないからです。
これまでのところ、ステートチャネルは非常に完璧に見えますが、実際には 1 つの大きな問題があります。それは、信頼できる環境の上に構築する必要があるということです。つまり、ゲームの 2 人がお互いを信頼している必要があります。
例えば、ゲーム中に 1 人のプレーヤーがオフラインになった場合、そのステートチャネルは永遠に閉じることができず、チャネルが閉じられないため、もう 1 人のプレーヤーは報酬を受け取ることができず、最初にデポジットした 10ETH も取り戻すことができません。
以上がステートチャネルの簡単な紹介であり、次回は Layer2 の他のソリューションについて説明します。