新しいインターネット、分散型システム「IPFS」の革新性を解説|XSL Labs寄稿

IPFS革命

1969年10月29日、ARPANETネットワークの上で、「ログイン」という史上初のメッセージが送信されました。アーパネットは、インターネットの起源とされます。

ネットワークでの初めてのデータ通信でした。50年後、人類はインターネットのおかげで世界と「つながる」ことができます。日常生活に活用されているインターネットは、人類の最も貴重な技術だと考えられています。

一方で、分散型のネットワークモデルであるP2P(Peer to Peer)形式が発展してきました。多数の利用方法、性能向上、コンペティターなどはインターネットの発達を促しましたが、集中型のアーキテクチャに基づくネットワークになっています。

2007年の有名なカンファレンスイベント*1において、「ベンジャミン・バヤール」(Benjamin Bayart)は、ネットワーク中立性に関する課題を提示しました。中立性が無くなったら、自由にネットワークを利用できるのかが疑問視されました。

「IPFS」 (InterPlanetary File System) *2は分散型ファイルシステムです。IPFSの開発者 「ホアン・ベネット」 (Juan Benet)は、耐障害性の低い集中型システムについてのトラブルを解決するため、BitTorrentのようなP2P技術を用いたデータ転送プロトコルを開発してきました。

XSL Labsの技術文書ではIPFSについて、特に、検証可能な資格情報の発行者のパブリックプロファイルの可用性に関して言及しています。これは、このプロトコルをエコシステムに実装するためです。

インターネット: 集中型のネットワークから分散型のネットワークまで

Mediumを元に編集部にて作成

集中型のネットワーク

インターネットは、Minitelクライアント/サーバーの仕組みを利用して、多くの集中型サービスへアクセスできます。この集中型のネットワークを最大限に活用したのは、世界を席巻するビッグ・テック:巨人IT企業のGAFAMです。結果としてシンプルな集中型アーキテクチャおよびインターネット利用の大衆化がもたらされました。

この集中型モデルでは、ユーザーは中央機関が所有しているサービスに接続し使用します。これらの機関は巨大な権力を集中させています。Facebookはコンテンツを勝手に変更することができ、アメリカ国家安全保障局(NSA)のPRISMのような監視プログラムも生まれています。

集中型のネットワークにおけるクライアントは、巨大なサーバーとデータセンターに接続し検索する仕組みになっており、ネットワークの整合性は中央機関に頼っています。

テックジャイアントは、巨額の利益を得るためユーザーの個人データを収集し、活用しています。彼らの「ツール」は広く採用され、簡単に個人データを集めることが可能です。巨大企業なためにライバル企業の存在は無視できる程度のものです。

非中央集権型のネットワーク

非中央集権型のネットワークは、多くの相互接続サーバーを利用し、リソースは複数の中央サーバーにコピーされる仕組みです。ネットワークに接続するアクセスポイントに縛られているので、これ自体がユーザーの独立性を保証するわけではないことには注意してください。非中央集権型のシステムは、集権型のシステムと分散型のシステムの真ん中にあると言えます。

分散型のネットワーク

分散型のネットワークに集権性はなく、誰でも(ユーザーたち)は参加者としてネットワークのノードになり、このノードはデータを含みます。IPFSのアプローチは、 コンテンツをネットワークの参加者で分散して管理するので公平性の高い仕組みです。そして、分散型のIPFS機能は、今まで利用されている集中型のネットワークの対改ざん性・耐障害性・対検閲性などのトラブルに対してソリューションを提供します。

また、IPFSは、政府によるネット検閲がかなり難しい仕組みになっています。

たとえば、2017年4月、トルコ政府によってトルコ国内からWikipedia *3への閲覧が制限されました。しかし、これに反応して、閲覧制限が出来ないよう分散型のIPFSの仕組みを使用して、トルコ語版ウィキペディアのコピーがオンラインに登場しました。

世界中の人々のデジタル権利を擁護する非営利団体、ONG Access Nowは、2018年のレポート「世界中のネットワークのシャットダウン状況」*4にて、25カ国にてインターネット制限が196回行われ、インターネットの検閲や規制(インターネット・ブロッキングという)が強くなってきていると報告した。

コンテンツ指向型のネットワーク

インターネットにおけるコンテンツのアドレス指定の性質そのものを変更できることは、IPFSの強みです。

集中型のネットワークは、ロケーションを使用してコンテンツをアドレス指定(英:アドレッシング)します。 すべてのコンテンツは、「DNS」(ドメインネームシステム)を経由して、ドメインネームに変換されるIPアドレス(インターネットプロトコル)が付いたサーバーでホストされる仕組みです。

コンテンツにアクセスするために、特定されたロケーションにてコンテンツを検索する必要があります。 これによって、障害またホストや政府の意志、さらには「DDoS攻撃」(サービス拒否攻撃)などによって、コンテンツのアクセシビリティを簡単に危険にさらすことになります。その上、このアドレス指定方法は、コンテンツに関しての改ざん(悪意のある変更)、移動、コンテンツが消えてしまう可能性、IPアドレスの変更などが懸念されます。

IPFSシステムはロケーションベースのアドレス指定をコンテンツのアドレス指定に置き換えます。コンテンツ自体は、CIDを使用してインデックス付けおよび取得される。

イメージとしては以下のようになります:

ロケーションベースのアドレス指定の場合、下記の形式になる: https://xsl-labs.org/wp-content/uploads/2021/03/illustration-3-1.png

イメージ(ドキュメント ≪ illustration-3-1.png ≫) は(wp-content/uploads/2021/03/) のファイルのツリー表示にあって、このファイルのツリービューは「xsl-labs.org サーバー」にある。

コンテンツベースのアドレス指定の場合、先の形式は下記の通り: /ipfs/#hashcode/wp-content/uploads/2021/03/illustration-3-1.png

イメージ (illustration-3-1.png) は(wp-content/uploads/2021/03/)のファイルのツリー表示のままにある。

しかし、一意のハッシュ (#hashcode) はロケーションに置き換わる。ハッシュまたは「CID」(Contents Identifier)は、物理的なサーバーに関係なく、コンテンツ自体から作成される。

返されるデータの整合性を保証する、暗号化ハッシュ関数を使用してハッシュコードが生成される。つまり、コンテンツが入手可能である限り、変更されずに取得できるわけです。

データが中央に置かれなくなり、ノード群に配置されることで、IPFSプロジェクトは、切断できない「永続的な」インターネットの可能性をもたらします。

IPFSとハッシュツリー

Merkle Tree(https://leftasexercise.files.wordpress.com/2018/04/hashtree.png?w=1058)

コンテンツベースのアドレス指定は、コンテンツをハッシュ関数に通すことによって生成され、マークルツリー形式のユニークな「CID」の仕組みを使用します。

IPFSを使用してファイルを共有するために、ファイルは特定されたサイズ(通常は256kB)のいくつかのブロックに断片化されます。したがって、ブロックの数はファイルのサイズによって異なります。

ブロックのサイズは小さいため、簡単に複製でき、ネットワーク全体に分散します。そして、データの可用性を保証することが可能です。各ブロックは、そのコンテンツに一致するハッシュによって識別されます。

次に、ブロックのハッシュがペアで結合され、ルートハッシュまたはCIDという単一のハッシュが取得されるまでハッシュされます。

ブロック間での識別及びリンクのシステムを経由して、元ファイルを再構築するために、再結合されたすべてのブロックにCIDがアクセス可能にします。これは「DAG」(有効非巡回グラフ)と呼ばれます。ホアン・ベネットは、「Merkle DAG」構造と表現しました。

このハッシュシステムは、データの整合性も保証します。データの単一のブロックが破損または変更された場合、そのハッシュは変更され、ルートハッシュまでの「親」も変更されてしまいます。コンテンツが変更されないことが保証されるシステムです。

コンテンツ可用性の確保

Juan BenetのIPFSはインターネットを分散化するプロジェクトで、インターネット混雑についてのトラブルを解決する仕組みです。ネットワーク帯域幅が飽和状態になり、需要が多くなるとともに通信速度が遅くなり、動画などがなかなか見れなくなってしまいます。

2020年には、インターネット全体の混雑緩和のため、政府がNetflixやYoutubeのビデオストームに関する帯域制限を行いました。これらは全て回線混雑のソリューションである。

実は、IPFSの強みは同時に弱みである。なぜなら、分散型のネットワーク(ノードの星座のよう)を作成するために、ほとんどのすべてのユーザーがアクティブなユーザーとして、ネットワークの一部になる必要があるためです。

ベネット氏によると、これによってネットワークを最適化できるといいます。情報は集中型でないので、近い場所から利用しやすくなります。ただし、プロトコルが広く採用されない場合、及びP2Pプロトコルのように採用されない場合、「シーダー」(アクティブなユーザー)が足りなくなるせいで、コンテンツが表示されなくなります。

したがって、コンテンツがネットワーク内の1つまたは少数のノードでのみ利用可能であるとは考えられない。「IPFSクラスター」は、この問題を解決するサービスで、コンテンツを固定し、IPFSノードのネットワークに確実に保存され、コンテンツに常にアクセスできるようにすることができます。

IPFSを利用するおかげで、XSL Labsのエコシステムでのヴェリファイアブル・クレデンシャルズ(検証可能な認証情報)の発行者の正当性をいつでも確認できるようになります。そのため、IPFS参照により、発行者のクレデンシャルの公開情報を簡単に見つけることができるはずです。

インターネットへのアクセス、配信及びネットワークの効率性やアクセシビリティは、未来へのチャレンジです。個人情報に対するユーザーが支配を再び取り戻すことは、我々のミッションであり、政府からの規制や監視社会、検閲と戦うべきです。この観点から、IPFSはインターネットの本来の理想に向けた一歩を踏み出します。

(1)https://www.fdn.fr/actions/confs/internet-libre-ou-minitel-2-0/

(2)https://ipfs.io/

(3)https://observer.com/2017/05/turkey-wikipedia-ipfs/

(4)https://www.accessnow.org/cms/assets/uploads/2019/07/KeepItOn-2018-Report.pdf

著者:t.tenporin

画像はShutterstockのライセンス許諾により使用
「仮想通貨」とは「暗号資産」のことを指します