![見出し画像](https://assets.st-note.com/production/uploads/images/132613731/rectangle_large_type_2_c0c5e4c3cbe2c2fd9bd75d4e96312962.jpeg?width=1200)
NFTデータストレージの最適解
「NFTの価値とはなんですか?」この問いに対する答えの一つとしてNFTがあらわす画像などのデジタル資産があると思います。今回はこのデジタル資産の保管方法について考えていきます。
NFTがあらわす画像、ビデオ、音楽などのデジタル資産はNFTメタデータに格納されます。これらのメタデータは保存するためには多くの容量が必要になります。そのため、基本的にNFTメタデータはオフチェーンに保持され、NFTスマートコントラクトで参照されます。データは現在、IPFSなどを通して分散化されていますが、NFTメタデータは現在、NFTを作成した発行者に委ねられています。これは何を意味するのでしょうか?詳しく見ていきましょう。
デジタル資産の保存場所
オンチェーン
まず、オンチェーンから見ていきます。オンチェーンNFTは、ブロックチェーン上にすべて記述されたNFTです。このNFTはブロックチェーンに書き込まれて保存されます。基本的に、これらのNFTのメタデータなどの情報はすべてメインネットに書き込まれ、ブロックチェーンに保存されます。これにより、NFTを維持するためにサードパーティなどの外部システムに依存する必要がありません。そのため、ブロックチェーンが正常に機能している限り、このNFTは使用できます。
しかし、これには大きな問題があります。オンチェーンNFTを発行するにはコストがかかりすぎるのです。たとえば、CyberBrokersは10001個のNFTをオンチェーンへ移行させるのに3500万円かかったとされています。この例のようにオンチェーンにすべての情報を保存するのは現段階ではハードルが高くなっており、基本的にはオフチェーンに保存されています。
ではオフチェーンに保存されるメタデータの保存場所はどこになるのでしょうか?詳しくみていきましょう。
中央サーバー
NFTの説明、画像などのメタデータはほとんどの場合、中央サーバーなどのオフチェーンに保存されます。たとえば、Openseaで生成したファイルは、Openseaのオフチェーンサーバーに保存されます。openseaが廃業した場合、そのコントラクトが自分自身のものであると証明できるか怪しくなってきます。これは、そのサーバーを運営している企業が運用を停止したり、サーバーがシャットダウンされたりした場合、NFTに紐づけられていた画像が消えるという問題が引き起こります。このような中央サーバーに継続的に依存しているNFTは、NFTに結び付けられていたメタデータが失われる可能性があるのです。
この問題のソリューションとして分散型データストレージがあります。このストレージは、永続性と改ざん、検閲などを防止する特性を持っています。今回はIPFSとArweaveを紹介します。
Inter Planetary File System(IPFS)
IPFSは、ファイル、Webサイト、アプリケーション、およびデータを保存およびアクセスできるようにするための分散型ファイルストレージネットワークです。データを永続的に保存し、ネットワークコンピューターに保存されている情報のアドレスを取得することを目的としています。IPFSを使用すると、ユーザーはP2Pのファイル共有を介して分散型の方法でコンテンツをホストおよび受信することができます。これにより、ユーザーがデータ全体の一部を保持し、強力なファイルストレージシステムを構築できます。
詳細については公式ドキュメントをご参照ください。
![](https://assets.st-note.com/img/1709319884019-53dAY8Pter.png?width=1200)
IPFSの弱点は、永続性が保証されないことです。ファイルは、ネットワーク内のノードの1つがコンテンツを保存し、それが動いている限り、IPFS上に存在することになります。そのため、ファイルをIPFSに長期保存するために、多くのNFTプロジェクトとマーケットプレイスは、コピーを保持するIPFSノードが常に一つ以上のノードを維持するようにしています。NFTのIPFSデータを維持しているプロジェクト、プラットフォームが失敗し、コピーを保持していたノードがクリアまたはシャットダウンされた場合、保存されているすべての情報が失われることになります。
Arweave
Arweaveは永続性を保証する分散型ファイルストレージネットワークです。Arweaveというネットワーク上にPermawebというレイヤーがあり、このレイヤーに画像などのメタデータ、アプリケーションなどを保存することができます。Permawebにあるコンテンツはすべて永続的で変更することはできません。Arweaveは、Blockweaveという技術によりコスト効率の高い方法でストレージを提供することができています。詳細についてはをArweave公式Wikiご参照ください。現在はSolanaなどのチェーンが独自のストレージを構築する代わりにArweaveを活用するなどしています。
![](https://assets.st-note.com/img/1709319926950-GAFZZnRSnw.png?width=1200)
IPFSは一定の決められた契約期間の分を前払いしているのに対して、Arweaveは永続的なデータ保管を前提に料金をデータ保管者に前払いする仕組みになっています。Arweaveは、料金の計算が正確であれば、データを永続的に保存できるようになっています。少なくとも200年間、または基金がある限り、データを保存することを保証されているのです。Arweaveは、ほぼ永久的なサイクルを持つサービスを提供しており、ストレージ基金を利用しています。Arweaveは、ストレージ基金の量と比較して保守的に見積もっており、ほぼ永続的であると言えるでしょう。
メタデータの保存方法
では実際にNFTプロジェクトはどの保存方法を使っているのでしょうか?
今回はイーサリアムチェーンのコレクティブNFTの上位50をまとめてみました。
![](https://assets.st-note.com/img/1709319961142-7m8YwGatHA.png?width=1200)
これらのプロジェクトの26%が中央サーバーを使用していることがわかりました。また、64%はIPFSを使用しています。IPFSはメタデータが変更されないことを保証しますが、メタデータが削除されないことを保証しません。これは、良くも悪くもNFTプロジェクトとその運営は運命共同体と言えます。そのため、上位のプロジェクトの多くは運営に左右されるというリスクを抱えていることを示しています。また、近日Onchainに移行するなどの動きを見せているプロジェクトが出てきており、今後この内訳が変わっていくことは必然でしょう。
比較と考察
ここまでNFTのデータストレージのシステムを見てきました。では、どのストレージがデータ保管に最適でしょうか?今回は永続性、透明性、スケーラビリティ、コストの観点から比較していきます。
永続性
NFTの発行者は、NFTの存在を維持するためにNFTのメタデータを管理する必要があります。中央サーバー以外の今回紹介したサービスは、保有者はNFTの基盤となるメタデータを完全に制御でき、NFT保有者のドメインに保存されるため、そのサービスが続く限り永続的です。中央サーバーの場合、発行者はシャットダウンするか、NFTスマートコントラクトにリンクされたメタデータを削除するかを決定できる権利があります。
IPFSの場合、発行者はIPFSネットワーク上にノードを展開し、NFTのファイルストレージをホストしています。ただし、データストレージを維持するには、少なくとも1つ以上のノードが稼働している必要があります。そのため、NFTプロジェクトやマーケットプレイスが閉鎖され、そのノードが削除された場合、NFTのメタデータが削除されるリスクがあります。短期的には問題ありませんが、永続性が保証されていなため、長期的にはそうではありません。その点Arweaveは、データを永続的に保持するように一回限りの料金でノードにインセンティブを与えています。そのため、Arweaveに保存されたデータは少なくとも200年間データを保持することができます。これは長期的にみても問題はないでしょう。
透明性、改ざん防止
NFTのスマートコントラクトは、見ることができ、コードが透過的でなければなりません。また、NFTのメタデータと所有権の記録の改ざんも防止する必要があります。
その点、NFTの特性上、スマート コントラクトの透明性および改ざん防止は、保証されています。メタデータの場合はどうでしょうか?メタデータを保存するシステムは中央サーバーを除く他のサービスは透明性、改ざん防止の特性を持っています。そのため、中央サーバーを使用しているNFTプロジェクトはメタデータを改ざんされるリスクを抱えています。
スケーラビリティ
NFTを作成する際には大量の処理に対応できる必要があります。今回紹介したサービスは大容量ストレージをサポートしており、スケーラブルであるため、この点は問題無いでしょう。
コスト
NFTの発行コストは許容できる価格帯にある必要があります。中央サーバー(Google drive)の場合、15ギガバイトを無料で提供し、その後は、100ギガバイトを月250円で提供しています。IPFS(Pinata)の場合、1ギガバイトを無料で提供し、その後は、1ギガバイトあたり月210円で提供しています。Arweaveの場合、200年以上を1ギガバイト640円で提供しています。これは、1ヶ月に換算すると0.26円程度となります。結果は比べるまでもありません。また、オンチェーンの場合も見ていきましょう。SSTOREを使用して1GBを保存した場合、1GB/32 * 20000 * 10e9/1e18 * 1500 = 14億円となります。近日、オンチェーンストレージコストを削減するものも出てきていますが、それを加味したとしても他のストレージに対して高価になっています。
![](https://assets.st-note.com/img/1709320024701-nt5cgl1en7.png?width=1200)
比較表
結論
これまでいくつかのストレージシステムを見てきました。中央サーバーは、低コストでNFTを保存できるという利点がありますが、多くの欠点があります。また、IPFSは現段階で最も一般的な中央サーバーの解決策となっていますが、NFTのメタデータが削除されるリスクを抱えています。その点、Arweaveは、メタデータを低コストでかつ永続的な方法で保存できることを考えると、NFTデータストレージの最適解と言えるでしょう。
![](https://assets.st-note.com/img/1709320041121-Q89Y76u23o.png?width=1200)
今後
今後、多くのNFTが問題を抱えていることを考えると、メディアファイルが破損したり、無くなるケースが多数発生することになると予測できます。また、NFTのユーザーは、データストレージの脆弱性の認識が高まるにつれ、中央サーバーを使用したプロジェクトを避けるようになるでしょう。NFTの発行者は、これらの問題を認識し、最適なデータストレージを選択することが大切になります。
※この記事はDecember 4th, 2022に編集したものになります。