JP7003133B2 - スクリプトサイズ及びオペコードリミットに対するセキュリティベース制限を維持しながらブロックチェーン上の複雑な機能を有効するためのコンピュータにより実現されるシステム及び方法 - Google Patents

スクリプトサイズ及びオペコードリミットに対するセキュリティベース制限を維持しながらブロックチェーン上の複雑な機能を有効するためのコンピュータにより実現されるシステム及び方法 Download PDF

Info

Publication number
JP7003133B2
JP7003133B2 JP2019531799A JP2019531799A JP7003133B2 JP 7003133 B2 JP7003133 B2 JP 7003133B2 JP 2019531799 A JP2019531799 A JP 2019531799A JP 2019531799 A JP2019531799 A JP 2019531799A JP 7003133 B2 JP7003133 B2 JP 7003133B2
Authority
JP
Japan
Prior art keywords
blockchain
script
transaction
stack
result
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
JP2019531799A
Other languages
English (en)
Other versions
JP2020503749A (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
Priority claimed from GBGB1621831.5A external-priority patent/GB201621831D0/en
Priority claimed from GBGB1621827.3A external-priority patent/GB201621827D0/en
Priority claimed from GBGB1621830.7A external-priority patent/GB201621830D0/en
Application filed by Nchain Holdings Ltd filed Critical Nchain Holdings Ltd
Publication of JP2020503749A publication Critical patent/JP2020503749A/ja
Application granted granted Critical
Publication of JP7003133B2 publication Critical patent/JP7003133B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • 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/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、一般にブロックチェーン技術に関し、より詳細にはブロックチェーンを介し複雑な機能を実現することに関する。効果的には、本発明は、計算又は実行されたオペコードの結果が一方から他方に転送されることを可能にし、コンピュータにより実現されるプロセスの活動を有効にする、影響を与える及び指示するための制御機構としてブロックチェーントランザクションを利用する機構を提供する。本発明は特に、限定することなく、自動化されたプロセスの実現及び制御に適する。
本明細書では、限定することなく、ブロックチェーン及びトランザクションチェーン技術、パーミッション型及び非パーミッション型台帳、共有台帳及びこれらの変形を含む全ての形式の電子的なコンピュータベースの分散型台帳を含むよう“ブロックチェーン”という用語を使用する。他のブロックチェーン実施形態が提案及び開発されてきたが、ブロックチェーン技術の最も広範に知られるアプリケーションはビットコイン台帳である。ビットコインはここでは便宜上及び説明の目的のために参照されうるが、本発明はビットコインブロックチェーンと一緒に利用することに限定されず、他のブロックチェーン実施形態及びプロトコルが本発明の範囲内に属することに留意すべきである。
ブロックチェーンは、トランザクションから構成されるブロックから構成されるコンピュータベースの非中央化された分散システムとして実現されるコンセンサスベースの電子台帳である。各トランザクションは、少なくとも1つの入力と少なくとも1つの出力とを含む。各ブロックは前のブロックのハッシュを含み、当該ブロックは、それの開始以来ブロックチェーンに書き込まれた全てのトランザクションの永久的で変更不可なレコードを作成するよう一緒にチェーン化される。トランザクションは、当該トランザクションの出力がどのようにして、また誰によってアクセス可能であるかを指定する、入出力に埋め込まれるスクリプトとして知られる小さなプログラムを含む。ビットコインプラットフォーム上では、これらのスクリプトはスタックベースのスクリプト言語を用いて記述される。スクリプトは、データアイテムをスタック上にプッシュするか、あるいはスタックからそれらをポップオフする命令(オペコード)から構成される。
トランザクションがブロックチェーンに書き込まれるため、それは“検証”される必要がある。ネットワークノード(マイナ)は、無効なトランザクションがネットワークから拒絶されることによって、各トランザクションが有効であることを保証するための作業を実行する。ノード上にインストールされているソフトウェアクライアントは、それのロック及びアンロックスクリプトを実行することによって、未使用のトランザクション(UTXO)に対して当該検証作業を実行する。ロック及びアンロックスクリプトの実行がTRUEと評価した場合、トランザクションは有効であり、ブロックチェーンに書き込まれる。従って、トランザクションがブロックチェーンに書き込まれるため、それは、i)トランザクションを受信した第1のノードによって検証され、トランザクションが検証された場合、ノードはそれをネットワークにおける他のノードに中継し、ii)マイナによって構築された新たなブロックに追加され、iii)マイニング、すなわち、過去のトランザクションの公開台帳に追加される必要がある。
ブロックチェーン技術は仮想通貨実施形態の利用について最も広く知られているが、デジタル起業家は、ビットコインの基礎となる暗号セキュリティシステムと、新たなシステムを実現するためブロックチェーン上に格納可能なデータとの双方の利用を探求し始めている。それは、ブロックチェーンが仮想通貨の領域に限定されない自動化されたタスク及びプロセスについて利用可能である場合、大変効果的である。そのような手段は、それらのアプリケーションにおいてより多才でありながら、ブロックチェーンの利点(例えば、永久的で改ざん耐性なイベントのレコード、分散処理など)を利用することが可能である。
現在の研究の1つのエリアは、“スマートコントラクト”、すなわち、機械可読なドキュメントに与えられた条件に対して実行され、結果を生成し、その後、これらの結果に依存してアクションを実行させることが可能な入力を処理可能なルールを含む機械実行可能なプログラムの実現のためのブロックチェーンの利用である。
しかしながら、ますます洗練されたアプリケーションがブロックチェーン技術について考案されるに従って、複雑になり続けるスクリプト機能に対する必要がまた生じる。ブロックチェーン技術はスクリプト内で正当に実現可能なことを制限及び限定するよう意図的に設計されているため、技術的問題がここでは生じる。例えば、セキュリティの考慮のため、ビットコインスクリプト言語は、慎重に非チューリング完全である。さらに、DoS攻撃を防ぐため、200個のオペコードの上限がスクリプト毎に課せられている。ビットコイントランザクションスクリプトが200個より少ないオペコードを含む限り、それは検証及びブロードキャスト可能である。しかしながら、より高度なプログラム要素(例えば、プリミティブ)の出現によって、このリミットは、スマートコントラクトの実行などのアプリケーションのためのより複雑な技術的手段の開発を制限する。
従って、セキュリティを損なうことなく、及び/又は、既存のプロトコルの何れかの適応を必要とすることなく、複雑な機能がブロックチェーンスクリプトに構築されることを可能にする技術的手段が必要とされる。好ましくは、当該手段は、ビットコインプロトコルなどの既存のブロックチェーンプロトコルの機能が、ブロックチェーントランザクションを利用することによってインフラストラクチャが新規で効果的な方法によって利用され、スタックがそれの現在のリミットを超えてトランザクションの計算能力を拡大することを可能にすることを許容するであろう。そのような技術は、トランザクションの利用が技術的プロセスの実行を制御し、影響を与え、指示することを可能にするであろう。
そのような手段がここで考案された。本発明は、ここに説明される効果を少なくとも提供する。
本発明は、添付した請求項において規定される。従って、本発明によると、方法及び/又は対応するシステムが提供されうる。
一観点によると、本発明は、ブロックチェーンの利用を介し複雑な関数が実行されることを可能にする技術及び対応する実施形態を提供するとみなされうる。効果的には、当該技術は、各種個別の計算コンポーネントの組み合わせを利用して、指定された関数を実行しうる。これらは、ブロックチェーントランザクション及び/又はブロックチェーンを生成するよう構成され、少なくとも1つのプロセッサ上で実行される1つ以上のソフトウェアベースクライアント、少なくとも1つのストレージリソース(好ましくは、スタックベースデータ構造)、少なくとも1つのデジタルウォレットを含みうる。好ましくは、これは、ビットコインブロックチェーンであってもよい。
本発明の実施例は、複数のトランザクション及びそれらの入出力に対する技術的タスクの分解に関するものであってもよい。本発明の実施例は、少なくとも1つのデータストレージリソースからデータを取得し、当該データを利用して、特に各トランザクション入出力の間でスクリプト出力をわたすことによって、複数のブロックチェーントランザクションに対して実現されるタスク又は計算の実行を制御しうる。
上述した各種システムコンポーネントは、計算及びタスクがブロックチェーントランザクションを介し実行させることを可能にするため、データアイテムを取得してコンポーネント間でわたすよう構成されうる。これらの計算/タスクは、長くて複雑となりうるが、おそらくそこで利用されるスクリプトのサイズ及び/又はオペコードの個数に対して強制されるリミットのため、本発明前にはブロックチェーントランザクションを介し実行できなかった。
トランザクションがブロックチェーン上に配置されると、それらは変更不可であって永久的な方法で記録される。従って、一観点から、本発明は、改良されたブロックチェーンプロトコル、改良されたブロックチェーンクライアント、改良された計算技術及び対応する装置、及び/又は改良されたプロセス制御機構を提供する。
1つの意味では、本発明は、スクリプトサイズ及びオペコードリミットに対するセキュリティに基づく制限を依然として維持しながら、複雑な計算がブロックチェーンプロトコルを介し実行されることを可能にする。本発明の前に、そのような長い計算は、例えば、現在のビットコインプロトコルを利用して不可能であるか、あるいは、スクリプトベースの制限を含まない他の形式のブロックチェーンを利用する必要があった。後者は常に望ましい又は実現可能であるとは限らない。従って、本発明は、エンハンスされたセキュリティ機構を提供する。それがプロトコルを介し従来可能でなかった結果を実現する手段を提供するため、本発明は、改良されたブロックチェーンプロトコルを提供する。
本発明による方法は、複数のブロックチェーントランザクションを利用してコンピュータにより実現されるタスクを実行する方法として説明されうる。さらに又はあるいは、それは、
・2つ以上のそれぞれのブロックチェーントランザクションにおいて提供されるロック及びアンロックスクリプトにタスクの一部の実行を割り当てる又は分散させることによって、コンピュータにより実現されるタスクの実行を制御し、
・スタックベースデータ構造から値を読み込み、それをアンロックスクリプトからロックスクリプトに値としてわたすことによって、コンピュータにより実現されるタスクの実行を制御する、
方法として説明されうる。
当該方法は、
ブロックチェーントランザクション(Tx2)における第1の入力(In1)に関連するアンロックスクリプト(ULS1)を利用して、スタック上の結果を提供するため、他のトランザクション(Tx1)のロックスクリプト(LS1)に少なくとも1つのデータアイテムを提示するステップと、
第2の入力(In2)を含むよう前記ブロックチェーントランザクション(Tx2)を補正するステップと、
前記スタックからの結果を含み、前記第2の入力(In2)に関連する更なるアンロックスクリプト(ULS2)を生成するステップと、及び/又は、
前記スタックからの結果が更なるロックスクリプト(LS2)に入力として提供されるように、前記更なるアンロックスクリプト(ULS2)を前記更なるロックスクリプト(LS2)に提示するステップとを有してもよい。
ブロックチェーントランザクションは、あるバージョンのビットコインプロトコルに従って構成されてもよい。
当該方法は更に、
請求項1のステップの1つ以上は1回より多く実行するステップを有してもよい。
当該方法は更に、
前記ロックスクリプト(LS1)内に提供される計算又は命令系列の実行において少なくとも1つのデータアイテムを利用するステップを更に有してもよい。
当該方法は更に、
前記更なるロックスクリプト(LS2)内に提供される計算又は命令系列の実行において前記スタック上に提供される結果を利用するステップを更に有してもよい。
当該方法は更に、
前記スタックから前記結果を取得するステップを更に有してもよい。
当該方法は更に、
前記スタック上に結果を生成するため、前記ブロックチェーントランザクション(Tx2)及び/又は前記他のトランザクション(Tx1)を検証するステップを更に有してもよい。
前記アンロックスクリプト(ULS1)及び前記更なるアンロックスクリプト(ULS2)は、前記同一のブロックチェーントランザクション(Tx2)内で異なる入力(In1,In2)に関連して提供されてもよい。本発明は、本発明の“実施例1”に関して実質的に後述されるものであってもよく、及び/又は、図1~3,9a及び9bに示される具体例によって示される技術又は原理に実質的に従うものであってもよい。
前記ロックスクリプト(LS1)及び前記更なるロックスクリプト(LS2)は、前記同一のブロックチェーントランザクション(Tx1)内で異なる出力に関連して提供されてもよい。効果的には、これは、2つのトランザクションしか機能を実現するため要求されないため、コンパクトで効率的な手段を提供する。これは、スペース及び記憶要求、費用、処理オーバヘッド及び複数のトランザクションの伝搬に関連する他の不利益を低減する。
前記更なるアンロックスクリプト(ULS2)を更なるロックスクリプト(LS2)に提示するステップは、前記スタック上又は異なるスタック上に更なる結果を提供してもよい。スタックはメインスタック又は代替スタックであってもよい。
当該方法は更に、
ブロックチェーンクライアントを利用して、前記スタックから結果を取得するステップを更に有してもよい。前記ブロックチェーンクライアントは、ビットコインクライアントであってもよい。それは、スタックから読み込み、リターン及び/又は取得することが可能となるよう適応化、構成又は設定されうる。
当該方法は更に、
前記ブロックチェーンネットワークに前記ブロックチェーントランザクション(Tx2)及び/又は他のブロックチェーントランザクション(Tx1)を送信するステップを更に有してもよい。
前記少なくとも1つのデータアイテムは、前記アンロックスクリプト(ULS1)内でメタデータとして提供される。前記結果は、前記更なるアンロックスクリプト(ULS2)内でメタデータとして提供されてもよい。
本発明はまた、対応するシステム及び装置を有する。本発明は、上述した又は実質的に以降に説明される何れか上記の方法ステップを実現するよう構成及び設定されるコンピュータにより実現されるシステムを有してもよい。
本発明の上記及び他の態様は、ここに説明される実施例から明らかであり、参照することにより明確になるであろう。本発明の実施例は、添付図面を参照して例示的に説明される。
本発明の第1の実施例による複数入出力アプローチに関するトランザクションのチェーン及び順次的なステップを示す。 本発明の第1の実施例の例示的バージョンによるトランザクション1(Tx1)を示す。 本発明の第1の実施例の例示的バージョンによるトランザクション2(Tx2)を示す。 実施例2の例示的バージョンによる例示的なトランザクションのチェーンを示す。 実施例2の例示的バージョンによるトランザクション1,2,3,4を示す。 実施例2の例示的バージョンによるトランザクション1,2,3,4を示す。 実施例2の例示的バージョンによるトランザクション1,2,3,4を示す。 実施例2の例示的バージョンによるトランザクション1,2,3,4を示す。 本発明の例示的バージョンが実施例1によりどのように提供されうるかの図を示す。 本発明の例示的バージョンが実施例1によりどのように提供されうるかの図を示す。 ブロックチェーンクライアントがスタックの先頭に残されたアイテムを取得するのに利用されることのシンプルな図を示す。
以下の具体例では、最も広く知られているため、ビットコインを例示的なブロックチェーン実施形態及びプロトコルとして用いる。これは、説明のみのためであり、本発明はこれに限定されないことが留意されるべきである。他のブロックチェーン実施形態もまた本発明の範囲内に属する。
DoS(Denial of Service)攻撃の配置を防ぐため、デフォルトのビットコインクライアントは、有効なスクリプトに含めることが可能なバイト及びオペコードの最大数に対するリミットを設定する。本出願の優先日において、このリミットは10,000バイト及び201個のオペコードである。201個より多いオペコード又は10,000より多いバイトを含むスクリプトは有効でない。価値ある理由のために課されるが、この制限はより高度なスクリプト機能の開発と、ブロックチェーン技術に関連して動作するよう設計可能な技術手段の複雑さの妨げになる。
本発明は、ユーザが2つ以上のブロックチェーントランザクションの利用を介しブロックチェーンスクリプトを複数の入出力に分割することを可能にする2つの技術(実施例)を提供する。双方の実施例は、
・スタックの状態を読み、
・実行されたスクリプトの結果を伝搬する、すなわち、未使用のトランザクション出力の入力に通信し、
・大規模で複雑なスクリプトを複数のより小さいシンプルなユニットに分割する、
よう構成される自動化された計算エージェント(又は“ボット”)の能力に依拠しうる。
ビットコインなどのいくつかのブロックチェーン実施形態では、デフォルトのビットコインクライアントがこの情報アイテムへのアクセスを提供しないとき、カスタムクライアントは、スクリプトの終了後にスタックの状態が読まれることを可能にすることが必要とされうることが留意されるべきである。スタックは、ビットコインコアプログラムに含まれる.cppファイルにおけるリストとして表現される。スタックの動作をエミュレートするクラスに数行のコードを挿入することによって、リストに含まれる情報を取得及び返すことが可能である。その後、当該情報は、他の計算リソース及び/又は他の計算における利用のためわたされうる。これは図10に示される。
実行されたスクリプトの結果の伝搬は、自動化を必要とせず、(少なくとも原理的には)手動により実行可能である。しかしながら、典型的な実施形態では、コンパイラなどの外部システムが複雑なスクリプトを分割する際に関係する処理の自動化を扱うことが期待される。
効果的には、ビットコインプロトコルの何れの修正も本発明によって必要とされない。すなわち、カスタムクライアントはトランザクションを準備するのに必要とされうるが、トランザクションがブロードキャストされると、ビットコインネットワークの全てのノードはそれらを検証することが可能になる。
従って、本発明(の全てのバージョン)によると、基礎となるコンセプトはスクリプトを複数のチャンク又は機能部に分割し、次のチャンクの入力としてチャンクの出力を利用することである。これは、従来技術からの重要な乖離である。それは、ブロックチェーンがスクリプトサイズに対するリミットを維持しながら、複雑なタスク及び計算に利用されることを可能にし、計算プロセスの分散化された実行のための新規なアーキテクチャを提供する。
しかしながら、スクリプトの実行の最終的な結果はバイナリである、すなわち、トランザクションが無効とマークされるか、あるいは、有効とマークされる(それはまたその他の要件も充足していると仮定する)ことが留意されるべきである。従って、1つのチャンクの計算の出力と次のチャンクの計算の入力とを“接続”するため、上述したように、スタック上の値にアクセスし、それらを再利用することが可能な非リファレンスクライアントを利用する必要がある。
以下の方法で、
Figure 0007003133000001
OPコードに関して記述可能な以下のシンプルな具体例
Figure 0007003133000002
から始める。
これを以下の2つのチャンク
Figure 0007003133000003
に分割する。
第1のアプローチによると、ここで説明されるような手段が採用できる。
Aliceは以下のようにTx1を準備する。
Figure 0007003133000004
ここで、Bobは以下のようにしてTx2を準備することを始める。
Figure 0007003133000005
Bobはここでトランザクションに署名し、それを検証し、Tx1:Out1のアンロックスクリプトと一緒にチェーン化されたTx2:In1のアンロックスクリプトの出力をスタックから読む(ためにカスタマイズされたクライアントを利用する)。
その後、彼は以下の入出力を加えることによってTx2を変更するであろう。
Figure 0007003133000006
ここで、明らかにOP_5は第1のチャンクの計算の結果である。また、この場合、マルチシグネチャを利用して、Bobが他の何れかとOP_5が置換されたトランザクションをブロードキャストすることを防ぐことが可能である。このアプローチは、多数のチャンク(トランザクションにおける入出力の個数に対するリミットまで)が2つのみのトランザクションを利用してチェーン化可能であるという効果を有する。従って、複雑な機能及び計算が効率的な方法により実行可能であり、2つのみのトランザクションがブロックチェーンネットワークによって検証及びマイニングされることしか必要とされず、ブロックチェーンに対して最小限のストレージ要求しか利用しない。
他のアプローチによると、以下のステップがとられうる。
第1のトランザクションTx1が準備され、入力の全てのオーナによって共同で署名される。入力は以下のロックスクリプトを利用してAliceの公開鍵に送信される。
Figure 0007003133000007
Aliceは、ここで以下の方法でTx2を準備する。
Figure 0007003133000008
ここで、Tx2:In2はSIGHASH_NONEフラグと共に署名され、これにより、他の出力が追加できる。当該技術において知られるように、SIGHASH_NONEは、入力のみを署名するビットコインシグネチャハッシュタイプである。従って、SIGHASH_NONEが利用されるとき、誰もが選択する何れの方法でも出力を修正することができる。
Tx2:In1は、おそらくAliceのファンドを参照し、SIGHASH_SINGLEによりアンロック可能であり、これにより、他の出力が再び追加可能である。現在の形式では、トランザクションはトランザクション費用として金額Aを移す。しかしながら、Aliceは現在の形式ではトランザクションをブロードキャストせず、それをローカルに単に検証する。検証プロセスでは、Tx2:In2のアンロックスクリプトがTx1:Outのロックスクリプトと一緒に実行され、
Figure 0007003133000009
スタックの実行の終了時、残りの結果は5になり、すなわち、第1のチャンクの計算の結果になる。Aliceのカスタムビットコインクライアントは、第1のチャンクの計算の結果を保存又は記録し、以下の2つの出力を加えることによってTx2を修正するが、
Figure 0007003133000010
彼女は、このとき通常のフラグSIGHASH_ALLと一緒にTx2の入力を再び署名し、これにより、トランザクションの出力の何れも修正できない。Bobは、OP_RETURNの後にOut3に格納されているデータを読むことによって、計算を終了することができる。
当該技術において知られるように、OP_RETURNは、トランザクション出力(TxO)を無効としてマーク付けするのに利用可能なビットコインOP_CODEである。OP_RETURNの後に提供されるデータはビットコイン支払に関して無視され、従って、OP_RETURNは、ブロックチェーンを介し非支払関連データを伝達するための機構として従来技術において利用されてきた。
Bobは、ここで以下のトランザクションを準備する。
Figure 0007003133000011
原理的には、OP_RETURNの後、DHTにインデックス化されたハッシュを格納可能であり、これにより、任意の長さの中間結果がトランザクションの間でわたすことができる。明らかに、本例では、Aliceは、Bobが上述したようなTx3を準備すると信用し、これにより、計算は良好に終了可能である。シンプルな拡張は、Tx2:Out2がAliceとBobとの双方によって署名されることを要求可能であり、これにより、Aliceは、Bobが正しいトランザクションを準備したと検証可能である。しかしながら、Bobは、トランザクションを準備すること、あるいは、それに署名することを拒絶することによって、実行を無限に遅延させることができる。Aliceはまた、Tx3を準備し、それをBobに送信し、OP_RETURN後にデータを格納することを回避できる。このアプローチは、各チャンクの計算がブロックチェーンにあることを確認するのに待機することを必要とすることが留意されるべきである。
基礎となる技術のこれら2つの実施形態の詳細な具体例が、添付図面を参照して以下において提供される。以下の説明は、以下のように構成される。
・“実施例1”は、2つのトランザクションのみ利用する第1のアプローチを説明し、複数の入出力が操作される。
・“実施例2”は、同じ技術的効果を実現するため、複数のトランザクションを“リンク”又はチェーン化する他のアプローチを説明する。2つのアプローチの組み合わせがまた可能であることに留意されたい。
双方の実施例の利用を説明するため、ここで以下のように定義される関数f(x,y,z)を評価する以下の具体例を考える。
Figure 0007003133000012
ここで(又はコンパイラは)、シンプルな関数の和としてf(x,y,z)を表現する。
Figure 0007003133000013
双方の実施例において、g及びgの引数を表す変数x,y,zはトランザクションアンロックスクリプトに含まれ、関数g及びg自体はロックスクリプトに含まれる。従って、以降において、“関数”及び“ロックスクリプト”という用語は互換的に利用する。特に、x及びyはgを含むロックスクリプトをアンロックするスクリプトにある。同様に、g(x,y)及びzは、gを含むロックスクリプトをアンロックするスクリプトにある。
本明細書の以降のセクションでは、利用する具体例はオペコードOP_ADD及びPrO_MULTを含む。これらの識別子はそれぞれ、算術演算加算(+)及び乗算(・)を表す。オペコードOP_X,OP_Y及びOP_Zは変数x,y,zを表す。シンボルG及びGは、g及びgに対応するロックスクリプトがアンロックされた後、スタックの先頭の値を表す。OP_ADDは、ビットコインスクリプト言語の一部を構成するオペコードである。“プリミティブオペレータ”を略した“PrO_MULT”という用語を用いて、乗算演算を実行するよう実行可能な演算を表す。ビットコインの現在のバージョンでは、乗算のためのオペコード(OP_MUL,OP_2MULなど)は無効にされ、PrO_MULTは、現在無効にされている機能を提供するためのカスタム定義された処理とすることができる。もちろん、OP_MULなどのオペコードが再び有効にされた場合、これらは代わりに利用可能である。従って、本発明は、標準的な(有効な)オペコードを利用する機能によってのみ利用可能であり、カスタムビルドな処理の実施形態の詳細は本発明の一部でないか、あるいは、関連する。従って、PrO_MULTがどのように実現されうるかに関する詳細は、本発明の理解に必要でなく、簡単化のためここには含まれていない。
ここに提供される具体例は、長いスクリプトの実行成功を条件として、ファンドがAliceからBobに移転される大変シンプルなスマートコントラクトの実行に対応する。スクリプト入力がBobによって提供され、2つの可能な悪意ある動作を想定可能である。第1に、Bobは、スクリプトが実行成功するように誤った入力を提供し、ファンドが彼に移転される。しかしながら、トランザクションがブロックチェーンに格納されると、入力は公衆に利用可能になり、Aliceがコントラクトに異議を唱えることを可能にする。第2に、BobがAliceからの移転を拒絶するための何らかの理由を有する場合、彼はトランザクションを無限に引き延ばし、従って、コントラクトの実行を防ぐ。最も直接的なシナリオでは、Aliceは、Bobがコントラクトの実行を引き延ばさず、正しい入力を提供することを単に信じる必要がある。更なるセキュリティ機構が、セキュリティを高めるために本発明のコンセプトと共に利用されてもよい。
実施例1:複数の入出力へのスクリプトの分割
図1、9a及び9bは、実施例1の複数入出力アプローチに関するトランザクションのチェーン及び順次的ステップを示す。Tx1は、Tx2によって使用される未使用トランザクション出力(UTXO)のセットを含む。Tx2の構築はステップ毎に徐々に進められる。各フェーズにおいて、エージェント(自動化されたソフトウェア)は、Tx1の1つのUTXOにアンロックスクリプトを提示する。エージェントはTx2を検証し、スタックの先頭の値を読み、新たなアンロックスクリプトを準備する。ブロックチェーントランザクション及びスクリプトの自動化された生成は、当該技術において知られ、従って、ここでは説明されない。
エージェントは、前のステップ(又は以前のステップから)においてスタックから取得された情報を利用してもよく、Tx1内に含まれる他のUTXOに当該新たなアンロックスクリプトを提示する。Tx2は、必要な全てのステップが本タスクに対して実現されると、ブロードキャストされる。
効果的には、この技術は、Tx2によって提供されるアンロックスクリプトに含まれる引数から、Tx1のロックスクリプトに含まれる関数を切断する。Tx1がブロックチェーンに追加され、検証されると、関数は変更不可になる。さらに、この段階では、関数の引数(入力)は未知であってもよい。それらは、Tx2が準備されるとき、以降にのみ明らかにされる。これは、効果的であり、エンハンスされたセキュリティを提供しうる。
実施例1のステップの系列が図1、9a及び9bに示され、以下のように説明できる。
ステップ0:Aliceは、ビットコインネットワークにトランザクション1(図1に示される)を送信する。
ステップ1:Bobは、トランザクション2の初期的バージョンを準備する。
ステップ3:Bobは、<Bob’s signature><OP_X><OP_Y><Redeem script 1>を出力0に提示する。Bobは、トランザクション1を検証し、スタックの先頭の値Gを読むが、トランザクション2をブロードキャストしない。
ステップ4:Bobは、<Bob’s signature><G><OP_Z><Redeem script 2>を出力1に提示する。Bobは、トランザクション2を検証し、スタックの先頭の値Gを読むが、トランザクション2をブロードキャストしない。
ステップ5:Bobは、<Bob’s signature><G><OP_X><Redeem script 3>を出力2に提示する。Bobは、トランザクション2を検証し、それをブロードキャストする。
簡単化のため、Tx1の入力及びTx2の出力に関する包括的な詳細を提供しない。図2は、トランザクション1(Tx1)を示す。図3は、トランザクション2(Tx2)を示す。
実施例2:複数のトランザクションへのスクリプトの分割
第2の実施例は、ブロックチェーントランザクションを利用して関数を構成する(図4を参照)。このアプローチは、原理的に前の実施例と類似する。しかしながら、検証フェーズ中、エージェントはスタックの先頭の値を読み、上述したように、OP_RETURN後にそれを追加する。
図5~8は、実施例2の例示的バージョンによるトランザクション1,2,3,4を示す。
上述した実施例は本発明を限定するものでなく説明するものであり、当業者は添付される請求項によって規定されるような本発明の範囲から逸脱することなく他の多数の実施例を設計可能であることが留意されるべきである。請求項において、括弧内に配置された参照符号は請求項を限定するものとして解釈されない。“有する”などの単語は、何れかの請求項又は明細書全体に列記された以外の要素又はステップの存在を排除しない。本明細書において、“有する”は“含む”又は“構成する”を意味する。要素の単数形の表現は、当該要素の複数形の表現を排除するものでない。本発明は、複数の個別の要素を含むハードウェアによって、また、適切にプログラムされたコンピュータによって実現されてもよい。複数の手段を列挙する装置クレームでは、これらの手段のいくつかは同一のハードウェアアイテムによって実現されてもよい。特定の手段が互いに異なる請求項に記載されているという単なる事実は、これらの手段の組み合わせが効果的に利用可能でないことを示すものでない。

Claims (16)

  1. 複数のブロックチェーントランザクションを利用してコンピュータにより実現されるタスクを実行する方法であって、
    ブロックチェーントランザクションにおける第1の入力に関連するアンロックスクリプトを利用して、スタック上の結果を提供するため、他のトランザクションのロックスクリプトに少なくとも1つのデータアイテムを提示するステップと、
    第2の入力を含むよう前記ブロックチェーントランザクションを補正するステップと、
    前記スタックからの結果を含み、前記第2の入力に関連する更なるアンロックスクリプトを生成するステップと、
    前記スタックからの結果が更なるロックスクリプトに入力として提供されるように、前記更なるアンロックスクリプトを前記更なるロックスクリプトに提示するステップと、
    を有する方法。
  2. 請求項1記載のステップの1つ以上を1回より多く実行するステップを更に有する、請求項1記載の方法。
  3. 前記ロックスクリプト内に提供される計算又は命令系列の実行において少なくとも1つのデータアイテムを利用するステップを更に有する、請求項1又は2記載の方法。
  4. 前記更なるロックスクリプト内に提供される計算又は命令系列の実行において前記スタック上に提供される結果を利用するステップを更に有する、請求項1乃至3何れか一項記載の方法。
  5. 前記スタックから前記結果を取得するステップを更に有する、請求項1乃至4何れか一項記載の方法。
  6. 前記スタック上に結果を生成するため、前記ブロックチェーントランザクション及び/又は前記他のトランザクションを検証するステップを更に有する、請求項1乃至5何れか一項記載の方法。
  7. 前記アンロックスクリプト及び前記更なるアンロックスクリプトは、同一の前記ブロックチェーントランザクション内で異なる入力に関連して提供される、請求項1乃至6何れか一項記載の方法。
  8. 前記ロックスクリプト及び前記更なるロックスクリプトは、同一の前記ブロックチェーントランザクション内で異なる出力に関連して提供される、請求項1乃至7何れか一項記載の方法。
  9. 前記更なるアンロックスクリプトを更なるロックスクリプトに提示するステップは、前記スタック上又は異なるスタック上に更なる結果を提供するステップを更に有する、請求項1乃至8何れか一項記載の方法。
  10. ブロックチェーンクライアントを利用して、前記スタックから結果を取得するステップを更に有する、請求項1乃至9何れか一項記載の方法。
  11. 前記ブロックチェーンクライアントは、ビットコインクライアントである、請求項10記載の方法。
  12. ブロックチェーンネットワークに前記ブロックチェーントランザクション及び/又は他のブロックチェーントランザクションを送信するステップを更に有する、請求項1乃至11何れか一項記載の方法。
  13. 前記少なくとも1つのデータアイテムは、前記アンロックスクリプト内でメタデータとして提供され、及び/又は、前記結果は、前記更なるアンロックスクリプト内でメタデータとして提供される、請求項1乃至12何れか一項記載の方法。
  14. 前記ブロックチェーンは、コンセンサスベースの分散型電子台帳であり、前記ブロックチェーンは、ビットコインブロックチェーンであり、前記トランザクションの1つ、一部又は全てはビットコイントランザクションであり、及び/又は、当該方法は前記ビットコインブロックチェーン上での実行のため構成される、請求項1乃至13何れか一項記載の方法。
  15. 当該方法を利用して、最終的な結果を計算し、前記最終的な結果を利用して、ブロックチェーンから離れて実行されるプロセスを制御するステップを更に有する、請求項1乃至14何れか一項記載の方法。
  16. 請求項1乃至15何れか一項記載の方法を実行するよう構成及び設定されるコンピュータにより実現されるシステム。
JP2019531799A 2016-12-21 2017-12-15 スクリプトサイズ及びオペコードリミットに対するセキュリティベース制限を維持しながらブロックチェーン上の複雑な機能を有効するためのコンピュータにより実現されるシステム及び方法 Active JP7003133B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
GB1621831.5 2016-12-21
GB1621830.7 2016-12-21
GB1621827.3 2016-12-21
GBGB1621831.5A GB201621831D0 (en) 2016-12-21 2016-12-21 Computer-implemented system and method
GBGB1621827.3A GB201621827D0 (en) 2016-12-21 2016-12-21 Computer-implemented system and method
GBGB1621830.7A GB201621830D0 (en) 2016-12-21 2016-12-21 Computer-implemented system and method
PCT/IB2017/058007 WO2018116104A1 (en) 2016-12-21 2017-12-15 Computer-Implemented Systems and Methods To Enable Complex Functionality On A Blockchain While Preserving Security-Based Restrictions On Script Size and Opcode Limits

Publications (2)

Publication Number Publication Date
JP2020503749A JP2020503749A (ja) 2020-01-30
JP7003133B2 true JP7003133B2 (ja) 2022-01-20

Family

ID=60990839

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2019531795A Active JP6983890B2 (ja) 2016-12-21 2017-12-15 スクリプトサイズ及びオペコードリミットに対するセキュリティベース制限を維持しながらブロックチェーン上の複雑な機能を有効するためのコンピュータにより実現されるシステム及び方法
JP2019531770A Active JP7039594B2 (ja) 2016-12-21 2017-12-15 スクリプトサイズ及びオペコードリミットに対するセキュリティベース制限を維持しながらブロックチェーン上の複雑な機能を有効するためのコンピュータにより実現されるシステム及び方法
JP2019531799A Active JP7003133B2 (ja) 2016-12-21 2017-12-15 スクリプトサイズ及びオペコードリミットに対するセキュリティベース制限を維持しながらブロックチェーン上の複雑な機能を有効するためのコンピュータにより実現されるシステム及び方法

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2019531795A Active JP6983890B2 (ja) 2016-12-21 2017-12-15 スクリプトサイズ及びオペコードリミットに対するセキュリティベース制限を維持しながらブロックチェーン上の複雑な機能を有効するためのコンピュータにより実現されるシステム及び方法
JP2019531770A Active JP7039594B2 (ja) 2016-12-21 2017-12-15 スクリプトサイズ及びオペコードリミットに対するセキュリティベース制限を維持しながらブロックチェーン上の複雑な機能を有効するためのコンピュータにより実現されるシステム及び方法

Country Status (9)

Country Link
US (5) US11669836B2 (ja)
EP (3) EP3387787B1 (ja)
JP (3) JP6983890B2 (ja)
KR (3) KR102504033B1 (ja)
CN (3) CN110063041B (ja)
HK (3) HK1254559B (ja)
TW (1) TWI753983B (ja)
WO (3) WO2018116105A1 (ja)
ZA (2) ZA201903969B (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6983890B2 (ja) * 2016-12-21 2021-12-17 エヌチェーン ホールディングス リミテッドNchain Holdings Limited スクリプトサイズ及びオペコードリミットに対するセキュリティベース制限を維持しながらブロックチェーン上の複雑な機能を有効するためのコンピュータにより実現されるシステム及び方法
GB201701589D0 (en) 2017-01-31 2017-03-15 Nchain Holdings Ltd Computer-implemented system and method
US11989208B2 (en) * 2018-08-06 2024-05-21 Inveniam Capital Partners, Inc. Transactional sharding of blockchain transactions
CN109447636A (zh) * 2018-10-15 2019-03-08 联动优势科技有限公司 一种资产转移方法及装置
CN109903161B (zh) * 2019-02-28 2021-11-09 百度在线网络技术(北京)有限公司 基于区块链的对象处理方法、装置、设备及介质
GB201907345D0 (en) * 2019-05-24 2019-07-10 Nchain Holdings Ltd Protocol for validating blockchain transactions
GB201907346D0 (en) * 2019-05-24 2019-07-10 Nchain Holdings Ltd Using blockchain transactions to provide off-chain functionality
CN110337102A (zh) * 2019-06-28 2019-10-15 阿里巴巴集团控股有限公司 基于区块链的终端锁定方法及装置
KR102057570B1 (ko) * 2019-09-16 2020-01-23 (주) 모로보기 블록체인 네트워크
GB2588660A (en) * 2019-10-31 2021-05-05 Nchain Holdings Ltd Request and response protocol using blockchain transactions
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities
CN112488712A (zh) * 2020-06-24 2021-03-12 杨刘琴 基于区块链大数据的安全识别方法及安全识别系统
CN112801665B (zh) * 2021-03-19 2021-08-24 北京万物智链科技有限公司 一种基于服务器中继的跨链交易方法及系统
GB202109064D0 (en) * 2021-06-24 2021-08-11 Nchain Licensing Ag Computer implemented method and system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160261404A1 (en) 2015-03-02 2016-09-08 Dell Products L.P. Methods and systems for obfuscating data and computations defined in a secure distributed transaction ledger
WO2016161073A1 (en) 2015-03-31 2016-10-06 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
WO2016164496A1 (en) 2015-04-06 2016-10-13 Bitmark, Inc. System and method for decentralized title recordation and authentication

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101430097B1 (ko) * 2006-09-15 2014-08-13 샌디스크 테크놀로지스, 인코포레이티드 비휘발성 메모리 및 클래스 기반의 업데이트 블록 대체 규칙을 위한 방법
US20160085955A1 (en) * 2013-06-10 2016-03-24 Doosra, Inc. Secure Storing and Offline Transferring of Digitally Transferable Assets
US11250493B2 (en) 2014-03-31 2022-02-15 Monticello Enterprises LLC System and method for performing social media cryptocurrency transactions
US11270298B2 (en) * 2014-04-14 2022-03-08 21, Inc. Digital currency mining circuitry
CN103927397B (zh) * 2014-05-05 2017-02-22 湖北文理学院 一种基于区块树的Web页面链接块的识别方法
CA2985040A1 (en) 2014-05-06 2015-12-03 Case Wallet, Inc. Cryptocurrency virtual wallet system and method
EP4148642A1 (en) 2014-05-09 2023-03-15 Veritaseum, Inc. Devices, systems, and methods for facilitating low trust and zero trust value transfers
KR101660627B1 (ko) * 2015-02-03 2016-09-28 한양대학교 에리카산학협력단 암호화 화폐의 거래를 보호하는 방법 및 장치
CN105991731A (zh) 2015-02-13 2016-10-05 中兴通讯股份有限公司 一种获取信息的方法、智能终端和服务端
US20160260095A1 (en) 2015-03-02 2016-09-08 Dell Products, Lp Containerized Computational Task Execution Management Using a Secure Distributed Transaction Ledger
SI3073670T1 (sl) 2015-03-27 2021-07-30 Black Gold Coin, Inc. Sistem in postopek za osebno identifikacijo in verifikacijo
US10963881B2 (en) * 2015-05-21 2021-03-30 Mastercard International Incorporated Method and system for fraud control of blockchain-based transactions
JP6636058B2 (ja) 2015-07-02 2020-01-29 ナスダック, インコーポレイテッドNasdaq, Inc. 分散トランザクションデータベースにおける出所保証のシステムおよび方法
CN105573828B (zh) * 2015-12-17 2019-04-12 布比(北京)网络技术有限公司 一种操作处理方法及装置
US9948467B2 (en) * 2015-12-21 2018-04-17 Mastercard International Incorporated Method and system for blockchain variant using digital signatures
WO2017145004A1 (en) * 2016-02-23 2017-08-31 nChain Holdings Limited Universal tokenisation system for blockchain-based cryptocurrencies
US20170287090A1 (en) 2016-03-31 2017-10-05 Clause, Inc. System and method for creating and executing data-driven legal contracts
US10333705B2 (en) * 2016-04-30 2019-06-25 Civic Technologies, Inc. Methods and apparatus for providing attestation of information using a centralized or distributed ledger
US10838846B1 (en) 2016-05-16 2020-11-17 Jpmorgan Chase Bank, N.A. Method and system for implementing an automation software testing and packaging framework
CN106096967A (zh) * 2016-06-20 2016-11-09 深圳市淘淘谷信息技术有限公司 一种用区块链来标示数字货币流通的方法
CN106130738A (zh) * 2016-08-25 2016-11-16 杭州天谷信息科技有限公司 一种支持国密算法的区块链系统
CN106503053B (zh) 2016-09-26 2019-07-16 江苏通付盾科技有限公司 Utxo查询方法及装置
JP6983890B2 (ja) * 2016-12-21 2021-12-17 エヌチェーン ホールディングス リミテッドNchain Holdings Limited スクリプトサイズ及びオペコードリミットに対するセキュリティベース制限を維持しながらブロックチェーン上の複雑な機能を有効するためのコンピュータにより実現されるシステム及び方法
CA3055829A1 (en) * 2017-03-08 2018-09-13 Ip Oversight Corporation System and method for creating commodity asset-secured tokens from reserves
US10891384B2 (en) * 2017-10-19 2021-01-12 Koninklijke Kpn N.V. Blockchain transaction device and method
WO2019116249A1 (en) * 2017-12-15 2019-06-20 nChain Holdings Limited Computer-implemented systems and methods for authorising blockchain transactions with low-entropy passwords
JP6736033B2 (ja) 2018-06-12 2020-08-05 フレセッツ株式会社 暗号通貨のためのウォレット装置及びその装置を用いる署名方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160261404A1 (en) 2015-03-02 2016-09-08 Dell Products L.P. Methods and systems for obfuscating data and computations defined in a secure distributed transaction ledger
WO2016161073A1 (en) 2015-03-31 2016-10-06 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
WO2016164496A1 (en) 2015-04-06 2016-10-13 Bitmark, Inc. System and method for decentralized title recordation and authentication

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
アンドレアス・M・アントノプロス,ビットコインとブロックチェーン,初版,NTT出版株式会社,2016年07月21日,pp.130-135

Also Published As

Publication number Publication date
TWI753983B (zh) 2022-02-01
ZA201903968B (en) 2021-01-27
HK1254558B (zh) 2020-03-20
JP2020503749A (ja) 2020-01-30
EP3387785A1 (en) 2018-10-17
WO2018116106A1 (en) 2018-06-28
JP7039594B2 (ja) 2022-03-22
JP2020514853A (ja) 2020-05-21
EP3387786B1 (en) 2019-02-20
WO2018116105A1 (en) 2018-06-28
WO2018116104A1 (en) 2018-06-28
KR20190094229A (ko) 2019-08-12
US20200092105A1 (en) 2020-03-19
US11669836B2 (en) 2023-06-06
US20190354976A1 (en) 2019-11-21
US11238450B2 (en) 2022-02-01
CN110169013A (zh) 2019-08-23
CN110063041A (zh) 2019-07-26
JP6983890B2 (ja) 2021-12-17
EP3387787A1 (en) 2018-10-17
US20230410106A1 (en) 2023-12-21
ZA201903969B (en) 2021-01-27
CN110169013B (zh) 2023-04-18
HK1254559B (zh) 2020-03-20
CN110063041B (zh) 2022-08-05
JP2020514854A (ja) 2020-05-21
US11087322B2 (en) 2021-08-10
KR102525244B1 (ko) 2023-04-24
TW201830271A (zh) 2018-08-16
KR102481934B1 (ko) 2022-12-27
US20220398579A1 (en) 2022-12-15
HK1254560B (zh) 2020-03-27
CN110169012B (zh) 2023-04-18
KR102504033B1 (ko) 2023-02-28
KR20190094217A (ko) 2019-08-12
EP3387786A1 (en) 2018-10-17
US20190356467A1 (en) 2019-11-21
CN110169012A (zh) 2019-08-23
EP3387787B1 (en) 2019-03-20
EP3387785B1 (en) 2019-02-20
KR20190094224A (ko) 2019-08-12

Similar Documents

Publication Publication Date Title
JP7003133B2 (ja) スクリプトサイズ及びオペコードリミットに対するセキュリティベース制限を維持しながらブロックチェーン上の複雑な機能を有効するためのコンピュータにより実現されるシステム及び方法
JP7220678B2 (ja) ブロックチェーン上で高レベル演算を提供する方法及びシステム
EP4012636A1 (en) Constraints on outputs of an unlocking transaction in a blockchain
KR20200086284A (ko) 최적화된 확인 가능한 계산을 위해 실행 가능한 명령어를 단순화하기 위한 시스템
Yi et al. Research on a suitable blockchain for IoT platform
Irfan et al. Declaration of Originality

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211027

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211228

R150 Certificate of patent or registration of utility model

Ref document number: 7003133

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150