JP2020516976A - ブロックチェーンを用いて実施される機械実行可能コントラクトの状態を決定する、コンピュータにより実装されるシステム及び方法 - Google Patents

ブロックチェーンを用いて実施される機械実行可能コントラクトの状態を決定する、コンピュータにより実装されるシステム及び方法 Download PDF

Info

Publication number
JP2020516976A
JP2020516976A JP2019538623A JP2019538623A JP2020516976A JP 2020516976 A JP2020516976 A JP 2020516976A JP 2019538623 A JP2019538623 A JP 2019538623A JP 2019538623 A JP2019538623 A JP 2019538623A JP 2020516976 A JP2020516976 A JP 2020516976A
Authority
JP
Japan
Prior art keywords
information
blockchain
key
utxo
state
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.)
Granted
Application number
JP2019538623A
Other languages
English (en)
Other versions
JP7132223B2 (ja
Inventor
ヒメネス−デルガード,ペドロ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nchain Holdings Ltd
Original Assignee
Nchain Holdings Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nchain Holdings Ltd filed Critical Nchain Holdings Ltd
Publication of JP2020516976A publication Critical patent/JP2020516976A/ja
Priority to JP2022134169A priority Critical patent/JP7461423B2/ja
Application granted granted Critical
Publication of JP7132223B2 publication Critical patent/JP7132223B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment 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/3678Payment 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 e-cash details, e.g. blinded, divisible or detecting double spending
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • G06F16/1837Management specially adapted to peer-to-peer storage networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • G06Q20/0658Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed locally
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, 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/405Establishing or using transaction specific rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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/3239Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q2220/00Business processing using cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Abstract

例えば、未使用トランザクション(UTXO)、ブロックチェーン及びコントラクトの決定性有限オートマトン(DFA)実装、並びにこれらの中の状態の決定の文脈の中で、機械実行可能コントラクトの状態に関する情報を確立する、コンピュータにより実装されるシステム及び方法が詳述される。段階は、関心情報及び該情報を識別するコード又はタグを決定するステップと、該コード又はタグに関連付けられたメタデータを構成するステップと、これを前記情報に関連付けられるエージェントの公開鍵と結合するステップと、を含み得る。各スクリプトのscriptPubKey値は、外部データベースを構成する際に、より具体的には、関心情報にリンクされたscriptPubKey値からの鍵をマッピングする際に、使用するための鍵を提供するために使用されてよい。結合の他の半分を取得するために、デジタルウォレットを投入するために使用される、scriptPubKey値からのスクリプトハッシュアドレスの導出がある。検索及び照合アルゴリズムは、次に、ブロックチェーン上のスクリプトハッシュアドレスを照合することによりUTXOを見付けるために使用される。これらは、次に、前述のデータベースに、スクリプトハッシュアドレスに、したがって結合を完成させるための鍵に一致するUTXOを投入する。一致は、最も信頼できる方法で状態を示す。

Description

本発明は、概して、コンピュータにより実装されるシステム及び方法のようなシステムに関し、特に、状態に関する情報を確立するコンピュータにより実装されるシステム及び方法に関する。本発明は、特に、ブロックチェーンにおける使用、及びコントラクトの決定性有限オートマトン(DFA)実装、並びにそれらの中での状態の決定に適する。
本願明細書で、用語「ブロックチェーン」は、あらゆる形式の電子的な、コンピュータに基づく、分散台帳を含むよう使用される。これらは、限定ではないが、ブロックチェーン及びトランザクションチェーン技術、許可及び未許可台帳、共有台帳、及びそれらの変形を含む。最も広く知られているブロックチェーン技術の用途はビットコイン台帳であるが、他のブロックチェーンの実装が提案され開発されている。ビットコインは便宜上及び説明を目的として本願明細書において言及されるが、本発明はビットコインのブロックチェーンと共に使用することに限定されず、代替のブロックチェーンの実装及びプロトコルが本発明の範囲に含まれることに留意すべきである。
ブロックチェーンは、ブロックにより構成される、コンピュータに基づく非集中型の分散型システムとして実装される総意に基づく電子台帳である。また、ブロックはトランザクションにより構成される。各トランザクションは、ブロックチェーンシステム内で参加者間のデジタルアセットの制御の転送を符号化するデータ構造であり、少なくとも1つのインプット及び少なくとも1つのアウトプットを含む。各ブロックは前のブロックのハッシュを含み、ブロックは共にチェーンになって、その発端からブロックチェーンに書き込まれている全てのトランザクションの永久的な変更不可能なレコードを生成する。トランザクションは、そのインプット及びアウトプットに埋め込まれたスクリプトとして知られる小さなプログラムを含む。スクリプトは、トランザクションのアウトプットがどのように及び誰によりアクセス可能かを指定する。ビットコインプラットフォーム上で、これらのスクリプトは、スタックに基づくスクリプト言語を用いて記述される。
トランザクションがブロックチェーンに書き込まれるために、「検証され」なければならない。ネットワークノード(マイナー)は、各トランザクションが有効であることを保証するために作業を実行し、無効なトランザクションはネットワークから拒否される。ノードにインストールされたソフトウェアクライアントは、自身のロック及びアンロックスクリプトを実行することにより、この検証作業を未使用トランザクション(UTXO)に対して実行する。ロック及びアンロックスクリプトの実行が真と評価した場合、トランザクションは有効であり、トランザクションはブロックチェーンに書き込まれる。したがって、トランザクションがブロックチェーンに書き込まれるためには、トランザクションは、i)トランザクションを受信した第1ノードにより検証され、トランザクションが検証された場合に、ノードは該トランザクションをネットワーク内の他のノードに中継し、ii)マイナーにより構築された新しいブロックに追加し、iii)マインされ、つまり過去のトランザクションの公開台帳に追加されなければならない。
ブロックチェーン技術は、暗号通貨実装の使用で最も広く知られているが、デジタル起業家が、新しいシステムを実装するために、ビットコインの基づく暗号通貨セキュリティシステム、及びブロックチェーンに格納可能なデータの両方の使用を探索し始めている。ブロックチェーンが、暗号通貨の領域に限定されない自動タスク及びプロセスのために使用できれば、非常に有利である。このようなソリューションは、それらの用途において一層多様でありながら、ブロックチェーンの利点(例えば、永久的、イベントの耐タンパレコード、分散プロセス、等)を利用できる。
現在の研究の一分野は、「スマートコントラクト(smart contracts)」の実装のためのブロックチェーンの使用である。これらは、機械可読取引又は合意の条件の実行を自動化するために設計されたコンピュータプログラムである。自然言語で記述され得る従来の取引と異なり、スマートコントラクトは、結果を生成するためにインプットを処理できるルールを含み、該結果に依存して動作を実行させることのできる、機械実行可能プログラムである。
ブロックチェーンに関連する関心の他の分野は、ブロックチェーンを介する現実世界のエンティティの表現及び転送のための「トークン」(又は「カラードコイン」)の使用である。潜在的に機密な又は秘密のアイテムは、識別可能な意味又は値を有しないトークンにより表現できる。したがって、トークンは、現実世界のアイテムをブロックチェーンから参照できるようにする識別子として機能する。
ブロックチェーン技術に伴う1つの問題は、ブロックチェーン上で関心情報を発見可能であることである。多数の従来技術の文献は、ブロックチェーン上で関心情報を発見することに関する方法を開示している。このような従来の方法の例は以下に簡単に記載される。
Chris Pacia他による、プレゼンテーション「OpenBazaar−Ratings, reviews and reputation」は、ブロックチェーンに基づく評価システムを開示する。買いトランザクションが生じると、買い手と売り手の間で金銭が交換される。買い手は、他者に提供されるサービスのレビューを見えるように残すこともできる。ベンダGUID(Globally Unique Identifier)、連続する評価、及びコントラクトハッシュのようなデータは、OP_RETURNに追加される。スライドは、ベンダがタグ付けされたブロックチェーンのOP_RETURNアウトプットをクエリすることにより、ユーザにより残されたレビューを検索する機能を開示する。
US2016292672は、ブロックチェーン記憶システムを利用する取引システムを開示する。取引システムが、ブロックチェーンシステムにクエリして、取引を実施する前に、取引パーティが取引されるべき株式を所有することをチェックすることが開示されている。これは、取引されるべき株式に対応する、トレーダにより所有される未使用トランザクションが存在するかどうかを決定することにより達成される。
US2017005804は、金融取引を行いたいと望む特定人物により所有されるアセットについてブロックチェーンが検索されるシステムを開示する。この検証は、ブロックチェーンにアクセスし、ソース参加者が、十分な量の対象アセットにリンクされている未使用アウトプットブロックチェーントランザクションに関連付けられていると決定することにより達成される。この処理は、ソース参加者に関連付けている複数の異なるブロックチェーントランザクションを合計して、ソース参加者により「所有されている」合計アセット量を決定することを含んでよい。
既存のシステム及び方法に伴う課題は、ブロックチェーン上で実施される機械実行可能コントラクトの状態のような特定種類の情報の抽出が、可能ではないこと、又は、少なくとも効率的方法で達成困難であることである。これは、例えば決定性有限オートマトン(deterministic finite automaton:DFA)の使用を通じた機械実行可能コントラクトの実施を一層困難にする。
したがって、ブロックチェーンにブロードキャストされる情報が時間により変化する重大な変化にも拘わらず、情報の抽出を可能にするソリューションを提供することが望ましい。
このような改良されたソリューションが考案される。本発明は、添付の請求項及び/又は本発明の記述、及び/又は本願明細書に説明される特徴、オプション、及び可能性において、定められる。
第1の態様によると、本発明は、ブロックチェーンの未使用アウトプット(UTXO)に含まれる情報を検索する方法を提供する。当該方法は、
(a)関心情報を決定し、該関心情報に関連する鍵を取得するステップと、
(b)前記鍵に関連する検索語を構成するステップと、
(c)前記検索語に一致する未使用アウトプット(UTXO)について前記ブロックチェーンを検索するステップと、を含む。
前記方法は、機械実行可能スマートコントラクトの状態を検索する方法を提供し得る。前記方法は、DFAで実装された機械実行可能スマートコントラクトの状態を検索する方法を提供し得る。例えば、ブロックチェーン上で実施される機械実行可能コントラクトの状態を決定する方法が提供され得る。前記方法は、
(a)関心情報を決定し、該関心情報に関連する暗号鍵を生成するステップと、
(b)前記暗号鍵に関連する検索語を構成するステップと、
(c)前記検索語に一致する未使用アウトプット(UTXO)について前記ブロックチェーンを検索するステップと、を含み、
前記関心情報は、機械実行可能スマートコントラクトの状態であり、前記方法は、
(d)前記検索語に一致する前記未使用アウトプット(UTXO)から情報を抽出するステップと、
(e)前記抽出した情報から前記機械実行可能スマートコントラクトの前記状態を決定するステップと、を含み、
前記機械実行可能スマートコントラクトは、決定性有限オートマトンを用いて実装されてよく、前記機械実行可能スマートコントラクトの前記状態を決定する前記ステップは、前記決定性有限オートマトンの状態を決定するステップを含んでよい。
前記方法は、前記鍵が、1つ以上の段階を通じて前記関心情報を処理することにより取得されることを提供し得る。前記鍵を取得するための前記1つ以上の段階は、指定段階、メタデータ構成段階、エージェント関連付け段階、結合段階、値取得段階を含んでよい。前記鍵は、前記値取得段階からのアウトプットであってよい。
前記方法は、前記鍵が、前記関心情報に再生可能処理を適用することにより取得され、同じ再生可能処理が、検索されているブロックチェーンの未使用アウトプット(UTXO)に含まれる前記情報を生成している、ことを提供し得る。
前記方法は、前記検索語が前記鍵から、例えばアドレス導出段階を通じて構成されることを提供し得る。
前記方法は、検索する前記ステップが、検索及び照合段階により提供されることを提供し得る。
前記方法は、前記検索語に一致する未使用アウトプット(UTXO)が、前記鍵と及び/又は前記関心情報とペアにされることを提供し得る。ペアにすることは、データベース及び/又はデ―タベース段階の中で提供され得る。
前記方法は、指定段階、メタデータ構成段階、エージェント関連付け段階、結合段階、値取得段階、データベース化段階、及びアドレス導出段階、ウォレット形成段階、検索及び照合段階、のうちの1つ以上を含んでよい。
上記段階のうちの各々の可能性は、以下に詳述される。
本発明の第1の態様は、本願明細書の他の場所に記載される特徴、オプション、及び可能性のうちの任意のものを含んでよい。
第2の態様によると、本発明は、本発明の第1の態様の方法を実施するよう構成される、場合によっては本願明細書の他の場所に記載される機能、オプション、及び可能性のうちの任意のものを実行するよう構成されるシステムを含む、システム、望ましくはコンピュータにより実装されるシステム、を提供する。
前記システムは、
ブロックチェーンを介してDFAを実施するよう構成される少なくとも1つの計算エージェントと、
ブロックチェーンプラットフォームと、を更に含んでよい。
本発明の第2の態様は、本願明細書の他の場所に記載される特徴、オプション、及び可能性のうちの任意のものを含んでよい。
したがって、本発明によると、以下の中から、オプション、可能性、及び特徴が提供され又は更に提供されてよい。
方法及び/又はシステムは、指定段階を含んでよい。指定段階は、関心情報を選択するステップを含み得る。指定段階は、識別子指定段階を含み又は該段階であってよい。前記指定段階は、コード又はタグ指定段階を含み又は該段階であってよい。
前記関心情報は、前記情報セットからの選択であってよい。前記関心情報は、状態、望ましくは決定性有限オートマトンの状態、最も望ましくは機械実行可能スマートコントラクトの状態であってよい。前記情報セットは、例えばDFAの限られた可能な状態に限定されてよい。
前記関心情報はユーザにより選択されてよい。前記関心情報はDFAにより選択されてよい。前記関心情報はネットワーク内の1つ以上のエージェントにより選択されてよい。
前記関心情報の1つ以上の識別子が決定されてよい。識別子はコードであってよい。識別子はタグであってよい。コードは、1つの状態のような、1つの関心情報のみを示してよい。タグは、1つの状態のような、1つの関心情報のみを示してよい。
方法及び/又はシステムは、メタデータ構成段階を含んでよい。前記関心情報は、より望ましくはコード又はタグは、したがって、メタデータに変換されてよい。前記関心情報、より望ましくは前記コード又はタグは、したがって、暗号ハッシュにより処理されてよい。理想的には、2回のこのような暗号ハッシュが直列に適用される。メタデータ、特にハッシュメタデータは、後にフォーマットされてよい。前記関心情報は、より望ましくは前記コード又はタグは、したがって、より望ましくはそのメタデータは、公開鍵に組み込まれてよい。公開鍵は、情報公開鍵を指定されてよい。
前記方法及び/又はシステムは、エージェント関連付け段階を含んでよい。前記エージェント関連付け段階は、1つ以上のエージェント、望ましくはUTXO、例えば機械実行可能スマートコントラクトからのUTXO、望ましくはDFAにより実施されたものに関連付けられたエージェント、を実行するよう構成された1つ以上のエージェント選択したエージェントのうちの1つ以上又は全部は、公開鍵を提供してよい。1つ以上の公開鍵は、指定されたエージェント公開鍵であってよい。
方法及び/又はシステムは、結合段階、望ましくは公開鍵結合段階を提供してよい。結合段階は、情報公開鍵を1つ以上のエージェント公開鍵と結合してよい。前記結合段階は、P2SHマルチシグネチャRedeemスクリプトのようなマルチシグネチャRedeemスクリプトを生成してよい。結合段階は、理想的には前記情報公開鍵及び前記1つ以上のエージェント公開鍵から、ロックスクリプトを提供してよい。前記結合段階は、前記ロックスクリプトのハッシュを生成してよい。前記ロックスクリプトの前記ハッシュは、scriptPubKeyを指定されてよい。
前記方法及び/又はシステムは、値を取得するための値取得段階を含んでよい。前記方法及び/又はシステムは、ロックスクリプト値のような値を取得するためのロックスクリプト値取得段階を含んでよい。前記方法及び/又はシステムは、例えばロックスクリプト値又はscriptpubKey値のような値を取得するためのscriptPubKey値取得段階を含んでよい。前記値取得段階は、ロックスクリプトの又はより望ましくは前記ロックスクリプトのハッシュ、及び更に望ましくはscriptPubKeyの値を取得してよい。
前記方法及び/又はシステムは、例えばデータベースの構成を提供するためのデータベース化段階を含んでよい。
前記データベースは前記ブロックチェーンの外部にあってよい。前記データベースは集中型であってよい。前記データベースは、例えばネットワーク内で、場合によっては分散型ハッシュテーブルのように、分散型であってよい。前記データベース化は、Python辞書を用いて行われてよい。前記データベースは、望ましくは、分散型ネットワークのようなネットワーク内の各ノードにアクセス可能である。1つ以上又は全部のノードは、計算エージェントを設けられてよい。
前記データベース化段階は、関心情報を鍵にマッピングするステップを含んでよい。前記鍵は、前記ロックスクリプトの値、より望ましくはscriptPubKeyの値のような、前記値取得段階からの値であってよい。鍵は単一の値にリンクされてよい。鍵は単一のコード又はタグにリンクされてよい。鍵は単一の関心情報にリンクされてよい。情報を前記鍵にマッピングするステップは、結合の前記鍵へのマッピングの半分を提供してよい。前記結合のもう半分は、検索及び照合段階で、前記鍵にマッピングされてよい。前記データベース化段階及び/又はマッピングは、ハッシュテーブルとして実装されてよい。
前記方法及び/又はシステムは、スクリプトハッシュアドレス導出段階のような、アドレス導出段階を含んでよい。前記アドレスは、前記情報公開鍵及びエージェント公開鍵から、望ましくはロックスクリプトから、更に望ましくはロックスクリプトのハッシュから、及び理想的にはscriptPubKeyから、導出されてよい。アドレスは、P2SHアドレスのようなスクリプトハッシュアドレスであってよい。
方法及び/又はシステムは、ウォレット形成段階を含んでよい。前記ウォレット形成段階は、スクリプトハッシュアドレスのような前記アドレスのうちの1つ以上又は全部を、ウォレットに、望ましくは前記ウォレット内のアカウント又はフォルダに、追加するステップを含んでよい。
前記方法及び/又はシステムは、検索及び照合段階を含んでよい。前記検索及び照合段階は、アルゴリズムにより実施されてよい。前記検索及び照合段階は、前記スクリプトハッシュアドレスのような前記アドレスとの1つ以上の一致について、前記ブロックチェーン内を探すステップを含んでよい。前記検索及び照合段階は、ウォレットから、理想的には前記ウォレット形成段階の前記ウォレットから、前記スクリプトハッシュアドレスのような前記アドレスを取得してよい。前記検索及び照合段階は、前記検索で使用される前記アドレスに一致する、前記ブロックチェーン内のUTXOの詳細を取得してよい。
前記方法及び/又はシステムは、場合によっては、前記検索及び照合段階内に及び/又は前記データベース化段階内に、アドレスに一致するUTXOの取得した詳細を鍵にマッピングするステップを含んでよい。前述のように、該マッピングの生じる鍵は、単一の値に、又は単一のコード又はタグに、又は単一の関心情報に、リンクされてよい。結果として、前記鍵への前記結合の網半分のマッピングが、検索及び照合段階で提供される。
一致が得られると、前記方法及び/又はシステムは、タグ又は状態のような、どの関心情報がUTXO内に存在するかを明白に決定したものと考えられ得る。
前記方法及び/又はシステムは、同時に1つより多くの関心情報との一致を探してよい。
したがって、例えば、未使用トランザクション(UTXO)、ブロックチェーン及びコントラクトの決定性有限オートマトン(DFA)実装、並びにこれらの中の状態の決定の文脈の中で、機械実行可能コントラクトの状態に関する情報を確立する、コンピュータにより実装されるシステム及び方法が詳述される。段階は、関心情報及び該情報を識別するコード又はタグを決定するステップと、該コード又はタグに関連付けられたメタデータを構成するステップと、これを前記情報に関連付けられるエージェントの公開鍵と結合するステップと、を含み得る。各スクリプトのscriptPubKey値は、外部データベースを構成する際に、より具体的には、関心情報にリンクされたscriptPubKey値からの鍵をマッピングする際に、使用するための鍵を提供するために使用されてよい。結合の他の半分を取得するために、デジタルウォレットを投入するために使用される、scriptPubKey値からのスクリプトハッシュアドレスの導出がある。検索及び照合アルゴリズムは、次に、ブロックチェーン上のスクリプトハッシュアドレスと一致するUTXOを見付けるために使用される。これらは、次に、前述のデータベースに、スクリプトハッシュアドレスに、したがって結合を完成させるための鍵に一致するUTXOを投入する。一致は、最も信頼できる方法で状態を示す。
本発明の上述の及び他の態様は、本願明細書に記載される実施形態から明らかであり、それらの実施形態を参照して教示される。本発明の実施形態は、単なる例として添付の図面を参照して以下に説明される。
P2SHトランザクションにおける、scriptPubKeyを含むブロックチェーントランザクションを示す。 本発明の一実施形態における、メタデータの構成、P2SH Redeemスクリプト、scriptPubKey及びビットコインアドレスを示す擬似コードを示す。 本発明の一実施形態による、UTXOの外部データベースに含まれる情報へのマッピングを記載する図である。 本発明が組み込まれ得るシステムの概略を示す。 ブロックチェーンに基づくDFA実装を示す。
未使用トランザクションアウトプット(Unspent transaction outputs:UTXO)は、ブロックチェーンの基本的特徴である。非常に様々なアセットの非常に様々なトランザクションが、ブロックチェーンを通じて可能である。UTXOの数は膨大であり、それらは、各フルノード(full−node)ビットコインクライアントに及び全体としてUTXOセット又はUTXOプールとして知られている。
UTXOは、ビットコイン額、及び標準的には特定ユーザアドレスに関連するロックスクリプト又は債務(encumbrance)の形式である。多くのトランザクションの多様さについて、情報をブロックチェーントランザクションに組み込むためのデータ部分がUTXO内にも存在する。データ部分は、コード、タグ、又はメタデータの形式であってよい。特定のコード、タグ、又はメタデータを発見する能力、及び/又は一般的なブロックチェーンに格納された情報を系統的に発見し抽出する能力は、現在実行可能ではなく、特に本発明が解決しようとする潜在的課題である。
本発明は、これを解決し、可能な情報をブロックチェーンから抽出することにより該情報へのアクセスを提供しようとする。
コード、タグ、又はメタデータを発見する際の、及び更には情報を抽出する際の困難は、UTXO及びそのデータ部分の内容がどのように生じるかを考慮することから明らかである。
一般に、ブロックチェーントランザクションのフォーマットは、それに格納された情報が長いバイトチェーンの形式で生じることを強いる。この情報は、有用になる前に、フィルタリングされ処理されなければならない。さらに、セキュリティ、プライバシ、及び技術的理由から、チェーンは実際には(複数の)ハッシュの何らかの形式であるので、元の情報、例えばこれらのバイトチェーンからの有意義なメッセージを再構成することは実現不可能である。例えば、ビットコインアドレスは、次にフォーマットされる複数のハッシュを有する、公開鍵の複数のハッシュである。同様の状況が、同様の処理により得られた署名スクリプト又はブロックチェーントランザクションパズルに適用される。これは、それらをネットワークによりアクセス可能にし、例えば、暗号公開鍵、等の形式を有する必要がある。
以下で本発明の実装を例証するために使用される特定の実施形態は、ブロックチェーンに基づく決定性有限オートマトンDFAであり、これに関連して、関心情報はDFAの状態である。特定の例では、関心のあるUTXOはP2SH(typepay−to−script−hash)型であると仮定する。状態機械の特定の状態に関連付けられたトランザクションを実行する(使用する)ために、1つのエージェントが割り当てられることが更に考慮される。
この特定の実施形態における第1ステップでは、情報(DFAの状態を識別するタグ又はコード)は、先ず、公開鍵に含まれるメタデータフィールドを構成するために、ハッシュされる。公開鍵のフォームの中のメタデータフィールドは、(債務を提供する)責任のあるエージェントの公開鍵と結合される。結果は、P2SHの2つのうちの1つのマルチシグネチャRedeemスクリプトの中に置かれる。このRedeemスクリプトは、また、ブロックチェーントランザクションを形成するバイトチェーンの部分として最終的に配置されるロックスクリプト(scriptPubKey)を導出するために、ハッシュされ、追加情報を伝達する他のバイトと結合される。
これらのステップを通ること、及びネットワークに格納されたものから元の情報を復元することは、この特定の実施形態におけるこの時点では、より一般的な場合と同様に、むしろ望みのない作業であることが、明らかにされるべきである。
本発明及びその特定の実施形態の詳細は、以下に議論される。本発明の動作の概略がこの段階で提供される。動作は、以下の一般的ステップを提供する。
1.関心情報を決定し、該情報を識別するコード又はタグを指定する。以下に詳細に議論するDFAの実施形態では、これは、ブロックチェーンに基づくDFAとして具現化される特定コントラクトの特定状態であってよい。
2.該コード又はタグに関連付けられたメタデータを構成する。DFAの実施形態では、これは、関心のある特定状態の、場合によっては関心のある特定コントラクト種別に特有のコード又はタグであってよい。
3.どのエージェント(又はエージェントのセット)が情報に関連付けられるかを決定する。ここでも、DFAの実施形態では、これは、関心のある特定状態に対応するUTXOを使用するよう割り当てられたエージェントであってよい。
4.これらのコード又はタグに関連付けられたメタデータを含む公開鍵を、関連エージェントの公開鍵と結合し、スクリプトを与える。DFAの実施形態では、これは、メタデータを有する公開鍵、及びエージェントからの公開鍵であってよく、次にP2SHマルチシグネチャRedeemスクリプトに結合される。
5.照合に関連する外部データベースの中で使用する鍵を提供するために、各スクリプトのscriptPubKeyを導出する。DFAの実施形態では、これは、コードに、したがって関心状態にリンクする鍵として表される値であってよい。
6.scriptPubKey値からの鍵がマッピングされ、後の段階に入るために結合の他の半分を有する関心情報にリンクされ得るデータベースを構成する。
DFAの実施形態では、鍵は、やがて発見され、照合され、及び追加されるUTXOと共に、コード、従って関心状態にマッピングされる。
7.scriptPubKey値からスクリプトハッシュアドレスを導出する。DFAの実施形態では、これは以下も適用する;
8.これらのスクリプトハッシュアドレスを有するデジタルウォレットを投入する。DFAの実施形態では、これは以下も適用する;
9.検索及び照合アルゴリズムを用いて、ブロックチェーン上のスクリプトハッシュアドレスを照合することによりUTXOを見付ける。
DFAの実施形態では、これは以下も適用する;
10.前述のデータベースに、スクリプトハッシュアドレスに、したがって結合を完成させるための鍵に一致するUTXOを投入する。DFAの実施形態では、これは、アルゴリズムが、一致するUTXOのスクリプトハッシュアドレスを発見すると、システムが、どの状態タグがUTXO内に存在するかを明白に決定していることを意味する。つまり、実質的に、状態が検出されている。
ブロックチェーン内の情報からの情報の完全な復元は絶望的な作業であるが、予め知られている情報については、特定のタグが暗号通貨のUTXO内に存在するか否かを依然として決定できることに留意すべきである。これは、DFAシステム内でタグを示す状態に当てはまる。したがって、DFAマシンがその許可された状態のうちの1つにあるか否かをこれに基づき検出することが可能である。
ここで、構造により、DFAは、一度に、有限状態セットのうちの1つにのみ存在できることに言及する価値がある。しかしながら、検出器は、同等に、任意の数のタグ又は他の種類の知られている情報を検出するのに適する。
初期段階は、情報からロックスクリプトに組み込まれたメタデータへ遷移する、概略で上述した段階を反映する。
したがって、初期ステップであるコード指定段階では、関心情報が選択される。この情報は、関心のある状態であってよい。検索されるべき(特定状態のような)該情報を識別するこれらのコード又はタグが次に指定される。これらは、状態遷移テーブルにおいて詳述される全ての状態の、コード又はタグの完全なセットから選択されたコード又はタグであってよい。したがって、コード指定段階は、表記ステップであり、直ちに実装可能である。
これらのコード又はタグは、第2ステップであるメタデータ構成段階への入力を形成する。このステップでは、コード又はタグのダブルハッシュは、コード又はタグを、これらを反映したメタデータフォーマットに変換する。このメタデータは、次に、フォーマットされ、情報公開鍵内に置かれる。
コントラクトの特定の状態に関連付けられた可能なエージェントに関して、更なる選択が行われる:エージェント関連付け段階。1又は複数のエージェントは、UTXOを実行する(使用する)よう割り当てられたパーティである。関連付けられたエージェントは、1又は複数のエージェント公開鍵を提供する。1又は複数のエージェントは、DFAの文脈では状態に依存する可能性がある。1又は複数のエージェントは、全エージェントのうちの部分集合であってよい:リスティング。1又は複数のエージェントは、後述のように、DFAとインタフェースするために使用される計算エージェントと異なる。したがってエージェント関連付け段階は、割り当てステップであり、直ちに実装可能である。
メタデータ構成段階からの出力である、中にメタデータを有する情報公開鍵、及び、エージェント関連付け段階からのエージェント公開鍵は、次の段階である結合段階で使用される。結合段階では、2つの公開鍵(及びしたがって、情報公開鍵内のメタデータ)は、P2SHマルチシグネチャRedeemスクリプト内で結合される。公開鍵は、ロックスクリプトを生成するために使用される。ロックスクリプトは、次に、また、ロックスクリプトのハッシュであるscriptPubKeyにより置換される。
次の段階である、scriptPubKey値取得段階で、結合段階からの1つ以上のハッシュされたロックスクリプトのscriptPubKey値が確立される。図1は、P2SHトランザクションの文脈で、値が直接取得できるscriptPubKeyの構成を示す。これらのscriptPubKey値は、次に、最終的にマッピングされる結合に対して鍵として動作する。この段階で、鍵は、それぞれの関心のあるコード又はタグに対する知られている関係を有する。最終的にマッピングされる結合の他の部分は、後述する検索及び照合段階で発見される。
結合のマッピングは、検索語データベース内に構成される:データベース化段階。検索語データベースは、ブロックチェーンの外部にある。結果として、scriptPubKeyからの値を表す鍵をそれぞれの関心のあるコード又はタグと共にマッピングすることにより、辞書が提供される。鍵のセットを値にマッピングできる構造である辞書は、ハッシュテーブルとしてより自然に実施される。
留意すべきことに、使用される特定データベースの形式は、本発明にとって本質的ではなく、本発明の範囲を限定すべきではない。
問題のシステムが、図4のDFA実装の場合に、分散化されている場合、ネットワークの各ノードは、検索語データベースに(ローカルに又はリモートで)アクセス可能であるか、又は標準的に分散ハッシュテーブルとして分散方法で実装されることも可能である。
データベース化段階510は、Python dictionary、ハッシュテーブルの概念を実施するビルトインデータ型を用いて実行できる。
次の段階であるスクリプトハッシュアドレス導出段階で、scriptPubKey値からスクリプトハッシュアドレスを導出する(段階512)。例示的アプローチでは、P2SHについて、スクリプトハッシュアドレスを生成するとき、HASH160を使用する(最初にSHA256を、次にRIPEMD160を適用することを意味する)。これらの演算の結果に、ネットワーク1が使用されていること(mainnet、testtet、等)を示す「versionbyte」値を(ストリングの始めに)付加する。次に、「チェックサム(checksum)」の計算がある。これは、全体のHASH256である。次に、処理は、両方のストリングを連結し、ベース58内の結果を符号化する。これはP2SHアドレスである。スクリプトに対して別の方法を使用する場合、これら全てが変わる。したがって、これは本発明の本質ではなく、本発明の範囲を限定しない。
技術的レベルでのステップの説明により、(疑似)コードの簡略化されたスクリプトが与えられる。これらのスクリプトで使用された言語はPython3であるが、通常、これは本発明範囲又はその開発方法の限定を意味すべきではない。図2は、メタデータの構成、エージェントの公開鍵を有する該メタデータのP2SH Redeemスクリプトへの結合、及びscriptPubKey及びアドレスの擬似コードを提示する。実際には、上述のメタデータ構成段階、結合段階、scripPubKey値取得段階、及びスクリプトハッシュアドレス導出段階である。
スクリプトハッシュアドレスを取得すると、処理は、該アドレスをウォレットに追加することに進む:ウォレット形成段階。アドレスは、使用されるウォレット内の特定コントラクトアカウントに追加されることが望ましい。
利用される検索及び照合アルゴリズムは、次に、これらのアドレスと一致するUTXOを検索するために、ウォレットから開始され得る:検索及び照合段階。照合は、一致するエージェントだけでなく、一致するコントラクト状態も反映する。検索及び照合段階は、標準的なビットコインコアクライアントコマンドにより達成できる。多くの検索及び照合アルゴリズムは、この目的に適している。例えば、全てのUTXOは、ループを用いて検索され得る。
アルゴリズムが、検索中のスクリプトハッシュアドレスに一致する、UTXOセット内のスクリプトハッシュアドレスを発見すると、関心のあるUTXOセット内のscriptPubKeyが発見される。これは、抽出され、次に上述の外部データベースにマッピングされ得る。UTXOは、自身のscriptPubKeyにより鍵にマッピングされ、したがって、コード又はタグに、したがって関心のある元の情報に戻り、好適な実施形態では特定状態を表す。
この最後の段階における照合は、システムが、どの状態タグがUTXO内に存在するかを明白に決定することを提供する。つまり、実質的に、状態が検出される(detected)。照合処理は、一致するスクリプトハッシュアドレス、したがって鍵、したがって状態タグを有する全てのUTXOについて繰り返す。
実際に知られている情報、つまり値(values)(私達の例ではコントラクト及び状態タグ)のブロックチェーンUTXOに格納された鍵(keys)への、事実上は値へのポインタの、このマッピングの説明は図3に与えられる。データベースのために使用される構造がハッシュテーブルである場合、鍵の追加ハッシングは、所望の情報の値にアクセスする前に、生じることに留意する。これは、一般的な場合を表すことを意味するので、図示されない。
今度の場合も、マッピングは事実上、辞書生成処理であるので、これはPython dictionary、ハッシュテーブルの概念を実施するビルトインデータ型を用いて実行できる。
検索ウォレット変更
非慣例的/特別なソフトウェアが、状態遷移検出器の実装、又はより一般的に知られている情報検索で回避されるならば、全体的な簡易性及び実装の容易さにおいて有利である。もちろん、このようなソフトウェアは代替として提供され得る。
この文脈では、ビットコインコアクライアント(使用するのに好適な標準的ユーザインタフェース)を通じてアクセス可能なUTXOのみが、ユーザのビットコインウォレットに含まれるアドレスに関連付けられてものであることに留意することが重要である。検索処理では、探し求められている鍵は、必ずしもその基準を満たさない。これに立ち向かうために、外部データベースにも含まれる鍵についてUTXOデータベースを検索するためにウォレットが使用可能になる前に、対応するscriptPubKey値に関連付けられたビットコインアドレスを構成する必要がある。これは、上述したハッシング及びフォーマット処理により達成される。それらを構成すると、次に、それらを検索ユーザのビットコインウォレットに追加する必要がある。
特定コントラクトを実施する、ブロックチェーンに基づくDFAの私達の実施例の場合には、さらに、コントラクトに関連するアドレスを、一方で特定アカウント(account)、ウォレットの部分集合に関連付けあることが、自然であり且つ都合がよい。しかしながら、この最後のステップは、厳格に必要ではなく、限定ではなく追加の効果及び構造を提供する私達の設計の特定の特徴として取り入れることができる。したがって、これは本発明の範囲を限定すること意味しない。
本発明の使用のコンテキスト
知られている情報を抽出する能力は、多くのコンテキストにおいて望ましい。このようなコンテキストは、メタデータがブロックチェーンに組み込まれる状況を含み得る。例は、他のアセット、例えば株式、証券、クーポン、所有権、商品、トークン、データなどを表すために使用される、トークン化の場合又は「カラードコイン(colored coins)」を含み得る。
情報を発見し抽出する能力が重要である1つの特定のコンテキストは、情報が機械の状態であり得る、ブロックチェーンに基づくDFAである。
スマートコントラクトの実装におけるDFAの使用の更なる詳細は、次章で与えられる。
DFAの使用
本章は、DFAがどれだけ有用であるかについての背景を与えるために、スマートコントラクトを実装するDFAを参照して、提供される。
この説明のためのコンテキストでは、コントラクトのような処理又はタスクをモデル化するDFAの定義が与えられる。DFAは、計算エージェント又は「ボット」と呼ばれてもよい計算リソースの関連システムと相互作用する。これらの計算エージェントは、トランザクションを生成しそれらをブロックチェーンに提出するよう構成される。このDFAの実施形態はコントラクトに関するが、DFAの使用はコントラクトに限定されない。
図4を参照すると、本発明は、ハードウェア及びソフトウェアコンポーネントを含むコンピューティングプラットフォーム−ブロックチェーン−上で具現化される抽象DFAとして処理の実現を提供する。
図4は、本発明の説明のための実施形態に従い構成されたシステムの概観を提供する。システムは、命令を受信するために他のエンティティ4(例えば、人間又は他のコンピュータ)と相互作用可能な計算エージェント3を有する。これらの命令は、例えばどのスマートコントラクトを生成し及び実行すべきかであり得る。したがって、計算エージェント3は、物理的世界と相互作用して、それら自身の外部で、「現実世界」において、イベントに応答し及びイベントを生じることにより、本発明を実施する。
コントラクト自体の仕様は、任意の機械実行可能フォーマット、例えばxBRLで提供され、セキュア且つ非集中的方法で、例えばトレント(torrent)ネットワーク上の分散ハッシュテーブル(distributed hash table:DHT)5内に、格納され得る。コントラクトの仕様から、計算エージェントはDFA2を構成する。DFA2は、1つ以上エージェントによりブロックチェーン1上で後に具現化される。
DFA2自体は、有限セット{S,I,t,s,F}として指定される。ここで、Sは、コントラクト/DFAが存在し得る可能な状態の(有限)集合であり、Iは、本願明細書の文脈ではコントラクトと関連して生じ得る任意のイベント又は条件、例えば支払が行われる、証券の満期に達する、契約相手の債務不履行、等を意味するインプット(アルファベットとしても知られる)の(有限)集合である。本願のメカニズムでは、これらのインプット信号は、1つ以上のエージェントにより受信され/生成され、該エージェントは次にシステムの次の状態(場合によっては同じ状態)を決定する。
DFAの第3コンポーネントは、遷移関数t:S×I→Sである。「DFA」における用語「決定性」は、決定の一意性:状態及びインプットが与えられると、唯一の新しい状態(場合によっては同じ状態)が存在する、を表す。したがって、初期状態(S)及びインプットの履歴が与えられると、計算(コントラクト)の結果は、全ての可能な最終結果の集合の中のユニークな1つである(F⊆S)。全てのこれらの要素が確立されると、DFAは、遷移テーブルにより完全に定められ、全ての可能な現在状態及びインプット信号についての将来の状態を指定する。DFAの状態は、それ自体が、ブロックチェーン上の未使用トランザクションアウトプット(UTXO)に関連付けられる。従来知られているように、ビットコインネットワークは、全ての利用可能UTXOを絶えず追跡する。実施形態によると、DFAがある状態から別の状態へ移行するメカニズムは、ブロックチェーントランザクションにより本発明に従い具現化される(実施される)。事実上、ブロックチェーン上のトランザクションはある状態(前のトランザクションのインプット)に関連付けられたUTXOを使用し、次の状態(アウトプット)に関連付けられたUTXOを生成する。
<例:割引(ゼロクーポン)債券>
説明のために、以下では、通常、ある価格で(通常はその額面価格に対して割引して)購入され次にその元金が満期時に返金されるまでの特定時間の間保持される単純な債券類である、割引(ゼロクーポン)債券を検討する。検討する可能な状態はS={s,f,f}であり、それぞれ保持状態(s)、コントラクトの正常終了(幸運な経路を辿った場合)又は幸せな結末(f)、及び失敗した、例えば訴訟、の状態(f)を示す。システムの最終状態は、したがってF={f,f}である。検討するアルファベットは、I={r,d,e}であり、それぞれ満了時(又は前)の元金の返済金(r)、満了時(又は前)の発行人の債務不履行(d)、及び返金を伴わないコントラクトの満了(e)を示す。この単純なコントラクトの遷移マトリクスは表1に示される。
[表1]ゼロクーポン債券を表すDFAの遷移テーブル
Figure 2020516976
留意すべきことに、最終状態はコントラクトの完了を表し、したがってそれらから更なる状態が指定される必要はない(現在、遷移テーブル内の「−」として示されるが、これらの線は省略され得る)。原則として、より多くの状態及び/又はインプット(並びにアクション)がこの証券について定められ得るが、これは、コントラクトの複雑性に関連する邪魔な詳細事項を挿入するのではなく、本発明の基本的な新規な態様を説明するために、単純性及び明確性のために本願明細書において行われていない。
図5は、(ビットコイン)ブロックチェーン上のゼロクーポン債券DFAの実施形態を表す。状態は円により表され、機械をある状態から他の状態へ移行させるビットコイントランザクションは青色三角形により表される。図5ではエージェントにより受信されるインプットは省略されるが、各状態において、これらのインプットに従い1つ又は他の遷移が生じるべきであり、これが1つ又は他のビットコイントランザクション(例えば、状態sの中のt又はt)の構成により図中に反映されること、状態を変えない遷移にはトランザクションが必要ないこと、したがってそれらは省略されることに留意する。DFAの遷移トランザクション(t)に加えて、初期発生トランザクション(o)、及びコントラクトの完了に対応するトランザクション(c)が考えられる。
以下では、トランザクション(発生、遷移、及び完了)における資金の流れに注意を向ける。重要なことに、DFA及び(金融)コントラクトの有限性により、プロセスは多数の遷移の後に完了することに気付く。これは、コントラクトの確立及び実行の最大コストが結合され、予め、例えばDFAの確立時に、決定できることを必ずしも意味しない(関与する計算エージェント及びビットコインマイナーのための幾つかの有限料金を想定する)。これは、考えられる最長経路を辿るコントラクトを実行するために必要な合計資金額により与えられる。これは、勿論、実行中の無限ループの可能性を排除するが、しかし、これは現在の(金融)コントラクトに関連しないこと、永久拘束のようなコントラクトでさえ、その名称にも拘わらず将来の特定時点で完了すべき債券であること、例えば負債のあるエンティティが消滅する又はインフレにより支払が無視できるほど小さくなること、に留意する。
留意すべきことに、上述の実施形態は、本発明を限定するのではなく、当業者は添付の請求項により定められる本発明の範囲から逸脱することなく多数の代替の実施形態を考案できる。請求項中、括弧内に記載された如何なる参照符号も、請求項を制限すると見なされるべきではない。用語「有する(comprising又はcomprises)」等は、全体としていかなる請求項中に及び明細書に列挙された以外の要素又はステップの存在を排除するものではない。本願明細書において、「有する(comprises)」は「含む(includes)又は構成される(consists of)」を意味し、「有する(comprising)」は「含む(including)又は構成される(including of)」を意味する。要素の単数の参照は、該要素の複数の存在を排除するものではなく、逆も同様である。本発明は、複数の別個の要素を有するハードウェアにより又は適切にプログラムされたコンピュータにより、実施され得る。複数の手段を列挙している装置の請求項では、これらの複数の手段は、1つの同一のハードウェア要素により実装することができる。特定の量が相互に異なる従属請求項に記載されるという事実は、これらの量の組合せが有利に用いることが出来ないことを示すものではない。

Claims (19)

  1. ブロックチェーン上で実施される機械実行可能コントラクトの状態を決定する方法であって、前記方法は、
    (a)関心情報を決定し、該関心情報に関連する暗号鍵を生成するステップと、
    (b)前記暗号鍵に関連する検索語を構成するステップと、
    (c)前記検索語に一致する未使用アウトプット(UTXO)について前記ブロックチェーンを検索するステップと、
    を含み、前記関心情報は、機械実行可能スマートコントラクトの状態であり、
    前記方法は、
    (d)前記検索語に一致する前記未使用アウトプット(UTXO)から情報を抽出するステップと、
    (e)前記抽出した情報から前記機械実行可能スマートコントラクトの前記状態を決定するステップと、
    を更に含む方法。
  2. 前記機械実行可能スマートコントラクトは、決定性有限オートマトンを用いて実施され、前記機械実行可能スマートコントラクトの前記状態を決定する前記ステップは、前記決定性有限オートマトンの状態を決定するステップを含む、請求項1に記載の方法。
  3. 前記暗号鍵は、前記関心情報に再生可能処理を適用することにより生成され、同じ再生可能処理が、検索されている前記ブロックチェーンの未使用アウトプット(UTXO)に含まれる前記情報を生成している、請求項1又は2に記載の方法。
  4. 前記検索語は、前記暗号鍵から構成される、請求項1乃至3のいずれかに記載の方法。
  5. 検索する前記ステップは、検索及び照合段階により提供され、前記検索語に一致する未使用アウトプット(UTXO)は、前記暗号鍵及び/又は前記関心情報とペアにされる、請求項1乃至4のいずれかに記載の方法。
  6. 前記ペアにされることは、データベース内で提供される、請求項5に記載の方法。
  7. 前記方法は、指定段階を含み、前記指定段階は、前記関心情報を選択し、コード又はタグ指定段階を含むステップを含む、請求項1乃至6のいずれかに記載の方法。
  8. 前記方法は、メタデータ構成段階を含み、前記関心情報及び/又は前記コード又はタグは、メタデータに変換される、請求項1乃至7のいずれかに記載の方法。
  9. 前記メタデータは、情報公開鍵に指定された公開鍵に組み込まれる、請求項8に記載の方法。
  10. エージェント関連付け段階が設けられ、選択されたエージェントのうちの1つ以上又は全部は、指定されたエージェント公開鍵に公開鍵を提供する、請求項1乃至9のいずれかに記載の方法。
  11. 前記方法は、結合段階を設け、前記結合段階は、前記情報公開鍵を1つ以上のエージェント公開鍵と結合し、ロックスクリプトを生成する、請求項9に従属する請求項10に記載の方法。
  12. 前記結合段階は、前記ロックスクリプトのハッシュを生成する、請求項11に記載の方法。
  13. 前記方法は、ロックスクリプト又はロックスクリプトのハッシュから値を取得して、前記暗号鍵を提供する値取得段階を含む、請求項1乃至12のいずれかに記載の方法。
  14. 前記方法は、データベース化段階を含み、前記データベース化段階は、関心情報を暗号鍵にマッピングするステップを含み、前記暗号鍵への情報のマッピングは、前記暗号鍵への結合のマッピングの半分を提供する、請求項1乃至13のいずれかに記載の方法。
  15. 前記方法は、アドレス導出段階を含み、アドレスは、ロックスクリプトから又はロックスクリプトのハッシュから導出される、請求項1乃至14のいずれかに記載の方法。
  16. 前記方法は検索及び照合段階を含み、前記検索及び照合段階は、前記ブロックチェーン内を、1つ以上のアドレスとの1つ以上の一致について探すステップを含み、前記検索及び照合段階は、前記検索で使用された前記1つ以上のアドレスに一致する、前記ブロックチェーン内のUTXOの詳細を取得する、請求項1乃至15のいずれかに記載の方法。
  17. 検索及び照合段階、及び/又はデータベース化段階は、アドレスに一致するUTXOの取得した詳細を前記暗号鍵にマッピングし、前記マッピングは、前記暗号鍵に関連する前記結合の他の半分を提供する、請求項1乃至16のいずれかに記載の方法。
  18. システムであって、請求項1乃至17のいずれかに記載の方法を実行するよう構成された、望ましくはコンピュータにより実装される、システム。
  19. ブロックチェーンを介してDFAを実施するよう構成される少なくとも1つの計算エージェントと、
    ブロックチェーンプラットフォームと、
    を更に含む請求項18に記載のシステム。
JP2019538623A 2017-01-31 2018-01-29 ブロックチェーンを用いて実施される機械実行可能コントラクトの状態を決定する、コンピュータにより実装されるシステム及び方法 Active JP7132223B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022134169A JP7461423B2 (ja) 2017-01-31 2022-08-25 ブロックチェーンを用いて実施される機械実行可能コントラクトの状態を決定する、コンピュータにより実装されるシステム及び方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GBGB1701589.2A GB201701589D0 (en) 2017-01-31 2017-01-31 Computer-implemented system and method
GB1701589.2 2017-01-31
PCT/IB2018/050516 WO2018142259A1 (en) 2017-01-31 2018-01-29 Computer-implemented system and method for determining the state of a machine executable contract implemented using a blockchain

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022134169A Division JP7461423B2 (ja) 2017-01-31 2022-08-25 ブロックチェーンを用いて実施される機械実行可能コントラクトの状態を決定する、コンピュータにより実装されるシステム及び方法

Publications (2)

Publication Number Publication Date
JP2020516976A true JP2020516976A (ja) 2020-06-11
JP7132223B2 JP7132223B2 (ja) 2022-09-06

Family

ID=58462718

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019538623A Active JP7132223B2 (ja) 2017-01-31 2018-01-29 ブロックチェーンを用いて実施される機械実行可能コントラクトの状態を決定する、コンピュータにより実装されるシステム及び方法
JP2022134169A Active JP7461423B2 (ja) 2017-01-31 2022-08-25 ブロックチェーンを用いて実施される機械実行可能コントラクトの状態を決定する、コンピュータにより実装されるシステム及び方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2022134169A Active JP7461423B2 (ja) 2017-01-31 2022-08-25 ブロックチェーンを用いて実施される機械実行可能コントラクトの状態を決定する、コンピュータにより実装されるシステム及び方法

Country Status (10)

Country Link
US (2) US11263622B2 (ja)
EP (2) EP3913560A1 (ja)
JP (2) JP7132223B2 (ja)
KR (1) KR102569751B1 (ja)
CN (2) CN110199305B (ja)
GB (1) GB201701589D0 (ja)
HK (1) HK1257198A1 (ja)
SG (1) SG11201906374XA (ja)
WO (1) WO2018142259A1 (ja)
ZA (1) ZA201904303B (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018145168A1 (en) * 2017-02-10 2018-08-16 New Trust Ip Limited A distributed block chain cryptocurrency system for securement against unauthorised transactions
US11568402B2 (en) * 2018-06-06 2023-01-31 International Business Machines Corporation Decentralized out-of-band accelerated blockchain transaction processing
CN109547823B (zh) * 2018-12-07 2020-11-10 四川链窗区块链科技有限公司 一种视频直播平台奖励数据处理方法
CN111782668A (zh) * 2018-12-20 2020-10-16 阿里巴巴集团控股有限公司 数据结构的读取及更新方法、装置、电子设备
US20210056053A1 (en) * 2019-08-19 2021-02-25 Cryptography Research, Inc. Application authentication and data encryption without stored pre-shared keys
CN111177151A (zh) * 2019-12-20 2020-05-19 广东文储区块链科技有限公司 一种去中心化存储区块链上检索数据的方法及系统
CN112740250A (zh) * 2019-12-31 2021-04-30 深圳市网心科技有限公司 一种基于区块链的数字货币交易方法、装置及系统
US11100501B1 (en) 2020-05-22 2021-08-24 Kpmg Llp Modular, configurable smart contracts for blockchain transactions
GB2596065A (en) * 2020-06-12 2021-12-22 Nchain Holdings Ltd Generating blockchain addresses
GB2598301A (en) * 2020-08-21 2022-03-02 Nchain Holdings Ltd Alert account
GB202108385D0 (en) * 2021-06-11 2021-07-28 Nchain Licensing Ag A computer implemented method and system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160306982A1 (en) * 2015-04-14 2016-10-20 Manifold Technology, Inc. System and method for providing a cryptographic platform for exchanging information
WO2017004527A1 (en) * 2015-07-02 2017-01-05 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
WO2017010455A1 (ja) * 2015-07-13 2017-01-19 日本電信電話株式会社 契約合意方法、合意検証方法、契約合意システム、合意検証装置、契約合意装置、契約合意プログラム及び合意検証プログラム

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014201059A1 (en) 2013-06-10 2014-12-18 Certimix, Llc Secure storing and offline transfering of digitally transferable assets
US11250493B2 (en) 2014-03-31 2022-02-15 Monticello Enterprises LLC System and method for performing social media cryptocurrency transactions
CA2985040A1 (en) 2014-05-06 2015-12-03 Case Wallet, Inc. Cryptocurrency virtual wallet system and method
JP6813477B2 (ja) * 2014-05-09 2021-01-13 ヴェリタセウム アイエヌシー. 信頼度が低い、または信頼度が皆無の当事者間での価値転送を円滑化する装置、システム、または方法
CN104392354B (zh) * 2014-11-05 2017-10-03 中国科学院合肥物质科学研究院 一种公钥地址与用户账号的关联和检索方法及其系统
US10169124B2 (en) * 2014-12-16 2019-01-01 Samsung Electronics Co., Ltd. Unified object interface for memory and storage system
CN105991731A (zh) * 2015-02-13 2016-10-05 中兴通讯股份有限公司 一种获取信息的方法、智能终端和服务端
US20160260095A1 (en) 2015-03-02 2016-09-08 Dell Products, Lp Containerized Computational Task Execution Management Using a Secure Distributed Transaction Ledger
EP3278287A4 (en) * 2015-03-31 2018-08-22 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
US10963881B2 (en) 2015-05-21 2021-03-30 Mastercard International Incorporated Method and system for fraud control of blockchain-based transactions
WO2017005527A1 (en) 2015-07-07 2017-01-12 Arcelik Anonim Sirketi A cooling device comprising a door closing mechanism and the control method
KR101712119B1 (ko) * 2015-07-09 2017-03-03 국민대학교산학협력단 비트코인의 거래 알림 장치 및 거래 알림 방법
JP2018525729A (ja) * 2015-07-14 2018-09-06 エフエムアール エルエルシー 計算上効率的な移転処理、監査及びサーチ装置、方法及びシステム
US9948467B2 (en) 2015-12-21 2018-04-17 Mastercard International Incorporated Method and system for blockchain variant using digital signatures
AU2017240796A1 (en) 2016-03-31 2018-10-25 Clause, Inc. System and method for creating and executing data-driven legal contracts
GB201607477D0 (en) * 2016-04-29 2016-06-15 Eitc Holdings Ltd A method and system for controlling the performance of a contract using a distributed hash table and a peer to peer distributed ledger
US10333705B2 (en) * 2016-04-30 2019-06-25 Civic Technologies, Inc. Methods and apparatus for providing attestation of information using a centralized or distributed ledger
US10838846B1 (en) 2016-05-16 2020-11-17 Jpmorgan Chase Bank, N.A. Method and system for implementing an automation software testing and packaging framework
CN105812126B (zh) * 2016-05-19 2018-10-12 齐鲁工业大学 健康区块链数据加密密钥的轻量级备份与高效恢复方法
CN106251216B (zh) * 2016-07-18 2020-12-25 恒宝股份有限公司 一种用于缓解节点存储压力的方法和系统
CN106503053B (zh) * 2016-09-26 2019-07-16 江苏通付盾科技有限公司 Utxo查询方法及装置
JP7039594B2 (ja) 2016-12-21 2022-03-22 エヌチェーン ホールディングス リミテッド スクリプトサイズ及びオペコードリミットに対するセキュリティベース制限を維持しながらブロックチェーン上の複雑な機能を有効するためのコンピュータにより実現されるシステム及び方法
US20200394652A1 (en) 2017-03-08 2020-12-17 Ip Oversight Corporation A method for creating commodity assets from unrefined commodity reserves utilizing blockchain and distributed ledger technology
US10891384B2 (en) 2017-10-19 2021-01-12 Koninklijke Kpn N.V. Blockchain transaction device and method
KR20200099149A (ko) 2017-12-15 2020-08-21 엔체인 홀딩스 리미티드 낮은 엔트로피 패스워드로 블록체인 트랜잭션을 승인하기 위한 컴퓨터 구현 시스템 및 방법
US20190378119A1 (en) * 2018-06-12 2019-12-12 Fressets Inc. Wallet device for cryptocurrency and method of signature for the use thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160306982A1 (en) * 2015-04-14 2016-10-20 Manifold Technology, Inc. System and method for providing a cryptographic platform for exchanging information
WO2017004527A1 (en) * 2015-07-02 2017-01-05 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
WO2017010455A1 (ja) * 2015-07-13 2017-01-19 日本電信電話株式会社 契約合意方法、合意検証方法、契約合意システム、合意検証装置、契約合意装置、契約合意プログラム及び合意検証プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
アントノプロス アンドレアス, ビットコインとブロックチェーン, vol. 第1版, JPN6021033795, 21 July 2016 (2016-07-21), JP, pages 022 - 023, ISSN: 0004731540 *

Also Published As

Publication number Publication date
SG11201906374XA (en) 2019-08-27
JP7461423B2 (ja) 2024-04-03
JP7132223B2 (ja) 2022-09-06
CN116827516A (zh) 2023-09-29
ZA201904303B (en) 2022-05-25
US11263622B2 (en) 2022-03-01
EP3411840A1 (en) 2018-12-12
KR102569751B1 (ko) 2023-08-23
GB201701589D0 (en) 2017-03-15
JP2022169712A (ja) 2022-11-09
EP3913560A1 (en) 2021-11-24
WO2018142259A1 (en) 2018-08-09
EP3411840B1 (en) 2021-06-16
CN110199305A (zh) 2019-09-03
HK1257198A1 (zh) 2019-10-18
US20200005285A1 (en) 2020-01-02
KR20190107009A (ko) 2019-09-18
US20220253835A1 (en) 2022-08-11
CN110199305B (zh) 2023-08-01
US11900363B2 (en) 2024-02-13

Similar Documents

Publication Publication Date Title
JP7461423B2 (ja) ブロックチェーンを用いて実施される機械実行可能コントラクトの状態を決定する、コンピュータにより実装されるシステム及び方法
JP7036844B2 (ja) ブロックチェーンを介して決定性有限オートマトン(dfa)を実施するシステム及び方法
JP7254701B2 (ja) ブロックチェーン上に格納されたユーザ関連データを生成し及び抽出するコンピュータにより実装されるシステム及び方法
KR20180115778A (ko) 통합된 블록체인 기반 데이터 전달 제어 방법 및 시스템
CN110192216B (zh) 计算机实现的方法和系统
TW201800997A (zh) 一種用區塊鏈來實現金融交易的管理方法
US11803823B2 (en) Systems and methods for blockchain-based payment transactions, alerts, and dispute settlement, using a blockchain interface server
US20230098747A1 (en) Systems and methods for payment transactions, alerts, dispute settlement, and settlement payments, using multiple blockchains
JP2023536163A (ja) ブロックチェーントークン
Karantias Enabling NIPoPoW applications on bitcoin cash
He et al. TokenCat: detect flaw of authentication on ERC20 tokens
Bitjoka et al. Study in View of Development of a National Cryptocurrency
Youssefzadeh Future of Payment Platforms
Adel Blockchain Land Registry

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210104

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210831

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20211124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220620

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220705

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220803

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220825

R150 Certificate of patent or registration of utility model

Ref document number: 7132223

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150