ちょっと話題の記事

クリスティーズで75億円で落札されたNFTの元JPEGファイルをダウンロードしてみた

2021.03.20

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Ethereumの非代替性トークン(NFT)が、ここ数週間異様な盛り上がりをみせています。NFTとはなんぞや、とググってみた人の多くはこのニュースをみたのではないでしょうか。

NFTは多くの可能性を秘めているものの、ほとんどのケースでMinting(鋳造)コントラクトをコピーしてラップされたJSONファイルでしかなく、アート作品を取り扱うプラクティスは成立していません。

今回は、公開されている情報からあなたも75億円のJPEGファイルをダウンロード、コピーできることを実証し、トークンの所有権移転と同時に現物データの資産管理がNFTのエコノミーの課題であることを示したいと思います。

さっそくやってみた

クリスティーズのオークションページはこちら。

今回の作品のコントラクトアドレス: 0x2a46f2ffd99e19a89476e2f62270e0a35bbf0756 とトークンID: 40913 がわかります。落札者がトークンを所有し、秘密鍵による作品へのアクセスを可能にするわけですが、鋳造プロセスに問題(バグではなく仕様)があり、作品のメタ情報を格納しているJSONへのアクセスが可能です。

まず、etherscanでコントラクトアドレスを引きます。

こちらのSolidityで書かれたソースコードがありますが、これはERC721というトークン規格で、コードの大部分はOpenzeppelinから流用されています。これはかつて私が兌換性トークン規格ERC20で、めそコイン(MTC: 0xA9D22b23bb879BcdE649280089bfC3D29aCD2DD7)を作ったのに似ています。

etherscanはこの2年くらいで多機能になっていて、UIから発行されたコントラクトの読み(検証)書き(実行: Web3インジェクションが必要)ができるようになっています。

Read contractからtokenURLのクエリができるので、トークンID: 40913 を 入力してみます。

IPFSのハッシュ値が帰ってきます。

IPFSのハッシュ値はipfs.ioから内容を検証できます。するとそれが作品のメタ情報JSONが剥き出しで置かれていることがわかります。

IPFSのゲートウェイは鋳造元のmarketplace.comが提供しているため、最後のURLを叩くと75億円のJPEG(319.2MB)がダウンロードできます。

何が問題なのか

ERC721は洗練された規格で、荒削りでいくつかの補足をしないと安全にトークンが鋳造できないERC20とは隔世の感がありますが、使う側のプラクティスが追いついていないため、透明性が高く、明確に記録ができる所有権移転機能のメリットが活きていません。少なくとも75億円のデジタル資産を扱うには杜撰すぎるでしょう。

容量の大きいバイナリデータをオンチェーンで扱うことは(Base64でテキストエンコードするなど)現実的ではなく、どうしても別途オブジェクトストレージが必要です。データの永続性と対検閲性を指向してIPFSが選択されることが大多数ですが、以下の問題を抱えています。

  • 画像データにDRMをかけることが困難。
  • 契約(コントラクト)上、移転した所有権とは別に現物が所在するIPFSのノードオペレータの権利、義務の規定ができない。
  • HTTPゲートウェイ提供者に資産の生殺与奪が存在する。(この場合marketplace.comが資産を凍結することができる)

IPFSハッシュが鋳造元のmarketplace.comによって生成・管理されているため、ゲートウェイが失われるとトークン保有者が自らハッシュ値から資産を復元することはおそらく不可能です。

完全自律のスマートコントラクトは理想ではありますが、アート作品のように購入した人の独占物になるべきオブジェクトを取り扱うには所有権記帳だけでは無理があり、資産管理をコンベンショナルなシステムと融和させて作っていく必要があると思います。

現実解は?

もともこもないですが、オブジェクトデータの自律、永続は無理とあきらめて、トークンの扱いと相性がいい既存の仕組みを使うのが現実解です。

パブリックブロックチェーンでオブジェクトストレージを構成するプロジェクトはいくつかありますが、法的リスク(例えば児童ポルノを保存した時の責任をどう片付けるか)とコスト(少なくともフリーライドに近い運用はできない)、パフォーマンス(Torrent運用になると低頻度アクセスファイルは取り出せなくなる)に問題を抱えているため、何かしらのブレイクスルーがあるまで利用できません。

S3の標準機能と提供されているSDKは、Presigned URLで暗号鍵をもとに時限やアクセス制限をかけることが容易です。

また、動画や画像の配信と合わせたDAM(Digital Asset Management)があるCloudinaryに可能性をみています。

察しのいい方、次回、「めそ子のNFTを販売してみた」にご期待ください。