【NEM/Symbol技術勉強会】NFT-Driveに保存された盾しずいちゃんを手動でデコードしてみる(SymbolのオンチェーンNFT解説)

NFT-Driveのエンコード仕様が公開されました。これで専用ビューアーやウォレットへの組み込みなど、様々な試みが可能になりますね。今回はプログラミング一切ナシで、全部手作業で盾しずいちゃんのオリジナルファイルへのデコードにチャレンジしてみたいと思います。

1. 盾しずいちゃんNFT

しずいちゃんは、細密画アーティストの方にデザインをお願いしたShizuiNetのマスコットキャラクターです。今回NFT化してみたのは、新作の盾バージョンPDF版。NFT-Driveチームにお願いして300XYMの手数料を払って100枚のモザイクにしてもらいました。

画像
https://symbol.fyi/mosaics/37C5770B201C1B49

2. エクスプローラでNFTしずいちゃんを見てみよう

Symbolのエクスプローラで、盾しずいちゃんモザイクのIDを検索すると、このような画面を見ることができます。赤で囲ったところが、モザイクを作製したアドレスです。このアドレスに送られているアグリゲートトランザクションに、盾しずいちゃんのデータが含まれています。これが「オンチェーンデータ」の本体です。このアドレスは、モザイクを作成して、オンチェーンデータとモザイクIDをつなぐ役目を持っているため、データアドレスと呼ばれます。

3. テキストデータ抽出

さて、それではデータアドレスのリンクをたどって、このアドレスに送られたアグリゲートトランザクションを見てみましょう。NFT-Drive公式ページにあるように、盾しずいちゃんはアグリゲートトランザクションにbase64という方式で書き込まれています。図で赤で囲んだ2つのアグリゲートコンプリートトランザクションに、盾しずいちゃんは分割されて保存されています。IDは、複数のアグリゲートトランザクションに分割された時、その順番を示すためにトランザクション1に格納された番号です。

中身はこんな感じになっています。ID:0のアグリゲートトランザクションの16番目のトランザクションのメッセージから、盾しずいちゃんのデータは始まります。

JVBERで始まるのが、base64でエンコード(テキスト化)された盾しずいちゃんのデータですね。ここを起点にして、ID:0の16〜100, ID:1の2〜34の合計118個のメッセージに、順番に盾しずいちゃんが格納されているに違いありません。となると、ID:1の最後の34番目にデータ終点があるはず、、、

それぞれのトランザクションの詳細を見てみると、、、

これが起点のトランザクションに格納されたメッセージデータです。全体を確認するためには、これに続くすべてのトランザクションに含まれるメッセージテキストを順番にコピーして、テキストファイルに貼り付けていく作業が必要です。まず、最初のJVBERからUuY29までをペタリ、、、

えーと、途中は端折りますがとにかく終点のID:1の34番目まで全部貼り付けると、こんなファイルが出来上がります。

これは手でやるもんじゃないですね。素直にツールなどを作ることをおすすめします。僕も、最初は手動コピペでやってましたが、持っているオリジナルファイルをbase64エンコードしたものと、ブロックチェーンのメッセージとを比較して確認すれば良いことに途中で気づきました。

4. 解読(デコード)してみる

さて、この出来上がったbase64ファイルを、今度はbase64のデコーダにかけると、元のファイルに戻るはずです。PDFファイルへのデコードにはこのページを利用させていただきました。

テキストファイルの中身を全部貼り付けて、デコードボタンを押すと、、、、、、

はい、盾しずいちゃんが現れました!

5. まとめ

これで、Symbolエクスプローラとbase64デコーダという汎用のツールだけで、NFT-Driveに保存されたデータを完全復元できることを確認できました。種も仕掛けもございません。オンチェーン保存された盾しずいちゃんのデータは、誰でも閲覧できますし、Symbolブロックチェーンが継続する限り消えたり改変されることもありません。そして、今回発行された100枚のNFTモザイクとがっちり繋がれています。しずいちゃんのキャラクターには、商標権が付与されているため、何にでも自由に使えるわけではありません。NFTモザイク保有者が行使できるのは、展示権や譲渡権といったところでしょう。例えば、しずいノードへの委任者さんに、日頃のサポートへのお礼として配るなどの利用が考えられます(特に問題がなければ、近日中に実施予定)。ノード委任者さんは、正式なしずいノードサポーターとしてこのNFTモザイクを保有し、この作品を自分のホームページなどに展示することができます。

NFTという仕組みそのものは、まだ非常に未成熟な状態にあります。NFT-Driveによってトークンの発行とデジタルデータ保存がひとつのブロックチェーン上でおこなわれることの意味については、今後利用が広がる中で、少しずつ明らかになっていくものと思います。