本記事では、Symbolブロックチェーンを利用した投げ銭プラットフォーム「QUEST」に搭載予定で現在開発中の新機能「Metal」をご紹介したいと思います。
尚、以下の内容は設計段階の物であって、実装においては多少変わっている可能性があります。
1. 「Metal」のコンセプト
クエストが結実した証明を「譲渡不可能NFT」としてブロックチェーンに導入するのが「Metal」です。
クエストの実行者が「Forge」することで作成され、 クエストのクライアント(クエストをブーストし投票した人)が「Equip」することで入手することができます。
Metal は非常にシンプルな構造になっており、その実体は Symbolアカウントとメタデータのリンクで表現されます。 QUEST サイト上で所有を確認できるのは当然のことながら、 メタデータで表現されているため、限定的にデスクトップウォレットやブロックエクスプローラーでも所有を確認することができます。 更にパブリックチェーン上に展開されたシンプルな構造は、他のアプリケーションからの利用も容易にするでしょう。
Metal にはクエストのIDやタイトル、概要、結果、受けたブーストの数や総額の他、パッケージ画像URLを設定できる想定です。 Metal はシンプルな実装をコンセプトとするため、画像データはオンチェーンを目指さず Metal 外での保持とします(QUEST 自身がそれをホストする機能を提供するでしょう)
更に、クライアントが Equip をすると、クライアントのメタデータにクエストの情報とシリアル番号、ブースト額等が書き込まれます。
2. Metal の意義
Metal はどういった意義があるのでしょうか?
- 実行者としてクエスト完了の証明
- クライアントとしてクエスト貢献の証明
- クエスト貢献(ブースト)の返礼品としてコレクション
等が考えられます。
Metal は譲渡不可能NFTなので、機能的に譲渡や転売が想定されていません。
それ自体の価値は、あくまでも実行者とクライアントの関係性の中で存在するものです。
3. Metal の条件
3.1. Forge の条件
- クエストの実行者であること。
- クエストを完了して終了または承認されていること(投票結果は問わない。ただし、結果は Metal に刻まれる)
- ハッシュロック、トランザクション手数料、プラットフォーム手数料が必要。
3.2. Equip の条件
- 実行者が Metal を Forge していること。
- クエストをブーストし(金額は問わない。ただし、金額は Metal に刻まれる)、
なおかつ投票に参加していること(投じた票は問わない。票は Metal に刻まれない) - ハッシュロック、トランザクション手数料が必要。
3. Metal の技術仕様
メタデータは { Source, Target, キー } のタプルにおいてブロックチェーン上で一意となります。
Source が「Metal アカウントのアドレス」、Target が「所有者のアドレス」、キーが Metal(を表現する文字列)とすれば、所有を簡単に表現できます。 この構造がそのまま譲渡不可能NFTの表現となります。 従って、Equip とは、上記のメタデータを作成する事を意味します。
Metal アカウントは Forge によってクエスト毎に新規生成される仕組みですから、複数の Metal で被ることはありません。 Metal アカウント自体は Metal の基本データを保持するストレージとして機能します。
また、Metal アカウントは QUEST と実行者からなるマルチシグで保護されます。 Metal アカウント自体は単なるストレージであってロジックを提供するスマートコントラクトではないので、 QUEST がマルチシグに参加しそのロジックを提供します。
以上のように Metal の実体はメタデータなので、その特性もメタデータの仕様に依存します。 メタデータの不変性は、QUEST の提供するロジックによって保証されます。
※Metal アカウントの秘密鍵は実行者が受け取る想定です。Metal の運営に秘密鍵自体は不要です。
4. Metal の将来
実行者が望むのなら、Forge した Metal をクライアント以外にも有償(または無償)で配布ができるようになるかもしれません。 それによって、クエスト終了後にプロジェクトへ投げ銭する事も可能になりますし、クエストの成果やライセンスの販売といった事にも使えるでしょう。
また、Metal の Forge・Equip 状況でメリットを得られるサービスが今後生まれるかもしれませんね。
5. Metal の実装時期
鋭意開発中ですが、夏のうちには実装する予定ですので、ご期待ください!