「ロールアップ」とは?わかりやすく解説します
人気がある仮想通貨(暗号資産)は、取引量が増えることにより、スケーラビリティ問題が多く発生することがあります。
ブロックチェーンのメインネットワーク(レイヤー1)外で処理すれば解決は出来ますが、ブロックチェーンの高いセキュリティの恩恵が受けられなくなることがあります。
この問題を解決するため、レイヤー2(セカンドレイヤー)という技術の開発とその導入を検討する仮想通貨(暗号資産)も多いです。
このレイヤー2で使われる技術の一つに、「ロールアップ」と呼ばれる技術があります。
今回は、この「ロールアップ」について解説していきたいと思います。
ロールアップとは
ロールアップとは、ブロックチェーンのスケーラビリティ問題を解決するため、レイヤー2で使用される技術です。
ロールアップを利用することで、レイヤー2で素早くデータ処理を行え、かつ安全に行うことが可能とされています。
ロールアップとは、日本語で「まとめて束ねる」という意味です。
オフチェーンで処理されたトランザクションのデータをまとめてから、メインチェーンに戻す仕組みとなってるので、このような名前がつけられました。
ロールアップの仕組み
ロールアップでは、まずオフチェーン(レイヤー2)で取引が実行されます。
この取引データは抽出されて圧縮されます。
圧縮された複数の取引データは、その後まとめてレイヤー1へ出されます。
レイヤー2より出されたデータは、レイヤー1で構築されているスマートコントラクト等によって、取引データの正当性が検証されます。
検証後、データが正当であれば、そのままレイヤー1のブロックに取り込まれます。
このように、ロールアップでは取引の大部分をレイヤー2で実行し、レイヤー1では資金の移動と正当性の検証のみ行うので、レイヤー1で取引を個別に処理する必要がありません。
レイヤー1は、戻されたデータの正当性のみを検証するだけなので、取引の処理の負担が軽減されることになります。
飲み会で複数人行った会計を、幹事1人がまとめて全員分の支払いをしているのと同じことです。
店側は、金額をまとめて受け取れるため負担が少なくなっています。
このように、ロールアップの仕組み自体は比較的簡素になっています。
ロールアップの開発状況
ロールアップの技術を利用している例を挙げていきます。
オプティミスティック ロールアップ
オプティミスティックとは日本語で「楽観」という意味です。
レイヤー1に出されるデータは、全て正当であるという楽観的な前提に基づいて機能しています。
レイヤー1に出されたデータの全てのトランザクションが正当なものである場合、特に何も行わずそのままレイヤー1のブロックチェーンにトランザクションデータは取り込まれます。
不正なトランザクションがあった場合、不正の発見者は、そのトランザクションが不正である証拠と掛け金を一緒に提出することで、そのトランザクションを中断することが可能です。
疑義のトランザクションはレイヤー1にて再度実行され、不正であった場合は、不正が行われた時点まで時系列を巻き戻し、不正のなかったブロックから再開され、正しいトランザクションが提出されます。
不正なトランザクションを提出した人にはペナルティが科されて、不正発見者には報酬が支払われることになります。
逆に不正ではなかった場合は、ペナルティとして発見者の掛け金が没収される仕組みです。
オプティミスティックロールアップでは、不正証明を提出できる参加者が一人以上いれば、健全に機能します。
ZKロールアップ
ZKロールアップには、ゼロ知識証明という暗号学における証明技術が用いられています。
ZKロールアップのZKは、ゼロ知識証明の頭文字を取ったものです。
ゼロ知識証明とは、「あるユーザーが特定の事柄を証明したいときに、機密情報を明かさずにそれを証明する」技術です。
ZKロールアップでは、レイヤー1に提出する取引データは全て正当であるということを「zk-SNARKs」と呼ばれるゼロ知識証明を使い、ゼロ知識証明の証明結果と共にデータを提出します。
提出された証明結果は、レイヤー1のスマートコントラクトによって検証され、正当性が確認できた段階でレイヤー1のブロックに取引データが取り込まれます。
取り込まれたデータの正当性は、ゼロ知識証明によって数学的に証明されているのがZKロールアップの特徴です。
ZKロールアップでは、不正検証期間が不要なので、レイヤー1への資金の引き出しが即時実行できるというメリットがあります。