JP7344350B2 - 外部プロセス又はシステムを制御するブロックチェーンを実装した制御方法及びシステム - Google Patents

外部プロセス又はシステムを制御するブロックチェーンを実装した制御方法及びシステム Download PDF

Info

Publication number
JP7344350B2
JP7344350B2 JP2022101488A JP2022101488A JP7344350B2 JP 7344350 B2 JP7344350 B2 JP 7344350B2 JP 2022101488 A JP2022101488 A JP 2022101488A JP 2022101488 A JP2022101488 A JP 2022101488A JP 7344350 B2 JP7344350 B2 JP 7344350B2
Authority
JP
Japan
Prior art keywords
transaction
blockchain
input
controller
pubkey
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.)
Active
Application number
JP2022101488A
Other languages
English (en)
Other versions
JP2022126806A (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 JP2022126806A publication Critical patent/JP2022126806A/ja
Priority to JP2023142211A priority Critical patent/JP2023162388A/ja
Application granted granted Critical
Publication of JP7344350B2 publication Critical patent/JP7344350B2/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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • 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
    • 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/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/305Authentication, i.e. establishing the identity or authorisation of security principals by remotely controlling device operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • 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
    • 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
    • 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
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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/3247Cryptographic 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
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2147Locking files
    • 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

Description

この発明は、一般に分散型台帳技術(distributed ledger technology)(ブロックチェーン関連技術(blockchain related technologies)を含む)に関連し、具体的には、タスク又はプロセスの実行、制御及び/又は自動化におけるブロックチェーンの使用に関連する。ロジックの一部の実行を記録する又は表現するブロックチェーン又は関連技術の使用にも関連し得る。ロジックのこの部分は、AND、XOR、NOT、ORなどの1つのロジックゲート又は複数のロジックゲートの機能を実装するように構成されても良い。
この文脈において現在最も広く知られているので、便宜上及び参照の容易のために用語「ブロックチェーン(blockchain)」を本明細書で使用することに留意することは重要である。しかしながら、この用語は、本明細書(請求項を含む)において、ブロックチェーン、トランザクションチェーン技術、許可及び不許可の台帳(permissioned and un-permissioned ledgers)、共用台帳(shared ledgers)及びこれらの変形に限定されず含まれる、あらゆる形態の電子、コンピュータベースの分散型台帳を含むように使用される。
ブロックチェーンは、電子台帳であり、トランザクションを順番に構成するブロックを構成するコンピュータベースの非中央集権化された分散システムとして実装される。各トランザクションは、少なくとも1つのインプットと少なくとも1つのアウトプットを含む。ブロックは、共にチェーンを構成し、その開始のときからブロックチェーンに書き込まれてきたすべてのトランザクションの永続的で、不変の記録を作成するように、各ブロックは、前のブロックのハッシュを含む。トランザクションは、それらのインプット及びアウトプットに組込まれたスクリプトとして知られる小さいプログラムを含み、それは、トランザクションのアウトプットにいかに及び誰によってアクセスできるかを指定する。ビットコインのプラットフォーム上で、これらのスクリプトは、スタックベースのスクリプト言語を使って書かれている。
トランザクションがブロックチェーンに書き込まれるためには、「認証され(validated)」されなければならない。ネットワークノード(マイナー)は、無効なトランザクション(invalid transactions)がネットワークから拒否された状態で、各トランザクションが有効(valid)であることを保証するために、ワーク(work)を実行する。ノードにインストールされたソフトウェアクライアントは、ロッキングスクリプト(locking scripts)及びアンロッキングスクリプト(unlocking scripts)を実行することによって未使用トランザクション(UTXO:unspent transaction)上でこの認証ワークを実行する。ロッキングスクリプト及びアンロッキングスクリプトの実行が、真(TRUE)と評価された場合、トランザクションは有効であり、トランザクションがブロックチェーンに書き込まれる。
他のブロックチェーン実装も提案され、開発されてきたが、ブロックチェーン技術で最も広く知られているアプリケーションはビットコイン台帳である。便宜及び説明の目的で、本明細書では、ビットコインが参照されるが、本発明は、ビットコインブロックチェーンでの使用に制限されず、代替のブロックチェーン実装も本発明の範囲に含まれることに留意すべきである。
ブロックチェーン技術は、暗号通貨実装での使用に対して最も広く知られている。しかしながら、最近では、デジタル起業家が、新しいシステムを実装するために、ビットコインに基づく暗号通貨セキュリティシステム及びブロックチェーンに記録できるデータの両方の使用を調査し始めている。暗号通貨の領域に限定されず、自動化制御プロセスなどのタスク及びプロセスに対して、ブロックチェーンが使用できるならば、とても有利であるだろう。そのようなソリューションは、ブロックチェーンの利益を活かすことができるだろうし(例えば、永続的な、イベントの改ざん防止記録、分散処理など)、一方、これらのアプリケーションにおいてより多目的である。
そのような改良されたソリューションが現在考案されてきている。それ故、本発明にしたがう添付請求項で規定されるシステム及び方法が提供される。
したがって、本発明にしたがうと、ロジックの一部を実行するコンピュータ実装方法が提供され得る。加えて、又は代わりに、本発明は、制御方法として説明されても良い。それは、ハードウェアリソース及び/又はソフトウェアリソースの動作を制御することができる。コンピュータ実装プロセスの実行を制御することができる。加えて、又は代わりに、方法は、ロジックの一部の実行、又は実行の結果を記録し又は表現するためにブロックチェーンを使用することに関する技術的なメカニズムを提供することができる。
方法は、以下のステップを含んでも良い:
以下を含むブロックチェーントランザクションを生成するステップと:
値を含む、少なくとも1つの署名されたインプットと、
少なくとも1つの修正可能なアウトプットと、
署名されたインプットから値を抽出し、結果を取得するためにその値をロジックの一部に提供するステップと、
トランザクションのアウトプットを修正するために結果を使用するステップ。
トランザクションが結果を表現するようにアウトプットを修正するように、結果を使用することができる。トランザクションは、ロジックの一部の実行の記録(record)を提供することができる。この記録は、ブロックチェーンに記憶しても良い。それは、実行の結果の記録を提供しても良い。実行に関連するパラメータを含む記録を提供しても良い。
用語「ブロックチェーン(blockchain)」は、ブロックチェーン及びトランザクションチェーン、アルト・チェーン、許可及び不許可台帳、共用台帳及びそれぞれの様々な変更例を含む、電子的な、コンピュータベースの分散型台帳のすべての形態を含むことを意図する。
ロジックの一部(portion of logic)は、コンピュータ実装プロセスでも良い。指定したタスクを実行するように構成されても良い。
ロジックの一部は、トランザクションとブロックチェーンの一方又は両方の外部にあり得る。その上、コントローラ(すなわち、トランザクションの所有者及びインプットが署名された後でトランザクションのアウトプットを更新できる唯一のエンティティ)は、トランザクションとブロックチェーンのうちの1つ又は両方の外にあっても良い。外部コントローラは、結果を取得するためにロジックの一部を抽出された値に適用し、結果に基づいてトランザクションのアウトプットを修正するためにトランザクションと通信することができる。ロジックの一部は、トランザクションとブロックチェーンのうちの1つ又は両方の外部にあるシステムを表現することができ、方法は、トランザクションの修正されたアウトプットに基づいたシステムの状態を修正することをさらに含む。このように、本発明は、その結果、ブロックチェーンの機能性及びセキュリティを外部システムに拡張することによって、外部(「ブロック外(off-block)」)ロジックシステムを実装し、又はその状態を少なくとも記録するブロックチェーンシステムの固有のセキュリティを活用することを予見することができる。
外部システム(external system)は、ブロックチェーンの外部にある任意のシステムであり得、その機能は、例えば、数学的な関数、アルゴリズム、又は1つ又は複数のロジックゲートの機能のようなロジックの一部に要約することができる。そのようなシステムは、一般に1つ以上のインプットを持ち、1つ以上のアウトプットを生成するためにインプット上で1つ以上の動作を実行する。
本発明の実施形態は、そのようなシステムのコントローラがシステムの制御の中にとどまり、システムは、他のエンティティからの攻撃(例えば、ハッキング)に対してロバストである。ブロックチェーンの視点から、本発明の少なくともある実施形態によって解決される技術的な問題は、外部の「ブロック外(off-block)」システムを制御するためにブロックチェーンシステムの固有のセキュリティをいかに活用するかである。外部システムの視点からは、本発明の少なくともある実施形態によって解決される技術的な問題は、第三者からのハッキング攻撃に対してロバストになるように外部システムのセキュリティをいかに向上させるかである。
本発明に適用できる外部システムの例が、本明細書で説明され、それは、トレーディングプラットフォーム、電子錠、乗り物制御システム、センサ、照明システム、暖房/冷房システム、警報システム、及び工業生産システムを含む。しかしながら、これらは非包括的なリストを表現し、本発明の実施形態は、原理上、ブロックチェーンシステムの機能性の任意の外部システムへの導入に適用でき、この外部システムは、1つ以上のインプット、インプット上の1つ以上の動作、及び1つ以上のアウトプットによって表現できる点に留意することは重要である。
ロジックの一部は、1つ又は複数のロジックゲートの機能を実行するように構成することができる。ロジックゲートは、AND、NOT、OR、NOR、XOR、IMPLY、NAND、NONIMPLY又はXNORゲートでも良い。
方法は、トランザクションをブロックチェーンに提出する(submitting)ステップをさらに含む。署名されたインプットは、アンロッキングスクリプトを使用してトランザクションに提供しても良い。少なくとも1つのインプットは、インプットを修正不可能な状態にする(render)署名ハッシュ(シグネチャハッシュ:signature hash)タイプを使用して署名されても良い。署名ハッシュタイプは、SIGHASH_NONEでも良い。
トランザクションは、少なくとも1つの署名されていないインプットをさらに含んでも良い。方法は、トランザクションをブロックチェーンに提出するステップをさらに含んでも良い。アウトプットが修正された後に、署名されていないインプットに署名するステップを含んでも良い。署名されていないインプットは、トランザクション全体の修正を防ぐ署名ハッシュタイプを使用して署名されても良い。署名ハッシュタイプは、SIGHASH_ALLでも良い。
値(value)は、署名されたインプットに関連する公開鍵の中に組み込まれても良い。加えて又は代えて、値をロジックの一部に提供するように、値は公開鍵から抽出されても良い。
方法は、プロトコルを確立する及び/又は選択するステップと公開鍵の中に値を組み込むためにプロトコルを使用するステップをさらに含む。公開鍵は、中間ブロックチェーントランザクション(intermediate blockchain Transaction)においてロッキングスクリプト(locking script)を作成するために使用されても良い。
方法は、中間トランザクションをブロックチェーンに提出するステップをさらに含む。
値(value)は、新しい公開鍵P’を生成することによって公開鍵中に組み込まれ:
Figure 0007344350000001
ここで:
Pは、ベース又は初期の公開鍵、
Gは、secp256k1などの楕円曲線関数、
xは、スカラによる楕円曲線乗算を表示し、
Figure 0007344350000002
は、楕円曲線加算を表示する。
方法は、新しい公開鍵に対応する新しい秘密鍵を生成するステップをさらに含み、ここで:
新しい秘密鍵V’=V+HASH(value+S)
公開鍵に組込まれた値は、指定された範囲の値から選択されても良い。
本発明は、対応するシステムも提供する。システムは、上述の方法の任意の実施形態を実装するように構成されても良い。
本発明は、コンピュータ実装システムを提供し、
先行する請求項のいずれかのスッテプを実行するように構成された少なくとも1つのコンピュータベースリソースと、
ブロックチェーン又は他のタイプの電子台帳を含む。これは、分散型台帳でも良い。
本発明の1態様又は1実施形態と関連して説明される任意の特徴は、1つ以上の態様/実施形態と共に効果をもたらすように使用しても良い。
本発明のこれらの及び他の態様は、本明細書で説明する実施形態を参照して明白になり、明らかになる。本発明の実施形態は、以下の添付図面を参照して例示の目的でこれから説明される。
例となるトランザクション及び、SIGHASH_ALL及びSIGHASH_NONEでハッシュされる部分を示す。 いかに機能コントローラ(function Controller)が、各インプットソースとPubKeyプロトコルを確立するかを示す。 インプットソースは、自身のプロトコル(PubKeyプロトコル)にしたがって、値が組込まれた公開鍵(PubKey)を通信し、計算するシナリオを説明する。 インプットソースが、値が組込まれたPubKeyを使用して、中間トランザクションのアウトプットの1つで使用されるロッキングスクリプトを作成するシナリオを説明する。 トランザクションが作成され、コントローラからの署名されていないインプットと各インプットが加えられるシナリオを説明する。 署名タイプSIGHASH_NONEを持つトランザクションに対するそれらのそれぞれのインプットに、すべてのインプットソースが署名するシナリオを説明する。 コントローラがトランザクションにある各インプットソースのアンロッキングスクリプトから値が組込まれたPubKeyを取り、関連するPubKeyプロトコルに基づいて組込まれた値を抽出するシナリオを説明する。 コントローラは、関数を抽出した値に適用し、その結果に基づいてトランザクションのアウトプットを修正するシナリオを説明する。 コントローラは、SIGHASH_ALLを使用してそのインプットに署名し、トランザクションをブロックチェーンに提出するシナリオを説明する。 以下で提供されるユースケースの例1にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例1にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例1にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例1にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例1にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例1にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例1にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例2にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例2にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例2にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例2にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例2にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例2にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例3にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例3にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例3にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例3にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例3にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例3にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例4にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例4にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例4にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例4にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例4にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例4にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例5にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例5にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例5にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例5にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例5にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例5にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例6にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例6にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例6にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例6にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例6にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例7にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例7にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例7にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例7にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例7にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例7にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例8にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例8にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例8にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例8にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例8にしたがって使用されるブロックチェーントランザクションを示す。 以下で提供されるユースケースの例8にしたがって使用されるブロックチェーントランザクションを示す。
これから本発明の例となる実施形態を提供する。この実施形態は、以下に関連する技法を含む:
・共有秘密(鍵)(shared secret)の確立と新しい暗号鍵の生成におけるその使用
・楕円曲線公開鍵における値を安全に組み込むための機構
・特定の署名の組み合わせを使用するインプットを条件とするアウトプットにおけるブロックチェーン関連スキーム又はソリューション
・外部で評価される関数(すなわち、ブロックチェーンの外にある)を構築するための新しい機構を提供するこれらの技法の組み合わせ
本発明は、機能(function)を実装するためにブロックチェーンを使用することに関する新規で有利な解決策を提供する。ブロックチェーンが、機能の実行及び/又はその結果の実績の記録を提供するために使用される。機能は、インプットの組に適用され、アウトプットの組を返すサブルーチン又はプロシージャ(すなわち、プロセス又はロジックの一部)であり得る。好ましい実施形態では、機能は、「ブロック外(off-block)」で実行され、つまり、その実行は、ブロックチェーン依存ではない。機能は、コンピュータベースリソースによって実行される。
ブロックチェーン(すなわち、ビットコイン)トランザクションは、(例えば、ビットコイン)の値の転送であり、それは典型的には、新しいトランザクションインプットとしての前のトランザクションアウトプットへの参照と、すべてのインプット値の新しいアウトプットへの割当である。トランザクションは、暗号化されていないので、これまでにブロックに収集されたすべてのトランザクションをブラウズすること又は見ることができる。機能として作動するブロックチェーントランザクションを構成できることは、非常に有利であり得るが、トランザクションアウトプットは、トランザクションのインプットに組込まれた情報を条件とする又は依存する。
本発明の重要な態様は、機能を表現するブロックチェーントランザクションを作成する方法を含み(しかしそれに制限されることなく):
・機能インプットは、トランザクションのインプットのアンロッキングスクリプト内で使用される公開鍵によって表現され
・機能アウトプットは、トランザクションのアウトプットが送られるアドレスによって表現され
・機能プロシージャは、ブロックチェーントランザクションの外で評価され
・機能インプットは、機能ロジックを適用し、且つ機能アウトプットを更新する前に、ロックすることができる。
それ故、本発明は、以下のことを含む:
・秘密の値を配布する技法
メッセージが秘密鍵/公開鍵に組み込まれるように、さらに、共有秘密が非安全なネットワークに渡って確立できるように、楕円曲線計算を用いる方法を使用して達成される。
・値を楕円曲線公開鍵/秘密鍵に安全に組み込む技法
本発明は、値が楕円曲線秘密鍵/公開暗号鍵に安全に組み込まれることを可能にする秘密値配布(Secret Value Distribution)技法を含む。線形時間(linear time)において受信した当事者によって値は、抽出することができるが、しかしながら、組込まれた方法を確立するために通信されるパラメータは、たとえ漏れたとしても、攻撃者にとっては、扱いにくいもののままである。
・インプットを条件とするビットコイントランザクションアウトプット
・新しく独創性のある方法は、最初に1つ以外のすべてのトランザクションのインプットにSIGHASH_NONEで署名し(インプットにおいてロックする)、次に、残りのインプットにSIGHASH_ALLで署名する(インプット及びアウトプットにおいてロックする)。このフローは、アウトプットに対して、入力を条件とすることを許す。
本発明は、以下で提供されるユースケースの例を通して説明され、ブロックチェーン(例えば、ビットコイン)トランザクションは、ロジックゲートによって提供される機能性を表現するために使用することができる。
発明は、暗号化(公開/秘密)鍵へのメッセージの組み込みの技法、また、共有秘密を確立するための技法を利用する。これらは、以下で説明される。
メッセージの組み込み
以下を仮定する:
・秘密鍵V(整数)
・公開鍵P(楕円曲線点)
・EC生成元G(楕円曲線関数)
・メッセージM(整数として表現することができる値)
EC計算は、以下の通り知られている:
P=VxG スカラによる楕円曲線乗算
メッセージMが組み込まれた場合:
V’=V+M 整数加算
P’=P+MxG 楕円曲線点加算
V’とP’は、メッセージMが組込まれた秘密鍵/公開鍵
共有秘密
以下を仮定する:
・秘密鍵Vと公開鍵Pを持つ当事者A
・秘密鍵Vと公開鍵Pを持つ当事者B
・EC生成元G(楕円曲線関数)
EC計算では、以下は既知である:
=VxG
=VxG
両方の当事者が彼らの公開鍵を公開した場合、共有秘密は、安全に確立することができる:
当事者A 共有秘密=VxP=Vx(VxG)
当事者B 共有秘密=VxP=Vx(VxG)
EC計算は交換可能(commutative)であるので、共有秘密は、両方の当事者に対して、等価である。
楕円曲線公開鍵/秘密鍵における安全な値の組み込み
EC公開鍵/秘密鍵にメッセージ(値)を組み込むことは可能である。2人の当事者間の安全な通信のための方法としてこのコンセプトを適用するためには、以下のパラメータが必要となる:
Figure 0007344350000003
値を組み込む方法
送る当事者は、以下のような安全な式Mを使用して値を組み込むことができる:
V’=V+HASH(value(値)+S) 値を組み込んだ秘密鍵
Figure 0007344350000004
ここで:
Pは、ベース又は初期の公開鍵
Gは、secp256k1などの楕円曲線関数
xは、スカラによる楕円曲線乗算を表示し、
Figure 0007344350000005
は、楕円曲線加算を表示する。
この方法のセキュリティは、以下の点を包含し、具体化する:
・値が組込まれた公開鍵は、一方向であり逆にするのが困難なEC計算を使用する。
・ハッシュ関数は、一方向であり、逆が難しい。
・共有秘密Sは、ハッシュソルト(hash salt)である。これは、たとえすべての他のパラメータの情報が漏れても、攻撃者は、組込まれた値を解くための可能性がある値を通して単純に反復することができないことを意味する。Sは、秘密鍵が漏れない限り、安全が保証される。
値の抽出方法
公開鍵に組込まれた値の受信者は、線形時間で、値を抽出できる。これは、一致が見つかるまで各可能性がある値に対して値が組込まれた公開鍵を計算することによって行われる。
これは、以下によって達成することができる:
For each v in range v_0 to v_n //この特定のスクリプトにおいて、v_0,v_1,…,v_nは、組ではなく範囲である。
v’=M(v,P,S,G) //Mはvを組み込むためにEC計算を使用する式である。
If v’ equals P’
Exit loop //vは、組込まれた値である。
インプットを条件とするブロックチェーントランザクションアウトプット
この節では、アウトプットがインプットを条件とするブロックチェーントランザクションを構築する方法を示す。これは、パブリックドメインで入手可能な、署名タイプSIGHASH_ALL及びSIGHASH_NONEを使用することに関する知識に基づいている。
https://bitcoin.org/en/developer-guide#signature-hash-types
署名タイプ(Signature Types)
ビットコイン署名は、トランザクションの選択された部分のハッシュである。選択される部分は、署名ハッシュタイプによって決定される。いかなる修正も、異なる署名を生み出し、故に改ざんを示すので、署名は、ハッシュされた部分を保護する。図1は、例となるトランザクションとSIGHASH_ALL及びSIGHASH_NONEでハッシュされた部分を示す。インプットに署名したとき、すべての他のインプットのscriptSigLen及びscriptSigは、空のスクリプト(empty scripts)によって置き換えられる点に留意されたい。
トランザクション構築方法
1.ブロックチェーントランザクションは、作成され、インプットはすべてのエンティティによって加算される。
2.所有者とは別のすべてのエンティティは、SIGHASH_NONEでそれらのインプットに署名する(これはインプットでロックするので、インプットは修正できない)。
3.所有者は、アウトプットを決定し、トランザクションを更新する。
4.所有者は、SIGHASH_ALLでそのインプットに署名し、トランザクションが、ここで完成する(これはインプット及びアウトプットの両方でロックする)。
ブロックチェーントランザクションとして外部で評価された関数を実装する
本発明は、すでに説明したコンセプト/方法のすべてを組み合わせることができる。
重要な態様は、以下を含む:
・関数に対するインプット値は、トランザクションインプットとして通信される公開鍵に組み込むことができる。
・関数の所有者(すなわち、関数を実行する責任を持つリソース)は、関数を実装するためのブロックチェーン上で公開される前にトランザクションに質問する(interrogate)ことができる。
・関数の所有者は、関数のアウトプットを表現することを完了する前にトランザクションのアウトプットアドレスを単独で修正することができる。
重要語
明確にするために、以下の用語は、本発明の実装とユースケースを定義するためにいたるところで使用される。
Figure 0007344350000006
実装
1.コントローラは、図2aに示されるように、各インプットソースとPubKeyプロトコルを確立する。
2.インプットソースは、図2bに示されるように、通信し、そのPubKeyプロトコルにしたがって値が組込まれたPubKeyを計算するための値を持つ。
3.インプットソースは、値が組込まれたPubKeyを使用して、中間トランザクション(インプットソースによって作成される)のアウトプットの1つで使用されるロッキングスクリプトを作成する。中間ドランザクションは、ブロックチェーンに提出されるが、ロッキングスクリプトがP2PKH又はP2SHのいずれであるかは重要ではない。これは、図2cに示される。
4.トランザクションが作成され、コントローラからの署名されていないインプット及び各インプットソースが加えられる、図2d参照。
a.各インプットソースによるインプットは、それらの中間トランザクション、特に値が組込まれたPubKeyを持つアウトプットを参照する。
a.ステップ4の前にすべてのインプットがこのトランザクションに加えられる限り、トランザクション又は中間トランザクションが最初に作成さたか否かは重要ではない(すなわち、ステップ2-3の順序)。
b.関与するすべての当事者がそれを修正できる限り、誰がトランザクションを作成するかは重要ではない。
5.すべてのインプットソースは、署名ハッシュタイプSIGHASH_NONEによってトランザクションに対してそれらのインプットに署名する。
a.これは、インプットにおいてロックするが、アウトプットを自由に修正できる状態にしておく。
b.すべてのインプットが加算されたとき、いかに各インプットソースが通知され/チェックされるかは重要ではい。
6.コントローラは、トランザクションにおける各インプットソースのアンロッキングスクリプトから値が組込まれたPubKeyを取り、関連するPubKeyプロトコルに基づいて組込まれた値を抽出する;図2f参照。
a.値の抽出は、ビットコイントランザクションの外部で行われる。
b.インプットソースによってすべてのインプットが署名されたとき、コントローラがどのように通知され/チェックされるかは重要ではない。
7.コントローラは、関数を抽出された値に適用し、その結果に基づいてトランザクションのアウトプットを修正する;図2g参照。
a.関数は、ビットコイントランザクションの外部で適用される。
8.コントローラは、SIGHASH_ALLを使用してそのインプットに署名し、トランザクションをブロックチェーンに提出する;図2h参照。
ユースケース1: XORロジックゲート
これから説明の便宜のために、例となるユースケースを示す。これは、2つのインプットソースを持つXORロジックゲートを表現する(ビットコイン)トランザクションを使用して本発明を実装する。以下のシナリオを検討する。
アリスは、独学のトレーダーであり、会社XYZのストックオプションのトレーディングによって余分なお金を稼ぐ機会を伺っている。アリスは、ビットコインによる支払いを受け入れる特定のオンライン株式取引所で口座を開設する。アリスは、簡単なトレーディングボット(Trading Bot)、株価ボット(Share Prices Bot)及び市場指標値ボット(Market Index Value Bot)を開発した(各「ボット(bot)」は、自動化されたタスク又はプロセスを実行するように構成されたコンピュータベースのリソースである)。
株価ボット及び市場指標値ボットは、以下のように構成される:
・両ボットは、株式市場のオープニング値の範囲を記録する。
・ボットのうちの1つが、その日の間に値が別の範囲に変化したのを見た場合、両ボットはトレーディングボットと通信する。
・株価ボットは、以下のデータを収集する:
・株XYZの値段-{P1,P2,…,P10}*
・市場指標値ボットは、以下のデータを収集する:
・市場指標値-{M1,M2,…,M5}*
*は、昇順で値の範囲を表現する。P1<P2<…<P10
トレーディングボットは、受信した市場データに基づいてコールオプション及びプットプションを購入する:
Figure 0007344350000007
株価ボットと市場指標値ボットは、市場データを送るのみで、戦略を知らない点に留意することは重要である。
既存の設定
・アリスは、トレーディングボットに5BTCを持つ秘密鍵/公開鍵のペアAを与えた
・アリスは、株価ボットに1BTCを持つ秘密鍵/公開鍵のペアXを与えた
・アリスは、市場指標値ボットに1BTCを持つ秘密鍵/公開鍵のペアYを与えた
・交換(exchange)は、それぞれ公開鍵E_PUTとE_CALLでプットオプションとコールオプションに対して支払う
ステップ:
1.アリスは、初めてすべての3つのボットを走らせる:
a.トレーディングボットは、以下のパラメータを持つ株価ボットとPubKeyプロトコルを確立する:
Figure 0007344350000008
b.トレーディングボットは、以下のパラメータを持つ市場指標値ボットとPubKeyプロトコルを確立する:
Figure 0007344350000009
2.株価ボットと市場指標値ボットは、それぞれP5とM3としての株価市場のオープニング値の範囲を記録する。
3.市場指標値ボットは、M2に対する変更を検出する。両ボットは、トレーディングボットに送るために値が組込まれたPubKeyを計算する。
a.株価ボット:
Figure 0007344350000010
b.市場指標値ボット:
Figure 0007344350000011
4.両ボットは、それらの値が組込まれたPubKeyを持つP2PKHアンロッキングスクリプトを必要とするアウトプットを持つ中間トランザクションを作成し、ブロックチェーンに提出する;
株価ボットの中間トランザクションに関して図3を参照。アウトプット1は、値が組込まれたPubKey X’を持つアンロッキングスクリプトを必要とし、アウトプット2は、株価ボットに戻されるおつりである点に留意する。
市場指標値ボットの中間トランザクションに関して図4を参照して;アウトプット1は、値が組込まれたPubKey Y’を持つアンロッキングスクリプトを必要とし、アウトプット2は、株価ボットに戻されるおつりである。
5.両方のボットは、トレーディングボットに、それらのそれぞれの値が組込まれたPubKeyを包含する署名されていないトランザクションインプットを送る
株価ボットの入力に関しては図5a参照
市場指標値ボットの入力に関しては図5b参照
6.図6を参照して:トレーディングボットは、株価ボット及び市場指標値ボットから受信したトランザクションインプットを含むXORゲートを表現するトランザクションを作成する
7.図7を参照して:トレーディングボットは、株価ボット及び市場指標値ボットにトランザクションのストレージ/アクセス詳細を知らせ、それらにそれらのインプットに署名するようにリクエストする。
a.両方のボットは、インプットにおいてロックするSIGHASH_NONEで署名する。
8.トレーディングボットは、アンロッキングスクリプトから<PubKey X’>を取り、P5を持つPubKeyとの一致を見つけるまで、P1、P2、…、P10に対して値が組込まれたPubKeyを計算する
9.トレーディングボットは、アンロッキングスクリプトから<PubKey Y’>を取り、M2を持つPubKeyとの一致を見つけるまで、M1、M2、…、M5に対して値が組込まれたPubKeyを計算する
10.トレーディングボットは、XORロジックゲートを値に適用し、コールオプションを買うべきであると決定する
a.P5∈{P7,P8,P9,P10} XOR M2∈{M1,M2}
b.偽 XOR 真
c.真-コールオプションを買う
11.図8を参照して:トレーディングボットは、アウトプットを更新して、5BTCをE_PUTに送り、SIGHASH_ALLでそのアウトプットに署名し、ブロックチェーンに提示する
ユースケースの例2:ANDロジックゲート
2つのインプットソースを持つANDロジックゲートを表現するビットコイントランザクションを実装する。二重制御(二重保管)電子ダイヤル錠(electronic combination lock)で値を包含する銀行を仮定する。一人の人に両方の組み合わせが与えられることはなく、二人の銀行のマネージャーの同時の存在がドアを開けるために必要とされる。両方の組み合わせが、同時に正しく入力された場合(「1111」及び「2222」)、金庫室の扉はロック解除され、そうでない場合は金庫室(vault)のアラームが作動する。これは、ANDゲートの実装である。
全体のシステムは4つのエンティティから構成される:ダイヤル錠A、ダイヤル錠B、コントローラ、及び金庫室。
コントローラにおけるANDロジック: 組み合わせA==「1111」 AND 組み合わせB==「2222」
Figure 0007344350000012
すべてのロジック評価は、コントローラによって実行される点に留意されたい。ダイヤル錠は、単に4桁のコードを送り、そのコードが真又は偽かは評価しない。
既存のステップ
・ダイヤル式ロックAは、1BTCを持つ秘密鍵/公開鍵のペアAを所有する
・ダイヤル式ロックBは、1BTCを持つ秘密鍵/公開鍵のペアBを所有する
・コントローラは、1BTCを持つ秘密鍵/公開鍵のペアCを所有する
・金庫は、秘密鍵/公開鍵のペアV_DOOR及びV_ALARMを所有する
ステップ:
1.システムが最初にインストールされたとき、コントローラは、信号の安全な通信を可能にするためにダイヤル錠A及びダイヤル錠Bを持つPubKeyプロトコルを確立する:
a.コントローラ及びダイヤル錠AのPubKeyプロトコルパラメータ:
Figure 0007344350000013
Figure 0007344350000014
2.銀行のマネージャーは、同時にそれらの各々の4桁のコード(1111及び2222)をダイヤル錠A及びダイヤル錠Bに入力する。各ダイヤル錠は、それらの4桁のコードを、値を組み込んだPubKey(PubKey A’及びPubKey B’)に組み込む
c.ダイヤル錠A:
Figure 0007344350000015
d.ダイヤル錠B:
Figure 0007344350000016
3.両方のダイヤル錠は、それらのそれぞれの値が組込まれたPubKeyに対するアウトプットを持つビットコイントランザクション(中間トランザクション)を生成し、ブロックチェーンに提出する。
a.ダイヤル錠Aの中間トランザクション:図9参照
アウトプット1-このアウトプットを使うインプットは、PubKey A’をコントローラに通信する
アウトプット2-ダイヤル錠A’の公開鍵Aにおつりを戻す
b.ダイヤル錠B’の中間トランザクション:図10参照
アウトプット1-このアウトプットを使うインプットは、PubKey B’をコントローラに通信する
アウトプット2-ダイヤル錠B’の公開鍵Bにおつりを戻す
4.両方のダイヤル錠は、それらのそれぞれの中間トランザクションのアウトプット1を使う署名されていないビットコイントランザクションインプットを作成する。両方のダイヤル錠は、このインプットをコントローラに送る-以下に関して図11参照
a.ダイヤル錠A’のトランザクションインプット
b.ダイヤル錠B’のトランザクションインプット
5.コントローラは、ダイヤル錠からのビットコイントランザクションインプットを使用し、ANDゲート(ANDゲートトランザクション)を表現するビットコイントランザクションを作成する。このトランザクションは、コントローラ自身からのインプットを含むので、単独でアウトプットを修正できる。図12参照
6.コントローラは、ダイヤル錠A及びダイヤル錠Bに対して、SIGHASH_NONEを使用してANDゲートトランザクションにおけるそれらのそれぞれのインプットに署名するようにリクエストする。これはインプットにおいてロックし、一方で、まだアウトプットが修正されることを許す-図13参照
7.PubKey A’に一致する1つを見つけるまで、コントローラは、ダイヤル錠Aを持つPubKeyプロトコルを使用して、各4桁の組み合わせ、0000、0001、…、9998、9999に対する値が組込まれたPubKeyを計算する
a.コントローラは、「1111」がPubKey A’として同じ値が組込まれたPubKeyを生成することを見つける。
8.PubKey B’に一致する1つを見つけるまで、コントローラは、ダイヤル錠Bを持つPubKeyプロトコルを使用して、各4桁の組み合わせ、0000、0001、…、9998、9999に対する値が組込まれたPubKeyを計算する
a.コントローラは、「2222」がPubKey B’として同じ値が組込まれたPubKeyを生成することを見つける。
9.コントローラは、ANDゲートロジックを組み合わせに適用する:
a.組み合わせA=「1111」 AND 組み合わせB=「2222」
b.真 AND 真
c.真-V_DOORに信号を送り、ドアを開ける
10.コントローラは、ANDゲートトランザクションのアウトプットを更新し、信号をV_DOORに送り、自分自身におつりを戻す。コントローラは、次に、SIGHASH_ALLでそのインプットに署名し、すべてのインプット及びアウトプットでロックし、ブロックチェーンに提出する:図14参照
11.金庫は、V_DOORへのトランザクションアウトプットを確認したら、金庫の扉をロック解除する
ユースケースの例3: IMPLYロジックゲート
この例では、2つのインプットソースを持つIMPLYロジックゲートを表現するビットコイントランザクションを実装する。マニュアルモードをオン/オフするスイッチAと、着陸装置(landing gear)を伸ばすシステムをオン/オフするスイッチBという、2つのスイッチを持つ飛行機を仮定する。スイッチAがオフ(自動着陸)の場合、スイッチBにかかわらず、着陸装置は、常に伸びている。スイッチAはオン(マニュアルモード)の場合、着陸装置は、スイッチBに基づいて伸びる。これは、IMPLYゲートの実装である。全体のシステムは、4つのエンティティから構成さえる:スイッチA、スイッチB、コントローラ、及び着陸装置。
コントローラにおけるIMPLYロジック: スイッチA==オン IMPLY スイッチB==オン
Figure 0007344350000017
既存の設定
・スイッチAは、1BTCを持つ秘密鍵/公開鍵のペアAを所有する
・スイッチBは、1BTCを持つ秘密鍵/公開鍵のペアBを所有する
・コントローラは、1BTCを持つ秘密鍵/公開鍵のペアCを所有する
・着陸装置伸長システムは、秘密鍵/公開鍵のペアL_EXTEND及びL_RETRACTを所有する
ステップ
1.システムが最初にインストールされたとき、コントローラは、スイッチA及びスイッチBを持つPubKeyプロトコルを確立し、信号の安全な通信を可能とする:
a.コントローラ及びスイッチAのPubKeyプロトコルパラメータ:
Figure 0007344350000018
b.コントローラ及びスイッチBのPubKeyプロトコルパラメータ:
Figure 0007344350000019
2.現在、マニュアルモードであり(スイッチAがオン)、そして着陸装置は格納されている(スイッチBがオフ)。
3.パイロットは着陸の準備をし、スイッチAをオフにする(オートランディング)。各スイッチは、それらの状態を値が組み込まれたPubKey(PubKey A及びPubKey B)に組み込む。
a.スイッチA
Figure 0007344350000020
b.スイッチB
Figure 0007344350000021
4.両方のスイッチは、それらのそれぞれの値が組込まれたPubKeyへのアウトプットを持つビットコイントランザクション(中間トランザクション)を作成し、ブロックチェーンへ提出する。
a.スイッチAの中間トランザクション:図15参照
アウトプット1-このアウトプットを使うインプットは、PubKey A’をコントローラへ通信する
アウトプット2-スイッチA’の公開鍵Aにおつりを戻す
c.スイッチBの中間トランザクション:図16参照
アウトプット1-このアウトプットを使うインプットは、PubKey B’をコントローラに送る
アウトプット2-おつりをスイッチBの公開鍵Bに戻す
5.両方のスイッチは、それらのそれぞれの中間トランザクションのアウトプット1を使う署名されていないビットコイントランザクションインプットを作成する。両方のスイッチは、コントローラにこの入力を送る:以下に対する図17参照
a.スイッチAのトランザクションインプット
b.スイッチBのトランザクションインプット
6.コントローラは、スイッチからのビットコイントランザクションインプットを使用し、IMPLYゲート(IMPLYゲートトランザクション)を表現するビットコイントランザクションを作成する。このトランザクションは、コントローラ自身からのインプットを含むので、単独でアウトプットを修正することができる。図18参照。
7.コントローラは、スイッチA及びスイッチBに対してSIGHASH_NONEを使用してIMPLYゲートトランザクションにおけるそれらのそれぞれのインプットに署名するようにリクエストする。これは、インプットにおいてロックし、一方、アウトプットはまだ修正することができる-図19参照
8.コントローラは、スイッチAで自身のPubKeyプロトコルを使用して、オン及びオフに対する値を組み込んだPubKeyを計算して、PubKeyA’と一致するものを探す
a.コントローラは、オフがPubKeyA’として同じ値が組込まれたPubKeyを生成することを見つける。
9.コントローラは、スイッチAで自身のPubKeyプロトコルを使用して、オン及びオフに対する値が組込まれたPubKeyを計算して、PubKeyB’との一致を見つける。
a.コントローラは、オフがPubKey B’として同じ値が組込まれたPubKeyを生成することを見つける。
10.コントローラは、IMPLYゲートロジックを適用する:
a.スイッチA==オン IMPLY スイッチB==オン
b.オフ==オン IMPLY オフ==オン
c.偽 IMPLY 偽
d.真-信号をL_EXTENDに送り、着陸装置を伸ばす
11.コントローラは、IMPLYゲートトランザクションの出力を更新して、信号をL_EXTENDに送り、自身におつりを戻す。コントローラは、次に、SIGHASH_ALLで自身のインプットに署名し、すべてのインプット及びアウトプットでロックし、ブロックチェーンに提出する:図20参照
12.着陸装置伸長システムは、L_EXTEDへのトランザクションアウトプットを確認した場合、オンになる。
ユースケース例4: NANDロジックゲート
この例では、2つのインプットソースを持つNANDロジックゲートを表現するビットコイントランザクションを実装する。自動車には、ドアが開いているときにオープンになるスイッチが通常各ドアにあり、1つ以上のドアが開いている場合に、ドライバーに警告するために警告ライトがオンになる。これは、NANDゲートの実装である。全体のシステムは、4つのエンティティから構成される:スイッチA、スイッチB、コントローラ、及びライトである。両方のスイッチは、それらのスイッチのうちの1つの状態が変化したとき、コントローラに信号を送る。
コントローラにおけるNANDロジック: スイッチA=閉じている NAND スイッチB=閉じている
Figure 0007344350000022
すべてのロジック評価は、コントローラによって実行される。スイッチは、自身の開いている(open)状態又は閉じている(closed)状態をコントローラに単に送る。
既存の設定
・スイッチAは、1BTCを持つ秘密鍵/公開鍵のペアAを所有する
・スイッチBは、1BTCを持つ秘密鍵/公開鍵のペアBを所有する
・コントローラは、1BTCを持つ秘密鍵/公開鍵のペアCを所有する
・ライトは、秘密鍵/公開鍵のペアL_TURNON及び L_TURNOFFを所有する
ステップ:
1.システムが初めてインストールされたとき、コントローラは、スイッチA及びスイッチBを持つPubKeyプロトコルを確立し、信号を安全に通信することを可能にする:
a.コントローラ及びスイッチAのPubKeyプロトコルパラメータ:
Figure 0007344350000023
b.コントルーラ及びスイッチBのPubKeyプロトコルパラメータ:
Figure 0007344350000024
2.スイッチAは、閉じている、開いているから自身のドアが変化したことを検知し、一方、スイッチBは、自身のドアが閉じたままであることを検知する。各スイッチは、それらのそれぞれの状態(開いている及び閉じている)を、値を組み込んだPubKey(PubKey A’及びPubKey B’)に組み込む
a.スイッチA
Figure 0007344350000025
b.スイッチB:
Figure 0007344350000026
3.図21aと図21bを参照。両方のスイッチは、それらのそれぞれの値が組込まれたPubKeyに対するアウトプットを持つビットコイントランザクション(中間トランザクション)を作成し、ブロックチェーンに提出する
a.スイッチAの中間トランザクション:図21a
アウトプット1-このアウトプットを使うインプットは、PubKeyA’をコントローラに通信する
アウトプット2-おつりをスイッチAの公開鍵Aに戻す
b.スイッチBの中間トランザクション:図21b
アウトプット1-このアウトプットを使うインプットは、PubKeyB’をコントローラに通信する
アウトプット2-おつりをスイッチBの公開鍵Bに戻す
4.両方のスイッチは、それらのそれぞれの中間トランザクションのアウトプット1を使う署名されていないビットコイントランザクションインプットをコントローラへ送る。以下に対して図22を参照
a.スイッチAのトランザクションインプット:
b.スイッチBのトランザクションインプット:
5.コントローラは、スイッチからのビットコイントランザクションインプットを使用し、NANDゲート(NANDゲートトランザクション)を表現するビットコイントランザクションを作成する。このトランザクションは、コントローラ自身からのインプットを含むので、トランザクションは、アウトプットを単独で修正することができる。図23参照
6.コントローラは、スイッチA及びスイッチBに対して、SIGHASH_NONEを使用してNANDゲートトランザクションにおけるそれらのそれぞれのインプットに署名するようにリクエストする。これはインプットでロックし、一方、またアウトプットが修正されることを許す。図24参照
7.コントローラは、スイッチAで自身のPubKeyプロトコルを使用して、開いている及び閉じている各状態に対する値を組み込んだPubKeyを計算する
a.コントローラは、「開いている」がPubKeyA’として同じ値が組込まれたPubKeyを生成することを見つける。
b.コントルーラは、スイッチBと自身のPubKeyプロトコルを使用してオープン及びクローズの各状態に対して、値が組込まれたPubKeyを計算する。コントローラは、PubKey B’として、「閉じている」が同じ値が組込まれたPubKeyを生成することに気づく。
8.コントローラは、NANDゲートロジックをスイッチ状態に適用する:
a.スイッチA=閉じている NAND スイッチB=閉じている
b.偽 NAND 真
c.真-ライトをオンにするためにL_TURNONに信号を送る
9.コントローラは、NANDゲートトランザクションのアウトプットを更新して、信号をL_TURNONに送り、自分自身におつりを戻す。コントローラは、次に、SIGHASH_ALLで自身のインプットに署名し、すべてのインプット及びアウトプットにおいてロックし、ブロックチェーンに送る。図25参照。
10.L_TURNONへのトランザクションアウトプットを確認し、ライトはオンになる
ユースケースの例5: NONIMPLYロジックゲート
この例において、2つのインプットソースを持つNONIMPLYロジックゲートを表現するビットコイントランザクションを実装する。自動車の存在を検知するセンサA、マニュアルのみのモードをオン/オフするスイッチBを有する、スマート道路ライティングシステム(smart driveway lighting system)を仮定する。センサAが、自動車を検出しない場合、道路のライトは、オフである。センサAが自動車を検知した場合、スイッチBのマニュアルモードがオフの場合、センサAは、道路のライトを自動的にオンにする。これは、NONIMPLYゲートの実装である。全体のシステムは、4つのエンティティから構成される:センサA、スイッチB、コントローラ、及び道路のライト
コントローラにおけるNONIMPLYロジック: センサA==「自動車」 IMPLY スイッチB==「マニュアルオン」
Figure 0007344350000027
すべてのロジック評価は、コントローラによって実行される。センサ及びスイッチは、単にそれらの状態を送る。
既存の設定:
・センサAは、1BTCを有する秘密鍵/公開鍵のペアAを所有する
・スイッチBは、1BTCを有する秘密鍵/公開鍵のペアBを所有する
・コントローラは、1BTCを有する秘密鍵/公開鍵のペアCを所有する
・道路のライトは、秘密鍵/公開鍵のペアL_ON及びL_OFFを所有する
ステップ:
1.システムが最初にインストールされたとき、コントローラは、センサA及びスイッチBとPubKeyプロトコルを確立して、信号の安全な通信を可能にする:
a.コントローラ及びセンサAのPubKeyプロコトルパラメータ:
Figure 0007344350000028
b.コントローラ及びスイッチBのPubKeyプロトコルパラメータ:
Figure 0007344350000029
2.センサAは、現在自動車を検知しておらず、スイッチBは、マニュアルモードをオフにしている。
3.センサAは、道路上の自動車を検知する。センサ及びスイッチは、それらの状態を、値が組込まれたPubKey(PubKey A’及びPubKey B’)に組み込む。
a.センサA:
Figure 0007344350000030
b.スイッチB:
Figure 0007344350000031
4.両方のスイッチは、それらのそれぞれの値が組込まれたPubKeyに対するアウトプットと共にビットコイントランザクション(中間トランザクション)をブロックチェーンに提出する
a.センサAの中間トランザクション:図26a
アウトプット1-このアウトプットを使うインプットは、PubKey Aをコントローラに通信する
アウトプット2-スイッチAの公開鍵Aにおつりを戻す
b.スイッチBの中間トランザクション:図26b
アウトプット1-このアウトプットを使うインプットは、コントローラへPubKey B’を通信する
アウトプット2-スイッチBの公開鍵Bにおつりを戻す
5.センサA及びスイッチBは、それらのそれぞれの中間トランザクションのアウトプット1を使う署名されていないビットコイントランザクションを作成する。
6.センサA及びスイッチBはこのインプトッをコントローラへ送る。図27は、以下に関する
a.センサAのトランザクションインプット:
b.スイッチBのトランザクションインプット:
7.コントローラは、センサ及びスイッチからのビットコイントランザクションインプットを使用して、NONIMPLYゲート(NONIMPLYゲートトランザクション)を表現するビットコイントランザクションを作成する。このトランザクションは、コントローラ自身からのインプットを含むので、アウトプットを単独で修正できる。図28参照。
8.コントローラは、センサA及びスイッチBに対して、SIGHASH_NONEを使用してNONIMPLYゲートトランザクションにおけるそれらのそれぞれのインプットに署名するようにリクエストする。これは、インプットにおいてロックし、一方、まだアウトプットが修正されることを許す。図29参照。
9.コントローラは、センサAに対して自身のPubKeyプロトコル使って、自動車又は自動車がいないに関して値が組込まれたPubKeyを計算して、PubKey A’と一致するものを探す。
a.コントローラは、自動車が、PubKey A’として同じ値が組込まれたPubKeyを生み出すことを見つける
10.コントローラは、スイッチAに自身のPubKeyプロトコルを使って、マニュアルオン及びマニュアルオフに関して値が組込まれたPubKeyを計算して、PubKey B’と一致するものを見つける。
a.コントローラは、マニュアルオフがPubKey B’として同じ値を組み込んだPubKeyを生成することに気づく。
11.コントローラは、NONIMPLYゲートロジックを適用する:
a.センサA==「自動車」 NONIMPLY スイッチB==「マニュアルオン」
b.「自動車」==「自動車」 NONIMPLY 「マニュアルオフ」==「マニュアルオン」
c.真 IMPLY 偽
d.真―信号をL_ONに送って、道路のライトをオンにする
12.コントローラは、NONIMPLYゲートトランザクションのアウトプットを更新して、信号をL_ONに送り、自身におつりを戻す。コントローラは、次に、SHIGHASHI_ALLで自身のインプットに署名し、すべてのインプット及びアウトプットでロックし、ブロックチェーンに提出する。図30参照。
13.L_ONへのトランザクションアウトプットを確認すると道路のライトは、オンになる。
ユースケース例6:NOTロジックゲート
この例では、1つのインプットソースを持つNOTロジックゲートを表現するビットコイントランザクションを実装する。ロンドン塔で王冠の宝石が毎年数百万人の訪問者に対して展示されていると仮定する。インペリアルステートの王冠が通常閉まっている感圧スイッチの上に載っていると仮定する。スイッチの上に王冠を置くとアラームが作動する。王冠をスイッチから取り去るとアラームが始動する。これは、NOTゲートの実装である。全体のシステムは、コントローラ、スイッチ、及びアラームから構成される。スイッチは、状態が変わるとき、信号をコントローラへ送る。
コントローラにおけるNOTロジック: NOTスイッチ=クローズド
Figure 0007344350000032
既存の設定
・スイッチは、1BTCを有する秘密鍵/公開鍵のペアXを所有する
・コントローラは、1BTCを有する秘密鍵/公開鍵のペアCを所有する
・アラームは、秘密鍵/公開鍵のペアA_Activate及びA_Armを所有する
ステップ:
1.インストールの間、コントローラ及びスイッチは、以下のパラメータを持つPubKeyプロトコルを確立する:
Figure 0007344350000033
2.スイッチは、最初は、クローズド状態である(王冠は、スイッチの上にある)
3.スイッチは、王冠が取り去られたとき変化を検知する。スイッチは、信号「偽」を値が組込まれたPubKey(PubKey X’)に組み込む
Figure 0007344350000034
4.スイッチは、自身の値が組込まれたPubKeyへのアウトプットを持つ中間トランザクションを生成し、ブロックチェーンに提出する。
アウトプット1―このアウトプットを使うインプットは、PubKey X’をコントローラに通信する
アウトプット2-おつりをスイッチXの公開鍵Aに戻す
5.スイッチは、コントローラに中間トランザクションのアウトプット1を使う署名されていないビットコイントランザクションインプットを送る。図32参照
6.コントローラは、スイッチから受信されたビットコイントランザクションインプットを含むNOTゲート(NOTゲートトランザクション)を表現するビットコイントランザクションを作成する。図33参照。
7.コントローラは、スイッチがNONゲートトランザクションにおける自身のインプットに署名するようにリクエストして、インプットはロックされる。
a.スイッチは、変更されることを防止するSIGHASH_NONEで署名する:図34
8.コントローラは、「真」及び「偽」のための値が組込まれたPubKeyを計算し、それを、アンロッキングスクリプトからの値を組み込んだPubKey(PubKey X’)と比較する。「偽」との一致を見つける
9.コントローラは、NONゲートを値「偽」に適用し、アラームを始動にする(A_ACTIVATE)ために信号を送るべきか決定する。
10.コントローラは、NOTゲートトランザクションのアウトプットを更新して、信号をA_ACTIVATEに送り、自身の公開鍵Cにおつりを戻す。コントローラは、次に、SIGHASH_ALLでインプットに署名し、ブロックチェーンに提出する。図35参照
アウトプット1-アラームを始動する信号
アウトプット2-コントローラの公開鍵Cにおつりを戻す
11.A_ACTIVATEへのトランザクションアウトプットを確認するとアラームを始動する
ユースケース例7: ORロジックゲート
2つのインプットソースを持つORロジックゲートを表現するビットコイントランザクションを実装する。内部と外部の温度センサを使用する自動エアフローシステム(automated airflow system)を持つビルを検討する。温度センサは、摂氏-30度から50度の整数の温度を読み取る。内部温度が21度を超えている、又は外部温度が25度を超えている場合、エアフローシステムは、冷たい空気を放出し、そうでなければエアフローシステムは温かい空気を放出する。これは、ORゲートの実装である。全体のシステムは、4つのエンティティから構成される:温度センサA、温度センサB、コントローラ、及びエアフローシステム。両方のセンサは、いずれか1つが温度の変化を検出すると、コントローラに信号を送る。
コントローラのORロジック: 温度A>21度 OR 温度B>25度
Figure 0007344350000035
すべてのロジック評価は、コントローラによって実行される。温度センサは、読み取った温度を単に送り、それが暑いか又は寒いかは評価しない。
既存の設定
・温度センサAは、1BTCを持つ秘密鍵/公開鍵のペアAを所有する
・温度センサBは、1BTCを持つ秘密鍵/公開鍵のペアBを所有する
・コントローラは、1BTCを持つ秘密鍵/公開鍵のペアCを所有する
・エアフローシステムは、秘密鍵/公開鍵のペアS_COOL及びS_WARMを所有する
ステップ
1.システムが最初にインストールされると、コントローラは、温度センサA及び温度センサBとPubKeyプロトコルを確立して、信号の安全な通信を可能にする:
a.コントローラ及び温度センサAのPubKeyプロトコルパラメータ:
Figure 0007344350000036
b.コントローラ及び温度センサBのPubKeyプロトコルパラメータ:
Figure 0007344350000037
2.温度センサAは、現在21度を読取り、温度センサBは27度を読み取る
3.温度センサAは、21度から20度への変化を検知する。各温度センサは、それらの測定値を、値を組み込んだPubKey(PubKey A’とPubKey B’)に組み込む。
a.温度センサA:
Figure 0007344350000038
b.温度センサB:
Figure 0007344350000039
4.両方の温度センサは、それらのそれぞれの値が組込まれたPubKeyへのアウトプットを持つビットコイントランザクション(中間トランザクション)を作成し、ブロックチェーンに提出する。
a.温度センサAの中間トランザクション:図36a
アウトプット1-このアウトプットを使うインプットは、PubKey A’をコントローラへ通信する
アウトプット2-おつりを温度センサAの公開鍵Aに戻す
b.温度センサBの中間トランザクション:図36b
アウトプット1-このアウトプットを使うインプットは、PubKey B’をコントローラへ通信する
アウトプット2-おつりを温度センサBの公開鍵Bに戻す
5.両方の温度センサは、それらのそれぞれの中間トランザクションのアウトプット1を使う署名されていないビットコイントランザクションインプットを作成する。両方のセンサは、このインプットをコントローラへ送る。以下について図37参照
a.温度センサAのトランザクションのインプット
b.温度センサBのトランザクションのインプット
6.コントローラは、温度センサからのビットコイントランザクションインプットを使用し、ORゲート(ORゲートトランザクション)を表現するビットコイントランザクションを作成する。このトランザクションは、コントローラ自身からのインプットを含み、トランザクションは、アウトプットを単独で修正することができる。図38参照
7.コントローラは、温度センサA及び温度センサBに対して、SIGHASH_NONEを使用してORゲートトランザクションのそれらのそれぞれのインプットに署名するようにリクエストする。これはインプットをロックし、一方、アウトプットがまだ変更されることを可能にする。図39参照
8.コントローラは、温度センサAと自身のPubKeyプロトコルを使用して、PubKey A’に一致する1つを見つけるまで各温度-30度、-29度、…、49度、50度に対して値を組み込んだPubKeyを計算する
a.コントローラは、20度がPubKey A’として同じ値が組込まれたPubKeyを生成することを見つける
9.コントローラは、温度センサBと自身のPubKeyプロトコルを使用して、PubKey B’に一致する1つを見つけるまで各温度-30度、-29度、…、49度、50度に対して、値を組み込んだPubKeyを計算する
a.コントローラは、27度がPubKey B’として同じ値が組込まれたPubKeyを生成することを見つける
10.コントローラは、ORゲートロジックを温度の測定値に適用する:
a.温度A>21度 OR 温度B>25度
b.20度>21度 OR 27度>25度
c.偽 OR 真
d.真-信号をS_COOLに送って、冷たい空気を放出する
11.コントローラは、ORゲートトランザクションのアウトプットを更新して、信号をS_COOLに送り、おつりを自身に戻す。コントローラは、次に、SIGHASH_ALLで自身のインプットに署名して、すべてのインプット及びアウトプットでロックし、ブロックチェーンに提出する。図40参照
12.エアフローシステムは、S_COOLへのトランザクションアウトプットを確認すると、冷たい空気を放出する
ユースケース例8: XNORロジックゲート
この例では、2つのインプットソースを持つXNORロジックゲートを表現するビットコイントランザクションを実装する。2つのアイテムを生産する生産システムを検討する:クリケットボール及びクリケットボールのコルクである。両方のアイテムは、2つのスキャナA及びスキャナBを持つ同じ品質管理を通過する。スキャナAは、ボールが赤か否か、0、5,10、…、95、100%からの信頼測定値(belief reading)を与える。スキャナBは、ボールがステッチを持つか否か、0、5,10、…、95、100%からの信頼測定値を与える。ボールが2つの特徴を持つ場合、標準のクリケットボール(normal cricket ball)として受け入れられる。ボールがどちらの特徴も無い場合、それはコルクとしてまた受け入れられる。ボールがいずれか1つの特徴のみ有する場合、不良品として不合格にされる。これは、XNORゲートの実装である。
全体のシステムは、4つのエンティティから構成される:スキャナA、スキャナB、コントローラ、及び生産システム(Production System)。両方の検出器は、いずれか1つが変化を検出したとき、信頼(belief)をコントローラに送る。
コントローラにおけるXNORロジック:スキャナの信頼A>90% XNOR スキャナの信頼B>60%
ステッチの検出は、赤の検出より精度が低いので、受け入れ可能な値のより大きな範囲が、スキャナBに対して使用される。
Figure 0007344350000040
すべてのロジック評価は、コントローラによって実行される。スキャナは、それらの測定する信頼を単に送るが、発火する(fire)と仮定するぐらい十分高いか否かは評価しない。
既存の設定
・スキャナAは、1BTCを持つ秘密鍵/公開鍵のペアAを所有する
・スキャナBは、1BTCを持つ秘密鍵/公開鍵のペアBを所有する
・コントローラは、1BTCを持つ秘密鍵/公開鍵のペアCを所有する
・生産システムは、秘密鍵/公開鍵のペアS_ACCEPT及びS_REJECTを所有する
ステップ:
1.システムが最初にインストールされたとき、コントローラは、スキャナA及びスキャナBとPubKeyプロトコルを確立して、信号が安全に通信できるようにする:
a.コントローラ及びスキャナAのPubKeyプロトコルパラメータ:
Figure 0007344350000041
b.コントローラ及びスキャナBのPubKeyプロトコルパラメータ:
Figure 0007344350000042
2.ボールは、スキャナを通過する。スキャナAは、100%一致を読取る。スキャナBは75%一致を読み取る。
3.各スキャナは、自身の測定値を値が組込まれたPubKey(PubKey A’及びPubKey B’)に組み込む
a.スキャナA:
Figure 0007344350000043
b.スキャナB:
Figure 0007344350000044
4.両方のスキャナは、それらのそれぞれの値が組込まれたPubKeyへのアウトプットを持つビットコイントランザクション(中間トランサクション)を作成し、ブロックチェーンに提出する
d.スキャナAの中間トランザクション:図41a参照
アウトプット1-このアウトプットを使うインプットはPubKey A’をコントローラに通信する
アウトプット2-スキャナAの公開鍵Aにおつりを戻す
e.スキャナBの中間トランザクション:図41b参照
アウトプット1-このアウトプットを使うインプットはPubKey B’をコントローラに通信する
アウトプット2-スキャナBの公開鍵Bにおつりを戻す
5.両方のスキャナは、それらのそれぞれの中間トランザクションのアウトプット1を使う署名されていないビットコイントランザクションインプットを作成する。両方のスキャナは、このインプットをコントローラへ送る。以下は図42を参照
a.スキャナAのトランザクションインプット
c.スキャナBのトランザクションインプット
6.コントローラは、スキャナからのビットコイントランザクションインプットを使用して、XNORゲート(XNORゲートトランザクション)を表現するビットコイントランザクションを作成する。このトランザクションは、コントローラ自身からのインプットを含むので、単独でアウトプットを変更できる。図43参照
7.コントローラは、スキャナA及びスキャナBに対してSIGHASH_NONEを使用してXNORゲートトランザクションにおけるそれらのそれぞれのインプットに署名するようにリクエストする。これは、インプットにおいてロックし、一方、アウトプットはまだ修正することを許す。図44参照
8.コントローラは、スキャナAとPubKeyプロトコルを使用し、PubKey A’に一致する1つを見つけるまで、各読取り0,5,…,95,100%に対して値が組込まれたPubKeyを計算する
a.コントローラは、PubKey A’として同じ値が組込まれたPubKeyを100%が生産することを見つける。
9.コントローラは、スキャナBと自身のPubKeyプロトコルを使用して、PubKey B’に一致する1つを見つけるまで、各読取り0,5,…,95,100%に対して値が組込まれたPubKeyを計算する
a.コントローラは、PubKey B’として同じ値が組込まれたPubKeyを75%が生産することを見つける。
10.コントローラは、NORゲートロジックを信頼読取りに適用する:
a.スキャナの信頼A>90% XNOR スキャナの信頼B>60%
b.100>60 XNOR 75>60
c.真 OR 真
d.真-信号をS_ACCEPTに送り、ボールを受け入れる
11.コントローラは、XNORゲートトランザクションの出力を更新して、信号をS_ACCEPTに送り、おつりを自身に戻す。コントローラは、次に、SIGHASH_ALLでそのインプットに署名して、すべてのインプット及びアウトプットにおいてロックし、ブロックチェーンに提出する。図45参照。
12.システムは、S_ACCEPTへのトランザクションアウトプットを確認すると、ボールが包装され続けることを許す
上述の実施形態は、本発明を制限するよりはむしろ説明し、当業者であれば、添付請求項で規定された本発明の範囲から逸脱することなく多くの代替の実施形態を設計する能力があることに留意されたい。本請求項において、括弧の中に置かれたいかなる参照符号も、本請求項を制限すると解釈されない。単語「含んでいる(comprising)」及び「含む(comprises)」などは、いずれかの請求項又は明細書全体で列挙されたもの以外の要素やステップの存在を排除するものではない。本明細書において、「含む(comprises)」は「含む(includes)又はから構成される(consists of)」を意味し、「含んでいる(comprising)」は、「含んでいる(including)又はから構成されている(consisting of)」を意味する。要素の単一の参照は、そのような要素の複数の参照を排除するものではなく、又その逆もまた同様である。本発明は、いくつかの別個の要素を含むハードウェアの手段によって、及び適切にプログラムされたコンピュータの手段によって実効することができる。いくつかの手段を列挙している装置クレームにおいて、それらの手段のいくつかは、1つの同一のハードウェアのアイテムによって具現化されても良い。特定の手段が互いに異なる従属請求項に引用されているという単なる事実は、これらの手段の組み合わせが有利に使用されることができないことを示すものではない。
(付記1)
ロジックの一部を実行するコンピュータ実装方法であって、
値を含む少なくとも1つの署名されたインプットと、少なくとも1つの修正可能なアウトプットと、を含むブロックチェーントランザクションを生成するステップと、
前記署名されたインプットから前記値を抽出し、結果を得るためにそれをロジックの一部に提供するステップと、
前記トランザクションが前記結果を表現するように前記トランザクションの前記アウトプットを修正するために前記結果を使用するステップと、
を含む、ロジックの一部を実行するコンピュータ実装方法。
(付記2)
ロジックの前記一部が、前記トランザクション及び前記ブロックチェーンのうちの1つ又は両方の外にある、付記1に記載の方法。
(付記3)
前記トランザクション及び前記ブロックチェーンの1つ又は両方の外部にあるコントローラは、前記結果を取得するためにロジックの前記一部を前記抽出された値に適用し、前記結果に基づいて前記トランザクションの前記アウトプットを修正するために前記トランザクションと通信する、付記1又は2に記載の方法。
(付記4)
ロジックの前記一部は、前記トランザクション及び前記ブロックチェーンの1つ又は両方の外部にあるシステムを表現し、前記方法は、前記トランザクションの前記修正されたアウトプットに基づいて、前記外部システムの状態を修正することをさらに含む、付記1乃至3のいずれか1項記載の方法。
(付記5)
ロジックの前記一部が、ロジックゲートの機能を実行するように構成される、付記1乃至4のいずれか1項記載の方法。
(付記6)
前記ロジックゲートは、AND、NOT、OR、NOR、XOR、IMPLY、NAND、NONIMPLY又はXNORゲートである、付記5に記載の方法。
(付記7)
前記トランザクションをブロックチェーンに提出するステップをさらに含む、付記1乃至6のいずれか1項記載の方法。
(付記8)
前記署名されたインプットは、アンロッキングスクリプトを使用して前記トランザクションに提供される、付記1乃至7のいずれか1項記載の方法。
(付記9)
前記少なくとも1つのインプットは、前記インプットを修正不可能なものにする署名ハッシュタイプを使用して署名される、付記1乃至8のいずれか1項記載の方法。
(付記10)
前記署名ハッシュタイプは、SIGHASH_NONEである、付記9に記載の方法。
(付記11)
前記トランザクションは、少なくとも1つの署名されていないインプットをさらに含む、付記1乃至10のいずれか1項記載の方法。
(付記12)
前記アウトプットが修正された後に、前記署名されていないインプットに署名するステップをさらに含む、付記11に記載の方法。
(付記13)
前記署名されていないインプットは、前記トランザクション全体の修正を防ぐ署名ハッシュタイプを使用して署名される、付記12に記載の方法。
(付記14)
前記署名ハッシュタイプは、SIGHASH_ALLである、付記13に記載の方法。
(付記15)
前記値は、前記署名されたインプットに関連する公開鍵に組み込まれ、それをロジックの前記一部に提供するために前記公開鍵から抽出される、付記1乃至14のいずれか1項に記載の方法。
(付記16)
プロトコルを確立し及び/又は選択し、前記公開鍵に前記値を組み込む前記プロトコルを使用するステップをさらに含む、付記15に記載の方法。
(付記17)
前記公開鍵が、中間ブロックチェーントランザクションでロッキングスクリプトを作成するために使用される、付記15又は16に記載の方法。
(付記18)
前記中間トランザクションをブロックチェーンに提出するステップをさらに含む、付記17に記載の方法。
(付記19)
新しい公開鍵P’を生成することによって、前記値は、前記公開鍵に組み込まれ、
Figure 0007344350000045
であり、
ここで、
Pは、ベース又は初期の公開鍵であり、
Gは、secp256k1などの楕円曲線関数であり、
xは、スカラによる楕円曲線乗算を示し、
Figure 0007344350000046
は、楕円曲線加算を示す、
付記15乃至18のいずれか1項記載の方法。
(付記20)
前記新しい公開鍵に対応する新しい秘密鍵を生成するステップをさらに含み、ここで、
新しい秘密鍵V’=V+HASH(value(値)+S)
である、付記15乃至19のいずれか1項記載の方法。
(付記21)
前記公開鍵に組込まれた前記値は、指定された範囲の値から選択される、付記15乃至20のいずれか1項記載の方法。
(付記22)
付記1乃至21のいずれか1項記載のステップを実行するように構成された少なくとも1つのコンピュータベースリソースと、
ブロックチェーンと、
を含む、コンピュータ実装システム。

Claims (20)

  1. ロジックの一部を実行するコンピュータにより実行される方法であって、
    値を含む少なくとも1つの署名されたインプットと、少なくとも1つの修正可能なアウトプットと、を含むブロックチェーントランザクションを生成するステップと、
    前記署名されたインプットから前記値を抽出し、結果を得るためにそれをロジックの一部に提供するステップと、
    前記トランザクションの前記アウトプットを修正するために前記結果を使用するステップと、
    を含み、ロジックの一部は、前記トランザクション及び前記ブロックチェーンのうちの1つ又は両方の外にあるシステムであり、前記方法は、前記トランザクションの修正されたアウトプットに基づいて、前記外にあるシステムの状態を修正することを更に含む、方法。
  2. ロジックの前記一部は、前記トランザクション及び前記ブロックチェーンのうちの1つ又は両方の外にある、請求項1に記載の方法。
  3. 前記ロジックの一部は、ロジックゲートの機能を実行するように構成されている、請求項1又は2に記載の方法。
  4. 前記ロジックゲートは、AND、NOT、OR、NOR、XOR、IMPLY、NAND、NONIMPLY又はXNORゲートである、請求項3に記載の方法。
  5. 前記トランザクションをブロックチェーンにサブミットするステップをさらに含む、請求項1乃至4のうちの何れか一項に記載の方法。
  6. 前記署名されたインプットは、アンロッキングスクリプトを使用して前記トランザクションに提供される、請求項1乃至5のうちの何れか一項に記載の方法。
  7. 前記少なくとも1つのインプットは、前記インプットを修正不可能なものにする署名ハッシュタイプを使用して署名される、請求項1乃至6のうちの何れか一項に記載の方法。
  8. 前記署名ハッシュタイプは、SIGHASH_NONEである、請求項7に記載の方法。
  9. 前記トランザクションは、少なくとも1つの署名されていないインプットをさらに含む、請求項1乃至8のうちの何れか一項に記載の方法。
  10. 前記アウトプットが修正された後に、前記署名されていないインプットに署名するステップをさらに含む、請求項9に記載の方法。
  11. 前記署名されていないインプットは、前記トランザクション全体の修正を妨げる署名ハッシュタイプを使用して署名される、請求項10に記載の方法。
  12. 前記署名ハッシュタイプは、SIGHASH_ALLである、請求項11に記載の方法。
  13. 前記値は、前記署名されたインプットに関連する公開鍵に組み込まれ、それを前記ロジックの一部に提供するために前記公開鍵から抽出される、請求項1乃至12のうちの何れか一項に記載の方法。
  14. プロトコルを確立し及び/又は選択し、前記公開鍵に前記値を組み込む前記プロトコルを使用するステップをさらに含む、請求項13に記載の方法。
  15. 前記公開鍵が、中間ブロックチェーントランザクションでロッキングスクリプトを作成するために使用される、請求項13又は14に記載の方法。
  16. 前記中間トランザクションをブロックチェーンにサブミットするステップをさらに含む、請求項15に記載の方法。
  17. 新しい公開鍵P’を生成することによって、前記値は、前記公開鍵に組み込まれ、
    Figure 0007344350000047
    であり、
    ここで、
    Pは、ベース又は初期の公開鍵であり、
    Gは、secp256k1などの楕円曲線関数であり、
    xは、スカラによる楕円曲線乗算を示し、
    Figure 0007344350000048
    は、楕円曲線加算を示す、
    請求項13乃至16のうちの何れか一項に記載の方法。
  18. 新しい公開鍵に対応する新しい秘密鍵を生成するステップをさらに含み、ここで、
    新しい秘密鍵V’=V+HASH(value(値)+S)
    である、請求項13乃至17のうちの何れか一項に記載の方法。
  19. 前記公開鍵に組込まれる前記値は、指定された範囲の値から選択される、請求項13乃至18のうちの何れか一項に記載の方法。
  20. 請求項1乃至19のうちの何れか一項に記載のステップを実行するように構成された少なくとも1つのコンピュータベースリソースと、
    ブロックチェーンと、
    を含む、コンピュータにより実行されるシステム。
JP2022101488A 2016-07-05 2022-06-24 外部プロセス又はシステムを制御するブロックチェーンを実装した制御方法及びシステム Active JP7344350B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023142211A JP2023162388A (ja) 2016-07-05 2023-09-01 外部プロセス又はシステムを制御するブロックチェーンを実装した制御方法及びシステム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB1611698.0 2016-07-05
GBGB1611698.0A GB201611698D0 (en) 2016-07-05 2016-07-05 Blockchain-implemented control method and system
JP2018567907A JP7096774B2 (ja) 2016-07-05 2017-06-30 外部プロセス又はシステムを制御するブロックチェーンを実装した制御方法及びシステム
PCT/IB2017/053957 WO2018007916A1 (en) 2016-07-05 2017-06-30 A blockchain-implemented control method and system for controlling an external process or system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018567907A Division JP7096774B2 (ja) 2016-07-05 2017-06-30 外部プロセス又はシステムを制御するブロックチェーンを実装した制御方法及びシステム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023142211A Division JP2023162388A (ja) 2016-07-05 2023-09-01 外部プロセス又はシステムを制御するブロックチェーンを実装した制御方法及びシステム

Publications (2)

Publication Number Publication Date
JP2022126806A JP2022126806A (ja) 2022-08-30
JP7344350B2 true JP7344350B2 (ja) 2023-09-13

Family

ID=56891040

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2018567907A Active JP7096774B2 (ja) 2016-07-05 2017-06-30 外部プロセス又はシステムを制御するブロックチェーンを実装した制御方法及びシステム
JP2022101488A Active JP7344350B2 (ja) 2016-07-05 2022-06-24 外部プロセス又はシステムを制御するブロックチェーンを実装した制御方法及びシステム
JP2023142211A Pending JP2023162388A (ja) 2016-07-05 2023-09-01 外部プロセス又はシステムを制御するブロックチェーンを実装した制御方法及びシステム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2018567907A Active JP7096774B2 (ja) 2016-07-05 2017-06-30 外部プロセス又はシステムを制御するブロックチェーンを実装した制御方法及びシステム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023142211A Pending JP2023162388A (ja) 2016-07-05 2023-09-01 外部プロセス又はシステムを制御するブロックチェーンを実装した制御方法及びシステム

Country Status (9)

Country Link
US (2) US11463260B2 (ja)
EP (1) EP3482365A1 (ja)
JP (3) JP7096774B2 (ja)
KR (1) KR102467625B1 (ja)
CN (1) CN109478278B (ja)
GB (1) GB201611698D0 (ja)
SG (2) SG10202112767PA (ja)
WO (1) WO2018007916A1 (ja)
ZA (1) ZA201900510B (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11271736B2 (en) * 2016-07-29 2022-03-08 nChain Holdings Limited Blockchain-implemented method and system
CN106980649B (zh) 2017-02-28 2020-07-10 创新先进技术有限公司 写入区块链业务数据的方法和装置及业务子集合确定方法
EP3525498B1 (en) * 2018-02-08 2022-04-20 Sony Group Corporation Electronic devices, systems and methods for vehicular communication
US10693637B2 (en) * 2018-03-23 2020-06-23 Belavadi Nagarajaswamy Ramesh System and method for composite-key based blockchain device control
CN112119611A (zh) 2018-05-14 2020-12-22 区块链控股有限公司 使用区块链执行原子交换的计算机实现的系统和方法
CN108830463B (zh) * 2018-05-29 2021-03-19 厦门哈希科技有限公司 一种评价记录的存储方法、装置、存储介质及系统
EP3804279A4 (en) * 2018-06-01 2022-01-19 Nokia Technologies OY METHOD AND DEVICE FOR DISTRIBUTED TRUST ASSESSMENT IN A DISTRIBUTED NETWORK
US11227282B2 (en) 2018-08-20 2022-01-18 Probloch LLC Time-bounded activity chains with multiple authenticated agent participation bound by distributed single-source-of-truth networks that can enforce automated value transfer
KR102218884B1 (ko) * 2018-11-28 2021-02-24 주식회사 이와이엘 블록체인 기반의 양자 엔트로피 소스를 이용한 사용자 인증 방법 및 시스템
US11455846B2 (en) 2019-01-03 2022-09-27 International Business Machines Corporation Consensus vehicular collision properties determination
US20210092127A1 (en) * 2019-09-19 2021-03-25 Microsoft Technology Licensing, Llc Writing role-backed access control to chain
GB2614077A (en) * 2021-12-21 2023-06-28 Nchain Licensing Ag Signature-based atomic swap

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005236977A (ja) 2004-02-19 2005-09-02 Samsung Electronics Co Ltd 電力分析攻撃に安全な基本演算装置および方法
JP2006311477A (ja) 2005-04-29 2006-11-09 Microsoft Corp 同種写像ベースの署名の生成および検証のためのシステムおよび方法
US20160080156A1 (en) 2014-09-12 2016-03-17 Verisign, Inc. Systems, devices, and methods for detecting double signing in a one-time use signature scheme
US20160125040A1 (en) 2014-10-31 2016-05-05 21, Inc. Digital currency mining circuitry having shared processing logic

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5511121A (en) 1994-02-23 1996-04-23 Bell Communications Research, Inc. Efficient electronic money
FR2744309B1 (fr) * 1996-01-26 1998-03-06 Bull Cp8 Procede de communicatin cryptographique asymetrique, et objet portatif associe
US8256010B2 (en) * 2009-04-01 2012-08-28 Microsoft Corporation Providing access to a data item using access graphs
US8484723B2 (en) * 2009-06-05 2013-07-09 Signix, Inc. Method and system for signing and authenticating electronic documents via a signature authority which may act in concert with software controlled by the signer
US8452969B2 (en) * 2009-09-16 2013-05-28 GM Global Technology Operations LLC Flexible broadcast authentication in resource-constrained systems: providing a tradeoff between communication and computational overheads
US8509426B1 (en) 2010-12-01 2013-08-13 King Fahd University Of Petroleum And Minerals XZ-elliptic curve cryptography system and method
CN102629403B (zh) * 2012-03-14 2014-07-16 深圳市紫金支点技术股份有限公司 一种基于atm设备的u盘授权方法及系统
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.
US9876775B2 (en) 2012-11-09 2018-01-23 Ent Technologies, Inc. Generalized entity network translation (GENT)
US20160085955A1 (en) * 2013-06-10 2016-03-24 Doosra, Inc. Secure Storing and Offline Transferring of Digitally Transferable Assets
WO2015106285A1 (en) 2014-01-13 2015-07-16 Yago Yaron Edan Verification method
US20150213433A1 (en) * 2014-01-28 2015-07-30 Apple Inc. Secure provisioning of credentials on an electronic device using elliptic curve cryptography
US9331856B1 (en) * 2014-02-10 2016-05-03 Symantec Corporation Systems and methods for validating digital signatures
EP3120309A4 (en) * 2014-03-18 2017-10-11 Ntrust Technology Solutions Corp. Virtual currency system
EP3123423A4 (en) 2014-03-27 2017-08-30 Nokia Technologies Oy Method and apparatus for automatic inter-device authorisation
US9705683B2 (en) 2014-04-04 2017-07-11 Etas Embedded Systems Canada Inc. Verifiable implicit certificates
WO2015183497A1 (en) * 2014-05-06 2015-12-03 Case Wallet, Inc. Cryptocurrency virtual wallet system and method
EP3140979A4 (en) 2014-05-09 2017-12-27 Veritaseum Inc. Devices, systems, and methods for facilitating low trust and zero trust value transfers
US20150356523A1 (en) * 2014-06-07 2015-12-10 ChainID LLC Decentralized identity verification systems and methods
US9705501B2 (en) * 2014-10-01 2017-07-11 Maxim Integrated Products, Inc. Systems and methods for enhancing confidentiality via logic gate encryption
EP3013014A1 (en) * 2014-10-21 2016-04-27 Gemalto Sa Method for accessing a service, corresponding first device, second device and system
CN104463001A (zh) * 2014-12-19 2015-03-25 比特卡国际有限公司 一种独立生成和保存加密数字货币私钥的方法及承载加密数字货币私钥的装置
JP6364132B2 (ja) 2015-03-31 2018-07-25 ナスダック, インコーポレイテッドNasdaq, Inc. ブロックチェーン取引記録のシステムおよび方法
US20170091756A1 (en) * 2015-07-14 2017-03-30 Fmr Llc Point-to-Point Transaction Guidance Apparatuses, Methods and Systems
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
US11271736B2 (en) * 2016-07-29 2022-03-08 nChain Holdings Limited Blockchain-implemented method and system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005236977A (ja) 2004-02-19 2005-09-02 Samsung Electronics Co Ltd 電力分析攻撃に安全な基本演算装置および方法
JP2006311477A (ja) 2005-04-29 2006-11-09 Microsoft Corp 同種写像ベースの署名の生成および検証のためのシステムおよび方法
US20160080156A1 (en) 2014-09-12 2016-03-17 Verisign, Inc. Systems, devices, and methods for detecting double signing in a one-time use signature scheme
US20160125040A1 (en) 2014-10-31 2016-05-05 21, Inc. Digital currency mining circuitry having shared processing logic

Also Published As

Publication number Publication date
JP2022126806A (ja) 2022-08-30
GB201611698D0 (en) 2016-08-17
JP2023162388A (ja) 2023-11-08
KR20190025942A (ko) 2019-03-12
KR102467625B1 (ko) 2022-11-16
SG11201811008RA (en) 2019-01-30
US20210194697A1 (en) 2021-06-24
EP3482365A1 (en) 2019-05-15
JP2019526192A (ja) 2019-09-12
ZA201900510B (en) 2023-07-26
US20230144153A1 (en) 2023-05-11
WO2018007916A1 (en) 2018-01-11
US11463260B2 (en) 2022-10-04
CN109478278A (zh) 2019-03-15
SG10202112767PA (en) 2021-12-30
JP7096774B2 (ja) 2022-07-06
CN109478278B (zh) 2024-03-08

Similar Documents

Publication Publication Date Title
JP7344350B2 (ja) 外部プロセス又はシステムを制御するブロックチェーンを実装した制御方法及びシステム
US11777953B2 (en) Systems and methods for managing digital identities
Maesa et al. Blockchain 3.0 applications survey
Yue et al. Big data model of security sharing based on blockchain
CN111295655B (zh) 用于一个或多个进程的分布式隐私保护共享执行的计算机系统和方法
Joshi et al. Adoption of blockchain technology for privacy and security in the context of industry 4.0
JP2020184675A (ja) 情報管理システム、情報管理方法及び情報管理プログラム
Nabi Comparative study on identity management methods using blockchain
Hassan et al. Future of the internet of things emerging with blockchain and smart contracts
Zhang et al. Appb: Anti-counterfeiting and privacy-preserving blockchain-based vehicle supply chains
Charalampidis et al. When distributed ledger technology meets internet of things--benefits and challenges
Pillai et al. Blockchain interoperability: performance and security trade-offs
Jahanbin et al. Towards CRISP‐BC: 3TIC specification framework for Blockchain use‐cases
CN115567540A (zh) 一种基于区块链技术的在线学习评价方法及系统
KR102450412B1 (ko) 사물인터넷에서 서비스 수준 협약 기반 공유경제 서비스 제공시스템 및 제공방법
Prasath et al. Autonomous Application in Requirements Analysis of Information System Development for Producing a Design Model
Rajendar et al. Blockchain for Securing Autonomous Vehicles
CN118035959A (en) Control method and system for controlling a blockchain implementation of an external process or system
Kumari et al. Academic and Commercial Circles in Block Chain Secure Privacy and Scalability at Block Chain Technologies
Khaki et al. Utilizing Blockchain Technologies with IoT
Stal et al. Blockchain as a disruptive technology in Education 4.0
Leistert On the question of blockchain activism

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220624

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230627

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: 20230704

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230803

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230901

R150 Certificate of patent or registration of utility model

Ref document number: 7344350

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150