22
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

nem / symbolAdvent Calendar 2022

Day 6

NFTはオフチェーン発行で良い

Last updated at Posted at 2022-12-05

要約

  • オンチェーン化はあくまでユーティリティである
  • オンチェーン化しなくても半永続的なデータとトークンの関連付けは行える
  • オンチェーン化はトークンとデータが同じチェーンに存在しなければならない
  • オンチェーン化の恩恵を受けるのはホルダーである
  • オンチェーン化は作者がやるべきではない

オンチェーンVSオフチェーン

近年、ブロックチェーンにトークンの情報をすべて刻むオンチェーンNFTが一部ででてきています。
一般的にはNFTをオンチェーンにすることでデータがチェーンに保存され、データが消失しにくなると言われています。また、ブロックチェーン自体が消えない限りはデータが保存されるため永続性があるとも一部では言われています。

オンチェーンにするためにはデータのサイズに応じたTX手数料が必要となります。例えば、Symbolの一般的な手数料であるminFeeMultiPlier:100でバイナリ状態でデータを焼いた場合、10kB(1アグリゲートトランザクションの最大サイズ)あたり約10XYM程度の手数料がかかります(base64でエンコードした場合やcomsa等のマケプレではもう少し高くなります)。参考までにcomsaの手数料のリンクを張っておきます。

そして、トランザクション手数料が高いチェーンであるほど、書き込むデータの量が多ければ多いほど支払う手数料が膨大になります。こうしたことから、NFTではオンチェーンデータとしてファイルそのものを書き込むのではなく、ファイルのハッシュ値やIPFSをメタデータとして書き込み、オフチェーンのNFTとして発行することのほうが圧倒的に多いです(ファイルのメタデータすら刻まないNFTも多いのですが)

オフチェーンのNFTの場合、データをチェーン上から取り出すことができないため、マケプレ等による元データのホスティングが必要となります。この方法であれば手数料を大量に支払うことなく発行することができるためNFTを手軽に発行することができます。しかし、データのホスティングが不可能になった場合はNFTの元のデータが消失しトークンとの連結を示すことができなくなります。

では、NFTを発行する際にオンチェーンとオフチェーン、どちらを選択するべきなのでしょうか。この点について考えてみました。

定義

NFTとは何なのか、という定義は人によって様々ではありますが、この記事では本来無価値であるはずのトークンに画像などのファイルが関連付けられることによって価値を持った状態になったものとします。逆に、関連付けがないトークンは無価値とします(実際には価値が残るのかもしれないですが)
少し強引な定義だとは自分でも思うのですが、特にNFTのデータ以外の価値が紐付けられていない場合、価値のほとんどはデータとの関連付けにあるためほぼ問題ないと思っています。

比較

ざっくりとまとめて表にしたものがこちらになります。 オフチェーンは手法が色々あるのですが、今回はハッシュをメタデータとして刻むNFTとメタデータをトークンに刻まないNFTに絞りました

オンチェーン ハッシュ(オフチェーン) メタデータ無し(オフチェーン)
発行手数料       高い(データ量に応じる) 低い 不要
データの自己管理 不要 必要 無意味
チェーンへの負担               ほぼ無
データのホスティング 不要 必要 無意味
可用性 高い 管理方法による マケプレによる
寿命 チェーンが消えるまで チェーンが消えるかハッシュの証明ができなくなるまで マケプレが消えるまで
アクセス制御 不可能 一定可能 可能

発行手数料

ハッシュ

ファイルのハッシュ値を記録するだけで良いため、ファイルサイズが膨大になったとしても格安かつ同一の手数料でNFTを発行することが可能です。

オンチェーン

ファイルの内容をすべて書き込む必要があるため、ファイルの大きさに応じたトランザクション手数料を支払う必要があります。動画や音声のNFTを発行する際のネックとなります。

メタデータ無し

ファイルの情報をチェーンに書き込まず、マケプレのDBによって管理するので不要です。

データの自己管理

ハッシュ

データの自己管理が必要となります。ブロックチェーン上にファイルの情報が乗らないため、NFTとファイルの情報が関連付けられていることを証明するにはファイルを自分で管理する必要があります。ファイルの紛失時は証明手段を失います(つまり、トークンとファイルの関連付けが証明できなくなってしまいます)

オンチェーン

ファイルの情報がすべてチェーン上に乗っているため、ファイルの情報とトークンの関連付けをチェーン上で検証することができます。

メタデータ無し

ファイルとトークンの関連付けはマケプレが行うので自己管理する意味はありません。

チェーンへの負担

ハッシュ

トランザクションのデータ量が最小限で済むため、チェーンに大きな負担をかけることはありません。

オンチェーン

トランザクションのデータ量が膨大になるため、チェーンにデータ保存の負担をかかります。

メタデータ無し

チェーンに書き込むことはないので負担はありません。

データ量がノードに負担になるような状況であれば、自然と手数料が高額になるように引き上げられると思うので、利用者は書き込む際にチェーンの負担について気にする必要はないと思います。

データのホスティング

ハッシュ

ファイルをホスティングすることで初めて、真に正しいNFTを保有していることを証明することができます。NFTの真贋を判定するには、誰かがファイルをホスティングし証明する必要があります。

オンチェーン

チェーンから元のファイルが取得できるため、ホスティングする必要がなくなります。

メタデータ無し

マケプレが行ってくれるので不要です。

可用性

ハッシュ

ファイルをホスティングを行わなければファイルを取得することができないため、可用性はホスティング方法に依存します。

オンチェーン

チェーンから元のファイルが取得できるため、ブロックチェーンが落ちない限りNFTを確認することができます。 例として、symbolに記録されたオンチェーンであれば、NFTのマケプレを介さずに次のような手段で復元可能です。

マケプレが消失した場合もこのような手段を用いることでデータを復元することが可能です。

メタデータ無し

マケプレによります。マケプレが停止した場合は当然閲覧できなくなります。

寿命

ハッシュ

チェーンが消滅するか、ハッシュの証明手段を失うことでNFTとファイルの関連付けを確認できなくなり、価値を喪失します。

オンチェーン

チェーンから元のファイルが取得できるため、ブロックチェーンが落ちない限りNFTを確認することができます。(トークンとデータが同じチェーン上に記録されている場合のみを想定しています)

メタデータ無し

マケプレが消滅した時点で関連付けができなくなり、価値が喪失されます。

制御

ハッシュ

元ファイルのホスティングを停止することで、NFTの公開停止などの一定の制御を行うことが可能です。もちろん、第三者によってホスティングが行われる可能性は残されているため完全な制御は不可能です。

オンチェーン

チェーンから誰でも情報が取得できてしまうため不可能です。ブロックチェーンに書き込むべきではないような問題のある情報を記録された場合も制限することはできません。

メタデータ無し

即座に公開停止などの処理を行うことができます。

要はデータの自己管理が必要か、必要でないかです。オンチェーンにしてデータの管理から開放されるか、データを自分で管理してNFTとして管理するかの違いになります。

IPFSはどのタイプにあたるのか

様々なNFTでメタデータやファイルのホスティングに利用されているIPFSはハッシュ型にあたります。

IPFSのURLに当たる部分はランダムに決められているわけではなく、ファイルのハッシュ値で構成されいます。つまり元となるファイルさえあれば復元が可能です。IPFSノードからファイルが削除された場合も、元ファイルを再度アップロードすれば復元することが可能です。

またIPFSはデータの永続性を保証していません。IPFSは永続的なデータを置く場所では無いのです。

一方、IPFSは一時的なファイル置き場としては強力な手段となります。IPFSを使えば、自分でサーバーを建てることなくファイルのホスティング行ったり、ハッシュ値を用いてファイルの検証を簡単に行ったりすることができます。トークンとデータの関連付けを証明するには十分な機能があるといえるでしょう。世界中のIPFSサーバからデータが消失された場合もNFTの所有者が再度アップロードを行うことで再度有効化され、NFTの証明を行うことができるのです。

IPFSはデータの管理を適切に行えばオンチェーンデータと同様、半永久的にトークンとファイルの連結を証明することが可能です。NFTデータをホルダー自身が管理することでNFTとファイルの関連付けを維持し、価値を保持し続ければよいのです。普段から秘密鍵を厳重に管理しているブロックチェーンのユーザーにとって、NFTデータの保存は大して難しいものではないでしょう。個人的には、本当に作品が好きならNFTのデータ管理をホルダーは喜んでやると思いますし、自己管理は問題にならないと思います。

IPFSをメタデータに刻んでいたNFTが消失する事例は多々ありますが、それはIPFSを使っているユーザーの認識不足が原因なのです。IPFSは正しく使えば半永続的にトークンとデータの関連付けを証明できるのです。

しかしながら、この辺りの周知はあまり行われていないイメージがあります。技術が正しく伝わっていない現状は改善する必要があるとは思いますが、IPFSそのものに問題はありません。何故か、自己管理の必要性が周知されていないだけです
個人的には、ハッシュやIPFSを利用するなら、最低限この辺りの周知は行うべきだと思います。

以上のことから私はIPFSにはトークンとファイルの関連付けを行う上で問題はなくNFTにとって適切な保存手段の一つだと考えます。

オンチェーンはNFTに必要なのか

トークンとNFTの関連付けは、前述のようにハッシュさえ記録されていれば十分に証明が可能です。動画や音声などの大規模なファイルであっても均一かつ格安の手数料でトークンとファイルの関連付けを行うことが可能です。わざわざ大量の手数料を支払ってデータをチェーンにアップロードしなくても問題なくNFTとして成立するのです。では、オンチェーンの価値はどこにあるのでしょうか。

私はオンチェーンの価値はトークンとデータの寿命が一緒になる点にあると考えています。PCを使っている際、ミスや故障によってファイルのデータを喪失した経験がある人は多いと思います(私もその一人です)。人間、ミスや事故は起きてしまうものであり自分でものを管理するにはリスクを伴ってしまいます。そしてオフチェーンNFTの場合、元データの消失はトークンの関連付けを証明できなくなることを意味します。トークンの価値を保存し続けるにはデータを誰かが管理し続けなければならないのです。

オンチェーンであればデータがチェーン上に存在するため、トークン自体が消滅する最後の時まで、つまりNFTの寿命が尽きるまでデータの自己管理から開放されることができます。オンチェーンはNFTに必須なものではなく、データの管理から開放されるためのユーティリティ的な立ち位置にあるのです。

トークンとデータのチェーンは同一である必要がある

オンチェーンとは言ってもトークンとデータでチェーンの書き込み先が違うのであれば話は変わります。このような方法を取るのは、トークンのチェーンの書き込み手数料が高額であることを理由に別チェーンに書き込んでいることが(例:トークン ETH, データ: 他チェーン)ほとんどだと思います。確かに、この方法を使うことで書き込み手数料の高額なチェーンでデータをブロックチェーンに書き込んだNFT発行を格安に行うことができます

しかしながら、この方法には問題が残っています。それはトークン側のチェーンが寿命を迎える前にデータ側のチェーンが寿命を迎える問題を解決できていない点です。結局ハッシュやIPFSと同様にデータの正当性の検証を他者に委ねているためやはりオフチェーンNFTとなってしまうのです。

そうなると他チェーンでオンチェーン化するのと自己管理するのではどちらが寿命が長いかといった点が重要になってくるのですが、自己管理の手法は様々であるため比較しようがないと思います。

トークンとデータで同一のチェーンに書き込まない限り、トークンと寿命とデータの寿命を同一にすることはできません。オンチェーン化はトークンとデータが同じチェーンに書き込まれてることで初めて意味を成すのです。トークンの価値を確実に保存するためにオンチェーン化するのであれば、やはりトークンとデータの書き込み先は同一にする必要があるのです

ハッシュ値すらメタデータとして記録しないNFTは価値がマケプレに全て依存する

ハッシュ値、オンチェーン共にトークンとファイルの関連付けをマケプレに依存することなく証明することができます。これにより、マケプレが消滅したとしてもデータとトークンの関連付けを証明することができるため、他社によって勝手にNFTの価値が毀損されることはまずなくなります。ではどのようなNFTがよくないのでしょうか。

私はハッシュ値すら刻まないNFTがよくないと考えています。ハッシュ値すら刻まないNFTの場合、トークンとファイルの関連付けを他の人(おそらくマケプレ)に依存することになります。。
このようなNFTの場合はトークンとファイルの関連性を示す手段がマケプレ以外に存在せず、ハッシュやIPFSのように自己管理によって寿命を伸ばしてやることもできません。関連付けを行っている組織の停止がそのままNFTの価値損傷に直結します。データがマケプレによって何らかの理由で消失された場合も同様になります。もはやNFTというよりは単にインターネット上で販売されているデジタルコンテンツといったほうが正しいのかもしれません。

IPFSがしばしば、データがチェーン上に存在せず、価値の消失するNFTとして叩かれますが、IPFSはデータの自己管理によって価値の損失を阻止することができ、マケプレが消失しても自己管理さえしていればなんとかなります。一方、ハッシュ値を刻まないタイプのNFTはデータの自己管理は意味を成さないためマケプレの消失によってNFTのデータが消滅します。オフチェーンNFTが問題なのではなく、ハッシュ値すら刻まないNFTが問題なのです。

オンチェーン化の手数料は発行者の足かせ

オンチェーンはNFT発行時の手数料の問題を抱えています。画像ならまだしも、動画や音声等の大容量ファイルをオンチェーン化した場合の手数料は膨大になります。
また、発行手数料は基本的に発行者持ちです。発行者はオンチェーン化による負債を背負った状態で販売しなければならなくなります。しかしながら、オンチェーンにしたからといってNFTが高値で売れるわけでもありません。オンチェーン化しない場合に比べて2次転売時のロイヤリティが高く請求できるわけでもありません。

オンチェーン化によって恩恵を受けられるのは基本的にトークンとファイルの関連付けが確実に保証されるようになったホルダーだけであり、作者にはメリットが無いのです。

実際、comsaではエンドーサーとして手数料を変わりに支払う人を用意し、作者が手数料を支払わない手段を用意しています。

しかしながら、大容量ファイルのNFTを作成するにはそれを負担するエンドーサーを探す必要があり、やはりNFT発行の足かせとなっていることに変わりありません。
どのような仕組みを用意しても、手数料を誰かが支払うことからは逃れられないのです。

ハッシュの衝突

ハッシュはSHA-2などの暗号学的な関数を用いて規則性があるように見えない値を得る技術ですが、原理上衝突がありえます。そしてハッシュ関数の脆弱性が見つかった場合、悪用できる可能性があります。具体例としてSHA-1の衝突があります。

今使用されているハッシュ関数も将来的には陳腐化して使えなくなる可能性があります。当然、ハッシュを刻んだNFTもこうした攻撃に晒される可能性が十分にあります。永続化させたい場合、セキュリティの更新のようにはなってしまうのですがハッシュ値の脆弱性が見つかるまえに定期的に、最新の強いハッシュ関数を使用して計算した値をチェーンに刻むようなアプローチが必要になるかもしれません。実際にこのような事例がNFTでまだ起きてない(?)と思うので何ともいえないです
オンチェーンの場合衝突は関係ないのでこの問題は発生しません

結局どの方法を使ってファイルの関連付けはどのようにして行うべきか

私はオフチェーン(ハッシュ)で発行するのが良いと思います。理由としては次の3つです

  • オンチェーンの手数料は発行者の負担が重い(格安で発行できる)
  • ハッシュ(IPFS等)があればトークンとの連結を証明できる
  • 後からオンチェーンにすることもできる

ハッシュで発行すれば作者が手数料を大量に支払う必要がありません。また、ファイルさえ元のホルダーにきちんと受け渡せば、たとえNFTのマケプレが消滅した場合もホルダーの自己管理次第で半永続的にトークンとファイルの連結の証明を行うことが可能です。これさえ満たしていれば勝手に価値が毀損されることはなく、十分だと思います。そして発行者(もしくはマケプレ)は自己管理の必要性を周知すれば良いと思います

また、ハッシュ型のNFTはあとからオンチェーン型に変更することが可能です。
ハッシュ型のNFTは元ファイルのデータを書き込むことでオンチェーンにアップデートすることができます。ハッシュは既に確定しているのですから、この時書き込む人はNFTの作者である必要は全くありません。ホルダーでも良いですし、ホルダーでも何でもない見知らぬ誰かが無償でやっても良いのです。データを書き込むことは誰にでもできるのですから、作者が発行時に書き込まなくても良いです。必要な人がやればよいのです

かといって勝手にファイルをオンチェーン化するのはどうなのか?といった問題はあります。わざわざNFTとして発行している以上、クレームをつける作者は少ないとは思いますが。NFTの発行時にホルダーによるオンチェーン化を許可するような表記があるとこの辺りはクリーンになるのではないかなと思います。

最後に

作者がオンチェーン化する必要はないとこの記事では主張しましたが、別に作者がやっても良いのです。結局、オンチェーン化は好きな人がやればよいのです。
オンチェーン化は手数料が馬鹿にならないですし、作者でなくても誰にでもできます。また、オンチェーン化しても作者にとってのメリットが少ないのですから、作者がわざわざ大量の手数料を払って負債を負った状態でNFTを出品する必要がないことを主張したいのです。

一般的な美術品の場合、作者からホルダーに所有権が移った時点で、作者は作品がこの先どうなろうと関係なくなります。ホルダーの自己管理次第で永久に保存される物もあれば、すぐに廃棄される物もあるかもしれません。作者が干渉することは基本的にできません。

NFTも同様に、発行後の管理はホルダーに任せてしまえばよいのです。最低限、保存方法だけ適切に説明すれば(ハッシュさえ刻んでデータを渡せば)あとはホルダー次第でどうにでもなります。ホルダーは価値を保存するためにデータを何重にもバックアップして消失を回避するようにするかもしれませんし、手数料の格安なチェーンでオンチェーン化することで節約を試みるかもしれません。また、ハッシュの更新を怠ったせいで価値を完全に失ってしまうかもしれません。もしかしたらフルオンチェーン化した上でノードを立ててネットワークを維持するかもしれませんし、結局何もしないかもしれません。全てはホルダーの自由です。

NFTとしてはハッシュやIPFSさえあれば当面ホルダーが自力で証明できるのですから、作者はオンチェーン化にお金をかけるよりも手数料分を収入に回し、次の作品のモチベーションに繋げればよいのではないかなと思います。

22
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?