メインコンテンツまでスキップ

lesson-1_IPFSってなんだろう

👀 Section 1 の NFT の問題点とは

section 1では、ネット上にアップロードされている画像を使って、NFTを作成しましたが、ほとんどのNFTはこのように作成はされていません。 多くのNFTは、オンチェーン上にすべての画像データを置くかIPFSに画像をアップロードする方法で作られています。 オンチェーン上でNFTを作成する方法は、Project2で解説されていたので、こちらでは、IPFSで作成する方法を紹介したいと思います。

🖼 IPFS とは

IPFSとは、保存されたデータが改ざんされていないことを保証して、その上データが長期間、自身または誰かが保持してくれている間はずっと保存される仕組みです。 これだけでは、なぜそんな事ができるのかわからないと思うので、次にそれを実現する仕組みについて書きたいと思います。

🎨 IPFS の仕組みとは

今から、書くことは公式の説明を翻訳したものになるので、気になる方はリンク先を読んでみてください。 これから書く仕組みは、あなた自身のローカルのノードまたはピンサービスかIPFS対応サービスのノードで、IPFSにファイルを保存したときに起こっていることです。

  1. IPFSにファイルを追加すると、ファイルは小さなチャンクに分割されて、ハッシュ値で暗号化され、content identifier(CID)と呼ばれるものが与えられます。
  2. 他のノードがあなたのファイルを探しているとき、ファイルのCIDで参照されるコンテンツを保存しているのが誰なのか、相手のノードに聞きます。
  3. そして誰かがあなたのファイルを見たり、ダウンロードしたりすると、そのキャッシュがコピーされ、そのキャッシュが消されるまで、あなたのファイルを他のノードに提供する人になります。
  4. ノードは、コンテンツを永久に保持(提供)するためにコンテンツを固定したり、スペースを節約するためにしばらく使っていないコンテンツを廃棄したりすることができます。つまり、ネットワーク上の各ノードは、自分が興味のあるコンテンツだけを保存し、さらに、どのノードが何を保存しているかを把握するのに役立つインデックス情報も保存します。
  5. IPFSに新しいバージョンのファイルを追加すると、その暗号ハッシュは異なるので、新しいCIDが取得されます。このため、IPFSに保存されたファイルは改ざんや検閲に強く、ファイルに変更があってもオリジナルを上書きせず、ファイル間の共通のチャンクを再利用して保存コストを最小化することができます。

🙋‍♂️ 質問する

ここまでの作業で何かわからないことがある場合は、Discordの#ethereumで質問をしてください。

ヘルプをするときのフローが円滑になるので、エラーレポートには下記の3点を記載してください ✨

1. 質問が関連しているセクション番号とレッスン番号
2. 何をしようとしていたか
3. エラー文をコピー&ペースト
4. エラー画面のスクリーンショット