見出し画像

Filecoinの現状と方向性について:総括

概要
Filecoinのエコシステム内では膨大な数の取り組みが行われており、それぞれの取り組みの関係性がわかりにくくなることもあるだろう。この記事ではFilecoinのエコシステムへの手引きを簡略化すべく、Filecoinの構造やロードマップを構成するさまざまな要素を説明する。

本記事は次の3つの区分によって構成される:

  • Filecoinとは?

  • Filecoinの大まかな構成要素の詳細

  • 総括

なお、本記事はFilecoinで進行中の大まかなプロジェクトを理解するための手引き書であり、Filecoinの全貌を徹底的に解説するものではないことを念頭に置いていただきたい。

この記事が読者にとっての拠り所となり、さらに興味を持った方にとっては記事内のリンクがさらなる出発点となることを期待する。

Filecoinとは?

「Filecoinとは何か」という問いに対する筆者の簡潔な回答は「IPFSプロトコル上に構築されたデータのためのオープンサービスを実現するもの」となる。

IPFSプロトコルは、データを特定のサーバーに紐付ける必要性を無くす機能をもつ。つまり、特定のコンピュータに貯蔵されているデータを減らすことができるのだ。

IPFSプロトコルの目標は、特定のデバイスやクラウドプロバイダ、ストレージネットサークに依存することのないデータの永続的な識別、計算処理や保存、移動を実現することだ。

コンテンツアドレスによる識別が非常に強力である理由や、CIDがいかなる可能性を切り拓くかについては、また別の記事で詳細に解説する価値のある重要なトピックであるので、ここでは割愛する。

ユーザーが公開市場でデータ関連のサービスを外注することを可能にする点で言うと、FilecoinはIPFSプロトコル上に構築されたインセンティブ型のネットワークだと言えるだろう。

現在、Filecoinは主にオープンサービスとしてのストレージに焦点を置いている。ただし、データの保存、分配、変換を可能にするインフラがFilecoinのビジョンに含まれていることも忘れてはならない。

このような視点でFilecoinの全貌を見てみると、Filecoinプロジェクトが目指す方向性、さらにはFilecoinがとる選択やトレードオフがより明瞭になる。

ここでは、Filecoinを大まかな構成要素に分けてみると理解が簡単になるだろう。

Filecoinは2つの大型プロトコルアップデートによって実現された3つの支柱によって構成されている。
  • ストレージ市場:既にコールドストレージとして実現している。現在改良中。

  • 取得市場:開発中。

  • Compute Over Data(CoD、オフチェーン計算処理):開発中。

  • FVM(Filecoin Virtual Machine、プログラム可能なアプリ):開発中。

  • Interplanetary コンセンサス(スケーリング):開発中。

それぞれの構成要素について、以下で詳細に解説していく。

Filecoinの大まかな構成要素の詳細

ストレージ市場

ストレージは、Filecoinの経済を支える必要不可欠な要素である。Filecoinのストレージネットワークはストレージプロバイダによって構成される公開市場だ。なお、ストレージネットワークではネットワークに参加するストレージプロバイダらがストレージ容量を提供し、利用者はそのサービスに対する手数料を入札できる仕組みになっている。

Filecoinでは、現在に至るまでに4000以上のストレージプロバイダによって17EiB以上のストレージ容量が提供されてきた。

Filecoinには、ストレージとデータの両方に関連する検証方法が2通りあるという点が特徴的である。それぞれの検証方法は次の通りだ。

  • Proof-of-replication(PoRep、複製の証明)

  • Proof-of-Spacetime(PoST、時空の証明)

PoRepはストレージプロバイダがある程度のストレージ容量を用意したこと、及びそのストレージ容量内の特有のデータ(空データまたはユーザのデータ)に符号化がなされていることを証明することができる。これによって、Filecoinネットワーク上でデータが完全に複製され保管されていることが証明できる。

PoSTを行うことによって、ストレージプロバイダは特定のストレージ容量内のデータが確かに保管されていることをFilecoinネットワークに証明することができる。なお、この検証はネットワーク全体で24時間ごとに行われる。つまり、PoSTを行うことで特定のデータが時の経過と共に保管されていることが証明できる。

以上の2つの検証方法は、データの保管(ブロック報酬の獲得)を確実に行う信頼の置けるストレージプロバイダを奨励し、その一方でデータを紛失(スラッシング)したストレージプロバイダには厳しいペナルティを与えるという経済的インセンティブの仕組みに紐づいている。

このようなインセンティブの仕組みは、暗号的に執行されるサービス品質保証とも言えるだろう。ただし、Filecoinでは従来のサービス品質保証とは異なり、サービスプロバイダの評価に依存するのではなく、暗号論やプロトコルを活用して適切な運用を保証している。

一言にまとめると、Filecoinブロックチェーンはネットワーク内のデータやストレージ容量で起きている事象の検証結果をまとめた検証可能な台帳であると言えるだろう。

ここで、Filecoin独自のアーキテクチャの特徴をいくつか紹介する。

  • Filecoinストレージネットワーク(ストレージ容量)は17EiBと膨大であるにも関わらず、Filecoinブロックチェーンは日常的に家で使用するようなコンピュータでも検証可能である。これにより、Filecoinブロックチェーンはビットコインやイーサリアムと同様の特性を持ちつつも、ブロックチェーン技術に基づいたサービスを提供するのに必要なスケールの処理能力を実現している。

  • 以上で紹介したFilecoinの検証可能性は、オンチェーンではなくSNARKsを使用して検証することによって独自に実現されている。ZKロールアップがトランザクション群の妥当性を示すために検証結果を活用できるのと同じように、Filecoinでは検証結果を元にオフチェーンでデータの完全性を示すことができるのだ。

  • Filecoinでは、ストレージプロバイダがコンセンサスに応じてブロックチェーンのセキュリティを確保するために行う「処理」を、データの保存にも活用することができる。その結果、Filecoin上でストレージを利用するユーザーはブロック報酬やその他の手数料(取引手数料やメッセージの送付にかかる手数料)の存在から恩恵を受けているのだ。そのため、Filecoinのストレージ手数料は非常に安価となっている。なお、ストレージ手数料の価格についてはこのTiB/yearごとの科学的記録についてのページで示されている。

  • Filecoinは、ネットワーク上のデータの完全性に関する検証結果を介して定期的に「検査」されている。ネットワーク全体が24時間検査されていることに驚きを示す者もいるだろう。この検査で使用されるような検証可能な報告は、Filecoin上における独自のアプリケーションやプログラムの構築にも繋がる重要な基礎である。

Filecoinのアーキテクチャには、スケーラビリティや検証可能性といった数多くの利点がある。しかし、Filecoinの利点の代償となるのがその複雑性である。ストレージを提供するプロセスは組み行っており、ネットワークにデータを記録する工程には時間がかかることもある。この複雑性のため、現在のFilecoinの用途はコールドストレージに最適なものとなっている。

現在Filecoinを利用しているユーザーらの多くは、IPFSにおけるホットキャッシュとFilecoinにおけるコールドアーカイブを組み合わせたEstuary .techやNFT.Storage、Chainsafe’s SDKs、Textile’s Bidbotなどといったデベロッパー向けの簡易化ツールを利用していると見られる。

逆に、Filecoinを直接利用している者は大規模なアーカイブの保管を目的に利用している場合がほとんどだ。

しかし、Filecoinがストレージを提供するプロセスと検証可能性の両方を改善していくとともにホットストレージのユースケースも拡大していく点に注目する必要がある。これから発展していく見込みのある注目のプロジェクトは次の通りだ。

  • SnapDeals:次に紹介する3つの項目とSnapDealsとの組み合わせで、ストレージプロバイダはストレージを追加する過程をパイプラインへと変換することができる。つまり、ネットワーク上にすでに存在するストレージ容量にデータを追加することで、データをオンチェーンに移動するまでの時間を大幅に短縮できるようになる。

  • Sealing-as-a-service/ SNARKs-as-a-service:専門的なプロバイダらで構築された市場に高額な費用のかかる操作過程を外注することで、ストレージプロバイダはデータの保管に注力できるようになる。

  • Proofs optimizations(検証の最適化):Filecoinの検証結果を生成するためにコンピューターを最適化する。

  • より効率的な暗号学上の基本要素:検証生成の複雑さやフットプリントを削減する。

注釈:以上で紹介した項目は「read」の過程とは区別される。なお、readとはsealingの過程がなされていないデータの複製を活用してデータをより早く読み込む技術である。ただし、FilecoinがWeb2と同等の反応速度に到達するためには、次に解説する取得市場が必要になる。

取得市場

取得市場の理論は至って単純だ:大きなスケールであれば、公開市場を介してネットワークの末端でデータをキャッシングすることで光速問題を解決することが可能になり、従来のインフラよりも安価でのパフォーマンスを実現できる。

この理論を裏付ける主張は次の通りだ。

  • コンテンツ特有の「指紋」を基準としてデータを識別するコンテンツアドレスの技術は、データが検証可能であることの裏付けである。

  • どのようなコンピュータからのデータであれ、ユーザーは自身が要求したコンテンツと取得したコンテンツが合致することを検証できる。そのため、これは自由参加型(Permissionless)のCDNの実現を示す。つまり、誰もがインフラを供給しつつ、コンテンツを供給することができるようになる。

  • この自由参加型のネットワークに誰もがインフラを供給できるという前提があれば、中央集権的に計画立ててノードを配置するのではなく、ネットワークエッジでキャッシングを行うノードからCDNを構築することができる。また、インセンティブを活用してハードウェアの自己管理化することにより、パフォーマンスとコスト面において最適化されたトレードオフも実現できる。

Filecoinでの取得市場は、特定のネットワークのみが利用されることを強制するのではなく、取得市場を構築するにあたって必要な構成要素にかかる課題を解決することを目的としている。例えば、MagmoやKens Labs、Myel、Filecoin Saturnなどを参考にしていただきたい。

https://www.youtube.com/watch?v=acqTSORhdoE&ab_channel=Filecoin(22年4月より)

ワーキンググループの構造やアプローチを理解するにはこの動画を参考にすると良い。なお、進捗を追いたい者はこのページが役にたつだろう。

注釈:反応速度の要件を満たすためにデータの取得はオフチェーンで行われるが、サービスへの支払いはオンチェーンでも行うことができる。

Compute over Data(オフチェーンでの計算処理)

オープンサービスという難題の3つ目の鍵となる構成要素がCompute over data(以下データ計算処理)だ。データに関するサービスというと、データの保管と取得だけではなく、変換にも需要があるだろう。これらのデータ計算処理プロトコルの目標は、おおむねIPLDを通して処理を行うことだ。

IPLDとは、簡単に言うとコンテンツアドレスを利用したシステムのためのデータレイヤーである。IPFSで用いられるUnixFSなどといったファイルシステムをはじめとして、イーサリアムやGitのデータなどハッシュリンクが設置されたものなら何でも記述することができる。なお、この動画がIPLDへの良い手引きになるだろう。

IPLDの汎用性は、いかなるデータのインターフェイスにもなりうる点にメリットがある。さらに、IPLDと相互に作用する操作ツールを構築することで、独自ネットワークのデータ互換性を高めるツール構築に取り組むデベロッパーにとっての敷居を低くすることも可能だ。

注釈:以上で説明した点は、IPFSやIPLDに構築されているネットワークにとっては嬉しいポイントだろう。具体的には、CelestiaやGala Games、AudiusやCeramicなどといったネットワークが対象となる。

もちろん、全てのデータ計算処理を同じように構築するのではなく、ユースケースごとに異なる種類のものが必要になる。例えば、検証可能性に関する要件が一際厳しいユースケースであれば、操作結果が正しいことを証明する検証結果とともにゼロ知識証明が必要になることもあるだろう。また、データを完全に匿名に留めたいユーザーであれば、準同型でデータを暗号化する必要性が出てくる。あるいは、従来のクラウドシステムと同様のバッチ処理を採用し、経済担保や評価による担保を使用するユースケースもあるかもしれない。

出典:https://www.youtube.com/watch?v=-d4iJm-RbyA&t=537s&ab_channel=ProtocolLabs

現に、様々な種類のデータ計算処理プロトコルに取り掛かるチームは数多く存在する。例えば、Bacalhauなどといった大規模の並列処理や、Lurkといった暗号的に検証可能なデータ計算処理などが挙げられる。

Filecoinの興味深い特徴の一つとして、ストレージプロバイダらが、証明処理を行う上で必要となるGPUやCPUといった計算資源をデータと同じ場所に配置しているという点がある。この特徴のおかげで、Filecoinネットワークではデータを外部の計算ノードに移動するのではなく、計算作業をデータの元に配置することに適した体系を構築することができる。データには重力が付随するという前提のうえでは、Filecoinネットワークが膨大なデータを計算処理するユースケースに対応するために、このステップが必要不可欠である。

Filecoinは計算処理レイヤーをレイヤー2に配置できるよう上手く仕組まれている。

データ計算処理に関するワーキンググループの進捗は、このページから閲覧できる。

FVM(Filecoin Virtual Machine、プログラム可能なアプリ)

本記事ではここまででFilecoinネットワークに保管されているデータに関する3つのサービス(ストレージ、取得、計算処理)について紹介した。これらのサービスとその構成可能性は、Filecoin上でのサービスへの需要をさらに高めることに繋がるだろう。そして、その需要はFilecoinブロックチェーンにも流入し、より大きなブロック容量への需要へと変化することもありうる。

それでは、これらのサービスを強化するにはどうすれば良いのだろうか?

ここからは、その鍵となるFVMーFilecoinの仮想マシンについて紹介していく。

FVMは、Filecoinの状態を対象とした操作を可能にするものだ。このサービスは、先に紹介した公開市場と相互作用したり作動させたりできるという独自の機能とともに、Filecoinネットワークに他のネットワークに由来するスマートコントラクトの機能を導入するものだ。

FVMを利用することで、より洗練されたサービスを提供するためのインセンティブシステムをカスタムで構築できるようになる。具体的には、次のようなサービスが挙げられる。

  • DataDAOs

  • Retrievability Oracles(取得可能性に関するデータベース)

  • 永続的ストレージ取引・ストレージの寄付

  • 修復報酬

  • ストレージプロバイダを対象とした過剰担保を必要としないレンディング市場

  • ETL処理のパイプライン等

Filecoinの仮想マシンは、ハイパーバイザーのようにデザインされたWebAssembly(WASM)仮想マシンだ。FVMの目標は他のランタイムに数多く対応することだ。まずは、イーサリアム仮想マシン(EVM)への対応から取り組んでいる。

この互換性のおかげで、Filecoinは複数の仮想マシンに対応することになる。つまり、同じネットワークにおいて、EVM、MoveVMなどに対応したコントラクトをデプロイ可能になる。

また、多数の仮想マシンに対応することで、Filecoinのデベロッパーは他のエコシステムから取得した締結済みの契約を利用して、Filecoin経済圏内でオンチェーンのインフラを構築することもできる。さらに、他のエコシステムのメインネットがFilecoinネットワーク内のサービスにブリッジすることも容易になる。なお、数多くの仮想マシンへの対応により、Filecoin経済と他のレイヤー1の経済がメインネットで相互交流することも可能になるだろう。

ここではIPLD-WASMモジュールに注目していただきたい。なお、より一般なモジュールはバックポート可能となるIPVMだ。
出典:https://fvm.filecoin.io/

FVMは、Filecoinネットワーク上にカスタムで構築されたデータサービス(ストレージ、取得、計算処理)を展開したり作動させたりするのに必要な表現力を提供する点で非常に重要である。この機能によってFilecoinの基本要素の上に、より洗練されたサービスを提供することが可能となり、Filecoinの更なる普及が推進されるだろう。

注釈:具体的に何が可能になるかという例として、このTwitterスレッドを読めばスマートコントラクトやFilecoin基部を構築する基本要素を活用してより洗練されたサービスを提供する方法を理解する助けとなるだろう。

何より、Filecoinの仮想マシンは本記事で最後に紹介する重要な項目である「Interplanetary コンセンサス」を構築する基盤ともなる。

FVMの進捗はこのページから閲覧できる。また、FVMの詳細情報についてはこのページを参考にすると良い。

Interplanetary コンセンサス(スケーリング)

Interplanetary コンセンサスについて紹介する前に、今一度Filecoinが目標とするものが何かを振り返ってみよう。Filecoinは、データのストレージや取得、計算処理といったオープンサービスを構築して、中央集権的なクラウドサービスに代わる信頼性の高いサービスとなることを目標としている。

この目標を達成するために、Filecoinはブロックチェーン技術が現在提供しているものを凌駕する規模で運用される必要がある。

Filecoinが満たすべき具体的な要件は次の通りだ。

Filecoinネットワークの要件定義書。

上記の要件定義を見て、1つのブロックチェーンが全ての要件を満たすことに矛盾を感じる者もいるだろう。実に、矛盾していることは事実である。

そこで、Filecoinは全ての要件をベースレイヤーで無理に満たすのではなく、ネットワーク全体でこれらの要件を満たそうとしているのだ。

Interplanetaryコンセンサスを活用することで、Filecoinネットワーク上で再帰的なサブネットをその場で作成できるようになる。この体系が実現すれば、それぞれのサブネット独自でセキュリティとスケーラビリティのバランスを調整しつつ、各々のサブネットの親となるサブネットと情報確認を都度行うことができるのだ。なお、それぞれのサブネット上では、さらに独自で再帰的にサブネットを構築することも可能である。

この構造によって、誰もが自家用のコンピューターで検証作業を行えるようFilecoinのベースレイヤーのセキュリティを高い状態に維持しつつ、Filecoin上にベースレイヤーで繋げられた各々のトレードオフを持つサブネットを作れるようになるため、より多くのユースケースが実現される。

この図表内の「root」がFilecoinのベースレイヤーを示している。出典:https://research.protocol.ai/blog/2022/scaling-blockchains-with-hierarchical-consensus/#:~:text=Hierarchical%20consensus%20is%20a%20framework,other%20subnet%20in%20the%20hierarchy

次に、Interplanetaryコンセンサスのデザインに由来する興味深い特性をいくつか紹介する。

  • それぞれのサブネットは独自のサブネットを構築することができ、再帰的なサブネットを実現する

  • サブネット特有のメッセージ機能では、上下のサブネットやサブネット同士を渡ったメッセージが可能。そのため、どのサブネットでもコミュニケーションができる仕組みになっている。

  • セキュリティとスケーラビリティのバランスが調整可能。各々のサブネットは独自でコンセンサスモデルを設定し、ステートツリーの維持方法を自由に選ぶことができる。

  • Firewallに類似したセキュリティシステムを導入しており、子サブネットから親サブネットまでのセキュリティを確保している。それぞれのサブネットが親サブネットから投入されたトークンに紐づけられた限定的責任連鎖のようなものだと考えると良いだろう。

最後にInterplanetaryコンセンサスがFilecoinにもたらすものを詳しく解説する。

  • サブネットはそれぞれ異なるコンセンサス制度を導入可能であるため、Interplanetaryコンセンサスは他のエコシステムと直接通信できるサブネットを実現させることができる。例えば、Cosmosと通信できるTendermintサブネットが考えられる。

  • それぞれのサブネットは独自でセキュリティとスケーラビリティのバランスを調節でき、各々のトレードオフを設定するサブネット同士でのコミュニケーションが可能である。そのため、Filecoin上にはそれぞれに異なる特性をもつ領域ができることになる。処理能力の高いサブネットは非常に高速なローカルコンセンサスを得られるため、チャットアプリなども構築可能である。なお、それと同時にサブネットで得られた検証結果は高セキュリティのFilecoinベースレイヤーと情報確認ができる。(ただし、Filecoinベースレイヤーは検証可能性を有するが速度は遅いことには留意していただきたい。)

  • 情報処理量が膨大なサブネット(データセンターの機能を持つ場合や複数のノードを保有する場合など)では、FVMやIPVMを利用して「オンチェーン」で直接タスク管理や実行を行うことができる。なお、メッセージや支払いなどの取引はより安全なベースレイヤーで行える。

さらに詳細を知りたい者にはこのブログ記事が参考になるだろう。なお、ConsensusLabの進捗はこのページで追うことができる。さらに、IPCとL2の違いを知りたい者はこのGithubページを読むと良い。

最後に

本記事を読了してFilecoinとは何か、そして現存するいかなるプロトコルとも違う特性をもつ点がより明白になっただろう。Filecoinは単なるストレージネットワークだけではなく、独自のオープンサービスで完全に分散されたネットワークを実現させるという大志を抱いている。(Teslaが単にロードスターを販売することを目標としているのではないのと同じことだ。)

他のWeb3分野のインフラと比較しても、Filecoinはたった1つのサービスを遥かに超えるものを目指している。Filecoinは多くのレイヤー1とは異なり、ネットワークの構造から独自に実現される数々のユースケースに焦点を当てている。そのため、Filecoinは競合と同じユースケースを奪い合うのではなく、クリプト分野で実現可能な領域を独自に拡大できるのだ。

注釈:本記事は筆者の個人的な意見であり、筆者の雇用者の意見とは無関係である。なお、「公式」と捉えられるべきものではない。本記事は筆者のFilecoinエコシステム内での経験をもとにして、筆者がFilecoinとは何か、そして他とは何が違うのかと考えた上での結論である。ここで、本記事作成に協力していただいた@ducki_han氏と@yoitsyoung氏に感謝したい。