(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024122952
(43)【公開日】2024-09-10
(54)【発明の名称】多重分散台帳システムでの分割可能な非代替性トークンのための方法およびシステム
(51)【国際特許分類】
G06Q 20/06 20120101AFI20240903BHJP
【FI】
G06Q20/06
【審査請求】有
【請求項の数】22
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024019455
(22)【出願日】2024-02-13
(31)【優先権主張番号】63/484,742
(32)【優先日】2023-02-13
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】519016413
【氏名又は名称】ティービーシーエーソフト,インコーポレイテッド
(74)【代理人】
【識別番号】100201329
【弁理士】
【氏名又は名称】山口 真二郎
(74)【代理人】
【識別番号】100167601
【弁理士】
【氏名又は名称】大島 信之
(74)【代理人】
【識別番号】100220917
【弁理士】
【氏名又は名称】松本 忠大
(72)【発明者】
【氏名】ホアン、カイビン
(72)【発明者】
【氏名】チャン、ユアン-シャン
(57)【要約】 (修正有)
【課題】多重分散台帳システムで相互台帳能力を有する分割可能な非代替性トークン(NFT)のための方法を提供する。
【解決手段】方法は、NFTが最初に存在しているソース分散台帳から、分割規則および起源NFT識別子を備えるソースNFT情報を有するソースNFTを識別するステップと、ロックトランザクションにより、ソース分散台帳でソースNFTをロックまたは削除するステップと、完了トランザクションにより、NFTの譲渡先のターゲット分散台帳でソースNFTに対応するターゲットNFTをロック解除またはミントするステップと、を備える。ターゲットNFTはまた、ターゲット分散台帳でターゲットNFTの分割または併合を可能にするソースNFT情報を備えてよい。
【選択図】なし
【特許請求の範囲】
【請求項1】
ソース分散台帳から前記ソース分散台帳と異なるターゲット分散台帳に分割可能な非代替性トークン(non-fungible token、NFT)を譲渡するための方法であって、
前記ソース分散台帳から、分割規則および起源NFT識別子を備えるソースNFT情報を有するソースNFTを識別するステップと、
ロックトランザクションにより、前記ソース分散台帳で前記ソースNFTをロックまたは削除するステップと、
完了トランザクションにより、前記ターゲット分散台帳で前記ソースNFTに対応するターゲットNFTをロック解除またはミントするステップと
を備える方法において、前記ターゲットNFTは、前記ターゲット分散台帳で前記ターゲットNFTの分割または併合を可能にする前記ソースNFT情報を備えることを特徴とする方法。
【請求項2】
前記ロックトランザクションにより前記ソースNFTをロックまたは削除する前記ステップの前に、
前記ターゲット分散台帳にコミットするために、前記ターゲットNFTを備える開始トランザクションを生成および提出するステップと、
前記ソース分散台帳にコミットするために、前記ロックトランザクションを生成および提出するステップと
をさらに備え、
前記完了トランザクションにより前記ターゲットNFTをロック解除またはミントする前記ステップの前に、
前記ロックトランザクションにより、前記ターゲット分散台帳で前記開始トランザクションを参照して前記開始トランザクションの存在を検証するステップと、
前記ターゲット分散台帳にコミットするために、前記完了トランザクションを生成および提出するステップと
をさらに備える
ことを特徴とする、請求項1に記載の方法。
【請求項3】
前記ターゲットNFTを分割する前記ステップは、
前記分割規則に従う分割リクエストを受信後、前記ターゲット分散台帳で前記ターゲットNFTをロックまたは削除するステップと、
前記起源NFT識別子および前記分割リクエストに基づき、前記ソースNFT情報の少なくとも一部を備える分割NFT情報をそれぞれ有する複数の分割NFTを生成するステップと
を備え、
前記複数の分割NFTの各々の前記分割NFT情報は、前記分割規則および前記起源NFT識別子を備える
ことを特徴とする、請求項1に記載の方法。
【請求項4】
前記ターゲットNFTを併合する前記ステップは、
前記ターゲットNFTと同じ起源NFT識別子および同じ所有者を有する1つまたは複数の兄弟(sibling)NFTと前記ターゲットNFTを併合する併合リクエストを受信するステップと、
前記ターゲット分散台帳で前記ターゲットNFTおよび前記1つまたは複数の兄弟NFTをロックまたは削除するステップと、
前記ソースNFT情報の少なくとも一部を備える併合NFT情報を有する併合NFTを生成するステップと
を備え、
前記併合NFTの前記併合NFT情報は、前記分割規則および前記起源NFT識別子を備える
ことを特徴とする、請求項1に記載の方法。
【請求項5】
前記ソースNFTも前記ターゲットNFTも、前記起源NFT識別子および前記分割規則を有する起源NFTを参照し、
前記起源NFTは、前記起源NFT識別子を有するすべてのNFTの中で最初にミントされたNFTである
ことを特徴とする、請求項1に記載の方法。
【請求項6】
前記ソースNFTは、前記起源NFTであることを特徴とする、請求項5に記載の方法。
【請求項7】
前記ソースNFTも前記ターゲットNFTも、前記起源NFTではないことを特徴とする、請求項5に記載の方法。
【請求項8】
前記起源NFT識別子は、前記起源NFTのトークンIDであることを特徴とする、請求項5に記載の方法。
【請求項9】
前記分割規則は、前記起源NFTの最小分割単位を決定することを特徴とする、請求項5に記載の方法。
【請求項10】
前記最小分割単位は、水平セグメント化番号および垂直セグメント化番号により決定されることを特徴とする、請求項9に記載の方法。
【請求項11】
前記分割規則は、前記起源NFTを分割できる最大回数を決定する分割回数をさらに備えることを特徴とする、請求項9に記載の方法。
【請求項12】
前記起源NFTは、前記分割規則に基づき複数の子NFTに分割されるように構成され、前記複数の子NFTの各々は、前記起源NFTの1つまたは複数の最小分割単位を備えることを特徴とする、請求項9に記載の方法。
【請求項13】
前記起源NFTのメタデータは起源イメージを備え、前記複数の子NFTの各々のメタデータは、前記起源イメージの一部分を表す子イメージを備えることを特徴とする、請求項12に記載の方法。
【請求項14】
前記ロックトランザクションは、前記ソース分散台帳から前記ターゲット分散台帳に前記分割可能なNFTを譲渡するためにスマートコントラクトで前記ソースNFTをロックし、
ロックされた前記ソースNFTは、前記ソースNFTに対応する対外NFTを対外分散台帳から前記ソース分散台帳に譲渡する対外分散台帳リクエストの後だけにロック解除される
ことを特徴とする、請求項1に記載の方法。
【請求項15】
前記対外分散台帳は、前記ターゲット分散台帳と同じであることを特徴とする、請求項14に記載の方法。
【請求項16】
前記対外分散台帳は、前記ターゲット分散台帳と異なることを特徴とする、請求項14に記載の方法。
【請求項17】
前記開始トランザクションで生成された前記ターゲットNFTは、前記完了トランザクションが前記ロックトランザクションを参照したとき、および前記開始トランザクションでの前記ターゲットNFTの前記ターゲットNFT情報が、前記ソース分散台帳で識別された前記ソースNFTの前記ソースNFT情報と一致するときだけ、前記完了トランザクションにより譲渡可能であることを特徴とする、請求項2に記載の方法。
【請求項18】
前記完了トランザクションは、前記ロックトランザクションを参照するマークル(Merkle)ツリー参照を使用することを特徴とする、請求項17に記載の方法。
【請求項19】
前記ソース分散台帳のノードスタックにより遂行されることを特徴とする、請求項2に記載の方法。
【請求項20】
前記開始トランザクションおよび前記完了トランザクションは、前記ターゲット分散台帳のノードスタックに提出され、前記ターゲット分散台帳の前記ノードスタックは、前記開始トランザクションおよび前記完了トランザクションを前記ターゲット分散台帳にさらに提出することを特徴とする、請求項19に記載の方法。
【請求項21】
前記ターゲット分散台帳のノードスタックにより遂行されることを特徴とする、請求項2に記載の方法。
【請求項22】
前記ロックトランザクションは、前記ソース分散台帳の前記ノードスタックに提出され、前記ソース分散台帳の前記ノードスタックは、前記ロックトランザクションを前記ソース分散台帳にさらに提出することを特徴とする、請求項21に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、全体が本明細書に援用される、「A SPLITTABLE SELF-EVOLVED NFT TOKEN AND METHODS THEREOF(分割可能な自己発展NFTトークンおよびその方法)」と題する2023年2月13日に提出された米国仮特許出願第63/484,742号明細書の利益を主張する。
【0002】
本発明は、多重分散台帳システムで相互台帳能力を有する分割可能な非代替性トークン(non-fungible token、NFT)を提供する方法およびシステムに関する。
【背景技術】
【0003】
分散台帳は、多くのサイトにわたり地理的に広がった(分散した)複製され共有され同期したデジタルデータのコンセンサスである。
分散台帳は、中央管理者を必要とせず、その結果、単一の(重要な)障害発生点がない。
分散台帳技術の最も一般的な形はブロックチェーンであり、ブロックチェーンは、暗号学的ハッシュを介して一緒に安全に連結された記録からなる成長するリストを伴う分散台帳である。
ブロックチェーン内の各ブロックは、先行するブロックの暗号学的ハッシュ、タイムスタンプ、およびトランザクションデータを包含する。
ブロックチェーンには順次的性質があるので、ブロックチェーントランザクションは、記録されると、すべての後続ブロックを改変することなく任意の所与のブロック内のデータをさかのぼって改変できないという点で不可逆性である。
【0004】
代替性トークンも非代替性トークンも発行されてよく、台帳の設定に基づき分散台帳に記録されてよい。
代替性トークンは、分けられる非一意のデジタル資産である。
他方、非代替性トークン(NFT)は、ブロックチェーン上に記録されて所有権および真正性を検証するために使用される一意のデジタル識別子である。
NFTは、一般にコピーも置換も細分もできない。
NFTの所有権は、ブロックチェーンの中に記録され、所有者により譲渡でき、NFTを売却および交換できるようになる。
NFTは、典型的には芸術品、写真、ビデオ、およびオーディオなどのデジタルファイルへの参照を包含する。
NFTは、一意に識別できるので、代替性である暗号通貨と異なる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】米国仮特許出願第63/484,742号明細書
【特許文献2】国際公開第2019/125506号
【発明の概要】
【発明が解決しようとする課題】
【0006】
あらゆる単一NFTの一意性、および代替不可能な性質が原因で、いくつかの高く称賛されたプロジェクトでNFTの価格は、驚くほどの高価値にまで押し上げられた。
これにより、通常はNFTを全体としてブロックチェーンでしか購入および所有できないので、一般大衆がこれらの高く称賛されたNFTを事実上買うことができない。
【課題を解決するための手段】
【0007】
本明細書では、分割可能な非代替性トークン(NFT)のための、特に多重分散台帳システムで相互台帳能力を有する分割可能なNFTのための方法を提供する。
【0008】
ソース分散台帳からソース分散台帳と異なるターゲット分散台帳に分割可能な非代替性トークン(NFT)を譲渡するための方法であって、ソース分散台帳から、分割規則および起源NFT識別子を備えるソースNFT情報を有するソースNFTを識別するステップと、ロックトランザクションにより、ソース分散台帳でソースNFTをロックまたは削除するステップと、完了トランザクションにより、ターゲット分散台帳でソースNFTに対応するターゲットNFTをロック解除またはミント(mint、新たに作成・発行)するステップとを備える方法。ターゲットNFTは、ターゲット分散台帳でターゲットNFTの分割または併合を可能にするソースNFT情報を備えてよい。
【0009】
一実施形態では、ロックトランザクションによりソースNFTをロックまたは削除する前に、方法は、ターゲット分散台帳にコミットするために、ターゲットNFTを備える開始トランザクションを生成および提出するステップと、ソース分散台帳にコミットするために、ロックトランザクションを生成および提出するステップをさらに備える。そして完了トランザクションによりターゲットNFTをロック解除またはミントする前に、方法は、ロックトランザクションにより、ターゲット分散台帳で開始トランザクションを参照して開始トランザクションの存在を検証するステップと、ターゲット分散台帳にコミットするために、完了トランザクションを生成および提出するステップとをさらに備える。
【0010】
一実施形態では、ターゲットNFTの分割は、分割規則に従う分割リクエストを受信後、ターゲット分散台帳でターゲットNFTをロックまたは削除するステップと、起源NFT識別子および分割リクエストに基づき、ソースNFT情報の少なくとも一部を備える分割NFT情報をそれぞれ有する複数の分割NFTを生成するステップとを備える。複数の分割NFTの各々の分割NFT情報は、分割規則および起源NFT識別子を備えてよい。
【0011】
一実施形態では、ターゲットNFTの併合は、ターゲットNFTと同じ起源NFT識別子および同じ所有者を有する1つまたは複数の兄弟(sibling)NFTとターゲットNFTを併合する併合リクエストを受信するステップと、ターゲット分散台帳でターゲットNFTおよび1つまたは複数の兄弟NFTをロックまたは削除するステップと、ソースNFT情報の少なくとも一部を備える併合NFT情報を有する併合NFTを生成するステップとを備える。この実施形態では、併合NFTの併合NFT情報は、分割規則および起源NFT識別子を備えてよい。
【0012】
一実施形態では、ソースNFTもターゲットNFTも、起源NFT識別子および分割規則を有する起源NFTを参照し、起源NFTは、起源NFT識別子を有するすべてのNFTの中で最初にミントされたNFTである。ソースNFTは起源NFTであってよく、さらにまたソースNFTもターゲットNFTも起源NFTではないことも可能である。特有の実施形態では、起源NFT識別子は、起源NFTのトークンIDである。特有の実施形態では、分割規則は、起源NFTの最小分割単位を決定する。最小分割単位は、水平セグメント化番号および垂直セグメント化番号により決定されてよい。また、分割規則は、起源NFTを分割できる最大回数を決定する分割回数をさらに備えてよい。
【0013】
一実施形態では、起源NFTは、分割規則に基づき複数の子(child)NFTに分割されるように構成され、複数の子NFTの各々は、起源NFTの1つまたは複数の最小分割単位を備える。起源NFTのメタデータは、起源イメージを備えてよく、複数の子NFTの各々のメタデータは、起源イメージの一部分を表す子イメージを備える。
【0014】
一実施形態では、ロックトランザクションは、分割可能なNFTをソース分散台帳からターゲット分散台帳に譲渡するために、スマートコントラクト(smart contract)でソースNFTをロックする。ロックされたソースNFTは、ソースNFTに対応する対外NFTを対外分散台帳からソース分散台帳に譲渡する対外分散台帳リクエストの後にだけロック解除される。対外分散台帳は、ターゲット分散台帳と同じであってよい、または分散台帳と異なってよい。
【0015】
ある実施形態では、3トランザクション相互台帳譲渡が遂行される。これらのトランザクションは、ターゲット分散台帳での開始トランザクション、ソース分散台帳でのロックトランザクション、およびターゲット分散台帳での完了トランザクションを含む。特有の実施形態では、開始トランザクションで生成されたターゲットNFTは、完了トランザクションがロックトランザクションを参照したとき、および開始トランザクションでターゲットNFTのターゲットNFT情報がソース分散台帳で識別されたソースNFTのソースNFT情報と一致したときだけ、完了トランザクションにより譲渡可能である。この実施液体では、完了トランザクションは、ロックトランザクションを参照するマークル(Merkle)ツリー参照を使用してよい。
【0016】
3トランザクション相互台帳譲渡を遂行する特有の実施形態では、方法は、ソース分散台帳のノードスタックにより遂行される。この実施形態では、開始トランザクションおよび完了トランザクションは、ターゲット分散台帳のノードスタックに提出され、ターゲット分散台帳のノードスタックは、開始トランザクションおよび完了トランザクションをターゲット分散台帳にさらに提出する。
【0017】
3トランザクション相互台帳譲渡を遂行する特有の実施形態では、方法は、ターゲット分散台帳のノードスタックにより遂行される。この実施形態では、ロックトランザクションは、ソース分散台帳のノードスタックに提出され、ソース分散台帳のノードスタックは、ロックトランザクションをソース分散台帳にさらに提出する。
【0018】
本発明の他の目的、有利な点、および新規な特徴は、添付図面と併せて解釈したときに以下の詳細な記述からより明らかになるであろう。
【図面の簡単な説明】
【0019】
【
図1】本発明でのスマートコントラクトの機能を示す。
【
図2】起源NFTから導出された、一連のNFTの分割・併合を示す。
【
図3】ミントされたNFTが将来、分割または削除されてよいことを示す。
【
図4】親(parent)NFTであるNFT.CDが2つの子NFTであるNFT.CおよびNFT.Dに分割されることを示す。NFT.CおよびNFT.Dは生成され、NFT.CDの状態は「分割された」に変更される。
【
図5】2つのNFTであるNFT.AおよびNFT.Bが併合NFTであるNFT.ABに併合されることを示す。NFT.ABは生成され、NFT.AおよびNFT.Bの状態は「併合された」に変更される。
【
図7】オンチェーンデータの別の部分としてブロックチェーンメモリを備える、本発明でのNFTのデータスキーマを示す。
【
図8A】博物館の美術品と連結されたNFTの例を示す。3つの子NFTに分割された起源NFTを示す。
【
図8B】博物館の美術品と連結されたNFTの例を示す。
図8Aの3つの子NFTのうち2つが一緒に併合されて併合NFTを形成することを示す。
【
図9】ブロックチェーン上に記憶されたデータの例を示す。データは、3つの部分を、すなわち、ブロックチェーンデータ、ブロックチェーンメモリ、およびオフチェーンデータを備える。
【
図10A】分割されるNFTおよび3つの生成された子NFTのデータを示す。分割および非活動化後の、
図8Aの起源NFTのデータ変更を示す。
【
図10B】分割されるNFTおよび3つの生成された子NFTのデータを示す。
図8Aの3つの子NFTのデータである。
【
図10C】分割されるNFTおよび3つの生成された子NFTのデータを示す。
図8Aの3つの子NFTのデータである。
【
図10D】分割されるNFTおよび3つの生成された子NFTのデータを示す。
図8Aの3つの子NFTのデータである。
【
図11A】併合される2つのNFTおよび併合NFTのデータを示す。併合後の、
図8Bで併合される2つのNFTのデータ変更を示す。
【
図11B】併合される2つのNFTおよび併合NFTのデータを示す。併合後の、
図8Bで併合される2つのNFTのデータ変更を示す。
【
図11C】併合される2つのNFTおよび併合NFTのデータを示す。
図8Bの併合NFTのデータを示す。
【
図12A】賃貸借契約が開始し取り消された後のNFTのデータ変更を示す。
図8Aのインデックス2のNFTに関するNFT賃貸借契約のデータ変更を示す。
【
図12B】賃貸借契約が開始し取り消された後のNFTのデータ変更を示す。賃貸借契約が取り消されたときのデータ変更を示す。
【
図13】
図8~
図12に示す例で実装された機能呼出しを示す。ERC721機能を記載する。
【
図14】
図8~
図12に示す例で実装された機能呼出しを示す。カスタマイズされた機能を記載する。
【
図15】二重使用を防ぐ3トランザクション相互台帳譲渡の方法を示す。
【
図16】対外支払検証(payment verification、PV)ノードを分散台帳ネットワークの中に埋め込むシステムアーキテクチャを示す。
【
図17】あらゆるノードが共有ノードであるわけではないが、1組の共有された完全なノードを利用するシステムアーキテクチャを示す。
【発明を実施するための形態】
【0020】
以下で提示する記述で使用する専門用語は、本技術のある種の特有の実施形態についての詳細な記述に関連して使用されるとしても、その用語の最も広い合理的な手法で解釈されることが意図される。ある種の用語は以下で強調される場合さえあるが、しかしながら、任意の制限された手法で解釈されることを意図されるどんな専門用語も、この「発明を実施するための形態」の節でそのようなものとして具体的に規定される。
【0021】
以下で紹介する実施形態は、ソフトウェアおよび/もしくはファームウェアによりプログラムまたは構成されたプログラム可能回路により、または完全に専用回路により、またはそのような形態の組合せで実装できる。そのような専用回路は(もしあれば)たとえば1つまたは複数の特定用途向け集積回路(application-specific integrated circuit、ASIC)、プログラム可能論理デバイス(programmable logic device、PLD)、フィールド・プログラマブル・ゲート・アレイ(field-programmable gate array、FPGA)、グラフィックス処理ユニット(graphics processing unit、GPU)などの形態をとる可能がある。
【0022】
本出願は、多重分散台帳システムで相互台帳能力を有する分割可能なNFTに特に適した分割可能な非代替性トークン(NFT)のための方法に関する。
【0023】
分割可能なNFT
以下は、新しい機能を有する真正の自己発展型NFTを提供する。
「真正の」は、NFTがいくつかの物理/仮想資産に結びついてよく、NFTと資産の間の真正性を判断できる権限が存在することを意味する。
「自己発展型」は、各NFTが一連の次世代のNFTを生成でき、生成されたNFTは、最初のNFTから特徴、属性、および特権のいくつかの部分を受け継ぐことを意味する。
さらに、同じ/異なる世代のNFT間の動作は、さまざまなブロックチェーンに基づく動作および機能をサポートする資格がある。
これらの動作は、NFT賃貸借などの新しい機能を含んでよい。
生成および動作の全履歴は、ブロックチェーンの性質により分散して記録される。
NFTのライフサイクルは、分散台帳の中に忠実に書き込まれる。
【0024】
一例では、博物館の美術品は、NFTの中にミントできる。
博物館は、複製されたNFTが発生する場合、真正性を指定する能力を明らかに有する。
美術品を表すNFTは、デジタル方式でいくつかの部分に分割できるように設計されてよく、いくつかの部分の各々は、譲渡される、賃貸しされる、借りられる、またはより多くのNFTに分割される能力など、最初のNFTからいくつかの特性を受け継ぐ。
分割とは対照的に、さらにまた併合の動作を提供して、同じ最初のNFTから得られる2つ以上の既存のNFTから新しいNFTを生成してよい。
分割および併合を含むすべての機能は、ブロックチェーンプラットフォームを介して特有のトランザクションとして実装される。
ブロックチェーン環境の性質により、NFTは、多数のトランザクション履歴に発展する。
【0025】
このNFTプラットフォームは、以下の機能を有するように設計される、すなわち(1)財産所有者(たとえば、博物館)は、所有権を証明した後、自身の資産に基づきNFTを発行できる、(2)トークンのミント、譲渡、削除、分割、併合、賃貸借、取消し、および返還など、プラットフォーム全体にわたるいくつかの機能は、ミントされたNFTに付属する、および(3)NFTの取引は、譲渡、売り/買い、または賃貸借など、異なる取引モデルで規定できる。
上記の機能は、非集中台帳(ブロックチェーン)上に導入されたスマートコントラクトによりサポートされてよい非集中台帳で実装される。
スマートコントラクトは、状態が同期しているのではなく分散した非集中台帳上に導入された1つのソフトウェアである。
NFTプラットフォームでのスマートコントラクトは、ERC-721規格で記述される機能などのNFT関連機能を実装してよい。
それに加えて、スマートコントラクトは、分割・併合機能および賃貸借機能のような特殊な特徴を提供する、いくつかのカスタマイズされた機能を実装してよい。
【0026】
一例では、このシステムの中に3種類の関係者、すなわち(1)管理者(Admin)、(2)ユーザ、および(3)スマートコントラクトが登録される。
好ましくは、このシステムは、ネットワークへのアクセスを制御できる単一エンティティが、または関係者のグループが運用する非集中分散台帳であるプライベートブロックチェーン上に実装される。
【0027】
このシステムでは、管理者は、システムビルダおよび保守者を意味する。(スマートコントラクトを含む)システムの構築および保守の他に、管理者の主要な責任は、新しいメンバーの登録を許可するまたは断る会員権管理である。
【0028】
ユーザは、このシステムの主要な関係者である。
ユーザがこのシステムに加入することは、管理者により管理される。
ユーザは、他のユーザまたはスマートコントラクトと対話してよい。
【0029】
スマートコントラクトは、管理者が導入する不変のコードセグメントである。
導入されると、ブロックチェーンノードは、分散してスマート・コントラクト・コードを忠実に実行する。分散台帳の性質により、これらの導入されたスマートコントラクトは、管理者自身によってさえ修正または撤回できない。
この不変性があれば、ユーザは、これらのスマートコントラクトを信頼し、これらのスマートコントラクトと対話して、同期した不変で持続可能な資産である、ユーザのデジタル資産を取り扱うことが可能である。
このシステムでのスマートコントラクトの機能を
図1に示す。スマートコントラクトは、管理者により開発および導入される。
一実施形態では、追加のカスタマイズされた機能を有するERC721コントラクトが導入される。
【0030】
スマートコントラクトの機能
上記で記述するように、NFTの分割および併合を可能にするスマートコントラクトは、ERC721機能もカスタマイズされた機能も有する。
ERC721規格に従う機能は、トークンの生成、譲渡、または削除を含む。
カスタマイズされた機能は、トークンの分割および併合を含む。
【0031】
トークン生成(または「Mint」機能)では、ユーザは、デジタル資産の詳細情報をシステムに入力し、次いでスマートコントラクトは、ユーザが所有する実物資産(たとえば、博物館が所有する美術品)に対応するNFTトークンを戻す。
真正性を提供するために、新しいNFTの発行を管理するエンティティが存在しなければならない。
ある実施形態では、ユーザは、API呼出しを管理者に送信し、管理者は、いくつかの特定のユーザ(たとえば、博物館)がミントして他の一般ユーザを断ることを許可する会員権管理を実装する。
これらの承認されたユーザに関して、管理者は、ミント照会をブロックチェーンに転送する。
ミントされたNFTトークンの初期設定された所有者は、ユーザである。新しくミントされたNFTトークンは、「起源NFT」と呼ばれる。
【0032】
ミントされると、所有者は、「Transfer(譲渡)」機能を使用して、スマートコントラクトの助けを借りて、直接または間接的に他のユーザに自身のNFTを譲渡してよい。
その上、ミントされたNFTは、そのライフサイクルの終わりに「Burn(削除)」機能により削除されてよい。
これは、スマートコントラクトの設定または更新されたスマートコントラクトにいくらか基づき行われてよい。
【0033】
ERC721規格の他に、「Split(分割)」および「Merge(併合)」などのいくつかのカスタマイズされたスマートコントラクト機能を規定して、このシステムでデジタル資産を操作する。
「Split」機能は、デジタル資産をいくつかのセグメントに分割するように構成される。
子NFTの形の分割された子資産は、最初は親NFTと同じ所有者に属する。
【0034】
「Merge」機能は、同じ起源NFTから分割された、いくつかのセグメントをユーザが収集すると、いくつかのデジタル資産(NFT)を単一の併合されたデジタル資産(併合NFT)に併合するように構成される。
【0035】
これらの動作の助けを借りて、すべてのNFTは、自身のライフサイクルの間に子NFTを生成し続ける自己発展型デジタル資産になる。
NFTトークンの全ライフサイクルは、分散台帳の中に忠実に記録される。
親NFTの属性および特権は、
図2に示すように、子NFTを新しく生成することにより直感的に受け継がれる。
【0036】
トークンのライフサイクル
NFTのライフサイクルは、以下でより詳細に例示するMint、Sprit、またはMergeの機能から始まってよい。
【0037】
(1)メタデータからNFTをミントする
このステップでは、「起源NFT」が生成される。
起源NFTは、先行する分割または併合のステップがまったくなしに、ミントするステップから作成される。
これは、ミンタ(minter)/ユーザが動作させたミントする過程からNFTが得られる一般的な事例である。
ミントされたNFTは、
図3に示すように、所望であれば、または必要であれば、将来さらに分割または削除されてよい。
【0038】
(2)NFTを新しいNFTに分割する
NFTは、同じくNFTでもあるいくつかの異なる部分に分割されてよい。
たとえば
図4の流れ図を取り上げると、NFT.CDがNFT.CおよびNFT.Dに分割される過程で、以下の事象が発生する。
(a)NFT.CDは状態Split(分割された)で終結し、(b)2つの子NFTであるNFT.CおよびNFT.Dが生成される。
【0039】
(3)NFTを新しいNFTに併合する
NFTは、いくつかのNFTを、これらのNFTが同じ起源NFTに戻って追跡できる場合、併合することにより生成されてよい。
たとえば
図5の流れ図を取り上げると、NFT.AおよびNFT.BがNFT.ABに併合される過程で、以下の事象が発生する。(a)NFT.AおよびNFT.Bは、状態Merged(併合された)で終結し、(b)新しいNFTであるNFT.ABが生成される。
【0040】
生成されたNFTに異なるNFT分割規則を適用してよい。
これは、NFTを一度だけ分割できるようにすることを許可する規則を含んでよいが、それに限定されない、または規則は、NFTを特有のサイズの断片に分割することだけを許可する。
生成されたNFTに適用される分割規則は、NFTを生成するスマートコントラクトにより決定され、NFTのライフサイクルの間に変更できない。
同様に、NFTを併合する規定もまた、スマートコントラクトにより決定される。
【0041】
いくつかの方法を使用して、分割または併合の間にNFTを「終結させる」。
一実施形態では、終結したNFTは削除されるが、いくつかのトークン関連情報は、分割NFTまたは併合NFTの中に保持される。
この実施形態では、分割動作が遂行されるたびに、分割される最初のNFTは削除され、複数の分割NFTはミントされ、併合動作が遂行されるたびに、一緒に併合される最初のNFTは削除され、併合部分を表す併合NFTはミントされる。
【0042】
別の実施形態では、終結したNFTは、このNFTをロック解除する条件が満たされるまで、スマートコントラクトでロックされる。
この実施形態では、分割動作を遂行するたびに、分割される最初のNFTはロックされ、複数の分割NFTは、分割台帳上でのそのようなNFTの可用性に基づきミントまたはロック解除され、併合動作を遂行するたびに、一緒に併合されるべき最初のNFTは、すべてロックされ、併合された部分を表す併合NFTは、この分散台帳上での併合NFTの可用性に基づき、ミントまたはロック解除される。
ロックする間、NFTは、スマートコントラクトのコントラクトアドレスに譲渡されてよく、ロックされたNFTは、ロック解除後にユーザの標準アカウントに譲渡されてよい。
【0043】
代替実施形態では、NFTはまた、トークン自体をロックまたは削除するのではなく、NFTのメタデータで状態をロックされたまたは非活動状態と記録することで「終結」してよい。
【0044】
所有権管理
このシステムでは、ユーザ間でのデジタル資産の賃貸借契約のための方法もまた、よりよい資産利用のために採用されてよい。
賃貸借契約は、デジタル資産、有効期限、ならびに期限が切れた間の動作から構成され、期限が切れた間の動作は、自動更新、返還、および取消しのうち1つであってよい。
【0045】
「Transfer(譲渡)」と比較して、「Lease(賃貸借)」機能は、スマートコントラクトの援助を考慮する比較的洗練された動作である。
「Lease」動作は、3つの関係者、すなわち賃借人、賃貸人、およびスマートコントラクトが協働する。NFT所有者(賃借人)は、NFTトークンID、賃貸人の住所、有効期間、および期限が切れた間の動作を添えてスマートコントラクトに要求する。
単刀直入には、コマンドは、所有者が有効期限まで賃借人にNFTトークンを貸し出しており、期限が切れる間に、関連する1つまたは複数の動作をスマートコントラクトが実行することを意味する。
【0046】
期限が切れた間の動作の第1の例は、「Auto-renewal(自動更新)」である。
この機能は、両者が同意する、またはスマートコントラクトが規定し監督する、より柔軟性のある条件など、いくつかの条件が有効である場合に、NFTトークンの期限が切れた間に賃貸借関係を自動更新してよい。
【0047】
期限が切れた間の動作の第2の例は、「Return(返還)」である。
この機能は、賃貸借関係の期限が切れた間に賃貸借関係の終結につながってよい。
一般に、これは、期限が切れたときのデフォルト活動であってよい。
【0048】
期限が切れた間の動作の第3の例は「Revoke(取消し)」である。
この機能は、いくつかの規定を侵害すると分かった場合に有効期限前に賃貸借関係を終結してよい。
このシステムに入っている間の取引条件に関連規則を列挙し詳述してよい。
自動的に取り消す他に、権限を与えられた第三者(たとえば、管理者)はまた、活動し始めて、規定を侵害したかどうか、および取消し活動を実行すべきかどうかを決定してよい。
【0049】
NFTを貸し出すことが可能である場合、ユーザは、賃貸借契約を介してNFTを管理してよい。
「保有者」は、たとえ当事者がNFTを所有しようとNFTを賃貸借しようと、NFTを現在管理している当事者である。
対照的に、「所有者」は、新しいNFTをミントする、または(賃貸借することによりNFTを受け取るのではなく)他者からNFTを受け取ることにより、NFTを所有している。
したがって、所有者は、事前に規定された規則に基づき(「特権」と呼ばれる)NFTを操作するすべての権利を保有してよく、一方、保有者の特権は、多かれ少なかれ制限されてよい。
【0050】
特権およびその補正
「特権」は、ミント、分割、併合、または賃貸借のような活動の間の規則で規定される。
規則規定の例は、以下を含むが、それらに限定されない。
特権は、通常は規則として規定され、ミントしている間に初期設定される。
特権は、スマートコントラクト機能を実行する前に検証されてよい。
特権が検証されると、ユーザは、スマートコントラクト機能を呼び出してよく、さらに使用するために特権に付加的な制約を加えることを許可されてよい。
【0051】
「Split」機能では、規則は、(a)分割可能ではない、(b)一度だけ分割できる、または(c)二度以上分割できるを含んでよい。
「Merge」機能では、規則は、(a)NFTは、同じ起源NFTから生じた場合、一緒に併合されることを許可される、および(b)NFTは、同じ親NFTから分割された(すなわち、直前の世代で同じ親を有する)場合だけ一緒に併合されることを許可されるであってよい。
「Lease」機能では、規則は、(a)賃貸借可能である、および(b)賃貸借可能ではないを含んでよい。
【0052】
一般に、規則は、NFTの世代が増大するとき、より厳密になる。
分割および賃貸借の活動では、新しいNFTは、指定されなければ自身の親NFTから特権を受け継ぐ。
特権は、機能呼出しと共に規定される場合、親NFTの特権以上に厳密でしかない可能性がある。
たとえば、賃貸しすることを許可されていない親NFTは、賃貸借できる子NFTに分割できない。
併合活動では、権限は、同じセグメント部分を包含する最も近い(最小世代差の)NFTの権限以下である。
【0053】
よりよく理解できるように、いくつかの例を以下に提供する。
NFT.ABというNFTは、アリスというユーザが所有し、最初は分割可能であると仮定する。
【0054】
事例1では、アリスは、NFT.ABをNFT.AおよびNFT.Bに分割し、その間、NFT.AもNFT.Bもさらに分割できないように、NFT.AおよびNFT.Bの分割可能な特性を無効にする。
【0055】
事例2では、アリスは、NFT.ABをボブに賃貸しする。
第1の実施形態では、アリスは、賃貸借、分割、および併合を含むすべての特権を無効にするように、ボブがさらに動作することを許可しない。
第2の実施形態では、アリスは、ボブの動作を制限しないが、NFTは、最初のように返還されなければならない(分割されず、賃貸借されず、他のNFTと併合されない)。
返還過程は、スマートコントラクトにより自動的に実行される。
【0056】
事例3では、アリスは、NFT.ABおよびNFT.CDをNFT.ABCDに併合する(NFT.ABおよびNFT.CDは、同じ起源NFTに起源がある)。
併合NFT.ABCDは、セグメントABおよびCDを包含する最新のNFTから特権を受け継ぐ。
【0057】
データスキーマ
図6は、NFTのデータスキーマを描く。
データ構造は、オンチェーンデータおよびオフチェーンデータを備える。
オンチェーンデータは、タプルから構成されたNFTトークンである「トークン」を備える。
トークンは、所有者、トークンID、およびURIを備える。
「所有者」部分は、ブロックチェーン上の所有者のアドレスである。
「所有者」部分は、譲渡される間、スマートコントラクトにより上書きされる。
賃貸借機能が利用可能である事例では、「所有者」部分はまた、賃貸借される、返還される、および取り消される間、スマートコントラクトにより上書きされる。
「トークンID」は、スマートコントラクトが生成したNFTトークンIDである。
トークンIDを使用して、ブロックチェーン上でスマートコントラクトのインスタンスでNFTを区別する。
トークンIDは、生成されると不変である。
「URI」部分は、デジタル資産に関する詳細な情報を記録するオフチェーンメタデータを示す。URIもまた不変である。
【0058】
オンチェーン記憶が利用可能であるので、デジタル資産に関する最も詳細な情報は、オフチェーンデータベースの中に保存される。
オンチェーンデータとオフチェーンデータの間のつながりは、オフチェーンメタデータを指し示す、NFTに記録されたURI属性に依拠する。
一方では、分離設計は、オンチェーンデータを簡潔に保存し、他方では、オフチェーンデータは、異なるシナリオで異なるデータスキーマをサポートする柔軟性がある可能性がある。
オフチェーンデータのフィールドは必須ではない。
本出願で提供する特有の例では、NFTは、有名な博物館の美術品に連結されるので、何らかの美術関連情報を包含してよい。
【0059】
図7は、NFTデータスキーマの代替実施形態である。
この実施形態では、オンチェーンデータは、ブロックチェーンメモリ部分をさらに備える。
ブロックチェーンメモリは、ブロックチェーンプログラムを走らせるノードのメモリである。
ブロックチェーンメモリは、分割、併合、および賃貸借のような、何らかの現在の状態に関係する柔軟なデータを記録してよい。
【0060】
単一チェーン上でのNFT動作の例
以下は、NFTデータがどのように見えて配置されるかを示すいくつかの例である。
スマートコントラクトは、すべてのブロックチェーンノード上で走る実行可能なプログラムである。
NFTは、ブロックチェーンデータとして記憶され資産の譲渡可能なトークンと見なされる、スマートコントラクトが生成する不変のデータである。
しかしながら、NFTに関係する実際のデータは大部分、ブロックチェーン上に記録されない。
詳細な情報を保存するオフチェーン記憶領域と呼ばれるメタデータURIレコードがNFT内に存在する。
NFTの管理と共に、賃貸借、分離、および併合のような現在の状態を記憶するいくつかの修正可能なデータがブロックチェーンメモリの中に記憶される。
最後に、ブロックチェーン上の空間はかなり高価であるので、大部分の詳細データは、オフチェーンの手法で記録される。
オフチェーンデータは、理想的には不変であるが、必須ではない。
【0061】
図8Aおよび
図8Bは、博物館の美術品と連結されたNFTの例を示す。
インデックス番号1を有する新しくミントされた起源NFTは、次いでインデックス番号2、3、および4を有する3つの子NFTに分割される。
インデックス番号3および4を有する子NFTは、次いで一緒に併合されて、インデックス番号5を有する併合NFTを生成する。
図9は、ブロックチェーン上に、すなわちブロックチェーンメモリ上に記憶されたデータ、および新しい起源NFTをミントするときにオフチェーンに記憶されたデータを示す。
図10Aは、分割され非活動化された後の起源NFT(インデックス1)のデータ変更を示す。
活動化状態および分割された子NFTは、ブロックチェーンメモリ上に記録される。
図10B、
図10C、および
図10Dは、それぞれインデックス番号2、3、および4を有する子NFTのデータである。
【0062】
起源NFTのトークンIDおよびセグメント化情報(世代番号、起源NFT、最大分割部分、および親NFTなど)は、オフチェーンデータの形で記録される。
この例では、起源NFTのイメージは、水平方向にも垂直方向にも区分される。
これは、
図10Bおよび
図10Cでオフチェーンデータの「区画」で示すように水平セグメント化番号および垂直セグメント化番号により記録される。
2つのセグメント化番号は、起源NFTから生成されてよい、「最大_部分」および「最小_セグメント」で見ることが可能な最小分割単位を決定する。
換言すれば、起源NFTは、分割規則に基づき複数の子NFTに分割されるように構成され、複数の子NFTの各々は、起源NFTの1つまたは複数の最小分割単位を備える。
また、起源NFTのイメージに対する分割NFTの場所は、
図10Bおよび
図10Cでオフチェーンデータの「副_資産」として示す座標として提供されてよい。
【0063】
分割規則は、起源NFTを分割できる最大回数を決定する分割回数をさらに備えてよい。
図10Bおよび
図10Cでオフチェーンデータの「ポリシー」で示すように、この例のNFTは、一回だけ分割することを許可される。
【0064】
起源NFTのメタデータは、起源イメージ(この例では、博物館の美術品のイメージ)を備えてよく、起源NFTの子NFTの各々のメタデータは、起源イメージの一部分を表す子イメージを備える。
【0065】
図11Aおよび
図11Bは、それぞれインデックス番号3および4を有するNFTのデータ変更を示す。
活動化状態、および併合NFTのトークンIDは、ブロックチェーンメモリ上に記録される。
図11Cは、インデックス番号5を有する併合NFTのデータである。
起源NFTトークンIDおよびセグメント化情報は、オフチェーンデータの形で記録される。
【0066】
図12Aは、NFT賃貸借契約でのNFT(インデックス:2)のデータ変更を示し、
図12Bは、賃貸借契約が取り消されたときのデータ変更を示す。
たとえば、NFTが「764ae042539cc9780bfac21d6890f3c2c8481a7d1d4678049f718b771c4d260d」のアドレスに賃貸借されたとき、賃借人および満期日は、ブロックチェーンメモリ上に記録される。
取消しが行われたとき、取消しに関係する情報もまたブロックチェーンメモリ上に記録される。
換言すれば、賃貸借動作は、ブロックチェーンメモリ内のデータだけを変更する。
【0067】
上記の例で実装された関数呼出しは、
図13および
図14に示されるようなものである。
図13は、ERC721の関数を記載し、
図14は、カスタマイズされた関数を記載する。
【0068】
分割可能なNFTに関するクロスチェーン特徴
NFTは、異なる分散台帳上で存続してよいので、クロスチェーンNFT譲渡のための信頼できる方法は、NFT資産の流動性を改善することが望まれる。
クロスチェーン技法に関しては、国際特許出願である国際公開第2019/125506号は、分散台帳間の相互台帳譲渡のための方法について記述しており、本明細書に援用される。
【0069】
一般的に言って、クロスチェーン譲渡は、一方の分散台帳上でNFTをロックするステップ、および別の分散台帳上で対応するNFTを生成するステップを含む。
NFTが最初に存在している台帳は「ソース分散台帳」と呼ばれ、NFTの譲渡先の台帳は「ターゲット分散台帳」と呼ばれる。
NFTの二重使用を防ぐために、ロックするステップおよび生成するステップが必要とされる。
より詳細には、これは、ソース分散台帳から(「ソースNFT」と呼ばれる)譲渡されるNFTを識別するステップと、スマートコントラクトによりソース分散台帳でソースNFTをロックするステップと、ターゲット分散台帳で(「ターゲットNFT」と呼ばれる)対応するNFTを生成するステップとを含んでよい。
上記で記述するように、新しいNFTを発行する資格があるユーザを管理するために、起源NFTを生成するブロックチェーンは、好ましくはプライベートチェーンである。
しかしながら、ソースNFTが譲渡されるターゲット分散台帳は、プライベートチェーンまたはパブリックチェーンであってよい。
【0070】
しかしながら、上記の特徴は、分割可能なNFTがクロスチェーン動作を遂行するのに十分ではない。
分割可能なNFTは、起源NFTに一意に連結された識別子、およびあらゆる世代のあらゆるトークンに対する分割および併合の規則を記録すべきであり、その結果、同じ起源NFTから導出されたあらゆるトークンは互いを認識して、何回かの分割/併合/クロスチェーン動作の後でさえ分割/併合機能を遂行できる。
したがって、ソースNFTは、起源NFTまで戻って追跡できる本質的情報を記録するソースNFT情報を包含する必要がある。
本質的情報は、分割規則、および一意の起源NFT識別子を備えてよい。
起源NFT識別子の一例は、起源NFTのトークンIDである。
起源NFTは、起源NFT識別子を有するすべてのNFTの中でも最初にミントされたNFTである。
したがって、トークンは、最初にミントされたNFTである起源NFTまで戻って追跡できる。
【0071】
クロスチェーン譲渡では、ソースNFTは、NFTのロックまたは削除を用いて非活動化されてよく、ターゲットNFTは、スマートコントラクトの助けを借りてロック解除またはミントすることにより生成されてよい。
ターゲットNFTは、ソースNFTと同じ分割および併合の能力を有する。
より具体的には、ターゲットNFTは、分割規則に従う分割リクエストを受信するとすぐにロックまたは削除することが可能であり、起源NFT識別子および分割リクエストに基づきソースNFT情報の少なくとも一部を備える分割NFT情報をそれぞれ有する複数の分割NFTを生成できる。
ターゲットNFTはまた、ターゲット分散台帳で同じ起源NFT識別子を有する他のNFT(「兄弟NFT」と呼ばれる)と、兄弟NFTのすべてを同じ所有者が所有する場合に併合できる。
併合するステップは、1つまたは複数の兄弟NFTとターゲットNFTを併合する併合リクエストを受信するステップ、ターゲット分散台帳でターゲットNFTおよび1つまたは複数の兄弟NFTをロックし削除するステップと、併合NFTを生成するステップとを含むべきである。
併合NFTは、併合される兄弟NFTのすべての断片から併合されたより大きな断片を表し、分割規則および起源NFT識別子を備える併合NFT情報を有する。
【0072】
一実施形態では、ソースNFTを非活動化する取り組み方法は、消去する代わりにロックすることである。
この取り組み方法は、分割可能なNFTをソース分散台帳からターゲット分散台帳に譲渡するために、スマートコントラクトでソースNFTをロックするロックトランザクションを備えてよく、ロックされたソースNFTは、ソースNFTに対応する対外NFTを対外分散台帳からソース分散台帳に譲渡する対外分散台帳リクエストの後にだけロック解除されてよい。
この場合、対外分散台帳は、ターゲット分散台帳と同じであってよいが、さらにまたターゲット分散台帳と異なってもよい。
唯一重要なことは、ソースNFTをロック解除する前にすでに活動状態にある対応するNFTが非活動化されていることである。
【0073】
上記で述べるように、起源NFTは、起源NFT識別子を有するすべてのNFTの中でも最初にミントされたNFTである。
そしてソースNFTもターゲットNFTも、起源NFT識別子および分割規則を有する起源NFTを参照してよい。
譲渡されるソースNFTは、起源NFTであってよいが、さらにまた起源NFT以外であってよい。
たとえば、ソースNFTは、他のチェーン上の起源NFTに対応するNFTであってよく、これは、少なくとも1つのクロスチェーン動作がすでに遂行されていることを意味する。
別の例では、ソースNFTは、起源NFTの一部分を表す子NFTであってよく、これは、少なくとも1つの分割動作がすでに遂行されていることを意味する。
【0074】
二重使用を防ぐ3トランザクション相互台帳譲渡
二重使用を防ぐシステムの能力をさらに強化するために、分散台帳間でデジタル資産を譲渡する、
図15に描く方法を提供する。
相互台帳譲渡は、一連のハンドシェークを介して2つ以上のターゲット分散台帳で、ソース分散台帳で消費されていない価値を消費することにより、どこからも価値を作成できないことを保証するように遂行される。
【0075】
図15に示すように、そのような交差台帳譲渡の代表的実装形態は、一連の3つの別個のトランザクションを生成しシステムの分散台帳にコミットする。
これらのトランザクションは、ターゲット分散台帳での開始トランザクション、ソース分散台帳でのロックトランザクション、およびターゲット分散台帳での完了トランザクションを含む。
【0076】
分散台帳間でデジタル資産を譲渡する方法の第1段階では、ソース分散台帳200Sで既存のトランザクション1502の未使用のトランザクション出力(unspent transaction output、UTXO、この場合ソースNFT)を見つけ出して識別する。
ターゲット分散台帳200Tで消費すべきなのは、ソース分散台帳内のこのUTXOである。
【0077】
方法の第2段階では、開始トランザクション1504が生成され、ターゲット分散台帳200Tにコミットされる。
開始トランザクション1504は、既存のトランザクション1502の識別されたUTXOと同じデジタル表示された経済価値(この場合、ターゲットNFT)を作成する。
しかしながら、本発明の実施形態によれば、開始トランザクション1504は、その出力が通常の手法で消費できないという点で特殊な特性を有する(より詳細には、以下で論じるように、開始トランザクション1504のUTXOは、開始トランザクション1504を参照し既存のトランザクション1502の識別されたUTXOを消費するロックトランザクション1506を参照する完了トランザクション1508によってしか使用できない)。
【0078】
方法の第3段階では、開始トランザクション1504をターゲット分散台帳200Tにコミットした後、ロックトランザクション1506が生成され、ソース分散台帳200Sにコミットされる。
ロックトランザクション1506のトランザクション入力は、ソース分散台帳200S内の既存のトランザクション1502の識別されたUTXOである。
したがって、ロックトランザクション1506は、出力が、ソース分散台帳200Sで消費された(およびその結果、もはや消費可能ではない)TXOになるように、既存のトランザクション1502の識別されたUTXOを消費する。
しかしながら、ロックトランザクションの定義により、ロックトランザクションの出力は消費不可能である(すなわちロックトランザクションの出力は、決して消費できない)。
実際には、ロックトランザクション1506は、既存のトランザクション1502の識別されたUTXOを、ソース分散台帳200Sで決して消費されないようにロックする。
【0079】
その上、ロックトランザクション1506は(たとえば、ターゲットブロックで開始トランザクションの存在を検証するために開始トランザクション全体、ならびにマークルルートおよびマークルブランチのハッシュを提供することにより)ターゲット分散台帳200Tで開始トランザクション1504を参照する。
ロックトランザクション1506から開始トランザクション1504へのこの「マークル参照」を使用して、識別されたUTXOの価値が二度以上だけ消費されるのを防ぐ。
【0080】
方法の第4段階では、ロックトランザクション1506をソース分散台帳200Sにコミットした後、完了トランザクション1508が生成され、ターゲット分散台帳200Tにコミットされる。
有効な完了トランザクション1508は、開始トランザクション1504が作成したUTXOを消費する。
【0081】
有効であるために、完了トランザクション1508は(たとえば、ソースブロックでロックトランザクションの存在を検証するために使用してよいロックトランザクション全体、ならびにマークルルートおよびマークルブランチのハッシュを提供することにより)識別されたUTXOを消費するロックトランザクション1506を参照しなければならない。
ロックトランザクション1506の出力は消費できないので、ソース分散台帳200Sにロックトランザクション1506が存在することは、識別されたUTXOが実際にはソース分散台帳200Sで消滅しているという保証を提供する。
【0082】
2つ以上の完了トランザクション1508をコミットできない。
これは、完了トランザクション1508は、ロックトランザクション1506が参照した開始トランザクション1504のUTXOを(完了トランザクション1508のトランザクション入力によって)自身が消費する場合だけ有効であるからである。
したがって、完了トランザクション1508が消費している出力が、ロックトランザクション1506が参照した開始トランザクション1504の出力ではない場合、完了トランザクション1508は無効であるので、ターゲット分散台帳200Tにコミットできなくなる。
【0083】
トランザクション出力、または有効な完了トランザクション1508の出力(1つまたは複数のTXO)は、ターゲット分散台帳200Tで1つまたは複数の受領者への相互台帳デジタル表示経済価値譲渡が完了したことを表す。
完了トランザクション1508の1つまたは複数のTXOは、1つまたは複数の受領者によりターゲット分散台帳200T内部で正常に消費されてよい。
換言すれば、完了トランザクションをターゲット分散台帳にコミットすると、完了トランザクションの1つまたは複数のTXOは、ソース分散台帳でどんなトランザクションもさらに参照する必要なしにターゲット分散台帳内部で消費されてよい。
【0084】
3トランザクション相互台帳譲渡をサポートするシステムアーキテクチャ
分散台帳では、分散台帳のデータの完全な最新コピーを包含するノードは完全なノードと呼ばれる。
対照的に、いくつかの軽量ノードは、分散台帳の完全な最新コピーを維持していないが、依然として分散台帳でトランザクションを検証する能力を有する。
一例は、支払検証法を使用してトランザクションを検証してよい支払検証(PV)ノードである。
PVノードは、分散台帳ネットワークに接続された不完全なノードであってよく、分散台帳でトランザクションの有効性を証明することを必要とするデータを保持する。
一般にPVノードのデータから個々のトランザクション記録が欠けているので、PVノードは、分散台帳ネットワークのクライアントであると考えてよい。
ある代表的な実装形態では、分散台帳がブロックチェーンであるとき、PVノードは、簡素化された支払検証(simplified payment verification、SPV)ノードであってよく、必要とされるデータは、ブロック内のトランザクションのマークルルート、先行するブロックハッシュ、およびブロック検証者が作成したブロック署名のリストを含む。
【0085】
相互台帳譲渡をサポートするために使用されてよい1つのシステムアーキテクチャは、それぞれターゲット分散台帳の完全なノードでもある、ソース分散台帳の完全なノードを有してよい。
そのような完全に重複するシステムアーキテクチャは、相互台帳譲渡をサポートするが、各ノードで余分な資源をかなり必要とする。
【0086】
本明細書で開示するのは、相互台帳譲渡をサポートするが、一方で完全に重複するシステムアーキテクチャよりも少ない資源を必要とする代表的なシステムアーキテクチャである。
第1の代表的なシステムアーキテクチャは、分散台帳ネットワークの中に対外支払検証(PV)ノードを埋め込む。
第2の代表的なシステムアーキテクチャは、あらゆるノードが共有ノードを有するわけではないが、1組の共有された完全なノードを利用する。
【0087】
図16に描く第1の代表的なシステムアーキテクチャでは、他の(すなわち、対外)分散台帳のための支払検証(PV)ノードは、多重分散台帳システムの各分散台帳ネットワーク内のノードのすべてまたは一部分で同じ場所に配置される。
同じ場所に配置されたPVノードを使用して相互台帳支払検証をサポートする。
【0088】
システムを実装するために必要な資源を低減するために、PVノードは、不完全なノードであってよい。
代表的な実装形態では、各PVノードは、簡素化された支払検証(SPV)ノードとして実装されてよい。
その上、
図16では4つの台帳を伴う多重分散台帳システムを描くが、多重分散台帳システムは、任意の数の分散台帳を含んでよい。
【0089】
図16に示す例では、第1の分散台帳Aは、第1の分散台帳ネットワーク100Aにより維持され、第2の分散台帳Bは、第2の分散台帳ネットワーク100Bにより維持され、第3の分散台帳Cは、第3の分散台帳ネットワーク100Cにより維持され、第4の分散台帳Dは、第4の分散台帳ネットワーク100Dにより維持される。
これらの分散台帳ネットワーク(100A、100B、100C、および100D)の各々は、自分自身のノードの間の相互接続を有する自分自身のノードを含む。
それに加えて、本発明の実施形態によれば、コンセンサスネットワーク(100A、100B、100C、および100D)を通信可能に相互接続するように、異なるコンセンサスネットワーク内のいくつかのノード間の通信相互接続502がさらに存在する。
【0090】
しかしながら、相互台帳譲渡をサポートするために台帳間トランザクションの提出および検証もまた必要であるので、台帳からなる分散台帳ネットワークを通信可能に相互接続するだけでは不十分である。
この理由で、各分散台帳ネットワーク内のノード102の少なくともいくつかは、自分自身の分散台帳のための「ローカルな」完全なノードスタックと、自身が対話すべきその他の台帳のための「対外」PVノードスタックの両方を走らせるように構成されてよい。
【0091】
分散台帳のための完全なノードスタックは、分散台帳ネットワークの完全なノードに1組のソフトウェアルーチンまたはプログラムを含む。
1組のソフトウェアルーチンまたはプログラムは、適用可能である場合にはAPI(application program interface、アプリケーション・プログラム・インタフェース)リクエストを分散台帳トランザクションに変換する、ユーザキーを管理する、トランザクションに署名する、トランザクションがコミットされたときに他のシステムに通知する、トランザクションを分散台帳に提出する、およびトランザクションに関する包含証明を提供することを含む、分散台帳に関係するタスクおよび/または機能を遂行する。
分散台帳のためのPVノードスタックは、分散台帳ネットワークと通信するクライアントに、低減された1組のソフトウェアルーチンまたはプログラムを含む。
低減された1組のソフトウェアルーチンまたはプログラムは、トランザクションに関する包含証明を提供する、および分散台帳にトランザクションを提出することを含むタスクおよび/または機能を遂行する。
【0092】
図16の例では、第1のネットワーク100A内のノード102の少なくともいくつかは、さらにまた第2のネットワーク、第3のネットワーク、および第4のネットワーク(100B、100C、および100D)ごとにPVノード(PV-B、PV-C、およびPV-D)を走らせるように構成される。
同様に、第2のネットワーク100B内のノード102の少なくともいくつかは、同じく第1のネットワーク、第3のネットワーク、および第4のネットワーク(100A、100C、および100D)ごとにPVノード(PV-A、PV-C、およびPV-D)を走らせるように構成される。
また、第3のネットワーク100C内のノード102の少なくともいくつかは、同じく第1のネットワーク、第2のネットワーク、および第4のネットワーク(100A、100B、および100D)ごとにPVノード(PV-A、PV-B、およびPV-D)を走らせるように構成される。
最後に、第4のネットワーク100D内のノード102の少なくともいくつかは、同じく第1のネットワーク、第2のネットワーク、および第3のネットワーク(100A、100B、および100C)ごとにPVノード(PV-A、PV-B、およびPV-C)を走らせるように構成される。
【0093】
各PV-Aノードは、共通台帳Aのためのブロックヘッダおよび署名のチェーン(すなわち、ブロックヘッダ/署名チェーン)を維持する。
同様に、各PV-Bノードは、共通台帳Bのためのブロックヘッダ/署名チェーンを維持し、各PV-Cノードは、共通台帳Cのためのブロックヘッダ/署名チェーンを維持し、各PV-Dノードは、共通台帳Dのためのブロックヘッダ/署名チェーンを維持する。
【0094】
この例のコンピュータシステムは、ローカル分散台帳Aのための完全なノードスタックAを含む。
完全なノードスタックAは、ローカル分散台帳Aのための完全なコピーを含む。
それに加えて、コンピュータシステムは、対外分散台帳BのためのSPVノードスタックB、対外分散台帳CのためのSPVノードスタックC、および対外分散台帳DのためのSPVノードスタックDを含む。
SPVノードスタックBは、対外分散台帳Bのためのブロックヘッダ/署名チェーンを含む。
SPVノードスタックCは、対外分散台帳Cのためのブロックヘッダ/署名チェーンを含む。
そしてSPVノードスタックDは、対外分散台帳Dのためのブロックヘッダ/署名チェーンを含む。
【0095】
PVノードに、詳細にはSPVノードとして実装されたPVノードに維持されてよいブロックヘッダ/署名チェーンの構造は、関係する分散台帳のブロックヘッダおよびブロック署名を含んでよく、ここでブロック署名は、署名されたブロックが有効であることを検証者が受け入れていることを示す、関係がある分散台帳ネットワークのブロック検証者による署名である。
【0096】
図17に描く第2の代表的なシステムアーキテクチャでは、1組のノードは、多重分散台帳システム内のすべての分散台帳ネットワークにより共有される。
これらの共有ノードの各々は、相互台帳譲渡を効率的にサポートするように、多重分散台帳システムのすべての台帳のための完全なノードとして動作してよい。
3つの分散台帳を伴う多重分散台帳システムを
図17に描くが、システム内に任意の数の台帳が含まれてよいことに留意されたい。
【0097】
図17に示す例では、第1の分散台帳Aは、第1の分散台帳ネットワーク100Aにより維持され、第2の分散台帳Bは、第2の分散台帳ネットワーク100Bにより維持され、第3の分散台帳Cは、第3の分散台帳ネットワーク100Cにより維持される。
これらの分散台帳ネットワーク(100A、100B、および100C)の各々は、これらの間の相互接続を有するノードを含む。
【0098】
本発明の実施形態によれば、共有された1組の完全なノード(100ABC)が存在する。
共有された1組100ABC内の各ノードは、3つの分散台帳ネットワーク(100A、100B、および100C)の各々の完全なノードとして動作可能である。
したがって、共有された1組100ABC内の各ノードは、3つの分散台帳(A、B、およびC)の各々のコピーを包含する。
3つの分散台帳(A、B、C)は、別個の分散台帳のままであり、それぞれトランザクションの別個の台帳を記録することに留意されたい。
【0099】
本発明の実施形態によれば、システム内の分散台帳ごとの、ブロックハッシュからブロックヘッダへのインデックスは、分散台帳データから作成されて、共有された1組の完全なノード(100ABC)内の各ノードで提供されてよい。
インデックスは、台帳間検証を遂行するように、
図15に描く(ロックトランザクション1506から開始トランザクション1504への,および間完了1508からロックトランザクション1506への)マークルツリー参照のために使用されてよい。
【0100】
どの関係者ノードも、共有された1組の完全なノード(100ABC)のノードにネットワークを通して照会を送信して、相互台帳トランザクションを検証してよい。
これは、台帳のために提供された完全なノードが台帳の内容に関してうそをついていないことを保証または認証する中央エンティティまたは他の信頼できるエントリに対する信頼を意味する。
【0101】
この例でのコンピュータシステムは、ローカル分散台帳Aのための完全なノードスタックA、ローカル分散台帳Bのための完全なノードスタックB、およびローカル分散台帳Cのための完全なノードスタックCを含む。
完全なノードスタックAは、ローカル分散台帳Aの完全なコピーを含む。
完全なノードスタックBは、ローカル分散台帳Bの完全なコピーを含む。
そして完全なノードスタックCは、ローカル分散台帳Cの完全なコピーを含む。
【0102】
前述の実施形態の記述は、どの当業者も主題を作り使用できるようにするために提供される。
これらの実施形態に対するさまざまな修正形態は当業者に容易に明らかになり、本明細書で開示する新規な原理および主題は、革新的能力を使用することなく他の実施形態に適用されてよい。
特許請求の範囲に示す特許請求する主題は、本明細書に示す実施形態に限定されることを意図するのではなく、本明細書で開示する原理および新規な特徴と整合性のある最も広い範囲によるものとする。
さらに別の実施形態は、開示する主題の精神および真の範囲に入ることが企図される。
したがって、本発明は、添付の特許請求の範囲およびその均等物の範囲に入る修正形態および変形形態を範囲に含むことが意図される。
【外国語明細書】