JP6896942B2 - ブロックチェーンベースのトランザクション処理方法および装置、ならびに電子デバイス - Google Patents

ブロックチェーンベースのトランザクション処理方法および装置、ならびに電子デバイス Download PDF

Info

Publication number
JP6896942B2
JP6896942B2 JP2020529462A JP2020529462A JP6896942B2 JP 6896942 B2 JP6896942 B2 JP 6896942B2 JP 2020529462 A JP2020529462 A JP 2020529462A JP 2020529462 A JP2020529462 A JP 2020529462A JP 6896942 B2 JP6896942 B2 JP 6896942B2
Authority
JP
Japan
Prior art keywords
transaction
blockchain
target
idempotent
determining
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
JP2020529462A
Other languages
English (en)
Other versions
JP2021512519A5 (ja
JP2021512519A (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 JP2021512519A publication Critical patent/JP2021512519A/ja
Publication of JP2021512519A5 publication Critical patent/JP2021512519A5/ja
Application granted granted Critical
Publication of JP6896942B2 publication Critical patent/JP6896942B2/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/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • 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/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • 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/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • 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
    • 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/405Establishing or using transaction specific rules
    • 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/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/3297Cryptographic 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 time stamps, e.g. generation of time stamps
    • 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
    • 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
    • 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
    • G06Q2220/10Usage protection of distributed data files
    • G06Q2220/12Usage or charge determination
    • G06Q2220/123Usage or charge determination involving third party for collecting or distributing payments, e.g. clearinghouse

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Power Engineering (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

関連技術の相互参照
本出願は、その全体が参照により本明細書に組み込まれる、2019年5月29日に出願された中国特許出願第201810532710.7号の優先権を主張する。
本出願の1つまたは複数の実装形態は、ブロックチェーン技術の分野に関し、特に、ブロックチェーンベースのトランザクション処理方法および装置、ならびに電子デバイスに関する。
分散型台帳技術とも呼ばれるブロックチェーン技術は、いくつかのコンピューティングデバイスが、完全分散型データベースを維持するための「アカウンティング」に共同で関与する新たな技術である。ブロックチェーン技術は、非集中性、開放性、および透明性を特徴とする。各コンピューティングデバイスは、データベースにデータを記録することができ、データは、コンピューティングデバイスの間で迅速に同期され得る。したがって、ブロックチェーン技術を使用して、非集中システムを作成し、様々な実行プログラムを、自動実行のためにブロックチェーンの分散型データベースに記録することが、多くの分野に広く適用されてきた。
本出願は、ブロックチェーンベースのトランザクション処理方法であって、ブロックチェーン内のメンバーノードデバイスによって開始されたターゲットトランザクションを受信するステップであって、ターゲットトランザクションは、ターゲットトランザクションの一意の識別子を含む、ステップと、あらかじめ設定されたトランザクション冪等元テーブル(transaction idempotent table)が、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等元レコードを記憶しているかどうかを照会するステップと、トランザクション冪等元テーブルが、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等元レコードを記憶していない場合、ターゲットトランザクションを候補ブロックに記録するステップとを含む、方法を提供する。
任意選択で、トランザクション冪等元テーブル中のトランザクション冪等元レコードは、トランザクション冪等元レコードに対応するトランザクションがブロックチェーンの分散型データベース中に正常に記録されたことを示す。
任意選択で、本方法は、ターゲットトランザクションが、候補ブロック中に記録され、候補ブロックが、ブロックチェーンの分散型データベースに正常に記憶されるためのコンセンサスに到達した場合、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等元レコードを生成するステップと、ターゲットトランザクションの一意の識別子に対応する、生成されたトランザクション冪等元レコードをトランザクション冪等元テーブルに挿入するステップとをさらに含む。
任意選択で、トランザクション冪等元テーブル中のトランザクション冪等元レコードは、トランザクションの一意の識別子であり、ブロックチェーン内のメンバーノードデバイスによって開始されたトランザクションの一意の識別子は、単調増加トランザクション識別子であり、本方法は、トランザクションの一意の識別子がトランザクション冪等元テーブルに挿入された後、トランザクション冪等元テーブルが、連続する値を有する複数の単調増加トランザクション識別子を含むかどうかを判断するステップと、yesの場合、連続する値を有する複数の単調増加トランザクション識別子を、間隔の形でトランザクション冪等元テーブルに記録し、またはnoの場合、トランザクションのトランザクション識別子を、離散値の形でトランザクション冪等元テーブルに記録するステップとをさらに含む。
任意選択で、ターゲットトランザクションは、基準時間パラメータをさらに含み、基準時間パラメータは、ターゲットトランザクションが、トランザクション有効期間内の有効トランザクションであるかどうかを判断するのに使用され、あらかじめ設定されたトランザクション冪等元テーブルが、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等元レコードを記憶しているかどうかを照会する前に、本方法は、ターゲットトランザクションが、トランザクション有効期間内の有効トランザクションであるかどうかを、基準時間パラメータに基づいて判断するステップと、ターゲットトランザクションが、トランザクション有効期間内の有効トランザクションであると判断された場合、あらかじめ設定されたトランザクション冪等元テーブルが、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等元レコードを記憶するかどうかをさらに照会するステップとをさらに含む。
任意選択で、ブロックチェーンは、コンソーシアムブロックチェーンである。
本出願は、ブロックチェーンベースのトランザクション処理装置であって、ブロックチェーン内のメンバーノードデバイスによって開始されたターゲットトランザクションを受信するように構成された受信モジュールあって、ターゲットトランザクションは、ターゲットトランザクションの一意の識別子を含む、受信モジュールと、あらかじめ設定されたトランザクション冪等元テーブルが、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等元レコードを記憶しているかどうかを照会するように構成された照会モジュールと、トランザクション冪等元テーブルが、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等元レコードを記憶していない場合、ターゲットトランザクションを候補ブロックに記録するように構成された記録モジュールとを含む装置をさらに提供する。
任意選択で、トランザクション冪等元テーブル中のトランザクション冪等元レコードは、トランザクション冪等元レコードに対応するトランザクションがブロックチェーンの分散型データベース中に正常に記録されたことを示す。
任意選択で、記録モジュールは、ターゲットトランザクションが、候補ブロック中に記録され、候補ブロックが、ブロックチェーンの分散型データベースに正常に記憶されるためのコンセンサスに到達した場合、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等元レコードを生成し、ターゲットトランザクションの一意の識別子に対応する、生成されたトランザクション冪等元レコードを、トランザクション冪等元テーブルに挿入するようにさらに構成される。
任意選択で、トランザクション冪等元テーブル中のトランザクション冪等元レコードは、トランザクションの一意の識別子であり、ブロックチェーン内のメンバーノードデバイスによって開始されたトランザクションの一意の識別子は、単調増加トランザクション識別子であり、記録モジュールは、トランザクションの一意の識別子がトランザクション冪等元テーブルに挿入された後、トランザクション冪等元テーブルが、連続する値を有する複数の単調増加トランザクション識別子を含むかどうかを判断し、yesの場合、連続する値を有する複数の単調増加トランザクション識別子を、間隔の形でトランザクション冪等元テーブルに記録し、またはnoの場合、トランザクションのトランザクション識別子を、離散値の形でトランザクション冪等元テーブルに記録するようにさらに構成される。
任意選択で、ターゲットトランザクションは、基準時間パラメータをさらに含み、基準時間パラメータは、ターゲットトランザクションが、トランザクション有効期間内の有効トランザクションであるかどうかを判断するのに使用され、本装置は、あらかじめ設定されたトランザクション冪等元テーブルが、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等元レコードを記憶するかどうかが照会される前に、ターゲットトランザクションが、トランザクション有効期間内の有効トランザクションであるかどうかを、基準時間パラメータに基づいて判断し、ターゲットトランザクションが、トランザクション有効期間内の有効トランザクションであると判断された場合、あらかじめ設定されたトランザクション冪等元テーブルが、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等元レコードを記憶するかどうかをさらに照会するように構成された判断モジュールをさらに含む。
任意選択で、ブロックチェーンは、コンソーシアムブロックチェーンである。
本出願は、電子デバイスであって、プロセッサと、機械実行可能命令を記憶するように構成されたメモリとを含み、メモリに記憶されるとともにブロックチェーンベースのトランザクション処理の制御論理に対応する機械実行可能命令を読み取り、実行することによって、プロセッサは、ブロックチェーン内のメンバーノードデバイスによって開始されたターゲットトランザクションを受信することであって、ターゲットトランザクションは、ターゲットトランザクションの一意の識別子を含む、受信することと、あらかじめ設定されたトランザクション冪等元テーブルが、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等元レコードを記憶しているかどうかを照会することと、トランザクション冪等元テーブルが、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等元レコードを記憶していない場合、ターゲットトランザクションを候補ブロックに記録することとを行うように構成される、装置をさらに提供する。
例示的実装形態による、ブロックチェーンベースのトランザクション処理方法を示すフローチャートである。 例示的実装形態による電子デバイスを示す構造図である。 例示的実装形態による、ブロックチェーンベースのトランザクション処理装置を示すブロック図である。 本開示のある実装形態による、ブロックチェーンベースのトランザクションを処理するためのコンピュータ実装方法の例を示すフローチャートである。
本出願は、作成されたトランザクション冪等元テーブルが、ブロックチェーン内の受信されたトランザクションに対して冪等元処理を実施するのに使用され、そうすることによって、違法ノードが、インターセプトされた延滞トランザクションを使用して反射攻撃を開始することができないという技術的解決策を提供するためのものである。
実装中、ブロックチェーン内のアカウンティングノードとして作用し得るノードデバイスは、トランザクション冪等元テーブルを共同で維持することができる。たとえば、アカウンティングノードとして作用するノードデバイスは、ブロックチェーン内の既存のコンセンサス機構を使用することによって、コンセンサストランザクション冪等元テーブルを共同で維持することができる。
トランザクション冪等元テーブル中のトランザクション冪等元レコードは、トランザクション冪等元レコードに対応するトランザクションがブロックチェーンの分散型データベース中に正常に記録されていることを示す。
ユーザが、クライアント側においてトランザクションを作成すると、クライアント側は、トランザクション用の一意の識別子を生成し、一意の識別子をトランザクションに追加すればよく、次いで、クライアント側に接続されたノードデバイスが、ブロックチェーン内でトランザクションを公開する。
ブロックチェーン内の別のノードデバイスがトランザクションを受信し、トランザクションが有効であることを検証した後、ノードデバイスは、トランザクション冪等元テーブルをさらに照会して、トランザクション冪等元テーブルが、トランザクションの一意の識別子に対応するトランザクション冪等元レコードを記憶しているかどうかを判断すればよい。
トランザクション冪等元テーブルが、トランザクションの一意の識別子に対応するトランザクション冪等元レコードを記憶していない場合、それは、トランザクションが、ブロックチェーンの分散型データベース中に正常に記録されていないことを示す。この場合、トランザクションは、候補ブロック中に記録されてよい。反対に、トランザクション冪等元テーブルが、トランザクションの一意の識別子に対応するトランザクション冪等元レコードを記憶している場合、それは、トランザクションが、ブロックチェーンの分散型データベース中に正常に記録されており、ブロックチェーン内で処理され、実行されたトランザクションであることを示す。この場合、トランザクションは、処理されずにすぐに破棄されてよい。
前述の技術的解決策によると、トランザクションに関連したトランザクション冪等元レコードがトランザクション冪等元テーブル中に記憶されているときのみ、トランザクションは、有効トランザクションとして候補ブロック中に記録され得る。したがって、ブロックチェーン内の違法ノードデバイスは、インターセプトされた延滞トランザクションを使用してブロックチェーン内で反射攻撃を開始することはできず、それにより、ブロックチェーンのトランザクションセキュリティレベルが増す。
以下は、具体的な適用シナリオに基づく具体的な実装形態を使用することによって、本明細書を記載する。
図1は、本出願のある実装形態による、ブロックチェーンベースのトランザクション処理方法を示す。この方法は、ブロックチェーン内のどのノードデバイスにも適用され、以下のステップを含む。
ステップ102:ブロックチェーン内のメンバーノードデバイスによって開始されたターゲットトランザクションを受信し、ターゲットトランザクションはターゲットトランザクションの一意の識別子を含む。
ステップ104:あらかじめ設定されたトランザクション冪等元テーブルが、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等元レコードを記憶しているかどうかを照会する。
ステップ106:トランザクション冪等元テーブルが、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等元レコードを記憶していない場合、ターゲットトランザクションを候補ブロックに記録する。
本出願に記載するブロックチェーンは、プライベートブロックチェーン、パブリックブロックチェーン、コンソーシアムブロックチェーンなどを含んでよく、実装形態は本出願において限定されない。
たとえば、あるシナリオでは、ブロックチェーンは、サードパーティ支払いプラットフォームのサーバ、国内銀行サーバ、海外銀行サーバ、およびいくつかのユーザノードデバイスというメンバーデバイスを含むコンソーシアムブロックチェーンであってよい。コンソーシアムブロックチェーンのオペレータは、コンソーシアムブロックチェーンに依存して、越境転送および資産転送など、コンソーシアムブロックチェーンベースのオンラインサービスを展開することができる。
本出願に記載するトランザクション(転送)は、ブロックチェーンのクライアント側においてユーザによって作成されるとともに、最終的にはブロックチェーンの分散型データベース中で公開される必要があるデータである。
ブロックチェーン内のトランザクションは、狭義でのトランザクションおよび広義でのトランザクションを含む。狭義でのトランザクションは、ブロックチェーン内でユーザによって公開される価値転送である。たとえば、従来のビットコインブロックチェーンネットワークでは、トランザクションは、ブロックチェーン内でユーザによって開始される転送であり得る。広義でのトランザクションは、ブロックチェーン内でユーザによって公開されるサービス指向サービスデータである。たとえば、オペレータが、実際のサービス要件に基づいてコンソーシアムブロックチェーンを作成し、コンソーシアムブロックチェーンに依存して、価値転送に無関係の、いくつかの他のタイプのオンラインサービス(たとえば、借用サービス、車両スケジューリングサービス、保険金請求サービス、信用取引サービス、および医療サービス)を展開することができる。そのようなコンソーシアムブロックチェーンでは、トランザクションは、コンソーシアムブロックチェーン内でユーザによって公開される、サービス指向サービスメッセージまたはメッセージ要求であり得る。
ターゲットトランザクションは、ブロックチェーン内のアカウンティングノードとして作用するノードデバイスが候補ブロック中に詰め込み、含める必要がある候補トランザクションである。候補トランザクションは、別のメンバーノードデバイスによって公開されるとともに検証済みである、収集されたトランザクションから、ノードデバイスによって選択される。
本出願では、クライアント側においてユーザによって作成されたトランザクションは、ユーザによって保持される私有鍵に基づいて署名されてよく、クライアント側に接続されたノードデバイスによって、ブロックチェーンのP2Pネットワーク中でブロードキャストされる。アカウンティングノードとして作用するノードデバイスは、別のノードデバイスによってブロードキャストされたトランザクションを収集し、収集されたトランザクションを、非確認応答トランザクションとして、ローカルトランザクションプール(メモリプールとも呼ばれる)に記憶してよい。
さらに、アカウンティングノードとして作用するノードデバイスは、現在のアカウンティング期間中に候補ブロックを作成し、トランザクションプール中のトランザクションに対して有効性検証を実施し、次いで、検証されたトランザクションを、作成された候補ブロック中に候補トランザクションとして記録することができる。
実際のアプリケーションでは、トランザクションプール中のトランザクションに対して検証を実施することは、トランザクションの公開者のアイデンティティに対する検証およびトランザクション内容に対する検証を実施することを含み得る。トランザクション内容に対する検証は、トランザクション内容に対する完全性検証をさらに含み得る。
実装中、署名されるとき、トランザクションは通常、内容ダイジェスト(たとえば、ハッシュ値)を取得するように算出されてよく、次いで、内容ダイジェストは、デジタル署名を取得するために、保持される私有鍵に基づいて暗号化される。署名されたトランザクションを受信した後、アカウンティングノードとして作用するノードデバイスは、トランザクションに署名するのに使用される私有鍵に基づいて、デジタル署名を解読することができる。解読が成功した場合、それは、トランザクションの公開者のアイデンティティが検証され、トランザクションが、ユーザによって公開された合法トランザクションであることを示す。
次に、アカウンティングノードとして作用するノードデバイスは、内容ダイジェストを取得するためにトランザクションをさらに算出し直し、算出し直された内容ダイジェストと、デジタル署名を解読することによって取得された元の内容ダイジェストを突き合わせればよい。2つの内容ダイジェストが互いと一致する場合、それは、トランザクション内容に対する完全性検証が通り、トランザクションのトランザクション内容がトランザクション送信プロセスにおいて違法に改竄されていないことを示す。
本明細書では、トランザクションプール中のトランザクションの公開者のアイデンティティに対する検証およびトランザクション内容に対する検証に加え、トランザクションプール中のトランザクションが、トランザクション有効期間内の有効トランザクションであるかどうかが、トランザクションに含まれる基準時間パラメータに基づいて、さらに検証され得る。
トランザクション有効期間は、ブロックチェーン内で公開されたトランザクション向けに、ブロックチェーンのオペレータによって設定される有効期間である。有効期間内のトランザクションは、合法トランザクションとして候補ブロックに追加され得る有効トランザクションと見なされる。反対に、有効期間外のトランザクションは、候補ブロックに追加され得ない無効トランザクションと見なされる。
トランザクション有効期間は、現在のアカウンティング期間中に作成される候補ブロックの作成時間を基準として使用して、ブロックチェーン内のアカウンティングノードデバイスによって設定される時間間隔であってよい。たとえば、トランザクション有効期間は、候補ブロックの作成時間前の時間期間であってよく、または候補ブロックの作成時間後の時間期間であってよい。ブロックチェーン内の別のノードデバイスによって公開された多くのトランザクションを収集するとき、アカウンティングノードは、トランザクション有効期間を使用して、生成された候補ブロックに、どのトランザクションが合法トランザクションとして追加されてよいかを判断することができる。
基準時間パラメータは、トランザクションに追加されるとともにトランザクションがトランザクション有効期間内の有効トランザクションであるかどうかを判断するのに使用される時間パラメータであってよい。収集されたトランザクションに対して検証を実施するとき、ブロックチェーン内のアカウンティングノードは、トランザクションに含まれる基準時間パラメータによって示される時間に基づいて、トランザクションがトランザクション有効期間内の有効トランザクションであるかどうかを判断することができる。
基準時間パラメータは、物理クロックであってよく、または論理クロックであってよい。
物理クロックは、システムまたはサードパーティクロックサーバから読み取られるシステムタイムスタンプである。論理クロックは、論理タイムスタンプである。分散型システムでは、イベント(たとえば、トランザクション)出現順序を示し得るいかなる自己増大値も、論理クロックとして使用され得る。
ある実装形態では、たとえば、基準時間パラメータは物理クロックである。基準時間パラメータは、トランザクションに追加される基準タイムスタンプであってよい。対応して、この場合、トランザクション有効期間は、候補ブロックの作成時間に対応する作成タイムスタンプと第1の閾との間の差(第1の値)、ならびにブロックの作成タイムスタンプおよび第2の閾の合計(第2の値)によって形成される数値間隔であってよい。
たとえば、候補ブロックの作成タイムスタンプは、Btsと記され、第1の閾はK1と記され、第2の閾はK2と記される。この場合、トランザクション有効期間は、数値間隔[Bts-K1,Bts+K2]によって表され得る。
中でも、第1の閾は、トランザクション有効期間の設定中に予約されるトランザクション有効持続時間を示す。第2の閾は、トランザクションを公開するノードデバイスのシステムタイムスタンプと、候補ブロックを作成するノードデバイスのシステムタイムスタンプとの間のクロックオフセットを示す。実際のアプリケーションでは、ブロックチェーンネットワーク中で許容され得るクロックオフセットは通常、比較的小さい。したがって、トランザクション有効期間の設定中、第2の閾は、規模において第1の閾未満である閾に設定されてよい。
たとえば、第1の閾は5日に設定されてよく、第2の閾は5分に設定されてよい。この場合、候補ブロックの作成時間の前の5日以内に公開されたトランザクションと、候補ブロックの作成時間の後の5分以内に公開されたトランザクションの両方が、トランザクション有効期間内の有効トランザクションである。
基準タイムスタンプは、ユーザがクライアント側においてトランザクションを作成するとき、ユーザによって手動で指定されてよく、またはクライアント側において自動的に追加されてよいことに留意するのは有益である。
たとえば、ある状況では、ユーザがクライアント側においてトランザクションを作成するとき、クライアント側は、トランザクションの作成時間をシステムから読み取り、次いで、作成時間に対応するタイムスタンプを、基準タイムスタンプとして、作成されたトランザクションに自動的に追加すればよい。別の状況では、ユーザは、トランザクション有効期間内の時間を必要に応じて指定し、次いで、その時間に対応するタイムスタンプを、基準タイムスタンプとして、作成されたトランザクションに手動で追加すればよい。
確かに、実際のアプリケーションでは、トランザクション有効期間の設定中、トランザクションを公開するノードデバイスのシステムタイムスタンプと、候補ブロックを作成するノードデバイスのシステムタイムスタンプとの間のクロックオフセットが考慮されない場合がある。この場合、トランザクション有効期間は、候補ブロックの作成時間に対応する作成タイムスタンプと第1の閾との間の差(第1の値)ならびに候補ブロックの作成タイムスタンプによって形成される数値間隔であってよい。
たとえば、候補ブロックの作成タイムスタンプはBtsと記され、第1の閾はK1と記される。この場合、トランザクション有効期間は、数値間隔[Bts-K1,Bts]によって表され得る。
別の実装形態では、たとえば、基準時間パラメータは論理クロックである。ブロックチェーンに対応するP2Pネットワークでは、ブロックチェーン内のブロックのブロック高さが、論理クロックとして使用され得る。この場合、基準時間パラメータは、トランザクションに追加される基準ブロック高さであってよい。トランザクション有効期間は、ブロックチェーン内の候補ブロックのブロック高さ、ならびにブロックチェーン内の候補ブロックのブロック高さと第3の閾との間の差(第3の値)によって形成される数値間隔であってよい。
たとえば、ブロックチェーン内の候補ブロックのブロック高さはBhと記され、第3の閾はK3と記される。この場合、トランザクション有効期間は、数値間隔[Bh-K3,Bh]によって表され得る。
第1の閾のように、第3の閾は、トランザクション有効期間の設定中に予約されるトランザクション有効持続時間を示す。ブロック高さが、トランザクション有効期間を表すための論理クロックとして使用されるとき、トランザクションを公開するノードデバイスのシステムタイムスタンプと、候補ブロックを作成するノードデバイスのシステムタイムスタンプとの間のクロックオフセットが考慮されない場合がある。したがって、前述の式の右部分の増大間隔、およびクロックオフセットを表す閾は、追加されなくてよい。
基準ブロック高さは、ユーザがクライアント側においてトランザクションを作成するとき、ユーザによって手動で指定されてよく、またはクライアント側において自動的に追加されてよいことに留意するのは有益である。
たとえば、ある状況では、ユーザがクライアント側においてトランザクションを作成するとき、クライアント側は、トランザクションの作成時間をシステムから読み取り、次いで、作成時間におけるブロックチェーン内の最大ブロック高さをさらに照会し、最大ブロック高さを、作成されたトランザクションに自動的に追加すればよい。別の状況では、ユーザは、トランザクション有効期間内のブロック高さを必要に応じて指定し、次いで、そのブロック高さに対応する値を、基準ブロック高さとして、作成されたトランザクションに手動で追加すればよい。
確かに、実際のアプリケーションでは、トランザクション出現順序を記述するのに使用され得る別のタイプの増大値が、ブロックチェーン内のブロックのブロック高さに加えて、論理クロックとして使用され得る。実装形態については、本明細書では列挙しない。
ある実装形態では、基準時間パラメータは、トランザクションに追加される基準タイムスタンプであり、Ttsと記され、トランザクション有効期間は、候補ブロックの作成時間に対応する作成タイムスタンプBtsと、第1の閾K1との間の差、ならびに候補ブロックの作成タイムスタンプBtsおよび第2の閾K2の合計によって形成される数値間隔[Bts-K1,Bts+K2]であると仮定する。
この場合、アカウンティングノードとして作用するノードデバイスは最初に、作成された候補ブロックの作成タイムスタンプに対して単調増加検査を実施して、作成された候補ブロックの作成タイムスタンプBtsが、ブロックチェーン内の最新ブロックの作成タイムスタンプよりも大きいかどうかを検査することができる。yesの場合、それは、候補ブロックが、ブロックチェーン内のブロックの作成タイムスタンプが単調増加であるという特性を満足し、候補ブロックは合法ブロックであることを示す。
候補ブロックが単調増加検査を通った後、アカウンティングノードとして作用するノードデバイスは、トランザクションからタイムスタンプTtsをさらに読み取り、読み取られた基準タイムスタンプTtsを、Bts-K1およびBts+K2と別個に比較すればよい。TtsがBts-K1よりも大きく、Bts+K2未満である場合、トランザクションは、トランザクション有効期間内の有効トランザクションであると判断され得る。
ある実装形態では、基準時間パラメータは、トランザクションに追加される基準ブロック高さであり、Thと記されると仮定すると、トランザクション有効期間は、ブロックチェーン内の候補ブロックのブロック高さBhと第3の閾K3との間の差、ならびにブロックチェーン内の候補ブロックのブロック高さBhによって形成される数値間隔[Bh-K3,Bh]である。
この場合、アカウンティングノードとして作用するノードデバイスは最初に、作成された候補ブロックのブロック番号に対して単調増加検査を実施して、作成された候補ブロックのブロック番号が、ブロックチェーン内の最新ブロックのブロック番号よりも大きいかどうかを検査することができる。yesの場合、それは、候補ブロックが、ブロックチェーン内のブロックのブロック番号が単調増加であるという特性を満足し、候補ブロックは合法ブロックであることを示す。
候補ブロックが単調増加検査を通った後、アカウンティングノードとして作用するノードデバイスは、トランザクションから基準ブロック高さThをさらに読み取り、読み取られた基準ブロック高さThを、Bh-K3およびBhと別個に比較すればよい。ThがBh-K3よりも大きく、Bh未満である場合、トランザクションは、トランザクション有効期間内の有効トランザクションであると判断され得る。
本出願において、公開者のアイデンティティに対する検証、トランザクション内容に対する検証、トランザクションの有効性検証などに成功した、トランザクションプール中のトランザクションは、候補トランザクションとして使用され、作成された候補ブロックに詰め込まれ、含められ得る。
たとえば、アカウンティングノードとして作用するノードデバイスは、有効性検証に成功したトランザクションを候補ブロックに追加するか、または有効性検証に成功したトランザクションのうちのいくつかを、規則に基づいて(たとえば、トランザクション優先度に基づいて)選択し、それらのトランザクションを候補ブロックに追加すればよい。
したがって、トランザクション有効期間内の有効トランザクションのみが、合法トランザクションとして候補ブロック中に記録され得る。長い時間期間に先立ついくつかの延滞トランザクションは、後続トランザクション実行のために候補ブロック中に記録することができない。したがって、ブロックチェーン内の違法ノードデバイスは、長い時間期間に先立つ、インターセプトされた延滞トランザクションを使用することによって、ブロックチェーン内で反射攻撃を開始することができず、それにより、ブロックチェーンのトランザクションセキュリティレベルが増す。
本明細書では、アカウンティングノードとして作用するノードデバイスのトランザクション実行環境はマルチインスタンス実行環境であってよく、マルチインスタンス実行環境では、同じトランザクションが、異なるインスタンスによって繰り返し提出される場合がある。したがって、ブロックチェーンにおけるトランザクション実行中に、冪等性が起こり得る。冪等性は、同じトランザクションが繰り返し実行された後、ユーザが悪影響を受けることを意味する。
たとえば、ビットコインネットワークにおける「二重支払い」問題が、典型的な「冪等性」問題である。ユーザの私有鍵を使用することによって実施される署名検証が成功した後、転送トランザクションは、違法ノードによってインターセプトされると仮定する。トランザクションが実行された後、違法ノードは、インターセプトされたトランザクションに基づいて反射攻撃を開始し、ブロックチェーン内でトランザクションを繰り返し実行する場合があり、同じ資金を複数回転送させ、ユーザに対して金銭的損失を引き起こす。
したがって、マルチインスタンス実行環境における、トランザクションの繰り返される実行を削減するために、ブロックチェーン内のアカウンティングノードとして作用し得るノードデバイスは、トランザクション冪等元テーブルを共同で維持すればよい。
たとえば、アカウンティングノードとして作用するノードデバイスは、ブロックチェーンにおける既存のコンセンサス機構を使用することによって、コンセンサスに到達するトランザクション冪等元テーブルを共同で維持すればよい。
トランザクション冪等元テーブルは、トランザクション有効期間内の有効トランザクションに基づいて、ブロックチェーンの分散型データベース中に正常に記録される記憶レコード(すなわち、ブロックレコード)用に作成されたインデックスレコードテーブルである。トランザクション冪等元テーブルは、ブロックチェーンの分散型データベース中に正常に記録される有効トランザクションに対応するトランザクション冪等元レコードを記憶するのに使用される。
具体的には、トランザクション冪等元テーブルに記憶されたトランザクション冪等元レコードは、トランザクション冪等元レコードに対応するトランザクションが、候補ブロックへ正常にカプセル化されており、候補ブロックが、ブロックチェーン内の最新ブロックとして、ブロックチェーンの分散型データベース(すなわち、分散型台帳)に正常に追加されるためのコンセンサスに到達したことを示すのに使用される。
候補ブロック中に有効トランザクションを記録する前に、アカウンティングノードとして作用するノードデバイスは、トランザクション冪等元テーブルに基づいて、トランザクションに対して冪等性検査を実施して、トランザクションが、ブロックチェーンのデータベースに正常に記録されているトランザクションであるかどうかを判断すればよい。
ある実装形態では、クライアント側においてユーザによって作成されたトランザクションは、前の基準時間パラメータに加え、トランザクション用の、クライアント側において作成された一意の識別子を含み得る。
トランザクション用の、クライアント側において作成された一意の識別子は、単調増加トランザクション識別子であってよい。トランザクション識別子の具体的な形は、本明細書において限定されない。
ある実装形態では、トランザクションに含まれる、トランザクションの一意の識別子は、トランザクション用の、クライアント側において作成される一意の単調増加トランザクション番号であってよい。
たとえば、実際のアプリケーションでは、ブロックチェーン内のノードデバイスは、複数のインスタンスで構成されたノードデバイスであってよく、各インスタンスは、一意のインスタンスIDを有する。この場合、トランザクション番号は、インスタンスIDおよび生成された乱数を含む一意のトランザクション番号であってよい。
別の例として、ブロックチェーン内のノードデバイスは、複数のデバイスを含む分散型デバイスであり、各デバイスは、一意のデバイス識別子(たとえば、デバイスIDまたはデバイスのIPアドレス)を有する。この場合、トランザクション番号は、デバイス識別子および生成された乱数を含む一意のトランザクション番号であってよい。
もちろん、前述の例に記載されるトランザクション番号生成方法は、単なる例である。当業者は、本出願における技術的解決策の実装中、他のトランザクション番号生成方法を柔軟に使用してもよい。他のトランザクション番号生成方法については、本出願では列挙しない。
別の実装形態では、トランザクションに含まれる、トランザクションの一意の識別子は、クライアント側において、生成されたトランザクションに追加される一意の単調増加ノンス値であってよい。
ノンス値は、トランザクションに追加される単調増加乱数または擬似乱数であってよく、1つのトランザクションによって一度だけ使用され得る。
従来のEthereum(Ethereum)ブロックチェーンプラットフォームが、例として使用される。Ethereumでは、初期ノンス値が各アカウントオブジェクト用に構成され、ノンス値は0からカウントされる。ノンス値は、アカウントオブジェクトがトランザクションを送る度に、対応して1だけ増大され、アカウントオブジェクトによって送られる各トランザクションは、アカウントオブジェクトの現在のノンス値(すなわち、トランザクションの作成中のアカウントオブジェクトのノンス値)を含む。トランザクションを受信した後、アカウンティングノードとして作用するノードデバイスは、ノンス値のカウンティング順序に基づいて、ユーザからのトランザクションを正確に実行してよい。トランザクションに含まれるノンス値は、ノンス値が、アカウントオブジェクトによって以前送られたトランザクションにおいて使用されるノンス値よりも大きいかどうかを判断するために検査され得る。トランザクションに含まれるノンス値が、アカウントオブジェクトのトランザクションによって以前使用された最大ノンス値未満である場合、それは、トランザクションが、複製トランザクションであり、すぐに拒否されることを示す。トランザクションに含まれるノンス値が、アカウントオブジェクトのトランザクションによって以前使用された最大ノンス値よりもはるかに大きい場合、トランザクションは、処理されてよく、トランザクションに含まれるノンス値に先行するノンス値に対応するトランザクションが処理された後でのみ、候補ブロック中に記録される。対応して、トランザクションに含まれるノンス値が、アカウントオブジェクトのトランザクションによって使用される最大ノンス値の次のカウント値と一致する場合、トランザクションは直ちに処理されてよく、トランザクションは候補ブロック中に記録される。本出願において、トランザクションに含まれる、トランザクションの一意の識別子は、イーサネットにおけるノンス値であってよく、詳細については、本出願では省略する。
収集されたトランザクションが、トランザクション有効期間内の有効トランザクションであると判断した後、アカウンティングノードとして作用するノードデバイスは、トランザクションの一意の識別子に対応するトランザクション冪等性レコードがトランザクション冪等性テーブルに記憶されるかどうかをさらに照会してよい。
トランザクション冪等性レコードが、トランザクションの一意の識別子に対応するトランザクション冪等性レコードを記憶してある場合、それは、トランザクションがブロックチェーンの分散型データベース中に正常に記録されており、トランザクションは複製トランザクションであり、トランザクションはすぐに破棄されてよいことを示す。
さらに、トランザクション冪等元テーブルが、トランザクションの一意の識別子に対応するトランザクション冪等元レコードを記憶していない場合、それは、トランザクションが、ブロックチェーンの分散型データベース中に正常に記録されていないことを示し、ノードデバイスはトランザクションを候補ブロック中に記録すればよい。
本出願において、候補ブロックを生成した後、アカウンティングノードとして作用するノードデバイスはさらに、生成された候補ブロックをブロックチェーン内でブロードキャストし、アカウンティング許可を求めて競合するために、ブロックチェーンによってサポートされるコンセンサスアルゴリズムに基づいて、ブロックチェーン内の候補ブロック中に記録されたトランザクションに対してコンセンサス処理を実施してよい。
ブロックチェーンによってサポートされるコンセンサスアルゴリズムの具体的なタイプは、本出願では限定されない。実際のアプリケーションでは、プルーフオブワークアルゴリズムもしくはPBFTアルゴリズムなどの標準コンセンサスアルゴリズムが使用されてよく、またはコンセンサスアルゴリズムは、実際のサービス要件に基づいて、ブロックチェーンのオペレータによってカスタマイズされてよい。
候補ブロックがコンセンサスに到達し、アカウンティングノードとして作用するノードデバイスがアカウンティング許可を取得した後、以下が実装され得る。
候補ブロックは、ブロックチェーンの分散型データベース(すなわち、分散型台帳)に、ブロックチェーン内の最新ブロックとして追加され得る。この場合、候補ブロックは、ブロックチェーン内のブロックとして、ブロックチェーン内に永久に記憶される。
さらに、ノードデバイスは、トランザクションに含まれるトランザクション内容に基づいて、ノードデバイスのトランザクション実行環境において実行されるべき候補ブロック中に記録されるためのコンセンサスに到達するトランザクションをトリガし得る。たとえば、トランザクションは、ブロックチェーン内で公開されているスマートコントラクトの入力として使用されてよく、トランザクションは、スマートコントラクトに記述されるトランザクション実行プログラムコードを実行する(たとえば、トランザクション実行に関連したいくつかの関数を呼び出す)ことによって、ノードデバイスのトランザクション実行環境において実行される。
ある実装形態では、ターゲットトランザクションが候補ブロック中に正常に記録され、候補ブロックが、ブロックチェーン内の最新ブロックとしてブロックチェーンの分散型データベースに最終的に記憶されるためのコンセンサスに到達した後、ターゲットトランザクションは、ブロックチェーンの分散型データベースに正常に記憶されている(言い換えると、トランザクションは正常にオンチェーン(onchain)である)。この場合、アカウンティングノードとして作用するノードデバイスは、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等性レコードをさらに生成し、次いで、トランザクション冪等性レコードをトランザクション冪等性テーブルに挿入すればよい。
トランザクション冪等元レコードの具体的なフォーマットについては、本出願では限定しない。
ある実装形態では、トランザクションの一意の識別子は、トランザクション冪等元レコードが比較的大きい記憶空間を占めるのを防止するために、トランザクション冪等元レコードとして、トランザクション冪等元テーブルに直接挿入されてよい。確かに、実際のアプリケーションでは、トランザクション冪等元レコードは、トランザクションの一意の識別子を含むデータレコードであり得る。以下の実装形態は、トランザクション冪等性テーブル中のトランザクション冪等性レコードがトランザクションの一意の識別子である例を使用して記載される。
トランザクション冪等性テーブル中のトランザクション冪等性レコードは、トランザクション有効期間内の有効トランザクションのトランザクション冪等性レコードのみを含み、トランザクション有効期間の前の履歴トランザクションのトランザクション冪等性レコードは、記憶される必要はない。したがって、トランザクション冪等性テーブルの記憶空間消費は過度に大きいわけではなく、トランザクション冪等性テーブルの記憶空間消費が過度に大きいという理由での照会性能問題は存在しない。
たとえば、アカウンティングノードとして作用し得るどのノードデバイスに対しても、トランザクション冪等性テーブルによって占められる記憶空間は比較的小さいので、トランザクション冪等性テーブルは、デバイスメモリに直接ロードされ、維持されてよく、トランザクション冪等性テーブルは、サードパーティ記憶ディスクを使用して記憶される必要はない。したがって、トランザクション冪等性テーブルにおける照会は、メモリ中で直接実施されてよく、照会性能は大幅に向上され得る。
さらに、有効トランザクションの中で、トランザクション冪等性テーブル中にそのトランザクション冪等元レコードが存在しないトランザクションのみが、候補ブロック中に正常に記録され得る。したがって、ブロックチェーンにおけるトランザクション実行中に起こる「冪等性」問題を削減することができ、違法ノードは、トランザクション有効期間内の、インターセプトされた有効トランザクションを使用して反射攻撃を開始することはできない。したがって、同じ有効トランザクションは繰り返し実行され得ない。
さらに、ブロックチェーン内のノードデバイス向けに複数のインスタンスが構成されるか、またはノードデバイスが分散型デバイスであるとき、同じ有効トランザクションが分散型デバイス中の異なるインスタンスまたは異なるサブデバイスによって並行して公開されるので、同じ有効トランザクションが繰り返し実行されるという問題が効果的に削減され得る。
ある実装形態では、トランザクション冪等性テーブルに記録されたトランザクション識別子は、連続する値を有する単調増加トランザクション識別子であるので、トランザクション冪等性テーブルにトランザクション冪等性レコードを挿入するプロセスにおいて、連続する値を有する、複数の記録された単調増加トランザクション識別子は、トランザクション冪等性テーブルによって占められる記憶空間をさらに削減するように組み合わされ得る。
具体的には、ターゲットトランザクションのトランザクション識別子を、トランザクション冪等元レコードとしてトランザクション冪等元テーブルに挿入するとき、アカウンティングノードとして作用するノードデバイスは、ターゲットトランザクションのトランザクション識別子がトランザクション冪等元テーブルに挿入された後、トランザクション冪等元テーブルが、連続する値を有する複数の単調増加トランザクション識別子を含むかどうかを判断すればよい。yesの場合、ノードデバイスは、連続する値を有する複数の単調増加トランザクション識別子を、間隔の形で、トランザクション冪等元テーブルに記録すればよい。noの場合、ノードデバイスは、ターゲットトランザクションのトランザクション識別子を、離散値の形でトランザクション冪等元テーブルに記録すればよい。
たとえば、ターゲットトランザクションのトランザクション識別子はノンス値である。ターゲットトランザクション中に含まれるノンス値は2であり、ノンス値1、3、および5はトランザクション冪等性テーブルに記録されていると仮定する。この場合、ターゲットトランザクション中に含まれるノンス値2が、トランザクション冪等性レコードとしてトランザクション冪等性テーブルに挿入された後、トランザクション冪等性テーブルに記録されているノンス値2ならびにノンス値1および3は、単調増加連続値である。したがって、ノンス値1、2、および3は、間隔[1,3]の形で、トランザクション冪等性テーブルに記録されてよい。代替として、間隔の最大値は、間隔を表すのに使用されてよく、間隔[1,3]は、トランザクション冪等性レコードの記憶空間をさらに節約するために、トランザクション冪等性テーブルにノンス値を記録するために3として表される。
別の例では、ターゲットトランザクション中に含まれるノンス値は9であり、ノンス値[1,3]および5はトランザクション冪等性テーブルに記録されている。ターゲットトランザクション中に含まれるノンス値9が、トランザクション冪等性レコードとしてトランザクション冪等性テーブルに挿入された後、トランザクション冪等元テーブルは、複数の単調増加連続ノンス値を含めることはない。この場合、ノンス値9は、離散値の形でトランザクション冪等性テーブルに記録されてよい。この場合、アップデートされたトランザクション冪等性テーブル中のノンス値は、[1,3]、5、および9である。
したがって、連続する値を有する複数の単調増加トランザクション識別子は、間隔の形でトランザクション冪等性テーブルに記録され得る。そうすることにより、大規模トランザクション処理シナリオにおいて、トランザクション冪等性テーブルの記憶空間の占有を大幅に削減することができる。
確かに、トランザクション冪等性テーブルにトランザクション冪等性レコードを挿入するプロセスにおいて、トランザクション冪等元テーブル中の連続する値を有する複数の単調増加トランザクション識別子が組み合わされる。実際のアプリケーションでは、記載される組合せプロセスは、あらかじめ設定された組合せ期間に基づいて周期的に完了され得る。たとえば、トランザクション冪等元テーブルが、連続する値を有する複数の単調増加トランザクション識別子を含むかどうかは、あらかじめ設定された組合せ期間に基づいて周期的に検査される。yesの場合、連続する値を有する複数の単調増加トランザクション識別子は、間隔の形でトランザクション冪等元テーブルに記録され得る。
本出願において、候補ブロックを生成した後、アカウンティングノードとして作用するノードデバイスはさらに、生成された候補ブロックをブロックチェーン内でブロードキャストし、アカウンティング許可を求めて競合するために、ブロックチェーンによってサポートされるコンセンサスアルゴリズムに基づいて、ブロックチェーン内の候補ブロック中に記録されたトランザクションに対してコンセンサス処理を実施してよい。
ブロックチェーンによってサポートされるコンセンサスアルゴリズムの具体的なタイプは、本出願では限定されない。実際のアプリケーションでは、プルーフオブワークアルゴリズムもしくはPBFTアルゴリズムなどの標準コンセンサスアルゴリズムが使用されてよく、またはコンセンサスアルゴリズムは、実際のサービス要件に基づいて、ブロックチェーンのオペレータによってカスタマイズされてよい。
候補ブロックがコンセンサスに到達し、アカウンティングノードとして作用するノードデバイスがアカウンティング許可を取得した後、以下が実装され得る。
候補ブロックは、ブロックチェーンの分散型データベース(すなわち、分散型台帳)に、ブロックチェーン内の最新ブロックとして追加され得る。この場合、候補ブロックは、ブロックチェーン内のブロックとして、ブロックチェーン内に永久に記憶される。
さらに、ノードデバイスは、トランザクションに含まれるトランザクション内容に基づいて、ノードデバイスのトランザクション実行環境において実行されるべき候補ブロック中に記録されるためのコンセンサスに到達するトランザクションをトリガし得る。たとえば、トランザクションは、ブロックチェーン内で公開されているスマートコントラクトの入力として使用されてよく、トランザクションは、スマートコントラクトに記述されるトランザクション実行プログラムコードを実行する(たとえば、トランザクション実行に関連したいくつかの関数を呼び出す)ことによって、ノードデバイスのトランザクション実行環境において実行される。
ある実装形態では、ターゲットトランザクションが候補ブロック中に正常に記録され、候補ブロックが、ブロックチェーン内の最新ブロックとしてブロックチェーンの分散型データベースに最終的に記憶されるためのコンセンサスに到達した後、ターゲットトランザクションは、ブロックチェーンの分散型データベースに正常に記憶されている(言い換えると、トランザクションは正常にオンチェーンである)。この場合、アカウンティングノードとして作用するノードデバイスは、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等性レコードをさらに生成し、次いで、トランザクション冪等性レコードをトランザクション冪等性テーブルに挿入すればよい。
本出願において、トランザクション冪等性テーブルは、トランザクション有効期間内の有効トランザクションに対応するトランザクション冪等性レコードを維持するのに使用される。したがって、実際のアプリケーションでは、トランザクション冪等元テーブルを共同で維持するメンバーノードデバイスは、時間的に、トランザクション冪等元テーブル中の、トランザクション有効期間の外にあるトランザクションのトランザクション冪等元レコードを周期的に消し去ってよい。
たとえば、トランザクション有効期間は、現在のアカウンティング期間中に作成される候補ブロックの作成時間を基準として使用して、ブロックチェーン内のアカウンティングノードデバイスによって設定される時間間隔である。候補ブロックは周期的に作成されるので、トランザクション有効期間も、周期的な動的時間期間である。この場合、ノードデバイスは、次のアカウンティング期間中に新たな候補ブロックが作成されると、トランザクション有効期間を再度判断し、次いで、再度判断されたトランザクション有効期間の外にあるトランザクションのトランザクション冪等元レコードを求めて、トランザクション冪等元テーブルをアクティブに探索することができる。たとえば、トランザクションが、依然として、トランザクション中の基準時間パラメータを使用して再度判断されたトランザクション有効期間の外にあるかどうかが判断され得る。具体的な実装プロセスについては省略する。
さらに、これらの識別されたトランザクション冪等性レコードは、トランザクション冪等性テーブル中で維持されるトランザクション冪等性レコードを動的に更新し、維持するために消去されてよい。したがって、トランザクション冪等性テーブル中のトランザクション冪等性レコードは、現在のトランザクション有効期間内の有効トランザクションに対応するトランザクション冪等性レコードである。
本出願は、上記の方法実装形態に対応する、ブロックチェーンベースのトランザクション処理装置の実装形態をさらに提供する。本出願における、ブロックチェーンベースのトランザクション処理装置の実装形態は、電子デバイスに適用され得る。装置実装形態は、ソフトウェア、ハードウェア、またはハードウェアおよびソフトウェアの組合せによって実装されてよい。ソフトウェア実装が、例として使用される。装置が位置する電子デバイスのプロセッサが、対応するコンピュータプログラム命令を不揮発性メモリからメモリに読み取り、コンピュータプログラム命令は、論理装置を形成するように稼動する。ハードウェア実装に関して、図2は、本出願による、ブロックチェーンベースのトランザクション処理装置が位置する電子デバイスのハードウェアを示す構造図である。図2に示すプロセッサ、メモリ、ネットワークインターフェース、および不揮発性メモリに加え、この実装形態において装置が位置する電子デバイスは通常、電子デバイスの実際の機能に基づいて、他のハードウェアを含んでよい。詳細については省略する。
図3は、本出願の例示的実装形態によるブロックチェーンベースのトランザクション処理装置を示すブロック図である。
図3を参照すると、ブロックチェーンベースのトランザクション処理装置30は、図2に示す電子デバイスに適用されてよく、受信モジュール301、照会モジュール302、および記録モジュール303を含む。
受信モジュール301は、ブロックチェーン内のメンバーノードデバイスによって開始されたターゲットトランザクションを受信するように構成され、ターゲットトランザクションはターゲットトランザクションの一意の識別子を含む。
照会モジュール302は、あらかじめ設定されたトランザクション冪等元テーブルが、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等元レコードを記憶しているかどうかを照会するように構成される。
記録モジュール303は、トランザクション冪等元テーブルが、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等元レコードを記憶していない場合、ターゲットトランザクションを候補ブロックに記録するように構成される。
この実装形態では、トランザクション冪等元テーブル中のトランザクション冪等元レコードは、トランザクション冪等元レコードに対応するトランザクションがブロックチェーンの分散型データベース中に正常に記録されていることを示す。
この実装形態では、記録モジュール303は、ターゲットトランザクションが、候補ブロック中に記録され、候補ブロックが、ブロックチェーンの分散型データベースに正常に記憶されるためのコンセンサスに到達した場合、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等元レコードを生成し、ターゲットトランザクションの一意の識別子に対応する、生成されたトランザクション冪等元レコードをトランザクション冪等元テーブルに挿入するようにさらに構成される。
この実装形態では、トランザクション冪等元テーブル中のトランザクション冪等元レコードは、トランザクションの一意の識別子であり、ブロックチェーン内のメンバーノードデバイスによって開始されたトランザクションの一意の識別子は単調増加トランザクション識別子である。
記録モジュール303は、トランザクションの一意の識別子がトランザクション冪等元テーブルに挿入された後、トランザクション冪等元テーブルが、連続する値を有する複数の単調増加トランザクション識別子を含むかどうかを判断し、yesの場合、連続する値を有する複数の単調増加トランザクション識別子を、間隔の形で、トランザクション冪等元テーブルに記録し、またはnoの場合、トランザクションのトランザクション識別子を、離散値の形でトランザクション冪等元テーブルに記録するようにさらに構成される。
この実装形態では、ターゲットトランザクションは基準時間パラメータをさらに含み、基準時間パラメータは、ターゲットトランザクションが、トランザクション有効期間内の有効トランザクションであるかどうかを判断するのに使用される。
装置30は、あらかじめ設定されたトランザクション冪等元テーブルが、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等元レコードを記憶するかどうかが照会される前に、ターゲットトランザクションが、トランザクション有効期間内の有効トランザクションであるかどうかを、基準時間パラメータに基づいて判断し、ターゲットトランザクションが、トランザクション有効期間内の有効トランザクションであると判断された場合、あらかじめ設定されたトランザクション冪等元テーブルが、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等元レコードを記憶するかどうかをさらに照会するように構成された判断モジュール304(図3には示さず)をさらに含む。
この実装形態では、ブロックチェーンはコンソーシアムブロックチェーンである。装置の中の各モジュールの機能および役割の実装プロセスについては、前述の方法における対応するステップからなる実装プロセスを参照されたい。詳細については、ここでは省略する。
装置実装形態は基本的に、方法実装形態に対応するので、関連部分について、方法実装形態における関連説明に対して参照が行われる場合がある。前に記載した装置実装形態は、例にすぎない。別個の部分として記述されるモジュールは、物理的に別個であってもまたはなくてもよく、モジュールとして表示される部分は、物理モジュールであってもまたはなくてもよく、ある位置に位置決めされ得るか、または複数のネットワークモジュール上で分散され得る。モジュールの一部または全部が、本出願におけるソリューションの目的を達成するために、実際の必要に基づいて選択されてよい。当業者は、本出願の実装形態を理解し、創造的努力なしで実装することができよう。
前述の実装形態に示されたシステム、装置、またはモジュールは、コンピュータチップもしくはエンティティを使用することによって実装され得るか、または特定の機能を有する製品を使用することによって実装され得る。典型的な実装形態デバイスがコンピュータであり、コンピュータは、パーソナルコンピュータ、ラップトップコンピュータ、セルラーフォン、カメラフォン、スマートフォン、携帯情報端末、メディアプレーヤ、ナビゲーションデバイス、eメール受信および送付デバイス、ゲームコンソール、タブレット、装着可能デバイス、またはこれらのデバイスのどの組合せであってもよい。
本出願は、前述の方法実装形態に対応する電子デバイスの実装形態をさらに提供する。電子デバイスは、プロセッサと、機械実行可能命令を記憶するように構成されたメモリとを含む。プロセッサおよびメモリは通常、内部バスを使用することによって互いに接続される。別の可能実装形態では、デバイスは外部インターフェースをさらに含んでよく、そうすることによって、デバイスは別のデバイスまたは構成要素と通信することができる。
この実装形態では、メモリに記憶されるとともにブロックチェーンベースのトランザクション処理の制御論理に対応する機械実行可能命令を読み取り、実行することによって、プロセッサは、ブロックチェーン内のメンバーノードデバイスによって開始されたターゲットトランザクションを受信することであって、ターゲットトランザクションはターゲットトランザクションの一意の識別子を含む、ことと、あらかじめ設定されたトランザクション冪等元テーブルが、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等元レコードを記憶しているかどうかを照会することと、トランザクション冪等元テーブルが、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等元レコードを記憶していない場合、ターゲットトランザクションを候補ブロックに記録することとを行うように構成される。
この実装形態では、メモリに記憶されるとともにブロックチェーンベースのトランザクション処理の制御論理に対応する機械実行可能命令を読み取り、実行することによって、プロセッサは、ターゲットトランザクションが、候補ブロック中に記録され、候補ブロックが、ブロックチェーンの分散型データベースに正常に記憶されるためのコンセンサスに到達した場合、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等元レコードを生成し、ターゲットトランザクションの一意の識別子に対応する、生成されたトランザクション冪等元レコードをトランザクション冪等元テーブルに挿入するように構成される。
この実装形態では、トランザクション冪等元テーブル中のトランザクション冪等元レコードは、トランザクションの一意の識別子であり、ブロックチェーン内のメンバーノードデバイスによって開始されたトランザクションの一意の識別子は単調増加トランザクション識別子である。
メモリに記憶されるとともにブロックチェーンベースのトランザクション処理の制御論理に対応する機械実行可能命令を読み取り、実行することによって、プロセッサは、トランザクションの一意の識別子がトランザクション冪等元テーブルに挿入された後、トランザクション冪等元テーブルが、連続する値を有する複数の単調増加トランザクション識別子を含むかどうかを判断し、yesの場合、連続する値を有する複数の単調増加トランザクション識別子を、間隔の形で、トランザクション冪等元テーブルに記録し、またはnoの場合、トランザクションのトランザクション識別子を、離散値の形でトランザクション冪等元テーブルに記録するように構成される。
この実装形態では、ターゲットトランザクションは基準時間パラメータをさらに含み、基準時間パラメータは、ターゲットトランザクションが、トランザクション有効期間内の有効トランザクションであるかどうかを判断するのに使用される。
メモリに記憶されるとともにブロックチェーンベースのトランザクション処理の制御論理に対応する機械実行可能命令を読み取り、実行することによって、プロセッサは、あらかじめ設定されたトランザクション冪等元テーブルが、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等元レコードを記憶するかどうかが照会される前に、ターゲットトランザクションが、トランザクション有効期間内の有効トランザクションであるかどうかを、基準時間パラメータに基づいて判断し、ターゲットトランザクションが、トランザクション有効期間内の有効トランザクションであると判断された場合、あらかじめ設定されたトランザクション冪等元テーブルが、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等元レコードを記憶するかどうかをさらに照会するように構成される。
当業者は、本出願を熟考し、本明細書における本開示を実践した後、本出願の別の実装形態を容易に考えつくことができよう。本出願は、本出願のどの変形、使用、または適合もカバーすることを意図しており、これらの変形、使用、または適合は、本出願の原則に従い、本出願の技術分野では開示されていない共通知識または従来技術を含む。本明細書および実装形態は、例と見なされるにすぎず、本出願の実際の範囲および趣旨は、添付の請求項によって指摘される。
本出願は、上述し、添付の図面に示す厳密な構造に限定されず、本出願の範囲から逸脱することなく、様々な修正および変更が行われてよいことを理解されたい。本出願の範囲は、添付の特許請求の範囲によってのみ限定される。
前の説明は、本出願の単に好ましい実装形態にすぎず、本出願を限定することは意図していない。本出願の趣旨および原理から逸脱することなく行われるいかなる修正、等価な置換え、または改良も、本出願の保護範囲内であるものとする。
上のコンテキストにおいて、図4は、本開示のある実装形態による、ブロックチェーンベースのトランザクションを処理するためのコンピュータ実装方法400の例を示すフローチャートである。提示の明快のために、後に続く説明は概して、本説明における他の図面のコンテキストにおいて、方法400を記載する。ただし、方法400は、たとえば、必要に応じて、どのシステム、環境、ソフトウェア、およびハードウェア、またはシステム、環境、ソフトウェア、およびハードウェアの組合せによって実施されてもよいことが理解されよう。いくつかの実装形態では、方法400の様々なステップは、並列に、組み合わせて、ループ中で、またはどの順序で稼働されてもよい。
402において、ブロックチェーンが、メンバーノードデバイスによって開始されたターゲットトランザクションを受信する。ターゲットトランザクションは、ターゲットトランザクションの一意の識別子を含み得る。一例では、一意の識別子はノンス値に対応する。ターゲットトランザクションは、基準時間パラメータをさらに含み得る。一例では、基準時間パラメータはタイムスタンプを含む。402から、方法400は404に進む。
404において、方法は続いて、ターゲットトランザクションがトランザクション有効期間内に有効であるかどうかを判断する。コンテキスト上、ターゲットトランザクションは、ブロックチェーン上のメンバーノードデバイスによって続けて開始され得る。各ターゲットトランザクションは、有限有効期間を有する。たとえば、ターゲットトランザクションの基準時間パラメータが検証されて、ターゲットトランザクションがトランザクション有効期間内であるかどうかを、基準時間パラメータに基づいて判断することができる。一例では、トランザクション有効期間は、ブロックチェーン上のブロックチェーントランザクションの満了期間によって特徴づけられる時間ウィンドウ、またはブロックチェーン上のデバイス向けのクロックオフセットに対応する。ターゲットトランザクションが有効時間期間内である(406)と判断したことに応答して、方法400は408に進む。そうでない場合、ターゲットトランザクションは削除されてよい。
408において、方法400は続いて、トランザクション冪等元テーブルがターゲットトランザクションの一意の識別子に対応するトランザクション冪等元レコードを記憶したかどうかを判断するために、ブロックチェーン上のトランザクション冪等元テーブルを照会する。トランザクション冪等元テーブルに記憶されたトランザクション冪等元レコードは、トランザクション冪等元レコードに対応するトランザクションがブロックチェーンの分散型データベース中に正常に記録されていることを示す。トランザクション冪等元レコードは、初回適用以外にも、結果を変えずに複数回適用され得るトランザクションレコードを示す。408において、トランザクション冪等元テーブルがターゲットトランザクションの一意の識別子に対応するトランザクション冪等元レコードを記憶したかどうかに関して、判断が行われる。408から、方法400は410に進む。
410において、トランザクション冪等元テーブルがターゲットトランザクションの一意の識別子に対応するトランザクション冪等元レコードを記憶したかどうかに関して、判断が行われる。トランザクション冪等元テーブルが、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等元レコードを記憶したと判断したことに応答して、方法400は412に進んで、ターゲットトランザクションが正常に記録されたと判断する。トランザクション冪等元テーブルが、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等元レコードを記憶したと判断したことに応答して、方法400は414に進んで、ターゲットトランザクションを、ブロックチェーン上の候補ブロックに記録する。414から、方法400は416に進む。
416において、方法400は続いて、ブロックチェーンの分散型データベースに候補ブロックを記憶するかどうかを判断するために、ブロックチェーンによってサポートされるコンセンサスアルゴリズムを使用して、候補ブロック中のターゲットトランザクションに対してコンセンサス処理を実施する。候補ブロックがコンセンサス処理を通ったことに応答して、方法400は続いて、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等元レコードを生成する(418)。続いて、方法400は先に進んで、ターゲットトランザクションの一意の識別子に対応する、生成されたトランザクション冪等元レコードを、ブロックチェーン上のトランザクション冪等元テーブルに挿入する(420)。
本明細書において開示する実装形態は、ブロックチェーントランザクションを扱うための技術的解決策を提供する。一態様では、ブロックチェーン内の受信されたトランザクションに対する冪等元処理を強制するために、トランザクション冪等元テーブルが作成される。冪等元処理は、初回適用以外にも、結果を変えずに複数回適用され得る。したがって、違法ノードは、インターセプトされた延滞トランザクションを使用して反射攻撃を開始することはできない。別の態様では、ターゲットトランザクションは、タイムスタンプに基づいてブロックチェーン上で開始される。ターゲットトランザクションの適時処理が、有効時間期間内に起こると予期される。各ターゲットトランザクション用の時間ウィンドウを強制することによって、アカウンティングノードは、ターゲットトランザクションの適時性を認識することができ、そうすることによって、有効時間ウィンドウ外のターゲットトランザクションは、違法、たとえばリプレイとして取り扱われ得る。
本明細書に記載する実施形態および動作は、デジタル電子回路機構で、またはコンピュータソフトウェア、ファームウェア、もしくは本明細書において開示した構造を含むコンピュータハードウェアで、またはそれらのうちの1つもしくは複数の、組合せで実装することができる。動作は、1つもしくは複数のコンピュータ可読記憶デバイス上に記憶されるか、または他のソースから受信されたデータに対してデータ処理装置によって実施される動作として実装され得る。データ処理装置、コンピュータ、またはコンピューティングデバイスは、例として、プログラム可能プロセッサ、コンピュータ、システムオンチップ、または上記の複数のもの、もしくは組合せを含む、データを処理するための装置、デバイス、および機械を包含し得る。装置は、特殊目的論理回路機構、たとえば、中央処理ユニット(CPU)、フィールドプログラム可能ゲートアレイ(FPGA)または特定用途向け集積回路(ASIC)を含み得る。装置は、問題となっているコンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム(たとえば、1つのオペレーティングシステムまたは複数のオペレーティングシステムの組合せ)、クロスプラットフォームランタイム環境、仮想機械、またはそれらのうちの1つもしくは複数の、組合せを構成するコードも含み得る。装置および実行環境は、ウェブサービス、分散型コンピューティングおよびグリッドコンピューティングインフラストラクチャなど、異なる様々なコンピューティングモデルインフラストラクチャを実現することができる。
コンピュータプログラム(たとえば、プログラム、ソフトウェア、ソフトウェアアプリケーション、ソフトウェアモジュール、ソフトウェアユニット、スクリプト、またはコードとしても知られる)は、コンパイルまたはインタープリタ型言語、宣言型または手続き型言語を含む、どの形のプログラミング言語で書かれてもよく、スタンドアロンプログラムとして、またはモジュールとして、コンピューティング環境での使用に適した構成要素、サブルーチン、オブジェクト、または他のユニットを含む、どの形でも展開することができる。プログラムは、他のプログラムもしくはデータ(たとえば、マークアップ言語ドキュメントに記憶された1つもしくは複数のスクリプト)を保持するファイル部分に、問題になっているプログラムに専用の単一のファイルに、または複数の協調ファイル(たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの部分)を記憶するファイルに記憶することができる。コンピュータプログラムは、1つのコンピュータ上または1つの場所に位置するもしくは複数の場所に分散されて通信ネットワークによって相互接続されている複数のコンピュータ上で実行されてよい。
コンピュータプログラムの実行のためのプロセッサは、例として、汎用および特殊目的マイクロプロセッサの両方、ならびにどの種類のデジタルコンピュータのどの1つまたは複数のプロセッサも含む。概して、プロセッサは、読出し専用メモリもしくはランダムアクセスメモリまたは両方から、命令およびデータを受信することになる。コンピュータの本質的要素は、命令に従ってアクションを実施するためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。概して、コンピュータはまた、データを記憶するための1つもしくは複数の大容量記憶デバイスからデータを受信し、もしくはそこへデータを転送するためのものを含むか、もしくはそれに動作可能に結合されるか、またはその両方である。コンピュータは、別のデバイス、たとえば、モバイルデバイス、携帯情報端末(PDA)、ゲームコンソール、全地球測位システム(GPS)受信機、または可搬型記憶デバイスに埋め込まれてよい。コンピュータプログラム命令およびデータを記憶するのに適したデバイスは、例として、半導体メモリデバイス、磁気ディスク、および光磁気ディスクを含む不揮発性メモリ、媒体およびメモリデバイスを含む。プロセッサおよびメモリは、特殊目的論理回路機構によって補完されても、または組み込まれてもよい。
モバイルデバイスは、ハンドセット、ユーザ機器(UE)、携帯電話(たとえば、スマートフォン)、タブレット、装着可能デバイス(たとえば、スマートウォッチおよびスマートグラス)、人体内の埋め込みデバイス(たとえば、バイオセンサ、人工内耳)、または他のタイプのモバイルデバイスを含み得る。モバイルデバイスは、様々な通信ネットワーク(以下で説明する)にワイヤレスに(たとえば、無線周波数(RF)信号を使用して)通信することができる。モバイルデバイスは、モバイルデバイスの現在の環境の特性を判断するためのセンサを含み得る。センサは、カメラ、マイクロフォン、近接センサ、GPSセンサ、動きセンサ、加速度計、環境光センサ、湿度センサ、ジャイロスコープ、コンパス、気圧計、指紋センサ、顔認識システム、RFセンサ(たとえば、Wi-Fiおよびセルラー無線)、熱センサ、または他のタイプのセンサを含み得る。たとえば、カメラは、可動または固定レンズ、フラッシュ、画像センサ、および画像プロセッサを有する正面または後面カメラを含み得る。カメラは、顔および/または虹彩認識のために細部を取り込むことが可能なメガピクセルカメラであってよい。カメラは、データプロセッサおよびメモリに記憶されるか、またはリモートにアクセスされる認証情報とともに、顔認識システムを形成し得る。顔認識システムまたは1つもしくは複数のセンサ、たとえば、マイクロフォン、動きセンサ、加速度計、GPSセンサ、もしくはRFセンサは、ユーザ認証に使用され得る。
ユーザとの対話を提供する、ユーザに情報を表示するための、ディスプレイデバイスおよび入力デバイス、たとえば、液晶ディスプレイ(LCD)または有機発光ダイオード(OLED)/仮想現実(VR)/拡張現実(AR)ディスプレイと、ユーザがコンピュータに入力を与えることができるためのタッチスクリーン、キーボード、およびポインティングデバイスとを有するコンピュータ上で、実施形態が実装され得る。他の種類のデバイスも、ユーザとの対話を可能にするのに使用されることが可能であり、たとえば、ユーザに与えられるフィードバックは、どの形の感覚フィードバックでも、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであってもよく、ユーザからの入力は、音響、発話、または触覚入力を含む、どの形でも受信されることが可能である。さらに、コンピュータは、ユーザによって使用されるデバイスへドキュメントを送信し、デバイスからドキュメントを受信することによって、たとえば、ウェブブラウザから受信された要求に応答して、ユーザのクライアントデバイス上のウェブブラウザへウェブページを送信することによって、ユーザと対話することができる。
ワイヤーラインまたはワイヤレスデジタルデータ通信(またはそれらの組合せ)、たとえば、通信ネットワークの任意の形または媒体によって相互接続されたコンピューティングデバイスを使用して、実施形態が実装され得る。相互接続されたデバイスの例は、通常、通信ネットワークを通して対話する、互いから離れているクライアントおよびサーバである。クライアント、たとえば、モバイルデバイスが、サーバとともに、またはサーバを通して、トランザクション自体を実践することができ、たとえば、購入、販売、決済、提供、送付、もしくは融資トランザクションを実施し、またはそれらを認可する。そのようなトランザクションは、アクションおよび応答が時間的に近接するようにリアルタイムであってよく、たとえば、個人が、ほぼ同時に起こるアクションおよび応答を知覚し、個人のアクションに続く応答のための時間差は、1ミリ秒(ms)未満もしくは1秒(s)未満であり、または応答は、システムの処理制限を考慮に入れると、意図的遅延なしである。
通信ネットワークの例は、ローカルエリアネットワーク(LAN)、無線アクセスネットワーク(RAN)、メトロポリタンエリアネットワーク(MAN)、およびワイドエリアネットワーク(WAN)を含む。通信ネットワークは、インターネット、別の通信ネットワークの全部もしくは一部分、または通信ネットワークの組合せを含み得る。情報は、ロングタームエボリューション(LTE)、5G、IEEE802、インターネットプロトコル(IP)、もしくは他のプロトコルまたはプロトコルの組合せを含む様々なプロトコルおよび規格に従って、通信ネットワーク上で送信され得る。通信ネットワークは、接続されたコンピューティングデバイスの間で、音声、ビデオ、生体、もしくは認証データ、または他の情報を送信することができる。
別個の実装形態として記載される特徴は、組み合わせて、単一の実装形態において実装されてよく、単一の実装形態として記載される特徴は、複数の実装形態において、別々に、または任意の適切な部分組合せで実装されてよい。特定の順序で記載され、請求される動作は、特定の順序も、すべての説明した動作も実施されなければならないことを必要とするものと理解されるべきでない(いくつかの動作は任意選択であってよい)。必要に応じて、マルチタスキングもしくは並列処理(またはマルチタスキングおよび並列処理の組合せ)が実施されてよい。
30 ブロックチェーンベースのトランザクション処理装置、装置
301 受信モジュール
302 照会モジュール
303 記録モジュール
304 判断モジュール

Claims (15)

  1. ブロックチェーンベースのトランザクションを処理するためのコンピュータにより実施される方法であって、
    ブロックチェーン内の第1のメンバーノードデバイスによって、前記ブロックチェーン内の第2のメンバーノードデバイスによって開始されたターゲットトランザクションを受信するステップであって、
    前記ターゲットトランザクションは、前記ターゲットトランザクションの一意の識別子と、論理クロックの作成タイムスタンプを定義する前記ブロックチェーン上の候補ブロックのブロック高さとを含む、ステップと、
    前記ターゲットトランザクションの前記一意の識別子に基づいて、前記ターゲットトランザクションが認可されてトランザクション有効期間内に実行されると判断することによって、前記ターゲットトランザクションが有効であると判断するステップであって、
    前記トランザクション有効期間は、延滞トランザクションと有効トランザクションとの区別を可能にさせ、かつ前記候補ブロックの前記ブロック高さと閾値との間の差を特徴付ける、ステップと、
    前記ブロックチェーン内の他の作成タイムスタンプに比較して、前記ターゲットトランザクションの前記作成タイムスタンプが単調増加であると検証することによって、前記候補ブロックが合法ブロックであると判断するステップと、
    前記ターゲットトランザクションが有効であり、かつ前記候補ブロックが合法ブロックであると判断することに応答して、前記ブロックチェーン内の前記第1のメンバーノードデバイスによって、前記ターゲットトランザクションの前記一意の識別子に基づいて、トランザクション冪等元テーブルから、欠落しているトランザクション冪等元レコードを判断するために、前記ブロックチェーン上の前記トランザクション冪等元テーブルを照会するステップであって、
    前記トランザクション冪等元テーブルは、
    前記ブロックチェーン内の複数のメンバーノードデバイスの間で確立されたコンセンサスメカニズムを使用することによって、前記ブロックチェーン内の前記複数のメンバーノードデバイスによって共同で維持され、かつ
    1つまたは複数の組み合せされたトランザクション識別子と、1つまたは複数の個々のトランザクション識別子とを記憶するように構成され、
    前記1つまたは複数の組み合せされたトランザクション識別子のそれぞれが、トランザクションのレコードの記憶を最小化するように組み合せされた、複数の記録された単調増加トランザクション識別子を含む、ステップと、
    前記トランザクション冪等元テーブルが、前記ターゲットトランザクションの前記一意の識別子に対応する前記トランザクション冪等元レコードを記憶していないと判断することに応答して、前記ブロックチェーン内の前記第1のメンバーノードデバイスによって、前記ターゲットトランザクションを前記ブロックチェーン上の前記候補ブロックに記録するステップと
    前記ターゲットトランザクションの前記一意の識別子に対応する前記トランザクション冪等元レコードを、前記ブロックチェーン上の前記トランザクション冪等元テーブルに挿入するステップと
    を含む、方法。
  2. 前記ターゲットトランザクションの前記一意の識別子が、前記トランザクション冪等元テーブルに挿入された後、前記トランザクション冪等元テーブルが、連続する値を有する複数の単調増加トランザクション識別子を含む判断するステップと、
    前記ターゲットトランザクションの前記一意の識別子が、前記トランザクション冪等元テーブルに挿入された後、前記トランザクション冪等元テーブルが、連続する値を有する前記複数の単調増加トランザクション識別子を含むと判断することに応答して、連続する値を有する前記複数の単調増加トランザクション識別子を、ある間隔に基づいて前記トランザクション冪等元テーブルに記録するステップと、
    前記ターゲットトランザクションの前記一意の識別子が、前記トランザクション冪等元テーブルに挿入された後、前記トランザクション冪等元テーブルが、連続する値を有する前記複数の単調増加トランザクション識別子を含まないと判断することに応答して、前記ターゲットトランザクションのトランザクション識別子を、離散値に基づいて前記トランザクション冪等元テーブルに記録するステップと
    をさらに含む、請求項1に記載の方法。
  3. 前記ターゲットトランザクションは、前記ターゲットトランザクションが、トランザクション有効期間内の有効トランザクションである判断するのを支援するように、タイムスタンプに基づく基準時間パラメータをさらに含む、請求項1に記載の方法。
  4. 前記トランザクション冪等元テーブルが、前記ターゲットトランザクションの前記一意の識別子に対応する前記トランザクション冪等元レコードを記憶していると判断することに先立って、前記ターゲットトランザクションが、前記トランザクション有効期間内の前記有効トランザクションであることを、前記基準時間パラメータに基づいて判断するステップと、
    前記ターゲットトランザクションが、前記トランザクション有効期間内の前記有効トランザクションであると判断することに応答して、前記トランザクション冪等元テーブルが、前記ターゲットトランザクションの前記一意の識別子に対応する前記トランザクション冪等元レコードを記憶すると判断するステップと
    をさらに含む、請求項3に記載の方法。
  5. 前記ターゲットトランザクションが、前記トランザクション有効期間内の前記有効トランザクションであることを判断するステップが、
    前記基準時間パラメータから、前記タイムスタンプの時間ウィンドウ内に、前記ターゲットトランザクションが起こると判断するステップであって、前記時間ウィンドウは、前記ブロックチェーン上のブロックチェーントランザクションのための持続時間と、前記ブロックチェーン上のデバイスのためのクロックオフセット時間とのうちの少なくとも1つによって特徴づけられる、ステップを含む、請求項4に記載の方法。
  6. コンピュータシステムによって実行可能な1つまたは複数の命令を記憶したコンピュータ可読記録媒体であって、
    前記1つまたは複数の命令は、前記コンピュータシステムに、
    ブロックチェーン内の第1のメンバーノードデバイスによって、前記ブロックチェーン内の第2のメンバーノードデバイスによって開始されたターゲットトランザクションを受信するステップであって、
    前記ターゲットトランザクションは、前記ターゲットトランザクションの一意の識別子と、論理クロックの作成タイムスタンプを定義する前記ブロックチェーン上の候補ブロックのブロック高さとを含む、ステップと、
    前記ターゲットトランザクションの前記一意の識別子に基づいて、前記ターゲットトランザクションが認可されてトランザクション有効期間内に実行されると判断することによって、前記ターゲットトランザクションが有効であると判断するステップであって、
    前記トランザクション有効期間は、延滞トランザクションと有効トランザクションとの区別を可能にさせ、かつ前記候補ブロックの前記ブロック高さと閾値との間の差を特徴付ける、ステップと、
    前記ブロックチェーン内の他の作成タイムスタンプに比較して、前記ターゲットトランザクションの前記作成タイムスタンプが単調増加であると検証することによって、前記候補ブロックが合法ブロックであると判断するステップと、
    前記ターゲットトランザクションが有効であり、かつ前記候補ブロックが合法ブロックであると判断することに応答して、前記ブロックチェーン内の前記第1のメンバーノードデバイスによって、前記ターゲットトランザクションの前記一意の識別子に基づいて、トランザクション冪等元テーブルから、欠落しているトランザクション冪等元レコードを判断するために、前記ブロックチェーン上の前記トランザクション冪等元テーブルを照会するステップであって、
    前記トランザクション冪等元テーブルは、
    前記ブロックチェーン内の複数のメンバーノードデバイスの間で確立されたコンセンサスメカニズムを使用することによって、前記ブロックチェーン内の前記複数のメンバーノードデバイスによって共同で維持され、かつ
    1つまたは複数の組み合せされたトランザクション識別子と、1つまたは複数の個々のトランザクション識別子とを記憶するように構成され、
    前記1つまたは複数の組み合せされたトランザクション識別子のそれぞれが、トランザクションのレコードの記憶を最小化するように組み合せされた、複数の記録された単調増加トランザクション識別子を含む、ステップと、
    前記トランザクション冪等元テーブルが、前記ターゲットトランザクションの前記一意の識別子に対応する前記トランザクション冪等元レコードを記憶していないと判断することに応答して、前記ブロックチェーン内の前記第1のメンバーノードデバイスによって、前記ターゲットトランザクションを前記ブロックチェーン上の前記候補ブロックに記録するステップと、
    前記ターゲットトランザクションの前記一意の識別子に対応する前記トランザクション冪等元レコードを、前記ブロックチェーン上の前記トランザクション冪等元テーブルに挿入するステップと
    を含む動作を実行させる、コンピュータ可読記録媒体。
  7. 前記動作は、
    前記ターゲットトランザクションの前記一意の識別子が、前記トランザクション冪等元テーブルに挿入された後、前記トランザクション冪等元テーブルが、連続する値を有する複数の単調増加トランザクション識別子を含むと判断するステップと、
    前記ターゲットトランザクションの前記一意の識別子が、前記トランザクション冪等元テーブルに挿入された後、前記トランザクション冪等元テーブルが、連続する値を有する前記複数の単調増加トランザクション識別子を含むと判断することに応答して、連続する値を有する前記複数の単調増加トランザクション識別子を、ある間隔に基づいて前記トランザクション冪等元テーブルに記録するステップと、
    前記ターゲットトランザクションの前記一意の識別子が、前記トランザクション冪等元テーブルに挿入された後、前記トランザクション冪等元テーブルが、連続する値を有する前記複数の単調増加トランザクション識別子を含まないと判断することに応答して、前記ターゲットトランザクションのトランザクション識別子を、離散値に基づいて前記トランザクション冪等元テーブルに記録するステップと
    をさらに含む、請求項6に記載のコンピュータ可読記録媒体。
  8. 前記ターゲットトランザクションは、前記ターゲットトランザクションが、トランザクション有効期間内の有効トランザクションであると判断するのを支援するように、タイムスタンプに基づく基準時間パラメータをさらに含む、請求項6に記載のコンピュータ可読記録媒体。
  9. 前記動作は、
    前記トランザクション冪等元テーブルが、前記ターゲットトランザクションの前記一意の識別子に対応する前記トランザクション冪等元レコードを記憶していると判断することに先立って、前記ターゲットトランザクションが、前記トランザクション有効期間内の前記有効トランザクションであることを、前記基準時間パラメータに基づいて判断するステップと、
    前記ターゲットトランザクションが、前記トランザクション有効期間内の前記有効トランザクションであると判断することに応答して、前記トランザクション冪等元テーブルが、前記ターゲットトランザクションの前記一意の識別子に対応する前記トランザクション冪等元レコードを記憶すると判断するステップと
    をさらに含む、請求項8に記載のコンピュータ可読記録媒体。
  10. 前記ターゲットトランザクションが、前記トランザクション有効期間内の前記有効トランザクションであることを判断するステップが、
    前記基準時間パラメータから、前記タイムスタンプの時間ウィンドウ内に、前記ターゲットトランザクションが起こると判断するステップであって、前記時間ウィンドウは、前記ブロックチェーン上のブロックチェーントランザクションのための持続時間と、前記ブロックチェーン上のデバイスのためのクロックオフセット時間とのうちの少なくとも1つによって特徴づけられる、ステップを含む、請求項9に記載のコンピュータ可読記録媒体。
  11. コンピュータシステムにより実施されるシステムであって、
    1つまたは複数のコンピュータと、
    前記1つまたは複数のコンピュータに相互動作可能に結合され、1つまたは複数の命令を記憶したコンピュータ可読記録媒体を有する1つまたは複数のコンピュータメモリデバイスと
    を備え、
    前記1つまたは複数の命令は、前記1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、
    ブロックチェーン内の第1のメンバーノードデバイスによって、前記ブロックチェーン内の第2のメンバーノードデバイスによって開始されたターゲットトランザクションを受信するステップであって、
    前記ターゲットトランザクションは、前記ターゲットトランザクションの一意の識別子と、論理クロックの作成タイムスタンプを定義する前記ブロックチェーン上の候補ブロックのブロック高さとを含む、ステップと、
    前記ターゲットトランザクションの前記一意の識別子に基づいて、前記ターゲットトランザクションが認可されてトランザクション有効期間内に実行されると判断することによって、前記ターゲットトランザクションが有効であると判断するステップであって、
    前記トランザクション有効期間は、延滞トランザクションと有効トランザクションとの区別を可能にさせ、かつ前記候補ブロックの前記ブロック高さと閾値との間の差を特徴付ける、ステップと、
    前記ブロックチェーン内の他の作成タイムスタンプに比較して、前記ターゲットトランザクションの前記作成タイムスタンプが単調増加であると検証することによって、前記候補ブロックが合法ブロックであると判断するステップと、
    前記ターゲットトランザクションが有効であり、かつ前記候補ブロックが合法ブロックであると判断することに応答して、前記ブロックチェーン内の前記第1のメンバーノードデバイスによって、前記ターゲットトランザクションの前記一意の識別子に基づいて、トランザクション冪等元テーブルから、欠落しているトランザクション冪等元レコードを判断するために、前記ブロックチェーン上の前記トランザクション冪等元テーブルを照会するステップであって、
    前記トランザクション冪等元テーブルは、
    前記ブロックチェーン内の複数のメンバーノードデバイスの間で確立されたコンセンサスメカニズムを使用することによって、前記ブロックチェーン内の前記複数のメンバーノードデバイスによって共同で維持され、かつ
    1つまたは複数の組み合せされたトランザクション識別子と、1つまたは複数の個々のトランザクション識別子とを記憶するように構成され、
    前記1つまたは複数の組み合せされたトランザクション識別子のそれぞれが、トランザクションのレコードの記憶を最小化するように組み合せされた、複数の記録された単調増加トランザクション識別子を含む、ステップと、
    前記トランザクション冪等元テーブルが、前記ターゲットトランザクションの前記一意の識別子に対応する前記トランザクション冪等元レコードを記憶していないと判断することに応答して、前記ブロックチェーン内の前記第1のメンバーノードデバイスによって、前記ターゲットトランザクションを前記ブロックチェーン上の前記候補ブロックに記録するステップと、
    前記ターゲットトランザクションの前記一意の識別子に対応する前記トランザクション冪等元レコードを、前記ブロックチェーン上の前記トランザクション冪等元テーブルに挿入するステップと
    を含む動作を実行させる、システム。
  12. 前記動作は、
    前記ターゲットトランザクションの前記一意の識別子が、前記トランザクション冪等元テーブルに挿入された後、前記トランザクション冪等元テーブルが、連続する値を有する複数の単調増加トランザクション識別子を含むと判断するステップと、
    前記ターゲットトランザクションの前記一意の識別子が、前記トランザクション冪等元テーブルに挿入された後、前記トランザクション冪等元テーブルが、連続する値を有する前記複数の単調増加トランザクション識別子を含むと判断することに応答して、連続する値を有する前記複数の単調増加トランザクション識別子を、ある間隔に基づいて前記トランザクション冪等元テーブルに記録するステップと、
    前記ターゲットトランザクションの前記一意の識別子が、前記トランザクション冪等元テーブルに挿入された後、前記トランザクション冪等元テーブルが、連続する値を有する前記複数の単調増加トランザクション識別子を含まないと判断することに応答して、前記ターゲットトランザクションのトランザクション識別子を、離散値に基づいて前記トランザクション冪等元テーブルに記録するステップと
    をさらに含む、請求項11に記載のシステム。
  13. 前記ターゲットトランザクションは、前記ターゲットトランザクションが、トランザクション有効期間内の有効トランザクションであると判断するのを支援するように、タイムスタンプに基づく基準時間パラメータをさらに含む、請求項11に記載のシステム。
  14. 前記動作は、
    前記トランザクション冪等元テーブルが、前記ターゲットトランザクションの前記一意の識別子に対応する前記トランザクション冪等元レコードを記憶していると判断することに先立って、前記ターゲットトランザクションが、前記トランザクション有効期間内の前記有効トランザクションであることを、前記基準時間パラメータに基づいて判断するステップと、
    前記ターゲットトランザクションが、前記トランザクション有効期間内の前記有効トランザクションであると判断することに応答して、前記トランザクション冪等元テーブルが、前記ターゲットトランザクションの前記一意の識別子に対応する前記トランザクション冪等元レコードを記憶すると判断するステップと
    をさらに含む、請求項13に記載のシステム。
  15. 前記ターゲットトランザクションが、前記トランザクション有効期間内の前記有効トランザクションであることを判断するステップが、
    前記基準時間パラメータから、前記タイムスタンプの時間ウィンドウ内に、前記ターゲットトランザクションが起こると判断するステップであって、前記時間ウィンドウは、前記ブロックチェーン上のブロックチェーントランザクションのための持続時間と、前記ブロックチェーン上のデバイスのためのクロックオフセット時間とのうちの少なくとも1つによって特徴づけられる、ステップを含む、請求項14に記載のシステム。
JP2020529462A 2018-05-29 2019-05-29 ブロックチェーンベースのトランザクション処理方法および装置、ならびに電子デバイス Active JP6896942B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201810532710.7A CN108805569A (zh) 2018-05-29 2018-05-29 基于区块链的交易处理方法及装置、电子设备
CN201810532710.7 2018-05-29
PCT/US2019/034271 WO2019231965A1 (en) 2018-05-29 2019-05-29 Blockchain-based transaction processing method and apparatus, and electronic device

Publications (3)

Publication Number Publication Date
JP2021512519A JP2021512519A (ja) 2021-05-13
JP2021512519A5 JP2021512519A5 (ja) 2021-06-24
JP6896942B2 true JP6896942B2 (ja) 2021-06-30

Family

ID=64090880

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020529462A Active JP6896942B2 (ja) 2018-05-29 2019-05-29 ブロックチェーンベースのトランザクション処理方法および装置、ならびに電子デバイス

Country Status (11)

Country Link
US (2) US11270307B2 (ja)
EP (1) EP3701470B1 (ja)
JP (1) JP6896942B2 (ja)
KR (1) KR102337170B1 (ja)
CN (1) CN108805569A (ja)
AU (1) AU2019277175B2 (ja)
CA (1) CA3084082C (ja)
PH (1) PH12020550738A1 (ja)
SG (1) SG11202005054TA (ja)
TW (1) TWI691919B (ja)
WO (1) WO2019231965A1 (ja)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108805569A (zh) * 2018-05-29 2018-11-13 阿里巴巴集团控股有限公司 基于区块链的交易处理方法及装置、电子设备
US11836721B2 (en) * 2018-06-29 2023-12-05 Intel Corporation Protection of information in an information exchange
US11218409B2 (en) 2018-10-16 2022-01-04 Eluvio, Inc. Decentralized content fabric
CN112232817A (zh) * 2018-10-25 2021-01-15 创新先进技术有限公司 基于区块链的交易处理方法及装置、电子设备
CN109327528B (zh) * 2018-10-31 2020-10-20 创新先进技术有限公司 一种基于区块链的节点管理方法和装置
US10928848B2 (en) * 2018-11-28 2021-02-23 International Business Machines Corporation Distributed clock
CN110431580B (zh) * 2018-11-30 2023-05-16 创新先进技术有限公司 使用随机数表来减少并发区块链交易失败
CN110012054B (zh) * 2018-12-28 2020-06-26 阿里巴巴集团控股有限公司 一种基于联盟链网络的业务处理方法及系统
JP6905059B2 (ja) 2018-12-29 2021-07-21 アドバンスド ニュー テクノロジーズ カンパニー リミテッド リプレイ攻撃の検出のためのシステム及び方法
US10735464B2 (en) 2018-12-29 2020-08-04 Alibaba Group Holding Limited System and method for detecting replay attack
JP6882474B2 (ja) * 2018-12-29 2021-06-02 アドバンスド ニュー テクノロジーズ カンパニー リミテッド リプレイ攻撃の検出のためのシステム及び方法
US10681083B2 (en) 2018-12-29 2020-06-09 Alibaba Group Holding Limited System and method for detecting replay attack
CN110060161B (zh) * 2019-03-28 2021-05-28 众安信息技术服务有限公司 用于区块链交易防重的客户端服务实现方法及服务组件
DE102019109560A1 (de) * 2019-04-11 2020-10-15 Infineon Technologies Ag Vertrauensanker-Blockketten-Verifizierung
CN110099108B (zh) * 2019-04-26 2022-04-01 深圳前海微众银行股份有限公司 一种区块链事件去重方法、装置、计算机设备及存储介质
CN110276688B (zh) * 2019-06-14 2024-02-06 深圳前海微众银行股份有限公司 一种区块链中交易处理的方法及装置
SG11202002416RA (en) * 2019-06-26 2020-04-29 Alibaba Group Holding Ltd Improved anti-replay device based on memory space interchange
CN110471933B (zh) * 2019-08-16 2024-03-26 腾讯科技(深圳)有限公司 一种信息处理方法、装置、计算机设备及存储介质
CN110489234A (zh) * 2019-08-16 2019-11-22 中国银行股份有限公司 区块链层的报文处理方法、装置、设备及可读存储介质
CN110428561A (zh) * 2019-09-06 2019-11-08 中国工商银行股份有限公司 一种分离式收款探头、装置及方法
CN110490601A (zh) * 2019-09-10 2019-11-22 杭州秘猿科技有限公司 在交易池中进行无状态验证的方法、系统、电子设备
CN110944004B (zh) * 2019-09-12 2021-09-10 腾讯科技(深圳)有限公司 区块链网络中的数据处理方法、装置、存储介质和设备
CN111159283B (zh) * 2019-11-25 2023-08-22 东软集团股份有限公司 一种区块链中区块的合并方法、装置及设备
CN111311258B (zh) * 2020-01-20 2023-07-21 布比(北京)网络技术有限公司 基于区块链的可信交易方法、装置、系统、设备及介质
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities
CN113312362B (zh) * 2020-02-26 2024-07-19 百度在线网络技术(北京)有限公司 区块链的数据修改方法、装置、设备和存储介质
CN110992040A (zh) * 2020-03-03 2020-04-10 支付宝(杭州)信息技术有限公司 交易处理方法、装置及设备
CN111626722B (zh) * 2020-06-01 2023-11-24 中国联合网络通信集团有限公司 一种跨境支付方法及装置
CN111683148B (zh) * 2020-06-09 2023-01-31 吉林亿联银行股份有限公司 服务处理系统及方法、服务发布方法
CN111522648B (zh) 2020-07-03 2020-10-09 支付宝(杭州)信息技术有限公司 一种区块链的交易处理方法、装置及电子设备
CN111541789A (zh) 2020-07-08 2020-08-14 支付宝(杭州)信息技术有限公司 一种基于区块链一体机的数据同步方法及装置
US11544797B1 (en) * 2020-08-07 2023-01-03 Stripe, Inc. Systems and methods for immutable historic records from cloud storage systems
CN111985929A (zh) * 2020-09-03 2020-11-24 深圳壹账通智能科技有限公司 区块链中的交易验证方法、装置、节点设备及存储介质
US11657040B2 (en) 2020-10-30 2023-05-23 Xilinx, Inc. Blockchain machine network acceleration engine
US11743051B2 (en) 2020-10-28 2023-08-29 Xilinx, Inc. Blockchain machine compute acceleration engine with a block verify and a block validate
CN112383402B (zh) * 2020-11-13 2022-08-05 中国联合网络通信集团有限公司 双重幂等验证方法及服务器
CN112561480B (zh) * 2020-12-16 2024-09-03 中国平安人寿保险股份有限公司 智能推动工作流方法、设备及计算机存储介质
KR102603880B1 (ko) 2021-01-08 2023-11-20 한국전자통신연구원 블록 합의 방법 및 트랜잭션 상태 관리 방법
CN112866421B (zh) * 2021-03-30 2023-02-24 中国工商银行股份有限公司 基于分布式缓存以及nsq的智能合约运行方法及装置
CN113422709B (zh) * 2021-06-18 2023-10-10 西安石油大学 一种适合区块链交易验证的数据传输方法
CN113744056A (zh) * 2021-09-07 2021-12-03 辽宁振兴银行股份有限公司 一种联机交易幂等的方法及装置
CN113836113A (zh) * 2021-09-26 2021-12-24 北京金山云网络技术有限公司 一种ddl操作同步方法、装置及电子设备
CN115293769B (zh) * 2022-10-08 2022-12-27 中铱数字科技有限公司 一种基于区块链的动态管理和校验节点系统
CN117670330B (zh) * 2024-02-01 2024-05-24 中国信息通信研究院 基于区块链的交易处理方法和装置、电子设备和存储介质

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5142627A (en) * 1988-11-17 1992-08-25 Unisys Corporation FIP-compliant block multiplexor channel interface operational method for cache/disk subsystem
WO1998056129A1 (en) * 1997-06-04 1998-12-10 Simple Access Partners, Llc System and method for processing transaction messages
US6249774B1 (en) * 1998-02-23 2001-06-19 Bergen Brunswig Corporation Method for owning, managing, automatically replenishing, and invoicing inventory items
US6734886B1 (en) * 1999-12-21 2004-05-11 Personalpath Systems, Inc. Method of customizing a browsing experience on a world-wide-web site
CA2519890A1 (en) * 2003-04-01 2004-10-14 Mi-Kyoung Park Mobile communication terminal having a function of reading out information from contactless type communication tag and methdo for providing information of whether an article is genuine or not
US7725927B2 (en) * 2005-10-28 2010-05-25 Yahoo! Inc. Low code-footprint security solution
US20070276766A1 (en) * 2006-05-24 2007-11-29 Carlos Antonio Lorenzo Hoyos System and Method for Preventing Multiple Charges for a Transaction in a Payment System
US8000229B2 (en) * 2007-02-07 2011-08-16 Lightfleet Corporation All-to-all interconnect fabric generated monotonically increasing identifier
US8473783B2 (en) * 2010-11-09 2013-06-25 International Business Machines Corporation Fault tolerance in distributed systems
US8984170B2 (en) * 2011-09-09 2015-03-17 Oracle International Corporation Idempotence for database transactions
US20130166505A1 (en) * 2011-12-22 2013-06-27 Noam Peretz Monitoring replication lag between geographically dispersed sites
US9280591B1 (en) * 2013-09-20 2016-03-08 Amazon Technologies, Inc. Efficient replication of system transactions for read-only nodes of a distributed database
CA2936985A1 (en) 2014-02-04 2015-08-13 Visa International Service Association Token verification using limited use certificates
US9430274B2 (en) * 2014-03-28 2016-08-30 Futurewei Technologies, Inc. Efficient methods and systems for consistent read in record-based multi-version concurrency control
US9769203B2 (en) * 2014-09-22 2017-09-19 Sap Se Methods, systems, and apparatus for mitigating network-based attacks
CN105469510B (zh) * 2014-10-12 2018-01-09 吴思进 可预告延时支付或找回的加密货币钱包
US20160164884A1 (en) * 2014-12-05 2016-06-09 Skuchain, Inc. Cryptographic verification of provenance in a supply chain
KR101660627B1 (ko) 2015-02-03 2016-09-28 한양대학교 에리카산학협력단 암호화 화폐의 거래를 보호하는 방법 및 장치
US11294864B2 (en) * 2015-05-19 2022-04-05 Vmware, Inc. Distributed transactions with redo-only write-ahead log
EP3125489B1 (en) * 2015-07-31 2017-08-09 BRITISH TELECOMMUNICATIONS public limited company Mitigating blockchain attack
US10230756B2 (en) * 2015-11-25 2019-03-12 International Business Machines Corporation Resisting replay attacks efficiently in a permissioned and privacy-preserving blockchain network
CN107229455B (zh) * 2016-03-24 2019-09-17 阿里巴巴集团控股有限公司 一种业务处理方法、装置及系统
GB201611948D0 (en) * 2016-07-08 2016-08-24 Kalypton Int Ltd Distributed transcation processing and authentication system
US10733602B2 (en) * 2016-09-29 2020-08-04 Microsoft Technology Licensing, Llc. Heartbeats and consensus in verifiable outsourced ledgers
US20180101914A1 (en) * 2016-10-10 2018-04-12 Escolhalegal, Llc Systems, methods and machine-readable mediums for data management and payment processing
CN106789875B (zh) * 2016-11-15 2019-07-02 深圳市新国都支付技术有限公司 一种区块链服务装置、区块链服务系统及其通信方法
CN106991607B (zh) * 2017-03-29 2020-04-10 杭州溪塔科技有限公司 一种基于区块链账户模型的无序交易控制方法
US10762479B2 (en) * 2017-04-05 2020-09-01 Samsung Sds Co., Ltd. Method and system for processing blockchain-based real-time transaction
US11238460B2 (en) * 2017-04-28 2022-02-01 Mastercard International Incorporated Method and system for implementing chargebacks on a distributed ledger system
US10749668B2 (en) * 2017-05-03 2020-08-18 International Business Machines Corporation Reduction in storage usage in blockchain
US10397328B2 (en) * 2017-05-17 2019-08-27 Nec Corporation Method and system for providing a robust blockchain with an integrated proof of storage
CN107301536B (zh) * 2017-06-12 2019-07-12 腾讯科技(深圳)有限公司 资源转移方法及装置
CN107292622B (zh) * 2017-07-05 2021-02-09 武汉凤链科技有限公司 一种针对智能合约的价值分配方法和系统
CN112804349B (zh) * 2017-07-14 2023-07-04 创新先进技术有限公司 区块链共识网络中处理共识请求的方法、装置和电子设备
GB201711879D0 (en) 2017-07-24 2017-09-06 Nchain Holdings Ltd Computer-implemented system and method
CN107480990B (zh) * 2017-08-01 2021-02-26 中国联合网络通信集团有限公司 区块链记账方法及装置
US10803139B2 (en) * 2017-10-27 2020-10-13 Intuit Inc. Instrument disambiguation to facilitate electronic data consolidation
US11823178B2 (en) * 2017-11-17 2023-11-21 International Business Machines Corporation Optimization of high volume transaction performance on a blockchain
US10692078B1 (en) * 2017-12-20 2020-06-23 NortonLifeLock Inc. Consumer device generation of limited-use credit card numbers
CN108389129B (zh) * 2018-02-27 2020-12-04 创新先进技术有限公司 基于区块链的交易执行方法及装置、电子设备
CN108805569A (zh) * 2018-05-29 2018-11-13 阿里巴巴集团控股有限公司 基于区块链的交易处理方法及装置、电子设备
CN111899006A (zh) * 2018-05-29 2020-11-06 创新先进技术有限公司 基于区块链的交易处理方法及装置、电子设备
US10693811B2 (en) * 2018-09-28 2020-06-23 Hewlett Packard Enterprise Development Lp Age class based arbitration
US20200193430A1 (en) * 2019-04-30 2020-06-18 Alibaba Group Holding Limited Determining generation time for blockchain data

Also Published As

Publication number Publication date
US20190370806A1 (en) 2019-12-05
CN108805569A (zh) 2018-11-13
SG11202005054TA (en) 2020-06-29
PH12020550738A1 (en) 2021-04-19
KR102337170B1 (ko) 2021-12-09
EP3701470A1 (en) 2020-09-02
US11403636B2 (en) 2022-08-02
TWI691919B (zh) 2020-04-21
WO2019231965A1 (en) 2019-12-05
KR20200090168A (ko) 2020-07-28
EP3701470B1 (en) 2023-03-29
TW202004604A (zh) 2020-01-16
AU2019277175B2 (en) 2021-09-30
AU2019277175A1 (en) 2020-06-18
US11270307B2 (en) 2022-03-08
US20210312442A1 (en) 2021-10-07
CA3084082A1 (en) 2019-12-05
CA3084082C (en) 2021-09-21
JP2021512519A (ja) 2021-05-13

Similar Documents

Publication Publication Date Title
JP6896942B2 (ja) ブロックチェーンベースのトランザクション処理方法および装置、ならびに電子デバイス
JP6936396B2 (ja) ブロックチェーンベースのトランザクション処理方法および装置
US11218325B2 (en) Asset management method and apparatus, and electronic device
EP3701700B1 (en) Blockchain-based smart contract invocation method and apparatus, and electronic device
AU2019248525B2 (en) Cross-blockchain authentication method, apparatus, and electronic device
CA3084081A1 (en) Cross-blockchain authentication method and apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200728

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20201228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210414

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210414

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

R150 Certificate of patent or registration of utility model

Ref document number: 6896942

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250