エンジニアがソフトウェア開発をする時によく使う言葉として「状態(State)」というものがあります。これは言い換えればセーブデータのようなものです。例えばログインしていいねをした投稿が一覧になったり、タスクが山積みになっているのを確認できるということは、あなたがどんな属性のデータを持っていてどんな操作をしたのかという情報をアプリが管理できているからです。もし管理できていなければ、アクセスする度にまっさらなタイムラインやダッシュボードから始めなければいけなくなります。
この状態管理のためにはデータを適切に保存・変更する必要があり、サーバーやデータベースなどさまざまな技術を動員して実現されます。
この「状態」をうまく管理することで、多くのアプリケーションが成功を納めてきました。例えばFacebookがそうです。あなたがログインするとあなたが繋がっている友達やその友達の投稿などをページに表示してくれますが、これらはあなたについての状態を管理できているからに他なりません。
状態を持つこと、言い換えればデータを持つことは昨今のビジネス環境において、勝敗を分ける大きな要因となりました。そして、勝利した企業はより多くのデータを手に入れ、より多くのユーザーに関する状態を管理することになります。
ここで重要な点は、この状態、いわばあなた利用履歴のセーブデータが企業内部に置かれているということです。これはある種当然の結果で、現状インターネットそのものはデータをやりとりするためのものであり、データを管理するないし状態を管理することは、そこに繋がっているコンピュータの役割だったからです。
つまり今のインターネットの現状は、インターネット上に浮き島のようにデータを抱え込んだコンピュータが存在し、まるで王国のように栄えている、そのような状況というわけです。
インターネット上での浮き島であるコンピュータを管理する企業はそこにあるデータを死守する必要があります。そこからデータが流出し、インターネットの大海原に流れしまうと取り返すことができないどころか、大きな損害を被ることになるからです。
また、島が違えばルールが異なる点も不便です。Facebook島とTwitter島とでは全く違うルールが適用されており、ユーザーはそれぞれの島で別々にアカウントを作成しなければいかず、まるで島ごとに住民登録をしている体験をしています。おまけに、そのアカウントに紐づいている情報は、基本的に他の島では少しも利用できません。
そんな環境をガラリと一変させたのがブロックチェーンでした。ブロックチェーンがもたらした力は、一言で言えば「検証可能性」です。誰でも情報が正しいのかをルールに則り確認することができるようにすることで、インターネット上で誰に頼るでもなく状態管理ができるようになったのです。
この点については、こちらの記事で解説しています。
ブロックチェーン誕生はこれまでインターネット上での状態管理が単一の限られたプレイヤーに行われていたところからインターネットそのもので実行できるようになりました。そのような意味でとてもインパクトのある出来事でした。
浮き島のようにバラバラになっていたものが、普遍的(ユニバーサル)に状態を管理することができるようになったのです。これはインターネットという技術群にもう一つの層(レイヤー)、ユニバーサルステートレイヤーが生まれたといってもいいでしょう。
ユニバーサルステートレイヤーの誕生は、まるでインターネット全体が一つの巨大な状態管理をするサーバーのように機能するようになってことを意味します。事実、EthereumはWorld Computerというビジョンを掲げ現在も積極的な開発が進められています。ここに障害があるとすれば、あるブロックチェーンと別のブロックチェーンでそれぞれが保有しているデータは異なるためその意味でも断片化が起こってしまうことでしょう。例えば、EthereumのブロックチェーンとBitcoinのブロックチェーンはそれぞれ保持しているデータが全く違います。しかし、PolkadotやCosmosといったプロジェクトが異なるブロックチェーン同士をつなげる「インターオペラビリティ」を実現しようとしています。
もう一つ問題があります。多くのブロックチェーンはその性質上、短い時間で大量のデータを処理するということが難しいスケーラビリティ問題を抱えています。この問題を解決すべく、数多くのLayer2(セカンドレイヤー)ソリューションが開発されています。
このような技術的な課題はいくつか存在しますが、それぞれ近い将来解決策が導入され、サービス毎にデータが断片化されていることを意識せずシームレスに利用できるようになっていくことでしょう。これはもはや時間の問題です。