Blockchain: レイヤー 2
概要
ブロックチェーンにおけるレイヤー 2 (layer 2; L2) とは、PoW や BFT のような合意メカニズムを持つ既存のブロックチェーンシステムに対してトランザクション処理速度とスケーリング問題を解決する目的で構築される二次的なサブシステムを指す。
ブロックチェーンの合意に参加するノードはすべてのトランザクションを処理しすべての状態を保持しなければならない。この構造的な理由から暗号通貨取引や dApps ゲームでトランザクションが増加するとスループットがすぐに頭打ちとなる問題が早くから顕在化していた。レイヤー 2 はこのスケーラビリティ問題を解決することを目的にしたアーキテクチャの一つである。
Table of Contents
背景
スケーラビリティ問題に対して、まず 2015-2019 年頃にブロックチェーンの合意や検証のメカニズムを分散化して高速化するアプローチが多く検討された。例えば Zilliqa はブロックチェーンネットワーク上で複数の合意クラスタを選出して合意を分散しているし、Ethereum 2 ではトランザクションの検証をグループに分けて処理するシャーディング (sharding) を行っている。
しかしこのような構成はシステム全体の設計やプロトコル実装を大きく複雑化させる。またブロックチェーンの一貫性 (consistency) はすべての処理が最終的にどこか一カ所を (つまりスケールできない場所を) 経由することで得られる特性であり、加えてブロックの正しさを検証するにはすべてのデータを保持しなければならないという構造的な問題は解決できない。プロトコルの改良でメッセージ頻度を減らしたり、署名集約でデータ量を削減するといった努力も大きな進展につながらなかった。
ブロックチェーンそのものの改善が困難であると認知され始めた 2018 年頃から、ブロックチェーンの前段に別のブロックチェーンまたは非ブロックチェーンのティアを配置し、ブロックチェーンにはそのティアが行った処理のダイジェストのみを記録するというアプローチで負荷を分散するという提案がいくつもなされた。
ここで、ブロックチェーンそのものをスケールさせるには限界があるため、前段に非ブロックチェーンのティアを配置することによってブロックチェーンの負荷を下げるという提案がいくつもなされた。
レイヤー 2 ソリューションと呼ばれている現実の実装にはビットコインの Lightning Network や Ethereum の Plasma などがある。
参考文献
- Weijia Zhang, Tej Anand. Blockchain and Ethereum Smart Contract Solution Development: Dapp Programming with Solidity. Apress 1st (2022)