DataSpiderとブロックチェーン その8
前回までの投稿にて、DataSpiderSDKを用いてスマートコントラクトの連携と運用するためのガス代について紹介しました。
今回から、具体的なNFT連携について説明していきたいと思います。
これからNFT連携のためのDataSpiderアダプタを作成していきますが、NFT連携のシナリオとNFT連携に必要な技術要素について紹介したいと思います。
DataSpiderによるNFT連携のシナリオ
DataSpiderを用いて、利用者に対して証明書(PDF形式)を発行し、その発行されたPDFデータをNFT化します。
また、証明書を見たい時にいつでも閲覧できることを要件に含め、アクセス制限のないパブリックネットワーク上にNFT化された証明書PDFを配置します。
NFT発行までの処理概要
①から⑤の処理をDataSpiderのスクリプトに実装することにより、NFT連携を実現します。
NFT発行までの処理イメージ
受取者名簿
生成する証明書(PDF形式)イメージ
処理フローは以下:
- 証明書を受け取る利用者(受講者)のCSVファイルの一覧を用意しておきます。
この一覧に証明書に埋め込む情報も保存しておきます。今回の検証では、利用者(受講者)氏名、TRONアドレスを証明書に埋め込みます。 - 受取者名簿から利用者氏名、TRONアドレスを読み込み、PDFを生成します。
今回の検証では、PDFテンプレートは用意せず、コード内でスクラッチからPDFファイルを生成する処理を実装します。 - 生成したPDFをIPFS/PINサービス宛に転送します。
転送が完了するとPDFのコンテンツアドレスが返却されますので一旦保持します。 - PDFのコンテンツアドレスとNFTとして必要な情報をJSONファイルに埋め込みます。
再度IPFS/PINサービス宛にJSONファイルを転送します。
転送が完了するとJSONファイルのコンテンツアドレスが返却されますので一旦保持します。 - JSONファイルのコンテンツアドレスとNFTの管理IDを引数とし、NFT生成用のスマートコントラクトを呼び出します。
ブロードキャストが完了すると、NFT情報がブロックチェーン上に書き込まれます。
以上で、NFT連携は完了です。
NFT連携のために作成するアダプタ
- PDF生成アダプタ(❷)
- IPFS/PINサービス通信アダプタ(❸および❹) (※)
- NFT生成アダプタ(❺) (※)
DataSpiderが提供しているアダプタにPDF生成機能がありませんでしたので今回作成します。
(※) IPFS/PINサービス通信アダプタは、NFT化するための必須とする情報が返却されますので、❸から❺は1つのアダプタとして実装するかもしれません。
上記シナリオで必要となるJavaライブラリ
- TRON Trident-JAVA(こちらのライブラリは前回までの記事の説明でインストール済)
- iText ライブラリ(PDF化するためのライブラリはiTextを使用します)
NFTの技術要素
基本的なNFTの考え方と技術要素について説明します。
DataSpiderによるNFT連携に必要な技術要素に絞って紹介します。
参考サイト:https://ipfs-book.decentralized-web.jp/what_is_ipfs/
NFTの基本
NFTはnon-fungible token の略(非代替性トークン)であると、他のページでは説明がされています。
昨今では、NFTといいますと、アート分野などコレクションの1つとして売買されたり、あるグッズとだきあわせで販売されています。
NFTは電子データですが、固有の電子データとして各々に価値があるものとして流通していると考えます。また、この固有の電子データということで、入手したいという消費者の購買意欲の向上にも働きかけていると思います。
それでは、なぜ固有の電子データとして扱えるのでしょうか。その技術要素について紹介します。
コンテンツアドレッシングの仕組み
特定の電子データをNFTとして扱うために、IPFSの利用が必須であると私は考えます。
IPFSは、InterPlanetary File Systemというプロトコルの1つであり、IPFSのサービスに対して電子データを送付すると、その電子データのハッシュ値が得られます。
このハッシュ値は、電子データをもとに生成されるため、対象の電子データが異なれば、別のハッシュ値が得られることになります。よって、このハッシュ値の導出により特定の電子データが固有であるという裏付けになるわけです。
さらに、このハッシュ化された文字列は、Web上において、その電子データへアクセスする際のURIの一部となります。つまり唯一無二のURLが電子データにより生成されることになります。これがコンテンツアドレッシングです。
URLはネット上のコンテンツ(動画ページや写真など)に対して場所を表す文字列ですが、このコンテンツアドレッシングという考え方は、場所だけではなくモノ(対象の電子データ)に対しても指し示すことになります。
ブロックチェーン技術との組み合わせ
ブロックチェーン上のデータは改ざんされない、ブロックチェーンは改ざん耐性が強いと言われますが、この強固なネットワークにIPFSにより得られるコンテンツアドレスを埋め込むことにより、改ざんされていないことの証明となりデータの信頼性が担保できると言えます。
このような理由から、コンシューマ向けのサービスだけではなく、業務用アプリケーションにも応用がされてきていると思います。
次回は
NFT化する証明書PDFを生成するアダプタの実装例を紹介します。