====== IPFS: InterPlanetary File System ====== [[https://ipfs.io/|IPFS.io]] ===== 特徴 ===== * 分散ストレージ * 全てがブロックチェーンに構築されている訳ではないが、思想はブロックチェーンとほとんど同じ * コンテンツ指向のプロトコル * HTTP はローケーション指向(URLがコンテンツの"場所"を示している) * 例: [[http://www.google.co.jp|http://www.google.co.jp]]  * IPFS はコンテンツのハッシュ値(ユニークな値でCIDと呼ばれる)でコンテンツを示す * 例: [[ipfs://QmT78zSuBmuS4z925WZfrqQ1qHaJ56DQaTfyMUF7F8ff5o|ipfs://QmT78zSuBmuS4z925WZfrqQ1qHaJ56DQaTfyMUF7F8ff5o]] * 上記CIDは「hello world」という文字列コンテンツのURL * ほとんど Winny と同じ * コンセンサスアルゴリズム: PoSP(Proof of Storage Power)つまり共有するディスクサイズ ===== IPFS の仕組み ===== (参考リンク)[[https://note.com/navitime_tech/n/n485437748b96|Web3の技術、惑星間ファイルシステム(IPFS)について調べる]] 複数の IPFS ノードでコンテンツが伝搬し、複数の IPFS ノードにキャッシュが残る。 {{https://assets.st-note.com/img/1652145054122-lg2pkfI8di.png}} キャッシュには有効期限があり、アクセスが無いと消える。消さないためにピン止めする機能が存在する。「ピンニング業者」と呼ばれる事業形態も存在する。 {{https://assets.st-note.com/img/1652145541008-E8I28n6iMn.png}} ===== IPFS メリット ===== * コンテンツのアップロードと参照は無料でできる * 分散ストレージ * 単一障害点がない * 負荷も分散される ===== IPFS デメリット ===== * ファイルがずっと存在する保証はない * 永続化する方法は存在している(ピンニング業者) * 永続化・期間限定の保存は可能だが有償になる * ファイルが消せない可能性もある * 遅い場合がある(特にまだIPFS分散ネットワーク内で広がっていないファイル) ===== IPFS のブラウジング ===== * Google Chrome の拡張機能「[[https://chrome.google.com/webstore/detail/ipfs-companion/nibjojkomfdiaoajekhjakgkdhaomnch|IPFS Companion]]」をインストールすると、Webブラウザで IPFS 上のコンテンツを参照できる * (例) [[ipfs://QmT78zSuBmuS4z925WZfrqQ1qHaJ56DQaTfyMUF7F8ff5o|ipfs://QmT78zSuBmuS4z925WZfrqQ1qHaJ56DQaTfyMUF7F8ff5o]] * 現状、Chrome が直接 IPFS 上のコンテンツを参照しているのではなく、IPFS ゲートウェイである「[[https://ipfs.io/|https://ipfs.io/]]」が IPFS のコンテンツを取得し、Chrome に結果を返している。 * [[https://brave.com/ja/|Brave]] は IPFS をサポートしている。 * [[https://ja.wikipedia.org/wiki/Brave_(%E3%82%A6%E3%82%A7%E3%83%96%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6)|Brave - Wikipedia]]