JP6892504B2 - スマートコントラクトを使用したマルチパーティトランザクションの実行 - Google Patents

スマートコントラクトを使用したマルチパーティトランザクションの実行 Download PDF

Info

Publication number
JP6892504B2
JP6892504B2 JP2019521367A JP2019521367A JP6892504B2 JP 6892504 B2 JP6892504 B2 JP 6892504B2 JP 2019521367 A JP2019521367 A JP 2019521367A JP 2019521367 A JP2019521367 A JP 2019521367A JP 6892504 B2 JP6892504 B2 JP 6892504B2
Authority
JP
Japan
Prior art keywords
transaction
blockchain network
payload
unconfirmed
computer
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
JP2019521367A
Other languages
English (en)
Other versions
JP2020502619A (ja
Inventor
ゲ・ジン
カイライ・シャオ
シュミン・ル
Original Assignee
アドバンスド ニュー テクノロジーズ カンパニー リミテッド
アドバンスド ニュー テクノロジーズ カンパニー リミテッド
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 アドバンスド ニュー テクノロジーズ カンパニー リミテッド, アドバンスド ニュー テクノロジーズ カンパニー リミテッド filed Critical アドバンスド ニュー テクノロジーズ カンパニー リミテッド
Publication of JP2020502619A publication Critical patent/JP2020502619A/ja
Application granted granted Critical
Publication of JP6892504B2 publication Critical patent/JP6892504B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/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/382Payment protocols; Details thereof insuring higher security of transaction
    • 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
    • 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/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3678Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • 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
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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
    • 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/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/3242Cryptographic 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 keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Development Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Power Engineering (AREA)
  • Computing Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)

Description

分散台帳システム(DLS)は、コンセンサスネットワークおよび/またはブロックチェーンネットワークとも称され得、参加しているエンティティが安全かつ不変にデータを記憶することを可能にするものである。DLSは、いかなる特定の使用の場合(たとえば暗号通貨)も参照することなく、一般にブロックチェーンネットワークと称される。例示のタイプのブロックチェーンネットワークは、パブリックブロックチェーンネットワーク、プライベートブロックチェーンネットワーク、およびコンソーシアムブロックチェーンネットワークを含み得る。パブリックブロックチェーンネットワークは、DLSを使用してコンセンサスプロセスに参加しているすべてのエンティティに開放される。プライベートブロックチェーンネットワークは、読取りパーミッションおよび書込みパーミッションを中心的に制御する特別なエンティティに提供される。コンソーシアムブロックチェーンネットワークは、エンティティの選択グループ(select group)に提供され、このグループはコンセンサスプロセスを制御し、アクセス管理層を含む。
エンティティ間にスマートコントラクトが生成され得、ブロックチェーンネットワークの内部で実行され得る。いくつかの例では、スマートコントラクトは、ブロックチェーンネットワークの内部のエンティティ間のトランザクションを定義することができる。たとえば、ブロックチェーンネットワークにおけるエンティティは、スマートコントラクトをコールしてマルチパーティトランザクションを開始することができる。いくつかの事例では、それぞれの参加しているエンティティが、スマートコントラクトが実行し始め得る前にトランザクションを別個に確認する必要がある。たとえば、それぞれの参加しているエンティティの単一の署名を確認する必要がある。
本明細書の実装形態は、ブロックチェーンネットワークにおけるマルチパーティスマートコントラクトの実行を検証するためにコンピュータで実施される方法を含む。より詳細には、本明細書の実装形態は、スマートコントラクトの実行における効率およびデータセキュリティの改善を対象とするものである。
いくつかの実装形態では、アクションには、ブロックチェーンネットワークにおけるコンピュータノードである第1のノードから第1のトランザクション情報を受け取るステップであって、第1のトランザクション情報が、トランザクションペイロード、第1のパブリックキー、およびトランザクションのための署名入りトランザクションペイロードを含む、ステップと、第1のパブリックキーを使用して署名入りトランザクションペイロードを検証するステップと、署名入りトランザクションペイロードを検証するステップに応答して未確認トランザクションデータパッケージ構築し、未確認トランザクションデータパッケージの確認状態を設定するステップと、ブロックチェーンネットワークにおけるコンピュータノードである第2のノードから第2のトランザクション情報を受け取るステップであって、第2のトランザクション情報が、トランザクションペイロードのハッシュ、第2のパブリックキー、およびトランザクションのためのトランザクションペイロードの署名入りハッシュを含む、ステップと、第2のパブリックキーを使用して第2のトランザクション情報を検証するステップと、未確認トランザクションデータパッケージの確認状態を更新するステップと、トランザクションに対するすべてのパーティがトランザクションを確認したことを指示する確認状態に応答してトランザクションペイロードを実行するステップとが含まれる。他の実装形態は、対応するシステムと、装置と、方法のアクションを遂行するように構成されてコンピュータの記憶装置上に符号化されたコンピュータプログラムとを含む。
これらおよび他の実施形態は、それぞれが、以下の特徴のうち1つまたは複数を任意選択で含み得る。未確認データパッケージが、マルチパーティトランザクションを実行するのに必要なすべてのノードのアドレスを含み、未確認データパッケージが、ブロックチェーンネットワークにより、キー値対における値として維持されている未確認トランザクションプールに記憶されており、ここにおいて、キー値対におけるキーは、未確認データパッケージに関連したトランザクションペイロードのハッシュであり、トランザクションペイロードは、ブロックチェーンネットワークにおける汎用一意識別子(universally unique identifier)を含み、アクションは、ブロックチェーンネットワークによって維持されているブロックチェーンにおけるトランザクションペイロードの実行を記録するステップをさらに含み、第1のパブリックキーおよび第2のパブリックキーは、ブロックチェーンネットワークによって維持されているブロックチェーンのブロックに記憶されており、トランザクションペイロードは、第1のノードと第2のノードの間の少なくとも1つのアセットの交換を含む。
本明細書は、命令を記憶して1つまたは複数のプロセッサに結合された、1つまたは複数の非一時的コンピュータ可読記憶媒体も提供するものであり、これらの命令が1つまたは複数のプロセッサによって実行されると、本明細書で提供される方法の実装形態による動作が、1つまたは複数のプロセッサによって遂行される。
本明細書は、本明細書で提供される方法を実施するためのシステムをさらに提供するものである。このシステムは、1つまたは複数のプロセッサと、命令を記憶して1つまたは複数のプロセッサに結合されたコンピュータ可読記憶媒体とを含み、これらの命令が1つまたは複数のプロセッサによって実行されると、本明細書で提供される方法の実装形態による動作が、1つまたは複数のプロセッサによって遂行される。
本明細書による方法は、本明細書で説明される態様および特徴のいかなる組合せも含み得ることが理解される。すなわち、本明細書による方法は、本明細書で具体的に説明される態様および特徴の組合せに限定されることなく、提供される態様および特徴のあらゆる組合せも含む。
本明細書の1つまたは複数の実装形態の詳細を、添付図面および以下の記述で説明する。本明細書の他の特徴および利点は、説明および図面、ならびに特許請求の範囲から明らかになるはずである。
本明細書の実装形態を実行するのに使用され得る例示の環境を描写する図である。 本明細書の実装形態による例示の概念的構造を描写する図である。 本明細書の実装形態によるマルチパーティトランザクションを実行するための例示の信号図である。 本明細書の実装形態によって実行され得る例示のプロセスを描写する図である。
様々な図面において同じ参照符号は同じ要素を示す。
本明細書の実装形態は、ブロックチェーンネットワークにおけるマルチパーティスマートコントラクトの実行を検証するためにコンピュータで実施される方法を含む。より詳細には、本明細書の実装形態は、スマートコントラクトを使用するマルチパーティトランザクションのトランザクション確認状態を維持するステップと、すべてのパーティの確認が受け取られた後にトランザクションを実行するステップとを対象とするものである。いくつかの実装形態では、アクションには、ブロックチェーンネットワークにおけるコンピュータノードである第1のノードから第1のトランザクション情報を受け取るステップであって、第1のトランザクション情報が、トランザクションペイロード、第1のパブリックキー、およびトランザクションのための署名入りトランザクションペイロードを含む、ステップと、第1のパブリックキーを使用して署名入りトランザクションペイロードを検証するステップと、署名入りトランザクションペイロードを検証するステップに応答して未確認トランザクションデータパッケージ構築し、未確認トランザクションデータパッケージの確認状態を設定するステップと、ブロックチェーンネットワークにおけるコンピュータノードである第2のノードから第2のトランザクション情報を受け取るステップであって、第2のトランザクション情報が、トランザクションペイロードのハッシュ、第2のパブリックキー、およびトランザクションのためのトランザクションペイロードの署名入りハッシュを含む、ステップと、第2のパブリックキーを使用して第2のトランザクション情報を検証するステップと、未確認トランザクションデータパッケージの確認状態を更新するステップと、トランザクションに対するすべてのパーティがトランザクションを確認したことを指示する確認状態に応答してトランザクションペイロードを実行するステップとが含まれる。
本明細書の実装形態のさらなるコンテキストを提供するために、上記で導入されたように、コンセンサスネットワークおよびブロックチェーンネットワーク(たとえばピアツーピアノードから構成されている)とも称され得る分散台帳システム(DLS)により、参加しているエンティティは、安全かつ不変に、トランザクションを行ったりデータを記憶したりすることが可能になる。ブロックチェーンという用語は、一般にビットコインの暗号通貨ネットワークに関連したものであるが、本明細書では、一般に、いかなる特別な使用の場合も参照することなくDLSを参照するのに使用される。上記で導入されたように、ブロックチェーンネットワークは、パブリックブロックチェーンネットワーク、プライベートブロックチェーンネットワーク、またはコンソーシアムブロックチェーンネットワークとしてもたらされ得る。本明細書では、参加しているエンティティの間に公開されるパブリックブロックチェーンネットワークを参照しながら、本明細書の実装形態がより詳細に説明される。しかしながら、本明細書の実装形態は、任意の適切なタイプのブロックチェーンネットワークにおいて実現され得ることが企図されている。
本明細書の実装形態のさらなるコンテキストを提供するために、ブロックチェーンネットワークにおいてアプリケーションを開発し、試験して、ブロックチェーンネットワークの内部で実行するように展開することができる。例示のアプリケーションは、スマートコントラクトを制限なく含むことができる。スマートコントラクトは、様々なパーティに影響を及ぼす契約条項を有する現実の適法契約のデジタル表現と説明され得る。スマートコントラクトは、例示のコンテキストにおいて、コンソーシアムブロックチェーンネットワークの内部で実施され、記憶され、(必要に応じて)更新され、実行される。スマートコントラクトに関連したコントラクトパーティ(たとえば購買者および販売者)は、コンソーシアムブロックチェーンネットワークにおけるノードとして表現される。
いくつかの例では、スマートコントラクトに記憶され得るデータは、情報、事実、提携、差引勘定、およびコントラクトを実行するための論理を実施するのに必要な何らかの他の情報を記録するのに使用され得る。スマートコントラクトは、スマートコントラクトのインスタンスが生成され得る関数から成るコンピュータ実行可能プログラムとして記述され得、関数は、その中の論理を実行するために呼び出される。
専門用語では、スマートコントラクトは、オブジェクトおよびオブジェクト指向のクラスに基づいて実施され得る。たとえば、スマートコントラクトの事項および構成要素は、スマートコントラクトを実施するアプリケーションによって扱われるオブジェクトとして表現され得る。スマートコントラクト(またはスマートコントラクトにおけるオブジェクト)は、他のオブジェクト指向のオブジェクトと同様の別のスマートコントラクト(または同一のスマートコントラクトにおけるオブジェクト)をコールすることができる。オブジェクトによって行われるコールは、たとえば別のクラスのオブジェクトを生成する、更新する、削除する、伝搬させる、または同オブジェクトと通信するためのコールであり得る。オブジェクト間のコールは、関数、方法、アプリケーションプログラミングインターフェース(API)、または他のコール機構として実施され得る。たとえば、第1のオブジェクトは、第2のオブジェクトを生成する関数をコールすることができる。
上記の状況を考慮して、本明細書の実装形態が、より詳細に本明細書で説明される。より詳細には、上記で導入されたように、本明細書の実装形態は、スマートコントラクトを使用するマルチパーティトランザクションのトランザクション確認状態を維持するステップと、すべてのパーティの確認が受け取られた後にトランザクションを実行するステップとを対象とするものである。
図1は、本明細書の実装形態を実行するのに使用され得る例示の環境100を描写するものである。いくつかの例では、エンティティは、例示の環境100によってブロックチェーンネットワーク102に参加することができる。ブロックチェーンネットワーク102は、パブリックブロックチェーンネットワーク、プライベートブロックチェーンネットワーク、またはコンソーシアムブロックチェーンネットワークであり得る。例示の環境100は、コンピュータデバイス106、108、およびネットワーク110を含む。いくつかの例では、ネットワーク110は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、インターネット、またはその組合せを含み、ウェブサイト、ユーザデバイス(たとえばコンピュータデバイス)、およびバックエンドシステムを接続する。いくつかの例では、ネットワーク110は、有線および/または無線の通信リンクを通じてアクセスされ得る。
描写された例では、コンピュータシステム106、108のそれぞれが、ブロックチェーンネットワーク102におけるノードとして参加することを可能にする任意の適切なコンピュータシステムを含み得る。例示のコンピュータデバイスは、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータデバイス、およびスマートフォンを制限なく含む。いくつかの例では、コンピュータシステム106、108のそれぞれが、ブロックチェーンネットワーク102と相互作用するための、1つまたは複数のコンピュータで実施されるサービスをホスティングする。たとえば、コンピュータシステム106は、第1のエンティティ(たとえばユーザA)が1つまたは複数の他のエンティティ(たとえば他のユーザ)とのそのトランザクションを管理するために使用するトランザクション管理システムなど、第1のエンティティのコンピュータで実施されるサービスをホスティングすることができる。コンピュータシステム108は、第2のエンティティ(たとえばユーザB)が1つまたは複数の他のエンティティ(たとえば他のユーザ)とのそのトランザクションを管理するために使用するトランザクション管理システムなど、第2のエンティティのコンピュータで実施されるサービスをホスティングすることができる。図1の例では、ブロックチェーンネットワーク102はノードのピアツーピアネットワークとして表現されており、コンピュータシステム106、108は、それぞれ第1のエンティティのノードおよび第2のエンティティのノードをもたらし、これらはブロックチェーンネットワーク102に参加する。
図2は、本明細書の実装形態による例示の概念的構造200を描写するものである。例示の概念的構造200は、エンティティ層202、ホスティングされたサービス層204、およびブロックチェーンネットワーク層206を含む。描写された例では、エンティティ層202には、それぞれがトランザクション管理システム208を有する、Entity_1(E1)、Entity_2(E2)、およびEntity_3(E3)といった3つのエンティティが含まれる。
描写された例では、ホスティングされたサービス層204は、それぞれのトランザクション管理システム208用のインターフェース210を含む。いくつかの例では、それぞれのトランザクション管理システム208は、プロトコル(たとえばハイパーテキスト転送プロトコルセキュア(HTTPS))を使用して、ネットワーク(たとえば図1のネットワーク110)を通じて、それぞれのインターフェース210と通信する。いくつかの例では、それぞれのインターフェース210が、それぞれのトランザクション管理システムとブロックチェーンネットワーク層206の間の通信接続をもたらす。より詳細には、インターフェース210は、ブロックチェーンネットワーク層206のブロックチェーンネットワーク212と通信する。いくつかの例では、インターフェース210とブロックチェーンネットワーク層206の間の通信はリモートプロシージャコール(RPC)を使用して行われる。いくつかの例では、インターフェース210は、それぞれのトランザクション管理システム208用のブロックチェーンネットワークノードを「ホスティングする」。たとえば、インターフェース210は、ブロックチェーンネットワーク212にアクセスするためのアプリケーションプログラムインターフェース(API)をもたらす。
本明細書で説明されたように、ブロックチェーンネットワーク212は、ブロックチェーン216における情報を不変に記録する複数のノード214を含むピアツーピアネットワークとしてもたらされる。単一のブロックチェーン216が概略的に描写されているが、ブロックチェーン216の複数のコピーがもたらされ、ブロックチェーンネットワーク212にわたって維持される。たとえば、それぞれのノード214がブロックチェーンのコピーを記憶する。いくつかの実装形態では、ブロックチェーン216は、ブロックチェーンネットワークに参加している2つ以上のエンティティの間で遂行されるトランザクションに関連した情報を記憶する。
本明細書でより詳細に説明されたように、本明細書の実装形態は、ブロックチェーンネットワークの内部のマルチパーティトランザクションの実行を対象とするものである。本明細書の実装形態によれば、スマートコントラクトはブロックチェーンネットワークにおいて実行し、トランザクションに参加しているユーザ(パーティ)の署名を検証する。いくつかの実装形態では、スマートコントラクトは、トランザクション状態が維持される未確認データ構造を含む。トランザクションに対するすべてのパーティが確認されるとトランザクションが実行される。
図3は、本明細書の実装形態によるマルチパーティトランザクションを実行するための例示の信号図300を描写するものである。図3の例示の信号図300は、ユーザA 302(たとえばブロックチェーンネットワークにおけるノード)、ユーザB 304(たとえばブロックチェーンネットワークにおけるノード)、ブロックチェーンネットワークの内部で実行するスマートコントラクト306、およびコントラクトマネージャ308を含む。
ユーザA 302は、トランザクションペイロードを構築する(310)ことにより、ブロックチェーンネットワークにおけるトランザクションを開始する。トランザクションペイロードは、意図されたトランザクションの詳細をもたらすデータパッケージである。たとえば、ユーザA 302は、ペイロードの中に、ブロックチェーンネットワークの内部のすべての参加しているエンティティ(たとえばユーザA 302およびユーザB 304)のアドレス、アセット、および/またはトランザクションの対象である値などを含むことができる。
ユーザA 302は、トランザクションペイロードにデジタル署名する(312)。いくつかの実装形態では、ユーザA 302は、非対称の暗号化技術を使用してトランザクションペイロードに署名する。たとえば、ユーザA 302は、パブリックキー(たとえばブロックチェーンネットワークの参加者なら誰でも知り得るpubkey_A)およびプライベートキー(たとえばユーザAにのみ知られるprivkey_A)を含む関連するキーペアを有することができる。ユーザA302は、プライベートキーを用いてトランザクションペイロードに署名して、ハッシュ値(たとえばsig_A(ペイロード)と表現される)をもたらす。[ペイロード, pubkey_A, sig_A(ペイロード)]といった例示のトランザクション情報パッケージがもたらされ得る。
本明細書の実装形態によれば、ユーザA 302は、トランザクションペイロードと、デジタル署名入りトランザクションペイロードと、スマートコントラクト306に対するパブリックキーとを含む、トランザクション情報パッケージを提出する(314)。ユーザA 302のデジタル署名はパブリックキーを使用して検証される(316)。いくつかの例では、スマートコントラクト306は、(たとえばユーザA 302から送られた)トランザクションが有効であることを検証して、トランザクションペイロードの実行を開始する。いくつかの例では、ブロックチェーンネットワークは、パブリックキーを使用してユーザA 302のデジタル署名を検証する。
トランザクションが、少なくとも2つのエンティティが参加しているマルチパーティトランザクションである場合には、スマートコントラクト306は、トランザクションペイロードを使用して未確認トランザクションデータパッケージを構築して未確認トランザクションプールに記憶し、確認を設定する(318)。未確認トランザクションデータパッケージの例示の確認状態は、[A:確認済, B:未確認]を含み得る。
いくつかの例では、未確認トランザクションプールは、スマートコントラクト306によって維持されたキー値対を含む記憶されたデータ(たとえば連想配列(associative array)、表)であり得る。未確認トランザクションプールにおけるキーは、トランザクションペイロードのハッシュ値であり、未確認トランザクションプールにおける値は、対応する未確認トランザクションデータパッケージである。たとえば、ユーザA 302がスマートコントラクト306にトランザクションペイロードを提出するとき、未確認トランザクションプールにおける通信エントリは、(ハッシュ(ペイロード)、[ペイロード, node_A_address, node_B_address, node_A_confirmation_status, node_B_confirmation_status])と表現され得る。
ユーザA 302は、スマートコントラクト306に署名入りトランザクションペイロードを提出するのに加えて、他の参加しているエンティティ(たとえばユーザB 304)にも署名入りトランザクションペイロードを提出する(320)。ユーザB 304は、ユーザA 302のパブリックキーを使用して署名入りペイロードを検証し、ペイロードをハッシュして、ハッシュされたペイロードに自分のプライベートキーを用いて署名する(322)。ユーザB 304は、ハッシュされたペイロード、署名入りのハッシュされたペイロード、および自分のパブリックキーをスマートコントラクト306に提出する。
スマートコントラクト306は、ユーザB 304のパブリックキーを使用してユーザB 304のデジタル署名を検証する(326)。スマートコントラクト306は、対応する未確認トランザクションデータパッケージを未確認トランザクションプールの内部に配置するためのキーとして、ハッシュされたペイロードを使用する(328)。ユーザB 304によって使用されるハッシュ関数は、スマートコントラクト306が未確認トランザクションデータパッケージを構築するときに使用するハッシュ関数と同一のものである。スマートコントラクト306は、ユーザB 302の確認状態を確認済(たとえば[A:確認済、B:確認済])に変更することにより、未確認トランザクションデータパッケージを更新する(328)。
代替実装形態では、未確認トランザクションデータパッケージは、それぞれのトランザクションペイロードに汎用一意識別子(UUID)を割り当てることによって配置され得る。ユーザB 304は、ハッシュされたペイロードに署名する代わりに、ユーザA 302がやったようにペイロード全体に署名する。スマートコントラクト306は、UUIDを使用して、ユーザB 304の未確認トランザクションの保留確認(unconfirmed transaction pending confirmation)を配置する。
スマートコントラクト306は、すべてのパーティ(たとえばユーザA 302およびユーザB 304)がトランザクションを確認した後にトランザクションを実行する(330)。トランザクションが3つ以上のエンティティを包含している場合には、開始したエンティティを除くエンティティの各々が、別個に、トランザクションペイロードをハッシュして署名する必要がある。いくつかの例では、トランザクションの実行は、コンセンサス処理のためにブロックチェーンネットワークにトランザクションを提出するステップと、ブロックチェーンに追加されるブロックの内部にトランザクションをパッケージングするステップとを含む。
スマートコントラクト306は、トランザクションが終了した後に(たとえばコンセンサス処理が成功してトランザクションがブロックチェーンに追加された後に)、このトランザクションを未確認トランザクションプールから除去する(332)。
いくつかの実装形態では、コントラクトマネージャ308は、未確認トランザクションプールを、終了条件に関して周期的に検査する。いくつかの例では、未確認トランザクションデータパッケージのみが、所定期間にわたって未確認トランザクションプールにとどまる。所定期間が満了すると(たとえば所定期間内にトランザクションを確認しないパーティがあった場合)、未確認トランザクションが削除される(334)。この時間制限により、ブロックチェーンネットワークのリソースが、不正エンティティが提出した望ましくないトランザクションによって占有されないことを保証する。
図4は、本明細書の実装形態によって実行され得る例示のプロセス400を描写するものである。いくつかの例では、例示のプロセス400は、1つまたは複数のコンピュータデバイスによって実行される1つまたは複数のコンピュータ実行可能プログラムを使用してもたらされる。たとえば、例示のプロセス400の少なくとも一部分は、ブロックチェーンネットワークの内部で実行するスマートコントラクト(たとえば図2のブロックチェーンネットワーク212の内部で実行する図3のスマートコントラクト306)によって実行され得る。
署名入りトランザクションが受け取られる(402)。たとえば、スマートコントラクト306は、ユーザA 302からトランザクションを受け取る(たとえば、ユーザA 302は、スマートコントラクト306に署名入りトランザクションパッケージを送る)。署名入りトランザクションの署名が有効かどうか判定される(404)。たとえば、スマートコントラクト306は、ユーザA 302のパブリックキーを使用してトランザクションの署名が有効かどうかを判定する。署名が無効であるとエラーが指示され、例示のプロセス400は終結する。
署名が有効であれば、未確認トランザクションパッケージが与えられて未確認トランザクションプールに記憶される(408)。たとえば、本明細書で説明されたように、スマートコントラクト306は、(たとえば、UUIDに基づき、ハッシュに基づき、)トランザクションにキーを与えて、トランザクションをキーとともに未確認トランザクションプールに記憶する。パーティ状態が設定される(410)。たとえば、スマートコントラクト306は、トランザクションのパーティ状態を[A:確認済, B:未確認]に設定する。
トランザクションに対するすべてのパーティがトランザクションを確認したかどうかが判定される(412)。すべてのパーティがトランザクションを確認していれば、トランザクションが実行される。たとえば、スマートコントラクト306は、コンセンサス処理のために、ブロックチェーンネットワークにトランザクションを提出する。いくつかの例では、このトランザクションは未確認トランザクションプールから削除される。
トランザクションが終了したかどうかが判定される(416)。たとえば、スマートコントラクト306は、コントラクトマネージャ308から、トランザクションが終了した(たとえば所定期間以上にわたって未確認であった)かどうかを判定するきっかけとなる周期信号を受け取る。トランザクションが終了していれば、このトランザクションは未確認トランザクションプールから削除される(418)。トランザクションが終了していなければ、別のトランザクションが受け取られているかどうかが判定される(420)。別のトランザクションが受け取られていなければ、例示のプロセス400は、416へ戻って、終了したかどうか検査する。
別のトランザクションが受け取られていれば、このトランザクションの署名が有効であるかどうかが判定される(422)。たとえば、スマートコントラクト306は、ユーザB 304からトランザクションを受け取る(たとえば、ユーザB 304は、スマートコントラクト306に署名入りトランザクションパッケージを送る)。署名が無効であると424でエラーが指示され、例示のプロセス400は420へ戻る。署名が有効であれば、このトランザクションが、未確認トランザクションプールに記憶されたトランザクションに対して対応するかどうかが判定される(426)。たとえば、スマートコントラクト306は、受け取ったトランザクション(たとえばハッシュ、UUID)の値を使用して、未確認トランザクションプールにおける対応するキーを探索する。このトランザクションは、未確認トランザクションプールになければ新規のトランザクションと見なされ得て、例示のプロセス400は、404へ戻って、このトランザクションを未確認トランザクションプールに追加する。このトランザクションが未確認トランザクションプールにある場合、例示のプロセス400は、本明細書で説明されたように、(410へ)戻ってパーティの状態を更新して(たとえば、スマートコントラクト306はトランザクションのパーティ状態を[A:確認済, B:確認済]に設定する)、すべてのパーティがそのトランザクションを確認したかどうかを判定する(412)。
説明された特徴は、デジタル電子回路、コンピュータのハードウェア、ファームウェア、ソフトウェア、またはそれらの組合せで実施され得る。装置は、プログラム可能なプロセッサで実行するための、情報媒体(たとえば機械可読の記憶装置)に具体的に収録されたコンピュータプログラム製品で実施され得、方法のステップは、入力データに対して動作して出力を生成することにより、説明された実装形態の機能を遂行する命令のプログラムを実行する、プログラム可能なプロセッサによって遂行され得る。説明された特徴は、データ記憶システムに対してデータおよび命令をやり取りするように結合された少なくとも1つのプログラム可能なプロセッサと、少なくとも1つの入力装置と、少なくとも1つの出力装置とを含むプログラマブルシステム上で実行可能な1つまたは複数のコンピュータプログラムにおいて有利に実施され得る。コンピュータプログラムは、特定の動作を遂行するため、または特定の結果をもたらすために、コンピュータにおいて直接的または間接的に使用され得る1組の命令である。コンピュータプログラムは、コンパイル型言語またはインタープリタ型言語を含めて任意の形式のプログラミング言語で記述され得、スタンドアロンプログラムとして、あるいはモジュール、コンポーネント、サブルーチン、またはコンピュータ環境で用いる適切な別のユニットとして、任意の形式に展開され得る。
プログラムの命令を実行するのに適切なプロセッサには、例として、汎用マイクロプロセッサおよび専用マイクロプロセッサ、ならびに任意の種類のコンピュータの唯一のプロセッサまたは複数のプロセッサのうち1つが含まれる。一般に、プロセッサは、命令およびデータを、読取り専用メモリもしくはランダムアクセスメモリまたはその両方から受け取ることになる。コンピュータの要素には、命令を実行するためのプロセッサならびに命令およびデータを記憶するための1つまたは複数の記憶装置が含まれ得る。一般に、コンピュータは、データファイルを記憶するための1つまたは複数の大容量記憶装置も含んでよく、またはこれと通信するように動作可能に結合されてもよく、そのような装置は、内部ハードディスクおよび取外し可能ディスクなどの磁気ディスクと、光磁気ディスクと、光ディスクとを含む。コンピュータプログラムの命令およびデータを具体的に実施するのに適切な記憶装置には、例として、EPROM、EEPROM、およびフラッシュメモリ素子などの半導体メモリ素子と、内部ハードディスクおよび取外し可能ディスクなどの磁気ディスクと、光磁気ディスクと、CD-ROMおよびDVD-ROMディスクとを含む、すべての形態の不揮発性記憶装置が含まれる。プロセッサおよび記憶装置は、特定用途向け集積回路(ASIC)を追加されてよく、または特定用途向け集積回路(ASIC)に組み込まれてもよい。
ユーザとの相互作用を提供するために、これらの特徴は、ユーザに情報を表示するための、ブラウン管(CRT)または液晶表示器(LCD)モニタなどの表示装置、ならびにユーザがコンピュータに入力を与えることができるキーボードおよびマウスまたはトラックボールなどのポインティングデバイスを有するコンピュータ上で実施され得る。
これらの特徴は、データサーバなどのバックエンドコンポーネントを含むコンピュータシステム、またはアプリケーションサーバもしくはインターネットサーバなどのミドルウェアコンポーネントを含むコンピュータシステム、またはグラフィカルユーザインターフェースもしくはインターネットブラウザを有するクライアントコンピュータなどのフロントエンドコンポーネントを含むコンピュータシステム、あるいはそれらの任意の組合せで実施され得る。システムの構成要素は、通信ネットワークなどのデジタルデータ通信の任意の形式または媒体によって接続され得る。通信ネットワークの例には、たとえば、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、ならびにインターネットを形成するコンピュータおよびネットワークが含まれる。
コンピュータシステムは、クライアントおよびサーバを備え得る。一般に、クライアントとサーバは互いに遠く離れていて、典型的には、説明されたものなどのネットワークを介して相互作用する。クライアントとサーバの関係は、それぞれのコンピュータ上で走って互いにクライアント対サーバの関係を有する各コンピュータプログラムによって生じる。
加えて、図に示された論理の流れは、望ましい結果を達成するのに、示された特定の順番または順序を必要とするわけではない。加えて、他のステップが与えられてよく、もしくは説明された流れからステップが削除されてもよく、または、説明されたシステムに対する他の構成要素の付加/除去が可能である。したがって、他の実装形態は、以下の特許請求の範囲の範囲内にある。
本明細書の複数の実装形態が説明されてきた。しかし、本明細書の趣旨および範囲から逸脱することなく、様々な修正形態が作製され得ることが理解されよう。したがって、他の実装形態は、以下の特許請求の範囲の範囲内にある。
100 環境
102 ブロックチェーンネットワーク
106 コンピュータデバイス
108 コンピュータデバイス
110 ネットワーク
120
200 概念的構造
202 エンティティ層
204 ホスティングされたサービス層
206 ブロックチェーンネットワーク層
208 トランザクション管理システム
210 インターフェース
212 ブロックチェーンネットワーク
214 ノード
216 ブロックチェーン
302 ユーザA
304 ユーザB
306 スマートコントラクト
308 コントラクトマネージャ

Claims (9)

  1. ブロックチェーンネットワークにおけるマルチパーティトランザクションを実行するためにコンピュータで実施される方法であって、
    前記ブロックチェーンネットワークにおけるコンピュータノードである第1のノードから第1のトランザクション情報を受け取るステップであって、
    前記第1のトランザクション情報が、トランザクションペイロード、第1のパブリックキー、および前記第1のパブリックキーに対応する第1のプライベートキーで生成された第1の署名を含む、ステップと、
    前記第1のパブリックキーを使用して前記トランザクションペイロードおよび前記第1の署名を検証するステップと、
    記トランザクションペイロードおよび前記第1の署名を検証する前記ステップに応答して、前記トランザクションペイロードのハッシュを含む未確認トランザクションデータパッケージを構築し、前記未確認トランザクションデータパッケージの確認状態を設定するステップと、
    前記ブロックチェーンネットワークにおけるコンピュータノードである第2のノードから第2のトランザクション情報を受け取るステップであって、
    前記第2のトランザクション情報が、前記トランザクションペイロードの前記ハッシュ、第2のパブリックキー、および前記第2のパブリックキーに対応する第2のプライベートキーで生成された第2の署名を含む、ステップと、
    前記第2のパブリックキーを使用して前記第2のトランザクション情報を検証するステップと、
    前記未確認トランザクションデータパッケージの前記確認状態を更新するステップと、
    前記マルチパーティトランザクションに対するすべてのパーティが前記マルチパーティトランザクションを確認したことを指示する前記確認状態に応答して、前記トランザクションペイロードを実行するステップと
    を含む方法。
  2. 前記未確認トランザクションデータパッケージが、前記マルチパーティトランザクションを実行するのに必要なすべてのノードのアドレスを含む、請求項1に記載の方法。
  3. 前記未確認トランザクションデータパッケージが、前記ブロックチェーンネットワークにより、キー値対における値として維持されている未確認トランザクションプールに記憶されており、
    前記キー値対におけるキーが、前記未確認トランザクションデータパッケージに関連した前記トランザクションペイロードの前記ハッシュである、請求項1に記載の方法。
  4. 前記トランザクションペイロードが、前記ブロックチェーンネットワークにおける汎用一意識別子を含む、請求項1に記載の方法。
  5. 前記ブロックチェーンネットワークによって維持されているブロックチェーンにおける前記トランザクションペイロードの実行を記録するステップをさらに含む、請求項1に記載の方法。
  6. 前記第1のパブリックキーおよび前記第2のパブリックキーが、前記ブロックチェーンネットワークによって維持されているブロックチェーンのブロックに記憶されている、請求項1に記載の方法。
  7. 前記トランザクションペイロードが、前記第1のノードと前記第2のノードの間の少なくとも1つのアセットの交換を含む、請求項1に記載の方法。
  8. 命令で符号化された1つまたは複数のコンピュータ可読記憶媒体であって、前記命令は、1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、請求項1から7のいずれか1項に記載の方法による動作を実行させる、コンピュータ可読記憶媒体。
  9. 1つまたは複数のコンピュータと、
    前記1つまたは複数のコンピュータに結合され、請求項1から7のいずれか1項に記載の方法による動作を前記1つまたは複数のコンピュータによって実行可能な命令で構成された1つまたは複数のコンピュータ可読メモリと
    を備えるシステム。
JP2019521367A 2018-11-27 2018-11-27 スマートコントラクトを使用したマルチパーティトランザクションの実行 Active JP6892504B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/117575 WO2019072280A2 (en) 2018-11-27 2018-11-27 EXECUTION OF MULTI-PARTY TRANSACTIONS USING INTELLIGENT CONTRACTS

Publications (2)

Publication Number Publication Date
JP2020502619A JP2020502619A (ja) 2020-01-23
JP6892504B2 true JP6892504B2 (ja) 2021-06-23

Family

ID=66100051

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019521367A Active JP6892504B2 (ja) 2018-11-27 2018-11-27 スマートコントラクトを使用したマルチパーティトランザクションの実行

Country Status (9)

Country Link
US (1) US20190251557A1 (ja)
EP (1) EP3559891B1 (ja)
JP (1) JP6892504B2 (ja)
KR (1) KR102206940B1 (ja)
CN (1) CN110352445B (ja)
PH (1) PH12019500866A1 (ja)
SG (1) SG11201903528SA (ja)
TW (1) TWI728418B (ja)
WO (1) WO2019072280A2 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10419225B2 (en) 2017-01-30 2019-09-17 Factom, Inc. Validating documents via blockchain
US10411897B2 (en) 2017-02-17 2019-09-10 Factom, Inc. Secret sharing via blockchains
US20180260889A1 (en) * 2017-03-10 2018-09-13 Factom Sourcing Mortgage Documents via Blockchains
US20180268504A1 (en) * 2017-03-15 2018-09-20 Factom Indexing Mortgage Documents via Blockchains
US10817873B2 (en) 2017-03-22 2020-10-27 Factom, Inc. Auditing of electronic documents
US11386232B2 (en) * 2017-12-05 2022-07-12 The Guppy Group Inc. Distributed data management and verification
US11170366B2 (en) 2018-05-18 2021-11-09 Inveniam Capital Partners, Inc. Private blockchain services
US10783164B2 (en) 2018-05-18 2020-09-22 Factom, Inc. Import and export in blockchain environments
US11134120B2 (en) 2018-05-18 2021-09-28 Inveniam Capital Partners, Inc. Load balancing in blockchain environments
US11328290B2 (en) 2018-08-06 2022-05-10 Inveniam Capital Partners, Inc. Stable cryptocurrency coinage
US11989208B2 (en) 2018-08-06 2024-05-21 Inveniam Capital Partners, Inc. Transactional sharding of blockchain transactions
US11295296B2 (en) 2018-08-06 2022-04-05 Inveniam Capital Partners, Inc. Digital contracts in blockchain environments
US10536537B1 (en) * 2019-06-13 2020-01-14 Accenture Global Solutions Limited Multi-source deterministic oracle management
EP3983922A1 (en) * 2019-06-14 2022-04-20 Ailia SA Method for the execution of an instance of a smart contract by means of a blockchain
IT201900020476A1 (it) * 2019-11-06 2021-05-06 Ailia Sa Metodo di esecuzione di una istanza di uno smart contract mediante una blockchain
EP3814956A1 (en) 2019-09-02 2021-05-05 Advanced New Technologies Co., Ltd. Managing blockchain-based centralized ledger systems
CN110648125B (zh) * 2019-09-10 2022-08-02 杭州秘猿科技有限公司 一种打包交易方法、装置、电子设备及存储介质
CN111178885B (zh) * 2019-12-18 2023-08-04 达闼机器人股份有限公司 基于区块链的数据处理方法、装置、数据处理设备及系统
US11444749B2 (en) 2020-01-17 2022-09-13 Inveniam Capital Partners, Inc. Separating hashing from proof-of-work in blockchain environments
WO2020143856A2 (en) 2020-04-22 2020-07-16 Alipay (Hangzhou) Information Technology Co., Ltd. Managing transaction requests in ledger systems
EP3837657B1 (en) 2020-04-22 2022-12-07 Alipay (Hangzhou) Information Technology Co., Ltd. Managing transaction requests in ledger systems
WO2020143855A2 (en) 2020-04-22 2020-07-16 Alipay (Hangzhou) Information Technology Co., Ltd. Managing transaction requests in ledger systems
CN112581130B (zh) * 2020-12-22 2022-12-23 北京航空航天大学 一种基于多链互联的跨链交易方法
CN112884579A (zh) * 2021-02-08 2021-06-01 京东数科海益信息科技有限公司 区块链交易共识方法和装置
US12008526B2 (en) 2021-03-26 2024-06-11 Inveniam Capital Partners, Inc. Computer system and method for programmatic collateralization services
CN113065965A (zh) * 2021-04-23 2021-07-02 深圳壹账通智能科技有限公司 多方确认的区块链交易处理方法、装置、设备及存储介质
CN113592639B (zh) * 2021-05-21 2023-10-13 上海简苏网络科技有限公司 一种区块链交易删除方法及系统
US12007972B2 (en) 2021-06-19 2024-06-11 Inveniam Capital Partners, Inc. Systems and methods for processing blockchain transactions

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030033255A1 (en) * 2001-08-13 2003-02-13 Burton Margaret Jane License repository and method
US20070244831A1 (en) * 2006-04-18 2007-10-18 Kuo James Shaw-Han System and method for secure online transaction
CN104239357B (zh) * 2013-06-21 2019-01-18 Sap欧洲公司 用于数据库事务的并发请求处理
JP6387908B2 (ja) * 2015-06-22 2018-09-12 トヨタ自動車株式会社 認証システム
US11562353B2 (en) * 2015-11-24 2023-01-24 Mastercard International Incorporated Method and system for gross settlement by use of an opaque blockchain
CN115391749A (zh) * 2016-02-23 2022-11-25 区块链控股有限公司 使用分布式散列表和区块链保护计算机软件的方法及系统
US20170344988A1 (en) * 2016-05-24 2017-11-30 Ubs Ag System and method for facilitating blockchain-based validation
US10984081B2 (en) * 2016-09-30 2021-04-20 Cable Television Laboratories, Inc. Systems and methods for secure person to device association
CN106548349B (zh) * 2016-11-02 2020-09-29 江苏通付盾科技有限公司 交易信息验证方法及系统
JP6775086B2 (ja) * 2016-12-16 2020-10-28 株式会社日立製作所 ブロックチェーン監視及び管理
US10715331B2 (en) * 2016-12-28 2020-07-14 MasterCard International Incorported Method and system for providing validated, auditable, and immutable inputs to a smart contract
JP6495346B2 (ja) * 2017-01-10 2019-04-03 日本電信電話株式会社 情報処理システム
JP6940182B2 (ja) * 2017-03-03 2021-09-22 日本電気株式会社 ブロックチェーン管理装置、ブロックチェーン管理方法及びプログラム
CN107341702B (zh) * 2017-03-08 2020-06-23 创新先进技术有限公司 一种业务处理的方法及装置
CN111724150B (zh) * 2017-03-28 2023-11-24 创新先进技术有限公司 一种业务请求的处理方法及装置
KR102407187B1 (ko) * 2017-04-05 2022-06-10 삼성에스디에스 주식회사 블록체인 기반 전자 화폐 자동 충전 방법 및 그 시스템
CN107273556A (zh) * 2017-08-23 2017-10-20 上海点融信息科技有限责任公司 区块链数据索引方法和设备
CN108123936B (zh) * 2017-12-13 2021-04-13 北京科技大学 一种基于区块链技术的访问控制方法及系统
CN108242013B (zh) * 2017-12-25 2024-04-05 招商银行股份有限公司 基于区块链的交易监管方法、设备及计算机可读存储介质
CN108256859B (zh) * 2018-01-02 2021-02-23 中国工商银行股份有限公司 基于区块链的金融产品交易共识方法、节点及系统
CN108229981A (zh) * 2018-01-29 2018-06-29 杭州云象网络技术有限公司 一种基于区块链的供应链金融防伪溯源方法
CN108596613A (zh) * 2018-03-22 2018-09-28 深圳市网心科技有限公司 区块链交易处理方法、装置及存储介质
CN108632045A (zh) * 2018-05-10 2018-10-09 阿里巴巴集团控股有限公司 一种区块链数据处理方法、装置、处理设备及系统
CN108804112B (zh) * 2018-05-22 2022-02-11 上海分布信息科技有限公司 一种区块链落账处理方法及系统
CN108765159B (zh) * 2018-06-04 2022-07-15 杭州溪塔科技有限公司 一种基于区块链的上链与状态处理方法、装置及互联系统
CN108712263B (zh) * 2018-06-11 2021-05-25 北京京东尚科信息技术有限公司 信息验证方法、装置、系统和计算机可读存储介质

Also Published As

Publication number Publication date
TWI728418B (zh) 2021-05-21
WO2019072280A2 (en) 2019-04-18
KR20200066254A (ko) 2020-06-09
CN110352445B (zh) 2023-08-22
JP2020502619A (ja) 2020-01-23
PH12019500866A1 (en) 2019-12-02
TW202020785A (zh) 2020-06-01
KR102206940B1 (ko) 2021-01-26
EP3559891A2 (en) 2019-10-30
US20190251557A1 (en) 2019-08-15
SG11201903528SA (en) 2019-05-30
CN110352445A (zh) 2019-10-18
EP3559891B1 (en) 2021-11-17
WO2019072280A3 (en) 2019-09-19
EP3559891A4 (en) 2020-03-04

Similar Documents

Publication Publication Date Title
JP6892504B2 (ja) スマートコントラクトを使用したマルチパーティトランザクションの実行
JP6756914B2 (ja) ブロックチェーンネットワーク内のファンクションアズアサービス(FaaS)プラットフォーム
JP7341225B2 (ja) マルチテナント環境における非集中型台帳による高度なスマートコントラクト
KR102151893B1 (ko) 탈중앙화 결정을 사용하는 블록체인 스마트 계약 업데이트
WO2020238254A1 (zh) 数据存储方法及节点
TW201935384A (zh) 資產管理方法及裝置、電子設備
TW201935383A (zh) 資產管理方法及裝置、電子設備
TW201935375A (zh) 資產管理方法及裝置、電子設備
JP2021522702A (ja) ブロックチェーンネットワークの分割
TW202030656A (zh) 跨鏈用權系統及方法、裝置、電子設備、儲存媒體
US11663197B2 (en) Convolutional and ephemeral datachains with conditional period
EP3808028B1 (en) Services platform for managing a verifiable permissioned ledger in a distributed database management system
BR112021008819A2 (pt) gerenciamento de permissões para acessar dados de usuário em uma rede de confiança de livro-razão distribuído
US11367055B2 (en) Decentralized pooled mining for enabling proof-of-work on blockchains
US10999370B1 (en) Syncing and sharing data across systems
CA3041211C (en) Utilizing nonce table to resolve concurrent blockchain transaction failure
JP2021189638A (ja) 移行支援システム、移行支援方法、およびノード
US20150286496A1 (en) Systems and methods for enlisting single phase commit resources in a two phase commit transaction
WO2020182233A2 (en) Methods and devices for executing cross-chain anonymous multi-swap contracts
WO2021023094A1 (en) Methods and devices for executing n-time hashed time lock contracts
CN112579343B (zh) 区块链节点数据的恢复方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190617

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200803

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201104

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210527

R150 Certificate of patent or registration of utility model

Ref document number: 6892504

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250