JP2023529671A - コンフェデレーテッド権利及び階層キー管理のための方法、装置、及びコンピュータ可読媒体 - Google Patents
コンフェデレーテッド権利及び階層キー管理のための方法、装置、及びコンピュータ可読媒体 Download PDFInfo
- Publication number
- JP2023529671A JP2023529671A JP2022575394A JP2022575394A JP2023529671A JP 2023529671 A JP2023529671 A JP 2023529671A JP 2022575394 A JP2022575394 A JP 2022575394A JP 2022575394 A JP2022575394 A JP 2022575394A JP 2023529671 A JP2023529671 A JP 2023529671A
- Authority
- JP
- Japan
- Prior art keywords
- rights
- wallet
- root
- attribute
- delegated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 230000001010 compromised effect Effects 0.000 claims description 9
- 238000013475 authorization Methods 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 claims description 2
- 238000012546 transfer Methods 0.000 abstract description 17
- 238000007726 management method Methods 0.000 description 29
- 230000009471 action Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000008901 benefit Effects 0.000 description 7
- 238000011084 recovery Methods 0.000 description 6
- 238000013499 data model Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000002427 irreversible effect Effects 0.000 description 4
- 230000000116 mitigating effect Effects 0.000 description 4
- 239000000243 solution Substances 0.000 description 3
- 238000010561 standard procedure Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013479 data entry Methods 0.000 description 2
- 239000012895 dilution Substances 0.000 description 2
- 238000010790 dilution Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- RWSOTUBLDIXVET-UHFFFAOYSA-N Dihydrogen sulfide Chemical compound S RWSOTUBLDIXVET-UHFFFAOYSA-N 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000013517 stratification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
- G06Q20/3674—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/106—Enforcing content protection by specific content processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/108—Transfer of content, software, digital rights or licenses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
- G06Q20/38215—Use of certificates or encrypted proofs of transaction rights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
- G06Q20/4016—Transaction verification involving fraud or risk level assessment in transaction processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2145—Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/102—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measure for e-commerce
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Automation & Control Theory (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
Abstract
コンピュータ・ネットワークを通したデータ権利の安全なピア・ツー・ピアノ転送のための方法及び装置であって、方法は、分散型台帳プラットフォームを含む分散コンピューティング・システムによって達成される。ルート権利が定義され、マルチレベルの方式でウォレットに委譲され、それにより、ルート権利と関連付けられたウォレットをサイバー・リスクから隔離する。
Description
本出願は、2020年6月10日に出願された米国仮特許出願第63/037,034号の優先権を主張し、その開示全体を参照により本明細書に組み込む。
本発明は、分散コンピュータ・ネットワークにおけるセキュリティ及びトランザクションの柔軟性を増大させて、価値の保護及びトランザクションの回復を可能にする、暗号キー管理のためのシステム、データ構造、及びプロセスに関する。
著作権表示
本特許文献の開示の一部分は、著作権保護の対象である資料を含む。著作権保有者は、特許商標局の包袋又は記録に見られるような、特許文献又は特許開示のいずれかの複製に対して異議を唱えるものではないが、それ以外はいかなる場合でも全ての著作権を保有する。
本特許文献の開示の一部分は、著作権保護の対象である資料を含む。著作権保有者は、特許商標局の包袋又は記録に見られるような、特許文献又は特許開示のいずれかの複製に対して異議を唱えるものではないが、それ以外はいかなる場合でも全ての著作権を保有する。
ブロックチェーン・プロトコルに基づいたネットワークなどの分散ネットワーク(分散型台帳技術(DLT)としても知られる)は、当事者間のトラストレス・トランザクションに対する強力なベースラインとなる。一技術として、分散ネットワークは、1)コンセンサスの不変性、及び2)分散された権限という、金融エコシステムに対する2つの強力なイネーブラとなる。コンセンサスの不変性を通して、全ての当事者が、トランザクションが適切に記録されており後で変更できないことを確信することができる。分散された権限は、銀行及び政府機関などの仲介者を必要とせずに、行為者が自身の権利を実行できるようにする。
これらのイネーブラは強力であるが、それら自体で複雑な金融エコシステムの商行為に対する全ての要件を網羅するには不十分である。広く採用されるためには、トラストレス・トランザクションのコンピュータ・ネットワーキング・インフラストラクチャを拡張して、価値の開示及び表現に固有のトラスト及び権限の要素、グループのコンテキストにおける暗黙の許可、並びにエンティティ間の提携を組み込まなければならない。一例として、基本的課題について検討する。Bitcoinなどのトラストレス・ブロックチェーン証券は無記名式証券である。Bitcoinを包含する公開アドレスに対する秘密を所持する当事者のみが、この価値に対する所有権(この場合、送信する権利)を行使してもよい。このモデルの主要な利益は、仲介者なしに任意のサイズのトランザクションを遂行できることであり、それによって、これらのトランザクションが「検閲なし」であることが確保される。しかしながら、この利益には著しいリスクが伴う。保管の喪失又は流用が発生した場合の償還はない。「ウォレット」に対するキー(分散型台帳に対して状態変化を与えるのに使用される公開/秘密キーの組み合わせ)が喪失又は盗難された場合、価値回復のためのメカニズムがない。
無記名式証券が、「力こそ正義」の条件を作り出すこと、つまり「取ったもの勝ち(if you can take it, you own it)」であることは、歴史が示している。現金(紙幣)は、人々が現金を持ち歩かなければならない場所で窃盗が一般的であり得ることの一例である。ブロックチェーン・トランザクションは不可逆的であるため、権限者が盗難された価値を回復することは困難であり得、又は更には不可能であり得る。結果として、Bitcoinは、攻撃者が被害者のデータを暗号化し、攻撃者と関連付けられたウォレットに仮想通貨を転送する際にのみ復号キーを提供する、「ランサムウェア」などの特定の取立て方法に対して好ましい通貨である。当然ながら、流用に直面したときに償還がないことは、公正な金融エコシステムのコア・バリューの正反対である。結果として、ブロックチェーン価値の所有者は、自身の価値を保護する管理人となる場合が多い。所有者が仲介者となった場合、システムは、多くのブロックチェーン支持者が置換しようとしている集中システムと本質的に違わない。
上述の制限により、コンセンサス、不変性、及び分散された権限といった分散ネットワークの技術的特質を保持したまま、キュレーション権利を定義し行使する手法(例えば、中でも特に、違法なトランザクションを無効にする、又は喪失した価値を回復するメカニズム)が必要とされる。トラストレス・システムを拡張してトラストを組み込むには、独立エンティティが、権利、ポリシー、及びコントラクトを介して定義し、共有し、取り引きするのを可能にする、層状の権利ガバナンス構造を要する。本明細書の本開示は、権利が力ずくで、窃盗によって、又は事故によって消去されないよう保護するように設計された、ネットワーク・アーキテクチャ及び窃盗データ・モデルを明確に表現する。開示する実現例によって、分散ネットワークの利益が保たれるとともに、サイバー脅威から保護され、流用に対する償還が提供されながら、参加者が仲介者なしでトランザクションを遂行することができるようになる。開示する実現例は、次の2つの基礎的な技術革新を活用する。1)コア権利の回復に対するサイバー脅威を軽減又は排除するメカニズム(「階層キー管理」)、並びに2)中央権限なしに権利を確立し、譲渡し、施行するフレームワーク(「コンフェデレーテッド権利管理(confederated rights management)」)。これら2つの革新をリンクさせて、従来技術の制限を克服する分散コンピュータ・ネットワークを提供することができる。
「トークン」として知られるブロックチェーン・ベースのアセットに関する無記名式証券の問題は、Transfer Agentを導入することによって、つまり、違法の若しくは誤ったトランザクションに対してトランザクションを無効にする、又は価値を「クローバック」する権利を有する当事者を導入することによって、解決することができる。特定のアセットに対してこの権利を決定するメカニズムが提供されなければならない。ステークホルダは、Transfer Agent権利を与えられた当事者に信用及び資格がある(例えば、法的権利を有する、権利が誤用された場合に責任を課せられる、及び責任を十分に認識している)と知ることができなければならない。更に、Transfer Agentが不正アクセスされたり、支払い不能になったり、又は無能力になったりする可能性に対処しなければならない。
トークン転送に関するこれらの問題それぞれに対する技術的解決策を追求する際、一般に、あらゆるコンテキストにわたって広く適用できる、権利に対するより進んだ方策を開発しなければならない。集中モデル又はフェデレーテッド・モデルを通してではなく、当事者が連合(権利を自発的に定義し適用することに同意する2つ以上の当事者のグループ)を形成することを可能にする技術的方策である、コンフェデレーテッド権利管理を本明細書に開示する。コンフェデレーテッド権利管理は、ブロックチェーンの分散された利益を保護するとともに、連合を自由に形成し解散することを可能にする。
「フェデレーテッド」管理モデルと「コンフェデレーテッド」管理モデルとの違いを理解することが重要である。フェデレーテッド権利モデルでは、当事者は、権利を定義し割り当てる能力である主権が新たに作成されたエンティティに委ねられる取り決めに加わる。他方で、コンフェデレーテッド・モデルは、権利の定義又は割当てに対して当事者が自由に同意又は反対することができる、連合による方策によって特徴付けられる。コンフェデレーテッド・モデルにおいて互いに効率的に取り引きするには、構成者は、権利が何であることを意味するか、及び権利がどのように譲渡されるかのみに同意すればよい。当事者は、権利の共通の定義及び制御に自由に加わることができ、いずれの制御モデルにも等しく自由に反対又は離脱することができる。
ブロックチェーン・ネットワークは、単純なコンフェデレーテッド権利モデルの実例である。これらのネットワークで符号化される基本権利は、トランザクションに署名する権利、つまりネットワークにおける状態変化を承認する権利である。参加することによって、構成者は、少なくとも暗示的に、権利が表現され譲渡されるのに用いられる基本構造(ネットワーク・ガバナンス)に合意する。しかしながら、提携にはトラストが必要であり、それにはトラストレス分散型台帳システムの上に構築されたフレームワークを要する。開示する実現例によるコンフェデレーテッド権利モデルは、フェデレーション、即ち影響なく離れることができない連合の当事者間で合意を結ぶことをサポートするが、これを義務付けない。しかし、継続的で大規模な権利の展開には、連合が連合合意を迅速に形成し解消して相互利益を達成できるようにするのに用いられるメカニズムを要する。
開示する実現例のコンフェデレーテッド権利のフレームワークでは、権利又は信用性のいずれの割当ても相対的であることができる。参加者は、特定の権利、ポリシー、コントラクト、又はオブジェクトが、参加者に利益をもたらす手法で管理されているか否かを決定することができる。これには、属性、ポリシー、コントラクト、エンティティ(個人又はグループ)、及びオブジェクトを連合が定義できるようにする、技術プロトコル及びデータ・モデルが必要である。
Transfer Agent権利の実現に戻ると、コンフェデレーテッド権利管理の方策は、開示する実現例を使用して適用することができる。暗号トークン又は他のデジタル・トークンのコンテキスト内で、Transfer Agent権利は責任のある当事者によって適用されてもよい。トークンを作成する際、当事者は、トークンのコンテキスト内で権利を管理する権利を有する、デフォルトの発行者になる。認定された当事者のみが発行者権利を取得してもよい(発行者認定プロセスは、自身のコンフェデレーテッド・モデルで実現することができる)。発行者は、権利を管理する権利をトークン保持者に書き換えてもよく、トークン保持者は、コンセンサス投票又は自己主権型トークン・モデルを通して自身の権利を行使してもよい。マネージャ権利の保持者は、権利を保持する資格が(やはりコンフェデレーテッド・モデルを通して)与えられている候補者のリストから、Transfer Agentを割り当ててもよい。不正アクセスされたか又は無効の場合、Transfer Agentの役割を、マネージャ権利を保持する当事者によって再割当てすることができる。
Manager権利(トークンのコンテキストでは、これは「ルート」権利である)を保持する当事者が不正アクセスされた場合、ルート権利の課題を解決するには、ルート権利の不正アクセス又は喪失に対して保護する革新的な技術的メカニズムが必要である。解決策は、全てのネットワーク行為がサイバー・リスク及び運用リスクをもたらすが、低頻度のアクションは機能の有用性を制限するという、Custody Paradoxを解決する必要がある。換言すれば、唯一の安全な権利は決して使用されない権利である。サイバー・リスクを評価するのがほぼ不可能なため、この償還のパラドックスはブロックチェーン業界が保証することを困難にしている。サイバー・リスクを軽減する主な解決策は、トランザクションを承認する際に安全な場所でともに参加する独立エンティティが関与する高保証プロセスである署名の儀式を通して、権限を行使することである。しかし、このプロセスは、サイバー・リスクを軽減するための設計により、低速で高価である。プロセスをより高速にすることはリスクをもたらす。この問題は、「ホット」(高速/高リスク)又は「コールド」(低速/高価)であるウォレット間に中間がないため、ブロックチェーンの有用性を制限している。
委譲を通してこのパラドックスを解決するため、「層状ウォレット」の概念が、開示する実現例で使用されている。かかる委譲を通して、ルート・ウォレットは、トランザクションに署名するのに必要なサイバー・リスクを許容することができるウォレットに、その権限を(必要な場合は繰り返し)委譲している間、不活性のままであることができる。権限は、委譲された権利が不正アクセス又は誤用された場合に取り戻すことができる。不正アクセスされた場合に、コールド・ウォレットを介して権限を行使することによって回復するか又は無効にすることができる、高速で可逆的なトランザクションに対してホット・ウォレットを介して権限を表現することができるので、層化は所望のモデルを生成する。コールド・ウォレットから権限を行使するための唯一の要件は、不正アクセスされた場合に委譲された権利を回復することであるが、これは恐らくほとんど起こらない。回復が頻繁である場合、委譲モデルは、ルートがこれまで使われた可能性が低いことを保証するため、必要な回数繰り返されてもよい。このモデルは、ルートが最高レベルの確実性で格納されるものと仮定する。構造がその使用を防ぐことができるので、サイバー・リスクが軽減されて、トランザクション参加者のリスク・エクスポージャが制限される。
本発明の1つの態様は、分散型台帳プラットフォームを含む分散型コンピューティング・ネットワークにおける状態変化として表される、データ・トランザクションの安全な承認のための方法であって、方法は、分散型コンピューティング・ネットワークで実行するスマート・コントラクト・コードで表現されるルート権利であって、指定された機能の実行を許可することによって不変の権利を作成するルート権利を作成することと、指定された機能の少なくとも1つを許可する権利を、分散ネットワーク上でルート権利からウォレットに委譲して、ウォレットが機能の少なくとも1つに対応するトランザクションに署名する権利を有することを可能にする、委譲された権利を作成することであって、委譲された権利をルート権利によって取消し又は再割当てすることができることと、権利を委譲することを表すデータ構造を委譲レジストリに記録することと、ウォレットとのトランザクションに署名することによってウォレット権利を行使することにより、分散型コンピューティング・ネットワークにおけるトランザクションを承認することと、を含む。
開示する実現例は、「仮想通貨ウォレット」及び「スマート・コントラクト」を活用する。仮想通貨ウォレット、又は単に「ウォレット」は、仮想通貨トランザクションのための公開キー及び/又は秘密キーを格納する、デバイス、物理的媒体、プログラム、又はサービスである。ウォレットは、アルゴリズム・サイズに応じた長さを有する理論上の数又は乱数を生成することによって、作成することができる。数は次に、仮想通貨暗号アルゴリズム要件の特定の要件を使用して、秘密キーに変換される。次に、必要とされるいずれかの暗号アルゴリズム要件を使用して、公開キーが秘密キーから生成される。秘密キーは、仮想通貨にアクセスし送信するのに所有者によって利用され、所有者個人のものであるが、公開キーは、仮想通貨を受信するのに任意の第三者に共有される。「スマート・コントラクト」は、ブロックチェーンなど、分散ネットワークに少なくとも部分的に格納され実行される実行可能コードである。Smart Contract内では、ウォレットの所有者(即ち、トランザクションに署名するのに必要な秘密を所持する当事者)が、機能を実施する(即ち、ネットワークの分散型台帳に対して状態変化をもたらす)権利は、コードによって決定することができる。コードは、分散型台帳に不変に書き込むことができるデータに基づいて、機能を実施する権利を評価することができる。例えば、当事者は、1つの分散型台帳アドレス(ウォレット)から別のアドレスにトークンを、例えば、ERC-20の「TransferFrom」機能をEthereum台帳で実行することによって影響を受ける状態変化を、送信したいことがある。署名されたトランザクションをEthereum台帳にポストする際、署名者が機能を実行する権利は、単純な実例では、書換えを遂行することが承認されたアドレスのリスト(ホワイト・リスト)を参考にすることによって、スマート・コントラクト・コードによって決定することができる。このリストは、分散型台帳に格納され、トランザクションの承認側当事者によって管理されるデータであり、標準的技法は当該技術分野の実施者によって十分理解されている。トランザクションが署名されると、スマート・コントラクトは、署名者の公開アドレスと権利を定義するデータとの一致に基づいて、署名者が承認された当事者であることを検証することができる。
承認の別の実例は、トークン発行、即ちトークンの新しい単位を作成する権利に関する。この権利は、この権利を保持する当事者が、承認された条件下でのみ権利を行使して、トークン保持者の価値の望ましくない希釈化を防ぐように、全てのトークン保持者に対して責任を負うので、特に慎重に扱うべきである。Token Creator(即ち、Tokenのスマート・コントラクトを展開したトランザクションに署名した当事者)は、更なるトークンを発行する権利を得られてもよい。作成の際、Tokenスマート・コントラクトは、Token Creatorの公開アドレスを記録するデータを格納してもよい。Issue機能が呼び出されると、スマート・コントラクトは、署名者がCreatorのアドレスであるか否かを評価してもよく、そのアドレスである場合、トランザクションを進めるのを可能にしてもよい。下記の表及び疑似コードはこの機能性を示している。
この基本の疑似コードは、Role Based Systemで共通である。分散ネットワークによって得られた不変性及び分散権限の力を利用して、この単純なシーケンスは、集中管理者なしに権利を管理する相当な柔軟性を提供する。しかしながら、この力は、権利と関連付けられたアドレスが喪失又は不正アクセスされた場合に、回復不能な喪失(この場合、価値の希釈化)をもたらす可能性がある。Creator権利と関連付けられたウォレットに対する秘密が喪失又は盗難された場合、所望の機能を実施できる当事者はなく、場合によってはスマート・コントラクトと関連付けられた価値が無用になる。Creatorがその権限を行使する(トランザクションに署名する)たびに、サイバー・アタックによるキー不正アクセスの可能性がある。これらの重要な「システム」権利は、本明細書では「Root」権利と呼ばれる。署名権限の分散を損なうことなく制御の喪失の可能性を軽減することによって、Root権利の回復不能な性質を保護する、革新的な技術メカニズムが求められている。
開示する実現例では、Root権利は、スマート・コントラクトの作成時に、又は別の方式で設定することができる、不変データとして格納された価値に基づいて割り当てられる、名前付きの権利である。上述したように、スマート・コントラクトは、その作成者を格納し、この性質を参考にして、Creator権利によって保護された機能を承認してもよい。Root権利は変更することができないので、この権利と関連付けられたウォレットが不正アクセスされた場合、回復不能な価値の喪失に対する条件を作成する。ウォレットを不正アクセスから保護するため、スマート・コントラクトは、後述するIDelegableRightsインターフェース及びスマート・コントラクトを実現してもよい。このインターフェースは、権限を行使するのに「捨て」ウォレットを使用することができ、不正アクセスされた場合、これらのウォレットを破棄及び/又は置換することができるように、Root権利を委譲できるようにする。
別個のスマート・コントラクトを、Root権利の保護専用にすることができる。表又は他のデータベースとして格納されたデータ構造のセットである、DelegatesRegistryは、Root権利を1回又は複数回委譲することを可能にして、リスク管理のための「層状」のウォレット構造を作成する。DelegatesRegistryのための基本データ構造の実例を以下に示す。
このデータ構造では、Contractは、Root権利が実行され、Rootアドレスが記録されるスマート・コントラクトを表し、Rightは、このコントラクトによって保護される権利であり、Parentは、権利を委譲するアドレスであり、Delegateは、この権利が割り当てられているアドレスである。表示されたデータでは、Contract 0xaabbccddに対するCreator権利は、ルート・ウォレット0x1234によってデリゲート0x5678に割り当てられている。
このデータ構造では、Contractは、Root権利が実行され、Rootアドレスが記録されるスマート・コントラクトを表し、Rightは、このコントラクトによって保護される権利であり、Parentは、権利を委譲するアドレスであり、Delegateは、この権利が割り当てられているアドレスである。表示されたデータでは、Contract 0xaabbccddに対するCreator権利は、ルート・ウォレット0x1234によってデリゲート0x5678に割り当てられている。
IDelegableRightsスマート・コントラクトのIssue機能が、Creatorのみがこの機能を実行してもよいように保護される、実例を仮定する。Issue機能が呼び出された場合、スマート・コントラクトは最初に、署名者がCreatorであるかをチェックする。違う場合、コントラクトはDelegatesRegistryをチェックして、IDelegableRightsコントラクトに対するCreator権利が委譲されているかを確認し、署名者がデリゲートである場合、署名者は真を返すデリゲートである。
上記から明らかなように、DelegatesRegistryは、委譲記録をデータ構造としてデータベースに格納する。このレジストリは、本明細書では「Execution」コントラクトと呼ばれる、IDelegableRightインターフェースを実装するSmart Contractによって操作される。全ての委譲記録は、スマート・コントラクトが他のスマート・コントラクトの権利委譲に影響を及ぼすのを防ぐため、記録を作成したSmart Contractでマーキングされる。一例として、IDelegableRightインターフェースは、Delegate(権利、ウォレット)、Replace(権利、ウォレット、newWallet)、及びSubsume(権利、ウォレット)の3つのコールをサポートすることができる。
図1は、Root Right及び委譲構造を示す、本明細書の以下の図で使用されるシンボル体系を示している。Root Walletの委譲可能な権利は102で表され、機能性ウォレットは104で表される。IDelegableRightインターフェースを実装するSmartContractsは、DelegatesRegistryデータベースを使用して、Root権利を1回又は複数回委譲できるようにして、リスク管理のためのLayeredWallet構造を作成する。
権利を委譲するには、権利を保持する当事者がIDelegableRightに署名する。DelegateはExecuting Contractを介して機能する(権利によって保護された特定の機能を実行する、特定のスマート・コントラクト)。Executing Contractは、発信者が委譲しようと試みている権利を有することを検証し、次にDelegatesRegistryを呼び出して、DelegatesRegistryデータベースへの記録を通して権利を委譲する(Creator権利を委譲するのに使用される上述のサンプル・データの場合、これは、0x1234が0xaabbccdd Executionコントラクトを介してCreatorとしてトランザクションに署名した、Delegate(‘Creator’、0x5678)に対応する)。この実例における権利委譲は、下記の表入力データ構造として記録することができる。
DelegateRegistry Entry:Right=‘Creator’;Parent=0x1234[W];Delegate=0x5678[W];Contract=0xaabbccdd[SC]
DelegateRegistry Entry:Right=‘Creator’;Parent=0x1234[W];Delegate=0x5678[W];Contract=0xaabbccdd[SC]
この割当てを通して、Delegate Walletはここで、Executing Contractのコンテキストにおいて親の権利を有する。委譲はRoot Walletを、機能を実行する機能性ウォレットと分離する。委譲はRoot Walletを、そのデリゲートが代理でトランザクションに署名しているので、使用と関連付けられたサイバー・リスクから保護する。なお、両方のウォレットに不正アクセスする攻撃が、開示するモデルの影響を弱体化させる可能性があるので、委譲モデルの強度はデリゲートのウォレットの秘密キーの独立した償還に応じて決まる。
Delegate Walletが不正アクセスされた場合、Root Walletは、Delegate Walletを置換することによって制御を回復することができる。また、Root Walletは、詳細に後述するようにDelegate Walletを組み込むことによって、この権利を取り戻してもよい。Delegate Walletの権利を取り除くため、Rightを有する当事者は、Executing ContractからIDelegableRight.Subsume機能を呼び出す。例えば、以前の実例で割り当てられた権利を取り除くには、機能Subsume(‘Creator’、0x5678)を実行して、この行が表から除去され、Executing ContractのCreatorの代理で0x5678がこの権利を実行するのを防ぐ。
例えば、デリゲートの置換が頻繁に行われる場合、Root Walletの不正アクセスを防ぐのに、複数層の委譲を適用することができる。Root Walletの不正アクセスのあらゆるサイバー・リスクを軽減する1つの戦略では、Root権利は、1回はスマート・コントラクトの作成に、2回目は、権利を実行する、及び/又は更に権利を委譲するのに使用されるウォレットにこの権利を委譲するのに、2回だけ利用される。不正アクセスの有意のリスクが委譲された権利に対して存在する場合、デリゲートの回復には、スーパーバイザ・ウォレット(即ち、委譲チェーンの上位にあるウォレット)によってトランザクションに署名することを伴うので、権利を2回目、3回目などに委譲することができる。サイバー・リスクがRoot Walletによって受けないことを保証するため、委譲は、Root Wallet権利が回復に利用されず、それによってRoot Walletがサイバー・リスクから保護されることを保証するのに必要なのと同数の層を用いて行われるべきである。
図2は、層状の委譲のパターンを示している。202で、Root Walletは権利を機能性ウォレットに委譲している。Rootは後で機能性ウォレットをReplaceするか又は委譲をSubsume(取消し)してもよい。204で、委譲を202で受け入れているウォレットは更に権利を委譲し、それによって、機能的権利を行使するのに使用される別のウォレットに対する「スーパーバイザ」として作用する。206で、監視ウォレットは、ルートを保護する追加の層を作成する役割を委譲する。ウォレットは、チェーン/層において下位にある任意のウォレットを置換することができる。当然ながら、全てのアクションはDelegatesRegistryに記録される。
図3は、層状のウォレット管理に基づいた動作のシーケンスの実例を示している。図3の各行は権利委譲の状態を表す。1で、Rootは、System属性に対するCreator権利をParent Supervisory Wallet(「Warm Root」)に委譲し、それによって以下のDelegateRegistryへのエントリが得られる。
Right=Creator;Parent=Root[W];Delegate=WarmRoot[W];
Contract=AttributeRegistry[SC]
Right=Creator;Parent=Root[W];Delegate=WarmRoot[W];
Contract=AttributeRegistry[SC]
2で、Warm Rootは、Creator権利をDelegated Supervisory Wallet(「HotRoot」)に委譲し、それによって以下のDelegateRegistryへのエントリが得られる。
Right=Creator;Parent=WarmRoot[W];Delegate=HotRoot[W];
Contract=AttributeRegistry[SC]
Right=Creator;Parent=WarmRoot[W];Delegate=HotRoot[W];
Contract=AttributeRegistry[SC]
3で、Rootの置換動作が呼び出されて、WarmRootを0thRootと置換し、それによって以下のDelegateRegistryへのエントリが得られる。
Right=Creator;Parent=Root[W];Delegate=0thRoot[W];
Contract=AttributeRegistry[SC]
DelegateRegistry Auto-Update;Right=Creator;Parent=0thRoot[W];
Delegate=WarmerRoot[W];Contract=AttributeRegistry[SC]
Right=Creator;Parent=Root[W];Delegate=0thRoot[W];
Contract=AttributeRegistry[SC]
DelegateRegistry Auto-Update;Right=Creator;Parent=0thRoot[W];
Delegate=WarmerRoot[W];Contract=AttributeRegistry[SC]
4で、権利は親監視ウォレットによって組み込まれる。
DelegateRegistry Remove:Right=Creator;Parent=Root[W];
Delegate=0thRoot[W];Contract=AttributeRegistry[SC]
Delegate Registry Auto-Update:Right=Creator;Parent=Root[W];
Delegate=WarmerRoot[W];Contract=AttributeRegistry[SC]
DelegateRegistry Remove:Right=Creator;Parent=Root[W];
Delegate=0thRoot[W];Contract=AttributeRegistry[SC]
Delegate Registry Auto-Update:Right=Creator;Parent=Root[W];
Delegate=WarmerRoot[W];Contract=AttributeRegistry[SC]
開示する実現例では、階層Wallet Managementを使用して、ルート権利のサイバー・リスクが管理される。このメカニズムは、後述する方式でConfederated Rights Managementに活用され、多くの当事者の関心を表す複雑な権利を、喪失又は不正アクセスから保護された基本権利から構築することができる。
金融エコシステムは、独立した法人、エンティティの連合、及び個人の間の多くの対話に応じて決まる。多くの独立した行為者及び規制制度を含む世界規模の金融エコシステムでは、権限は中央で制御されず、また制御することができない。当事者は結束して、会社、グループ、又は他の共有企業となってもよい。これらの当事者は、通常は自発的に更にリンクして、中央権限を有さない緩やかな連合であるコンフェデレーションとなって、商取引を行ってもよい。信頼される情報交換をコンフェデレーションの形に拡大するため、参加者は、多くの場合、通信方法、共通のデータ形式、及び参加者に対する権利について同意することになる。
効率的な商取引には、エンティティが許可を定義及び管理し、規模を拡大してこれらの権利を組み合わせ、共有し、又は施行することを可能にするフレームワークを要する。世界規模の商取引において直面するエンティティのタイプ及び様々なトランザクションの範囲をサポートするように設計されたシステムは、柔軟、表現豊か、安全(承認されない権利の拡大がない)、可逆的、及び分散型でなければならない。分散権限はブロックチェーンの主要な利益であるが、世界規模の商取引に対する分散型の許可フレームワークをその上に組み立てることができるベースラインを提供する。
開示する実現例は、自己記述型であるデータ・モデルを有する、コンフェデレーテッド権限フレームワークを提供し、そこでは、属性として表現することができる権利、及び他*を定義する権利は自己記述型であり、キュレートされた形で権限の最初の行使から出現することができる。このフレームワークを使用して、権利をポリシーの作成まで拡張してもよく、即ち、権利を含むアクションを支配して権利及びポリシーを作成し管理する、複数の権利の表現まで拡張してもよい。そこから、コントラクト(コード又は他の合意)を、所望の権利及び証明によって展開し管理して、様々なトランザクションを必須のセキュリティ・レベルで可能にし自動化することができる。最後に、アクションを、権利フレームワーク下で作成され管理される、トークンなどの価値の単位にリンクさせることができる。トークンでのトランザクションは、分散フレームワーク内で作成される権利、ポリシー、及びコントラクトによって支配することができる。コンフェデレーテッド権限を可能にする自己記述型の許可フレームワークを確立する方法、及び単一の権限から始まる複雑なエコシステムのガバナンスについて、いかに記載する。
開示する実現例による権利のコンフェデレーテッド管理のためのデータ・モデルは、ContextRegistry、AttributeRegistry、及びAttestationRegistryの3つの表/データベースを含むことができる。Contextは、1つ又は複数のAttributeに対する制御の範囲を定義する。デフォルト設定で、Contextが作成されるとき、CreatorはContextを更新する全ての権利を保持し、Context内で属性及び認証を作成し管理する。これらの権利は、後述するように、属性(ポリシー及び/又はコントラクト)から導き出される認証又は他の方法を使用して、他の当事者に割り当てられてもよい。ContextRegistryを実現するコードの実例は、添付するCode Appendixに見出すことができる。ContextRegistry記録の実例のデータ構造を以下に示す。
ここで、
Idは、コンテキストに対する一意の識別子、
Nameは、コンテキストに対する記述名、
CreatorIdは、コンテキストを作成したウォレットのアドレス又は他のID、
SelfSovereignは、System権利が無効にすることができないコンテキストを示し、
ParentIdは、コンテキストが別のコンテキストから継承する場合に使用される。
ここで、
Idは、コンテキストに対する一意の識別子、
Nameは、コンテキストに対する記述名、
CreatorIdは、コンテキストを作成したウォレットのアドレス又は他のID、
SelfSovereignは、System権利が無効にすることができないコンテキストを示し、
ParentIdは、コンテキストが別のコンテキストから継承する場合に使用される。
AttributeRegistryを実現する実例のコードは、添付のCode Appendixに見出すことができる。AttributeRegistryにおける記録のための実例のデータ構造を以下に記述する。
ここで、
Idは、属性に対する一意の識別子、
Nameは、属性に対する記述名、
ContextIdは、属性がアクセスされ管理されるコンテキスト、
DataTypeは、AttestationRegistry又は他のソースにおけるAttributeに割り当てられた値のデータ・タイプ(DataType値の列挙はCode Appendixに見出すことができる)、
ParentIdは、属性間の継承を定義するのに使用され、
SourceIdは、Attributeに関与するAttestationに関してどこでデータを見出すことができるかを定義する(ソースは、外部、第三者のオラクル及び/若しくはスマート・コントラクト、又は他のデータ・ソースであってもよいが、本明細書に開示する全ての実例は、ソースが内部データ・ストアであり、Contextによって制御される読取り及び書込み規則を有するAttestationRegistryであると仮定している)。
ここで、
Idは、属性に対する一意の識別子、
Nameは、属性に対する記述名、
ContextIdは、属性がアクセスされ管理されるコンテキスト、
DataTypeは、AttestationRegistry又は他のソースにおけるAttributeに割り当てられた値のデータ・タイプ(DataType値の列挙はCode Appendixに見出すことができる)、
ParentIdは、属性間の継承を定義するのに使用され、
SourceIdは、Attributeに関与するAttestationに関してどこでデータを見出すことができるかを定義する(ソースは、外部、第三者のオラクル及び/若しくはスマート・コントラクト、又は他のデータ・ソースであってもよいが、本明細書に開示する全ての実例は、ソースが内部データ・ストアであり、Contextによって制御される読取り及び書込み規則を有するAttestationRegistryであると仮定している)。
開示する実現例にしたがってAttestationRegistryを実現するための実例のコードは、Code AppendixのPropertyMetadata部分に見出すことができる。AttestationRegistryにおける記録の実例のデータ構造を以下に記述する。
ここで、
Idは、認証に対する一意の識別子、
AttributeIdは、認証の形式及び目的を定義する属性、Keyは、値が割り当てられるアイテム(キーは、1つを超えるアイテムを値にリンクさせる複合キーであってもよい)、
Valueは、認証に割り当てられた値、
Creatorは、認証値を設定する当事者を識別し、
Expirationは、認証が期限切れになる時間を示す。
ここで、
Idは、認証に対する一意の識別子、
AttributeIdは、認証の形式及び目的を定義する属性、Keyは、値が割り当てられるアイテム(キーは、1つを超えるアイテムを値にリンクさせる複合キーであってもよい)、
Valueは、認証に割り当てられた値、
Creatorは、認証値を設定する当事者を識別し、
Expirationは、認証が期限切れになる時間を示す。
これらのデータ構造を使用して、更に詳細に後述するように、コンテキスト作成者が役割を表す属性を作成することが可能である。役割は、認証を介してウォレットに割り当てることができる。作成者は、属性(役割)を、コンテキスト、属性、及び認証を管理するのに使用される特定の機能に割り当て、それにより、管理構造を管理する管理構造を、つまり、グループが提携して権利を形成し管理することを可能にするのに使用することができる、自己記述型の自己管理システムを作成することができる。
自己記述型の権利フレームワークを確立するため、システムのキー要素を作成し操作するように委託されたRoot権限は、ContextRegistry、AttributeRegistry、及びAttestationRegistryを含むスマート・コントラクト・インフラストラクチャを展開して、フレームワークのインスタンスを作成する。スマート・コントラクトの分散型台帳に対する展開は、当業者には良く知られている標準的技法であり、したがって本明細書には詳細に記載しない。Root権限は単に、基本権利のリセットを要する例外的なイベントがない限り、システム開始時に制定されることが予期される。Contextが、真に設定されたSelfSovereign値を用いて作成された場合、Root(又は割り当てられたSystem権利)はContextを修正する権利を有さなくなるので、Rootは作成側のコンフェデレーションによって信用される必要はない。
スマート・コントラクトを展開した後、Rootの第1の作用は、トランザクションに署名してContextRegistryに‘Core’コンテキストを作成することである。レジストリ内に指定された形式でデータを設定するトランザクション構造は、当業者には知られている標準的技法であり、したがって本明細書では詳細に記載しない。特定の関数シグネチャは変動してもよい。Rootは次に、Coreコンテキストに‘System’属性(役割)を作成するトランザクションに署名する。Rootは次に、キー(0x5678)を有する値(「真」)をシステム属性に割り当て、それによってキーに対応するアドレスを有するウォレットをSystemの役割に割り当てる、Attestation Registryに記録を作成するトランザクションに署名する。
この同じシーケンスを使用して、システム・アカウントは次に、キュレータとして作用するコア承認者を割り当てて、知られており資格があるエンティティのみがシステムのアクションを実施することを確保する。コンテキスト内の指定された権利を包含するウォレットのみがコンテキストを修正することができるので、システムは、権利の拡大、又はクロス・エンティティ承認(加盟していないエンティティが別のエンティティに対する権利を割り当てる)を防ぐように設計される。
図4-1及び図4-2は、コンフェデレーテッド権利管理システムを完全に実装するためのスマート・コントラクト・アーキテクチャを示している。アーキテクチャは、フレームワークを展開する当事者に割り当てられたルート権利と、ルート権利から導き出された権利を作成し管理するのに使用される一連のレジストリとから成る。AttributeRegistryは、インフラストラクチャを支配するのに使用することができる権利を含む、任意の役割又は権利を作成及び管理することを可能にする。以下は、コンフェデレーテッド権利管理を可能にするインフラストラクチャを構成するためのプロセスを記載する。セットアップ・プロセスの各ステップに対して、Attributeは、上述したようなレジストリ及びCode Appendixに記録される。最初に、1で、Root、Warm Root、及びSystem機能を行使するのに使用されるウォレットが、別個のキー管理を有して存在する。2で、Rootは、インフラストラクチャ・スマート・コントラクト(付属書のコード)を展開し、Creatorとして記録される。3で、RootはWarm Rootに委譲し、それによって、上述の委譲のフローに記載されているように、エコシステムのCreator権利及び責任(Rootによって取り除くことができる)を割り当てる。4で、Rootは、System Attributeを作成し、Systemの役割を実施するウォレットに対する認証を割り当てる。このステップに対するContextRegistry、AttributeRegistry、及びAttestationRegistryのデータ・エントリは、上記の表及び実例に示されている。5で、システムは、CoreEligibility Attribute(TokenRoleEligible、AsseRoleEligibleなど)を作成する。このステップに対するデータ・エントリは、以前のステップで確立された同じパターンに従い、これ以上示さない。その後、6で、システムは、CoreAuthorizer Attributeを作成し、各ウォレットに対するAttestationに役割を実施させる。7で、(通常は後で)Authorizerが、それぞれのCoreEligibility Attribute Agent権利を、各属性に対して所望のウォレットに割り当てる。8で、Eligible AttributeCreatorは、所望に応じて他のRoleを支配してもよい、新しいAttributeを作成してもよい。9で、Eligible Creatorは、自己主権型のトークン、アセット、コントラクト、及びポリシーを作成してもよく、更にこれらのエンティティに対する権利を割り当ててもよい。
基本アクションの1つは、属性(権利)を作成する能力である。承認された権利作成者は、権利を作成し管理することができる。これにより、任意の承認されたエンティティが自身のエコシステムを作成し管理することが可能になる。このフレームワークは、エンティティ間での対話、及び加盟していないエンティティ間での集合的アクションを可能にする。セットアップ・シーケンスの一部として作成されるデータ構造を示すのに、略記法が使用される。
図5は、開示する実現例による、権利オブジェクト500の実例を示している。Creator(Core Attribute Attestation)は、ContextRegistryのエントリを通してContextを作成してもよい。デフォルト設定で、ContextRegistryは、CreatorがAttributeRoleEligible Creator Attestation(役割)を有さなければならないというPolicyを有する。Core Attribute Attestationを検証するため、以下の記録をAttributeRegistryに記録することができる。
Attribute=AttributeRoleEligible;Key=Creator[W];Value=Creator;
Source=AttributeRoleAuthorizer[W];Contract=ContextRegistry[SC]
Attribute=AttributeRoleEligible;Key=Creator[W];Value=Creator;
Source=AttributeRoleAuthorizer[W];Contract=ContextRegistry[SC]
コンテキストCreatorは、Contextエントリを用いてContextRegistryに記録される。この役割は、後述するようにDelegatedであることができる。属性作成時、Managerの役割はCreatorによって自己割当てされる。この実現例では、Attributeに対して1つのみのマネージャが存在し得る。以下の記録はAttributeRegistryに記録される。
Attribute=AttributeRple;Key=Attribute[ID]、Creator[W];Value=Manager;
Source=Creator[W];Contract=AttributeRegistry
Attribute=AttributeRple;Key=Attribute[ID]、Creator[W];Value=Manager;
Source=Creator[W];Contract=AttributeRegistry
Context作成時、Managerの役割は以下のデータ構造を通してCreatorによって自己割当てされる。
Attribute=ContextRole;Key=Context[ID]、Creator[W];Value=Manager;
Source=Creator[W];Contract=AttributeRegistry
Attribute=ContextRole;Key=Context[ID]、Creator[W];Value=Manager;
Source=Creator[W];Contract=AttributeRegistry
Context Managerは、コンテキスト内で1つ又は複数のAttributesを作成してもよい。
属性された作成時、Operatorの用語は、そのCreatorであるContext Managerによって自己割当てされ、以下の記録はAttributeRegistryに記録される。
Attribute=Attribute;Key=Context[ID]、Creator[W];Value=Operator;
Source=Creator[W];Contract=AttributeRegistry
Attribute=Attribute;Key=Context[ID]、Creator[W];Value=Operator;
Source=Creator[W];Contract=AttributeRegistry
ContextRegistry Creatorは、以下の規則を施行するPolicyを割り当ててもよい。
・Contextに対して1つのみのManagerがあり得る。Managerの役割がCreator(又はDelegates)によって設定されている場合、Creator(又はDelegates)はManagerを再割当てしてもよい。
・Contextが自己主権型でない場合(これがデフォルトであり得る)、ManagerはSystemによって設定されてもよい。Managerは、AttributeRoles(Operator、Agent)を追加又は除去してもよい。
・Contextに対して1つのみのManagerがあり得る。Managerの役割がCreator(又はDelegates)によって設定されている場合、Creator(又はDelegates)はManagerを再割当てしてもよい。
・Contextが自己主権型でない場合(これがデフォルトであり得る)、ManagerはSystemによって設定されてもよい。Managerは、AttributeRoles(Operator、Agent)を追加又は除去してもよい。
Managerは、以下の記録をAttributeRegistryに記録することによって、Attribute(0~多)に対するOperatorを追加又は除去してもよい。
Attribute=AttributeRole;Key=Attribute[ID]、Operator[W];Value=Operator;
Source=Manager[W];Contract=AttributeRegistry
Attribute=AttributeRole;Key=Attribute[ID]、Operator[W];Value=Operator;
Source=Manager[W];Contract=AttributeRegistry
Managerは、以下の記録をAttributeRegistryに記録することによって、Attribute(0~多)に対するAgentを追加又は除去してもよい。
Attribute=AttributeRole;Key=Attribute[ID]、Agent[W];Value=Agent;
Source=Manager[W];Contract=AttributeRegistry
Attribute=AttributeRole;Key=Attribute[ID]、Agent[W];Value=Agent;
Source=Manager[W];Contract=AttributeRegistry
(Attestation Registryの設定時に割り当てられた)デフォルト設定で、AttestationRegistryは、Attribute Operatorsが属性に対する任意の認証を追加、更新、又は除去してもよいというPolicyを有する。Attribute Agentsは、属性がSourceである場合に属性を更新又は除去のみしてもよい。Agents又はOperatorsは、Attributeに対してSet Attestations(AttributeRegistryにおける値)を行うことができる。一部の属性は、AttestationRegistryと呼ばれる値に対する内部ストアを使用する。他のAttributesは様々なソースからの外部データを指す。特別なタイプの属性は、自己認証を許可するもの、つまり、例えば以下に対して設定されるものとして指定される、関与する当事者によって値を設定することができる属性である。
*[W]=Walletアドレス、[SC]=Smart Contractアドレス、[ID]=Attribute Identifier
*[W]=Walletアドレス、[SC]=Smart Contractアドレス、[ID]=Attribute Identifier
同様の方式で、他のアクションは、参加者及び金融トランザクションの他の任意の態様を符号化するのに使用することができる、システムにおける基本オブジェクト(ポリシー、コントラクト、エンティティ、及び価値の単位)を作成する。ポリシーは規則の組み合わせであり、規則は、他のデータに対して1つ又は複数の属性を評価するステートメントであり、規則はスマート・コントラクト・トランザクションを支配するのに使用される。規則の構造及び機能は、2018年9月26日付の米国特許出願第16/143,058号に記載されており、その開示を参照により本明細書に組み込む。ポリシーは、属性から導き出され、属性を組み立てて、コンテキスト、属性、及び認証の作成及び管理に適用できる規則にするのに使用することができる。これは、開示するデータ構造を使用してそれ自体を支配することができる、更に別の手法であり、コンフェデレーションを配置するのに使用される任意の管理構造を作成することを可能にする。
図6は、Creator(Core Attribute Attestation)によって作成されるポリシー・オブジェクト600を示している。デフォルト設定で(例えば、セットアップ時に割り当てられる)、PolicyRegistryは、Creatorが、例えば以下の方式で表現される、PolicyRoleEligible Creator Attestation(役割)を有さなければならないというPolicyを有する。
Attribute=PolicyRoleEligible;Key=Creator[W];Value=Creator;
Source=PolicyRoleAuthorizer[W];Contract=AttributeRegistry[SC]
Attribute=PolicyRoleEligible;Key=Creator[W];Value=Creator;
Source=PolicyRoleAuthorizer[W];Contract=AttributeRegistry[SC]
Creatorは、Policyエントリを用いてAttributeRegistryに記録される。この役割はDelegateすることができる。Policyオブジェクトの作成時、Managerの役割は、以下の記録を通してCreatorによって自己割当てされる。
Attribute=PolicyRole;Key=Policy[ID]、Creator[W];Value=Manager;
Source=Creator[W];Contract=PolicyRegistry[SC]
Attribute=PolicyRole;Key=Policy[ID]、Creator[W];Value=Manager;
Source=Creator[W];Contract=PolicyRegistry[SC]
PolicyRegistryは、以下の規則を施行するPolicy(作成時又は作成後に割り当てられる)を有することができる。
・Policyに対して1つのみのManagerがあり得る。
・Managerの役割がCreator(又はDelegates)によって設定されている場合、Creator(又はDelegates)はManagerを再割当てしてもよい。
・Policyが自己主権型でない場合(これがデフォルトである)、ManagerはSystemによって設定されてもよい。並びに、
・Managerは、PolicyRoles(Operator、Certifier)を追加又は除去してもよい。
・Policyに対して1つのみのManagerがあり得る。
・Managerの役割がCreator(又はDelegates)によって設定されている場合、Creator(又はDelegates)はManagerを再割当てしてもよい。
・Policyが自己主権型でない場合(これがデフォルトである)、ManagerはSystemによって設定されてもよい。並びに、
・Managerは、PolicyRoles(Operator、Certifier)を追加又は除去してもよい。
Policyオブジェクトの作成時、Operator及びCertifierの役割は、以下の記録を通してCreatorによって自己割当てされる。
Attribute=PolicyRole;Key=Policy[ID]、Creator[W];Value=Operator;
Source=Creator[W];Contract=PolicyRegistry[SC];
Attribute=PolicyRole;Key=Policy[ID]、Certifier[W];Value=Certifier;
Source=Creator[W];Contract=PolicyRegistry[SC];
Attribute=PolicyRole;Key=Policy[ID]、Creator[W];Value=Operator;
Source=Creator[W];Contract=PolicyRegistry[SC];
Attribute=PolicyRole;Key=Policy[ID]、Certifier[W];Value=Certifier;
Source=Creator[W];Contract=PolicyRegistry[SC];
Managerは、3で、以下を記録することによって、1つ又は複数の当事者をOperatorとして割り当ててもよい。
Attribute=PolicyRole;Key=Policy[ID]、Operator[W];Value=Operator;
Source=Manager[W];Contract=PolicyRegistry[SC];
Policyに対して1つのみのCertifierがあってもよい。CertifierがCreator以外の任意の当事者である場合、CertifierはPolicyRoleEligible Certifier Attestation(役割)を有さなければならない。Certifierは、役割が適用される前に割当てを認識しなければならない。以下のデータ構造はこれを指定する。
Attribute=PolicyRoleEligible;Key=Certifier[W];Value=Certifier;
Source=PolicyRoleAuthorizer[W];Contract=AttributeRegistry[SC]
Attribute=PolicyRole;Key=Policy[ID]、Certifier[W];Value=Certifier;
Source=Manager[W];Contract=PolicyRegistry[SC];
*[W]=Walletアドレス、[SC]=Smart Contractアドレス、[ID]=Registry識別子
Attribute=PolicyRole;Key=Policy[ID]、Operator[W];Value=Operator;
Source=Manager[W];Contract=PolicyRegistry[SC];
Policyに対して1つのみのCertifierがあってもよい。CertifierがCreator以外の任意の当事者である場合、CertifierはPolicyRoleEligible Certifier Attestation(役割)を有さなければならない。Certifierは、役割が適用される前に割当てを認識しなければならない。以下のデータ構造はこれを指定する。
Attribute=PolicyRoleEligible;Key=Certifier[W];Value=Certifier;
Source=PolicyRoleAuthorizer[W];Contract=AttributeRegistry[SC]
Attribute=PolicyRole;Key=Policy[ID]、Certifier[W];Value=Certifier;
Source=Manager[W];Contract=PolicyRegistry[SC];
*[W]=Walletアドレス、[SC]=Smart Contractアドレス、[ID]=Registry識別子
上述したように、スマート・コントラクトは分散型台帳でロジックを実行するのに使用される。新しいスマート・コントラクトは、本明細書に開示する権利管理システムを含む、構成されたシステムの挙動を変更するように展開させることができる。権利管理システムは、後述するように、権利管理システムに対してアップグレードを遂行する許可を支配するのに使用することができる。
図7に示されるように、Developer(Core Attribute Attestation)は、SmartContractオブジェクト700を作成してもよい。デフォルト設定で(セットアップ時に割り当てられる)、ContractRegistryは、Developerが、以下のデータ構造によって指定される、ContractRoleEligible Developer Attestation(役割)を有さなければならないというPolicyを有する。
Attribute=ContractRoleEligible;Key=Developer[W];Value=Developer;
Source=ContractRoleAuthorizer[W];Contract=AttributeRegistry[SC]
Attribute=ContractRoleEligible;Key=Developer[W];Value=Developer;
Source=ContractRoleAuthorizer[W];Contract=AttributeRegistry[SC]
Developerは、Contractエントリを用いてRegistryに記録される。この役割はDelegateすることができる。Contractオブジェクトの作成時、Managerの役割は、以下のデータ構造を通してDeveloperによって自己割当てされる。
Attribute=ContractRole;Key=TokenID[SC]、Developer[W];Value=Manager;
Source=Developer[W];Contract=ContractRegistry[SC]
Attribute=ContractRole;Key=TokenID[SC]、Developer[W];Value=Manager;
Source=Developer[W];Contract=ContractRegistry[SC]
ContractRegistryは、以下の規則を施行するPolicy(作成時又は作成後に割り当てられる)を有することができる。
・Contractに対して1つのみのManagerがあり得る。
・Managerの役割がDeveloper(又はDelegates)によって設定されている場合、Developer(又はDelegates)はManagerを再割当てしてもよい。並びに、
・Contractが自己主権型でない場合(これがデフォルトである)、ManagerはSystemによって設定されてもよい。Managerは、ContractRoles(Operator、Certifier)を追加又は除去してもよい。
・Contractに対して1つのみのManagerがあり得る。
・Managerの役割がDeveloper(又はDelegates)によって設定されている場合、Developer(又はDelegates)はManagerを再割当てしてもよい。並びに、
・Contractが自己主権型でない場合(これがデフォルトである)、ManagerはSystemによって設定されてもよい。Managerは、ContractRoles(Operator、Certifier)を追加又は除去してもよい。
Contractオブジェクトの作成時、Operator及びCertifierの役割は、以下のデータ構造を通してDeveloperによって自己割当てされる。
Attribute=ContractRole;Key=ContractID[SC]、Developer[W];Value=Operator;
Source=Developer[W];Contract=ContractRegistry[SC]
Attribute=ContractRole;Key=ContractID[SC]、Certifier[W];Value=Certifier;
Source=Developer[W];Contract=ContractRegistry[SC];
Attribute=ContractRole;Key=ContractID[SC]、Developer[W];Value=Operator;
Source=Developer[W];Contract=ContractRegistry[SC]
Attribute=ContractRole;Key=ContractID[SC]、Certifier[W];Value=Certifier;
Source=Developer[W];Contract=ContractRegistry[SC];
Managerは、以下のデータ構造を通して、1つ又は複数の当事者をOperatorとして割り当ててもよい。
Attribute=ContractRole;Key=ContractID[SC]、Operator[W];Value=Operator;
Source=Manager[W];Contract=ContractRegistry[SC];
Attribute=ContractRole;Key=ContractID[SC]、Operator[W];Value=Operator;
Source=Manager[W];Contract=ContractRegistry[SC];
所望の場合、作成者は、Contractに対して1つのみのCertifierであるように、属性管理システムを制限するポリシーを展開してもよい。CertifierがDeveloper以外の任意の当事者である場合、CertifierはContractRoleEligible Certifier Attestation(役割)を有さなければならない。Certifierは、役割が適用される前に割当てを認識しなければならない。
Attribute=ContractRoleEligible;Key=Certifier[W];Value=Certifier;
Source=ContractRoleAuthorizer[W];Contract=AttributeRegistry[SC]
Attestation=>Attribute=ContractRole;Key=ContractID[SC]、Certifier[W];
Value=Certifier;Source=Manager[W];Contract=ContractRegistry[SC];
*[W]=Walletアドレス、[SC]=Smart Contractアドレス
Token Registry
Attribute=ContractRoleEligible;Key=Certifier[W];Value=Certifier;
Source=ContractRoleAuthorizer[W];Contract=AttributeRegistry[SC]
Attestation=>Attribute=ContractRole;Key=ContractID[SC]、Certifier[W];
Value=Certifier;Source=Manager[W];Contract=ContractRegistry[SC];
*[W]=Walletアドレス、[SC]=Smart Contractアドレス
Token Registry
図8に示されるように、Issuer(Core Attribute Attestation)は、トークンにおける所有権及び/又は権利を定義するSmart Contract800を通してTokenを作成してもよい。デフォルト設定で(セットアップ時に割り当てられる)、Token Registryは、Issuerが、以下のデータ構造によって指定される、TokenRoleEligible Issuer Attestation(役割)を有さなければならないというPolicyを有する。
Validate Attestation=>Attribute=TokenRoleEligible;Key=Issuer[W];
Value=Issuer;Source=TokenRoleAuthorizer[W];Contract=AttributeRegistry[SC]
Validate Attestation=>Attribute=TokenRoleEligible;Key=Issuer[W];
Value=Issuer;Source=TokenRoleAuthorizer[W];Contract=AttributeRegistry[SC]
Issuerは、Tokenエントリを用いてRegistryに記録される。この役割はDelegateすることができる。Token作成時、Managerの役割は以下のデータ構造を通してIssuerによって自己割当てされる。
Attribute=TokenRole;Key=TokenID[SC]、Issuer[W];Value=Manager;
Source=Issuer[W];Contract=TokenRegistry[SC]
Attribute=TokenRole;Key=TokenID[SC]、Issuer[W];Value=Manager;
Source=Issuer[W];Contract=TokenRegistry[SC]
TokenRegistryは、以下の規則を施行するPolicy(作成時に割り当てられる)を有する。
・Tokenに対して1つのみのManagerがあり得る。
・Managerの役割がIssuerによって設定されている場合、IssuerはManagerを再割当てしてもよい。Tokenが自己主権型でない場合(これがデフォルトである)、ManagerはSystemによって設定されてもよい。
・自己主権型Tokenの場合、Managerは、トークン保持者からの選挙(別個に記載されるElection)によって設定されてもよい。並びに、
・Managerは、TokenRoles(Operator、TransferAgent)を追加又は除去してもよい。
・Tokenに対して1つのみのManagerがあり得る。
・Managerの役割がIssuerによって設定されている場合、IssuerはManagerを再割当てしてもよい。Tokenが自己主権型でない場合(これがデフォルトである)、ManagerはSystemによって設定されてもよい。
・自己主権型Tokenの場合、Managerは、トークン保持者からの選挙(別個に記載されるElection)によって設定されてもよい。並びに、
・Managerは、TokenRoles(Operator、TransferAgent)を追加又は除去してもよい。
Token作成時、Operator及びAgentの役割は、以下のデータ構造を通してIssuerによって自己割当てされる。
Attribute=TokenRole;Key=TokenID[SC]、Issuer[W];Value=Operator;
Source=Issuer[W];Contract=TokenRegistry[SC];
Attribute=TokenRole;Key=TokenID[SC]、Issuer[W];Value=Agent;
Source=Issuer[W];Contract=TokenRegistry[SC];
Attribute=TokenRole;Key=TokenID[SC]、Issuer[W];Value=Operator;
Source=Issuer[W];Contract=TokenRegistry[SC];
Attribute=TokenRole;Key=TokenID[SC]、Issuer[W];Value=Agent;
Source=Issuer[W];Contract=TokenRegistry[SC];
Managerは、以下のデータ構造を通して、1つ又は複数の当事者をOperatorとして割り当ててもよい。
Attribute=TokenRole;Key=TokenID[SC]、Operator[W];Value=Operator;
Source=Manager[W];Contract=TokenRegistry[SC];
Attribute=TokenRole;Key=TokenID[SC]、Operator[W];Value=Operator;
Source=Manager[W];Contract=TokenRegistry[SC];
この実現例では、Tokenに対して1つのみのTransferAgentが存在してもよい。AgentがIssuer以外の任意の当事者である場合、AgentはTokenRoleEligible Agent Attestation(役割)を有さなければならない。Agentは、以下のデータ構造を通して役割が適用される前に、割当てを認識しなければならない。
Attribute=TokenRoleEligible;Key=Agent[W];Value=Agent;
Source=TokenRoleAuthorizer[W];Contract=AttributeRegistry[SC]
Attribute=TokenRole;Key=TokenID[SC]、Agent[W];Value=Agent;Source=Manager[W];Contract=TokenRegistry[SC];
*[W]=Walletアドレス、[SC]=Smart Contractアドレス
Attribute=TokenRoleEligible;Key=Agent[W];Value=Agent;
Source=TokenRoleAuthorizer[W];Contract=AttributeRegistry[SC]
Attribute=TokenRole;Key=TokenID[SC]、Agent[W];Value=Agent;Source=Manager[W];Contract=TokenRegistry[SC];
*[W]=Walletアドレス、[SC]=Smart Contractアドレス
図9に示されるように、アセットCreator(Core Attribute Attestation)は、Assetオブジェクト900を作成してもよい。デフォルト設定で(セットアップ時又はセットアップ後に割り当てられる)、AssetRegistryは、Creatorが、以下に表現されるようなAssetRoleEligible Creator Attestation(役割)を有さなければならないというPolicyを有する。
Attribute=AssetRoleEligible;Key=Creator[W];Value=Creator;
Source=AssetRoleAuthorizer[W];Contract=AttributeRegistry[SC]
Attribute=AssetRoleEligible;Key=Creator[W];Value=Creator;
Source=AssetRoleAuthorizer[W];Contract=AttributeRegistry[SC]
Creatorは、Assetエントリを用いてAssetRegistryに記録される。この役割はDelegateすることができる。Asset作成時、Managerの役割は、以下のデータ構造を通してCreatorによって自己割当てされる。
Attribute=AssetRole;Key=Asset[ID]、Creator[W];Value=Manager;
Source=Creator[W];Contract=AssetRegistry[SC]
Attribute=AssetRole;Key=Asset[ID]、Creator[W];Value=Manager;
Source=Creator[W];Contract=AssetRegistry[SC]
AssetRegistryは、以下の規則を施行するPolicy(作成時又は作成後に割り当てられる)を有する。
・Assetに対して1つのみのManagerがあり得る。
・Managerの役割がCreator(又はDelegates)によって設定されている場合、Creator(又はDelegates)はManagerを再割当てしてもよい。並びに、
・Assetが自己主権型でない場合(これがデフォルトである)、ManagerはSystemによって設定されてもよい。Managerは、AssetRoles(Operator、Certifier)を追加又は除去してもよい。
・Assetに対して1つのみのManagerがあり得る。
・Managerの役割がCreator(又はDelegates)によって設定されている場合、Creator(又はDelegates)はManagerを再割当てしてもよい。並びに、
・Assetが自己主権型でない場合(これがデフォルトである)、ManagerはSystemによって設定されてもよい。Managerは、AssetRoles(Operator、Certifier)を追加又は除去してもよい。
Assetの作成時、Operator及びCertifierの役割は、以下のようにCreatorによって自己割当てされる。
Attestation=>Attribute=AssetRole;Key=Asset[ID]、Creator[W];Value=Operator; Source=Creator[W];Contract=AssetRegistry[SC];
Attestation=>Attribute=AssetRole;Key=Asset[ID]、Certifier[W];Value=Certifier; Source=Creator[W];Contract=AssetRegistry[SC];
Attestation=>Attribute=AssetRole;Key=Asset[ID]、Creator[W];Value=Operator; Source=Creator[W];Contract=AssetRegistry[SC];
Attestation=>Attribute=AssetRole;Key=Asset[ID]、Certifier[W];Value=Certifier; Source=Creator[W];Contract=AssetRegistry[SC];
Managerは、以下のデータ構造を通して、1つ又は複数の当事者をOperatoとして割り当ててもよい。
Attribute=AssetRole;Key=Asset[ID]、Operator[W];Value=Operator;
Source=Manager[W];Contract=AssetRegistry[SC];
Attribute=AssetRole;Key=Asset[ID]、Operator[W];Value=Operator;
Source=Manager[W];Contract=AssetRegistry[SC];
所望の場合、Creatorは、Contractに対して1つのみのCertifierであってもよいように、属性管理システムを制限するポリシーを展開してもよい。CertifierがDeveloper以外の任意の当事者である場合、CertifierはContractRoleEligible Certifier Attestation(役割)を有さなければならない。Certifierは、役割が適用される前に割当てを認識しなければならない。
Attribute=AssetRoleEligible;Key=Certifier[W];Value=Certifier;
Source=AssetRoleAuthorizer[W];Contract=AttributeRegistry[SC]
Attribute=AssetRole;Key=Asset[ID]、Certifier[W];Value=Certifier;
Source=Manager[W];Contract=AssetRegistry[SC];
*[W]=Walletアドレス、[SC]=Smart Contractアドレス、[ID]=Registry識別子
Attribute=AssetRoleEligible;Key=Certifier[W];Value=Certifier;
Source=AssetRoleAuthorizer[W];Contract=AttributeRegistry[SC]
Attribute=AssetRole;Key=Asset[ID]、Certifier[W];Value=Certifier;
Source=Manager[W];Contract=AssetRegistry[SC];
*[W]=Walletアドレス、[SC]=Smart Contractアドレス、[ID]=Registry識別子
開示する実現例のフレームワークは、分散(自己形成)ポリシーが、特定のトークンに対する転送エージェント権利の決定を調整することを許可して、Transfer Agent権利を与えられた当事者が、資格があって(法的権利を有し、責任を十分に認識している)信用性があることをステークホルダに対して確認する。属性をエコシステム・ステークホルダによって作成し管理して、Token Issuer又はTransfer Agentなど、主要機能を実施する当事者を証明するコア承認者を割り当てることができる。特定のトークンに対するステークホルダは、Transfer Agent権利を、この役割を保持することが証明されている当事者に割当て又は再割当てすることができる。
しかしながら、オープンエンドのフレームワークの力は、自身の権利、及び自身が所有する価値に影響を及ぼす当事者の権利を理解しようとする、平均的な参加者にとって圧倒的である場合がある。権利が透明及びアクセス可能でない場合、ユーザは不用意にトランザクションに参加することがあり、そこでユーザの権利が予期又は理解しなかった形で影響される。フレームワークは、Strategies、例えば、共通の投資パターンを提供するパッケージにまとめられた権利を含む。これは、参加者が好み、快適に感じる権利パッケージを見出す単純なモデルを参加者に提供する。例えば、権利パッケージは、自己主権型である、管理されるなどであることができる。
所与のコンピューティング・デバイスは、コンピュータ・プログラム・モジュールを実行するように構成された、1つ又は複数のプロセッサを含んでもよい。コンピュータ・プログラム・モジュールは、所与のコンピューティング・プラットフォームと関連付けられた専門家又はユーザが、システム及び/又は外部リソースとインターフェース接続できるように構成されてもよい。非現定例として、所与のコンピューティング・プラットフォームは、サーバ、デスクトップ・コンピュータ、ラップトップ・コンピュータ、可搬型コンピュータ、タブレット・コンピューティング・プラットフォーム、スマートフォン、ゲーミング・コンソール、及び/又は他のコンピューティング・プラットフォームのうち1つ若しくは複数を含んでもよい。
様々なデータ及びコードを、情報を電子的に格納する非一時的記憶媒体を備えてもよい、電子記憶デバイスに格納することができる。電子記憶装置の電子記憶媒体は、コンピューティング・デバイスと一体的に(即ち、実質的に取外し不能で)提供されるシステム・ストレージ、並びに/或いは例えば、ポート(例えば、USBポート、ファイヤワイヤ・ポートなど)若しくはドライブ(例えば、ディスク・ドライブなど)を介して、コンピューティング・デバイスに取外し可能に接続可能である、リムーバブル・ストレージを含んでもよい。電子記憶装置は、光学読取り可能記憶媒体(例えば、光学ディスクなど)、磁気読取り可能な記憶媒体(例えば、磁気テープ、磁気ハード・ドライブ、フロッピー・ドライブなど)、電荷ベースの記憶媒体(例えば、EEPROM、RAMなど)、固体記憶媒体(例えば、フラッシュ・ドライブなど)、並びに/或いは他の電子的に読取り可能な記憶媒体のうち1つ若しくは複数を含んでもよい。
コンピューティング・デバイスのプロセッサは、情報処理能力を提供するように構成されてもよく、デジタル・プロセッサ、アナログ・プロセッサ、情報を処理するように設計されたデジタル回路、情報を処理するように設計されたアナログ回路、状態機械、及び/又は情報を電子的に処理するための他のメカニズムのうち1つ若しくは複数を含んでもよい。本明細書で使用するとき、「モジュール」という用語は、モジュールに属する機能性を実施する任意の構成要素又は構成要素のセットを指してもよい。これは、プロセッサ可読命令を実行する間の1つ若しくは複数の物理的プロセッサ、プロセッサ可読命令、回路、ハードウェア、記憶媒体、又は他の任意の構成要素を含んでもよい。
最も実用的で好ましい実現例であると現在みなされているものに基づいて、例示の目的で本発明の技術について詳細に記載してきたが、かかる詳細はその目的のみに対するものであり、技術は開示する実現例に限定されず、それとは対照的に、添付の特許請求の範囲の趣旨及び範囲内にある修正及び等価の構成を網羅することが意図されることが理解されるべきである。例えば、本発明の技術は、可能な範囲において、任意の実現例の1つ又は複数の特徴を他のいずれかの実現例の1つ又は複数の特徴と組み合わせることが可能であるものと想到されることが理解されるべきである。
実現例及び実例について例示し記載してきたが、本発明は、本明細書に開示する正確な構成及び構成要素に限定されないことが理解されるべきである。添付の特許請求の範囲で定義される本発明の趣旨及び範囲から逸脱することなく、本明細書に開示する方法及び装置の構成、動作、及び詳細に対して、様々な修正、変更、及び変形がなされてもよい。
Claims (9)
- 分散型台帳プラットフォームを含む分散型コンピューティング・ネットワークにおける状態変化として表される、データ・トランザクションの安全な承認のための方法であって、
前記分散型コンピューティング・ネットワークで実行するスマート・コントラクト・コードで表現されるルート権利であって、指定された機能の実行を許可することによって不変の権利を作成するルート権利を作成することと、
前記指定された機能の少なくとも1つを許可する権利を、前記分散ネットワーク上で前記ルート権利からウォレットに委譲して、前記ウォレットが前記機能の前記少なくとも1つに対応するトランザクションに署名する権利を有することを可能にする、委譲された権利を作成することであって、前記委譲された権利を前記ルート権利によって取消し又は再割当てすることができることと、
権利を委譲することを表すデータ構造を委譲レジストリに記録することと、
前記ウォレットとのトランザクションに署名することによって前記ウォレット権利を行使することにより、前記分散型コンピューティング・ネットワークにおける前記トランザクションを承認することとを含む、方法。 - 前記スマート・コントラクト・コードが、前記ルート権利に割り当てられた割当てウォレットに対する署名権限を有する当事者に、委譲された権利を前記ウォレットに委譲する前記許可を提供し、*前記記録することが、前記委譲に応答して達成され、前記委譲された権利が適用される前記スマート・コントラクト、名前付きの前記権利、割り当てる前記ウォレット、及び前記権利が委譲された前記ウォレットを参照して前記委譲レジストリに記録をもたらす、請求項1に記載の方法。
- スマート・コントラクト・インターフェース規格が、スマート・コントラクトと委譲レジストリとの間の通信に使用される、請求項2に記載の方法。
- 委譲された権利を有する前記ウォレットが不正アクセスされた場合に前記委譲レジストリの対応する記録を変更することによって、ルート・ウォレットが、対応する記録を委譲レジストリから取り除くことによって、又は前記権利を別のウォレットに委譲することにより委譲を置換することによって、委譲された権利を取り消すことができる、請求項3に記載の方法。
- 前記委譲された権利を別のウォレットに委譲することによって、ルート・ウォレットを、署名トランザクションと関連付けられたサイバー・リスクから更に隔離することを更に含む、請求項3に記載の方法。
- 権利管理データ構造モデルが適用されることにより、権利を作成、管理、及び施行する前記権利を含む権利から権利を形成することができ、前記権利管理データ構造モデルが、権利管理構造を可能にするスマート・コントラクトを展開することによって、状態変化を承認する前記権利を表現し、前記権利管理データ構造モデルが前記ルート権利を所持する当事者によって定義される、請求項5に記載の方法。
- 前記権利管理データ構造モデルが、前記権利によって管理される属性管理レジストリを含み、各属性が、名前、記憶場所及びデータ・タイプ、並びにどの当事者がデータを作成、読取り、更新、又は消去することができるかに関する権利を含むデータ構造であり、認証レジストリが、承認された当事者によって割り当てられるオブジェクトと関連付けられた認証属性値を格納し、前記認証属性値が、ウォレットに割り当てられる権利を獲得するのに使用することができる役割を表し、それによって、他の権利を支配するのに使用することができる権利の作成及び管理を容易にする、請求項6に記載の方法。
- ポリシー管理データ構造が、提案される状態変化において関与するオブジェクトの属性を使用して、トランザクションに影響を及ぼす署名者の権利を決定する、ロジックから成る1つ又は複数の規則を評価する符号化された命令のセットを含む、請求項7に記載の方法。
- 全ての権利が前記ルート権利から直接又は間接的に導き出されることにより、前記ルート権利までたどって戻ることができる権限のチェーンが提供される、請求項2に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063037034P | 2020-06-10 | 2020-06-10 | |
US63/037,034 | 2020-06-10 | ||
PCT/US2021/036826 WO2021252773A1 (en) | 2020-06-10 | 2021-06-10 | Method, apparatus, and computer-readable medium for confederated rights and hierarchical key management |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023529671A true JP2023529671A (ja) | 2023-07-11 |
Family
ID=78825509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022575394A Pending JP2023529671A (ja) | 2020-06-10 | 2021-06-10 | コンフェデレーテッド権利及び階層キー管理のための方法、装置、及びコンピュータ可読媒体 |
Country Status (7)
Country | Link |
---|---|
US (2) | US11954212B2 (ja) |
EP (1) | EP4165573A1 (ja) |
JP (1) | JP2023529671A (ja) |
KR (1) | KR20230046291A (ja) |
CN (1) | CN116324844A (ja) |
CA (1) | CA3181478A1 (ja) |
WO (1) | WO2021252773A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11526954B2 (en) | 2019-05-14 | 2022-12-13 | Microsoft Technology Licensing, Llc | User interface and smart contract interaction model for generating user interface representations |
US11514457B2 (en) * | 2019-05-23 | 2022-11-29 | Microsoft Technology Licensing, Llc | Smart contract generation and execution system with built-in mediator selection and enforcement tools |
WO2021026493A1 (en) * | 2019-08-07 | 2021-02-11 | Seatig Inc. | A distributed computing architecture with settlement mechanism to enable traceability of credit tokenization, disbursement and repayment |
CN112818380B (zh) * | 2020-07-10 | 2024-06-28 | 支付宝(杭州)信息技术有限公司 | 业务行为的回溯处理方法、装置、设备及系统 |
US12095924B2 (en) * | 2021-09-30 | 2024-09-17 | Oracle International Corporation | System and method for generating blockchain token support from a set of declarations |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11250423B2 (en) | 2012-05-04 | 2022-02-15 | Institutional Cash Distributors Technology, Llc | Encapsulated security tokens for electronic transactions |
US11521290B2 (en) * | 2013-05-22 | 2022-12-06 | Patrick Damien O'Brien | Systems and methods for storing contract information on multiple blockchain ledgers |
KR101816653B1 (ko) * | 2017-02-14 | 2018-02-21 | 주식회사 코인플러그 | 스마트 컨트랙트 및 블록체인 데이터베이스를 사용하여 서비스 제공 서버에 의하여 제공되는 서비스를 이용하기 위한 사용자의 로그인 요청에 대하여 pki 기반의 인증을 통해 로그인을 대행하는 방법 및 이를 이용한 서버 |
US10489597B2 (en) | 2017-03-28 | 2019-11-26 | General Electric Company | Blockchain verification of network security service |
US10735202B2 (en) | 2017-07-24 | 2020-08-04 | International Business Machines Corporation | Anonymous consent and data sharing on a blockchain |
US11200569B1 (en) * | 2018-02-12 | 2021-12-14 | Winklevoss Ip, Llc | System, method and program product for making payments using fiat-backed digital assets |
US10540654B1 (en) * | 2018-02-12 | 2020-01-21 | Winklevoss Ip, Llc | System, method and program product for generating and utilizing stable value digital assets |
US11308487B1 (en) * | 2018-02-12 | 2022-04-19 | Gemini Ip, Llc | System, method and program product for obtaining digital assets |
FR3079322B1 (fr) * | 2018-03-26 | 2021-07-02 | Commissariat Energie Atomique | Methode et systeme de gestion d'acces a des donnees personnelles au moyen d'un contrat intelligent |
US10673626B2 (en) | 2018-03-30 | 2020-06-02 | Spyrus, Inc. | Threshold secret share authentication proof and secure blockchain voting with hardware security modules |
US11250466B2 (en) | 2018-07-30 | 2022-02-15 | Hewlett Packard Enterprise Development Lp | Systems and methods for using secured representations of user, asset, and location distributed ledger addresses to prove user custody of assets at a location and time |
US11159307B2 (en) | 2018-08-08 | 2021-10-26 | International Business Machines Corporation | Ad-hoc trusted groups on a blockchain |
US10997251B2 (en) * | 2018-10-15 | 2021-05-04 | Bao Tran | Smart device |
US20200334773A1 (en) * | 2019-04-18 | 2020-10-22 | Erich Lawson Spangenberg | System and Method of IP Ownership and IP Transactions with Guaranteed Buy Valuation and Broker Rewards |
WO2020092351A1 (en) | 2018-10-29 | 2020-05-07 | Login Id Inc. | Decentralized computing systems for strong user authentication and related methods |
US11960473B2 (en) * | 2019-01-15 | 2024-04-16 | Fisher-Rosemount Systems, Inc. | Distributed ledgers in process control systems |
WO2020149790A1 (en) * | 2019-01-18 | 2020-07-23 | Uppsala Pte. Ltd. | Apparatus and method for cybersecurity |
US11783024B2 (en) * | 2019-01-31 | 2023-10-10 | Salesforce, Inc. | Systems, methods, and apparatuses for protecting consumer data privacy using solid, blockchain and IPFS integration |
US20200334674A1 (en) * | 2019-04-19 | 2020-10-22 | Coinbase, Inc. | Systems and methods for blockchain administration |
US11038771B2 (en) * | 2019-04-26 | 2021-06-15 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing a metadata driven rules engine on blockchain using distributed ledger technology (DLT) |
US20200342449A1 (en) * | 2019-04-29 | 2020-10-29 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing an api gateway to authorize and charge a fee for a transaction between cloud computing customers using distributed ledger technologies (dlt) |
US11755998B2 (en) * | 2020-05-18 | 2023-09-12 | International Business Machines Corporation | Smart data annotation in blockchain networks |
US20220051261A1 (en) | 2020-05-29 | 2022-02-17 | Samuel Vetas | Processes and systems of blockchain with verification through a consortium of stakeholders |
-
2021
- 2021-06-10 US US17/344,275 patent/US11954212B2/en active Active
- 2021-06-10 CA CA3181478A patent/CA3181478A1/en active Pending
- 2021-06-10 EP EP21822533.2A patent/EP4165573A1/en not_active Withdrawn
- 2021-06-10 KR KR1020237000934A patent/KR20230046291A/ko unknown
- 2021-06-10 JP JP2022575394A patent/JP2023529671A/ja active Pending
- 2021-06-10 CN CN202180056386.6A patent/CN116324844A/zh active Pending
- 2021-06-10 WO PCT/US2021/036826 patent/WO2021252773A1/en active Application Filing
-
2024
- 2024-03-25 US US18/615,508 patent/US20240232396A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4165573A1 (en) | 2023-04-19 |
US20240232396A1 (en) | 2024-07-11 |
KR20230046291A (ko) | 2023-04-05 |
WO2021252773A1 (en) | 2021-12-16 |
US20210390191A1 (en) | 2021-12-16 |
CA3181478A1 (en) | 2021-12-16 |
US11954212B2 (en) | 2024-04-09 |
CN116324844A (zh) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2023529671A (ja) | コンフェデレーテッド権利及び階層キー管理のための方法、装置、及びコンピュータ可読媒体 | |
Xiao et al. | Privacyguard: Enforcing private data usage control with blockchain and attested off-chain contract execution | |
Xu et al. | K-time modifiable and epoch-based redactable blockchain | |
Bruton et al. | Knowledge management in technology-focused firms in emerging economies: Caveats on capabilities, networks, and real options | |
Coleman et al. | Counterfactual: Generalized state channels | |
Carminati et al. | Blockchain as a platform for secure inter-organizational business processes | |
Yuan et al. | Blockchain with accountable CP-ABE: How to effectively protect the electronic documents | |
Gunasinghe et al. | PrivIdEx: Privacy Preserving and Secure Exchange of Digital Identity Assets. | |
Hilary | Blockchain and other Distributed Ledger Technologies, an advanced primer | |
Ingole et al. | Blockchain technology in cloud computing: A systematic review | |
Hardjono et al. | MIT Open Algorithms | |
Jannes et al. | DEDACS: Decentralized and dynamic access control for smart contracts in a policy-based manner | |
Menzel et al. | Access control for cross-organisational web service composition | |
Wilusz et al. | Secure protocols for smart contract based insurance services | |
Kiran et al. | Blockchain technology-a sturdy protective shield | |
Mishra et al. | Data Prevention Protocol for Cloud Computing Security Using Blockchain Technology | |
Karp et al. | Using split capabilities for access control | |
Tahajod et al. | Trust management for semantic web | |
Barger et al. | Atomyze-The Scalable Hyperledger Fabric-Powered Blockchain Platform Revolutionizing Asset-Backed Tokenization | |
JP2021530163A (ja) | 分散型台帳に関連するトランザクションのオフチェーン交換のためのコンピュータにより実施されるシステム及び方法 | |
Matsuo | How We Can Secure Blockchain-Based Systems | |
Lawal et al. | Utilizing Policy Machine for Attribute-Based Access Control in Permissioned Blockchain | |
Singh | A Systematic Study about the Vulnerabilities and Security Enhancement in Block Chain Technology | |
Androulaki et al. | Channels: Horizontal scaling and confidentiality on permissioned blockchains with application on hyperledger fabric | |
Schofield et al. | Using Chia Blockchain Technology for Department of Defense Systems |