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

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

Info

Publication number
JP2020514853A
JP2020514853A JP2019531770A JP2019531770A JP2020514853A JP 2020514853 A JP2020514853 A JP 2020514853A JP 2019531770 A JP2019531770 A JP 2019531770A JP 2019531770 A JP2019531770 A JP 2019531770A JP 2020514853 A JP2020514853 A JP 2020514853A
Authority
JP
Japan
Prior art keywords
blockchain
script
stack
transaction
unlock
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019531770A
Other languages
English (en)
Other versions
JP7039594B2 (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 GBGB1621830.7A external-priority patent/GB201621830D0/en
Priority claimed from GBGB1621827.3A external-priority patent/GB201621827D0/en
Application filed by Nchain Holdings Ltd filed Critical Nchain Holdings Ltd
Publication of JP2020514853A publication Critical patent/JP2020514853A/ja
Application granted granted Critical
Publication of JP7039594B2 publication Critical patent/JP7039594B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic 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)

Abstract

本発明は、ビットコインブロックチェーンなどのブロックチェーン技術に関する。本発明は、ブロックチェーントランザクションスクリプトの機能を複数のチャンク又は機能部に分解し、次のチャンクの入力として出力を利用する新規な技術を用いる。効果的には、これは、スクリプトサイズを最小限にしながら複雑なタスク及び計算にブロックチェーンを利用することを可能にし、また計算プロセスの分散化された実行のための新規なアーキテクチャを提供する。本発明は、複数のブロックチェーントランザクションを利用して、コンピュータにより実現されるタスクを実行する方法であって、ブロックチェーントランザクション(Tx2)におけるアンロックスクリプト(ULS1)を利用して、スタック上の結果を提供するため、他のトランザクション(Tx1)のロックスクリプト(LS1)に少なくとも1つのデータアイテムを提示するステップと、スタック上に提供された結果を含む更なるアンロックスクリプト(ULS2)を生成するステップと、スタックからの結果が更なるロックスクリプトに入力として提供されるように、更なるアンロックスクリプト(ULS2)を更なるロックスクリプト(LS2)に提示するステップとを有する方法を有する。

Description

本発明は、一般にブロックチェーン技術に関し、より詳細にはブロックチェーンを介し複雑な機能を実現することに関する。効果的には、本発明は、計算又は実行されたオペコードの結果が一方から他方に転送されることを可能にし、コンピュータにより実現されるプロセスの活動を有効にする、影響を与える及び指示するための制御機構としてブロックチェーントランザクションを利用する機構を提供する。本発明は特に、限定することなく、自動化されたプロセスの実現及び制御に適する。
本明細書では、限定することなく、ブロックチェーン及びトランザクションチェーン技術、パーミッション型及び非パーミッション型台帳、共有台帳及びこれらの変形を含む全ての形式の電子的なコンピュータベースの分散型台帳を含むよう“ブロックチェーン”という用語を使用する。他のブロックチェーン実施形態が提案及び開発されてきたが、ブロックチェーン技術の最も広範に知られるアプリケーションはビットコイン台帳である。ビットコインはここでは便宜上及び説明の目的のために参照されうるが、本発明はビットコインブロックチェーンと一緒に利用することに限定されず、他のブロックチェーン実施形態及びプロトコルが本発明の範囲内に属することに留意すべきである。
ブロックチェーンは、トランザクションから構成されるブロックから構成されるコンピュータベースの非中央化された分散システムとして実現されるコンセンサスベースの電子台帳である。各トランザクションは、少なくとも1つの入力と少なくとも1つの出力とを含む。各ブロックは前のブロックのハッシュを含み、ブロックは、それの開始以来ブロックチェーンに書き込まれた全てのトランザクションの永久的で変更不可なレコードを作成するよう一緒にチェーン化される。トランザクションは、当該トランザクションの出力がどのようにして、また誰によってアクセス可能であるかを指定する、入出力に埋め込まれるスクリプトとして知られる小さなプログラムを含む。ビットコインプラットフォーム上では、これらのスクリプトはスタックベースのスクリプト言語を用いて記述される。スクリプトは、データアイテムをスタック上にプッシュするか、あるいはスタックからそれらをポップオフする命令(オペコード)から構成される。
トランザクションがブロックチェーンに書き込まれるため、それは“検証”される必要がある。ネットワークノード(マイナ)は、無効なトランザクションがネットワークから拒絶されることによって、各トランザクションが有効であることを保証するための作業を実行する。ノード上にインストールされているソフトウェアクライアントは、それのロック及びアンロックスクリプトを実行することによって、未使用のトランザクション(UTXO)に対して当該検証作業を実行する。ロック及びアンロックスクリプトの実行がTRUEと評価した場合、トランザクションは有効であり、ブロックチェーンに書き込まれる。従って、トランザクションがブロックチェーンに書き込まれるため、それは、i)トランザクションを受信した第1のノードによって検証され、トランザクションが検証された場合、ノードはそれをネットワークにおける他のノードに中継し、ii)マイナによって構築された新たなブロックに追加され、iii)マイニング、すなわち、過去のトランザクションの公開台帳に追加される必要がある。
ブロックチェーン技術が仮想通貨実施形態の利用について最も広く知られているが、デジタル起業家は、ビットコインの基礎となる暗号セキュリティシステムと、新たなシステムを実現するためブロックチェーン上に格納可能なデータとの双方の利用を探求し始めている。それは、ブロックチェーンが仮想通貨の領域に限定されない自動化されたタスク及びプロセスについて利用可能である場合、大変効果的である。そのような手段は、それらのアプリケーションにおいてより多才でありながら、ブロックチェーンの利点(例えば、永久的で改ざん耐性なイベントのレコード、分散処理など)を利用することが可能である。
現在の研究の1つのエリアは、“スマートコントラクト”、すなわち、機械可読なドキュメントに与えられた条件に対して実行され、結果を生成し、その後、これらの結果に依存してアクションを実行させることが可能な入力を処理可能なルールを含む機械実行可能なプログラムの実現のためのブロックチェーンの利用である。
しかしながら、ますます洗練されたアプリケーションがブロックチェーン技術について考案されるに従って、複雑になり続けるスクリプト機能に対する必要がまた生じる。ブロックチェーン技術はスクリプト内で正当に実現可能なことを制限及び限定するよう意図的に設計されているため、技術的問題がここでは生じる。例えば、セキュリティの考慮のため、ビットコインスクリプト言語は、慎重に非チューリング完全である。さらに、DoS攻撃を防ぐため、200個のオペコードの上限がスクリプト毎に課せられている。ビットコイントランザクションスクリプトが200個より少ないオペコードを含む限り、それは検証及び配信可能である。しかしながら、より高度なプログラム要素(例えば、プリミティブ)の出現によって、このリミットは、スマートコントラクトの実行などのアプリケーションのためのより複雑な技術的手段の開発を制限する。
従って、セキュリティを損なうことなく、また、既存のプロトコルの何れかの適応を必要とすることなく、複雑な機能がブロックチェーンスクリプトに構築されることを可能にする技術的手段が必要とされる。好ましくは、当該手段は、ビットコインプロトコルなどの既存のブロックチェーンプロトコルの機能がブロックチェーントランザクションを利用することによってインフラストラクチャが新規で効果的な方法によって利用され、スタックがそれの現在のリミットを超えてトランザクションの計算能力を拡大することを可能にするであろう。そのような技術は、トランザクションの利用が技術的プロセスの実行を制御し、影響を与え、指示することを可能にするであろう。
そのような手段がここで考案された。本発明は、ここに説明される効果を少なくとも提供する。
本発明は、添付した請求項において規定される。従って、本発明によると、方法及び/又は対応するシステムが提供されうる。
一観点によると、本発明は、ブロックチェーンの利用を介し複雑な関数が実行されることを可能にする技術及び対応する実施形態を提供するとみなされうる。効果的には、当該技術は、各種個別の計算コンポーネントの組み合わせを利用して、指定された関数を実行しうる。これらは、ブロックチェーントランザクション及び/又はブロックチェーンを生成するよう構成され、少なくとも1つのプロセッサ上で実行される1つ以上のソフトウェアベースクライアント、少なくとも1つのストレージリソース(好ましくは、スタックベースデータ構造)、少なくとも1つのデジタルウォレットを含みうる。好ましくは、これは、ビットコインブロックチェーンであってもよい。
本発明の実施例は、複数のトランザクション及びそれらの入出力に対する技術的タスクの分解に関するものであってもよい。本発明の実施例は、少なくとも1つのデータストレージリソースからデータを取得し、当該データを利用して、特に各トランザクション入出力の間でスクリプト出力をわたすことによって、複数のブロックチェーントランザクションに対して実現されるタスク又は計算の実行を制御しうる。
上述した各種システムコンポーネントは、計算及びタスクがブロックチェーントランザクションを介し実行させることを可能にするため、データアイテムを取得してコンポーネント間でわたすよう構成されうる。これらの計算/タスクは、長くて複雑となりうるが、おそらくそこで利用されるスクリプトのサイズ及び/又はオペコードの個数に対して強制されるリミットのため、本発明前にはブロックチェーントランザクションを介し実行できなかった。
トランザクションがブロックチェーン上に配置されると、それらは変更不可であって永久的な方法で記録される。従って、一観点から、本発明は、改良されたブロックチェーンプロトコル、改良されたブロックチェーンクライアント、改良された計算技術及び対応する装置、及び/又は改良されたプロセス制御機構を提供する。
1つの意味では、本発明は、スクリプトサイズ及びオペコードリミットに対するセキュリティに基づく制限を依然として維持しながら、複雑な計算がブロックチェーンプロトコルを介し実行されることを可能にする。本発明の前に、そのような長い計算は、例えば、現在のビットコインプロトコルを利用して不可能であるか、あるいは、スクリプトベースの制限を含まない他の形式のブロックチェーンを利用する必要があった。後者は常に望ましい又は実現可能であるとは限らない。従って、本発明は、エンハンスされたセキュリティ機構を提供する。それがプロトコルを介し従来可能でなかった結果を実現する手段を提供するため、本発明は、改良されたブロックチェーンプロトコルを提供する。
本発明による方法は、ブロックチェーン方法(及び対応するシステム)として説明されうる。それは、複数のブロックチェーントランザクションを利用してコンピュータにより実現されるタスクを実行する方法として説明されうる。さらに又はあるいは、それは、
・2つ以上のそれぞれのブロックチェーントランザクションにおいて提供されるロック及びアンロックスクリプトにタスクの一部の実行を割り当てる又は分散させることによって、コンピュータにより実現されるタスクの実行を制御し、
・スタックベースデータ構造から値を読み込み、それをアンロックスクリプトからロックスクリプトに値としてわたすことによって、コンピュータにより実現されるタスクの実行を制御する、
方法として説明されうる。
当該方法は、
ブロックチェーントランザクション(Tx2)におけるアンロックスクリプト(ULS1)を利用して、スタック上の結果を提供するため、他のトランザクション(Tx1)のロックスクリプト(LS1)に少なくとも1つのデータアイテムを提示するステップと、
前記スタック上に提供された結果を含む更なるアンロックスクリプト(ULS2)を生成するステップと、
前記スタックからの結果が前記更なるロックスクリプトに入力として提供されるように、前記更なるアンロックスクリプト(ULS2)を更なるロックスクリプト(LS2)に提示するステップとを有してもよい。
ブロックチェーントランザクションは、あるバージョンのビットコインプロトコルに従って構成されてもよい。
上記ステップの1つ以上は繰り返されてもよく、すなわち、1回より多く実行されてもよい。
当該方法は更に、
前記ロックスクリプト(LS1)内に提供される計算又は命令系列の実行において少なくとも1つのデータアイテムを利用するステップを更に有してもよい。
当該方法は更に、
前記更なるロックスクリプト(LS2)内に提供される計算又は命令系列の実行において前記スタック上に提供される結果を利用するステップを更に有してもよい。
当該方法は更に、
前記スタックから前記結果を取得するステップを更に有してもよい。
当該方法は更に、
前記スタック上に結果を生成するため、前記ブロックチェーントランザクション(Tx2)及び/又は前記他のトランザクション(Tx1)を検証するステップを更に有してもよい。
前記アンロックスクリプト(ULS1)及び前記更なるアンロックスクリプト(ULS2)は、前記同一のブロックチェーントランザクション(Tx2)内で異なる入力に関連して提供されてもよい。
前記ロックスクリプト(LS1)及び前記更なるロックスクリプト(LS2)は、前記同一のブロックチェーントランザクション(Tx1)内で異なる出力に関連して提供されてもよい。
前記アンロックスクリプト(ULS1)及び前記更なるアンロックスクリプト(ULS2)は、異なるブロックチェーントランザクション内で入力に関連して提供されてもよい。前記ロックスクリプト(LS1)及び前記更なるロックスクリプト(LS2)は、異なるブロックチェーントランザクション内で出力に関連して提供されてもよい。
前記更なるアンロックスクリプト(ULS2)を更なるロックスクリプト(LS2)に提示するステップは、前記スタック上又は異なるスタック上に更なる結果を提供してもよい。
前記更なるアンロックスクリプト(ULS2)を生成するステップは、入力(In2)を挿入するために前記ブロックチェーントランザクション(Tx2)を補正するステップを含んでもよく、前記更なるアンロックスクリプト(ULS2)は、前記挿入される入力(In2)と関連付けされる。
当該方法は更に、
ブロックチェーンクライアントを利用して、前記スタックから結果を取得するステップを更に有してもよい。前記ブロックチェーンクライアントは、ビットコインクライアントであってもよい。スタックはメインスタック又は代替スタックであってもよい。
当該方法は更に、
前記ブロックチェーンネットワークに前記ブロックチェーントランザクション(Tx2)及び/又は他のブロックチェーントランザクション(Tx1)を送信するステップを更に有してもよい。
前記少なくとも1つのデータアイテムは、前記アンロックスクリプト(ULS1)内でメタデータとして提供され、及び/又は、前記結果は、前記更なるアンロックスクリプト(ULS2)内でメタデータとして提供されてもよい。
本発明の実施例はまた、複数のブロックチェーントランザクションを利用して、コンピュータにより実現されるタスクを実行する方法であって、
ブロックチェーントランザクション(Tx2)における第1の入力(In1)に関連するアンロックスクリプト(ULS1)を利用して、スタック上に結果を提供するため、他のトランザクション(Tx1)のロックスクリプト(LS1)に少なくとも1つのデータアイテムを提示するステップと、
第2の入力(In2)を含むように前記ブロックチェーントランザクション(Tx2)を補正するステップと、
前記第2の入力(In2)に関連する更なるアンロックスクリプト(ULS2)であって、スタックからの結果を含むアンロックスクリプト(ULS2)を生成するステップと、
スタックからの結果が更なるロックスクリプト(LS2)に入力として提供されるように、前記更なるアンロックスクリプト(ULS2)を更なるロックスクリプト(LS2)に提示するステップと、
を含む方法を提供してもよい。
当該方法は更に、
上記のステップの1つ以上を1回より多く実行するステップ、及び/又は、
前記ロックスクリプト(LS1)内に提供される計算又は命令系列の実行において少なくとも1つのデータアイテムを利用するステップ、及び/又は、
前記更なるロックスクリプト(LS2)内に提供される計算又は命令系列の実行において前記スタック上に提供される結果を利用するステップ、及び/又は、
前記スタックから前記結果を取得するステップ、及び/又は、
前記スタック上に結果を生成するため、前記ブロックチェーントランザクション(Tx2)及び/又は前記他のトランザクション(Tx1)を検証するステップ、
を有してもよい。
前記アンロックスクリプト(ULS1)及び前記更なるアンロックスクリプト(ULS2)は、前記同一のブロックチェーントランザクション(Tx2)内で異なる入力(In1,In2)に関連して提供されてもよい。前記ロックスクリプト(LS1)及び前記更なるロックスクリプト(LS2)は、前記同一のブロックチェーントランザクション(Tx1)内で異なる出力に関連して提供されてもよい。
前記更なるアンロックスクリプト(ULS2)を更なるロックスクリプト(LS2)に提示するステップは、前記スタック上又は異なるスタック上に更なる結果を提供してもよい。
当該方法は、ブロックチェーンクライアントを利用して、前記スタックから結果を取得するステップを更に有してもよい。ブロックチェーンクライアントは、ビットコインクライアントであってもよい。
本発明はまた、複数のブロックチェーントランザクションを利用して、コンピュータにより実現されるタスクを実行する方法であって、
ブロックチェーントランザクション(Tx2)における第1の入力(In1)に関連するアンロックスクリプト(ULS1)を利用して、スタック上に結果を提供するため、他のトランザクション(Tx1)の第1のロックスクリプト(LS1)に少なくとも1つのデータアイテムを提示するステップと、
第2の入力(In2)に関連し、スタックからの結果を含む更なるアンロックスクリプト(ULS2)を生成するステップであって、前記第2の入力(In2)は更なるブロックチェーントランザクション(Tx3)において提供される、生成するステップと、
スタックからの結果が更なるロックスクリプトに入力として提供されるように、前記更なるアンロックスクリプト(ULS2)を更なるロックスクリプト(LS2)に提示するステップと、
を含む方法を提供してもよい。
前記ロックスクリプト(LS1)及び前記更なるロックスクリプト(LS2)は、前記異なるブロックチェーントランザクションにおける出力に関連付けされてもよい。アンロックスクリプト(ULS1)及び更なるアンロックスクリプト(ULS2)は、異なるブロックチェーントランザクションにおける入力と関連付けされてもよい。
当該方法は更に、ロックスクリプト(LS1)内に提供される計算又は命令系列の実行において少なくとも1つのデータアイテムを利用するステップを有してもよい。
当該方法は更に、更なるロックスクリプト(LS2)内に提供される計算又は命令系列の実行においてスタック上に提供される結果を利用するステップを有してもよい。
当該方法は更に、スタックから結果を取得するステップを更に有してもよい。当該方法は更に、ブロックチェーンクライアントを利用して、スタックから結果を取得するステップを有してもよく、好ましくは、ブロックチェーンクライアントはビットコインクライアントである。
当該方法は更に、スタック上に結果を生成するため、ブロックチェーントランザクション(Tx2)、他のトランザクション(Tx1)及び/又は更なるトランザクション(Tx3)を検証するステップを有してもよい。
当該方法は更に、スタックから結果を取得し、リターンコマンド又は命令後、結果をアンロックスクリプトに挿入するステップを有してもよい。コマンド又は命令は、ビットコインOP_RETURNオペコードであってもよい。
本発明の実施例はまた、対応するシステム及び装置を有する。本発明は、上述した又は実質的に以降に説明される何れか上記の方法ステップを実現するよう構成及び設定されるコンピュータにより実現されるシステムを有してもよい。
本発明の上記及び他の態様は、ここに説明される実施例から明らかであり、参照することにより明確になるであろう。本発明の実施例は、添付図面を参照して例示的に説明される。
本発明の第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 2020514853
OPコードに関して記述可能な以下のシンプルな具体例
Figure 2020514853
から始める。
これを以下の2つのチャンク
Figure 2020514853
に分割する。
第1のアプローチによると、ここで説明されるような手段が採用できる。
Aliceは以下のようにTx1を準備する。
Figure 2020514853
ここで、Bobは以下のようにしてTx2を準備することを始める。
Figure 2020514853
Bobはここでトランザクションに署名し、それを検証し、Tx1:Out1のアンロックスクリプトと一緒にチェーン化されたTx2:In1のアンロックスクリプトの出力をスタックから読む(ためにカスタマイズされたクライアントを利用する)。
その後、彼は以下の入出力を加えることによってTx2を変更するであろう。
Figure 2020514853
ここで、明らかにOP_5は第1のチャンクの計算の結果である。また、この場合、マルチシグネチャを利用して、Bobが他の何れかとOP_5が置換されたトランザクションをブロードキャストすることを防ぐことが可能である。このアプローチは、多数のチャンク(トランザクションにおける入出力の個数に対するリミットまで)が2つのみのトランザクションを利用してチェーン化可能であるという効果を有する。従って、複雑な機能及び計算が効率的な方法により実行可能であり、2つのみのトランザクションがブロックチェーンネットワークによって検証及びマイニングされることしか必要とされず、ブロックチェーンに対して最小限のストレージ要求しか利用しない。
他のアプローチによると、以下のステップがとられうる。
第1のトランザクションTx1が準備され、入力の全てのオーナによって共同で署名される。入力は以下のロックスクリプトを利用してAliceの公開鍵に送信される。
Figure 2020514853
Aliceは、ここで以下の方法でTx2を準備する。
Figure 2020514853
ここで、Tx2:In2はSIGHASH_NONEフラグと共に署名され、これにより、他の出力が追加できる。当該技術において知られるように、SIGHASH_NONEは、入力のみを署名するビットコインシグネチャハッシュタイプである。従って、SIGHASH_NONEが利用されるとき、誰もが選択する何れの方法でも出力を修正することができる。
Tx2:In1は、おそらくAliceのファンドを参照し、SIGHASH_SINGLEによりアンロック可能であり、これにより、他の出力が再び追加可能である。現在の形式では、トランザクションはトランザクション費用として金額Aを移す。しかしながら、Aliceは現在の形式ではトランザクションをブロードキャストせず、それをローカルに単に検証する。検証プロセスでは、Tx2:In2のアンロックスクリプトがTx1:Outのロックスクリプトと一緒に実行され、
Figure 2020514853
スタックの実行の終了時、残りの結果は5になり、すなわち、第1のチャンクの計算の結果になる。Aliceのカスタムビットコインクライアントは、第1のチャンクの計算の結果を保存又は記録し、以下の2つの出力を加えることによってTx2を修正するが、
Figure 2020514853
彼女は、このとき通常のフラグSIGHASH_ALLと一緒にTx2の入力を再び署名し、これにより、トランザクションの出力の何れも修正できない。Bobは、OP_RETURNの後にOut3に格納されているデータを読むことによって、計算を終了することができる。
当該技術において知られるように、OP_RETURNは、トランザクション出力(TxO)を無効としてマーク付けするのに利用可能なビットコインOP_CODEである。OP_RETURNの後に提供されるデータはビットコイン支払に関して無視され、従って、OP_RETURNは、ブロックチェーンを介し非支払関連データを伝達するための機構として従来技術において利用されてきた。
Bobは、ここで以下のトランザクションを準備する。
Figure 2020514853
原理的には、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 2020514853
ここで(又はコンパイラは)、シンプルな関数の和としてf(x,y,z)を表現する。
Figure 2020514853
双方の実施例において、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 (19)

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

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
GB1621830.7 2016-12-21
GBGB1621831.5A GB201621831D0 (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
GB1621831.5 2016-12-21
GB1621827.3 2016-12-21
GBGB1621827.3A GB201621827D0 (en) 2016-12-21 2016-12-21 Computer-implemented system and method
PCT/IB2017/058009 WO2018116106A1 (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
JP2020514853A true JP2020514853A (ja) 2020-05-21
JP7039594B2 JP7039594B2 (ja) 2022-03-22

Family

ID=60990839

Family Applications (3)

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

Family Applications After (2)

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

Country Status (9)

Country Link
US (5) US11669836B2 (ja)
EP (3) EP3387786B1 (ja)
JP (3) JP7039594B2 (ja)
KR (3) KR102504033B1 (ja)
CN (3) CN110063041B (ja)
HK (3) HK1254559B (ja)
TW (1) TWI753983B (ja)
WO (3) WO2018116106A1 (ja)
ZA (2) ZA201903968B (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11669836B2 (en) * 2016-12-21 2023-06-06 Nchain Licensing Ag Computer-implemented systems and methods to enable complex functionality on a blockchain while preserving security-based restrictions on script size and opcode limits
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 百度在线网络技术(北京)有限公司 基于区块链的对象处理方法、装置、设备及介质
GB201907346D0 (en) * 2019-05-24 2019-07-10 Nchain Holdings Ltd Using blockchain transactions to provide off-chain functionality
GB201907345D0 (en) * 2019-05-24 2019-07-10 Nchain Holdings Ltd Protocol for validating blockchain transactions
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
CN111652615B (zh) * 2020-06-24 2021-01-29 广西新农商供应链科技有限公司 基于区块链大数据的安全识别方法及人工智能云服务平台
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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160283941A1 (en) * 2015-03-27 2016-09-29 Black Gold Coin, Inc. Systems and methods for personal identification and verification

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008033952A2 (en) * 2006-09-15 2008-03-20 Sandisk Corporation Non-volatile memory and method for class-based update block replacement rules
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页面链接块的识别方法
WO2015183497A1 (en) 2014-05-06 2015-12-03 Case Wallet, Inc. Cryptocurrency virtual wallet system and method
CN106664292A (zh) 2014-05-09 2017-05-10 凡尔塔斯姆有限公司 可选地具有估值过滤器的用于低信任和零信任价值转移的设备、系统和方法
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
US10484168B2 (en) 2015-03-02 2019-11-19 Dell Products L.P. Methods and systems for obfuscating data and computations defined in a secure distributed transaction ledger
US11200564B2 (en) 2015-03-31 2021-12-14 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
US20160300234A1 (en) * 2015-04-06 2016-10-13 Bitmark, Inc. System and method for decentralized title recordation and authentication
US10963881B2 (en) * 2015-05-21 2021-03-30 Mastercard International Incorporated Method and system for fraud control of blockchain-based transactions
EP3317775B1 (en) 2015-07-02 2022-02-16 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
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
WO2017173399A1 (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查询方法及装置
US11669836B2 (en) * 2016-12-21 2023-06-06 Nchain Licensing Ag Computer-implemented systems and methods to enable complex functionality on a blockchain while preserving security-based restrictions on script size and opcode limits
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
CN111480315A (zh) * 2017-12-15 2020-07-31 区块链控股有限公司 使用低熵密码授权区块链交易的计算机实现的系统和方法
JP6736033B2 (ja) 2018-06-12 2020-08-05 フレセッツ株式会社 暗号通貨のためのウォレット装置及びその装置を用いる署名方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160283941A1 (en) * 2015-03-27 2016-09-29 Black Gold Coin, Inc. Systems and methods for personal identification and verification

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6983890B2 (ja) スクリプトサイズ及びオペコードリミットに対するセキュリティベース制限を維持しながらブロックチェーン上の複雑な機能を有効するためのコンピュータにより実現されるシステム及び方法
EP3676778B1 (en) Constraints on inputs of an unlocking transaction in a blockchain

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211222

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

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220309

R150 Certificate of patent or registration of utility model

Ref document number: 7039594

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150