FilecoinとIPFS
Filecoinは分散型ストレージのバックアップですが、Filecoinのブロックチェーンに保存されているデータはどこから来るのでしょうか?データはまずIPFSノードに追加され、ストレージプロバイダーとの交渉を行い、その後、情報がFilecoinに保存されます。
IPFSは、ファイル、データ、アプリケーションを保存し、アクセスするための分散型システムです。ご存知の方もいると思いますが、ファイルシステムはそのデータの構成に基づいてデータにアクセスします。FATファイルシステムはアロケーション・テーブルを使ってデータを検索しますが、NTFSファイルシステムはハードリンクとデータストリームを使っていて、IPFSはコンテンツIDs(CIDs)を使っています。デベロッパーがIPFSのネットワーク上に保存されているアプリケーションやデータにアクセスする必要がある場合、そのCIDのコピーを持っている必要があります。
しかし、IPFSはブラウザではネイティブにサポートされていないため、データにアクセスするには仲介者が必要となります。IPFSゲートウェイは、その機能をデベロッパーやユーザーに提供します。CIDを持っている人は、IPFSネットワーク上に保存されているデータにアクセスすることができます。CIDによって、そのデータに復元性を持たせることができます。
例えば、何らかの理由でノードがダウンした場合でも、バックアップされている、他のノードで情報を利用することができます。IPFSゲートウェイは、CIDを利用して他のバックアップノードからデータをロードするだけで、データにアクセスすることができます。
Filecoinは、デベロッパーやユーザーがFilecoinブロックチェーンから長期のファイルストレージを借りて、お金を払ってデータを保存するレンタルシステムと考えることができます。ブロックチェーンは、取引が仲介され、セキュリティが確保されるメカニズムです。ストレージプロバイダーは、デベロッパーやユーザーがIPFSデータを長期的に利用できるようにするために、自分のストレージを提供することで、これらの取引にコミットします。
FilecoinとIPFSの仕組みを理解することで、Estuary、Web3.0 storage、NFT.storageのようなゲートウェイシステムが如何に素晴らしいかがわかります。
なぜ3種類のストレージシステムなのか?
事実上、これら3つのゲートウェイは似たようなことをしています。これらは、IPFSシステムに保存するためのデータを仲介役として受け入れ、CIDの収集を可能にし、ユーザーがFilecoinチェーンにデータを保存するためのコントラクトを作成する方法を提供します。
同じ機能を果たすのであれば、なぜ3種類必要なのでしょうか?それぞれのソリューションは、特定の目的と特定の利用者のために設計されています。それぞれの機能を真に理解するためには、詳細を見ていく必要があります。
Estuary
Estuaryは、デベロッパーがIPFSネットワークやFilecoinネットワークへの保存を自動化する取引のための手段です。これは、シンプルなIPFSノードで、その内部にFilecoinライブラリを統合し、IPFSとFilecoinブロックチェーンとのやり取りに必要な機能に簡単にアクセスできるようにしたものです。Estuaryは、Filecoinネットワークに大容量のストレージを取引させることに重点を置くと同時に、IPFSのデベロッパー・エクスペリエンスをサポートします。
Estuaryは、大規模なデータストレージを必要とするクライアントのために設計されており、現在、1時間あたり最大600件の取引を行えます。各Estuaryノードは、エコシステムの上限を超えるストレージ容量を持っています。
IPFSノードにアクセスしてストレージを交渉し、ストレージプロバイダーと同様な作業を行い、Filecoinブロックチェーンに手動で保存するという手間をかけることもできます。しかし、その手間は、特に保存するファイルが多い場合にはかなり面倒です。Estuaryは、デベロッパーとしてファイルを保存し、コントラクトを交渉するための分かりやすい方法を提供し、物作りをよりシンプルにします。
Estuaryのフロントエンドでは、ユーザーはログインして数回クリックするだけでIPFSにファイルをアップロード出来るようになっています。Estuaryは、ストレージプロバイダーに連絡し、そのうちの6社と検証済みのコントラクトについて交渉します。ユーザーは、Estuaryで直接情報を確認することもできます。データサイズが3.57GiB以下の場合、データは一時的にステージングエリアに保持され、数時間後に取引の交渉が処理された後、データ(他のパケットと一緒に)がブロックとしてネットワークに追加されることになります。
取引が作成されるとすぐに、CIDへのリンクが表示されます。グローバルに分散したネットワークからデータにアクセスできるようになるので、このCIDをアプリやウェブサイトで使用すると、どのパブリックIPFSゲートウェイからでもデータを取り出すことができます。データがまだFilecoinにバックアップされておらず、Estuaryにステージングされている状態でも、任意のIPFSゲートウェイからCIDを取得することができるため、データがFilecoinエコシステムに追加されたかどうかを気にすることなく、シームレスに開発を進めることができます。
EstuaryはIPFSのピニング規格を採用しているので、他の既存ソリューションからの乗り換えも簡単です。Estuaryは、サイズを問わず大量のファイルを転送する必要のあるソフトウェアを作成するユーザーに最適です。Estuaryは、特定のプログラミング言語を必要とせず、自分が最もやりやすい方法で使用することができます。操作が簡単なので、アプリやWebサイトの展開も容易に行えます。
Web3.Storage
Web3.Storageは、IPFSネットワークやFilecoinブロックチェーンとのやり取りに使用されるゲートウェイの別バージョンです。このサービスは、Estuaryと同様に、IPFSシステムにデータを保存する方法を提供します。ユーザーはIPFSネットワークにアクセスし、データを保存したり、そのデータを無料で取り出すことができます。
IPFSやEstuaryとの統合には多少の準備が必要ですが、Web3.0 storageは、IPFSネットワークやFilecoinストレージを利用して、統合を気にすることなく、すぐにアプリ開発に取り組めます。
Estuaryと同じように、システムにアクセスするにはAPIキーが必要ですが、無料のアカウントを開設してファイルをアップロードするだけの簡単な作業です。そのファイルがあれば、APIキーを使って、curlやブラウザから直接アクセスすることができます。
ウェブアプリの構築をより簡単にするために、コードからIPFSを利用できるJavaScriptインターフェースが用意されています。IPFSノードを構築するスクリプトにはAPIキーが必要ですが、サイト上のドキュメントからコピーペーストすることができます。
CIDを使ってファイルに直接アクセスし、JavaScriptアプリの合理化・最適化により、IPFSネットワーク上に保存されたデータを利用することが出来ます。使い方が簡単なので、JavaScriptベースのアプリケーションを作っているデベロッパーが、web3.0 storageを使ってファイルを直接アップロードしたり、取得したりしたい場合には、理想的なストレージソリューションと言えます。
Web3.Storageの使用、または詳細についてはこちらをご覧ください。
NFT.storage
非代替性トークン(NFT)は、現在インターネット上で最も注目されている資産の一種となっていますが、NFTをオンラインで保管することは、多くのユーザーにとってまだ少し手間がかかります。NFT.storageは、IPFSネットワーク上にNFTを保管するための専用インターフェースで、Filecoinのブロックチェーンにも自動的に複製されます。
NFT.storageがこれまでのゲートウェイと決定的に違う部分は、NFTの売買に欠かせないメタデータを保持していることです。NFTは、ブロックチェーン環境におけるアート作品やコレクターズカードのようなものであるため、そのメタデータは、これらのデジタル資産が誰のもので、どこにあったのかを判断する上で非常に重要です。NFTには長期的な存続性が求められますが、IPFSのような分散型ストレージシステムはそれを無料で提供してくれます。
NFT.storageは、EstuaryやWeb3.storageと同様なストレージの内容を採用しています。アップロードされたデータにCIDを発行し、ユーザーはストレージの取引状況をFilecoinのブロックチェーン上で確認することができます。NFT.storageを介して保管されたNFTは、そのコンテンツIDを介してあらゆるIPFSゲートウェイからアクセスすることができます。APIの統合が容易で、開発環境との統合も迅速に行えることから、NFT.storageは、NFTクリエイターが自分の作品を迅速かつ容易にブロックチェーン上にアップロードするのに適しています。
いくつかの著名なNFTマーケットプレイスは、すでにIPFSとFilecoinでサービスを強化しています。この分野でよく知られているPalmとVideoCoinは、コンテンツの保存と取り出しにIPFSを使用しています。NFT.storageは、クリエイターが仲介者を介さずにネットワークとやり取りする方法を提供しています。FilecoinやIPFSは、クリエイターたちが期待するIPFSの堅牢な分散型ネットワークによるファイルの復元性を提供することで、NFTクリエイターをサポートしています。
nft.storageについてはこちら、詳細についてはこちらご覧ください。
何を使うべきか?
アプリケーション利用について | IPFSとFilecoinにパブリックデータを保存するため、任意のブラウザまたは当社のAPIを使用する | インフラ不要のFilecoinでアプリを作る | オフチェーンのNFTデータの保存に特化したBETA版の新サービス |
インフラが必要? | ❌ | ❌ | ❌ |
最大のファイルサイズ | 無制限、または、インフラのハードウェアが許す限り | 約32GB | 約32GB |
Amazon S3を使用した場合 | ❌ | ✔️ | ✔️ |
Cloudflareを使用した場合 | ❌ | ✔️ | ✔️ |
ドキュメントの場合 | ✔️ | ✔️ | ✔️ |
ライブコード・ドキュメント | ✔️ | ❌ | ❌ |
IPFS Clusterを使用した場合 | いいえ。しかし、Estuaryのシャトルシステムは同じ機能を持っています | ✔️ | ✔️ |
APIキーが必要 | ✔️ | ✔️ | ✔️ |
GUI(これらの製品はすべて、ウェブサイトでご覧いただけます。ウェブサイトでは、ファイルをアップロードしたり、ファイルを閲覧したりすることができます。) | ✔️ | ✔️ | ✔️ |
管理者用GUI(ノードごとにストレージプロバイダー、ユーザー、コンテンツを管理して負荷を軽減) | ✔️ | ❌ | ❌ |
CARサポート | はい、任意です。 | ✔️ | ❌ |
招待制 | はい、ユーザーは応募してください。 | いいえ、Web3.0 Storageは誰でも利用できます。 | いいえ、NFTストレージは誰でも利用できます。 |
プログラミング言語の条件 | どれでも | JavaScript/TypeScript | JavaScript/TypeScript |
ご意見・ご感想フォーム | ✔️ | ❌ | ❌ |
NPMモジュールの必要性 | いいえ、NPMモジュールはありません。 | ✔️ | いいえ、任意です。 |
コマンドラインサポート | ✔️ | ✔️ | ✔️ |
NFTの教育とサポート | 部分的に | 部分的に | ✔️ |
オフライン取引 | ❌ | はい、テスト中です。 | はい、テスト中です。 |
Filecoinアドレスと取引のための決済の自動化 | ✔️ | ❌ | ❌ |
Filecoinストレージでの取引を行う | ✔️ | Estuary、TextileのBidBodなど、開発中の有望なオプションを採用 | Estuary、TextileのBidBodなど、開発中の有望なオプションを採用 |
Filecoinで取得の作業を行う | ✔️ | ||
小さいファイルを集約し、プロバイダ向けにFilecoinのストレージを提供 | はい、4 GBの取引にまとめます。 | ||
Filecoin取引の複製 | 98の選択肢のうち6倍のプロバイダ(2021年9月1日) | ||
プロバイダの取引のログと履歴(成功取引、エラー、質問、Lotusのバージョン、その他の有用な情報を記録します。) | ✔️ | ||
プロバイダ紹介ページ | ✔️ | ||
データが実際にFilecoin上にあることを確認するツール | ✔️ | ||
レピュテーション・システム | ✔️ | ||
独自の取引・ノードの実行はできるか (独自の方法でプラットフォーム・ソフトウェア全体を実行できるか) | ✔️ | ||
プロバイダのコントロール(自分に取引案件が来るかどうかをプロバイダがコントロールできるか?管理者がプロバイダを一時的に停止することができるか?)。 | ✔️ | ||
最大取引のサイズ | 32GB | ||
アプリケーション・リンク | ESTUARY.TECH | WEB3.0 STORAGE | NFT.STORAGE |
何を作りたいかによって、選び方はかわります。JavaScriptを得意とするウェブデベロッパーであれば、Web3.0 storageが使いやすく、自分の開発ニーズに合っていると感じるかもしれません。一方、分散型のアプリケーションを開発していて、データの保存方法をより細かくに管理したいとします。その場合、Estuaryが適していますが、バックエンドはより複雑になる可能性があります。もしあなたがNFTクリエイターで、アップロードされた作品をよりコントロールしたいのであれば、NFT.storageがお勧めです。これら3つのツールは、多くの同じアクションを実行しますが、それぞれが特定のユースケースに適しています。どのツールを選んでも良いと思います。
本ブログは、www.filecoin.io/blog からの翻訳となります。
ソース: https://filecoin.io/blog/posts/decentralized-storage-estuary-web3.storage-and-nft.storage/
まずは資料請求
お忙しい経営者の方や資産運用の担当者の方に
資料送付や最適なプランのご提案を無料で行っております。