全5083文字

 2021年から2022年にかけ、NFT(非代替性トークン)をめぐる話題が一般メディアで相次ぎ取り上げられている。2021年3月には米国人アーティストのデジタルアート作品にひもづいたNFTが競売にかけられ、約75億円(当時の為替換算)という高額で落札されて世間を驚かせた。

 NFT(Non-Fungible Token)とは、ブロックチェーン上で扱われる、一意であり代替不可能なトークンを実現する技術である。

 元来、Bitcoin(ビットコイン)をはじめとした従来の暗号資産トークンの実装では、 それぞれのトークンは同一のものだった。例えば、Bitcoinは1BTC(Bitcoinの通貨単位)であれば、どのトークンであっても1BTCという同一のものとみなされる。

 一方NFTは、それぞれのトークンをそれぞれ別のものとして識別可能にする。

 こうしたNFTの特性を活用することで、デジタルアートやゲームのアイテムといったデジタル空間のオブジェクトのみならず、現実世界の様々な権利などを表現できると期待されている。

 近年では、NFTを売買するためのマーケットプレイスや、NFTにひもづけられた画像データをTwitterアカウントのアイコンとして表示するなど、様々なアプリケーションが注目を浴びている。

 ただ、デジタルデータなどの「権利」を表現する手段として、今のNFTは本当に適切な技術なのか、議論が尽くされているとは言い難い。

 本稿では、NFTとはどのような技術なのかを解説するとともに、NFTを実社会に適用するうえでの課題を明らかにしたい。

NFTとは何か、その起源を知る

 ブロックチェーン上で扱われるトークンを識別可能にする初期の提案としては、「Colored Coins」と呼ばれるBitcoinの拡張の提案がある。

参照:Colored-Coins-Protocol-Specification,https://github.com/Colored-Coins/Colored-Coins-Protocol-Specification

 この提案は2012年に公表したもので、著者にはEthereum(イーサリアム)の提案者であるVitalik Buterin(ビタリック・ブテリン)氏も含まれる。

 Colored Coinsの手法を使えば、特定のブロックチェーン上で、プロトコルに定義されているトークンではない独自の識別可能なトークンを発行することが可能になる。実際、トークンにひもづけたデジタル画像の保有を主張する事例も現れた。

 続いて2018年には、Ethereum上でのNFTの標準規格として「EIP-721」が作成された。

参照:EIP-721: Non-Fungible Token Standard, https://eips.ethereum.org/EIPS/eip-721

 さらに、EIP-721やEIP-20(代替可能なトークンの標準規格)といった異なる種類のトークンを同時に扱うための「EIP-1155」も登場した。現在流通するNFTの多くはこのEIP-721あるいはEIP-1155に準拠したものが用いられている。

参照:EIP-1155: Multi Token Standard, https://eips.ethereum.org/EIPS/eip-1155

 EIP-721で定義されるNFTは`tokenId`と呼ばれる識別子を持つ。この`tokenId`は、EIP-721で定義される1つのスマートコントラクトの中では一意である。当該トークンの譲渡は、原則として当該NFTの保有者でなければ実行できない。

 EIP-721は、NFTに付加的なデータ(`Metadata`)を付け加えるための拡張であるMetadata Extensionも定義している。Metadata Extensionでは、`tokenURI`と呼ばれるMetadataのURI(Uniform Resource Identifier)がMetadataの識別子となる。

 Metadataを識別するための`tokenURI`の仕様は、EIP-721などの標準では定義されていない。広く参照されているOpenZeppelinの実装では、スマートコントラクト内に定義される`BaseURI`と`tokenId`を結合した値が`tokenURI`とされる。

参照:OpenZeppelin/openzeppelin-contracts ERC721.sol, https://github.com/OpenZeppelin/openzeppelin-contracts/blob/96163c87e38ab2e3b047deab06c7be402296324d/contracts/token/ERC721/ERC721.sol

 Metadata自身はJSON(JavaScript Object Notation)ファイルであり、そのMetadataのスキーマの中にはNFTが指し示すデジタル画像などのURIが含まれる。

 図1●NFTとデジタルデータの関係性
図1●NFTとデジタルデータの関係性
(出所:筆者作成)
[画像のクリックで拡大表示]

 ここまでの説明をまとめると、`tokenURI`などの識別子によって外部のデジタルデータを参照でき、特定のスマートコントラクト下では代替不可能なトークン、というのがNFTの実体である。

 EIP-721ではここで述べた識別子による識別の他に、トークン譲渡のためのインターフェースが定義されている。

 NFTの1つの利点として、標準に沿った形で様々なルールをスマートコントラクトのコード中に定義できることが挙げられる。

 例えば、アーティストが自身の作品とひもづけたNFTを発行してマーケットプレイス上で流通させる際、売買が行われる度に発行者(アーティスト)に対して一定の報酬を与える、といったルールを定義できる。

 実際のユースケースに応じて流通時のルールをスマートコントラクトとして定義し、ルールをブロックチェーン上に改ざん困難な形で記録し、その定義に従って実行されることは、技術としてのNFTを特徴づける利点の1つである。