見出し画像

NFTロイヤルティ(二次流通手数料)に関するEthereumコミュニティの議論

ブロックチェーンの特性として取引の証明ができるということがあります。NFTにおいては、あるNFTが再販売された際、二次流通の履歴を追うことができます。

これをクリエイター分野に活かそうという試みがあります。これまでの取引では、ある作品が作られて、別の人が再販売したとしてもその履歴を追うことは難しかったです。また、同じプラットフォームでは再販売できても、別々のプラットフォームで販売されると履歴を追うことはできません。

市場には一定数、転売を生業とするプレイヤーがおり、NFTマーケットでもそれは同じです。再販売、転売されたら、NFTの取引特性を活かして、その収益の一部をクリエイターへのロイヤルティとして還元するという試みがあります。この記事ではNFTのロイヤルティに関するEthereum上のディスカッションを紹介します。なお、この記事内ではロイヤルティに関して「二次流通手数料」という意味合いで利用します。

EIP2571のロイヤルティ分配を必ず実施するNFTの提案

私も昨年、複数人の仲間と共にEIP2571として、Creator's Royalty Token Standardという名前で提案しました。こちらはマーケットのコントラクトとトークンを合わせた仕組みになっています。

EIP2571トークンを交換する際、EIP2571規格の取引コントラクトを必ず経由させ、その取引コントラクトで関係者へのロイヤルティを確実に届ける仕組みになっています。

EIP2981のNFTにロイヤルティ情報を付加する提案

最近ではEIP2907というEIPにおける議論スレッドがとても盛り上がっています。ロイヤルティについてどのようにスマートコントラクト上で定義するかについて大いに議論されています。githubアカウントを持っていれば誰でも議論に参戦でき、今も様々なトピックで議論は続いています。上記EIP2571も引用されてディスカッションされています。

ここから生まれたのがEIP2981です。​これは、NFTの主要規格であるERC721, ERC1155などに Royaltiesというインターフェースを紐づけることで、いくらクリエイター、クリエイターへの還元率を設定するものです。

コードが読める方はリンク先を見ていただければわかると思いますが、実質 royaltyInfoという関数だけの非常に緩い規約で、柔軟性のある内容になっています。

トークンIDに対して二次流通時のロイヤルティ率を記録しておくことで、「トークンID」と「販売価格」で問い合わせると、「ロイヤルティの受け手のアドレス」、「ロイヤルティの金額」を返却する関数を持ちます。(オプションで追加データを持たせることも可能です)

しかし、この関数はあくまで「ロイヤルティ分配のための情報提供」を実装しているだけで、ロイヤルティを「分配する」コントラクトは別途実装する必要があります。つまり、トークン発行者がEIP2981の関数を発行したトークンに実装したとしても、NFTマーケットプレイスが取引のコントラクトを動かす時に必ずロイヤルティ分配に従うとは限りません。

翻って、EIP2571は「ロイヤルティを分配する」コントラクトまで仕様に含めているため、絶対に取引時にロイヤルティを分配します。しかし、取引に際して絶対にEIP2571のコントラクトを経由する必要があるためNFTマーケットプレイスはEIP2571のコントラクトを経由する実装をする必要があります。ロイヤルティ分配の強制力を持たせているためEIP2981と比べて柔軟性は低いものとなっています。

まとめ

EIP2571,EIP2981についてまとめた表が以下になります。柔軟性と強制力がそれぞれ差分となって出てきています。

このnoteではロイヤルティ議論について紹介しました。取引の証明ができるブロックチェーンの特性を活かして、二次流通手数料の分配についてのディスカッションは今後も盛り上がっていくでしょう。

この記事が気に入ったらサポートをしてみませんか?