企業がNFTのビジネス利用を始めている。自社のシステムにNFTを組み込むに当たって何から検討すれば良いか、どのような環境を構築すべきかを3つのポイントと2つの事例から解説する。
TwitterやGMO、LINEなど、国内外の大企業を筆頭にさまざまな企業がNFT(非代替性トークン)のビジネス利用を始める。先行者利益の獲得を目指して参入が相次ぐが、自社で開発を始める場合に何をすれば良いか。
バックエンドの要件にブロックチェーンやNFTが適しているかどうかは必須の検討事項だが、その上でポイントとなるのは「どのようにブロックチェーンを実装、運用するか」「ブロックチェーンに何のデータを保存するか」「秘密鍵の紛失をどう防ぐか」の3点だ。
2022年5月25〜26日に開催された「AWS Summit Online 2022」で、アマゾンウェブサービスジャパンの石尾千晶氏(技術統括本部 ソリューションアーキテクト)と深津颯騎氏(同部 ブロックチェーンプロトタイプエンジニア)が「AWSでNFTの開発を始めるための3つのポイント」と題する講演に登壇し、NFT開発におけるポイントとAWSの活用方法、関連事例を解説した。
石尾氏は「NFTはあくまでシステムのバックエンドを構成する要素の一つ」と強調した上で、前述した3つのポイントについて解説した。
「ゲームのアイテム購入機能を備えたデジタルコンテンツ販売システムを例に挙げると、バックエンドではアイテム購入処理、アイテムやユーザー情報の管理、アイテムの元データの保管などが実行されます。データベースやストレージに加えてブロックチェーンのP2Pネットワークを組み込む形が想定され、どのように実装、運用するかが課題となります」(石尾氏)
技術や工数が掛かるのはもちろん、ブロックチェーンを構成するサーバやストレージも要するため、構築前にスケーラビリティを考慮したリソース調達の判断が必要だ。運用フェーズでは、各サーバへのパッチ当てなどのメンテナンスも要する。
また、アイテムやコンテンツなどが動画や3Dデータファイルといった大容量になる場合、どのデータをブロックチェーンに載せるかを選ぶ必要がある。オンチェーンの処理は記録されたデータが実質的に改ざんされない利点がある一方、P2Pネットワークを構成する各ノードが同じ記録や処理を並行する性質上、分散処理のようなスケールアウトができないため大きなデータは扱いにくい。線引きの目安となるのは「データサイズ」と「他者とのデータ共有を要するか」「改ざん耐性を要するか」だ。
例えばゲームであれば、アイテムの獲得記録はオンチェーン、アイテムの画像や3Dデータはオフチェーン(ブロックチェーン外)に記録する、といった線引きが必要になるだろう。
秘密鍵の紛失防止策も必要だ。NFTのオンチェーンでの取引はトランザクションの改ざんやなりすましを防止するデジタル署名が利用される。この際に使用する秘密鍵は性質上再発行ができないため、ユーザーIDやパスワードとは異なる仕組みで管理する必要がある。
これらの課題に対してAWSは「Amazon Managed Blockchain」他、さまざまなストレージや鍵管理サービスなどを提供する。
Amazon Managed Blockchainは、ノード管理が不要のため運用コストを大幅に軽減する。ストレージを自動拡張するため、空き容量を気にする必要がなく、ノード同士の通信においても管理を不要とする。1時間程度で投棄済みのノードが利用可能になり「メインネットとの同期がいつまでも終わらない問題」などを解消するという。
オフチェーン活用ができるストレージには「Amazon Simple Storage Service」(以下、S3)が紹介された。S3の署名付きURLをNFT保有者に払い出す運用で、購入者以外へのダウンロード制限が実現できる。この場合はサービス提供者がサービスを終了するとNFTを保有していてもコンテンツにアクセスできなくなるため、「NFTをアクセストークンとして期間限定でアーティストの特典映像を閲覧する」といった利用ができる。
「AWSのサービス外」と前置きした上でNFTでよく使われるオフチェーンストレージとして「IPFS」(InterPlanetary File System)が紹介された。IPFSはファイルのハッシュ値をURLにするため1ビットでもデータが異なると違うURLが発行され、NFTが指すデータのURLとIPFSのURLが常に同じものを指す。S3に配置する場合と異なり、コンテンツをIPFSで維持するのはNFT所有者の役割となるため、サービス終了後もデータを維持し続ける限りアクセスが可能だ。デジタルコレクティブで使われることが多い。
データの分析や検索の際、ブロックチェーンからRDBMSやNoSQLにデータをコピーするに当たっては「Amazon OpenSearch Service」や「Amazon Relational Database Service」「Amazon QuickSight」などが利用できる。例えば、ゲームアイテムをNFT化した場合、ユーザーが保有しているアイテムの一覧を表示させたり、マーケットプレースで販売されているアイテムを検索したりといった機能が想定され、外部のデータベースや検索用サービスが必要となる。
外部システムとブロックチェーンの連携においては「Amazon Elastic Container Service」や「AWS Lambda」が活用できる。例えばブロックチェーンの更新のイベントをAWS Lambdaで検知し、データベースやNoSQLにデータを格納するといった運用ができるため、オンチェーンで行われている売買の記録を自社の経理システムと連携する、といった運用が可能だ。外部システムのイベントをトリガーにブロックチェーンへの記録も可能で、ゲームアプリの進捗に応じてレアアイテムを獲得する、といった設定もできる。
秘密鍵のセキュアな管理サービスとしては「AWS Key Management Service」(AWS KMS)と「AWS CloudHSM」が挙げられた。前者はフルマネージドの鍵管理サービスで、後者は秘密鍵と公開鍵のペアをインポートできる鍵管理サービスだ。いずれもイーサリアムで必要とされるsecp256k1の鍵形式に対応する。
以上を踏まえたシステム構成として、上図のアーキテクチャが示された。Webアプリケーションを想定し、フロントエンドはS3とクラウドフォーメーションで構成している。ブロックチェーンにトランザクションを送信する際は「Amazon Cognito」でユーザーを識別し、KMSかAWS CloudHSMに保存された秘密鍵で署名する。ブロックチェーン内のイベントを外部のシステムに送るにはAmazon Elastic Container ServiceやAWS Lambdaを使用し、そこから先は分析基盤に保存したり、他のシステムにデータを処理させたりすることが可能となる。ゲームのキャラクター画像や動画などの大容量データはデータベースやS3に保存できる。
「全体構成を見ると、ブロックチェーンは一部のコンポーネントであることがよく分かるでしょう。 ブロックチェーンのノードだけあっても、NFTを活用したサービスは作れません。 このあたりも踏まえて『どの基盤を使うか』『どのブロックチェーンを使うか』などの技術選定をおすすめします」(深津氏)
AWSのサービスを活用したNFT利用システムの事例として、シンプレクスの事例が紹介された。デジタル戦略のコンサルティングを行う同社はスケーラブルでセキュアなNFTサービスプラットフォームの構築を強みとしており、コンテンツを保有する顧客に向けてファンサイトにNFTを組み込み、ユーザーとコンテンツが共存するコミュニティーの形成を提案する。Amazon Managed Blockchainの活用によってノードの構築や運用にかかるリソースを削減し、秘密鍵の漏えいや紛失対策、構築からサービス提供までオンプレミス環境と比較して80%の期間短縮を実現したという。オフチェーンや外部のシステムをうまく組み合わせたアーキテクチャになっていることが読み取れる。
また、鍵管理の事例としてdouble jump.tokyoが紹介された。同社はNFTの発行や暗号資産の送金、スマートコントラクトのデプロイなどを効率的に行う鍵管理サービスを提供しており、これまでは個別で管理か暗号化した上でサーバに保存されてきた秘密鍵にまつわるセキュリティ上の課題を解決するという。
最後に、開発者向けのサンプルコードが公開された。本講演で紹介されたポイントを踏まえ、「NFTの発行」「マーケットでの販売」「2次流通の際に知財保有者へロイヤリティを支払う」機能を実装している。
Copyright © ITmedia, Inc. All Rights Reserved.
製品カタログや技術資料、導入事例など、IT導入の課題解決に役立つ資料を簡単に入手できます。