InterPlanetary File System

出典: フリー百科事典『ウィキペディア(Wikipedia)』
ナビゲーションに移動 検索に移動
InterPlanetary File System
開発元 Protocol Labs
リポジトリ github.com/ipfs/ipfs
プログラミング言語 プロトコル実装: Go (参照実装), JavaScript, Python
クライアントライブラリ: Go, Java, JavaScript, Python, Scala, Haskell, Swift, CommonLisp, Rust, Ruby, Swift, PHP, C#
対応OS FreeBSD, Linux, macOS, Microsoft Windows
サポート状況 現行
種別 プロトコル, 分散ファイルシステム英語版, コンテンツデリバリネットワーク
ライセンス MITライセンス
公式サイト ipfs.io
テンプレートを表示
ウィキペディアのロゴには QmRW3V9znzFW9M5FYbitSEvd5dQrPWGvPvgQD6LM22Tv8D というIPFSのハッシュが付けられている。ロゴにはハッシュを使って 公共ゲートウェイローカルのIPFSインスタンスによってHTTP経由でアクセスできる。

InterPlanetary File System (IPFS)とは内容アドレスかつP2Pのハイパーメディア分散プロトコルである。IPFSネットワークにあるノードは分散ファイルシステムを形成する。

インタープラネタリー・ネットワークスがオープンソースのコミュニティからの協力を得ながら開発しており[1]、ユアン・ベネット (Juan Benet) が最初に提唱したプロトコルである[2]

解説[編集]

IPFSは同じファイルシステムである全てのコンピューターへの接続を試みるP2P分散ファイルシステムである。複数の点で、IPFSはWebと共通点があるが、IPFSは単一のBitTorrentスウォームのように1つのGitリポジトリの中でオブジェクトを交換することが出来る。言い換えれば、IPFSはハイスループットの内容アドレスブロックストレージモデルを内容アドレスハイパーリンクで提供する。この形式はマークル木有向非巡回グラフで生成される。また、IPFSは分散ハッシュテーブルとインセンティブブロック交換、自己証明名前空間を組み合わせている。また、単一障害点がなく、お互いに信頼しあう必要もない[3]

ファイルシステムはFUSEやHTTP経由といった複数の方法でアクセスできる。ローカルファイルもIPFSのファイルシステムに追加することができ、世界中で利用することができる。ファイルはそれぞれのハッシュで識別することでキャッシングしやすくなる。また、Bittorrentをベースにしたプロトコルを使って拡散する。コンテンツを見る他のユーザーはネットワーク上で他人にコンテンツを提供することになる。IPFSにはPKIをベースにしたグローバル名前空間であるIPNSと呼ばれるネームサービスがあり、信頼できるチェーンを構築するために提供されており、他のNSesと互換性がある上、 DNS、.onion、.bitをIPNSに対応付けることができる[4]

評価[編集]

ウェブホスティングサービスのネオシティーズ英語版設立者であるカイル・ドレイクはIPFSはHTTPその他数多くのプロトコルとソリューションの後継になると確信しているとし「HTTP分散コンテンツには根本的な欠陥があり、パフォーマンスチューンナップの意義もなく、壊れたCA SSLが強制されるが、それらも修正されるであろう。」と述べている[5]

脚注[編集]

  1. ^ The IPFS Project”. 2015年9月11日閲覧。
  2. ^ IPFS README - Who designed it?”. 2015年9月11日閲覧。
  3. ^ The IPFS Project - How it works”. 2015年9月11日閲覧。
  4. ^ IPFS README”. 2015年9月11日閲覧。
  5. ^ HTTP is obsolete. It's time for the distributed, permanent web”. 2015年9月11日閲覧。

外部リンク[編集]