理想のWeb3ブロックチェーンを考える  ~ Storage-based Consensus Paradigm の衝撃 ~

2022年12月22日 木曜日


【この記事を書いた人】
syucchin

九州支社で技術リサーチやビジネス開発などの業務を行っています。将棋が好きで、棋力はウォーズ二段ぐらいです。

「理想のWeb3ブロックチェーンを考える  ~ Storage-based Consensus Paradigm の衝撃 ~」のイメージ

IIJ 2022 TECHアドベントカレンダー 12/22(木)の記事です】

はじめに

ワールドコンピュータとも呼ばれるイーサリアムは、スマートコントラクトによるオンチェーンコンピューティングを可能にすることで、ブロックチェーンの可能性をとてつもなく、大きいものとした。一方、スケーラビリティ問題の解決はイーサリアム単体では難しく、コンセンサスレイヤーやシャーディング、レイヤー2といった技術で対応しようとしているようだ。

ただ、長年インフラエンジニアだった自分の経験から言うと、ネットワークやシステムというものは可能な限りシンプルな構成にすべきであり、技術的に可能であるということと、運用に耐えられるか、もしくはビジネス基盤として使えるかというのは全く別の話であると思っている。実際、ほとんどのケースにおいて、構成の複雑化はよい結果をもたらさない。

セキュリティの点でも、構成が複雑になればなるほど脆弱性は多くなる。最近、仮想通貨の流出事件が増えているが、これはシンプルであるべきインフラ構成が、レイヤードやブリッジング、クロスチェーンなどより複雑な構成になることで、わかりにくく、バグが増え、予期せぬ事態が発生していることを示しているのではないだろうか。

シンプルイズベスト、というのはビットコインがまさに証明してくれているところであり、そして今後Web3の基盤としてシンプルさを求めるのであれば、一つのブロックチェーンプラットフォーム上に、ID管理、Web、コンピューティング、データ、ストレージを持つのが理想だと思う。

Internet Computer と SCP

そういう意味で、ビットコイン、イーサリアムの次の第3世代ブロックチェーンとして密かに期待しているのが、DfinityのInternet Computerである。これであればWebもストレージも、全てオンチェーンで完結し、先進的な開発言語やInternet Identityという素晴らしい認証の仕組みもある。

実は、イーサリアムなどこれまでのブロックチェーンのサービスは、分散型といいながらWebサーバやストレージはAWSなどのクラウドを使っている。一方で Internet ComputerはWebサーバやストレージも含めて、すべてInternet Computer上で動かすことができる。そのため第3世代ブロックチェーンと言われる。

しかしながら最近、Internet Computerは理想的すぎるゆえに、逆に一般への普及が難しいのかも、と思い始めた。Internet Computerだけで全てをまかなうということは、性能面で高い水準を保ったまま、今後のWeb3の普及スピードにリソース面でも対応していく必要がある。しかし、Internet Computer はビットコインやイーサリアムのように、誰でも簡単にノードを構築し接続できるようなものではない。

実際にInternet Computer のサブネットにノードを接続するためのハードウェア要件、ネットワーク要件、可用性要件などのハードルは高く、データセンターレベルのスペックが求められる。そのため個人レベルの参加は現実的には難しい。これではリソースの増強が追いつかず、限られたサービスしか動かせなくなるのではないか。

思うにInternet Computerは技術的には素晴らしいが、モノリシックで柔軟性に欠けるため、他と相容れることができず、孤立し、メジャーになれないかもしれないと危惧している。いわゆるガラパゴス化の危険性だ。過去の様々な例からも、技術的に優れているものが必ずしもシェアを取れるとは限らない。

そこで最近注目しているのが ArweaveをベースとしたSCP (Storage-based Consensus Paradigm) という考え方だ。これがイーサリアムや Internet Computer とは方向性が真逆の、パラダイムシフト的なものである。SCPであればシンプルさと柔軟性、理想と現実を両立できる可能性がある。

SCPとは

SCPのコンセプトを簡単に言うと、コンピューティングとストレージの分離である。イーサリアムでは全てのフルノードでスマートコントラクトの計算が行われるが、それはある意味リソースの無駄であり、永遠に全体のボトルネックになるという考え方だ。ブロックチェーンをあくまでストレージとして利用することで、ブロックチェーンの透明性や信頼性と、従来のWebシステムが持つ性能や可用性を両立させようとしているのがSCPである。

SCPでは計算と保存は完全に切り離され、スマートコントラクトはオフチェーンで実行される。極端に言うと、計算を行うのはAWSでもスーパーコンピュータでも、個人のPCでも何でもかまわない。自由である。それにより、理論的には無限のコンピューティング能力を持つことができる。処理能力が足りなくなればどこからか持ってきて、追加すればいいからだ。これにより、スケーラビリティのボトルネックは無くなる。

また開発コストも大幅に下げることができる。Solidityなど特定の言語に縛られないので、任意のプログラミング言語で開発できるのだ。なぜならストレージ上にコードはあっても、実行するのは外部のシステムだからである。外部のシステムがストレージからコードを読み込み、実行し、結果をまたストレージに保存する。そしてブロックチェーンでデータの信頼性が担保される。

チューリングマシン

エンジニアであればチューリングマシンを知っている人は多いだろう。SCPの説明ではチューリングマシンの話が出てくる。チューリングマシンはコンピュータのモデルとも言われる仮想の計算機械で、数学者のアラン・チューリングという人が1936年に発明したらしい。チューリング完全という言葉もあり、イーサリアムはチューリング完全だ、などと言ったりする。

チューリングマシンの仕組みは単純で、磁気テープとそれに文字を書き込んだり、読み込んだりするヘッドがあるだけである。ヘッドが左右に移動して、データを読み込み、計算結果をテープに記録する。この単純な仕組みで、現在のコンピュータが行う全ての計算ができ、アルゴリズムが実現できるらしい。

チューリングマシンの説明では数学的な話が色々出てくるが、私も難しいことはわからない。ただ、SCPを理解する上でのポイントは、チューリングマシンで言うところのテープとしてブロックチェーンを使う、ということだ。ブロックチェーンはあくまでデータの読み込みと保存を行うためにある。

それなら、ブロックチェーンである必要があるのか、と思うかもしれない。しかしながら、これまでのDBや一般的なストレージでは、データの完全性や透明性、可用性、低コストなどを担保することが難しかった。パブリックブロックチェーンであればそれらを実現することができる。SCPは長年論理的なモデルでしかなかったチューリングマシンを現実のものにしたと言えるのかもしれない。

 

選択肢の重要性

計算と保存を切り離す大きなメリットは、要件に応じて計算にかけるコストを選択できることである。その選択がイーサリアムやInternet Computerではできない。その違いは現実的な普及を考えると大きい。

SCPではストレージとしてArweaveなどのブロックチェーンを使うことでデータの完全性を保つことができ、それを正とすることでコンピューティングが自由になった。処理がエラーになろうが、サーバがダウンしようが、やり直せばいい。ほとんどの場合それでいいのである。データは消えていないのだから。

金融サービスなど、フロントエンドやコンピューティングに高い処理能力や高可用性を求める場合だけコストをかければよく、そこを自由に選択できるというのが重要だ。既存システムとの統合や移行もやりやすい。

オンチェーンかオフチェーンか

今のイーサリアムにおけるレイヤー2やロールアップも、やっていることはコンピューティングの切り離しである。負荷の高い計算部分を切り出して、結果だけをイーサリアムに保存して完全性を担保するというやり方だ。そうすることで処理能力を上げようとしている。が、それなら最初からコンピューティングを持たない方がシンプルだよね、というのがSCPであるという理解だ。

そういう意味で、イーサリアムは画期的ではあったが、現実的に考えると中途半端なのかもしれない。機能の付け足し付け足しで何とかしようとして、どんどん複雑化しているように見える。もちろんそれを否定するわけではないが、最初に言ったように、私はシンプルな方が好みである。全てオンチェーンで行くならInternet Computerでいいし、オフチェーンならSCPでいいと思う。

おわりに

Web3という言葉の良し悪しはともかく、世の中が行き過ぎた中央集権から、自立分散化の方向に向かっていくのは自然な流れだろう。その中でブロックチェーンがはたす役割は、やはり大きいとおもう。そしてInternet Computerこそが理想のプラットフォームだと思っていたので、SCPを知ったときは衝撃だった。どちらが優れているということではなく、別の選択肢もあるというのが利用者にとっては重要だろう。それぞれの今後の動向にも注目していきたい。

IIJ Engineers blog読者プレゼントキャンペーン

Twitterフォロー&条件付きツイートで、「IoT米」と「バリーくんストラップ」と「バリーくんシール」のセットを抽選でプレゼント!
応募期間は2022/12/01~2022/12/31まで。詳細はこちらをご覧ください。
今すぐツイートするならこちら→ フォローもお忘れなく!

syucchin

2022年12月22日 木曜日

九州支社で技術リサーチやビジネス開発などの業務を行っています。将棋が好きで、棋力はウォーズ二段ぐらいです。