JP6936396B2 - ブロックチェーンベースのトランザクション処理方法および装置 - Google Patents

ブロックチェーンベースのトランザクション処理方法および装置 Download PDF

Info

Publication number
JP6936396B2
JP6936396B2 JP2020529460A JP2020529460A JP6936396B2 JP 6936396 B2 JP6936396 B2 JP 6936396B2 JP 2020529460 A JP2020529460 A JP 2020529460A JP 2020529460 A JP2020529460 A JP 2020529460A JP 6936396 B2 JP6936396 B2 JP 6936396B2
Authority
JP
Japan
Prior art keywords
transaction
value
blockchain
block
target
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
JP2020529460A
Other languages
English (en)
Other versions
JP2021509189A (ja
JP2021509189A5 (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 JP2021509189A publication Critical patent/JP2021509189A/ja
Publication of JP2021509189A5 publication Critical patent/JP2021509189A5/ja
Application granted granted Critical
Publication of JP6936396B2 publication Critical patent/JP6936396B2/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/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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • 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
    • G06Q20/0658Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed locally
    • 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
    • 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/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

Landscapes

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

Description

関連出願の相互参照
本出願は、その全体が参照により本明細書に組み込まれる、2018年5月29日に出願された中国特許出願第201810531740.6号の優先権を主張する。
本明細書の1つまたは複数の実装形態は、ブロックチェーン技術の分野に関し、より詳細には、ブロックチェーンベースのトランザクション処理方法および装置に関する。
分散型台帳技術とも呼ばれるブロックチェーン技術は、コンピューティングデバイスが「アカウンティング」に共同で参加し、完全な分散データベースを共同で維持する、新しい技術である。ブロックチェーン技術は、分散化、ならびに公開性および透明性によって特徴付けられる。ブロックチェーン技術では、各コンピューティングデバイスはデータベース記録に参加することができ、データ同期はコンピューティングデバイス間で迅速に実装され得る。上記を考慮して、ブロックチェーン技術は分散システムを確立するために使用され、様々な実行プログラムが自動実行のためにブロックチェーン分散データベースにおいて収集される。ブロックチェーン技術は、様々な分野において広く適用されている。
本明細書は、ブロックチェーン内のメンバーノードデバイスによって開始されたターゲットトランザクションを受信するステップであって、ターゲットトランザクションが基準時間パラメータを含み、基準時間パラメータが、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであるかどうかを決定するために使用される、ステップと、基準時間パラメータに基づいて、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであるかどうかを決定するステップと、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであると決定された場合、ターゲットトランザクションを生成された候補ブロックに記録するステップとを含む、ブロックチェーンベースのトランザクション処理方法を提供する。
任意選択で、基準時間パラメータは、ターゲットトランザクションが作成されるときに生成される基準タイムスタンプであり、トランザクション有効期間は、第1の値と第2の値との間の数値間隔に対応し、第1の値は、候補ブロックの作成タイムスタンプと第1のしきい値との間の差であり、第2の値は、候補ブロックの作成タイムスタンプと第2のしきい値の和であり、基準時間パラメータに基づいて、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであるかどうかを決定するステップは、基準タイムスタンプを第1の値および第2の値の各々と比較するステップと、基準タイムスタンプが第1の値より大きく、第2の値より小さい場合、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであると決定するステップとを含む。
任意選択で、基準タイムスタンプを第1の値および第2の値の各々と比較するステップの前に、本方法は、候補ブロックの作成タイムスタンプがブロックチェーン内の最新ブロックの作成タイムスタンプより大きいかどうかをチェックするステップと、そうである場合、基準タイムスタンプを第1の値および第2の値の各々とさらに比較するステップとをさらに含む。
任意選択で、基準タイムスタンプは、ターゲットトランザクションが作成されるときのシステムタイムスタンプ、またはトランザクション作成者によって指定される基準タイムスタンプである。
任意選択で、第1のしきい値は、第2のしきい値より大きい。
任意選択で、基準時間パラメータは、ターゲットトランザクションが作成されるときに生成される基準ブロック高さ値であり、トランザクション有効期間は、第3の値とブロックチェーン内の候補ブロックのブロック高さ値との間の数値間隔に対応し、第3の値は、ブロックチェーン内の候補ブロックのブロック高さ値と第3のしきい値との間の差であり、基準時間パラメータに基づいて、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであるかどうかを決定するステップは、基準ブロック高さ値をブロックチェーン内の候補ブロックのブロック高さ値および第3の値の各々と比較するステップと、基準ブロック高さ値が第3の値より大きく、ブロックチェーン内の候補ブロックのブロック高さ値より小さい場合、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであると決定するステップとを含む。
任意選択で、基準ブロック高さ値をブロックチェーン内の候補ブロックのブロック高さ値および第3の値の各々と比較するステップの前に、本方法は、候補ブロックのブロック数がブロックチェーン内の最新ブロックのブロック数より大きいかどうかをチェックするステップと、そうである場合、基準ブロック高さ値をブロックチェーン内の候補ブロックのブロック高さ値および第3の値の各々とさらに比較するステップとをさらに含む。
任意選択で、基準ブロック高さ値は、ターゲットトランザクションが作成されるときのブロックチェーン内の最大ブロック高さ値、またはトランザクション作成者によって指定される基準ブロック高さ値である。
任意選択で、ターゲットトランザクションは、ターゲットトランザクションの一意の識別子をさらに含み、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであると決定された場合、ターゲットトランザクションを生成された候補ブロックに記録するステップは、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであると決定された場合、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等レコードが所定のトランザクション冪等テーブルに記憶されているかどうかを問い合わせるステップであって、トランザクション冪等テーブルが、トランザクション有効期間内の有効トランザクションに対応するトランザクション冪等レコードを記憶するために使用される、ステップと、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等レコードが所定のトランザクション冪等テーブルに記憶されていない場合、ターゲットトランザクションを候補ブロックに記録するステップとを含む。
任意選択で、トランザクション冪等レコードは、トランザクション冪等レコードに対応するトランザクションがブロックチェーンの分散データベースに正常に記録されたことを示し、本方法は、ターゲットトランザクションが候補ブロックに記録された場合、候補ブロックに関するコンセンサスに達し、候補ブロックがブロックチェーンの分散データベースに正常に記憶された後に、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等レコードを生成するステップと、トランザクション冪等レコードをトランザクション冪等テーブルに挿入するステップとをさらに含む。
任意選択で、本方法は、トランザクション冪等テーブル内のトランザクション有効期間を過ぎたトランザクションのトランザクション冪等レコードを周期的に削除するステップをさらに含む。
本明細書は、ブロックチェーン内のメンバーノードデバイスによって開始されたターゲットトランザクションを受信するように構成された受信モジュールであって、ターゲットトランザクションが基準時間パラメータを含み、基準時間パラメータが、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであるかどうかを決定するために使用される、受信モジュールと、基準時間パラメータに基づいて、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであるかどうかを決定するように構成された決定モジュールと、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであると決定された場合、ターゲットトランザクションを生成された候補ブロックに記録するように構成された記録モジュールとを含む、ブロックチェーンベースのトランザクション処理装置をさらに提供する。
任意選択で、基準時間パラメータは、ターゲットトランザクションが作成されるときに生成される基準タイムスタンプであり、トランザクション有効期間は、第1の値と第2の値との間の数値間隔に対応し、第1の値は、候補ブロックの作成タイムスタンプと第1のしきい値との間の差であり、第2の値は、候補ブロックの作成タイムスタンプと第2のしきい値の和であり、決定モジュールは、基準タイムスタンプを第1の値および第2の値の各々と比較し、基準タイムスタンプが第1の値より大きく、第2の値より小さい場合、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであると決定するように構成される。
任意選択で、決定モジュールは、基準タイムスタンプを第1の値および第2の値の各々と比較する前に、候補ブロックの作成タイムスタンプがブロックチェーン内の最新ブロックの作成タイムスタンプより大きいかどうかをチェックし、そうである場合、基準タイムスタンプを第1の値および第2の値の各々とさらに比較するようにさらに構成される。
任意選択で、基準タイムスタンプは、ターゲットトランザクションが作成されるときのシステムタイムスタンプ、またはトランザクション作成者によって指定される基準タイムスタンプである。
任意選択で、第1のしきい値は、第2のしきい値より大きい。
任意選択で、基準時間パラメータは、ターゲットトランザクションが作成されるときに生成される基準ブロック高さ値であり、トランザクション有効期間は、第3の値とブロックチェーン内の候補ブロックのブロック高さ値との間の数値間隔に対応し、第3の値は、ブロックチェーン内の候補ブロックのブロック高さ値と第3のしきい値との間の差であり、決定モジュールは、基準ブロック高さ値をブロックチェーン内の候補ブロックのブロック高さ値および第3の値の各々と比較し、基準ブロック高さ値が第3の値より大きく、ブロックチェーン内の候補ブロックのブロック高さ値より小さい場合、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであると決定するように構成される。
任意選択で、決定モジュールは、基準ブロック高さ値をブロックチェーン内の候補ブロックのブロック高さ値および第3の値の各々と比較する前に、候補ブロックのブロック数がブロックチェーン内の最新ブロックのブロック数より大きいかどうかをチェックし、そうである場合、基準ブロック高さ値をブロックチェーン内の候補ブロックのブロック高さ値および第3の値の各々とさらに比較するようにさらに構成される。
任意選択で、基準ブロック高さ値は、ターゲットトランザクションが作成されるときのブロックチェーン内の最大ブロック高さ値、またはトランザクション作成者によって指定される基準ブロック高さ値である。
任意選択で、ターゲットトランザクションは、ターゲットトランザクションの一意の識別子をさらに含み、記録モジュールは、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであると決定された場合、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等レコードが所定のトランザクション冪等テーブルに記憶されているかどうかを問い合わせることであって、トランザクション冪等テーブルが、トランザクション有効期間内の有効トランザクションに対応するトランザクション冪等レコードを記憶するために使用される、ことと、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等レコードが所定のトランザクション冪等テーブルに記憶されていない場合、ターゲットトランザクションを候補ブロックに記録することとを行うようにさらに構成される。
任意選択で、トランザクション冪等レコードは、トランザクション冪等レコードに対応するトランザクションがブロックチェーンの分散データベースに正常に記録されたことを示し、記録モジュールは、ターゲットトランザクションが候補ブロックに記録された場合、候補ブロックに関するコンセンサスに達し、候補ブロックがブロックチェーンの分散データベースに正常に記憶された後に、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等レコードを生成し、トランザクション冪等レコードをトランザクション冪等テーブルに挿入するようにさらに構成される。
任意選択で、記録モジュールは、トランザクション冪等テーブル内のトランザクション有効期間を過ぎたトランザクションのトランザクション冪等レコードを周期的に削除するようにさらに構成される。
本明細書は、プロセッサと、メモリとを含み、機械実行可能命令を記憶するように構成された電子デバイスをさらに提供し、プロセッサは、ブロックチェーン内のメンバーノードデバイスによって開始されたターゲットトランザクションを受信することであって、ターゲットトランザクションが基準時間パラメータを含み、基準時間パラメータが、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであるかどうかを決定するために使用される、ことと、基準時間パラメータに基づいて、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであるかどうかを決定することと、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであると決定された場合、ターゲットトランザクションを生成された候補ブロックに記録することとを行うために、メモリに記憶され、ブロックチェーンベースのトランザクション処理制御論理に対応する機械実行可能命令を読み取り、実行する。
例示的な一実装形態による、ブロックチェーンベースのトランザクション処理方法を示すフローチャートである。 例示的な一実装形態による電子デバイスを示す概略構造図である。 例示的な一実装形態による、ブロックチェーンベースのトランザクション処理装置を示すブロック図である。 本開示の一実装形態による、ブロックチェーンベースのトランザクション処理のためのコンピュータで実行される方法の一例を示すフローチャートである。
本明細書は、ブロックチェーンに送信されるトランザクションに対するトランザクション有効期間を設定し、ブロックチェーン内のノードデバイスがトランザクション有効期間内のトランザクションのみを候補ブロックに記録することができることを保証するための、技術的解決策を提供するものである。
実装時に、ブロックチェーンのオペレータは、ブロックチェーンに送信されるトランザクションに対するトランザクション有効期間を一様に設定することができる。
たとえば、実際の適用例では、トランザクション有効期間は、ブロックチェーン内のノードデバイス(たとえば、「台帳ノード」として働くノードデバイス)が現在のアカウンティング期間内で候補ブロックを作成する作成時点の前の時間期間、または候補ブロックの作成時点の後の時間期間であり得る。
ユーザがクライアントを使用することによってトランザクションを作成するとき、トランザクションが以前のトランザクション有効期間内の有効トランザクションであるかどうかを決定するために使用される基準時間パラメータは、トランザクションに追加され得、次いで、トランザクションは、クライアントによってアクセスされるノードデバイスを使用することによってブロックチェーンに送信される。
トランザクションを受信した後、トランザクションを検証するプロセスにおいて、ブロックチェーン内の別のノードデバイスは、トランザクションにおいて搬送された基準時間パラメータに基づいて、トランザクションがトランザクション有効期間内の有効トランザクションであるかどうかを検証し、トランザクションがトランザクション有効期間内の有効トランザクションとして確認された場合、トランザクションを候補ブロックに記録することができる。
以前の技術的解決策に基づいて、トランザクション有効期間内の有効トランザクションのみが合法のトランザクションとして使用され、候補ブロックに記録され得る一方で、ブロックチェーン内の不法のノードデバイスは、かなり前に不法のノードデバイスによって傍受された期限切れのトランザクションを使用することによってブロックチェーンに対するリプレイ攻撃を開始することを妨げられ、それによって、ブロックチェーンのトランザクションセキュリティレベルを改善し得る。
以下では、適用例シナリオに関する実装形態を使用することによって、本明細書について説明する。
図1は、本明細書の一実装形態による、ブロックチェーンベースのトランザクション処理方法を示す。本方法は、ブロックチェーン内の任意のノードデバイスに適用され、以下のステップを含む。
ステップ102:ブロックチェーン内のメンバーノードデバイスによって開始されたターゲットトランザクションを受信し、ターゲットトランザクションは基準時間パラメータを含み、基準時間パラメータは、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであるかどうかを決定するために使用される。
ステップ104:基準時間パラメータに基づいて、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであるかどうかを決定する。
ステップ106:ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであると決定された場合、ターゲットトランザクションを生成された候補ブロックに記録する。
本明細書で説明されるブロックチェーンは、プライベートブロックチェーン、パブリックブロックチェーン、コンソーシアムブロックチェーンなどを含むことができる。これは、本明細書において特に限定されない。
たとえば、あるシナリオでは、ブロックチェーンは、サードパーティ支払プラットフォームサーバ、国内銀行サーバ、海外銀行サーバ、およびメンバーデバイスとして働くいくつかのユーザノードデバイスからなる、コンソーシアムブロックチェーンであり得る。コンソーシアムブロックチェーンのオペレータは、コンソーシアムブロックチェーンに基づいて越境移転および資産移転などのオンラインサービスをオンライン展開するために、コンソーシアムブロックチェーンに依拠することができる。
本明細書で説明されるトランザクション(たとえば、越境移転または資産移転など)は、ブロックチェーンのクライアントを使用することによってユーザによって作成され、最終的にブロックチェーンの分散データベースに送信される必要がある1つのデータを示す。
ブロックチェーン内のトランザクションは、狭い意味でのトランザクションおよび広い意味でのトランザクションに分類される。狭い意味でのトランザクションは、ユーザによってブロックチェーンにリリースされた価値移転を示す。たとえば、従来のビットコインブロックチェーンネットワークでは、トランザクションは、ブロックチェーン内のユーザによって開始された移転であり得る。広い意味でのトランザクションは、ユーザによってサービス目的でブロックチェーンにリリースされたサービスデータを示す。たとえば、オペレータは、実際のサービス要件に基づいてコンソーシアムブロックチェーンを作成し、コンソーシアムブロックチェーンに基づいて価値移転とは無関係の(賃貸住宅サービス、車両スケジューリングサービス、保険料決済サービス、クレジットサービス、および医療サービスなどの)他のタイプのオンラインサービスを展開することができる。このタイプのコンソーシアムブロックチェーンでは、トランザクションは、コンソーシアムブロックチェーン内のユーザによってサービス目的でリリースされたサービスメッセージまたはサービス要求であり得る。
ターゲットトランザクションは、パックされ、候補ブロックに記録される必要がある候補トランザクションであって、他のメンバーノードデバイスによってリリースされた正常に検証された合法のトランザクションからブロックチェーン内の台帳ノードとして働くノードデバイスによって選択される候補トランザクションである。
トランザクション有効期間は、ブロックチェーンに送信されるトランザクションに対する、ブロックチェーンのオペレータによって一様に設定される有効期間である。有効期間内のトランザクションは、有効トランザクションとして使用され、候補ブロックに追加され得る合法のトランザクションと見なされ、さもなければ、有効期間を過ぎたトランザクションは、候補ブロックに追加され得ない無効トランザクションと見なされる。
トランザクション有効期間は、ブロックチェーン内の台帳ノードデバイスが現在のアカウンティング期間内で候補ブロックを作成する作成時点に基づいて設定される時間間隔であり得る。たとえば、トランザクション有効期間は、候補ブロックの作成時点の前の時間期間、または候補ブロックの作成時点の後の時間期間であり得る。ブロックチェーン内の他のノードデバイスによってリリースされた多数のトランザクションを取得するとき、台帳ノードは、トランザクション有効期間に基づいて、合法のトランザクションとして使用され、生成された候補ブロックに追加され得るトランザクションを決定することができる。
基準時間パラメータは、トランザクションに追加され、トランザクションがトランザクション有効期間内の有効トランザクションであるかどうかを決定するために使用される時間パラメータであり得る。収集されたトランザクションに対して検証を実行するとき、トランザクションにおいて搬送された基準時間パラメータによって示される時点を参照して、ブロックチェーン内の台帳ノードは、トランザクションがトランザクション有効期間内の有効トランザクションであるかどうかを決定することができる。
基準時間パラメータは、物理クロックであり得るか、または論理クロックであり得る。
物理クロックは、システムからまたはサードパーティクロックサーバから読み取られるシステムタイムスタンプである。論理クロックは、論理タイムスタンプである。分散システムでは、(トランザクションなどの)イベントの発生順を示すことができる任意の自動的に増加する値は、論理クロックとして使用され得る。
一実装形態では、基準時間パラメータが物理クロックである一例において、基準時間パラメータは、トランザクションに追加された基準タイムスタンプであり得る。これに対応して、この場合、トランザクション有効期間は、第1の値と第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]を使用することによって示され得る。
第3のしきい値は、第1のしきい値と同じ意味を有し、トランザクション有効期間が設定されるときに予約されるトランザクション有効性持続時間を示す。しかしながら、ブロック高さ値がトランザクション有効期間を示すための論理クロックとして使用されるシナリオでは、トランザクションをリリースするノードデバイスのシステムタイムスタンプと候補ブロックを作成するノードデバイスのシステムタイムスタンプとの間のクロックオフセットは、考慮されないことがある。したがって、クロックオフセットを示すしきい値は、上記の数値間隔の上限に追加されないことがある。
基準ブロック高さ値は、ユーザがクライアントを使用することによってトランザクションを作成するときにユーザによって手動で指定され得るか、またはクライアントによって自動的に追加され得ることに留意する価値がある。
たとえば、ある場合、ユーザがクライアントを使用することによってトランザクションを作成するとき、クライアントは、システムからトランザクションの作成時点を読み取り、次いで、作成時点でのブロックチェーンにおける最大ブロック高さ値をさらに問い合わせ、作成されたトランザクションに最大ブロック高さ値を自動的に追加することができる。別の場合、ユーザは、要件に基づいてトランザクション有効期間内のブロック高さを指定し、次いで、ブロック高さに対応する値を基準ブロック高さ値として使用し、作成されたトランザクションにその値を手動で追加することができる。
確かに、ブロックチェーン内のブロックのブロック高さを論理クロックとして使用する実装形態に加えて、実際の適用例では、トランザクションの発生順を記述するために使用され得る他のタイプの増加する値も、論理クロックとして使用され得る。これらの値は、本明細書では1つずつ列挙されない。
本明細書では、クライアントを使用することによってユーザによって作成されるトランザクションは、ユーザによって保持される秘密鍵に基づいて署名され得、次いで、トランザクションは、クライアントによってアクセスされるノードデバイスを使用することによって、ブロックチェーンのP2Pネットワークにおいてブロードキャストおよびリリースされる。台帳ノードとして働くノードデバイスは、別のノードデバイスによってブロードキャストおよびリリースされたトランザクションを収集し、収集されたトランザクションを確認なしの(unacknowledged)トランザクションとして使用し、収集されたトランザクションをローカルトランザクションプール(メモリプールとも呼ばれる)に記憶することができる。
さらに、台帳ノードとして働くノードデバイスは、現在のアカウンティング期間内で候補ブロックを作成し、トランザクションプール内のトランザクションに対して合法の検証を実行し、合法の検証に合格したトランザクションを候補トランザクションとして使用し、そのトランザクションを作成された候補ブロックに記録することができる。
実際の適用例では、トランザクションプール内のトランザクションに対して検証を実行することは、トランザクションの発行者に対するアイデンティティ認証およびトランザクションコンテンツに対するチェックを含むことができる。トランザクションコンテンツに対するチェックは、トランザクションコンテンツに対する整合性チェックをさらに含むことができる。
実装時に、トランザクションが署名されるとき、一般に、コンテンツ要約(たとえば、ハッシュ値)を取得するために、トランザクションに対して計算が実行され得、次いで、デジタル署名を取得するために、保持された秘密鍵に基づいてコンテンツ要約が暗号化され得る。署名されたトランザクションを受信した後、台帳ノードとして働くノードデバイスは、トランザクションが署名されたときに使用された秘密鍵に基づいてデジタル署名を解読することができる。ノードデバイスが解読に成功した場合、それは、トランザクションをリリースするユーザのアイデンティティ認証が成功し、トランザクションがユーザによってリリースされた合法のトランザクションであることを示す。
加えて、台帳ノードとして働くノードデバイスは、コンテンツ要約を取得するために、トランザクションに対して再計算をさらに実行し、次いで、再計算されたコンテンツ要約を、デジタル署名を解読することによって取得された元のコンテンツ要約と照合することができる。コンテンツ要約が元のコンテンツ要約と一致する場合、それは、トランザクションコンテンツに対する整合性チェックが成功し、トランザクションのトランザクションコンテンツがトランザクション送信プロセス中に不法に改ざんされていないことを示す。
本明細書では、トランザクションプール内のトランザクションの発行者に対するアイデンティティ認証およびトランザクションコンテンツに対する検証に加えて、トランザクションにおいて搬送された基準時間パラメータに基づいて、トランザクションプール内のトランザクションがトランザクション有効期間内の有効トランザクションであるかどうかがさらに検証される。発行者に対するアイデンティティ認証とトランザクションコンテンツに対する検証の両方に合格したトランザクションプール内のトランザクションについて、このタイプのトランザクションにおいて搬送された基準時間パラメータに基づいて、トランザクションプール内のトランザクションがトランザクション有効期間内の有効トランザクションであるかどうかがさらに検証され得る。
図示の実装形態では、基準時間パラメータが、トランザクションに追加された基準タイムスタンプであり、Ttsとして示され、トランザクション有効期間が、候補ブロックの作成時点に対応する作成タイムスタンプBtsと第1のしきい値K1との間の差と、候補ブロックの作成タイムスタンプBtsと第2のしきい値K2の和との間の数値間隔[Bts-K1,Bts+K2]であると想定される。
この場合、台帳ノードとして働くノードデバイスは、作成された候補ブロックの作成タイムスタンプBtsがブロックチェーン内の最新ブロックの作成タイムスタンプより大きいかどうかをチェックするために、作成された候補ブロックの作成タイムスタンプに対して単調増加チェックを最初に実行することができる。そうである場合、それは、候補ブロックが、ブロックチェーン内のブロックの作成タイムスタンプが単調増加するという特徴を満たし、候補ブロックが合法のブロックであることを示す。
候補ブロックが単調増加チェックに合格した後、台帳ノードとして働くノードデバイスは、トランザクションから基準タイムスタンプTtsをさらに読み取り、読み取られた基準タイムスタンプTtsをBts-K1およびBts+K2の各々と比較することができる。TtsがBts-K1より大きく、Bts+K2より小さい場合、トランザクションは、トランザクション有効期間内の有効トランザクションとして決定され得る。
図示の実装形態では、基準時間パラメータが、トランザクションに追加された基準ブロック高さ値であり、Thとして示され、トランザクション有効期間が、ブロックチェーン内の候補ブロックのブロック高さ値Bhと第3のしきい値K3との間の差と、ブロックチェーン内の候補ブロックのブロック高さ値Bhとの間の数値間隔[Bh-K3,Bh]であると想定される。
この場合、台帳ノードとして働くノードデバイスは、作成された候補ブロックのブロック数がブロックチェーン内の最新ブロックのブロック数より大きいかどうかをチェックするために、作成された候補ブロックのブロック数に対して単調増加チェックを最初に実行することができる。そうである場合、それは、候補ブロックが、ブロックチェーン内のブロックのブロック数が単調増加するという特徴を満たし、候補ブロックが合法のブロックであることを示す。
候補ブロックが単調増加チェックに合格した後、台帳ノードとして働くノードデバイスは、トランザクションから基準ブロック高さ値Thをさらに読み取り、読み取られた基準ブロック高さ値ThをBh-K3およびBhの各々と比較することができる。ThがBh-K3より大きく、Bhより小さい場合、トランザクションは、トランザクション有効期間内の有効トランザクションとして決定され得る。
本明細書では、発行者に対するアイデンティティ認証およびトランザクションプール内のトランザクションコンテンツに対する検証に合格したトランザクション、ならびにトランザクションに対する合法の検証に合格したトランザクションは、候補トランザクションとして使用され、次いで、パックされ、作成された候補ブロックに記録され得る。
たとえば、台帳ノードとして働くノードデバイスは、候補トランザクションとして、合法の検証に合格したすべてのトランザクションを使用し、これらのトランザクションを候補ブロックに記録するか、または、候補トランザクションとして、一定の原理に基づいて(たとえば、トランザクションの優先順位に基づいて)、合法の検証に合格したすべてのトランザクションからいくつかのトランザクションを選択し、これらのトランザクションを候補ブロックに記録することができる。
本方法では、トランザクション有効期間内の有効トランザクションのみが合法のトランザクションとして使用され、候補ブロックに記録され得る一方で、かなり前に期限切れになったトランザクションは、後続のトランザクション実行のために候補ブロックに記録されることが不可能であり、その結果、ブロックチェーン内の不法のノードデバイスは、かなり前に不法のノードデバイスによって傍受された期限切れのトランザクションを使用することによってブロックチェーンに対するリプレイ攻撃を開始することを妨げられ、それによって、ブロックチェーンのトランザクションセキュリティレベルを改善し得る。
本明細書では、台帳ノードとして働くノードデバイスのトランザクション実行環境は、マルチインスタンス実行環境であり得る(たとえば、同じトランザクションクライアントは、トランザクションを同時に開始することができる複数のスレッドを可能にする)。マルチインスタンス実行環境では、同じトランザクションは、同じノードデバイスの異なるインスタンスによって繰り返しサブミットされ得る。したがって、ブロックチェーンにおけるトランザクション実行中に「冪等」問題が存在し得る。「冪等」問題は、同じトランザクションが繰り返し実行された後でユーザに悪影響がもたらされることを意味する。
たとえば、ビットコインネットワークにおける「二重支払い」(double spending)問題は、典型的な「冪等」問題である。ユーザの秘密鍵を使用することによって署名された移転トランザクションは、不法のノードによって傍受される。トランザクションが実行された後、不法のノードは、傍受されたトランザクションに基づいてリプレイ攻撃を開始し、ブロックチェーンにおいてトランザクションを繰り返し実行することができる。結果として、同じ資金移転が複数回実行され、ユーザに資金損失をもたらす。
これを考慮して、マルチインスタンス実行環境におけるトランザクションの繰り返される実行を低減するために、ブロックチェーン内の台帳ノードとして働くノードデバイスは、トランザクション冪等テーブルを共同で維持することができる。たとえば、台帳ノードとして働くノードデバイスは、ブロックチェーンの既存のコンセンサス機構を使用することによって、コンセンサス手順の後で取得されたトランザクション冪等テーブルを共同で維持することができる。
トランザクション冪等テーブルは、トランザクション有効期間内の有効トランザクションを記録するブロックチェーン内の分散データのストレージレコード(言い換えれば、ブロックレコード)に基づいて作成されるインデックスレコードテーブルであり、ブロックチェーンの分散データベースに正常に記録されたすべての有効トランザクションに対応するトランザクション冪等レコードを記憶するために使用される。
言い換えれば、トランザクション冪等テーブルに記憶されたトランザクション冪等レコードは、トランザクション冪等レコードに対応するトランザクションが候補ブロックに正常にパックされたことを示すために使用され、候補ブロックに関するコンセンサスに達した後、候補ブロックは、最終的にブロックチェーン内の最新ブロックとして使用され、ブロックチェーン内の分散データベース(言い換えれば、分散型台帳)に正常に追加され得る。
有効トランザクションを候補ブロックに記録する前に、台帳ノードとして働くノードデバイスは、トランザクションがブロックチェーンの分散データベースに正常に記録された複製トランザクションであるかどうかを決定するために、トランザクション冪等テーブルに基づいてトランザクションに対して冪等チェックをさらに実行することができる。
図示の実装形態では、上記で説明された基準時間パラメータに加えて、クライアントを使用することによってユーザによって作成されたトランザクションは、トランザクションについてのクライアントによって作成された一意の識別子をさらに搬送することができる。
たとえば、実際の適用例では、ブロックチェーン内のノードデバイスは、複数のインスタンスで構成されたノードデバイスであり得、各インスタンスは、一意のインスタンスIDを有する。この場合、トランザクションシリアル番号は、インスタンスIDと生成された乱数とを含む一意のトランザクションシリアル番号であり得る。
別の例として、ブロックチェーン内のノードデバイスは、複数のデバイスを含む分散デバイスであり、各デバイスは、一意のデバイス識別子(たとえば、デバイスIDまたはデバイスのIPアドレス)を有する。この場合、トランザクションシリアル番号は、デバイス識別子と生成された乱数とを含む一意のトランザクションシリアル番号であり得る。
収集されたトランザクションがトランザクション有効期間内の有効トランザクションであると決定した後、台帳ノードとして働くノードデバイスは、トランザクションの一意の識別子に対応するトランザクション冪等レコードがトランザクション冪等テーブルに記憶されているかどうかをさらに問い合わせることができる。
トランザクションの一意の識別子に対応するトランザクション冪等レコードがトランザクション冪等テーブルに記憶されている場合、それは、トランザクションが以前にブロックチェーンの分散データベースに正常に記録されており、トランザクションが繰り返し開始されるトランザクションであることを示す。この場合、トランザクションは、直接破棄され得る。
しかしながら、トランザクションの一意の識別子に対応するトランザクション冪等レコードがトランザクション冪等テーブルに記憶されていない場合、それは、トランザクションが以前にブロックチェーンの分散データベースに正常に記録されていないことを示す。この場合、ノードデバイスは、トランザクションを候補ブロックに記録することができる。
本明細書では、候補ブロックが生成された後、台帳ノードとして働くノードデバイスは、ブロックチェーン内の生成された候補ブロックをさらにブロードキャストおよびリリースし、ブロックチェーンによってサポートされるコンセンサスアルゴリズムに基づいて、ブロックチェーン内の候補ブロックに記録されたトランザクションに対するコンセンサス処理を開始して、アカウンティング許可を求めて「競合する」ことができる。
ブロックチェーンにおいてサポートされるコンセンサスアルゴリズムのタイプは、本明細書では限定されない。実際の適用例では、コンセンサスアルゴリズムは、プルーフオブワーク(PoW:proof of work)およびPBFTアルゴリズムなどの標準のコンセンサスアルゴリズムであり得るか、または実際のサービス要件に基づいてブロックチェーンのオペレータによってカスタマイズされ得る。
候補ブロックに関するコンセンサスに達し、台帳ノードとして働くノードデバイスがアカウンティング許可を取得した後、候補ブロックは、ブロックチェーン内の最新ブロックとして使用され、ブロックチェーンの分散データベース(言い換えれば、分散型台帳)に追加され得る。この場合、候補ブロックは、ブロックチェーン内のブロックとして使用され、ブロックチェーンに恒久的に記憶される。
加えて、ノードデバイスのトランザクション実行環境では、ノードデバイスは、トランザクションにおいて搬送されたトランザクションコンテンツに基づいて、コンセンサスを取得し、候補ブロックに記録されたトランザクションの実行をトリガすることができる。たとえば、これらのトランザクションは、ブロックチェーンに送信されたスマートコントラクトへの入力として使用され得る。ノードデバイスのトランザクション実行環境におけるトランザクションの実行を完了するために、スマートコントラクトを請求するトランザクション実行プログラムコード(たとえば、トランザクションに関するいくつかの関数呼び出し)が実行される。
図示の実装形態では、ターゲットトランザクションは、候補ブロックに正常に記録され、候補ブロックに関するコンセンサスに達した後、候補ブロックは、最終的にブロックチェーン内の最新ブロックとして使用され、ブロックチェーンの分散データベースに正常に記憶される。この場合、ターゲットトランザクションは、ブロックチェーンの分散データベースに正常に記憶されている(言い換えれば、トランザクションは正常にチェイニングされる)。ターゲットトランザクションの一意の識別子に対応するトランザクション冪等レコードがさらに生成され得、トランザクション冪等レコードがトランザクション冪等テーブルに挿入される。
トランザクション冪等レコードのフォーマットは、本明細書では限定されない。たとえば、ある方法では、トランザクション冪等レコードは、トランザクションの一意の識別子を含むデータレコードであり得る。代替的に、別の方法では、トランザクションの一意の識別子は、トランザクション冪等レコードとして直接使用され、トランザクション冪等テーブルに挿入され得る。
本方法では、トランザクション冪等テーブル内のトランザクション冪等レコードは、トランザクション有効期間内のすべての「有効トランザクション」のトランザクション冪等レコードのみをカバーしており、トランザクション有効期間の前の履歴トランザクションのトランザクション冪等レコードをカバーすることを必要としない。したがって、トランザクション冪等テーブルは非常に大きい記憶空間を消費せず、トランザクション冪等テーブルによって消費される非常に大きい記憶空間によって引き起こされる問合せ性能問題は存在しない。
たとえば、台帳ノードとして使用され得る任意のノードデバイスについて、トランザクション冪等テーブルは比較的小さい記憶空間を占めるので、トランザクション冪等テーブルは、サードパーティ記憶ディスクを使用することによって記憶される代わりに、デバイスのメモリに直接ロードされ、維持され得る。トランザクション冪等テーブルの問合せ動作は、メモリにおいて直接実行され、それによって、問合せ性能を大幅に改善し得る。
加えて、すべての有効トランザクションについて、トランザクション冪等テーブル内にトランザクション冪等レコードを有しないそれらのトランザクションのみが候補ブロックに正常に記録され得る。したがって、ブロックチェーン内のトランザクション実行中の「冪等」問題が緩和され得、トランザクション有効期間内の傍受された有効トランザクションを使用することによっていくつかの不法のノードによって開始されたプレイバック攻撃が効果的に妨げられ、それによって、同じ有効トランザクションの繰り返される実行を低減することができる。
加えて、複数のインスタンスがブロックチェーン内のノードデバイス用に構成されるか、またはノードデバイスが分散デバイスであるシナリオでは、同じトランザクションの繰り返される実行という以下の問題も、効果的に緩和され得る。すなわち、同じ有効トランザクションは、異なるインスタンスまたは分散デバイス内の異なるサブデバイスによって同時にリリースされる。
本明細書では、トランザクション冪等テーブルは、トランザクション有効期間内の「有効トランザクション」に対応するトランザクション冪等レコードを維持するために使用されるので、実際の適用例では、トランザクション冪等テーブルを共同で維持するメンバーノードデバイスは、削除処理を周期的に実行して、トランザクション有効期間を過ぎたトランザクションのトランザクション冪等レコードをトランザクション冪等テーブルから削除することができる。
たとえば、トランザクション有効期間は、現在のアカウンティング期間におけるブロックチェーン内の台帳ノードデバイスによって作成された候補ブロックの作成時点に基づいて設定される時間間隔である。候補ブロックが周期的に作成されるので、トランザクション有効期間も、周期的で動的な時間期間である。この場合、次のアカウンティング期間において新しい候補ブロックを作成するとき、ノードデバイスは、トランザクション有効期間を再決定し、次いで、再決定されたトランザクション有効期間を過ぎたトランザクションのトランザクション冪等レコードを求めてトランザクション冪等テーブルをアクティブに検索することができる。たとえば、トランザクションが再決定されたトランザクション有効期間外にあるかどうかは、依然として、トランザクション内の基準時間パラメータに基づいて決定され得る。特定の実装プロセスは、ここでは省略される。
さらに、これらの見つかったトランザクション冪等レコードは、トランザクション冪等テーブルにおいて維持されるトランザクション冪等レコードを動的に更新および維持するために削除され得る。これは、トランザクション冪等テーブル内のトランザクション冪等レコードがすべて、現在のトランザクション有効期間内の有効トランザクションに対応するトランザクション冪等レコードであることを保証する。
本出願は、前述の方法の実装形態に対応するブロックチェーンベースのトランザクション処理装置の実装形態をさらに提供する。本明細書におけるブロックチェーンベースのトランザクション処理装置の実装形態は、電子デバイスに適用され得る。装置の実装形態は、ソフトウェア、ハードウェア、またはハードウェアとソフトウェアの組合せによって実装され得る。ソフトウェア実装形態が一例として使用される。論理装置として、本装置は、本装置が配置される電子デバイスのプロセッサによって不揮発性メモリ内の対応するコンピュータプログラム命令をメモリに読み出すことによって形成される。ハードウェアの観点では、図2は、本明細書による、ブロックチェーンベースのトランザクション処理装置が配置される電子デバイスを示すハードウェア構造図である。図2に示されたプロセッサ、メモリ、ネットワークインターフェース、および不揮発性メモリに加えて、本実装形態における装置が配置される電子デバイスは、通常、電子デバイスの実際の機能に基づいて他のハードウェアを含むことができる。簡単にするために、詳細はここでは省略される。
図3は、本明細書の例示的な一実装形態による、ブロックチェーンベースのトランザクション処理装置を示すブロック図である。
図3を参照すると、ブロックチェーンベースのトランザクション処理装置30は、図2に示された電子デバイスに適用され得、受信モジュール301と、決定モジュール302と、記録モジュール303とを含む。
受信モジュール301は、ブロックチェーン内のメンバーノードデバイスによって開始されたターゲットトランザクションを受信するように構成され、ターゲットトランザクションは基準時間パラメータを含み、基準時間パラメータは、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであるかどうかを決定するために使用される。
決定モジュール302は、基準時間パラメータに基づいて、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであるかどうかを決定するように構成される。
記録モジュール303は、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであると決定された場合、ターゲットトランザクションを生成された候補ブロックに記録するように構成される。
本実装形態では、基準時間パラメータは、ターゲットトランザクションが作成されるときに生成される基準タイムスタンプであり、トランザクション有効期間は、第1の値と第2の値との間の数値間隔に対応し、第1の値は、候補ブロックの作成タイムスタンプと第1のしきい値との間の差であり、第2の値は、候補ブロックの作成タイムスタンプと第2のしきい値の和であり、決定モジュール302は、基準タイムスタンプを第1の値および第2の値の各々と比較し、基準タイムスタンプが第1の値より大きく、第2の値より小さい場合、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであると決定するように構成される。
本実装形態では、決定モジュール302は、基準タイムスタンプを第1の値および第2の値の各々と比較する前に、候補ブロックの作成タイムスタンプがブロックチェーン内の最新ブロックの作成タイムスタンプより大きいかどうかをチェックし、そうである場合、基準タイムスタンプを第1の値および第2の値の各々とさらに比較するようにさらに構成される。
本実装形態では、基準タイムスタンプは、ターゲットトランザクションが作成されるときのシステムタイムスタンプ、またはトランザクション作成者によって指定される基準タイムスタンプである。
本実装形態では、第1のしきい値は、第2のしきい値より大きい。
本実装形態では、基準時間パラメータは、ターゲットトランザクションが作成されるときに生成される基準ブロック高さ値であり、トランザクション有効期間は、第3の値とブロックチェーン内の候補ブロックのブロック高さ値との間の数値間隔に対応し、第3の値は、ブロックチェーン内の候補ブロックのブロック高さ値と第3のしきい値との間の差であり、決定モジュール302は、基準ブロック高さ値をブロックチェーン内の候補ブロックのブロック高さ値および第3の値の各々と比較し、基準ブロック高さ値が第3の値より大きく、ブロックチェーン内の候補ブロックのブロック高さ値より小さい場合、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであると決定するように構成される。
本実装形態では、決定モジュール302は、基準ブロック高さ値をブロックチェーン内の候補ブロックのブロック高さ値および第3の値の各々と比較する前に、候補ブロックのブロック数がブロックチェーン内の最新ブロックのブロック数より大きいかどうかをチェックし、そうである場合、基準ブロック高さ値をブロックチェーン内の候補ブロックのブロック高さ値および第3の値の各々とさらに比較するようにさらに構成される。
本実装形態では、基準ブロック高さ値は、ターゲットトランザクションが作成されるときのブロックチェーン内の最大ブロック高さ値、またはトランザクション作成者によって指定される基準ブロック高さ値である。
本実装形態では、ターゲットトランザクションは、ターゲットトランザクションの一意の識別子をさらに含み、記録モジュール303は、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであると決定された場合、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等レコードが所定のトランザクション冪等テーブルに記憶されているかどうかを問い合わせることであって、トランザクション冪等テーブルが、トランザクション有効期間内の有効トランザクションに対応するトランザクション冪等レコードを記憶するために使用される、ことと、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等レコードが所定のトランザクション冪等テーブルに記憶されていない場合、ターゲットトランザクションを候補ブロックに記録するようにさらに構成される。
本実装形態では、トランザクション冪等レコードは、トランザクション冪等レコードに対応するトランザクションがブロックチェーンの分散データベースに正常に記録されたことを示し、記録モジュール303は、ターゲットトランザクションが候補ブロックに記録された場合、候補ブロックに関するコンセンサスに達し、候補ブロックがブロックチェーンの分散データベースに正常に記憶された後に、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等レコードを生成し、トランザクション冪等レコードをトランザクション冪等テーブルに挿入するようにさらに構成される。
本実装形態では、記録モジュール303は、トランザクション冪等テーブル内のトランザクション有効期間を過ぎたトランザクションのトランザクション冪等レコードを周期的に削除するようにさらに構成される。
装置におけるモジュールの機能および役割の実装プロセスについて、前述の方法における対応するステップの実装プロセスが参照され得る。簡単にするために、詳細はここでは省略される。
装置の実装形態は、基本的に、方法の実装形態に対応する。関連する部分について、方法の実装形態における関連する説明が参照され得る。以前に説明された装置の実装形態は、一例にすぎない。別個のコンポーネントとして説明されるモジュールは、物理的に別個であってもよく、そうでなくてもよく、モジュールとして表示されるコンポーネントは、物理モジュールであってもよく、そうでなくてもよく、言い換えれば、コンポーネントは、1つの位置に配置される場合があるか、または複数のネットワークモジュール上に分散される場合がある。モジュールのいくつかまたはすべては、本明細書の解決策の目的を達成するために、実際の要件に基づいて選択される場合がある。当業者は、創造的な努力なしに本明細書の解決策を理解し、実装することができる。
前述の実装形態に例示されたシステム、装置、またはモジュールは、コンピュータチップもしくはエンティティを使用することによって実装され得るか、または一定の機能を有する製品を使用することによって実装され得る。典型的な実装デバイスは、コンピュータである。コンピュータは、パーソナルコンピュータ、ラップトップコンピュータ、セルラーフォン、カメラフォン、スマートフォン、携帯情報端末、メディアプレーヤ、ナビゲーションデバイス、電子メール送受信デバイス、ゲームコンソール、タブレットコンピュータ、ウェアラブルデバイス、またはこれらのデバイスの任意の組合せであり得る。
本出願は、前述の方法の実装形態に対応する電子デバイスの実装形態をさらに提供する。電子デバイスは、プロセッサと、機械実行可能命令を記憶するように構成されたメモリとを含む。プロセッサおよびメモリは、一般に、内部バスを使用することによって互いに接続される。別の可能な実装形態では、デバイスは、別のデバイスまたはコンポーネントと通信するために、外部インターフェースをさらに含むことができる。
本実装形態では、プロセッサは、ブロックチェーン内のメンバーノードデバイスによって開始されたターゲットトランザクションを受信することであって、ターゲットトランザクションが基準時間パラメータを含み、基準時間パラメータが、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであるかどうかを決定するために使用される、ことと、基準時間パラメータに基づいて、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであるかどうかを決定することと、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであると決定された場合、ターゲットトランザクションを生成された候補ブロックに記録することとを行うために、メモリに記憶され、ブロックチェーンベースのトランザクション処理制御論理に対応する機械実行可能命令を読み取り、実行する。
本実装形態では、基準時間パラメータは、ターゲットトランザクションが作成されるときに生成される基準タイムスタンプであり、トランザクション有効期間は、第1の値と第2の値との間の数値間隔に対応し、第1の値は、候補ブロックの作成タイムスタンプと第1のしきい値との間の差であり、第2の値は、候補ブロックの作成タイムスタンプと第2のしきい値の和であり、プロセッサは、基準タイムスタンプを第1の値および第2の値の各々と比較し、基準タイムスタンプが第1の値より大きく、第2の値より小さい場合、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであると決定するために、メモリに記憶され、ブロックチェーンベースのトランザクション処理制御論理に対応する機械実行可能命令を読み取り、実行する。
本実装形態では、プロセッサは、基準タイムスタンプを第1の値および第2の値の各々と比較する前に、候補ブロックの作成タイムスタンプがブロックチェーン内の最新ブロックの作成タイムスタンプより大きいかどうかをチェックし、そうである場合、基準タイムスタンプを第1の値および第2の値の各々とさらに比較するために、メモリに記憶され、ブロックチェーンベースのトランザクション処理制御論理に対応する機械実行可能命令を読み取り、実行する。
本実装形態では、基準時間パラメータは、ターゲットトランザクションが作成されるときに生成される基準ブロック高さ値であり、トランザクション有効期間は、第3の値とブロックチェーン内の候補ブロックのブロック高さ値との間の数値間隔に対応し、第3の値は、ブロックチェーン内の候補ブロックのブロック高さ値と第3のしきい値との間の差であり、プロセッサは、基準ブロック高さ値をブロックチェーン内の候補ブロックのブロック高さ値および第3の値の各々と比較し、基準ブロック高さ値が第3の値より大きく、ブロックチェーン内の候補ブロックのブロック高さ値より小さい場合、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであると決定するために、メモリに記憶され、ブロックチェーンベースのトランザクション処理制御論理に対応する機械実行可能命令を読み取り、実行する。
本実装形態では、プロセッサは、基準ブロック高さ値をブロックチェーン内の候補ブロックのブロック高さ値および第3の値の各々と比較する前に、候補ブロックのブロック数がブロックチェーン内の最新ブロックのブロック数より大きいかどうかをチェックし、そうである場合、基準ブロック高さ値をブロックチェーン内の候補ブロックのブロック高さ値および第3の値の各々とさらに比較するために、メモリに記憶され、ブロックチェーンベースのトランザクション処理制御論理に対応する機械実行可能命令を読み取り、実行する。
本実装形態では、ターゲットトランザクションは、ターゲットトランザクションの一意の識別子をさらに含み、プロセッサは、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであると決定された場合、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等レコードが所定のトランザクション冪等テーブルに記憶されているかどうかを問い合わせることであって、トランザクション冪等テーブルが、トランザクション有効期間内の有効トランザクションに対応するトランザクション冪等レコードを記憶するために使用される、ことと、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等レコードが所定のトランザクション冪等テーブルに記憶されていない場合、ターゲットトランザクションを候補ブロックに記録することとを行うために、メモリに記憶され、ブロックチェーンベースのトランザクション処理制御論理に対応する機械実行可能命令を読み取り、実行する。
本実装形態では、トランザクション冪等レコードは、トランザクション冪等レコードに対応するトランザクションがブロックチェーンの分散データベースに正常に記録されたことを示し、プロセッサは、ターゲットトランザクションが候補ブロックに記録された場合、候補ブロックに関するコンセンサスに達し、候補ブロックがブロックチェーンの分散データベースに正常に記憶された後に、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等レコードを生成し、トランザクション冪等レコードをトランザクション冪等テーブルに挿入するために、メモリに記憶され、ブロックチェーンベースのトランザクション処理制御論理に対応する機械実行可能命令を読み取り、実行する。
本実装形態では、プロセッサは、トランザクション冪等テーブル内のトランザクション有効期間を過ぎたトランザクションのトランザクション冪等レコードを周期的に削除するために、メモリに記憶され、ブロックチェーンベースのトランザクション処理制御論理に対応する機械実行可能命令を読み取り、実行する。
当業者は、本明細書について熟考し、ここで本開示を実践した後に、本明細書の別の実装形態を容易に見つけ出すことができる。本明細書は、本明細書の任意の変形形態、使用形態、または適応形態をカバーするものである。これらの変形形態、使用形態、または適応形態は、本明細書の一般原理に従い、本明細書の技術分野に開示されていない一般常識または従来の技法を含む。本明細書および実装形態は、例と見なされるにすぎない。本明細書の実際の範囲および趣旨は、以下の特許請求の範囲によって指摘される。
本明細書は、上記で説明され、図面に示された厳密な構造に限定されず、本明細書の範囲から逸脱することなく様々な修正および変更が加えられ得ることを理解されたい。本明細書の範囲は、添付の特許請求の範囲のみによって限定される。
前述の説明は、本明細書の好ましい実装形態にすぎず、本明細書を限定するものではない。本明細書の趣旨および原理から逸脱することなく行われる任意の修正、同等の置換、または改善は、本明細書の保護範囲内に入るものとする。
図4は、本開示の一実装形態による、ブロックチェーンベースのトランザクション処理のためのコンピュータで実行される方法400の一例を示すフローチャートである。提示を明確にするために、以下の説明では、概して、本明細書の他の図に照らして方法400について説明する。しかしながら、方法400は、必要に応じて、たとえば、任意のシステム、環境、ソフトウェア、およびハードウェア、またはシステム、環境、ソフトウェア、およびハードウェアの組合せによって実行され得ることを理解されたい。いくつかの実装形態では、方法400の様々なステップは、並行して、組み合わせて、ループで、または任意の順序で実行され得る。
402において、ブロックチェーン内のメンバーノードデバイスによって開始されたターゲットトランザクションが受信され、ターゲットトランザクションは基準時間パラメータを含み、ターゲットトランザクションは、資産の移転と、候補ブロックへの移転のためにメンバーノードデバイスによってブロックチェーンにリリースされた関連するデータとを示す。
いくつかの実装形態では、基準時間パラメータは、ターゲットトランザクションが作成されるときに生成される基準タイムスタンプであり、トランザクション有効期間は、第1の値と第2の値との間の数値間隔に対応し、第1の値は、候補ブロックの作成タイムスタンプと第1のしきい値との間の差であり、第2の値は、候補ブロックの作成タイムスタンプと第2のしきい値の和である。
いくつかの実装形態では、基準時間パラメータは、ターゲットトランザクションが作成されるときに生成される基準ブロック高さ値であり、トランザクション有効期間は、第3の値とブロックチェーン内の候補ブロックのブロック高さ値との間の数値間隔に対応し、第3の値は、ブロックチェーン内の候補ブロックのブロック高さ値と第3のしきい値との間の差であり、基準時間パラメータに基づいて、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであるかどうかを決定することは、1)基準ブロック高さ値をブロックチェーン内の候補ブロックのブロック高さ値および第3の値の各々と比較して、基準ブロック高さ値が第3の値より大きく、ブロックチェーン内の候補ブロックのブロック高さ値より小さいかどうかを決定することと、2)基準ブロック高さ値が第3の値より大きく、ブロックチェーン内の候補ブロックのブロック高さ値より小さいとの決定に応答して、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであると決定することとを含む。
いくつかの実装形態では、ターゲットトランザクションは、ターゲットトランザクションの一意の識別子をさらに含み、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであるとの決定に応答して、ターゲットトランザクションを候補ブロックに記録することは、1)ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであるとの決定に応答して、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等レコードが所定のトランザクション冪等テーブルに記憶されているかどうかを問い合わせることであって、所定のトランザクション冪等テーブルが、トランザクション有効期間内の有効トランザクションに対応するトランザクション冪等レコードを記憶するために使用される、ことと、2)ターゲットトランザクションの一意の識別子に対応するトランザクション冪等レコードが所定のトランザクション冪等テーブルに記憶されていないとの決定に応答して、ターゲットトランザクションを候補ブロックに記録することとを含む。
いくつかの実装形態では、トランザクション冪等レコードは、トランザクション冪等レコードに対応するトランザクションがブロックチェーンの分散データベースに正常に記録されたことを示し、本方法は、1)ターゲットトランザクションが候補ブロックに記録されており、候補ブロックに関するコンセンサスに達し、候補ブロックがブロックチェーンの分散データベースに正常に記憶されているとの決定に応答して、ターゲットトランザクションの一意の識別子に対応するトランザクション冪等レコードを生成することと、2)トランザクション冪等レコードを所定のトランザクション冪等テーブルに挿入することとをさらに含む。402から、方法400は404に進む。
404において、基準時間パラメータに基づいて、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであるかどうかが決定される。
いくつかの実装形態では、基準時間パラメータに基づいて、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであるかどうかを決定することは、1)基準タイムスタンプを第1の値および第2の値の各々と比較して、基準タイムスタンプが第1の値より大きく、第2の値より小さいかどうかを決定し、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであると決定することと、2)基準タイムスタンプが第1の値より大きく、第2の値より小さいとの決定に応答して、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであると決定することとを含む。
いくつかの実装形態では、基準ブロック高さ値をブロックチェーン内の候補ブロックのブロック高さ値および第3の値の各々と比較する前に、方法400は、1)候補ブロックのブロック数がブロックチェーン内の最新ブロックのブロック数より大きいかどうかを決定することと、2)候補ブロックのブロック数がブロックチェーン内の最新ブロックのブロック数より大きいとの決定に応答して、基準ブロック高さ値をブロックチェーン内の候補ブロックのブロック高さ値および第3の値の各々と比較することとをさらに含む。404から、方法400は406に進む。
406において、ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであるとの決定に応答して、ターゲットトランザクションを候補ブロックに記録する。420の後、方法400は停止することができる。
説明される主題は、様々な技術的利点および効果を提供する。たとえば、いくつかの実装形態では、トランザクション有効期間内の有効トランザクションのみが合法のトランザクションとして使用され、候補ブロックに記録され得る一方で、以前に期限切れになったトランザクションは、後続のトランザクション実行のために候補ブロックに記録されることが不可能であり、その結果、ブロックチェーン内の不法のノードデバイスは、以前に不法のノードデバイスによって傍受された期限切れのトランザクションを使用することによってブロックチェーンに対するリプレイ攻撃を開始することを妨げられ、それによって、ブロックチェーンのトランザクションセキュリティレベルを改善し得る。発行者に対するアイデンティティ認証およびトランザクションプール内のトランザクションコンテンツに対する検証に合格したトランザクション、ならびにトランザクションに対する合法の検証に合格したトランザクションは、候補トランザクションとして使用され、次いで、パックされ、作成された候補ブロックに記録され得る。ここで、台帳ノードとして働くノードデバイスは、候補トランザクションとして、合法の検証に合格したすべてのトランザクションを使用し、これらのトランザクションを候補ブロックに記録するか、または、候補トランザクションとして、一定の原理に基づいて(たとえば、トランザクションの優先順位に基づいて)、合法の検証に合格したすべてのトランザクションからいくつかのトランザクションを選択し、これらのトランザクションを候補ブロックに記録することができる。
台帳ノードとして働くノードデバイスのトランザクション実行環境は、マルチインスタンス実行環境であり得る(たとえば、同じトランザクションクライアントは、トランザクションを同時に開始することができる複数のスレッドを可能にする)。マルチインスタンス実行環境では、同じトランザクションは、同じノードデバイスの異なるインスタンスによって繰り返しサブミットされ得る。したがって、ブロックチェーンにおけるトランザクション実行中に「冪等」問題が存在し得る。「冪等」問題は、同じトランザクションが繰り返し実行された後でユーザに悪影響がもたらされることを意味する。たとえば、ビットコインネットワークにおける「二重支払い」(double spending)問題は、典型的な「冪等」問題である。ここで、ユーザの秘密鍵を使用することによって署名された移転トランザクションは、不法のノードによって傍受される。トランザクションが実行された後、不法のノードは、傍受されたトランザクションに基づいてリプレイ攻撃を開始し、ブロックチェーンにおいてトランザクションを繰り返し実行することができる。結果として、同じ資金移転が複数回実行され、ユーザに資金損失をもたらす。これを考慮して、マルチインスタンス実行環境におけるトランザクションの繰り返される実行を低減するために、ブロックチェーン内の台帳ノードとして働くノードデバイスは、トランザクション冪等テーブルを共同で維持することができる。たとえば、台帳ノードとして働くノードデバイスは、ブロックチェーンの既存のコンセンサス機構を使用することによって、コンセンサス手順の後で取得されたトランザクション冪等テーブルを共同で維持することができる。トランザクション冪等テーブルは、トランザクション有効期間内の有効トランザクションを記録するブロックチェーン内の分散データのストレージレコード(言い換えれば、ブロックレコード)に基づいて作成されるインデックスレコードテーブルであり、ブロックチェーンの分散データベースに正常に記録されたすべての有効トランザクションに対応するトランザクション冪等レコードを記憶するために使用される。言い換えれば、トランザクション冪等テーブルに記憶されたトランザクション冪等レコードは、トランザクション冪等レコードに対応するトランザクションが候補ブロックに正常にパックされたことを示すために使用され、候補ブロックに関するコンセンサスに達した後、候補ブロックは、最終的にブロックチェーン内の最新ブロックとして使用され、ブロックチェーン内の分散データベース(言い換えれば、分散型台帳)に正常に追加され得る。いくつかの実装形態では、有効トランザクションを候補ブロックに記録する前に、台帳ノードとして働くノードデバイスは、トランザクションがブロックチェーンの分散データベースに正常に記録された複製トランザクションであるかどうかを決定するために、トランザクション冪等テーブルに基づいてトランザクションに対して冪等チェックをさらに実行することができる。
いくつかの実装形態では、上記で説明された基準時間パラメータに加えて、クライアントを使用することによってユーザによって作成されたトランザクションは、トランザクションについてのクライアントによって作成された一意の識別子をさらに搬送することができる。たとえば、実際の適用例では、ブロックチェーン内のノードデバイスは、複数のインスタンスで構成されたノードデバイスであり得、各インスタンスは、一意のインスタンスIDを有する。この場合、トランザクションシリアル番号は、インスタンスIDと生成された乱数とを含む一意のトランザクションシリアル番号であり得る。別の例として、ブロックチェーン内のノードデバイスが複数のデバイスを含む分散デバイスである場合、各デバイスは、一意のデバイス識別子(たとえば、デバイスIDまたはデバイスのIPアドレス)を有することができる。この場合、トランザクションシリアル番号は、デバイス識別子と生成された乱数とを含む一意のトランザクションシリアル番号であり得る。収集されたトランザクションがトランザクション有効期間内の有効トランザクションであると決定した後、台帳ノードとして働くノードデバイスは、トランザクションの一意の識別子に対応するトランザクション冪等レコードがトランザクション冪等テーブルに記憶されているかどうかをさらに問い合わせることができる。トランザクションの一意の識別子に対応するトランザクション冪等レコードがトランザクション冪等テーブルに記憶されている場合、それは、トランザクションが以前にブロックチェーンの分散データベースに正常に記録されており、トランザクションが繰り返し開始されるトランザクションであることを示す。この場合、トランザクションは、直接破棄され得る。しかしながら、トランザクションの一意の識別子に対応するトランザクション冪等レコードがトランザクション冪等テーブルに記憶されていない場合、それは、トランザクションが以前にブロックチェーンの分散データベースに正常に記録されていないことを示す。この場合、ノードデバイスは、トランザクションを候補ブロックに記録することができる。
本明細書で説明される実施形態および動作は、デジタル電子回路において、または本明細書で開示される構造を含むコンピュータソフトウェア、ファームウェア、もしくはハードウェアにおいて、またはそれらのうちの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 記録モジュール
400 方法

Claims (14)

  1. コンピュータで実行されるブロックチェーンベースのトランザクションを処理するための方法であって、
    ブロックチェーン内のメンバーノードデバイスによって開始されたターゲットトランザクションを受信するステップであって、前記ターゲットトランザクションが、基準時間パラメータを含み、前記基準時間パラメータが前記ターゲットトランザクションが作成されるときに生成される基準タイムスタンプであり、トランザクション有効期間が第1の値と第2の値との間の数値間隔に対応し、前記第1の値が、候補ブロックの作成タイムスタンプから第1のしきい値を差し引いたものであり、前記第2の値が、前記候補ブロックの前記作成タイムスタンプと第2のしきい値の和であり、前記基準時間パラメータは前記ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであるかどうかを決定するために使用される、ステップと、
    前記基準時間パラメータに基づいて、前記ターゲットトランザクションが前記トランザクション有効期間内の有効トランザクションであるかどうかを決定するステップであって、前記ターゲットトランザクションが前記トランザクション有効期間内の有効トランザクションであるかどうかを決定するステップは、
    前記基準タイムスタンプが前記第1の値より大きく、前記第2の値より小さいかどうかを決定するために、前記基準タイムスタンプを前記第1の値および前記第2の値の各々と比較するステップと、
    前記基準タイムスタンプが前記第1の値より大きく、前記第2の値より小さいとの決定に応答して、前記ターゲットトランザクションが前記トランザクション有効期間内の有効トランザクションであると決定するステップと
    を含む、ステップと、
    前記ターゲットトランザクションが前記トランザクション有効期間内の有効トランザクションであるとの決定に応答して、前記ターゲットトランザクションを生成された候補ブロックに記録するステップとを含む、
    方法。
  2. 前記基準時間パラメータが、前記ターゲットトランザクションが作成されるときに生成される基準ブロック高さ値であり、
    前記トランザクション有効期間が、第3の値と前記ブロックチェーン内の前記候補ブロックのブロック高さ値との間の数値間隔に対応し、
    前記第3の値が、前記ブロックチェーン内の前記候補ブロックの前記ブロック高さ値と第3のしきい値との間の差であり、
    前記基準時間パラメータに基づいて、前記ターゲットトランザクションが前記トランザクション有効期間内の前記有効トランザクションであるかどうかを決定するステップが、
    前記基準ブロック高さ値が前記第3の値より大きく、前記ブロックチェーン内の前記候補ブロックの前記ブロック高さ値より小さいかどうかを決定するために、前記基準ブロック高さ値を前記ブロックチェーン内の前記候補ブロックの前記ブロック高さ値および前記第3の値の各々と比較するステップと、
    前記基準ブロック高さ値が前記第3の値より大きく、前記ブロックチェーン内の前記候補ブロックの前記ブロック高さ値より小さいとの決定に応答して、前記ターゲットトランザクションが前記トランザクション有効期間内の有効トランザクションであると決定するステップとを含む、
    請求項1に記載のコンピュータで実行される方法。
  3. 前記基準ブロック高さ値を前記ブロックチェーン内の前記候補ブロックの前記ブロック高さ値および前記第3の値の各々と比較するステップの前に、前記方法が、
    前記候補ブロックの候補ブロック数が前記ブロックチェーン内の最新ブロックの最新ブロック数より大きいかどうかを決定するステップと、
    前記候補ブロックの前記候補ブロック数が前記ブロックチェーン内の最新ブロックの前記最新ブロック数より大きいとの決定に応答して、前記基準ブロック高さ値を前記ブロックチェーン内の前記候補ブロックの前記ブロック高さ値および前記第3の値の各々と比較するステップとをさらに含む、
    請求項2に記載のコンピュータで実行される方法。
  4. 前記ターゲットトランザクションが、前記ターゲットトランザクションの一意の識別子をさらに含み、
    前記ターゲットトランザクションが前記トランザクション有効期間内の前記有効トランザクションであるとの決定に応答して、前記ターゲットトランザクションを前記候補ブロックに記録するステップが、
    前記ターゲットトランザクションが前記トランザクション有効期間内の有効トランザクションであるとの決定に応答して、前記ターゲットトランザクションの前記一意の識別子に対応するトランザクション冪等レコードが所定のトランザクション冪等テーブルに記憶されているかどうかを問い合わせるステップであって、前記所定のトランザクション冪等テーブルが、前記トランザクション有効期間内の有効トランザクションに対応する前記トランザクション冪等レコードを記憶するために使用される、ステップと、
    前記ターゲットトランザクションの前記一意の識別子に対応する前記トランザクション冪等レコードが前記所定のトランザクション冪等テーブルに記憶されていないとの決定に応答して、前記ターゲットトランザクションを前記候補ブロックに記録するステップとを含む、
    請求項3に記載のコンピュータで実行される方法。
  5. 前記トランザクション冪等レコードが、前記トランザクション冪等レコードに対応するトランザクションが前記ブロックチェーンの分散データベースに正常に記録されたことを示し、
    前記方法が、
    前記ターゲットトランザクションが前記候補ブロックに記録されていると決定され、かつ前記候補ブロックに関するコンセンサスに達し、前記候補ブロックが前記ブロックチェーンの前記分散データベースに正常に記憶されているとの決定に応答して、前記ターゲットトランザクションの前記一意の識別子に対応する前記トランザクション冪等レコードを生成するステップと、
    前記トランザクション冪等レコードを前記所定のトランザクション冪等テーブルに挿入するステップとをさらに含む、
    請求項4に記載のコンピュータで実行される方法。
  6. 動作を実行するためにコンピュータシステムにより実行可能な1つ以上の命令を含むコンピュータ可読記録媒体であって、
    前記動作は、
    ブロックチェーン内のメンバーノードデバイスによって開始されたターゲットトランザクションを受信することであって、前記ターゲットトランザクションが、基準時間パラメータを含み、前記基準時間パラメータが前記ターゲットトランザクションが作成されるときに生成される基準タイムスタンプであり、トランザクション有効期間が第1の値と第2の値との間の数値間隔に対応し、前記第1の値が、候補ブロックの作成タイムスタンプから第1のしきい値を差し引いたものであり、前記第2の値が、前記候補ブロックの前記作成タイムスタンプと第2のしきい値の和であり、前記基準時間パラメータは前記ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであるかどうかを決定するために使用される、受信することと、
    前記基準時間パラメータに基づいて、前記ターゲットトランザクションが前記トランザクション有効期間内の有効トランザクションであるかどうかを決定することであって、前記ターゲットトランザクションが前記トランザクション有効期間内の有効トランザクションであるかどうかを決定することは、
    前記基準タイムスタンプが前記第1の値より大きく、前記第2の値より小さいかどうかを決定するために、前記基準タイムスタンプを前記第1の値および前記第2の値の各々と比較することと、
    前記基準タイムスタンプが前記第1の値より大きく、前記第2の値より小さいとの決定に応答して、前記ターゲットトランザクションが前記トランザクション有効期間内の有効トランザクションであると決定することと
    を含む、決定することと、
    前記ターゲットトランザクションが前記トランザクション有効期間内の有効トランザクションであるとの決定に応答して、前記ターゲットトランザクションを生成された候補ブロックに記録することと
    を含むコンピュータ可読記録媒体。
  7. 前記基準時間パラメータが、前記ターゲットトランザクションが作成されるときに生成される基準ブロック高さ値であり、
    前記トランザクション有効期間が、第3の値と前記ブロックチェーン内の前記候補ブロックのブロック高さ値との間の数値間隔に対応し、
    前記第3の値が、前記ブロックチェーン内の前記候補ブロックの前記ブロック高さ値と第3のしきい値との間の差であり、
    前記基準時間パラメータに基づいて、前記ターゲットトランザクションが前記トランザクション有効期間内の前記有効トランザクションであるかどうかを決定することが、
    前記基準ブロック高さ値が前記第3の値より大きく、前記ブロックチェーン内の前記候補ブロックの前記ブロック高さ値より小さいかどうかを決定するために、前記基準ブロック高さ値を前記ブロックチェーン内の前記候補ブロックの前記ブロック高さ値および前記第3の値の各々と比較することと、
    前記基準ブロック高さ値が前記第3の値より大きく、前記ブロックチェーン内の前記候補ブロックの前記ブロック高さ値より小さいとの決定に応答して、前記ターゲットトランザクションが前記トランザクション有効期間内の有効トランザクションであると決定することとを含む、
    請求項6に記載のコンピュータ可読記録媒体。
  8. 前記基準ブロック高さ値を前記ブロックチェーン内の前記候補ブロックの前記ブロック高さ値および前記第3の値の各々と比較する前に、前記動作が、
    前記候補ブロックの候補ブロック数が前記ブロックチェーン内の最新ブロックの最新ブロック数より大きいかどうかを決定することと、
    前記候補ブロックの前記候補ブロック数が前記ブロックチェーン内の最新ブロックの前記最新ブロック数より大きいとの決定に応答して、前記基準ブロック高さ値を前記ブロックチェーン内の前記候補ブロックの前記ブロック高さ値および前記第3の値の各々と比較することとをさらに含む、
    請求項7に記載のコンピュータ可読記録媒体。
  9. 前記ターゲットトランザクションが、前記ターゲットトランザクションの一意の識別子をさらに含み、
    前記ターゲットトランザクションが前記トランザクション有効期間内の前記有効トランザクションであるとの決定に応答して、前記ターゲットトランザクションを前記候補ブロックに記録することが、
    前記ターゲットトランザクションが前記トランザクション有効期間内の有効トランザクションであるとの決定に応答して、前記ターゲットトランザクションの前記一意の識別子に対応するトランザクション冪等レコードが所定のトランザクション冪等テーブルに記憶されているかどうかを問い合わせることであって、前記所定のトランザクション冪等テーブルが、前記トランザクション有効期間内の有効トランザクションに対応するトランザクション冪等レコードを記憶するために使用される、問い合わせることと、
    前記ターゲットトランザクションの前記一意の識別子に対応する前記トランザクション冪等レコードが前記所定のトランザクション冪等テーブルに記憶されていないとの決定に応答して、前記ターゲットトランザクションを前記候補ブロックに記録することとを含む、
    請求項8に記載のコンピュータ可読記録媒体。
  10. 前記トランザクション冪等レコードが、前記トランザクション冪等レコードに対応するトランザクションが前記ブロックチェーンの分散データベースに正常に記録されたことを示し、
    前記動作が、
    前記ターゲットトランザクションが前記候補ブロックに記録されていると決定され、かつ前記候補ブロックに関するコンセンサスに達し、前記候補ブロックが前記ブロックチェーンの前記分散データベースに正常に記憶されているとの決定に応答して、前記ターゲットトランザクションの前記一意の識別子に対応する前記トランザクション冪等レコードを生成することと、
    前記トランザクション冪等レコードを前記所定のトランザクション冪等テーブルに挿入することとをさらに含む、
    請求項9に記載のコンピュータ可読記録媒体。
  11. 1つ以上のコンピュータと、
    相互動作可能に前記1つ以上のコンピュータと結合し、前記1つ以上のコンピュータにより実行されると1つ以上の動作を実行する1つ以上の命令を含む有形な機械可読記録媒体を含む1つ以上のコンピュータメモリデバイス
    を含むコンピュータで実行されるシステムであって、
    前記動作は、
    ブロックチェーン内のメンバーノードデバイスによって開始されたターゲットトランザクションを受信することであって、前記ターゲットトランザクションが、基準時間パラメータを含み、前記基準時間パラメータが前記ターゲットトランザクションが作成されるときに生成される基準タイムスタンプであり、トランザクション有効期間が第1の値と第2の値との間の数値間隔に対応し、前記第1の値が、候補ブロックの作成タイムスタンプから第1のしきい値を差し引いたものであり、前記第2の値が、前記候補ブロックの前記作成タイムスタンプと第2のしきい値の和であり、前記基準時間パラメータは前記ターゲットトランザクションがトランザクション有効期間内の有効トランザクションであるかどうかを決定するために使用される、受信することと、
    前記基準時間パラメータに基づいて、前記ターゲットトランザクションが前記トランザクション有効期間内の有効トランザクションであるかどうかを決定することであって、前記ターゲットトランザクションが前記トランザクション有効期間内の有効トランザクションであるかどうかを決定することは、
    前記基準タイムスタンプが前記第1の値より大きく、前記第2の値より小さいかどうかを決定するために、前記基準タイムスタンプを前記第1の値および前記第2の値の各々と比較することと、
    前記基準タイムスタンプが前記第1の値より大きく、前記第2の値より小さいとの決定に応答して、前記ターゲットトランザクションが前記トランザクション有効期間内の有効トランザクションであると決定することと
    を含む、決定することと、
    前記ターゲットトランザクションが前記トランザクション有効期間内の有効トランザクションであるとの決定に応答して、前記ターゲットトランザクションを生成された候補ブロックに記録することと
    を含むシステム。
  12. 前記基準時間パラメータが、前記ターゲットトランザクションが作成されるときに生成される基準ブロック高さ値であり、
    前記トランザクション有効期間が、第3の値と前記ブロックチェーン内の前記候補ブロックのブロック高さ値との間の数値間隔に対応し、
    前記第3の値が、前記ブロックチェーン内の前記候補ブロックの前記ブロック高さ値と第3のしきい値との間の差であり、
    前記基準時間パラメータに基づいて、前記ターゲットトランザクションが前記トランザクション有効期間内の前記有効トランザクションであるかどうかを決定することが、
    前記基準ブロック高さ値が前記第3の値より大きく、前記ブロックチェーン内の前記候補ブロックの前記ブロック高さ値より小さいかどうかを決定するために、前記基準ブロック高さ値を前記ブロックチェーン内の前記候補ブロックの前記ブロック高さ値および前記第3の値の各々と比較することと、
    前記基準ブロック高さ値が前記第3の値より大きく、前記ブロックチェーン内の前記候補ブロックの前記ブロック高さ値より小さいとの決定に応答して、前記ターゲットトランザクションが前記トランザクション有効期間内の有効トランザクションであると決定することとを含む、
    請求項11に記載のコンピュータで実行されるシステム。
  13. 前記基準ブロック高さ値を前記ブロックチェーン内の前記候補ブロックの前記ブロック高さ値および前記第3の値の各々と比較する前に、前記動作が、
    前記候補ブロックの候補ブロック数が前記ブロックチェーン内の最新ブロックの最新ブロック数より大きいかどうかを決定することと、
    前記候補ブロックの前記候補ブロック数が前記ブロックチェーン内の最新ブロックの前記最新ブロック数より大きいとの決定に応答して、前記基準ブロック高さ値を前記ブロックチェーン内の前記候補ブロックの前記ブロック高さ値および前記第3の値の各々と比較することとをさらに含む、
    請求項12に記載のコンピュータで実行されるシステム。
  14. 前記ターゲットトランザクションが、前記ターゲットトランザクションの一意の識別子をさらに含み、
    前記ターゲットトランザクションが前記トランザクション有効期間内の前記有効トランザクションであるとの決定に応答して、前記ターゲットトランザクションを前記候補ブロックに記録することが、
    前記ターゲットトランザクションが前記トランザクション有効期間内の有効トランザクションであるとの決定に応答して、前記ターゲットトランザクションの前記一意の識別子に対応するトランザクション冪等レコードが所定のトランザクション冪等テーブルに記憶されているかどうかを問い合わせることであって、前記所定のトランザクション冪等テーブルが、前記トランザクション有効期間内の有効トランザクションに対応するトランザクション冪等レコードを記憶するために使用される、問い合わせることと、
    前記ターゲットトランザクションの前記一意の識別子に対応する前記トランザクション冪等レコードが前記所定のトランザクション冪等テーブルに記憶されていないとの決定に応答して、前記ターゲットトランザクションを前記候補ブロックに記録することとを含む、
    請求項13に記載のコンピュータで実行されるシステム。
JP2020529460A 2018-05-29 2019-05-29 ブロックチェーンベースのトランザクション処理方法および装置 Active JP6936396B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201810531740.6A CN108764870B (zh) 2018-05-29 2018-05-29 基于区块链的交易处理方法及装置、电子设备
CN201810531740.6 2018-05-29
PCT/US2019/034243 WO2019231945A1 (en) 2018-05-29 2019-05-29 Blockchain-based transaction processing method and apparatus

Publications (3)

Publication Number Publication Date
JP2021509189A JP2021509189A (ja) 2021-03-18
JP2021509189A5 JP2021509189A5 (ja) 2021-04-30
JP6936396B2 true JP6936396B2 (ja) 2021-09-15

Family

ID=64003543

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020529460A Active JP6936396B2 (ja) 2018-05-29 2019-05-29 ブロックチェーンベースのトランザクション処理方法および装置

Country Status (11)

Country Link
US (2) US10509919B1 (ja)
EP (1) EP3701469A1 (ja)
JP (1) JP6936396B2 (ja)
KR (1) KR102327574B1 (ja)
CN (4) CN108764870B (ja)
AU (1) AU2019277162C1 (ja)
CA (1) CA3083802C (ja)
PH (1) PH12020550684A1 (ja)
SG (2) SG10202109078UA (ja)
TW (1) TWI694390B (ja)
WO (1) WO2019231945A1 (ja)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10956075B2 (en) * 2018-02-02 2021-03-23 Bank Of America Corporation Blockchain architecture for optimizing system performance and data storage
US11176101B2 (en) 2018-02-05 2021-11-16 Bank Of America Corporation System and method for decentralized regulation and hierarchical control of blockchain architecture
CN108764870B (zh) 2018-05-29 2020-07-07 阿里巴巴集团控股有限公司 基于区块链的交易处理方法及装置、电子设备
CN108805569A (zh) * 2018-05-29 2018-11-13 阿里巴巴集团控股有限公司 基于区块链的交易处理方法及装置、电子设备
US11379867B2 (en) * 2018-06-19 2022-07-05 Sang Mi RYU Method for automatically providing cryptocurrency to recommender using propagation on SNS
CN108805627B (zh) * 2018-06-19 2021-06-01 腾讯科技(深圳)有限公司 媒体资源分配方法、装置、系统、介质及设备
US11182379B2 (en) 2018-08-24 2021-11-23 Oracle International Corporation DAG based methods and systems of transaction processing in a distributed ledger
CN109327528B (zh) * 2018-10-31 2020-10-20 创新先进技术有限公司 一种基于区块链的节点管理方法和装置
CN109471905B (zh) * 2018-11-16 2020-08-25 华东师范大学 一种支持时间范围和属性范围复合查询的区块链索引方法
EP3668036A1 (de) * 2018-12-14 2020-06-17 Siemens Aktiengesellschaft Erstellen einer blockchain mit blöcken umfassend eine anpassbare anzahl an transaktionsblöcken und mehrere zwischenblöcke
CN109670956B (zh) * 2018-12-21 2021-05-04 成都四方伟业软件股份有限公司 区块链交易方法及装置
CN109754249A (zh) * 2018-12-27 2019-05-14 石更箭数据科技(上海)有限公司 数据交易方法及系统、平台、存储介质
JP6892514B2 (ja) 2018-12-28 2021-06-23 アドバンスド ニュー テクノロジーズ カンパニー リミテッド トランザクションの再送信を使用してブロックチェーンネットワークにおけるトランザクション配信の加速化
SG11201906831YA (en) 2018-12-28 2019-08-27 Alibaba Group Holding Ltd Accelerating transaction deliveries in blockchain networks using acceleration nodes
EP3571808A4 (en) 2018-12-28 2020-03-04 Alibaba Group Holding Limited IMPROVE THE SPEED OF BLOCKCHAIN TRANSACTIONS USING GLOBAL ACCELERATION NODES
CN109815291B (zh) * 2018-12-28 2021-08-20 北京城市网邻信息技术有限公司 数据同步方法、装置、电子设备及存储介质
US11283634B2 (en) 2018-12-29 2022-03-22 Advanced New Technologies Co., Ltd. System and method for detecting replay attack
US10735464B2 (en) 2018-12-29 2020-08-04 Alibaba Group Holding Limited System and method for detecting replay attack
EP3545665B1 (en) * 2018-12-29 2023-05-03 Advanced New Technologies Co., Ltd. System and method for detecting replay attack
US10681083B2 (en) 2018-12-29 2020-06-09 Alibaba Group Holding Limited System and method for detecting replay attack
CN109787867B (zh) * 2019-02-28 2020-10-20 矩阵元技术(深圳)有限公司 区块生成方法、装置、计算机设备和存储介质
CN109903050A (zh) * 2019-03-02 2019-06-18 杭州复杂美科技有限公司 交易去重方法、交易构造方法、设备和存储介质
US10790968B2 (en) * 2019-04-04 2020-09-29 Alibaba Group Holding Limited Ledger verification method and apparatus, and device
US10917231B2 (en) 2019-04-04 2021-02-09 Advanced New Technologies Co., Ltd. Data storage method, apparatus, system and device
EP3628093B1 (en) 2019-04-30 2021-07-07 Advanced New Technologies Co., Ltd. Method and device for avoiding double-spending problem in read-write set-model-based blockchain technology
CN110276688B (zh) * 2019-06-14 2024-02-06 深圳前海微众银行股份有限公司 一种区块链中交易处理的方法及装置
CN110795314B (zh) * 2019-11-04 2023-10-03 北京小米移动软件有限公司 一种检测慢节点的方法、装置及计算机可读存储介质
CN111125255B (zh) * 2019-12-24 2024-01-23 腾讯科技(深圳)有限公司 区块数据的处理方法、装置、终端及可读存储介质
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities
CN111339086B (zh) * 2020-02-18 2021-04-20 腾讯科技(深圳)有限公司 区块处理方法、基于区块链的数据查询方法及装置
CN110992040A (zh) * 2020-03-03 2020-04-10 支付宝(杭州)信息技术有限公司 交易处理方法、装置及设备
US11502858B2 (en) * 2020-03-09 2022-11-15 Vmware Inc. Providing real-world time in a replicated state-machine environment
CN111028084A (zh) * 2020-03-11 2020-04-17 支付宝(杭州)信息技术有限公司 一种基于区块链的交易处理方法、装置及设备
KR102648498B1 (ko) * 2020-05-25 2024-03-19 한국전자통신연구원 블록체인 기반 센서 데이터 제공 장치 및 방법
CN111709748B (zh) * 2020-06-11 2023-08-22 杭州溪塔科技有限公司 一种具有业务属性的交易执行方法、装置及电子设备
KR102179160B1 (ko) * 2020-06-23 2020-11-16 주식회사 아이콘루프 블록체인 간의 통신을 위해 메시지를 증명하는 시스템 및 방법
CN111522648B (zh) 2020-07-03 2020-10-09 支付宝(杭州)信息技术有限公司 一种区块链的交易处理方法、装置及电子设备
CN111741121A (zh) * 2020-07-03 2020-10-02 支付宝(杭州)信息技术有限公司 区块链中的垃圾信息的处理方法和系统
CN111539829B (zh) 2020-07-08 2020-12-29 支付宝(杭州)信息技术有限公司 一种基于区块链一体机的待过滤交易识别方法及装置
CN111541726B (zh) * 2020-07-08 2021-05-18 支付宝(杭州)信息技术有限公司 一种基于区块链一体机的重放交易识别方法及装置
CN111541789A (zh) 2020-07-08 2020-08-14 支付宝(杭州)信息技术有限公司 一种基于区块链一体机的数据同步方法及装置
CN112492002B (zh) 2020-07-08 2023-01-20 支付宝(杭州)信息技术有限公司 一种基于区块链一体机的交易转发方法及装置
CN111541784B (zh) 2020-07-08 2021-07-20 支付宝(杭州)信息技术有限公司 一种基于区块链一体机的交易处理方法及装置
CN112102078B (zh) * 2020-08-07 2024-05-21 柳州市蓝海数链科技有限公司 区块链共识计算方法、装置、计算机设备及存储介质
CN112102082A (zh) * 2020-08-24 2020-12-18 深圳区块大陆科技有限公司 一种判定区块链交易执行结果的方法
CN111770205B (zh) * 2020-08-31 2020-12-04 支付宝(杭州)信息技术有限公司 一种执行智能合约的方法、区块链节点、系统和存储介质
CN112214799B (zh) * 2020-09-10 2023-06-02 中国科学院计算机网络信息中心 一种基于区块链技术的数据库防篡改方法及系统
CN112070500B (zh) * 2020-09-20 2022-03-01 中科柏诚科技(北京)股份有限公司 基于数字金融服务的区块链支付处理方法及云计算中心
CN112165519B (zh) * 2020-09-24 2024-03-26 普华云创科技(北京)有限公司 一种按需同步数据的同步节点实现方法与系统
US11356506B2 (en) 2020-10-01 2022-06-07 Bank Of America Corporation System for optimizing data acceptance and data storage in a distributed computing network
US11822538B2 (en) * 2020-11-05 2023-11-21 Oracle International Corporation Systems and methods of transaction identification generation for transaction-based environment
KR102396631B1 (ko) * 2020-11-12 2022-05-11 주식회사 티맥스엔터프라이즈 블록체인 시스템
CN112383402B (zh) * 2020-11-13 2022-08-05 中国联合网络通信集团有限公司 双重幂等验证方法及服务器
US11165907B1 (en) * 2020-12-10 2021-11-02 Coupang Corp. Incoming request blending for customer service representatives
CN113469811A (zh) * 2021-07-05 2021-10-01 支付宝(杭州)信息技术有限公司 区块链交易处理方法及装置
CN114817399B (zh) * 2021-09-06 2024-07-23 支付宝(杭州)信息技术有限公司 区块管理方法及装置
CN113807963B (zh) * 2021-09-16 2024-05-03 南京金宁汇科技有限公司 一种账户体系下的联盟链交易的重放攻击防范方法
CN114422151B (zh) * 2022-03-29 2022-07-05 北京微芯感知科技有限公司 一种区块块内交易数扩展方法及系统
CN114757777A (zh) * 2022-04-29 2022-07-15 蚂蚁区块链科技(上海)有限公司 用于区块链的最优链路选择方法及装置和电子设备
KR102715910B1 (ko) * 2022-06-28 2024-10-11 한국전자통신연구원 블록체인 메시지 처리 방법 및 장치
CN118246953A (zh) * 2024-04-02 2024-06-25 深圳市云积分科技有限公司 跨平台数据关联方法、装置、电子设备及计算机存储介质

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1013024A4 (en) * 1997-06-04 2005-08-03 Moore Nancy Barclay DEVICE AND METHOD FOR PROCESSING TRANSACTION MESSAGES
US8984170B2 (en) 2011-09-09 2015-03-17 Oracle International Corporation Idempotence for database transactions
US10681394B2 (en) * 2011-11-28 2020-06-09 Comcast Cable Communications, Llc Cache eviction during off-peak transaction time period
US9898782B1 (en) * 2013-06-28 2018-02-20 Winklevoss Ip, Llc Systems, methods, and program products for operating exchange traded products holding digital math-based assets
US9853819B2 (en) * 2013-08-05 2017-12-26 Guardtime Ip Holdings Ltd. Blockchain-supported, node ID-augmented digital record signature method
CA2985040A1 (en) * 2014-05-06 2015-12-03 Case Wallet, Inc. Cryptocurrency virtual wallet system and method
CN105469510B (zh) * 2014-10-12 2018-01-09 吴思进 可预告延时支付或找回的加密货币钱包
US20160283939A1 (en) * 2015-03-25 2016-09-29 Qualcomm Incorporated System and method to prevent loss of bitcoins due to address errors
US20160342977A1 (en) * 2015-05-20 2016-11-24 Vennd.io Pty Ltd Device, method and system for virtual asset transactions
US10552829B2 (en) * 2015-05-26 2020-02-04 tZERO Group, Inc. Obfuscation of intent in transactions using cryptographic techniques
US10984413B2 (en) * 2015-08-14 2021-04-20 Identitii Pty Ltd Computer implemented method for processing a financial transaction and a system therefor
US20170147808A1 (en) * 2015-11-19 2017-05-25 International Business Machines Corporation Tokens for multi-tenant transaction database identity, attribute and reputation management
US10680833B2 (en) * 2016-02-26 2020-06-09 Apple Inc. Obtaining and using time information on a secure element (SE)
US10630490B2 (en) * 2016-02-26 2020-04-21 Apple Inc. Obtaining and using time information on a secure element (SE)
US11727391B2 (en) * 2016-04-11 2023-08-15 Nchain Licensing Ag Computer-implemented methods and systems for validating tokens for blockchain-based cryptocurrencies
US10643203B2 (en) * 2016-04-12 2020-05-05 Digicash Pty Ltd. Secure transaction controller for value token exchange systems
US10252145B2 (en) * 2016-05-02 2019-04-09 Bao Tran Smart device
WO2017198291A1 (en) * 2016-05-18 2017-11-23 Rwe International Se Peer-to-peer network and node of a peer-to-peer network
US10108954B2 (en) * 2016-06-24 2018-10-23 PokitDok, Inc. System and method for cryptographically verified data driven contracts
US20180004242A1 (en) * 2016-06-29 2018-01-04 Intel Corporation Low clock-energy 3-phase latch-based clocking scheme
GB201611948D0 (en) * 2016-07-08 2016-08-24 Kalypton Int Ltd Distributed transcation processing and authentication system
US10425399B2 (en) * 2016-07-12 2019-09-24 International Business Machines Corporation Template-based distributed certificate issuance in a multi-tenant environment
US10700853B2 (en) * 2016-07-12 2020-06-30 International Business Machines Corporation Token identity and attribute management
US10417217B2 (en) * 2016-08-05 2019-09-17 Chicago Mercantile Exchange Inc. Systems and methods for blockchain rule synchronization
KR101727525B1 (ko) * 2016-09-05 2017-04-17 주식회사 스케일체인 블록체인 기반 분산 저장 방법 및 이를 이용한 장치
EP3296913B1 (en) * 2016-09-15 2020-10-21 Accenture Global Solutions Limited Method and system for secure communication of a token and aggregation of the same
GB201615935D0 (en) * 2016-09-19 2016-11-02 Zupit Ltd Electronic Commerce
US10581847B1 (en) * 2016-09-27 2020-03-03 Amazon Technologies, Inc. Blockchain-backed device and user provisioning
US10733602B2 (en) * 2016-09-29 2020-08-04 Microsoft Technology Licensing, Llc. Heartbeats and consensus in verifiable outsourced ledgers
CN106385319B (zh) * 2016-09-29 2020-11-27 江苏通付盾科技有限公司 区块链网络中信息的验证方法及系统
CN106780028A (zh) * 2016-12-08 2017-05-31 天津米游科技有限公司 一种点对点的数字资产交易方法及系统
CN106815722B (zh) * 2016-12-22 2021-05-07 中钞信用卡产业发展有限公司杭州区块链技术研究院 基于区块链的信息处理方法和装置
CN106815530B (zh) * 2016-12-26 2020-04-24 北京爱接力科技发展有限公司 数据存证方法、数据校验方法及装置
WO2018176008A1 (en) * 2017-03-24 2018-09-27 Inmentis, Llc Social media system with navigable, artificial-intelligence-based graphical user interface
CN107016611A (zh) * 2017-03-29 2017-08-04 杭州秘猿科技有限公司 一种基于区块链的交易超时控制方法
CN106991607B (zh) * 2017-03-29 2020-04-10 杭州溪塔科技有限公司 一种基于区块链账户模型的无序交易控制方法
EP3382591B1 (en) * 2017-03-30 2020-03-25 British Telecommunications public limited company Hierarchical temporal memory for expendable access control
US10762479B2 (en) * 2017-04-05 2020-09-01 Samsung Sds Co., Ltd. Method and system for processing blockchain-based real-time transaction
CN107124403A (zh) * 2017-04-14 2017-09-01 朱清明 区块链中共识区块的生成方法与计算设备
CN107330681B (zh) * 2017-06-27 2021-04-13 陈佺 一种用于确定区块链链外交易的交易时间的方法及设备
CN107292622B (zh) * 2017-07-05 2021-02-09 武汉凤链科技有限公司 一种针对智能合约的价值分配方法和系统
CN107528882B (zh) * 2017-07-14 2020-12-25 创新先进技术有限公司 区块链共识网络中处理共识请求的方法、装置和电子设备
CN107240017B (zh) * 2017-07-20 2021-08-03 捷德(中国)科技有限公司 区块链交易管理系统及方法
CN107480990B (zh) * 2017-08-01 2021-02-26 中国联合网络通信集团有限公司 区块链记账方法及装置
US11823178B2 (en) * 2017-11-17 2023-11-21 International Business Machines Corporation Optimization of high volume transaction performance on a blockchain
CN108764870B (zh) 2018-05-29 2020-07-07 阿里巴巴集团控股有限公司 基于区块链的交易处理方法及装置、电子设备

Also Published As

Publication number Publication date
KR102327574B1 (ko) 2021-11-17
TWI694390B (zh) 2020-05-21
US20200050786A1 (en) 2020-02-13
CN111899005A (zh) 2020-11-06
SG10202109078UA (en) 2021-09-29
WO2019231945A1 (en) 2019-12-05
AU2019277162A1 (en) 2020-06-18
KR20200079289A (ko) 2020-07-02
CA3083802C (en) 2021-06-08
SG11202004839XA (en) 2020-06-29
AU2019277162B2 (en) 2021-11-11
CA3083802A1 (en) 2019-12-05
PH12020550684A1 (en) 2021-04-12
EP3701469A1 (en) 2020-09-02
CN108764870B (zh) 2020-07-07
TW202004594A (zh) 2020-01-16
AU2019277162C1 (en) 2022-03-10
US11514185B2 (en) 2022-11-29
JP2021509189A (ja) 2021-03-18
CN111899004A (zh) 2020-11-06
US20190370486A1 (en) 2019-12-05
CN111899006A (zh) 2020-11-06
CN108764870A (zh) 2018-11-06
US10509919B1 (en) 2019-12-17

Similar Documents

Publication Publication Date Title
JP6936396B2 (ja) ブロックチェーンベースのトランザクション処理方法および装置
JP6896942B2 (ja) ブロックチェーンベースのトランザクション処理方法および装置、ならびに電子デバイス
JP7030981B2 (ja) 資産管理方法および装置、および電子デバイス
JP6840292B2 (ja) ブロックチェーンベーススマートコントラクト起動方法および装置、ならびに電子デバイス
US11270306B2 (en) Asset management method and apparatus, and electronic device
KR102221328B1 (ko) 교차 블록체인 인증 방법, 장치, 및 전자 디바이스
RU2737361C1 (ru) Способ и устройство бизнес-обработки
US20190251079A1 (en) Asset management method and apparatus, and electronic device

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

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210106

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20210216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210412

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210709

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210826

R150 Certificate of patent or registration of utility model

Ref document number: 6936396

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250