Ethereumの「本質的な問題点」と「その解決策」について調査しました

こんにちは、マナブです。
今回は、下記の内容を解説します。

  • Ethereumの本質的な問題点
  • Ethereumを裏側で支配する企業
  • Pocket Networkのサービス紹介

上記のとおり。

具体的には「Ethereumのノード運営」における問題点や、あとは「インフラ社による支配」の話。あとは「Pocket Networkという新サービス」を紹介します。

注意点:現時点で「意味不明」でもOKです

多くの人は、すでに「なんだこりゃ…」となっているはず。

そもそも「ノード運営」とかも謎だし、あと「Infura社」も意味が分からんし、、やはり仮想通貨の世界は難しいから諦めよう、、と考えるかもです。

しかし大丈夫です。
すべての意味を、1つ1つ解説します。

1つ1つの理解があると、徐々に階段を登れます。
すると景色も良くなるので、ぜひご覧くださいませ。

Ethereumの本質的な問題点について

問題点の結論は「ノード運営にインセンティブがないこと」です。

そもそも、ノードを知っていますか?

Ethereumは、たくさんの「ノード = パソコン」によって管理されています。イメージとしては、下記の画像のとおりです。

node

こういった感じで、複数のパソコンが繋がり、そこに「ブロックチェーンのデータ」が保存されています。多くの人が「分散して保存」をしているから、だからこそ「堅牢性=セキュリティ」が高まる訳ですね。

質問:ノード運営をしたいですか?

皆さんは、ノード運営をしたいですか? 僕は「やってもいいけど、、そこまで気が向かないかな」と思っています。というのも、特にメリットがないからです。というか、メリットがないだけじゃなく、費用が発生します。

ノード運営を始める方法

パソコンを使ってノード運営をするなら、下記が必要です。

  • 高速なCPU (4コア以上)
  • 16 GB以上のメモリ
  • 高速なSSD保存 (500 GB以上)
  • 25 MBit/s以上のBandwidth

上記のとおりで、たぶん多くの人は「あぁ、、なんかパソコンのスペックが書いてるな」と思うはず。その通りです。要するに「高速なパソコンを用意しないといけない」ということです。

しかし繰り返しですが、Ethereumノードを運営しても、別に稼げる訳じゃないです。それなら、、誰もやらないですよね。Ethereumに愛が深い人か、もしくはオタクの人なら運営するかもです。

※補足:より詳細に言うと、ブロックチェーンサービスを開発する企業なら、ノード運営する場合が多いです。というのも、自前のノードを用意した方が、色々と開発面で便利だからです。詳しい内容は「Ethereumブロックチェーンの同期」の記事をどうぞ。

ノード運営は「中央集権化」している

このような背景から、現状のノード運営は「中央集権化」が起こっています。具体的には「Infura社 (インフラ社)」という企業が、有名です。例えばですが、皆さんは「メタマスク」を使ったりしますよね。1つ実例を出します。

上記ツイートでは、僕が作成した「コイン配布アプリ」を紹介しています。アプリ内容はシンプルで「ボタンを押したら、バナナトークンが貰えるだけ」です。気になる方は触ってみて欲しいですが、ここでも「Infura社」を使っています。

メタマスクでの通信=Infura社の利用

ブロックチェーン系のサービスを使うときは、ほぼ100%の確率で「メタマスクでの接続」が出てきますよね。このメタマスクは「Infura社」が運営しています。メタマスクを使うことで、簡単に「Dapps ( = ブロックチェーンのアプリ)」を利用することができます。

例えばですが、僕が「コイン配布アプリ」を作って、自前のノードを立てて、そこで運営することも可能です。しかし、それじゃあコストがかかるし、ハイスペックPCも買わないとだし、、大変ですよね。こういった問題を解決するのが「Infura社」です。

開発者は、開発にフォーカスできる

ここで僕は「Infura社 = マーケットを支配しているから悪」とは考えません。むしろ素晴らしい企業です。メタマスクのようなサービスがあるからこそ、ブロックチェーン産業が発展する訳ですよね。

ノード運営せずにサービス開発できますので、開発者は開発に専念できる訳です。ノード運営に関しては、その道のプロである「Infura社に任せる」という感じです。

Infura社は、儲かっています

ノード運営にメリットはないと記載しましたが、Infura社は儲かっています。というのも、APIリクエストに応じて「課金」をしているからです。

infura

上記のとおり。なお、APIリクエストとは、要するに「データ取得リクエスト」のことです。ブロックチェーンのサービスを運営したいなら、ブロックチェーンの「データ」が必要ですよね。そしてデータを取得するには、ブロックチェーンから引っ張らないといけません。データを引っ張るには、ノードが必要です。

つまりInfura社は「大量のノード運営をする → 利用者からのデータリクエストに応じる → リクエストが多い場合は有料化する」というサービス運営をしています。

※僕もInfura社のサービスを使っていますが、僕が運営するような「弱小アプリ」の場合は、完全無料です。大規模なアプリを運用するなら、有料になります。

しかしInfura社には、問題もある

基本的には、下記2つの問題を抱えています。

  • 問題点①:サーバーが落ちてしまうリスク
  • 問題点②:政府などから検閲されるリスク

上記のとおり。順番に見ていきましょう。

問題点①:サーバーが落ちてしまうリスク

大半の「Dapps (=ブロックチェーンのアプリ)」は、メタマスクを使っています。しかしInfura社のサーバーが落ちたり、もしくは「ノード運営の障害」が発生したら、どうなりますか? 被害が大きくなりそうですよね。下記をご覧ください。

2020年11月11日の早朝、Infura社のノードが停止した。解決までに、7時間以上がかかりました。原因は「Infuraが管理するノードのバグ」です。

詳しい内容は「Infura Mainnet Outage」をご覧ください。要するに、大規模な障害は「過去に発生済み」ということです。1つに依存してしまうと、このような問題が起こりやすくなります。

問題点②:政府などから検閲されるリスク

例えばですが、最近のインドは「クリプトの規制強化」に向けて動いています。そうなった場合に、例えば下記が起こったらどうしますか?

  • インド政府「Infura社は、直ちにインドへのサービス提供を止めること。そうじゃないと、罰金を課す。」

あくまで例え話ですが、あり得る話ですよね。もっというと、Infura社のサービスは「Amazonサーバー」にて運営されています。

繰り返しですが、ノード運営にはハイスペックPCが必要だと話しましたよね。ハイスペックPCを買う代わりに、Amazonサーバーを使うことも可能です。そしてInfura社は、Amazon社の「AWS」というサーバーを使っています。つまり、場合によっては「下記のシナリオ」を考えることができます。

  • インド政府「Infura社は、直ちにインドへのサービス提供を止めること。そうじゃないと、罰金を課す。AWSも同様です。サービス停止してください。」

上記のとおり。こうなった場合に、企業は国家に逆らえません。つまり「ブロックチェーンのサービスが、政府によって妨げられる」ということを意味しますよね。ブロックチェーンのサービス自体は停止しませんが、インドに住んでいる人は、特定のブロックチェーンサービスが使えなくなるかもです。

というわけで、以上が「Ethereumの本質的な問題点」です。

しかし、これらの問題は「2022年の2月現在」の話です。テクノロジーは発展していきますので、僕は未来に期待しています。そして、1つ1つ問題は解決に向けて進んでいます。その話を後半で書きます。

※補足:ここまでの解説を読むと、Infura社が超巨大に思えるかもですが、もちろん競合他社も存在します。具体的には「Alchemy」という会社です。

今後も競合は増えると思うので、必ずしも「Infura社=完全独占」という訳ではないので、ご理解ください。しかし記事では「分かりやすさ」を重視したいので、基本的には「Infura社」を取り上げつつ解説しています。

Ethereumの問題点を解決する方法

Ethereum

解決策に進む前に、1つ記事を紹介します。それが「My first impressions of web3」という記事です。海外では、かなりバズっていました。内容を要約すると、下記のとおりです。

  • Web3は分散と言われているけど、分散していない
  • Infura社のようなサービスが、市場を独占している
  • 多くの人はノード運営に興味がないから、独占が進む
  • Dappsは、Infura社が提供したデータを表示するだけ
  • Infura社が嘘のデータを出したら、それが表示される

上記のとおり。良質な記事なので、時間がある方は原文もどうぞ。なお、ちょっと技術的な話なので、1点だけ補足します。特に下記の部分です。

Dappsは、Infura社が提供したデータを表示するだけ

上記の解説です。例えばですが、Web上に「ブロックチェーンのデータ」を表示する際には、次のような流れが実行されます。

  • 手順①:Infura社にデータ提供のリクエストが送られる
  • 手順②:Infura社が「JSON形式」で必要なデータを返す
  • 手順③:取得したJSON形式のデータを、Webで表示する

上記のとおり。JSON形式のデータとは、下記のような感じです。

json

こういったデータをプログラミング言語で処理することで、Webページが表示されます。そして、多くのDappsでは「Infura社の、JSON形式のデータを使って、ページを表示している」という状況です。

では、Infura社は嘘を付いたらどうしますか?
Webで表示される情報も、すべて嘘になってしまいます。

こういった問題提起がされており、ここに関して「Ethereum創設者」の「ヴィタリック氏」がコメントしています。ここを解説します。

ヴィタリック氏の回答:解決に進んでいる

詳細な内容は「Reddit - My first impressions of web3」をご覧ください。僕の方で「超要約」をしますと、ヴィタリック氏の主張は下記のとおりです。

  • その①:Infura社のデータは、ユーザー側で検証できるようになる
  • その②:現状は「ライトクライアントの実装」が進んでいる
  • その③:複数のエンドポイントからデータ取得する方法もある

上記のとおりで、1つ1つを深堀りして解説します。

その①:Infura社のデータは、ユーザー側で検証できるようになる

現状は「Infura社で提供するデータ → そのまま信頼する」という状況です。しかしヴィタリック氏は「将来的には、ユーザー側での検証が可能になる」という話をしています。要するに、下記ですね。

  • Infura社がデータ提供をする
  • ユーザーが自分のノードで正確性を検証する
  • 正しい情報なら、そのデータを信じて利用する

上記のとおり。しかし、ここで「はてなマーク」が浮かぶはず。というのも、ユーザーが「自分のノード」を持つのって、めちゃくちゃ大変ですよね。コストもかかるし、ハイスペックPCも必要です。ここを解説していく技術が「ライトクライアント」です。次のパートで、見ていきましょう。

その②:現状は「ライトクライアントの実装」が進んでいる

ライトクライアントとは、つまり「軽量なノード」ということです。完全なノードを運用するのは大変だけど、各自ユーザーが「軽量なノード」を自分のスマホに入れておけば、安心だよね、ということです。

つまり「Infura社がデータ提供をする→ユーザーがスマホアプリのライトクライアントで検証→問題ないならデータを使う」という流れです。これが実現されると、Infura社がマーケットを支配している問題から脱出できます。

※補足:ライトクライアントでのデータ検証では「マークルツリー」という方法が使われます。詳しい内容は「トランザクションデータを要約する技術 - マークルツリー」の記事をどうぞ。

その③:複数のエンドポイントからデータ取得する方法もある

さらにヴィタリック氏は「エンドポイントを複数にする研究も進んでいる」と発言しています。つまり「データ取得をする際に、色々なノードからランダムでデータ取得したらいいよね」という話です。そうしたら、1つのノードを信頼しなくていいので、信頼性が高まりますよね。

というわけで、以上が「簡略化した要約」です。繰り返しですが、詳しい内容は「Reddit - My first impressions of web3」をご覧ください。とはいえ、原文は難しい場合もあるので、多くの人は「僕が解説した内容」で充分だと思います。

最後に:Pocket Networkの紹介

Pocket Network

Pocket Networkの価値とは

結論は「Infura社 × トークン経済」です。

現状のマーケットでは、Infura社が大きな支配をしています。ここを分散化していくために、Pocket Network社が誕生しました。とはいえ、まだまだ新しい企業なので、未来は不明です。下記より、サービスの概要を簡単に解説します。

ノード運営に「インセンティブ」を作る

簡単に解説すると、下記のような設計になっています。

  • 従来のノード運営 → 運営しても稼げない。やりたいと思わない。
  • Pocket Network → ノード運営すると「トークン」を稼げる

上記のとおり。そして、サービスの支払いは「トークン」で実行されますので、法定通貨を使うよりも手数料が安くなります。シンプルに解説すると、このような説明になります。

開発者の視点から、考えてみる

例えばですが、僕が「Dapps」を作ったとします。その際に「自前のノード運営」は大変ですよね。つまり、選択肢としては次の2つがあります。

  • 選択肢①:Infura社を利用する
  • 選択肢②:Pocket Networkを利用する

上記の方法がありまして、皆さんなら、どちらを選びますか? 僕だったら「安定性と価格」を考えて選ぶと思います。安定性に関しては「Infura社」が勝ちますよね。サービスの歴史も長いし、規模が大きいので信頼できます。

しかし「価格面」に関しては、Pocket Networkが勝つかもです。というのも、Pocket Networkでは「利用料の支払い=トークン購入」になるからです。Pocket Networkのトークン価格が上がるなら、将来的に資金回収できる可能性があります。とはいえ、ここは「逆も成り立つ」ので、正解は存在しません。

Pocket Networkは、成長するのか?

結論は「分かりません」なのですが、1つ思考実験があります。例えば「Infura社」が「Pocket Networkの仕組み」を真似たら、どうなりますか?

Pocket Networkは「Infura社 × トークン経済」のサービスです。しかし考え方によっては、Infura社に仕組みをコピーされる可能性があります。コピーされたら、Pocket Networkの立場は危うくなりますよね。

どちらにせよ、未来は良くなる

僕はPocket Networkへの投資家じゃないので、そこまで未来に興味はないです。しかし僕は「Ethereumへの投資家」なので、この視点から考えます。

結論は「どちらにせよ、Ethereumの未来は明るい」です。

Pocket Networkが伸びるにせよ、そしたらノード運営にインセンティブが生まれるので素晴らしいです。Infura社がトークン発行するにせよ、それも面白い展開だと思っています。何が起きても、Ethereumにはプラスに働きますよね。

というわけで、以上がPocket Networkの簡単な紹介です。より詳しく知りたい方は「Economics - Pocket Network」をどうぞ。トークン経済を勉強できます。

それでは、今回の記事は、これにて終了です。
最後まで読んでいただきまして、ありがとうございました😌

参考文献のまとめ


※PS: ブログは「週1回」のペースで更新します。更新通知は「Twitter」と「メルマガ」でお知らせします🙋‍♂️