JP2023123673A - ブロックチェーンにより実装される方法及びシステム - Google Patents
ブロックチェーンにより実装される方法及びシステム Download PDFInfo
- Publication number
- JP2023123673A JP2023123673A JP2023103906A JP2023103906A JP2023123673A JP 2023123673 A JP2023123673 A JP 2023123673A JP 2023103906 A JP2023103906 A JP 2023103906A JP 2023103906 A JP2023103906 A JP 2023103906A JP 2023123673 A JP2023123673 A JP 2023123673A
- Authority
- JP
- Japan
- Prior art keywords
- node
- key
- keys
- script
- blockchain
- 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 100
- 238000013515 script Methods 0.000 claims abstract description 82
- 230000008569 process Effects 0.000 claims description 14
- 239000003795 chemical substances by application Substances 0.000 description 49
- 238000004891 communication Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 14
- 238000004422 calculation algorithm Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 6
- 238000007792 addition Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Images
Classifications
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- 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/3827—Use of message hashing
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/305—Authentication, i.e. establishing the identity or authorisation of security principals by remotely controlling device operation
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
- G06F21/645—Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
-
- 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/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- 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/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
- G06Q20/0658—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed locally
-
- 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
-
- 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/3678—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 e-cash details, e.g. blinded, divisible or detecting double spending
-
- 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
-
- 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/06—Cryptographic 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
-
- 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/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- 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/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- 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/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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/70—Services for machine-to-machine communication [M2M] or machine type communication [MTC]
-
- 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
- G06Q2220/00—Business processing using cryptography
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Power Engineering (AREA)
- Educational Administration (AREA)
- Development Economics (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Storage Device Security (AREA)
- Lock And Its Accessories (AREA)
Abstract
【課題】コンピュータにより実施される制御方法及び対応するシステムを提供する。【解決手段】コンピュータに基づく分散型台帳(ブロックチェーン)を介して論理ゲートの機能をエミュレートし、実行するメカニズムであって、Redeemスクリプト内に実装されたロジックは、Redeemスクリプトが、どの特定秘密鍵がアンロックスクリプトに署名するために使用されたかを決定し、次に所定機能に従いこれらの鍵の供給を解明する。アウトプットに対するRedeemスクリプトを有するブロックチェーン・トランザクションにおいて、Redeemスクリプトは、複数の公開鍵を指定し、複数の公開鍵の各々は対応する秘密鍵に関連付けられ、各公開鍵は少なくとも1つのデータソースの可能な状態にユニークに関連付けられ、秘密鍵のうちのどれがアンロックスクリプトに署名するために使用されるかに基づき結果を提供する。最小数の秘密鍵が使用される。【選択図】図1
Description
本発明は、概して、分散型台帳技術(ブロックチェーン関連技術を含む)に関し、特に、タスク又はプロセスを実施し、制御し、及び/又は自動化する際のブロックチェーンの使用に関する。本発明は、ロジックの一部の実行を記録する又は表現するための、ブロックチェーン又は関連技術の使用に関し得る。ロジックのこの部分は、AND、XOR、NOT、OR、等のような1つの論理ゲート又は複数の論理ゲートの機能を実装するために構成されて良い。
本願明細書では、この状況でブロックチェーンが現在最も広く知られた用語なので、私達は、便宜上及び参照の容易さのために用語「ブロックチェーン」を使用することに留意することが重要である。しかしながら、当該用語は、ブロックチェーン及びトランザクションチェーン技術、許可及び未許可台帳、共有台帳及びそれらの変形を含むがこれらに限定されない、総意に基づく電子的な、コンピュータに基づく分散型台帳の全ての形式を包含するために、ここで(請求項を含む)使用される。
ブロックチェーンは、ブロックにより構成される、コンピュータに基づく非集中型の分散型システムとして実装される電子台帳である。また、ブロックはトランザクションにより構成される。各トランザクションは、少なくとも1つのインプット及び少なくとも1つのアウトプットを含む。各ブロックは前のブロックのハッシュを含み、ブロックは共にチェーンになって、その発端からブロックチェーンに書き込まれている全てのトランザクションの永久的な変更不可能なレコードを生成する。トランザクションは、そのインプット及びアウトプットに埋め込まれたスクリプトとして知られる小さなプログラムを含む。スクリプトは、トランザクションのアウトプットがどのように及び誰によりアクセス可能かを指定する。ビットコインプラットフォーム上で、これらのスクリプトは、スタックに基づくスクリプト言語を用いて記述される。
トランザクションがブロックチェーンに書き込まれるために、「検証され」なければならない。ネットワークノード(マイナー)は、各トランザクションが有効であることを保証するために作業を実行し、無効なトランザクションはネットワークから拒否される。ノードにインストールされたソフトウェアクライアントは、自身のロック及びアンロックスクリプトを実行することにより、この検証作業を未使用トランザクション(UTXO)に対して実行する。ロック及びアンロックスクリプトの実行が真と評価した場合、トランザクションは有効であり、トランザクションはブロックチェーンに書き込まれる。
最も広く知られているブロックチェーン技術の用途はビットコイン台帳であるが、他のブロックチェーンの実装が提案され開発されている。ビットコインは便宜上及び説明を目的として本願明細書において言及されるが、本発明はビットコインのブロックチェーンと共に使用することに限定されず、代替のブロックチェーンの実装が本発明の範囲に含まれることに留意すべきである。
ブロックチェーン技術は、暗号通貨実装の使用のために最も広く知られている。しかしながら、更に近年は、デジタル起業家が、新しいシステムを実装するために、ビットコインの基づく暗号通貨セキュリティシステムの使用、及びブロックチェーンに格納可能なデータの両者を探索し始めている。ブロックチェーンが、暗号通貨の領域に限定されない自動制御プロセスのようなタスク及びプロセスのために使用できれば、非常に有利である。このようなソリューションは、それらの用途において一層多様でありながら、ブロックチェーンの利点(例えば、永久的、イベントの耐タンパレコード、分散プロセス、等)を利用できる。
このような改良されたソリューションが考案されている。したがって、本発明によると、添付の請求の範囲に定められるようなシステム及び方法が提供される。
したがって、本発明によると、コンピュータにより実施される方法が提供され得る。本発明は、制御方法として記載され得る。本発明は、技術的プロセス又は1又は複数の装置の動作の実行を制御し又はそれに影響を与え得る。追加又は代替として、本発明は、ブロックチェーンスクリプトの実行を制御し得る。本発明は、ブロックチェーン・トランザクション内のアウトプットがアンロックされるか否かを制御し得る。本発明は、暗号通貨の一部がブロックチェーンを介してあるパーティから別のパーティへ転送されるか否かを制御し得る。
方法は、アウトプットに対するRedeemスクリプトを含むブロックチェーン・トランザクション(Tx)を提供するステップを有し得る。ここで、Redeemスクリプトは、複数の公開鍵を指定する。これらは、暗号鍵であって良い。それらは、公開/秘密鍵ペアの部分を形成して良い。複数(又は「リスト」)の中の鍵の各々は、対応する秘密鍵に関連付けられて良い。各公開鍵は、少なくとも1つのデータソースの可能な状態にユニークに関連付けられて良い。したがって、Redeemスクリプトは、公開鍵のリストを含んで良く、これらの公開鍵の対応する秘密鍵だけが、トランザクション・アウトプット(TxO)を使用するために使用され得る。
方法は、トランザクションを生成するステップを含んで良い。方法は、該トランザクションをブロックチェーンに提供するステップを有して良い。
トランザクション及び/又は更なる(使用)トランザクションは、計算エージェントにより生成されて良い。トランザクションは、センサ又は他の信号源から受信されたインプットに基づき(人間の介入無しに)自動的に生成されて良い。
追加又は代替として、Redeemスクリプトは、複数の関連秘密鍵のうちのどれがアンロックスクリプトに署名するために使用されるかに基づき、結果を提供するよう構成されたロジックの部分を有して良い。したがって、Redeemスクリプト内で提供されるロジックの実行は、どの公開鍵がアンロックスクリプトに署名するために使用されたかにより決定されて良い。
有利なことに、これは、特定の鍵が使用されるのではなく、単に特定数の鍵が使用されることを要求する従来技術より、大きな制御の度合いを提供する。複数の中からどの特定の鍵が使用されるかを決定することにより、本発明は、トランザクション・アウトプットUTXOのロック/アンロックを制御するときの、より大きな度合いの粒度又は精巧さを実現する代替の拡張されたセキュリティ技術を提供する。したがって、本発明は、暗号通貨の一部の転送を制御する改良された暗号技術を提供すると言える。
追加又は代替として、最小数の上述の秘密鍵が、アウトプットを使用するために更なるブロックチェーン・トランザクションのアンロックスクリプトに署名するために必要とされ得る。
ロジックにより提供される結果又は成果は、どの(特定の)秘密鍵がアンロックスクリプトに署名するために使用されたかの決定に依存して良い。方法は、アンロックスクリプトに署名するために使用された秘密鍵を、Redeemスクリプト内で提供される関連公開鍵に対して、照合するステップを有して良い。
Redeemスクリプト内のロジックは、論理ゲートの機能を実装するよう構成されて良い。論理ゲートは、NOT、AND、OR、NOR、XOR、IMPLY、NAND、NONIMPLY、及び/又はXNORゲートであって良い。したがって、本発明は、論理ゲートの機能をブロックチェーン・トランザクションによりシミュレートさせ又は達成させることを可能にする技術を提供するものとして記載され得る。
少なくとも1つのデータソースの状態は、計算エージェントにより決定されて良い。エージェントは、条件を監視するよう構成されて良い。条件は、例えば、コンピューティングネットワーク上の条件、又は装置関連条件、又は環境要因の条件であって良く、或いは、任意の他の種類の定量化可能な条件であって良い。
計算エージェントは、制御計算エージェントと通信して良い。制御計算エージェントは、本願明細書で「制御部」と呼ばれることがある。Redeemスクリプトは、制御部により生成されて良い。1又は複数のエージェントは、プロセス又は機器を制御するよう構成されて良い。
1つの、幾つかの、又は全部の計算エージェントは、エージェント基本鍵と呼ばれ得る暗号鍵を有して良い。暗号鍵は、エージェントにより生成されて良い。暗号鍵は、制御部から導出され及び/又は受信されて良い。複数の鍵のうちの1又は複数は、基本又は「マスタ」鍵から生成され又は導出されて良い。鍵生成は、決定論的鍵生成技術を用いて実行されて良い。方法は、エージェントにより監視中の条件の各可能な状態について、更なる又は別個の鍵を生成し又は導出するステップを有して良い。更なる鍵は、「共有シークレットを用いる鍵の生成」と題された章で後述する技術を用いて基本鍵から導出されて良い。
ロジックにより提供される結果は、ブール結果又は何らかの他の種類の結果であって良い。ロジックは、限定された範囲の結果から、結果を提供して良い。
少なくとも2つのデータソースが存在して良い。各データソースについて又はそれに関連付けられた2つの可能な状態が存在して良い。各可能な状態は、公開鍵に関連付けられ又はそれにより表現されて良い。したがって、Redeemスクリプト内で提供される公開鍵のリストは、データソースが採用し又は入り得る全ての可能な状態を定義し、表現し、又は記述するために使用されて良い。
方法は、以下のステップを有して良い:
少なくとも1つのデータソースの各々について、
複数の中の公開鍵を、データソースの可能な状態に関連付けるステップ。
少なくとも1つのデータソースの各々について、
複数の中の公開鍵を、データソースの可能な状態に関連付けるステップ。
したがって、データソースの全部の可能な状態が、それぞれの公開鍵により表現される。
言い換えると、各データソースの各可能な状態は、公開鍵に関連付けられて良く、公開鍵が該状態の(ユニークな)識別子として使用できるようにする。したがって、各鍵とデータソースの可能な状態との間のマッピングを形成するために、鍵は慎重に選択されて良い。これは、鍵がデータソースの可能な状態の表現として機能することを可能にし得る。どの秘密鍵がアンロックスクリプト中に署名するために使用されるかの分析又は決定は、次に、データソースの状態の決定を可能にし得る。
少なくとも1つのデータソースは、センサを有して良い。追加又は代替として、データソースは、インプット信号を生成し及び/又は計算リソース又はエージェントへ送信する能力のあるソースを有して良い。
各公開鍵は、少なくとも1つのデータソースの可能な状態を示すブール値を表現して良い。例えば、信号が受信されたか又は受信されないか、或いは、温度が20度Cより高いか。
本発明は、対応するシステムも提供する。システムは、上述の方法の任意の実施形態を実施するよう構成されて良い。
本発明は、コンピュータにより実装されるシステムであって、
上述の任意の方法のステップを実行するよう構成される少なくとも1つのコンピュータに基づくリソースと、
ブロックチェーン又は他の種類の電子台帳、又はビットコイン台帳の変形と、
を有するシステムを提供し得る。これは分散型台帳であって良い。
上述の任意の方法のステップを実行するよう構成される少なくとも1つのコンピュータに基づくリソースと、
ブロックチェーン又は他の種類の電子台帳、又はビットコイン台帳の変形と、
を有するシステムを提供し得る。これは分散型台帳であって良い。
少なくとも1つのコンピュータに基づくリソースは、
トランザクションをブロックチェーン・ネットワーク(これは、ビットコインネットワークであって良く又はそうでなくて良い、これは、任意の種類の分散台帳であって良い)に提出し、及び/又は、
トランザクションを生成し、及び/又は、
ロックスクリプトにデジタル方式で署名し、及び/又は、
公開/秘密暗号鍵を生成する、よう構成されて良い。
トランザクションをブロックチェーン・ネットワーク(これは、ビットコインネットワークであって良く又はそうでなくて良い、これは、任意の種類の分散台帳であって良い)に提出し、及び/又は、
トランザクションを生成し、及び/又は、
ロックスクリプトにデジタル方式で署名し、及び/又は、
公開/秘密暗号鍵を生成する、よう構成されて良い。
システムは、結果がプロセス又は機器の実行又は動作を制御する又は影響を与えるために使用されるよう構成されて良い。コンピュータに基づくリソースは、「エージェント」として参照されて良い。
システムは、少なくとも1つのコンピュータに基づくリソースにインプットを提供するよう配置され/構成される少なくとも1つのセンサ又は他の信号生成コンポーネントを有して良い。
本発明のある実施形態又は態様に関連して記載される任意の特徴は、1又は複数の他の実施形態又は態様と共に達成するために使用されても良い。方法に関連して記載された任意の特徴は、システムに適用可能であり、逆も同様である。
本発明の上述の及び他の態様は、本願明細書に記載される実施形態から明らかであり、それらの実施形態を参照して教示される。本発明の実施形態は、単なる例として添付の図面を参照して以下に説明される。
本発明の一実施形態の図を示す。
論理ゲートトランザクションにインプットを提供するために、複数の独立計算エージェントが外部環境の監視を実行する、本発明の説明のための実施形態を示す。
本発明の別の実施形態の概要を示す。
本発明の一実施形態に従い構成された、トランザクション・アウトプット1がトランザクション・アウトプット2とのNORゲートを実装し、制御部に払い戻す、例示的なブロックチェーン・トランザクションを示す。
本発明の更なる実施形態の概要を示す。
基本鍵から暗号鍵を生成する技術を示す。
基本鍵から暗号鍵を生成する技術を示す。
基本鍵から暗号鍵を生成する技術を示す。
基本鍵から暗号鍵を生成する技術を示す。
基本鍵から暗号鍵を生成する技術を示す。
本発明は、機能を実施するためにブロックチェーンを使用する新規且つ有利なソリューションを提供する。ブロックチェーンは、機能の実行の記録及び/又は自身の成果の結果を提供するために使用される。機能は、インプットセットに適用されアウトプットセットを返すサブルーチン又はプロシジャ(つまり、プロセス又はロジックの部分)であり得る。1つの可能な実施形態では、機能は、「オフブロックで」実行され得る。つまり、機能の実行はブロックチェーンに依存しない。機能は、コンピュータに基づくリソースにより実行される。
ブロックチェーン(例えば、ビットコイン)トランザクションは、標準的に前のトランザクション・アウトプットを新しいトランザクション・インプットとして参照し且つ全てのインプット値を新しいアウトプットに捧げる(例えば、ビットコイン)値の転送である。トランザクションは暗号化されない。したがって、ブロックにこれまで集められた全てのトランザクションを閲覧し吟味することが可能である。しかしながら、トランザクション・アウトプットが条件付きであり又は供給される情報に依存する、機能として動作するブロックチェーン・トランザクションを構築可能であることは、非常に有利だろう。これは、ブロックチェーンを介する高機能な動作を可能にし得る。
本発明の重要な態様は、(限定ではないが)機能入力がトランザクションのアウトプットのRedeemスクリプト内で使用される公開鍵により表現され、実際の値が公開鍵のうちの1又は複数に関連付けられた署名により表現される、ブロックチェーン・トランザクションを生成する方法を含む。
本発明は、ブロックチェーン(例えば、ビットコイン)トランザクションが論理ゲートにより提供される機能を表すために使用され得る、以下に提供される使用例により説明される。この機能は、次に、幾つかの技術的プロセス又は機器を制御するために使用され得る。
本発明は、ブロックチェーンを上回る、以下を含む多数の新規な機能を提供する:
・センサ又は他の種類の信号/インプット生成器に対してエージェントを生成する能力。ここで、エージェントは、ブロックチェーンから直接制御され、動作するために他のネットワークアクセスを必要としない;
・複数の署名により保証されるトランザクションに対して、どの公開鍵がトランザクション署名プロセスで関与したかを決定する能力;
・Redeemスクリプト内の動作(例えば、コードがどのように実行するか)を決定するために使用可能な署名鍵の中に、限定された別個の範囲のペイロード値を埋め込む能力。
・センサ又は他の種類の信号/インプット生成器に対してエージェントを生成する能力。ここで、エージェントは、ブロックチェーンから直接制御され、動作するために他のネットワークアクセスを必要としない;
・複数の署名により保証されるトランザクションに対して、どの公開鍵がトランザクション署名プロセスで関与したかを決定する能力;
・Redeemスクリプト内の動作(例えば、コードがどのように実行するか)を決定するために使用可能な署名鍵の中に、限定された別個の範囲のペイロード値を埋め込む能力。
さらに、本発明の実施形態は、論理ゲート(例えば、NORゲート)を提供するために上述の要素を利用できる。ここで、A及びBからのインプット値は、署名に使用される鍵に埋め込まれ又は該鍵により表現される。
<利点>
提案される発明は、以下の利点を提供する:
・設計により本来セキュアである(ビットコインプロトコルは信頼できるパーティを必要としない);
・分散型である。したがって、大規模の単一の障害発生点を回避し、攻撃に対して脆弱ではない;
・管理及び維持が容易であり、ビットコインネットワークは使用するのに分かり易い;
・高価でない(通常、ビットコインプロトコルの下で少ないトランザクション料金が期待されるだけである);
・グローバルであり、インターネットへのアクセスを有する誰もがいつでも使用できる;
・透過的である;
・データがブロックチェーンに書き込まれると、誰でもそれを見ることができる;
・不変であり、データがブロックチェーンに書き込まれると、誰もそれを変更できない;
・プライバシーが維持され、個人特定情報が関与しない。
提案される発明は、以下の利点を提供する:
・設計により本来セキュアである(ビットコインプロトコルは信頼できるパーティを必要としない);
・分散型である。したがって、大規模の単一の障害発生点を回避し、攻撃に対して脆弱ではない;
・管理及び維持が容易であり、ビットコインネットワークは使用するのに分かり易い;
・高価でない(通常、ビットコインプロトコルの下で少ないトランザクション料金が期待されるだけである);
・グローバルであり、インターネットへのアクセスを有する誰もがいつでも使用できる;
・透過的である;
・データがブロックチェーンに書き込まれると、誰でもそれを見ることができる;
・不変であり、データがブロックチェーンに書き込まれると、誰もそれを変更できない;
・プライバシーが維持され、個人特定情報が関与しない。
本発明を動作させるために、ビットコインプロトコル及びウォレットの既存の構成及び動作を確認しなければならない。図1は、本発明の一実施形態に従い標準的なビットコイン・トランザクション(TX)がどのように構築されるかを示す。(ビットコインは、説明のために使用されるだけであり、他の台帳及び関連プロトコルが使用されて良く、依然として本発明の範囲に包含される)。
<エージェント構成>
本発明の一実施形態は、図2に示すように、この論理ゲートトランザクションにインプットを提供するために外部環境の監視を実行するよう構成される多数の独立(計算)エージェントの使用を含む。したがって、計算エージェントは、何らかの条件を監視するよう設計される。インプットは、この目的のためにセンサから受信されて良い。例えば、エージェントは、「温度が摂氏零度より低いか」のような条件、又は任意の他の種類の検査可能な条件を監視して良い。したがって、エージェントは、その観測された条件の状態を監視するよう構成されて良い。
本発明の一実施形態は、図2に示すように、この論理ゲートトランザクションにインプットを提供するために外部環境の監視を実行するよう構成される多数の独立(計算)エージェントの使用を含む。したがって、計算エージェントは、何らかの条件を監視するよう設計される。インプットは、この目的のためにセンサから受信されて良い。例えば、エージェントは、「温度が摂氏零度より低いか」のような条件、又は任意の他の種類の検査可能な条件を監視して良い。したがって、エージェントは、その観測された条件の状態を監視するよう構成されて良い。
エージェントは、以後「制御部」として参照される制御又はマスタエージェントと通信する。制御部は、ブロックチェーン・プロトコルと共に動作するために構成される。
1又は複数の実施形態では、従属エージェント(例えば、A及びB)は、制御部から導出される鍵を有して良い。しかしながら、留意すべきことに、エージェントA及びエージェントBは自身の生成した鍵を有し、制御部から鍵を導出しないことが可能である。これは、制御部が鍵に対して使用できる機能を制限する。
1又は複数の実施形態では、監視されている各条件は、それら自身の鍵と共に設定された別個の監視エージェントを有する。この鍵から、それらは、それらの監視している条件からのアウトプットについて(つまり、可能な状態毎に)別個の鍵を導出する。これらの値は、それらの基本鍵から決定論的に導出可能である。これは、監視点において実行され得る、又はエージェントが値を予め導出し得る(例えば、真/偽センサが単に事前定義することが一層効率的であり得る)。鍵は、「共有シークレットを用いる鍵の生成」と題された章で後述する技術を用いて基本鍵から導出されて良い。
<エージェントの動作>
上述の実施形態は、エージェントが非常に厳しく定義された動作を有することを可能にし、それらの基本点において、それらは単一条件を検出し及び該条件に必要に応じて応答しているセンサである。以下の表は、これらのエージェントの動作パターンを例示する。
上述の実施形態は、エージェントが非常に厳しく定義された動作を有することを可能にし、それらの基本点において、それらは単一条件を検出し及び該条件に必要に応じて応答しているセンサである。以下の表は、これらのエージェントの動作パターンを例示する。
ステップ2は、従来知られている複数署名トランザクションを実施するための標準的プロセスであることに留意する。新規なステップは、エージェントがセンサ値をエージェントから返される署名に埋め込むことを可能にするステップ3及び4にある。
<データ値抽出及びトランザクション評価>
トランザクション内のRedeemスクリプトは、次に、自立エージェントにより埋め込まれた値の効率的な事実上の抽出を可能にする。しかしながら、これは、可能な値の範囲が予め分かっている場合にのみ機能する。ここで、エージェントA及びBが「真」/「偽」値を提供する例が使用されるが、より広い範囲の値も本方法を使用することができる(例えば、1、2、3、4、5)。肝心なのは、各可能な値又は状態を表現するためにユニークな鍵が使用され、したがって、Redeemスクリプトが、何の値に基づき鍵がアンロックスクリプトに署名するために使用されたかを決定できることである。しかしながら、Redeemスクリプト内で提供されるロジックはこの分析を実行するよう構成されなければならないので、方法は、無限範囲の可能な値をサポートしない。
トランザクション内のRedeemスクリプトは、次に、自立エージェントにより埋め込まれた値の効率的な事実上の抽出を可能にする。しかしながら、これは、可能な値の範囲が予め分かっている場合にのみ機能する。ここで、エージェントA及びBが「真」/「偽」値を提供する例が使用されるが、より広い範囲の値も本方法を使用することができる(例えば、1、2、3、4、5)。肝心なのは、各可能な値又は状態を表現するためにユニークな鍵が使用され、したがって、Redeemスクリプトが、何の値に基づき鍵がアンロックスクリプトに署名するために使用されたかを決定できることである。しかしながら、Redeemスクリプト内で提供されるロジックはこの分析を実行するよう構成されなければならないので、方法は、無限範囲の可能な値をサポートしない。
方法は、エージェントの可能な導出される公開鍵に対して、該エージェントにより供給される署名を評価することにより機能する。したがって、Redeemスクリプトが制御部により最初に構築されたとき、各可能なインプット値(状態)の公開鍵が何であったかを決定し、及びこれらをRedeemスクリプトのペイロードに含め得る。
スクリプトは、このデータを抽出するために、公開鍵のうちのどれがトランザクションに署名するために使用されたかを決定することによりそれを行い、スクリプトは該公開鍵の表す値を黙示的に理解するために符号化されているので、スクリプトは、スクリプトの限定範囲内で使用する目的で該値を効率的に抽出する。
既知のブロックチェーン標準の範囲内で、ビルトインOP_CHECKMULTISIGトランザクション機能は、十分な署名がアンロックスクリプトにより集められたことを決定するために、署名の評価を可能にする。しかしながら、これは、どれが使用されたかの明示的決定を可能にしない。したがって、本発明は、どれが使用されたかを決定するために特定の鍵に対して明示的に照合するためにTxを使用する技術を提供し、したがってトランザクションを介して非常に多くの複雑性を実装することを可能にするので、本発明は従来技術に優る向上を提供する。言い換えると、複数の鍵のどのサブセットが署名プロセスで使用されるかを決定することにより、ブロックチェーンを介してより高度な動作を生成することが可能である。
例えば、第三者預託機能では、複数の第三者預託エージェントにより第三者預託を効率的に生成することが可能であるが、買い手と売り手、又は買い手及び第三者預託エージェントのうちの1つ、又は買い手と第三者預託エージェントのうちの1つの署名の準備を必要とするスクリプトルールを定める。これは、標準的構成が両方の第三者預託エージェントがトランザクションに署名することを可能にし得るので、既知の標準的ビットコインプロトコルでは可能ではない。
<例示的なトランザクション>
例示的なトランザクションでは、トランザクション・アウトプット(TxO)1はトランザクション・アウトプット2とのNORゲートを実装し、制御部に払い戻す。トランザクションは図4に示される。
例示的なトランザクションでは、トランザクション・アウトプット(TxO)1はトランザクション・アウトプット2とのNORゲートを実装し、制御部に払い戻す。トランザクションは図4に示される。
枠内の命令コードは、データを検証可能なフォーマットにするために必要な署名操作ロジックの上に設けられるNORゲートペイロードコード(以下のブロック7)を例示する。
<ロックスクリプト>
ロックスクリプトは、標準的なPay-to-Script-Hashモデルである。
OP_HASH160 <Redeem Script Hash> OP_EQUAL
ロックスクリプトは、標準的なPay-to-Script-Hashモデルである。
OP_HASH160 <Redeem Script Hash> OP_EQUAL
<アンロックスクリプト>
所要のアンロックスクリプトは次の通りである:
<Sig-Controller> <Sig-A-Used> <Sig-B-Used> <RS Block 1>
ここで、
<Sig-A-Used>は以下のいずれかである:
<Sig-A-True>;又は、
<Sig-A-False>
<Sig-B-Used>は以下のいずれかである:
<Sig-B-True>;又は、
<Sig-B-False>
所要のアンロックスクリプトは次の通りである:
<Sig-Controller> <Sig-A-Used> <Sig-B-Used> <RS Block 1>
ここで、
<Sig-A-Used>は以下のいずれかである:
<Sig-A-True>;又は、
<Sig-A-False>
<Sig-B-Used>は以下のいずれかである:
<Sig-B-True>;又は、
<Sig-B-False>
NORゲートは、制御部署名、並びに真又は偽値のいずれかを表すAエージェントからの署名及びBエージェントからの別の署名(これも真又は偽のいずれか)を要求する単一のビットコイン・トランザクション・アウトプット内に実装される。図1は、このNORゲートがビットコインプロトコルにより実装できるかの概要を示す。
RBブロック7を後述の章で示されるように置き換えることにより、代替のゲートを実装することが可能である。
以下に記載されるように多数の変化する実施形態が提供され得る。
<変形1:真及び偽信号の生成>
上述の説明は論理ゲートを表す未署名トランザクション・アウトプット(UTXO)が、ゲート条件が真であると評価された場合にのみ使用できるようにした。多くの状況において、回路の実際の出力に関係なく、(異なる受信側アドレスにもかかわらず)アウトプットを使用することが有利である場合がある。
上述の説明は論理ゲートを表す未署名トランザクション・アウトプット(UTXO)が、ゲート条件が真であると評価された場合にのみ使用できるようにした。多くの状況において、回路の実際の出力に関係なく、(異なる受信側アドレスにもかかわらず)アウトプットを使用することが有利である場合がある。
これは、本実施形態を用いて可能である。効率的に、図1に示す実施形態は、図3に示すように変更される。本シナリオでは、Redeemスクリプトに供給される追加のパラメータが存在し、これはパズルであり、又は鍵に埋め込まれ若しくは(本例におけるように)明示的に供給され得る。これは、UTXOを使用すべき制御部の所望の出力を定める。
したがって、単純な論理ゲートでは、制御部は、1回は予測される真の出力と共に、そしてもう1回は予測される偽の出力と共に、同じ署名を用いてトランザクションを2回使用しようとし得る。
Redeemスクリプトは拡張されて、ゲート計算の終了時に、ゲートのアウトプットの等価チェックを、制御部により要求されたアウトプットに適用する。したがって、以下の通りである。
埋め込みゲートロジックが偽を返し、且つ所望の出力が偽である場合、Redeemスクリプトは真と評価し、UTXOを使用できる;
埋め込みゲートロジックが真を返し、且つ所望の出力が真である場合、Redeemスクリプトは真と評価し、UTXOを使用できる;
埋め込みゲートロジックが真を返し、且つ所望の出力が真である場合、Redeemスクリプトは偽と評価し、UTXOを使用できない;
埋め込みゲートロジックが偽を返し、且つ所望の出力が真である場合、Redeemスクリプトは偽と評価し、UTXOを使用できない。
埋め込みゲートロジックが真を返し、且つ所望の出力が真である場合、Redeemスクリプトは真と評価し、UTXOを使用できる;
埋め込みゲートロジックが真を返し、且つ所望の出力が真である場合、Redeemスクリプトは偽と評価し、UTXOを使用できない;
埋め込みゲートロジックが偽を返し、且つ所望の出力が真である場合、Redeemスクリプトは偽と評価し、UTXOを使用できない。
<変形スクリプト>
完全なRedeemスクリプトが以下に示される。これは、次に、読者の便宜のために論理コンポーネントに分解される。最初の実施形態からの追加が反転文字で示される(削除は取消線で示される)。
完全なRedeemスクリプトが以下に示される。これは、次に、読者の便宜のために論理コンポーネントに分解される。最初の実施形態からの追加が反転文字で示される(削除は取消線で示される)。
枠内の命令コードは、データを検証可能なフォーマットにするための署名操作ロジックの上にあるNORゲートペイロードコードを例示する。
<ロックスクリプト>
ロックスクリプトは、標準的なPay-to-Script-Hashモデルである。
OP_HASH160 <Redeem Script Hash> OP_EQUAL
ロックスクリプトは、標準的なPay-to-Script-Hashモデルである。
OP_HASH160 <Redeem Script Hash> OP_EQUAL
<アンロックスクリプト>
このパターンの論理ゲートのためのアンロックスクリプトは、次の通りである:
ここで、
<Sig-A-Used>は、<Sig-A-True>又は<Sig-A-False>であり、
<Sig-B-Used>は、<Sig-B-True>又は<Sig-B-False>であり、
<Signal-Required>は真又は偽(1又は0)である。
このパターンの論理ゲートのためのアンロックスクリプトは、次の通りである:
<Sig-A-Used>は、<Sig-A-True>又は<Sig-A-False>であり、
<Sig-B-Used>は、<Sig-B-True>又は<Sig-B-False>であり、
<Signal-Required>は真又は偽(1又は0)である。
<変形2:隠された真及び偽信号の生成>
変形1は、真又は偽条件がスクリプトからシグナリングされたか否かが(Redeemスクリプトから)公知であるという軽微な欠点を有する。所望の信号を制御部からの署名の中に埋め込むことは、この問題を回避する。変形2では、制御部は、図5に示されるような自身の1次鍵から導出される2個の公開鍵を有する。
変形1は、真又は偽条件がスクリプトからシグナリングされたか否かが(Redeemスクリプトから)公知であるという軽微な欠点を有する。所望の信号を制御部からの署名の中に埋め込むことは、この問題を回避する。変形2では、制御部は、図5に示されるような自身の1次鍵から導出される2個の公開鍵を有する。
枠内の命令コードは、データを検証可能なフォーマットにするための署名操作ロジックの上にあるNORゲートペイロードコードを例示する。
<ロックスクリプト>
ロックスクリプトは、標準的なPay-to-Script-Hashモデルである。
OP_HASH160 <Redeem Script Hash> OP_EQUAL
ロックスクリプトは、標準的なPay-to-Script-Hashモデルである。
OP_HASH160 <Redeem Script Hash> OP_EQUAL
<アンロックスクリプト>
このパターンの論理ゲートのためのアンロックスクリプトは、次の通りである:
ここで、
<Sig-A-Used>は、<Sig-A-True>又は<Sig-A-False>であり、
<Sig-B-Used>は、<Sig-B-True>又は<Sig-B-False>であり、
<Sig-Control-Desire>は、<Sig-Control-Desire-True>又は<Sig-Control-Desire-False>である。
このパターンの論理ゲートのためのアンロックスクリプトは、次の通りである:
<Sig-A-Used>は、<Sig-A-True>又は<Sig-A-False>であり、
<Sig-B-Used>は、<Sig-B-True>又は<Sig-B-False>であり、
<Sig-Control-Desire>は、<Sig-Control-Desire-True>又は<Sig-Control-Desire-False>である。
<変形3:単一のコードスタック>
これらのゲートを、古い(alt)スタックを使用しないで、単一スタックを用いて実装することが可能である。
これらのゲートを、古い(alt)スタックを使用しないで、単一スタックを用いて実装することが可能である。
枠内の命令コードは、データを検証可能なフォーマットにするための署名操作ロジックの上にあるNORゲートペイロードコードを例示する。
全てのスタックは上から下へ順番に示される。
<ロックスクリプト>
ロックスクリプトは、標準的なPay-to-Script-Hashモデルである。
OP_HASH160 <Redeem Script Hash> OP_EQUAL
ロックスクリプトは、標準的なPay-to-Script-Hashモデルである。
OP_HASH160 <Redeem Script Hash> OP_EQUAL
<アンロックスクリプト>
このパターンの論理ゲートのためのアンロックスクリプトは次の通りである(署名ブロックの異なる順序に留意する):
<Sig-B-Used> <Sig-A-Used> <Sig-Controller> <RS Block 1>
ここで、
<Sig-A-Used>は、<Sig-A-True>又は<Sig-A-False>であり、
<Sig-B-Used>は、<Sig-B-True>又は<Sig-B-False>である。
このパターンの論理ゲートのためのアンロックスクリプトは次の通りである(署名ブロックの異なる順序に留意する):
<Sig-B-Used> <Sig-A-Used> <Sig-Controller> <RS Block 1>
ここで、
<Sig-A-Used>は、<Sig-A-True>又は<Sig-A-False>であり、
<Sig-B-Used>は、<Sig-B-True>又は<Sig-B-False>である。
<シナリオ:強盗警報設定(NORゲート)>
NORゲートを利用する上述の実施形態の単純な例は、強盗警報の設定である。
NORゲートを利用する上述の実施形態の単純な例は、強盗警報の設定である。
本例では、エージェントAは、扉が開くと真を、閉まると偽を伝達する、搬入口ドアにあるドアセンサである。
エージェントBもドアセンサであるが、建物内の金庫にある。エージェントBも、ドアが開くと真を、閉まると偽を伝達する。制御部は、中央警報システムであり、建物内の全てのドアが閉められた場合にだけ警報を設定する。したがって、制御部は、警報を設定するよう要求されると、種々の監視エージェントにトランザクションをブロードキャストする。トランザクションは、エージェントA及びエージェントBがそれらそれぞれのドアが閉められたことを伝達するときだけ、完了する。
私達は、上述のように、基本鍵から新しい鍵を生成する技術を以下に説明する。
<共有シークレットを用いる鍵の生成>
以下の技術は、図5~9を参照して記載される。
以下の技術は、図5~9を参照して記載される。
以下の技術を用いて、鍵は、セキュアに保持され又は再生成されて良い。特に、公開鍵を導出するために使用され得る秘密鍵の場合には、秘密鍵は分解して格納されて良い。
ユーザ、つまりアリス又はボブは彼らの秘密鍵の一部を保持して良く、サービスプロバイダが第2の部分を保持して良く、第3の部分はリモートセキュアサイトに保持されて良い。秘密鍵は、3つの部分のうちの任意の2つを用いて再構成されて良い。あるいは、より一般的には、秘密鍵が、n個の部分のうちの任意のm個を用いて再構成されて良い。
秘密鍵は、再構成可能な場合、使用点において公開鍵を再生成するために使用でき、秘密鍵及び公開鍵は使用後に再び廃棄できる。
秘密鍵の分離は、シャミアの秘密分散法(Shamir’s Secret Sharing Scheme)を用いて達成されて良い。秘密鍵-公開鍵ペアは、以下の方法を用いてマスタ鍵から確定的に導出できる。この方法は、シークレット値がそれらを送信することなく参加者により共有されることを可能にする。
システムは、以下に記載するサブキー生成の方法を用いて参加者の公開鍵を生成して良い。
図5は、通信ネットワーク5を介して第2ノード7と通信する第1ノード3を含むシステム1を示す。第1ノード3は関連する第1処理装置23を有し、及び第2ノード5は関連する第2処理装置27を有する。第1及び第2ノード3、7は、コンピュータ、電話機、タブレットコンピュータ、モバイル通信装置、コンピュータサーバ、等のような電子装置を含んで良い。一例では、第1ノード3はクライアント(ユーザ)装置であって良く、第2ノード7はサーバであって良い。サーバは、デジタルウォレットプロバイダのサーバであって良い。
第1ノード3は、第1ノードマスタ秘密鍵(V1C)及び第1ノードマスタ公開鍵(P1C)を有する第1非対称暗号対に関連付けられる。第2ノード(7)は、第2ノードマスタ秘密鍵(V1S)及び第2ノードマスタ公開鍵(P1S)を有する第2非対称暗号対に関連付けられる。言い換えると、第1及び第2ノードは、それぞれ、個々の公開鍵-秘密鍵ペアを保有する。
個々の第1及び第2ノード3、7の第1及び第2非対称暗号対は、ウォレットの登録のような登録処理中に生成されて良い。各ノードの公開鍵は、通信ネットワーク5に渡るように、公に共有されて良い。
第1ノード3及び第2ノード7の両者において共通シークレット(common secret:SC)を決定するために、ノード3、7は、通信ネットワーク5を介して秘密鍵を通信することなく、それぞれ方法300、400のステップを実行する。
第1ノード3により実行される方法300は、少なくとも第1ノードマスタ秘密鍵(V1C)及び生成器値(Generator Value:GV)に基づき、第1ノード第2秘密鍵(V2C)を決定するステップ330を含む。生成器値は、第1ノードと第2ノードとの間で共有されるメッセージ(M)に基づいて良い。これは、以下に詳述するように、通信ネットワーク5を介してメッセージを共有するステップを含んで良い。方法300は、少なくとも第2ノードマスタ公開鍵(P1S)及び生成器値(Generator Value:GV)に基づき、第2ノード第2公開鍵(P2S)を決定するステップ370を更に含む。方法300は、第1ノード第2秘密鍵(V2C)及び第2ノード第2公開鍵(P2S)に基づき、共通シークレット(common secret:CS)を決定するステップ380を含む。
重要なことに、同じ共通シークレット(CS)が、方法400により第2ノード7においても決定できる。方法400は、第1ノードマスタ公開鍵(P1C)及び生成器値(Generator Value:GV)に基づき、第1ノード第2公開鍵(P2C)を決定するステップ430を含む。方法400は、第2ノードマスタ秘密鍵(V1S)及び生成器値(Generator Value:GV)に基づき、第2ノード第2秘密鍵(V2S)を決定するステップ470を更に含む。方法400は、第2ノード第2秘密鍵(V2S)及び第1ノード第2公開鍵(P2C)に基づき、共通シークレット(common secret:CS)を決定するステップ480を含む。
通信ネットワーク5は、ローカルエリアネットワーク、ワイドエリアネットワーク、セルラネットワーク、無線通信ネットワーク、インターネット、等を含んで良い。これらのネットワークでは、データは電気線、光ファイバ、又は無線のような通信媒体を介して送信されて良く、盗聴者11による様な盗聴を受けやすい場合がある。方法300、400は、通信ネットワーク5を介して共通シークレットを送信することなく、第1ノード3及び第2ノード7が共通シークレットを両方とも独立して決定できるようにする。
したがって、1つの利点は、安全でない可能性のある通信ネットワーク5を介して秘密鍵を送信する必要を有しないで、共通シークレット(CS)が安全に且つ各ノードにより独立して決定できることである。また、共通シークレットは、秘密鍵として(又は秘密鍵の基礎として)使用されて良い。
方法300、400は、追加ステップを含んで良い。方法300は、第1ノード3において、メッセージ(M)及び第1ノード第2秘密鍵(V2C)に基づき、署名メッセージ(SM1)を生成するステップを含んで良い。方法300は、第1署名メッセージ(SM1)を通信ネットワークを介して第2ノード7へ送信するステップ360を更に含む。一方、第2ノード7は、第1署名メッセージ(SM1)を受信するステップ440を実行して良い。方法400は、第1署名メッセージ(SM2)を第1ノード第2公開鍵(P2C)により検証するステップ450、及び第1署名メッセージ(SM1)を検証するステップの結果に基づき第1ノード3を認証するステップ460を更に含む。有利なことに、これは、第2ノード7が、(第1署名メッセージが生成された場所である)意図された第1ノードが第1ノード3であることを認証することを可能にする。これは、第1ノード3だけが、第1ノードマスタ秘密鍵(V1C)へのアクセスを有する、したがって、第1ノード3だけが、第1署名メッセージ(SM1)を生成するための第1ノード第2秘密鍵(V2C)を決定できるという仮定に基づく。理解されるべきことに、同様に、第2署名メッセージ(SM2)は、第2ノード7において生成され、第1ノード3へ送信され得る。したがって、ピアツーピアシナリオにおけるように、第1ノード3は、第2ノード7を認証できる。
第1ノードと第2ノードの間のメッセージ(M)の共有は、様々な方法で達成されて良い。一例では、メッセージは、第1ノード3において生成されて良く、次に通信ネットワーク5を介して第2ノード7へ送信される。代替として、メッセージは、第2ノード7において生成されて良く、次に通信ネットワーク5を介して第1ノード3へ送信される。幾つかの例では、メッセージ(M)は公開されて良く、したがってセキュアでないネットワーク5を介して送信されて良い。1又は複数のメッセージ(M)は、データストア13、17、19に格納されて良い。当業者は、メッセージの共有が様々な方法で達成できることを理解する。
有利なことに、共通シークレット(CS)の再生成を可能にするレコードは、そのレコード自体が秘密に格納され又はセキュアに送信される必要がなく、保持され得る。
<登録の方法100、200>
登録の方法100、200の一例が以下に記載される。ここで、方法100は第1ノード3により実行され、方法200は第2ノード7により実行される。これは、それぞれ第1ノード3及び第2ノード7のために第1及び第2非対称暗号対を確立するステップを含む。非対称暗号対は、公開鍵暗号化で使用されるような、関連付けられた秘密鍵及び公開鍵を含む。本例では、非対称暗号対は、楕円曲線暗号システム(Elliptic Curve Cryptography:ECC)及び楕円曲線演算の特性を用いて生成される。
登録の方法100、200の一例が以下に記載される。ここで、方法100は第1ノード3により実行され、方法200は第2ノード7により実行される。これは、それぞれ第1ノード3及び第2ノード7のために第1及び第2非対称暗号対を確立するステップを含む。非対称暗号対は、公開鍵暗号化で使用されるような、関連付けられた秘密鍵及び公開鍵を含む。本例では、非対称暗号対は、楕円曲線暗号システム(Elliptic Curve Cryptography:ECC)及び楕円曲線演算の特性を用いて生成される。
方法100、200では、これは、共通ECCシステムに合意している110、210、且つ基点(G)を用いる、第1ノード及び第2ノードを含む(注:基点は、共通生成器として参照され得るが、用語「基点」は、生成器値GVとの混同を避けるために使用される)。一例では、共通ECCシステムは、ビットコインにより使用されるECCシステムであるsecp256K1に基づいて良い。基点(G)は、選択され、ランダムに生成され、又は割り当てられて良い。
ここで第1ノード3について考えると、方法100は、共通ECCシステム及び基点(G)を解決するステップ110を含む。これは、第2ノード7又は第3ノード9から、共通ECCシステム及び基点を受信するステップを含んで良い。代替として、ユーザインタフェース15は、第1ノード3に関連付けられる。これにより、ユーザは、共通ECCシステム及び/又は基点(G)を選択的に提供できる。更に別の代替案では、共通ECCシステム及び/又は基点(G)の一方又は両方が、第1ノード3によりランダムに選択されて良い。第1ノード3は、通信ネットワーク5を介して、基点(G)と共に共通ECCシステムを使用することを示す通知を、第2ノード7へ送信して良い。また、第2ノード7は、共通ECCシステム及び基点(G)の使用に対する肯定応答を示す通知を送信することにより、解決して良い210。
方法100は、第1ノード3が、第1ノードマスタ秘密鍵(V1C)及び第1ノードマスタ公開鍵(P1C)を有する第1非対称暗号対を生成するステップ120を更に含む。これは、共通ECCシステムの中で指定された許容範囲の中のランダム整数に少なくとも部分的に基づき、第1マスタ秘密鍵(V1C)を生成するステップを含む。これは、次式に従い第1ノードマスタ秘密鍵(V1C)及び基点(G)の楕円曲線点乗算に基づき、第1ノードマスタ公開鍵(P1C)を決定するステップを更に含む。
P1C=V1C×G (式1)
P1C=V1C×G (式1)
したがって、第1非対称暗号対は、以下を含む:
V1C:第1ノードにより秘密に保持される第1ノードマスタ秘密鍵。
P1C:公に知らされる第1ノードマスタ公開鍵。
V1C:第1ノードにより秘密に保持される第1ノードマスタ秘密鍵。
P1C:公に知らされる第1ノードマスタ公開鍵。
第1ノード3は、第1ノードマスタ秘密鍵(V1C)及び第1ノードマスタ公開鍵(P1C)を、第1ノード3に関連付けられた第1データストア13に格納して良い。セキュリティのために、第1ノードマスタ秘密鍵(V1C)は、鍵が秘密のままであることを保証するために、第1データストア13のセキュアな部分に格納されて良い。
方法100は、図6に示すように、第1ノードマスタ公開鍵(P1C)を通信ネットワーク5を介して第2ノード7へ送信するステップ130を更に含む。第2ノード7は、第1ノードマスタ公開鍵(P1C)を受信すると220、第1ノードマスタ公開鍵(P1C)を第2ノード7に関連付けられた第2データストア17に格納して良い230。
第1ノード3と同様に、第2ノード7の方法200は、第2ノードマスタ秘密鍵(V1S)及び第2ノードマスタ公開鍵(P1S)を有する第2非対称暗号対を生成するステップ240を含む。第2ノードマスタ秘密鍵(V1S)も、許容範囲内のランダム整数である。また、第2ノードマスタ公開鍵(P1S)は、次式により決定される。
P1S=V1S×G (式2)
P1S=V1S×G (式2)
したがって、第2非対称暗号対は、以下を含む:
V1S:第2ノードにより秘密に保持される第2ノードマスタ秘密鍵。
P1S:公に知らされる第2ノードマスタ公開鍵。
V1S:第2ノードにより秘密に保持される第2ノードマスタ秘密鍵。
P1S:公に知らされる第2ノードマスタ公開鍵。
第2ノード7は、第2非対称暗号対を第2データストア17に格納して良い。方法200は、第2ノードマスタ公開鍵(P1S)を第1ノード3へ送信するステップ250を更に含む。また、第1ノード3は、第2ノードマスタ公開鍵(P1S)を受信し140、格納して良い150。
理解されるべきことに、幾つかの代案では、それぞれの公開マスタ鍵は、受信され、(信頼できる第三者のような)第3ノード9に関連付けられた第3データストア19に格納されて良い。これは、認証機関のような、公開ディレクトリとして動作する第三者を含んで良い。したがって、幾つかの例では、第1ノードマスタ公開鍵(P1C)は、共通シークレット(CS)が要求されるときだけ、第2ノード7により要求され受信されて良い(逆も同様である)。
登録ステップは、初期設定として1度生じるだけで良い。
<セッション開始及び第1ノード3による共通シークレットの決定>
共通シークレット(CS)を決定する一例が以下に記載される。共通シークレット(CS)は、第1ノード3と第2ノード7との間の特定のセッション、時間、トランザクション、又は他の目的のために使用されて良く、同じ共通シークレット(CS)を使用することが望ましい又はセキュアでなくて良い。したがって、共通シークレット(CS)は、異なるセッション、時間、トランザクション、等の間で変更されて良い。
共通シークレット(CS)を決定する一例が以下に記載される。共通シークレット(CS)は、第1ノード3と第2ノード7との間の特定のセッション、時間、トランザクション、又は他の目的のために使用されて良く、同じ共通シークレット(CS)を使用することが望ましい又はセキュアでなくて良い。したがって、共通シークレット(CS)は、異なるセッション、時間、トランザクション、等の間で変更されて良い。
以下は、上述したセキュアな送信技術の説明のために提供される。
[メッセージ(M)を生成する310]
本例では、第1ノード3により実行される方法300は、メッセージ(M)を生成するステップ310を含む。メッセージ(M)は、ランダム、疑似ランダム、又はユーザ定義であって良い。一例では、メッセージ(M)は、Unix時間又はノンス(及び任意の値)に基づく。例えば、メッセージ(M)は次のように与えられ得る。
メッセージ(M)=Unix時間+ノンス (式3)
本例では、第1ノード3により実行される方法300は、メッセージ(M)を生成するステップ310を含む。メッセージ(M)は、ランダム、疑似ランダム、又はユーザ定義であって良い。一例では、メッセージ(M)は、Unix時間又はノンス(及び任意の値)に基づく。例えば、メッセージ(M)は次のように与えられ得る。
メッセージ(M)=Unix時間+ノンス (式3)
幾つかの例では、メッセージ(M)は任意である。しかしながら、理解されるべきことに、メッセージ(M)は、幾つかのアプリケーションで有用であり得る(Unix時間、等のような)選択的値を有して良い。
方法300は、メッセージ(M)を通信ネットワーク3を介して第2ノード7へ送信するステップ315を含む。メッセージ(M)は秘密鍵についての情報を含まないので、メッセージ(M)は、セキュアでないネットワークを介して送信されて良い。
[生成器値(GV)を決定する320]
方法300は、メッセージ(M)に基づき生成器値(Generator Value:GV)を決定するステップ320を更に含む。本例では、これは、メッセージの暗号ハッシュを決定するステップを含む。暗号ハッシュアルゴリズムの一例は、256ビット発生器値(GV)を生成するためにSHA-256を含む。つまり、
GV=SHA-256(M) (式4)
方法300は、メッセージ(M)に基づき生成器値(Generator Value:GV)を決定するステップ320を更に含む。本例では、これは、メッセージの暗号ハッシュを決定するステップを含む。暗号ハッシュアルゴリズムの一例は、256ビット発生器値(GV)を生成するためにSHA-256を含む。つまり、
GV=SHA-256(M) (式4)
理解されるべきことに、他のハッシュアルゴリズムが使用されて良い。これは、セキュアなハッシュアルゴリズム(Secure Hash Algorithm:SHA)ファミリの中の他のハッシュアルゴリズムを含んで良い。幾つかの特定の例は、SHA3-224、SHA3-256、SHA3-384、SHA3-512、SHAKE128、SHAKE256を含むSHA-3サブセットの中のインスタンスを含む。他のハッシュアルゴリズムは、RIPEMD(RACE Integrity Primitives Evaluation Message Digest)ファミリの中のアルゴリズムを含んで良い。特定の例は、RIPEMD-160を含んで良い。他のハッシュ関数は、Zemor-Tillichハッシュ関数及びナップサック・ハッシュ関数に基づくファミリを含んで良い。
[第1ノード第2秘密鍵を決定する330]
方法300は、次に、第2ノードマスタ秘密鍵(V1C)及び生成器値(GV)に基づき、第1ノード第2秘密鍵(V2C)を決定するステップ330を含む。これは、次式に従い第1ノードマスタ秘密鍵(V1C)及び生成器値(GV)のスカラ加算に基づき得る。
V2C=V1C+GV (式5)
方法300は、次に、第2ノードマスタ秘密鍵(V1C)及び生成器値(GV)に基づき、第1ノード第2秘密鍵(V2C)を決定するステップ330を含む。これは、次式に従い第1ノードマスタ秘密鍵(V1C)及び生成器値(GV)のスカラ加算に基づき得る。
V2C=V1C+GV (式5)
したがって、第1ノード第2秘密鍵(V2C)は、ランダム値ではないが、代わりに第1ノードマスタ秘密鍵から確定的に導出される。暗号対の中の対応する公開鍵、つまり第1ノード第2公開鍵(P2C)は、以下の関係を有する。
P2C=V2C×G (式6.1)
P2C=V2C×G (式6.1)
式5から式6にV2Cを代入すると、次式を得る。
P2C=(V1C+GV)×G (式7)
P2C=(V1C+GV)×G (式7)
ここで、「+」演算子は楕円曲線点加算を表す。楕円曲線暗号代数は、分配的であり、式7は次式のように表すことができる。
P2C=V1C×G+GV×G (式8)
P2C=V1C×G+GV×G (式8)
最後に、(式1)は(式7)に代入され、次式を得る。
P2C=P1C+GV×G (式9.1)
P2C=P1C+SHA-256(M)×G (式9.2)
P2C=P1C+GV×G (式9.1)
P2C=P1C+SHA-256(M)×G (式9.2)
したがって、対応する第1ノード第2公開鍵(P2C)は、第1ノードマスタ公開鍵(P1C)及びメッセージ(M)の導出可能な所与の知識であり得る。方法400に関して以下に更に詳述するように、第2ノード7は、第1ノード第2公開鍵(P2C)を独立に決定するために、このような知識を有して良い。
[メッセージ及び第1ノード第2秘密鍵に基づき、第1署名メッセージ(SM1)を生成する350]
方法300は、メッセージ(M)及び決定した第1ノード第2秘密鍵(V2C)に基づき、第1署名メッセージ(SM1)を生成するステップ350を更に含む。署名メッセージを生成するステップは、メッセージ(M)にデジタル方式で署名するために、デジタル署名アルゴリズムを適用するステップを含む。一例では、これは、第1署名メッセージ(SM1)を得るために、楕円曲線デジタル署名アルゴリズム(Elliptic Curve Digital Signature Algorithm:ECDSA)の中でメッセージに第1ノード第2秘密鍵(V2C)を適用するステップを含む。ECDSAの例は、secp256k1、secp256r1、secp384r1、se3cp521r1を有するECCシステムに基づくものを含む。
方法300は、メッセージ(M)及び決定した第1ノード第2秘密鍵(V2C)に基づき、第1署名メッセージ(SM1)を生成するステップ350を更に含む。署名メッセージを生成するステップは、メッセージ(M)にデジタル方式で署名するために、デジタル署名アルゴリズムを適用するステップを含む。一例では、これは、第1署名メッセージ(SM1)を得るために、楕円曲線デジタル署名アルゴリズム(Elliptic Curve Digital Signature Algorithm:ECDSA)の中でメッセージに第1ノード第2秘密鍵(V2C)を適用するステップを含む。ECDSAの例は、secp256k1、secp256r1、secp384r1、se3cp521r1を有するECCシステムに基づくものを含む。
第1署名メッセージ(SM1)は、第2ノード7において対応する第1ノード第2公開鍵(P2C)により検証できる。第1署名メッセージ(SM1)のこの検証は、第1ノード3を認証するために第2ノード7により使用されて良い。これは、方法400において以下に議論される。
[第2ノード第2公開鍵を決定する370’]
第1ノード3は、次に、第2ノード第2公開鍵(P2S)を決定して良い370。上述のように、第2ノード第2公開鍵(P2S)は、少なくとも第2ノードマスタ公開鍵(P1S)及び生成器値(GV)に基づいて良い。本例では、公開鍵は、基点(G)との楕円曲線点乗算により秘密鍵として決定されるので370’、第2ノード第2公開鍵(P2S)は、式6と同様に次のように表すことができる。
P2S=V2S×G (式10.1)
P2S=P1S+GV×G (式10.2)
第1ノード3は、次に、第2ノード第2公開鍵(P2S)を決定して良い370。上述のように、第2ノード第2公開鍵(P2S)は、少なくとも第2ノードマスタ公開鍵(P1S)及び生成器値(GV)に基づいて良い。本例では、公開鍵は、基点(G)との楕円曲線点乗算により秘密鍵として決定されるので370’、第2ノード第2公開鍵(P2S)は、式6と同様に次のように表すことができる。
P2S=V2S×G (式10.1)
P2S=P1S+GV×G (式10.2)
式10.2の数学的証明は、第1ノード第2公開鍵(P2C)について式9.1を導出するために上述したものと同じである。理解されるべきことに、第1ノード3は、第2ノード7と独立に第2ノード第2公開鍵を決定できる370。
[第1ノード3において共通シークレットを決定する380]
第1ノード3は、次に、第1ノード第2秘密鍵(V2C)及び決定した第2ノード第2公開鍵(P2S)に基づき、共通シークレット(CS)を決定して良い380。共通シークレット(CS)は、第1ノード3により次式により決定されて良い。
S=V2C×P2S (式11)
第1ノード3は、次に、第1ノード第2秘密鍵(V2C)及び決定した第2ノード第2公開鍵(P2S)に基づき、共通シークレット(CS)を決定して良い380。共通シークレット(CS)は、第1ノード3により次式により決定されて良い。
S=V2C×P2S (式11)
<第2ノード7において実行される方法400>
第2ノード7において実行される対応する方法400が、ここで説明される。理解されるべきことに、これらのステップのうちの幾つかは、第1ノード3により実行された上述のステップと同様である。
第2ノード7において実行される対応する方法400が、ここで説明される。理解されるべきことに、これらのステップのうちの幾つかは、第1ノード3により実行された上述のステップと同様である。
方法400は、メッセージ(M)を通信ネットワーク5を介して第1ノード3から受信するステップ410を含む。これは、ステップ315において第1ノード3により送信されたメッセージ(M)を含んで良い。第2ノード7は、次に、メッセージ(M)に基づき生成器値(GV)を決定する420。第2ノード7により生成器値(GV)を決定するステップ420は、上述の第1ノードにより実行されるステップ320と同様である。本例では、第2ノード7は、第1ノード3と独立の、この決定するステップ420を実行する。
次のステップは、第1ノードマスタ公開鍵(P1C)及び生成器値(GV)に基づき、第1ノード第2公開鍵(P2C)を決定するステップ430を含む。本例では、公開鍵は、基点(G)との楕円曲線点乗算により秘密鍵として決定されるので430’、第1ノード第2公開鍵(P2C)は、式9と同様に次のように表すことができる。
P2C=V2C×G (式12.1)
P2C=P1C+GV×G (式12.2)
P2C=V2C×G (式12.1)
P2C=P1C+GV×G (式12.2)
式12.1及び12.2の数学的証明は、式10.1及び10.2について上述したものと同じである。
[第2ノード7が第1ノード3を認証する]
方法400は、未確認第1ノード3が第1ノード3であることを認証するために、第2ノード7により実行されるステップを含んで良い。上述のように、これは、第1ノード3から第1署名メッセージ(SM1)を受信するステップ440を含む。第2ノード7は、次に、ステップ430で決定された第1ノード第2公開鍵(P2C)により第1署名メッセージ(SM1)の署名を検証して良い450。
方法400は、未確認第1ノード3が第1ノード3であることを認証するために、第2ノード7により実行されるステップを含んで良い。上述のように、これは、第1ノード3から第1署名メッセージ(SM1)を受信するステップ440を含む。第2ノード7は、次に、ステップ430で決定された第1ノード第2公開鍵(P2C)により第1署名メッセージ(SM1)の署名を検証して良い450。
デジタル署名の検証は、上述の楕円曲線デジタル署名アルゴリズム(Elliptic Curve Digital Signature Algorithm:ECDSA)に従い行われて良い。重要なことに、第1ノード第2秘密鍵(V2C)により署名された第1署名メッセージ(SM1)は、V2C及びP2Cが暗号対を形成するので、対応する第1ノード第2公開鍵(P2C)によってのみ正しく検証されるべきである。これらの鍵は、第1ノード3の登録で生成された第1ノードマスタ秘密鍵(V1C)及び第1ノードマスタ公開鍵(P1C)において確定するので、第1署名メッセージ(SM1)の検証は、第1署名メッセージ(SM1)を送信する未確認第1ノードが登録中と同じ第1ノード3であることを認証する基礎として使用できる。したがって、第2ノード7は、第1署名メッセージを検証するステップ(450)の結果に基づき、第1ノード3を認証するステップ(460)を更に実行して良い。
[第2ノード7が共通シークレットを決定する]
方法400は、第2ノード7が、第2ノードマスタ秘密鍵(V1S)及び生成器値(GV)に基づき、第2ノード第2秘密鍵(V2S)を決定するステップ470を更に含んで良い。第1ノード3により実行されるステップ330と同様に、第2ノード第2秘密鍵(V2S)は、次式に従い、第2ノードマスタ秘密鍵(V1S)及び生成器値(GV)のスカラ加算に基づき得る。
V2S=V1S+GV (式13.1)
V2S=V1S+SHA-256(M) (式13.2)
方法400は、第2ノード7が、第2ノードマスタ秘密鍵(V1S)及び生成器値(GV)に基づき、第2ノード第2秘密鍵(V2S)を決定するステップ470を更に含んで良い。第1ノード3により実行されるステップ330と同様に、第2ノード第2秘密鍵(V2S)は、次式に従い、第2ノードマスタ秘密鍵(V1S)及び生成器値(GV)のスカラ加算に基づき得る。
V2S=V1S+GV (式13.1)
V2S=V1S+SHA-256(M) (式13.2)
第2ノード7は、次に、第1ノード3と独立して、次式に基づき、第2ノード第2秘密鍵(V2S)及び第1ノード第2公開鍵(P2C)に基づき、共通シークレット(CS)を決定して良い480。
S=V2S×P2C (式14)
S=V2S×P2C (式14)
[第1ノード3及び第2ノード7により決定された共通シークレット(CS)の証明]
第1ノード3により決定された共通シークレット(CS)は、第2ノード7において決定された共通シークレット(CS)と同じである。式11及び式14が同じ共通シークレット(CS)を提供することの数学的証明が、ここで記載される。
第1ノード3により決定された共通シークレット(CS)は、第2ノード7において決定された共通シークレット(CS)と同じである。式11及び式14が同じ共通シークレット(CS)を提供することの数学的証明が、ここで記載される。
第1ノード3により決定された共通シークレット(CS)を考えると、次のように式10.1は式11に代入できる。
S=V2C×P2S (式11)
S=V2C×(V2S×G)
S=(V2C×V2S)×G (式15)
S=V2C×P2S (式11)
S=V2C×(V2S×G)
S=(V2C×V2S)×G (式15)
第2ノード7により決定された共通シークレット(CS)を考えると、次のように式12.1は式14に代入できる。
S=V2S×P2C (式14)
S=V2S×(V2C×G)
S=(V2S×V2C)×G (式16)
S=V2S×P2C (式14)
S=V2S×(V2C×G)
S=(V2S×V2C)×G (式16)
ECC代数学は可換性なので、次の通り式15及び式16は等価である。
S=(V2C×V2S)×G=(V2S×V2C)×G (式17)
S=(V2C×V2S)×G=(V2S×V2C)×G (式17)
[共通シークレット(CS)及び秘密鍵]
共通シークレット(CS)は、ここで、第1ノード3と第2ノード7との間のセキュアな通信のために、対称鍵アルゴリズムにおいて、秘密鍵として又は秘密鍵の基礎として、使用できる。
共通シークレット(CS)は、ここで、第1ノード3と第2ノード7との間のセキュアな通信のために、対称鍵アルゴリズムにおいて、秘密鍵として又は秘密鍵の基礎として、使用できる。
共通シークレット(CS)は、楕円曲線点(xS,yS)の形式であって良い。これは、ノード3、7により合意された標準的な公に知られた演算を用いて、標準的な鍵フォーマットに変換されて良い。例えば、xS値は、AES256暗号鍵として使用され得る256ビットの整数であって良い。これは、更に、160ビットの長さの鍵を必要とする任意のアプリケーションのために、RIPEMD160を用いて160ビットの整数に変換され得る。
共通シークレット(CS)は、必要に応じて決定されて良い。重要なことに、共通シークレット(CS)はメッセージ(M)に基づき再決定できるので、第1ノード3は共通シークレット(CS)を格納する必要がない。幾つかの例では、使用されるメッセージ(M)は、マスタ秘密鍵のために要求されるのと同レベルのセキュリティを有しないデータストア13、17、19(又は他のデータストア)に格納されて良い。幾つかの例では、メッセージ(M)は公に利用可能であって良い。
しかしながら、幾つかのアプリケーションに依存して、共通シークレット(CS)が第1ノードマスタ秘密鍵(V1C)と同じくらいセキュアに保たれるならば、共通シークレット(CS)は、第1ノードに関連付けられた第1データストア(X)に格納され得る。
有利なことに、この技術は、単一のマスタキー暗号対に基づき、複数のセキュアな秘密鍵に対応し得る複数の共通シークレットを決定するために使用できる。
留意すべきことに、上述の実施形態は、本発明を限定するのではなく、当業者は添付の請求項により定められる本発明の範囲から逸脱することなく多数の代替の実施形態を考案できる。請求項中、括弧内に記載された如何なる参照符号も、請求項を制限すると見なされるべきではない。用語「有する(comprising又はcomprises)」等は、全体としていかなる請求項中に及び明細書に列挙された以外の要素又はステップの存在を排除するものではない。本願明細書において、「有する(comprises)」は「含む(includes)又は構成される(consists of)」を意味し、「有する(comprising)」は「含む(including)又は構成される(including of)」を意味する。要素の単数の参照は、該要素の複数の存在を排除するものではなく、逆も同様である。本発明は、複数の別個の要素を有するハードウェアにより又は適切にプログラムされたコンピュータにより、実施され得る。複数の手段を列挙している装置の請求項では、これらの複数の手段は、1つの同一のハードウェア要素により実装することができる。特定の量が相互に異なる従属請求項に記載されるという事実は、これらの量の組合せが有利に用いることが出来ないことを示すものではない。
3 第1ノード
5 ネットワーク
7 第2ノード
5 ネットワーク
7 第2ノード
Claims (14)
- コンピュータにより実施される制御方法であって、
アウトプットに対するRedeemスクリプトを有するブロックチェーン・トランザクションを提供するステップであって、前記Redeemスクリプトは、
i)複数の公開鍵を指定し、複数の公開鍵の各々は対応する秘密鍵に関連付けられ、各公開鍵は、少なくとも1つのデータソースの可能な状態にユニークに関連付けられ、
ii)前記複数の関連付けられた秘密鍵のうちのどれがアンロックスクリプトに署名するために使用されるかに基づき結果を提供するよう構成されたロジックを有し、前記ロジックは、論理ゲートの機能を実装するよう構成される、ステップ、を有し、
最小数の前記秘密鍵が、前記アウトプットを使用するために、更なるブロックチェーン・トランザクションのアンロックスクリプトに署名するために使用されなければならず、前記秘密鍵のいずれか1つは複数の部分を使用して再構成される、方法。 - 前記論理ゲートは、NOT、AND、OR、NOR、XOR、IMPLY、NAND、NONIMPLY、又はXNORゲートである、請求項1に記載の方法。
- 前記少なくとも1つのデータソースの状態は、コンピューティングエージェントにより決定される、請求項1~2のいずれかに記載の方法。
- 前記コンピューティングエージェントは制御コンピューティングエージェントと通信する、請求項3に記載の方法。
- 前記結果はブール結果である、請求項1~4のいずれかに記載の方法。
- 少なくとも2個のデータソースがある、請求項1~5のいずれかに記載の方法。
- 前記少なくとも1つのデータソースは、センサ又は信号生成コンポーネントを含む、請求項1~6のいずれかに記載の方法。
- 各公開鍵は、前記少なくとも1つのデータソースの可能な状態を示すブール値を表す、請求項1~7のいずれかに記載の方法。
- 前記複数の鍵のうちの1つ以上は、基本鍵から生成又は導出できる、請求項1~8のいずれかに記載の方法。
- 前記鍵の生成は、決定論的鍵生成技術を用いて実行される、請求項9に記載の方法。
- コンピュータにより実装されるシステムであって、
請求項1~10のいずれかに記載のステップを実行するよう構成される少なくとも1つのコンピュータに基づくリソースと、
ブロックチェーンと、
を含むシステム。 - 前記少なくとも1つのコンピュータに基づくリソースは、
ブロックチェーン・ネットワークにトランザクションを提出し、
トランザクションを生成し、
ロックスクリプトにデジタル署名し、及び/又は、
公開/秘密暗号鍵を生成する、
よう構成される、請求項11に記載のコンピュータにより実装されるシステム。 - 前記結果は、処理又は機器の実行又は動作を制御し又は影響を与えるために使用される、請求項11又は12に記載のシステム。
- 前記少なくとも1つのコンピュータに基づくリソースに入力を提供するよう配置され及び構成される少なくとも1つのセンサ又は信号生成コンポーネント、を更に含む請求項11~13のいずれかに記載のシステム。
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB1613148.4A GB201613148D0 (en) | 2016-07-29 | 2016-07-29 | Computer-implemented method and system |
GB1613177.3 | 2016-07-29 | ||
GBGB1613177.3A GB201613177D0 (en) | 2016-07-29 | 2016-07-29 | Computer-implemented method and system |
GB1613188.0 | 2016-07-29 | ||
GB1613148.4 | 2016-07-29 | ||
GBGB1613188.0A GB201613188D0 (en) | 2016-07-29 | 2016-07-29 | Computer-implemented method and system |
PCT/IB2017/054422 WO2018020369A1 (en) | 2016-07-29 | 2017-07-21 | Blockchain-implemented method and system |
JP2019502206A JP6997755B2 (ja) | 2016-07-29 | 2017-07-21 | ブロックチェーンにより実装される方法及びシステム |
JP2021205159A JP7304398B2 (ja) | 2016-07-29 | 2021-12-17 | ブロックチェーンにより実装される方法及びシステム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021205159A Division JP7304398B2 (ja) | 2016-07-29 | 2021-12-17 | ブロックチェーンにより実装される方法及びシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023123673A true JP2023123673A (ja) | 2023-09-05 |
Family
ID=59485389
Family Applications (9)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019502214A Active JP7203009B2 (ja) | 2016-07-29 | 2017-07-21 | ブロックチェーンにより実装される方法及びシステム |
JP2019502206A Active JP6997755B2 (ja) | 2016-07-29 | 2017-07-21 | ブロックチェーンにより実装される方法及びシステム |
JP2019502213A Active JP6990690B2 (ja) | 2016-07-29 | 2017-07-21 | ブロックチェーンにより実装される方法及びシステム |
JP2021197655A Active JP7295927B2 (ja) | 2016-07-29 | 2021-12-06 | ブロックチェーンにより実装される方法及びシステム |
JP2021205159A Active JP7304398B2 (ja) | 2016-07-29 | 2021-12-17 | ブロックチェーンにより実装される方法及びシステム |
JP2022207828A Active JP7454035B2 (ja) | 2016-07-29 | 2022-12-26 | ブロックチェーンにより実装される方法及びシステム |
JP2023095303A Pending JP2023113899A (ja) | 2016-07-29 | 2023-06-09 | ブロックチェーンにより実装される方法及びシステム |
JP2023103906A Pending JP2023123673A (ja) | 2016-07-29 | 2023-06-26 | ブロックチェーンにより実装される方法及びシステム |
JP2024035453A Pending JP2024063229A (ja) | 2016-07-29 | 2024-03-08 | ブロックチェーンにより実装される方法及びシステム |
Family Applications Before (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019502214A Active JP7203009B2 (ja) | 2016-07-29 | 2017-07-21 | ブロックチェーンにより実装される方法及びシステム |
JP2019502206A Active JP6997755B2 (ja) | 2016-07-29 | 2017-07-21 | ブロックチェーンにより実装される方法及びシステム |
JP2019502213A Active JP6990690B2 (ja) | 2016-07-29 | 2017-07-21 | ブロックチェーンにより実装される方法及びシステム |
JP2021197655A Active JP7295927B2 (ja) | 2016-07-29 | 2021-12-06 | ブロックチェーンにより実装される方法及びシステム |
JP2021205159A Active JP7304398B2 (ja) | 2016-07-29 | 2021-12-17 | ブロックチェーンにより実装される方法及びシステム |
JP2022207828A Active JP7454035B2 (ja) | 2016-07-29 | 2022-12-26 | ブロックチェーンにより実装される方法及びシステム |
JP2023095303A Pending JP2023113899A (ja) | 2016-07-29 | 2023-06-09 | ブロックチェーンにより実装される方法及びシステム |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2024035453A Pending JP2024063229A (ja) | 2016-07-29 | 2024-03-08 | ブロックチェーンにより実装される方法及びシステム |
Country Status (8)
Country | Link |
---|---|
US (6) | US11271736B2 (ja) |
EP (5) | EP4220515A1 (ja) |
JP (9) | JP7203009B2 (ja) |
KR (3) | KR102467596B1 (ja) |
CN (6) | CN109478223B (ja) |
SG (6) | SG10202107635QA (ja) |
WO (3) | WO2018020369A1 (ja) |
ZA (2) | ZA201900509B (ja) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BR112018016821A2 (pt) | 2016-02-23 | 2018-12-26 | Nchain Holdings Ltd | sistema e métodos implementados por computador |
CN114282926A (zh) | 2016-02-23 | 2022-04-05 | 区块链控股有限公司 | 用于从区块链中安全提取数据的密码方法和系统 |
CA3014727A1 (en) | 2016-02-23 | 2017-08-31 | nChain Holdings Limited | Method and system for efficient transfer of cryptocurrency associated with a payroll on a blockchain that leads to an automated payroll method and system based on smart contracts |
CA3013182A1 (en) | 2016-02-23 | 2017-08-31 | nChain Holdings Limited | Universal tokenisation system for blockchain-based cryptocurrencies |
US11625694B2 (en) | 2016-02-23 | 2023-04-11 | Nchain Licensing Ag | Blockchain-based exchange with tokenisation |
BR112018016234A2 (pt) | 2016-02-23 | 2019-01-02 | Nchain Holdings Ltd | método implementado por computador para controlar o acesso a um recurso, sistemas baseados em computador e método para controle de acesso a uma carteira digital |
AU2017223133B2 (en) | 2016-02-23 | 2022-09-08 | nChain Holdings Limited | Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys |
WO2017145018A1 (en) | 2016-02-23 | 2017-08-31 | nChain Holdings Limited | A method and system for the secure transfer of entities on a blockchain |
CN109074563B (zh) | 2016-02-23 | 2022-04-19 | 区块链控股有限公司 | 区块链系统内的基于代理的图灵完备交易集成反馈 |
WO2017145019A1 (en) | 2016-02-23 | 2017-08-31 | nChain Holdings Limited | Registry and automated management method for blockchain-enforced smart contracts |
CN108780548B (zh) | 2016-02-23 | 2022-08-05 | 区块链控股有限公司 | 将椭圆曲线加密用于个人装置安全以共享秘密 |
WO2017145007A1 (en) | 2016-02-23 | 2017-08-31 | nChain Holdings Limited | System and method for controlling asset-related actions via a blockchain |
EP3420507A1 (en) | 2016-02-23 | 2019-01-02 | Nchain Holdings Limited | Tokenisation method and system for implementing exchanges on a blockchain |
AU2017222471B2 (en) | 2016-02-23 | 2022-09-01 | nChain Holdings Limited | A method and system for securing computer software using a distributed hash table and a blockchain |
FR3049089B1 (fr) * | 2016-03-21 | 2018-02-16 | Sebastien Jean Serge Dupont | Procede permettant de gerer les validations des messages relatifs a une chaine de messages de facon unitaire a travers un reseau de validation decentralise |
GB201611698D0 (en) * | 2016-07-05 | 2016-08-17 | Eitc Holdings Ltd | Blockchain-implemented control method and system |
WO2018020369A1 (en) | 2016-07-29 | 2018-02-01 | nChain Holdings Limited | Blockchain-implemented method and system |
US20190188698A1 (en) * | 2017-12-19 | 2019-06-20 | Tbcasoft, Inc. | Computer apparatus for cross-ledger transfers between distributed ledgers |
US20210083871A1 (en) * | 2018-04-11 | 2021-03-18 | Aleksey Sergeevich Smirnov | Method and device for implementation of safe transactions in blockchain infrastructure |
EP3794766A1 (en) | 2018-05-14 | 2021-03-24 | Nchain Holdings Limited | Computer-implemented systems and methods for using a blockchain to perform an atomic swap |
US10902140B2 (en) * | 2018-06-18 | 2021-01-26 | CBRE, Inc. | Services platform for managing a verifiable permissioned ledger in a distributed database management system |
WO2020010490A1 (zh) * | 2018-07-09 | 2020-01-16 | 彭英均 | 一种无需仲裁解决录入区块链的交易数据真实有效的方法 |
GB2578168A (en) * | 2018-10-19 | 2020-04-22 | Star Hat Solutions Ltd | Computer-implemented method and system for digital signing of transactions |
US11316668B2 (en) | 2018-11-16 | 2022-04-26 | Safetech Bv | Methods and systems for cryptographic private key management for secure multiparty storage and transfer of information |
CN109451036B (zh) * | 2018-12-04 | 2021-07-16 | 北京创世智链信息技术研究院 | 一种区块链安全通信方法、服务节点及系统 |
CN109859042A (zh) * | 2019-01-09 | 2019-06-07 | 广州闪链区块链科技有限公司 | 一种基于区块链的黄金资产赎回方法、装置及存储介质 |
CN110612700B (zh) * | 2019-03-15 | 2021-06-22 | 创新先进技术有限公司 | 基于恢复的公钥进行认证 |
CN110135964A (zh) * | 2019-05-21 | 2019-08-16 | 山东浪潮通软信息科技有限公司 | 一种基于区块链技术的财务记账方法 |
CN110415092A (zh) * | 2019-08-07 | 2019-11-05 | 北京艾摩瑞策科技有限公司 | 互联网租房关联数据的上链方法及其装置 |
CN111464538B (zh) * | 2020-03-31 | 2022-02-01 | 中国联合网络通信集团有限公司 | 资产交易方法和系统、存储介质、资产交易后台 |
CN111464636B (zh) * | 2020-03-31 | 2021-12-07 | 中国联合网络通信集团有限公司 | 资产交易方法和系统、存储介质 |
CN111510309B (zh) * | 2020-04-08 | 2022-05-10 | 深圳大学 | 区块链数据传输方法、装置、设备及计算机可读存储介质 |
AU2021290092A1 (en) * | 2020-06-10 | 2023-02-09 | Elas Holdings PTY LTD | Computer implemented systems and methods |
CN113052576B (zh) * | 2020-11-05 | 2024-02-27 | 北京跨联元焕网络科技有限公司 | 跨链交换的托管方法和系统 |
US20230125542A1 (en) * | 2021-10-22 | 2023-04-27 | Mastercard International Incorporated | Method and system of initiating simultaneous start of block formation |
Family Cites Families (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6170058B1 (en) * | 1997-12-23 | 2001-01-02 | Arcot Systems, Inc. | Method and apparatus for cryptographically camouflaged cryptographic key storage, certification and use |
KR100291838B1 (ko) * | 1999-11-25 | 2001-06-01 | 정회선 | 훈민정음 제자 원리에 기반한 한글 입력 장치 및 방법 |
US6701463B1 (en) * | 2000-09-05 | 2004-03-02 | Motorola, Inc. | Host specific monitor script for networked computer clusters |
US8219801B2 (en) | 2003-03-10 | 2012-07-10 | International Business Machines Corporation | Method of authenticating digitally encoded products without private key sharing |
US7793154B2 (en) * | 2006-11-30 | 2010-09-07 | International Business Machines Corporation | Method and implementation for automating processes using data driven pre-recorded transactions |
US7930554B2 (en) * | 2007-05-31 | 2011-04-19 | Vasco Data Security,Inc. | Remote authentication and transaction signatures |
CA2792787C (en) * | 2010-03-31 | 2017-07-25 | Irdeto Canada Corporation | System and method for protecting cryptographic assets from a white-box attack |
CA2716982C (en) * | 2010-10-06 | 2016-07-19 | Ibm Canada Limited - Ibm Canada Limitee | Digital signatures on composite resource documents |
JP2012213859A (ja) * | 2011-03-31 | 2012-11-08 | Fujitsu Component Ltd | プリンタ、プログラム、およびプリンタシステム |
US9355393B2 (en) * | 2011-08-18 | 2016-05-31 | Visa International Service Association | Multi-directional wallet connector apparatuses, methods and systems |
US9858401B2 (en) * | 2011-08-09 | 2018-01-02 | Biogy, Inc. | Securing transactions against cyberattacks |
US10825001B2 (en) | 2011-08-18 | 2020-11-03 | Visa International Service Association | Multi-directional wallet connector apparatuses, methods and systems |
US9710807B2 (en) * | 2011-08-18 | 2017-07-18 | Visa International Service Association | Third-party value added wallet features and interfaces apparatuses, methods and systems |
US20150220914A1 (en) | 2011-08-18 | 2015-08-06 | Visa International Service Association | Electronic Wallet Management Apparatuses, Methods and Systems |
US20130166455A1 (en) * | 2011-12-23 | 2013-06-27 | Douglas Feigelson | Creating and using digital currency |
US9230130B2 (en) * | 2012-03-22 | 2016-01-05 | Docusign, Inc. | System and method for rules-based control of custody of electronic signature transactions |
US20150379510A1 (en) * | 2012-07-10 | 2015-12-31 | Stanley Benjamin Smith | Method and system to use a block chain infrastructure and Smart Contracts to monetize data transactions involving changes to data included into a data supply chain. |
EP2698756B1 (en) | 2012-08-13 | 2016-01-06 | Nxp B.V. | Local Trusted Service Manager |
US9876775B2 (en) | 2012-11-09 | 2018-01-23 | Ent Technologies, Inc. | Generalized entity network translation (GENT) |
EP2755158A1 (en) * | 2013-01-09 | 2014-07-16 | Thomson Licensing | Method and device for privacy-respecting data processing |
US20160085955A1 (en) * | 2013-06-10 | 2016-03-24 | Doosra, Inc. | Secure Storing and Offline Transferring of Digitally Transferable Assets |
US10200199B2 (en) | 2013-08-05 | 2019-02-05 | Guardtime Holdings Limited | Strengthened entity identity for digital record signature infrastructure |
US20150120569A1 (en) * | 2013-10-31 | 2015-04-30 | Bitgo, Inc. | Virtual currency address security |
FR3018378A1 (fr) * | 2014-03-12 | 2015-09-11 | Enrico Maim | Systeme et procede transactionnels a architecture repartie fondees sur des transactions de transferts d'unites de compte entre adresses |
FR3018370A1 (fr) * | 2014-03-07 | 2015-09-11 | Enrico Maim | Procede et systeme de generation automatique de crypto-monnaies |
WO2015144971A1 (en) * | 2014-03-27 | 2015-10-01 | Nokia Technologies Oy | Method and apparatus for automatic inter-device authorisation |
US9672499B2 (en) * | 2014-04-02 | 2017-06-06 | Modernity Financial Holdings, Ltd. | Data analytic and security mechanism for implementing a hot wallet service |
ZA201502969B (en) * | 2014-05-09 | 2016-01-27 | Univ Stellenbosch | Enabling a user to transact using cryptocurrency |
US11196566B2 (en) | 2014-05-09 | 2021-12-07 | Reginald Middleton | Devices, systems, and methods for facilitating low trust and zero trust value transfers |
US10346814B2 (en) * | 2014-06-04 | 2019-07-09 | MONI Limited | System and method for executing financial transactions |
GB201413284D0 (en) | 2014-07-28 | 2014-09-10 | Pardi Tibor Z And Zovolt Ltd | System to interact with internet of things decices using block-chain based smart contracts and digital currencies |
US9705501B2 (en) * | 2014-10-01 | 2017-07-11 | Maxim Integrated Products, Inc. | Systems and methods for enhancing confidentiality via logic gate encryption |
WO2016054435A1 (en) * | 2014-10-02 | 2016-04-07 | ecoATM, Inc. | Application for device evaluation and other processes associated with device recycling |
US20160162897A1 (en) * | 2014-12-03 | 2016-06-09 | The Filing Cabinet, LLC | System and method for user authentication using crypto-currency transactions as access tokens |
US20160164884A1 (en) * | 2014-12-05 | 2016-06-09 | Skuchain, Inc. | Cryptographic verification of provenance in a supply chain |
CN104463001A (zh) * | 2014-12-19 | 2015-03-25 | 比特卡国际有限公司 | 一种独立生成和保存加密数字货币私钥的方法及承载加密数字货币私钥的装置 |
US9973341B2 (en) * | 2015-01-23 | 2018-05-15 | Daniel Robert Ferrin | Method and apparatus for the limitation of the mining of blocks on a block chain |
RU2673842C1 (ru) | 2015-03-20 | 2018-11-30 | Ривец Корп. | Автоматическая аттестация сохранности устройства с применением цепочки блоков |
CN107683488B (zh) * | 2015-04-05 | 2023-09-05 | 数字资产(瑞士)股份有限公司 | 数字资产中介电子结算平台 |
US10097356B2 (en) * | 2015-07-02 | 2018-10-09 | Nasdaq, Inc. | Systems and methods of secure provenance for distributed transaction databases |
US11488147B2 (en) * | 2015-07-14 | 2022-11-01 | Fmr Llc | Computationally efficient transfer processing and auditing apparatuses, methods and systems |
US11436598B2 (en) * | 2017-12-15 | 2022-09-06 | Fmr Llc | Social data tracking datastructures, apparatuses, methods and systems |
US20180191503A1 (en) * | 2015-07-14 | 2018-07-05 | Fmr Llc | Asynchronous Crypto Asset Transfer and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems |
US20170091756A1 (en) * | 2015-07-14 | 2017-03-30 | Fmr Llc | Point-to-Point Transaction Guidance Apparatuses, Methods and Systems |
US10504179B1 (en) * | 2015-12-08 | 2019-12-10 | Fmr Llc | Social aggregated fractional equity transaction partitioned acquisition apparatuses, methods and systems |
US20170228731A1 (en) | 2016-02-09 | 2017-08-10 | Fmr Llc | Computationally Efficient Transfer Processing and Auditing Apparatuses, Methods and Systems |
CN105160012B (zh) * | 2015-09-23 | 2019-03-26 | 烽火通信科技股份有限公司 | 一种异构数据库的管理方法及系统 |
US20170116693A1 (en) * | 2015-10-27 | 2017-04-27 | Verimatrix, Inc. | Systems and Methods for Decentralizing Commerce and Rights Management for Digital Assets Using a Blockchain Rights Ledger |
CN105681301B (zh) * | 2016-01-16 | 2019-03-12 | 杭州复杂美科技有限公司 | 区块链上的结算方法 |
CN105610578B (zh) * | 2016-01-25 | 2019-05-03 | 杭州复杂美科技有限公司 | 区块链信息存证及隐私保护方法 |
US11130042B2 (en) * | 2016-02-02 | 2021-09-28 | Bao Tran | Smart device |
US9849364B2 (en) * | 2016-02-02 | 2017-12-26 | Bao Tran | Smart device |
US9794074B2 (en) * | 2016-02-04 | 2017-10-17 | Nasdaq Technology Ab | Systems and methods for storing and sharing transactional data using distributed computing systems |
US11354658B2 (en) | 2016-02-11 | 2022-06-07 | Mastercard International Incorporated | Method and system for offline blockchain exchanges |
US11625694B2 (en) * | 2016-02-23 | 2023-04-11 | Nchain Licensing Ag | Blockchain-based exchange with tokenisation |
CA3013182A1 (en) * | 2016-02-23 | 2017-08-31 | nChain Holdings Limited | Universal tokenisation system for blockchain-based cryptocurrencies |
WO2017145019A1 (en) * | 2016-02-23 | 2017-08-31 | nChain Holdings Limited | Registry and automated management method for blockchain-enforced smart contracts |
US10454677B1 (en) | 2016-02-24 | 2019-10-22 | United Services Automobile Associate (USAA) | Cryptographic key generation from biometric data |
US9940480B2 (en) * | 2016-02-25 | 2018-04-10 | Red Hat, Inc. | Securing delegated remote management with digital signature |
EP3862947A1 (en) * | 2016-03-03 | 2021-08-11 | NEC Laboratories Europe GmbH | Method for managing data in a network of nodes |
AU2016402395A1 (en) * | 2016-04-12 | 2018-08-23 | Sensoriant, Inc. | Method and system for safeguarding stored data |
US20170302663A1 (en) * | 2016-04-14 | 2017-10-19 | Cisco Technology, Inc. | BLOCK CHAIN BASED IoT DEVICE IDENTITY VERIFICATION AND ANOMALY DETECTION |
US10521775B2 (en) * | 2016-04-18 | 2019-12-31 | R3 Ltd. | Secure processing of electronic transactions by a decentralized, distributed ledger system |
US20190149337A1 (en) * | 2016-04-29 | 2019-05-16 | nChain Holdings Limited | Implementing logic gate functionality using a blockchain |
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 |
US10532268B2 (en) | 2016-05-02 | 2020-01-14 | Bao Tran | Smart device |
US10046228B2 (en) | 2016-05-02 | 2018-08-14 | Bao Tran | Smart device |
US11397944B2 (en) * | 2016-05-11 | 2022-07-26 | Nasdaq, Inc. | Application framework using blockchain-based asset ownership |
EP3478174A1 (en) * | 2016-07-01 | 2019-05-08 | L.I.F.E. Corporation S.A. | Biometric identification by garments having a plurality of sensors |
GB201611698D0 (en) * | 2016-07-05 | 2016-08-17 | Eitc Holdings Ltd | Blockchain-implemented control method and system |
WO2018020369A1 (en) | 2016-07-29 | 2018-02-01 | nChain Holdings Limited | Blockchain-implemented method and system |
US20200204338A1 (en) * | 2018-12-20 | 2020-06-25 | Ripple Labs Inc. | Securing public key cryptographic algorithms |
US11196759B2 (en) * | 2019-06-26 | 2021-12-07 | Microsoft Technology Licensing, Llc | SIEM system and methods for exfiltrating event data |
US20230298001A1 (en) * | 2022-03-21 | 2023-09-21 | Paypal, Inc. | Non-fungible token (nft) purchase and transfer system |
-
2017
- 2017-07-21 WO PCT/IB2017/054422 patent/WO2018020369A1/en unknown
- 2017-07-21 SG SG10202107635QA patent/SG10202107635QA/en unknown
- 2017-07-21 CN CN201780042626.0A patent/CN109478223B/zh active Active
- 2017-07-21 CN CN202311006433.3A patent/CN116911836A/zh active Pending
- 2017-07-21 US US16/320,080 patent/US11271736B2/en active Active
- 2017-07-21 WO PCT/IB2017/054423 patent/WO2018020370A1/en unknown
- 2017-07-21 EP EP23164293.5A patent/EP4220515A1/en active Pending
- 2017-07-21 SG SG11201811071VA patent/SG11201811071VA/en unknown
- 2017-07-21 EP EP17746201.7A patent/EP3491600B1/en active Active
- 2017-07-21 EP EP17745876.7A patent/EP3491598B1/en active Active
- 2017-07-21 US US16/320,083 patent/US11563574B2/en active Active
- 2017-07-21 SG SG10202107632SA patent/SG10202107632SA/en unknown
- 2017-07-21 KR KR1020197004247A patent/KR102467596B1/ko active IP Right Grant
- 2017-07-21 WO PCT/IB2017/054424 patent/WO2018020371A1/en unknown
- 2017-07-21 CN CN202311460277.8A patent/CN117391682A/zh active Pending
- 2017-07-21 KR KR1020197004243A patent/KR102464299B1/ko active IP Right Grant
- 2017-07-21 KR KR1020197005310A patent/KR102472231B1/ko active IP Right Grant
- 2017-07-21 EP EP17746200.9A patent/EP3491599A1/en active Pending
- 2017-07-21 EP EP23164207.5A patent/EP4235550A1/en active Pending
- 2017-07-21 JP JP2019502214A patent/JP7203009B2/ja active Active
- 2017-07-21 SG SG11201811009VA patent/SG11201811009VA/en unknown
- 2017-07-21 SG SG11201811010UA patent/SG11201811010UA/en unknown
- 2017-07-21 JP JP2019502206A patent/JP6997755B2/ja active Active
- 2017-07-21 JP JP2019502213A patent/JP6990690B2/ja active Active
- 2017-07-21 CN CN201780042614.8A patent/CN109478279B/zh active Active
- 2017-07-21 US US16/320,081 patent/US20230155846A1/en active Pending
- 2017-07-21 CN CN201780042636.4A patent/CN109478280B/zh active Active
- 2017-07-21 CN CN202310949806.4A patent/CN116911835A/zh active Pending
- 2017-07-21 SG SG10202107636WA patent/SG10202107636WA/en unknown
-
2019
- 2019-01-24 ZA ZA2019/00509A patent/ZA201900509B/en unknown
- 2019-01-24 ZA ZA2019/00512A patent/ZA201900512B/en unknown
-
2021
- 2021-12-06 JP JP2021197655A patent/JP7295927B2/ja active Active
- 2021-12-17 JP JP2021205159A patent/JP7304398B2/ja active Active
-
2022
- 2022-03-04 US US17/687,438 patent/US11838415B2/en active Active
- 2022-12-26 JP JP2022207828A patent/JP7454035B2/ja active Active
-
2023
- 2023-01-19 US US18/099,145 patent/US20230231711A1/en active Pending
- 2023-06-09 JP JP2023095303A patent/JP2023113899A/ja active Pending
- 2023-06-26 JP JP2023103906A patent/JP2023123673A/ja active Pending
- 2023-10-16 US US18/380,644 patent/US20240113877A1/en active Pending
-
2024
- 2024-03-08 JP JP2024035453A patent/JP2024063229A/ja active Pending
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7304398B2 (ja) | ブロックチェーンにより実装される方法及びシステム | |
CN107026729B (zh) | 用于传输软件的方法和装置 | |
Song et al. | A trusted authentication model for remote users under cloud architecture | |
Wang et al. | A Token-based Network Communication Library (TBNCL) in a private cloud storage system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230626 |