見出し画像

ブロックチェーンが抱える課題にどう対応するか、多様な構造・技術開発の狙い(コラム)

ブロックチェーンには、最初のブロックチェーンであるBitcoin(ビットコイン)のようなパブリックブロックチェーン以外に、コンソーシアムブロックチェーンとプライベートブロックチェーンという異なる運用の仕方をするネットワークが存在しています。また、ブロックチェーンを活用したプロジェクトが増えていく中で、ブロックチェーンが抱える課題を解決するために、様々な技術開発が進められています。

どのような課題からブロックチェーンと呼ばれる技術は多様な構造を持ち、また今日、様々な技術開発が進められているのでしょうか。ブロックチェーンの概念について理解を深めるために、例を挙げながら考察してみましょう。


スループットなどの課題とコンソーシアムブロックチェーン

コンソーシアムブロックチェーンでは、複数の参加者が基本的に同じ権利を持ち、共同でネットワークを運営しています。言い換えれば、複数の管理者がいるネットワークということになります。最初のブロックチェーンであるビットコインは、「自分が持つお金(ビットコイン)を自由に誰かに送ることを誰にも止めさせない」ために開発されたことを考えると、単一ではないものの複数の管理者がいるという意味で、ブロックチェーンの概念からは外れた運用と言えるかもしれません。

一方で、ビットコインが掲げるようなゴールに沿わないのであれば、コンソーシアムブロックチェーンで運用するメリットも挙げられます。

ブロックチェーンにはスループットの低さやターンアラウンドタイムの長さといった課題があります。また、ブロックチェーン上でトークンを売買するビジネスを例にして考えると、そのビジネスの顧客の中で実際に購入する人だけではなく、誰でもトランザクションを投入してトークンなどを購入できてしまうと、問題が生じた際に運営会社の責任が問われかねないでしょう。こうした問題に対し、複数の管理者を置くことはブロックチェーン・ビジネスの継続性を高める手段になりそうです。

■信用が必要不可欠

ただしこれは、ブロックチェーンの四つの特長である「自己主権性」「耐検閲性」「耐障害性」「耐改ざん性」のうち、顧客の「自己主権性」の水準を下げて、複数の管理者による検閲を可能にする考え方です。「耐改ざん性」と「耐検閲性」は密接に関係しており、検閲が可能であれば、データへのアクセスを否定することで事実上データの削除ができてしまいます。

また、コンソーシアムブロックチェーンを構成するノードとして参加している場合も、他の参加者と等価なアクセスが本当に自分に提供されているのかは確認できません。自分以外のマジョリティが共謀して、自分をだまそうとしている可能性もあり得ます。

つまり、コンソーシアムブロックチェーンの場合、信用に足る参加者で組成されたコンソーシアムであるという前提が必要不可欠だと言えそうです。

■技術を組み合わせるという方法も

スループットの低さ、ターンアラウンドタイムの長さ、顧客のトランザクションなどの行動制御への解決策は、コンソーシアムブロックチェーンを選択する以外にも手段があるかもしれません。

顧客の行動に制限を加える手段として、スマートコントラクトを活用することも考えられるでしょう。スマートコントラクトの機能が呼び出された時、どのアカウントから呼び出されたかによって、その機能が実際に使用可能かどうかを判定するようにソースコードを記述できます。どのように制限されているかは、顧客もスマートコントラクトのソースコードを読むことで確認できます。

スマートコントラクトを使ったとしても、スループットの低さとターンアラウンドタイムの長さの問題は依然として残ります。それらの問題の解決には、レイヤー2の使用が役立つかもしれません。

zkロールアップ(ゼロ知識ロールアップ)を使えば、多数のレイヤー2トランザクションを集約し、一つのレイヤー1トランザクションとして書き込み、検証可能にできます。ロールアップを使うことでブロックの混雑が解消すれば、トランザクションがブロックに組み込まれず実行が遅延する問題の解決にもつながるでしょう。

スケーラビリティ問題とモジュラー・ブロックチェーン

レイヤーを分けてブロックチェーンのスケーラビリティ問題を解決する考え方は、モジュラー・ブロックチェーンという概念で整理できます。これは、ブロックチェーンのコアタスクをモジュール化して分離し、それぞれのタスクに対して専門的に処理する実行階層(レイヤー)を準備することで、各タスクを別々のポリシーで動かせるようにする狙いがあります。

ただし、ブロックチェーンの概念に立ち返ると、コアタスクとされる四つの主要機能は互いと密接に関係していると考えられます。そのため、どれか一つを取り出して機能させるという考え方には注意が必要そうです。

■四つの主要機能はどう関係しているか

まず、四つの主要機能が互いと密接に関係しているとはどういうことかを解説します。本コラムでは四つの主要機能を、実行(execution)、決着(settlement)、合意(consensus)、データ可用性(data availability)という言葉で説明します。

スマートコントラクトを例にすると、スマートコントラクトの結果である「決着」なしには、それを「実行」したことにはなりません。また、スマートコントラクトの結果である「決着」は、その過程と結果が全参加者から見て等しい、つまり「合意」が前提となっています。全参加者が見られるということは、「データ可用性」があるということです。このように、四つの主要機能は互いから切り離されることなく密接に関係しています。

■レイヤー2は何を切り出しているのか

では、スケーラビリティ問題への解決手段として活用されているEthereum(イーサリアム)のレイヤー2では、何をレイヤー1から切り出しているのでしょうか。レイヤー2の技術であるロールアップのうち、オプティミスティック・ロールアップの仕組みから考えてみましょう。

オプティミスティック・ロールアップは、検証を待たずにどんどんレイヤー2でトランザクションを「実行」していき、後から異議申し立てを受け付けて「決着」を付けるというものです。「データ可用性」については、見方によって変わりますが、「合意」されたデータを関係する全員が取得できると考えれば、「合意」の上の階層に位置づけられます。データに可用性があるからこそ、すでに合意されている内容に基づいて異議を申し立てることができます。

左のレイヤー1のみの場合、全てのトランザクションの実行・決着は逐一合意機構に基づきます。右のオプティミスティック・ロールアップでは、実行・決着をレイヤー2として分離させ、疑義がない限り独立的にトランザクションを進めることができ、合意のシステム負荷を軽減できます

つまり、オプティミスティック・ロールアップでは、「決着」から上のモジュールをレイヤー2として独自に設計し、レイヤー1と並走させることで、スケーラビリティが向上したトランザクションシステムを提供しています。検証を待たずに実行するという構造になっているからこそ、四つの主要機能の密接な関係を切り離すという選択ができるようになっていると考えられます。

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