BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース ブロックチェーンでレジリエントかつ検閲困難な分散型ストレージを目指すFilecoin

ブロックチェーンでレジリエントかつ検閲困難な分散型ストレージを目指すFilecoin

原文(投稿日:2021/02/15)へのリンク

2017年にローンチされたFilecoinは、協調型ディジタルストレージとデータ取得ソリューションの実装にブロックチェーンを使用した、オープンソースの分散型ストレージネットワークである。

FilecoinはIPFSを基盤に使用し、ユーザが自身のハードディスク上の任意の未使用ストレージスペースを貸し出して、独自の暗号通貨であるfilecoinと交換する、というものだ。ストレージの提供者と利用者間の契約の登録にブロックチェーンを使用している他、データ複製メカニズムにもブロックチェーンを使用することによって、検閲に対して耐性を持つソリューションを主張する。

Filecoinにはファイルの削除やサービス停止を迫る中央的なプロバイダが存在しないことで、検閲に対して抵抗します。さまざまな人や組織が運用する、数多くのさまざまなコンピュータがネットワークを作り上げているのです。障害のあるアクタや悪意を持ったアクタはネットワークによって識別され、自動的に排除されます。

Filecoinでは、データが他の場所にある何らかのオリジナルのレプリカとして保存されていることを保証するために、ストレージプルーフ(storage proof)アルゴリズムを採用している。このプルーフはRustで実装されているが、システムの他の部分はGoで記述されている。

リファレンス実装のLotusを開発したソフトウェアエンジニアのAayush Rajasekaran氏に話を聞いた。

InfoQ: Fileconとは何なのでしょう?

Aayush Rajasekaran: 人類にとって最も価値ある情報を保存するように設計された、分散型ストレージネットワークです。Filecoinプロジェクトは、信頼性の高いストレージを実現するプロトコル、ストレージの提供者とクライアントが対話するオンラインマーケットプレイス、ネットワークを強力なものにするための経済的インセンティブを提供する暗号通貨から成り立っています。

その核となるのが、証明可能なストレージ(provable storage)という概念です。簡単に言うと、ストレージを"証明"するというのは、どこかに保管されているデータの、ある一部分のユニークなレプリカをあなたが所有していることを、任意のリスナに対して確信させる、という意味です。保存されているデータがユニークに複製されている、というのは重要な点です。そうでなければ、長いゼロ文字列(あるいは何らかの無効データ)を保存している、という主張が可能になるからです。

ストレージを証明する素朴な方法は、証明を要求する人に対して、保存しているデータ全体を単純に提供することなのですが、データのサイズが大きくなると、この方法は実行不可能になります。Filecoinのプロトコルでは、ストレージの証明にセキュアな暗号化アプローチを採用しています。ストレージの提供者は、このような証明を日1回送信します。それをFilecoinネットワークのすべてのノードが評価するのです。結果として、Filecoinストレージプロバイダを使ってデータを保存している人は、知らない間にデータを紛失したり破損したりすることを心配する必要はありません。そのような場合には、ネットワークが1日以内にそれを検出して、ストレージプロバイダには適切なペナルティが課せられることになります。

Filecoinマーケットプレイスは、ストレージの利用者と提供者が出会い、ストレージ契約を交渉する場を提供します。ストレージのクライアントは、価値のあるデータを有償で保存したいと考えている任意のエンティティです。ストレージのプロバイダは、余剰ストレージを活用して利益を得たいと考えているエンティティです。クライアントはプロバイダにデータを転送し、ネットワークのネイティブな暗号通貨であるFilecoinを支払います。

暗号通貨それ自体は、Bitcoinやその他の暗号通貨と同じように、ブロックチェーンである分散台帳で管理されています。Filecoin上で生成されたブロックは、有効なProof of Storageを含んでいる場合に有効です。Proof of Storageは、ネットワークにストレージを提しているプロバイダのみが生成可能な、簡単な計算で求められるデータ片です。ブロックを生成することで、ストレージプロバイダはブロック対価を獲得します。これがネットワークにストレージを提供することの付加的なインセンティブになるのです。このような立場で機能するストレージのプロバイダは、ストレージマイナ(storage miner)と呼ばれます。

InfoQ: 現在運用されている他のブロックチェーンベースのソリューションと比べて、どのように違うのでしょうか?

Rajasekaran: 大きな違いは、Filecoin上で行うブロック生成は無駄ではない、という点です。Filecoinネットワークにおける"マイニング"は、有効なストレージに基くものです。この点が、BitcoinのようなProof of Workブロックチェーンが必要とする膨大な計算量とは対極にあります -- Bitcoinなどのネットワークでブロックを生成するには高価なハードウェアと高額なエネルギーコストを要しますが、関連するパーティには何の利益もないのです。

他のブロックチェーンベースのソリューションとFilecoinを接続する余地も十分にあります。EthereumなどのネットワークにおけるdApp開発は、その多くがストレージのスケーリングという問題に苛まれています。dAppが永続化する必要のある情報はすべてチェーン上に配置されるため、すべてのノードオペレータのストレージに保存される必要があるのです。Filecoinならば、dAppが必要とするような検証済ストレージ機能を提供することができます。Fiilecoinは現時点ではネイティブなSmart Contractをサポートしていませんが、そのような機能を加えるのは極めて簡単なのです。

InfoQ: 分散型ストレージは将来有望ですが、特有の問題も抱えています。多くのユーザが懸念するのは、データのプライバシやシステムのセキュリティといったことだと思われるのですが、このような問題にFilecoinはどう対処しているのでしょうか?

Rajasakaran: 幸いなことに、プロトコル自体の中核部にならなくても、ユーザのプライバシを保護することの可能な手段はたくさんあるので、イノベーションは難しくはありません。ストレージプロバイダに送信する前にユーザがデータを暗号化することが可能ですし、このような暗号化を自動的に行うクライアントを開発することもできます。Filesプロジェクトはそのような、プライバシを自動的に保護するFileconのアプリケーションの一例です。

一方で、ストレージの信頼性はプロトコル自体の中核的な部分です。セキュリティ保証という点で重要なのは、データ損失を検出する責任はストレージクライアントだけにあるのではない、ということです。すでに説明したように、データの破損はネットワーク全体によって直ちに認識され、自動的にペナルティが課される仕組みになっています。

さらにFileconマーケットプレイスでは、ストレージのクライアントが自身のデータの価値を見積もることが可能です。契約に同意した際にクライアントは、プロバイダに対して担保の提示を要求することができます。この担保は取引終了時に返却されますが、契約が失敗した場合にはプロバイダが失うことになります。自身のデータに対して多くを支払う用意のあるクライアントは、より多くの担保要求を受け入れる意思のあるプロバイダを見つければよいのです。

InfoQ: 分散型ストレージアリーナを展開しているのはFilecoinだけではありません。あなたから見て、Filecoinが競合サービスに対してユニークである点、優位な点は何だと思われますか?

Rajasekaran: 分散型ストレージに参加する他のサービスを"競合(competitor)"とは見ていません。Filecoinは完全にオープンソースです。従って、誰でも自由に使用して、ソフトウェアを改良することができます。一方でFilecoinは、データの破損を自動的に検出してペナルティを課すことの可能な、検証可能なストレージを提供する唯一のプロジェクトであり、

プロジェクトへの関心やサポートのレベルにも非常に高いものがあります。ネットワークが立ち上がって数か月であるにも関わらず、現在すでに3エクサバイトのストレージが提供されているのです。この事実が極めて多くの開発者、アプリケーション、インフラストラクチャ、エコシステム資金を呼び集めることによって、参加するのに相応しいコミュニティを作り上げています。

InfoQ: Filecoinや分散型ストレージ全般において近い将来、どのような開発が予想されるでしょうか?

Rajasekaran: チャンスはたくさんあります — 大規模な文化関連のデータセットの保存分散型ビデオアプリケーションデータ整合性検証アプリデータの保存と取得を容易にするコンシューマアプリDeFiユースケース分散型データマーケットブラウザサポートなど、枚挙に暇がありません。250以上のプロジェクトがハッカソンやアクセレレータを通じてエコシステムに参加しています。いずれもFilecoinやIPFSをベースとして、非常にクリエイティブなユースケースを開発しているプロジェクトです。

協調型ストレージの既存ソリューションはFilecoinだけではなく、MITのChordSiaStorjといったプレーヤも存在する。

この記事に星をつける

おすすめ度
スタイル

BT