JP7325894B2 - ブロックチェーンに基づくデータ処理方法、装置、デバイス及びコンピュータプログラム - Google Patents

ブロックチェーンに基づくデータ処理方法、装置、デバイス及びコンピュータプログラム Download PDF

Info

Publication number
JP7325894B2
JP7325894B2 JP2022539707A JP2022539707A JP7325894B2 JP 7325894 B2 JP7325894 B2 JP 7325894B2 JP 2022539707 A JP2022539707 A JP 2022539707A JP 2022539707 A JP2022539707 A JP 2022539707A JP 7325894 B2 JP7325894 B2 JP 7325894B2
Authority
JP
Japan
Prior art keywords
consensus
node
ledger
ledger recording
nodes
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
JP2022539707A
Other languages
English (en)
Other versions
JP2023508210A (ja
Inventor
攀 ▲劉▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Publication of JP2023508210A publication Critical patent/JP2023508210A/ja
Application granted granted Critical
Publication of JP7325894B2 publication Critical patent/JP7325894B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • 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

Landscapes

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

Description

本出願は、2020年05月27日に中国特許局へ提出された、出願番号が202010458171.4であって、発明の名称が「ブロックチェーンに基づくデータ処理方法、装置、デバイス及び可読記憶媒体」である中国特許出願に対する優先権の利益を主張し、その内容全体が援用により本明細書に組み込まれる。
本出願は、コンピュータの技術分野に関し、特に、ブロックチェーンに基づくデータ処理方法、装置、デバイス及び可読記憶媒体に関する。
ブロックチェーンは、分散型データストレージ、ポイントツーポイント送信、コンセンサスメカニズム、暗号化アルゴリズムなどのコンピューターテクノロジーを活用する新型な適用モードであり、主にデータを時系列で整理し、改ざん・偽造されないように台帳に暗号化すると共に、データの検証、保存および更新を行うことができる。さらに、ブロックチェーンは、データの暗号化送信やノードの識別及び安全なアクセスを実行することもでき、高度な分散型アーキテクチャとされている。
ブロックチェーンネットワークにおいて、取引データを台帳に書き込むプロセスは、コンセンサスノードが取引データを取得し、当該取引データをブロックにパッケージ化し、ブロックごとにコンセンサスプロセスを実行し、合意を形成した後、当該取引データを格納するブロックを台帳に書き込ませるようになる。
コンセンサスノードによって取引データを台帳に書き込む過程中に、異なるコンセンサスノードは台帳記録を行う処理速度が異なる場合があり、即ち速いものもあれば、遅いものもあるから、台帳記録を先に完了したコンセンサスノードは、先に次のブロックのコンセンサスプロセスに移行することになる。一方、台帳記録が遅いコンセンサスノードは速度が遅いため、台帳記録が速いコンセンサスノードほどブロックを多く格納することができないことから、次のブロックのコンセンサスプロセスを実行する際に、格納されるブロック高さが一致しなくなったため、合意形成に失敗してコンセンサスの成功率に影響を及ぼす問題があった。
コンピュータデバイスである第1のノードによって実行されるブロックチェーンに基づくデータ処理方法であって、
目標ブロックに対する第1のコンセンサス投票情報を第2のノードに送信し、第2のノードから送信されてきた目標ブロックに対する第2のコンセンサス投票情報を受信するステップと、
第1のコンセンサス投票情報と第2のコンセンサス投票情報に基づいて、目標ブロックのコンセンサス結果を特定し、コンセンサス結果が合格結果である特定された場合に、台帳記録期間ウィンドウを始動し、台帳記録期間ウィンドウ内で目標ブロックに対して台帳記録処理を実行し、台帳記録期間ウィンドウ内で、第2のノードから送信されてきた目標ブロックに対する第1の台帳記録完了メッセージを受信するステップと、
台帳記録期間ウィンドウ内で目標ブロックに対する台帳記録処理を完了すれば、第2の台帳記録完了メッセージを第2のノードに送信するステップと、
第1の台帳記録完了メッセージと第2の台帳記録完了メッセージの総数が数量閾値以上である場合は、台帳記録期間ウィンドウを閉じて、目標ブロックの後続ブロックに対するコンセンサス業務プロセスに移行させるステップと、を含む。
ブロックチェーンに基づくデータ処理装置であって、
目標ブロックに対する第1のコンセンサス投票情報を第2のノードに送信し、第2のノードから送信されてきた目標ブロックに対する第2のコンセンサス投票情報を受信する投票情報交換モジュールと、
第1のコンセンサス投票情報と第2のコンセンサス投票情報に基づいて、目標ブロックのコンセンサス結果を特定するコンセンサス結果特定モジュールと、
コンセンサス結果が合格結果であると特定された場合に、台帳記録期間ウィンドウを始動し、台帳記録期間ウィンドウ内で目標ブロックに対して台帳記録処理を実行する台帳記録処理モジュールと、
台帳記録期間ウィンドウ内で、第2のノードから送信されてきた目標ブロックに対する第1の台帳記録完了メッセージを受信する台帳記録完了受信モジュールと、
台帳記録期間ウィンドウ内で目標ブロックに対する台帳記録処理を完了すれば、第2の台帳記録完了メッセージを第2のノードに送信する台帳記録完了通知モジュールと、
第1の台帳記録完了メッセージと第2の台帳記録完了メッセージの総数が数量閾値以上である場合は、台帳記録期間ウィンドウを閉じて、目標ブロックの後続ブロックに対するコンセンサス業務プロセスに移行させるウィンドウクローズモジュールと、を備える。
コンピュータ可読命令が記憶されているメモリと、1つ以上のプロセッサとを備えるコンピュータデバイスであって、コンピュータ可読命令が1つ以上のプロセッサに実行されると、前記ブロックチェーンに基づくデータ処理方法のステップを1つ以上のプロセッサに実現させる。
コンピュータ可読命令が記憶されている1つ以上の不揮発性コンピュータ可読記憶媒体であって、その中にコンピュータ可読命令が記憶されており、コンピュータ可読命令が1つ以上のプロセッサによって実行されると、前記ブロックチェーンに基づくデータ処理方法のステップを1つ以上のプロセッサに実行させる。
コンピュータ可読命令を含むコンピュータプログラム製品またはコンピュータプログラムであって、コンピュータ可読命令がコンピュータ可読記憶媒体に記憶されており、コンピュータデバイスのプロセッサはコンピュータ可読記憶媒体からコンピュータ可読命令を読み取り、プロセッサにコンピュータ可読命令を実行させることにより、前記ブロックチェーンに基づくデータ処理方法のステップをコンピュータデバイスに実行させる。
本出願の実施形態または従来の技術に係る技術案をより明確に説明すべく、以下で、実施形態または従来の技術を説明するために使用される図面について簡単に紹介する。明らかなように、以下に示す図面は、本出願の幾つかの実施形態に過ぎず、当業者は進歩性に値する労働を付することなく、これらの図面に基づいて他の図面を得ることもできる。
本出願の実施形態に係るネットワークアーキテクチャの概略図である; 本出願の実施形態に係るブロックチェーンに基づくデータ処理方法のフローチャートである; 本出願の実施形態に係る台帳記録シナリオの概略図である; 本出願の実施形態に係る台帳記録シナリオの概略図である; 本出願の実施形態に係る台帳記録シナリオの概略図である; 本出願の実施形態に係る台帳記録シナリオの概略図である; 本出願の実施形態に係るブロックチェーンに基づくデータ処理方法のフローチャートである; 本出願の実施形態に係るブロックチェーンに基づくデータ処理装置の構造ブロック図である; 本出願の実施形態に係るコンピュータデバイスの概略図である。
以下、本出願の実施形態における図面を参照しながら、本出願の実施形態に係る技術案について明確かつ完全に説明する。明らかなように、ここに記載される実施形態は、すべてではなく、本出願の実施形態の一部に過ぎない。本出願の実施形態に基づいて、当業者が進歩性に値する労働を付することなく取得できる他の実施形態は、いずれも本出願の保護範囲に含まれるものとする。
図1を参照すると、本出願の実施形態に提供されるネットワークアーキテクチャの概略図である。ブロックチェーンは、分散型データストレージ、ポイントツーポイント送信、コンセンサスメカニズム及び暗号化アルゴリズムなどのコンピューターテクノロジーを活用する新型な適用モードであり、主にデータを時系列で整理し、改ざん・偽造されないように台帳に暗号化すると共に、データの検証、保存および更新を行うことができる。ブロックチェーンは本質的に非中央集権型のデータベースであり、このデータベース内の各ノードごとに、同一のブロックチェーンが格納されており、ブロックチェーンネットワークによって、ノードはコアノード、データノード及びライトノードに分けられている。中では、コアノードはブロックチェーンネットワーク全体のコンセンサスを担い、つまり、コアノードはブロックチェーンネットワークにおけるコンセンサスノードとして機能している。ブロックチェーンネットワークにおいて取引データを台帳に書き込むプロセスは、クライアント端末から取引データをデータノード又はライトノードに送信し、その後、コンセンサスノードに当該取引データを受信させるまで、当該取引データをブロックチェーンネットワークにおけるデータノードまたはライトノードの間で交替的に伝達し、次に、当該取引データをコンセンサスノードによってブロックにパケット化し、他のコンセンサスノードとの間でコンセンサスが行われ、合意形成され後、当該取引データを格納するブロックが台帳に書き込まれるということである。図1に示すように、このシステムアーキテクチャは、第1のノードクラスタ1000および第2のノードクラスタ100を含み得、当該第1のノードクラスタ1000は、少なくとも2つの第1のノードを含み得、第2のノードクラスタ100は、少なくとも2つの第2のノードを含み得る。図1に示すように、第1のノードクラスタ1000は、第1のノード1000a、第1のノード1000b、…、第1のノード1000cを含むことができ、当該第2のノードクラスタ100は、具体的に、第2のノード100a、第2のノード100b、…、第2のノード100cを含むことができる。中では、当該第1のノード1000a、第1のノード1000b、…、第1のノード1000c及び当該第2のノード100a、第2のノード100b、…、第2のノード100cはいずれもコアノード(即ちコンセンサスノード)である。
図1に示すように、第2のノード100a、第2のノード100b、…、第2のノード100cは、それぞれ第1のノード1000a、第1のノード1000b、…、第1のノード1000cにネットワークで接続されており、これにより、第2のノードはこのネットワーク接続を介して第1のノードとデータ交換を行うことができる。第2のノード100a、第2のノード100b、…、第2のノード100cは互いに接続されており、これにより、第2のノード間でデータ交換を行うことができ、また第1のノード1000a、第1のノード1000b、…、第1のノード1000cは互いに接続されており、これにより、第1のノード間でデータ交換を行うことができる。第1のノード1000aを例にとると、データノードまたはライトノードから送信された取引データを受信した後、第1ノード1000aは、当該取引データをメモリプール(例えば取引プールど)に格納するとともに、入力データを記録するためのハッシュツリーを更新することができる。その後、当該取引データを受信した時刻に更新タイムスタンプを更新し、異なるランダムな数値で特徴量を算出するように試み、特徴量を求めると、当該取引データを対応づけて格納し、ブロックヘッダー及びブロック本体を生成し、新たに生成されたブロックを得ることができる。次に、第1のノード1000aは、ブロックチェーンネットワークにおける他のコアノード(即ちコンセンサスノード)のノード識別子に従って、新たに生成されたブロックをそれぞれに該当するブロックチェーンネットワークにおける他のコアノードに送信し、他のコアノードによって、新たに生成されたブロックについて検証し(即ちコンセンサスを実行し)、検証が終わった後、新たに生成されたブロックを該当する台帳に追加することができる。中では、ブロックチェーンネットワーク内の各コアノードごとに、対応するノード識別子があり、かつブロックチェーンネットワーク内の各コアノードごとに、ブロックチェーンネットワーク内の他のコアノードのノード識別子が格納されているため、後で他のコアノードのノード識別子に従って、生成されたブロックをブロックチェーンネットワーク内の他のコアノードにブロードキャストする際に、他のコアノードはこの新たに生成されたブロックに対してコンセンサスを実行し、かつコンセンサスに合格したら、この新たに生成されたブロックも他のコアノードが属する台帳に追加でき、これによって、ブロックチェーンネットワークにおけるすべてのコアノードに格納されている取引データが一貫するようになる。
ブロックチェーンネットワークにおけるコアノード(第1のノードと第2のノードを含む)によって、ブロックを該当するブロックチェーンに追加する過程は、即ちコアノードによってブロックに台帳記録を実行する過程である。本出願では、台帳記録期間ウィンドウを新に追加し、ブロックに対するコンセンサスが合格した後、コアノードを利用してア台帳記録ウィンドウ内でブロックに対して台帳記録処理を実行する必要がある。具体的な方法としては、第1のノード1000a、第2のノード100a、第2のノード100b及び第2のノード100cを例に取り上げると、目標ブロックに対するコンセンサスの実行において、第1のノード1000a、第2のノード100a、第2のノード100b及び第2のノード100cはコンセンサス投票情報を互いにブロードキャストすることができ、ここで、第1のノード1000a、第2のノード100a、および第2のノード100bはすべて賛成投票であり、第2のノード100cは、ネットワークの障害でまだコンセンサス投票情報をブロードキャストしていない。第1のノード1000a、第2のノード100a、第2のノード100b及び第2のノード100cの合計4つのコンセンサスノードのうち、3つのコンセンサスノードのコンセンサス投票情報はすべて賛成票であり、賛成票を出しているノード数はノード総数の3/4を占め、比例閾値2/3を超えているため、当該目標ブロックのコンセンサス結果が合格結果であると特定することができ、そこで、第1のノード1000a、第2のノード100a、第2のノード100b及び第2のノード100cはどちらも、台帳記録期間ウィンドウを始動し、台帳記録期間ウィンドウ内で当該目標ブロックに対して台帳記録処理を実行することができる。台帳記録期間ウィンドウ内で、目標ブロックへの台帳記録処理タスクを完了するノードがあれば、ブロードキャストして、目標ブロックに対する台帳記録処理を終えたことの旨を他のノードに通知することができる。台帳記録処理ウィンドウ内のある時点で、2/3を超えるノードはこの台帳記録期間ウィンドウ内で目標ブロックへの台帳記録処理タスクを完了した場合、台帳記録処理タスクを完了したこれらのノードは、2/3を超えるノードが台帳記録処理タスクを完了したと特定したとき、台帳記録期間ウィンドウを閉じて、後続のプロセスに移行し、例えば当該目標ブロックの後続ブロックに対するコンセンサス業務プロセスに移行することができる。例えば、台帳記録期間ウィンドウが10秒に続くとした場合、第1のノード1000aは2秒目に目標ブロックへの台帳記録処理を完了し、ブロードキャスト通知を行ったら、第1のノード1000aは、台帳記録期間ウィンドウ内で第2のノード100a、第2のノード100bおよび第2のノード100cの完了通知を待つ。2.5秒に、第2のノード100aは、目標ブロックへの台帳記録処理を完了してブロードキャスト通知を行い、3.5秒に、第2のノード100bは、目標ブロックへの台帳記録処理を完了してブロードキャスト通知を行った場合、3.5秒に、合計3つのコンセンサスノード(第1のノード1000a、第2のノード100a、第2のノード100b)は目標ブロックへの台帳記録処理を完了し、第1のノード1000a、第2のノード100a、第2のノード100bおよび第2のノード100cを含める合計4つのコンセンサスノードのうち、3つのコンセンサスノードは目標ブロックへの台帳記録処理タスクを完了した。また、第1のノード1000a、第2のノード100a及び第2のノード100bはすべて、3.5秒に台帳記録処理タスクを完了した他のコンセンサスノードから完了通知メッセージを受信し、つまり、第1のノード1000a、第2のノード100aおよび第2のノード100bの中の各コンセンサスノードはすべて、3.5秒に、台帳記録処理タスクを完了したコンセンサスノード数がコンセンサスノードの総数の3/4を占め、比例閾値2/3を超えるものと特定することができ、そこで、3.5秒に、第1のノード1000a、第2のノード100a、第2のノード100bは台帳記録期間ウィンドウを閉じ、後続プロセスに移行し、即ち第2のノード100cによる台帳記録の完了を待たなくなる。
前記ブロックチェーンに基づくデータ処理方法においては、ブロックのコンセンサスが合格し、ブロックに対する台帳記録を行う際に、台帳記録期間ウィンドウを追加することにより、コンセンサスノード(例えば第1のノード及び第2のノード)は台帳記録期間ウィンドウ内で台帳記録を実行し、各々のコンセンサスノードは台帳記録を終えたらブローキャスト通知を行うことができ、台帳記録を実行するコンセンサスノードのうち、数値閾値を超えるコンセンサスノードがすべてブロックの台帳記録を完了した場合に限って、台帳記録を完了したこれらのコンセンサスノードは台帳記録期間ウィンドウを閉じて、次のブロックのコンセンサスプロセスに一緒に移行することになる。これにより、先にブロックの台帳記録を終えたコンセンサスノードは、台帳記録期間ウィンドウ内で他のコンセンサスノードがブロックの台帳記録を完了するのを待ってから、次のブロックのコンセンサスプロセスに一緒に移行することができる。明らかなように、台帳記録期間ウィンドウ内で、速度が速いコンセンサスノードは、速度が遅いコンセンサスノードが台帳記録を実行するのを待機するため、次のブロックのコンセンサスプロセスに一緒に移行するコンセンサスノードは同じブロックを格納できるため、次のブロックのコンセンサスを実行する際に、ブロック高さが一致しないからコンセンサスノードのコンセンサスが失敗するのを低減でき、コンセンサス業務プロセスのコンセンサス成功率が向上する。
第1ノードクラスタ1000における各々の第1のノードおよび第2のノードクラスタ100における各々の第2のノードはクラウドサーバであり得、これらのクラウドサーバは、クラウドサービス、クラウドデータベース、クラウドコンピューティング、クラウド機能、クラウドストレージ、ネットワークサービス、クラウド通信、ミドルウェアサービス、ドメインネームサービス、セキュリティサービス、CDN、およびビッグデータや人工知能プラットフォームなどの基本的なクラウドコンピューティングサービスを提供できることが理解されるべきであろう。端末及びサーバーは、有線または無線通信を介して直接または間接的に接続できるが、本出願では制限されない。
クラウドテクノロジー(Cloud technology)とは、ハードウェア、ソフトウェア、ネットワークなど一連のリソースをワイドエリアネットワークまたはローカルエリアネットワーク内で統合し、データの計算、保存、処理、共有を実現する一括管理技術のことをいう。
クラウドテクノロジー(Cloud technology)は、クラウドコンピューティングビジネスモデルの利活用に基づくネットワークテクノロジー、情報テクノロジー、統合テクノロジー、管理プラットフォームテクノロジー、アプリケーションテクノロジーなどの総称であり、リソースプールを形成し、必要に応じて柔軟かつ便利に利用できる。クラウドコンピューティング技術は重要なサポートになると見込まれている。テクニカルネットワークシステムのバックグラウンドサービスには、ビデオWebサイト、画像Webサイト及び他のポータルWebサイトなど、多くのコンピューティングおよびストレージリソースが必要である。インターネット業界の高度な発展と利活用により、将来的に各アイテムに独自の識別マークが付けられる可能性があり、論理処理のためにバックエンドシステムに送信される必要がある。異なるレベルのデータは個別に処理されることになるため、様々な業界におけるデータは強力なシステムサポートを必要とし、クラウドコンピューティングを通じてのみ実現できる。
本出願の実施形態に係る方法は、コンピュータデバイスによって実行され得、コンピュータデバイスは、端末またはサーバーを含むが、これらに限定されないことが理解されるべきであろう。サーバーは、独立した物理サーバーであるか、複数の物理サーバーから構成されるサーバークラスターまたは分散システムであってもよく、さらにクラウドサーバであり得る。端末は、スマートフォン、タブレットコンピュータ、ノートブックコンピュータ、デスクトップコンピュータ、スマートスピーカー、スマートウォッチなどであり得るが、これらに限定されない。端末とサーバーは、有線または無線通信を介して直接または間接的に接続できるが、本出願では制限されない。本出願の実施形態におけるノードは、コンピュータデバイスであり得る。
図2を参照すると、本出願の実施形態に提供されるブロックチェーンに基づくデータ処理方法のフローチャートである。この方法を第1のノードに適用することを例に説明すると、第1のノードはコンピュータデバイスであり、コンピュータデバイスは端末でもよく、サーバーでもよい。図2に示すように、ブロックチェーンに基づくデータ処理方法は、以下のステップを含む。
ステップS101:目標ブロックに対する第1のコンセンサス投票情報を第2のノードに送信し、第2のノードから送信されてきた目標ブロックに対する第2のコンセンサス投票情報を受信する。
具体的には、第1のノードと第2のノードはいずれもブロックチェーンネットワークにおけるコアノード(コンセンサスノード)であり得、ブロックチェーンネットワーク全体のコンセンサスを行い、取引データを格納するブロックをローカル台帳に書き込むことができる。コンセンサスノードは取引データを受信した後、当該取引データをブロックにパッケージ化し、他のコンセンサスノードとの間でコンセンサスを行い、他のコンセンサスノードは自体のコンセンサス投票情報を相互に送信することができ、当該コンセンサス投票情報には、コンセンサス合格賛成投票(または賛成投票)とコンセンサス合格拒否投票が含まれており、よって、ここでいう第1のコンセンサス投票情報と第2のコンセンサス投票情報にも、コンセンサス合格賛成投票とコンセンサス合格拒否投票が含まれていてもよい。ブロックチェーンネットワークにおいて、各々のコアノードは取引データごとに新たなブロック(例えば目標ブロック)を生成する際に、この新たに生成されたブロックをブロックチェーンネットワークにおける他のコアノードに送信し、この新たに生成されたブロックを他のコアノードに検証させるようにすることができる。つまり、ブロックチェーンネットワークにおけるコアノードは、新たに生成されたブロックに対して、コンセンサス投票情報を送信し、自体の検証結果を他のコアノードに知らせる。検証に合格した場合、コンセンサス投票情報は、この新たに生成されたブロックのコンセンサス合格に賛成するものであり、一方、検証に不合格した場合、コンセンサス投票情報は、この新たに生成されたブロックのコンセンサス合格を拒否するものである。中では、新たなブロックを生成したコアノードは、ブロックアウトノードであり得るため、ここで第1のノード及び第2のノードはブロックアウトノードとすることができ、ノードはブロックアウトノードとされる際に、そのコンセンサス投票情報は、ブロックのコンセンサス合格に賛成している。
ステップS102:第1のコンセンサス投票情報と第2のコンセンサス投票情報に基づいて、目標ブロックのコンセンサス結果を特定し、コンセンサス結果が合格結果であると特定された場合に、台帳記録期間ウィンドウを始動し、台帳記録期間ウィンドウ内で目標ブロックに対して台帳記録処理を実行し、台帳記録期間ウィンドウ内で第2のノードから送信されてきた目標ブロックに対する第1の台帳記録完了メッセージを受信する。
一の実施形態では、第1のコンセンサス投票情報と第2のコンセンサス投票情報に基づいて、目標ブロックのコンセンサス結果を特定するステップは、
第2のコンセンサス投票情報の中に、賛成投票に該当する第2のコンセンサス投票情報の数を第1の目標数として特定するステップと、第1のコンセンサス投票情報が賛成投票に該当する場合は、第1のコンセンサス投票情報と第1の目標数に従って賛成投票総数を特定するステップと、ノード総数に対する賛成投票総数の比が比例閾値以上である場合は、目標ブロックのコンセンサス結果が合格結果であると特定し、ここでノード総数は、第1のノードと第2のノードの総数であるステップと、ノード総数に対する賛成投票総数の比が比例閾値未満であれば、目標ブロックのコンセンサス結果が失敗結果であると特定するステップと、を含む。
具体的には、第1のノードは、受信された第2のノードから送信されてきた第2のコンセンサス投票情報に従って、目標ブロックのコンセンサス結果を特定することができる。具体的な特定方法としては、第1のノードが第2のコンセンサス投票情報の中に、賛成投票に該当する(つまり、目標ブロックのコンセンサス合格に賛成している)第2のコンセンサス投票情報の数を第1の目標数として特定する;当該第1のコンセンサス投票情報が当該目標ブロックのコンセンサス合格結果に賛成している場合は、当該第1のコンセンサス投票情報と第1の目標数に従って賛成投票総数を特定することができる;ノード総数に対する当該賛成投票総数の比が比例閾値以上である場合は、当該目標ブロックのコンセンサス結果が合格結果であると特定することができる;ここでこのノード総数は、この第1のノードとこの第2のノードの総数である;当該ノード総数に対する当該賛成投票総数の比が比例閾値未満であれば、当該目標ブロックのコンセンサス結果が失敗結果であると特定することができる。第1のノード及び第2のノードはブロックチェーンネットワークにおけるコアノード(コンセンサスノード)であるため、つまり、ブロックチェーンネットワークにおいて、比例閾値以上になるコンセンサスノードがすべて目標ブロックのコンセンサス合格結果に賛成している場合に限って、当該目標ブロックのコンセンサス結果が合格結果であると特定する。一方、ブロックチェーンネットワークにおいて、目標ブロックのコンセンサス合格結果に賛成しているコアノードが比例閾値を超えていない場合は、当該目標ブロックのコンセンサス結果が失敗結果であると特定する。ここで、当該比例閾値は、小数、百分率、分数などの数値表現形式であり得る。例えば、比例閾値は0.67、2/3、80%などであり得るが、ここでは一々に例示しない。
一の実施形態では、前記方法は、さらに、
第1のコンセンサス投票情報が合格拒否投票である場合は、第1の目標数に基づいて賛成投票総数を特定するステップを含む。
具体的には、第1のノードは、第2のコンセンサス投票情報の中に、賛成投票に該当する(つまり、目標ブロックの合格結果に賛成している)第2の投票情報の数を第1の目標数として特定することができる。当該第1のノードは、当該目標ブロックのコンセンサス合格を拒否している場合は、第1の目標数に基づいて賛成投票総数を特定することができる。ノード総数に対する当該賛成投票総数の比が比例閾値以上である場合は、当該目標ブロックのコンセンサス結果が合格結果であると特定でき、ここで当該ノード総数は、この第1のノードと第2のノードの総数である。一方、当該ノード総数に対する当該賛成投票総数の比が比例閾値未満であれば、当該目標ブロックのコンセンサス結果が失敗結果であると特定できる。ブロックチェーンネットワークにおいて、比例閾値以上になるコンセンサスノードがすべて目標ブロックのコンセンサス合格結果に賛成している場合は、当該目標ブロックのコンセンサス結果が合格結果であると特定できる。したがって、第1のノードは当該目標ブロックのコンセンサス合格結果を拒否しても、ブロックチェーンネットワークにおいて比例閾値以上のコンセンサスノードがすべて目標ブロックのコンセンサス合格に賛成すれば、当該目標ブロックのコンセンサス結果が合格結果であると特定する。
一の実施形態では、コンセンサス結果が合格結果であると特定された場合に、台帳記録期間ウィンドウを始動し、台帳記録期間ウィンドウ内で目標ブロックに対して台帳記録処理を実行するステップは、
コンセンサス結果が合格結果である場合は、第2のコンセンサス投票情報の数を取得するステップと、第2のノードのノード数を第2の目標数として取得するステップと、第2のコンセンサス投票情報の数が第2の目標数未満であれば、台帳記録期間ウィンドウを始動し、台帳記録期間ウィンドウ内で目標ブロックに対して台帳記録処理を実行するステップとを含む。
具体的には、目標ブロックがコンセンサス合格結果であると判断された場合、第1のノードは、当該第2のコンセンサス投票情報の数を取得するとともに、当該第2のノードのノード数を取得し、第2のノードのノード数を第2の目標数として使用することができる。当該第2のコンセンサス投票情報の数が当該第2の目標数よりも少ない場合、第1のノードは、当該台帳記録期間ウィンドウを始動し、当該台帳記録期間ウィンドウ内で当該目標ブロックに対して台帳記録処理を実行することができる。ここで、当該第2のコンセンサス投票情報の数が当該第2の目標数よりも少なく、つまり第1のノードは一部の第2のノードのコンセンサス投票情報のみ受信し、別の一部の第2のノードはネットワークの遅延や検証速度の遅さなどの原因でコンセンサス投票情報を第1のノードに即時に送信せず、第1のノードはこの部分の第2のノードのコンセンサス投票情報を受信しなかった場合には、第1のノードは台帳記録期間ウィンドウを始動し、台帳記録期間ウィンドウ内で台帳記録を実行することが理解されるべきであろう。つまり、目標ブロックのコンセンサス結果が合格結果であって、かつ当該第1のノードが一部の第2のノードのコンセンサス投票情報のみ受信した場合は、第1のノードは台帳記録期間ウィンドウを始動し、台帳記録期間ウィンドウ内で目標ブロックに対する台帳記録処理を実行する。
たとえば、コンセンサスノードには、第1のノードa、第2のノードd、第2のノードb、および第2のノードcが含まれるとしている。ブロックbのコンセンサス投票の場合、第1のノードaはブロックbのコンセンサス合格結果に賛成しており、第2のノードdはブロックbのコンセンサス合格結果に賛成しており、第2のノードbはブロックbのコンセンサス合格結果に賛成している場合に、第1のノードa、第2のノードdおよび第2のノードbのコンセンサス投票情報はすべて賛成投票に該当する。だが、第2のノードcはネットワークの原因でコンセンサス投票情報をブロードキャストしていない。よって、第1のノードaに対して、第1のノードaの第1のコンセンサス投票情報は賛成投票であり、第2のノードdのコンセンサス投票情報は第2のコンセンサス投票情報であって、賛成投票であり、第2のノードbのコンセンサス投票情報は第2のコンセンサス投票情報であって、賛成投票である。そこで、ブロックチェーンネットワークにおいて、第1のノードa、第2のノードd及び第2のノードbの合計3つのコンセンサスノードは賛成投票であり、第2のノードcのコンセンサス投票情報をまだ受信しなかったが(第1のノードaは一部の第2のノードのコンセンサス投票情報のみ受信し、第2のコンセンサス投票情報の数は第2のノードのノード数よりも少ない)、受信したコンセンサス投票情報の中に、ブロックチェーンネットワークにおけるノード総数(4つ)に対する賛成投票のノード数(3つ)の比例値3/4は、比例閾値2/3を超えているため、第1のノードaは台帳記録期間ウィンドウを始動し、当該台帳記録期間ウィンドウ内で台帳記録処理を実行することになる。つまり、第1のノードは一部の第2のノードから送信されてきたコンセンサス投票情報のみ受信し、かつこれらの部分の第2のノード及び第1のノードの中に、ブロックチェーンネットワークにおけるノード総数に対する賛成投票の比例値が比例閾値を超える場合には、第1のノードは、残りの第2のノードのコンセンサス投票情報が賛成であるかどうかにも関わらず、台帳記録期間ウィンドウを始動し、当該台帳記録期間ウィンドウ内で目標ブロックに対する台帳記録処理を実行することになる。
第1のノードと第2のノードが台帳記録期間ウィンドウ内に台帳記録処理を実行する際に、いずれかのノードが目標ブロックに対するコンセンサスを完了した場合、台帳記録完了メッセージをブロードキャストして、目標ブロックに対する台帳記録処理を完了したことの旨を他のノードに知らせることができる。そこで、台帳記録期間ウィンドウ内で、第2のノードが目標ブロックに対する台帳記録処理を完了すれば、第2のノードはブロードキャスト通知し、第1のノードは、台帳記録を完了した第2のノードの台帳記録完了メッセージを受信することができる。
ステップS103:第1のノードは台帳記録期間ウィンドウ内で目標ブロックに対する台帳記録処理を完了すれば、第2の台帳記録完了メッセージを第2のノードに送信する。
一の実施形態では、第2のノードが複数である。台帳記録期間ウィンドウ内で目標ブロックに対する台帳記録処理を完了すれば、第2の台帳記録完了メッセージを第2のノードに送信するステップは、
台帳記録期間ウィンドウ内で、残りの第2のノードから送信されてきた目標ブロックに対する第3のコンセンサス投票情報を受信し、ここで、残りの第2のノードは、複数の第2のノードのうち、第2のコンセンサス投票情報が送信された第2のノードを除いたノードであるステップと、台帳記録期間ウィンドウ内で目標ブロックに対する台帳記録処理を完了すれば、第3のコンセンサス投票情報の数を取得するステップと、第3のコンセンサス投票情報の数と第2のコンセンサス投票情報の数を加算し、コンセンサス投票総数を得るステップと、コンセンサス投票総数及び第2の目標数に基づいて、第1のノードのメッセージ送信権限を確認するステップと、第1のノードは前記メッセージ送信権限があると確認された場合は、第2の台帳記録完了メッセージを第2のノードに送信するステップとを含む。
具体的には、第1のノードは、一部の第2のノードのコンセンサス投票情報のみ受信した場合に、台帳記録期間ウィンドウに移行することとなり、第1のノードは台帳記録期間ウィンドウ内で目標ブロックに台帳記録処理を実行するとき、残りの第2のノード(第2のノードの中に、第2のコンセンサス投票情報を送信した第2のノード以外のノード、即ちコンセンサス投票情報をまだ送信していない第2のノード)から送信されてきたコンセンサス投票情報(第3のコンセンサス投票情報)を受信し続けることができる。つまり、残りの第2のノードはネットワークや他の原因でコンセンサス投票情報を即時に送信せず、第1のノードが台帳記録期間ウィンドウ内で台帳記録処理を行うときに、この残りの第2のノードのコンセンサス投票情報を受信する場合があり、第1のノードは、残りの第2のノードの第3のコンセンサス投票情報に従って、自身が台帳記録完了メッセージを送信するメッセージ送信権限があるかどうかを確認することができる。具体的な方法において、前記第1のノードは前記台帳記録期間ウィンドウ内で目標ブロックへの台帳記録処理を完了した場合、第1のノードは第3のコンセンサス投票情報の数を取得することができ、第1のノードは前記第3のコンセンサス投票情報の数と第2のコンセンサス投票情報の数を加算してコンセンサス投票総数を得ることができ、コンセンサス投票総数と第2の目標数に基づいて、第1のノードはメッセージ送信権限があるかどうかを特定し、第1のノードはメッセージ送信権限があると特定された場合のみに、第1のノードは第2の台帳記録完了メッセージを第2のノードに送信する。
一の実施形態では、コンセンサス投票総数及び第2の目標数に基づいて、第1のノードのメッセージ送信権限を確認するステップは、
コンセンサス投票総数が第2の目標数未満であれば、第1のノードは前記メッセージ送信権限があると特定するステップと、コンセンサス投票総数が第2の目標数と等しい場合は、第1のノードはメッセージ送信権限がないと特定するステップとを含む。
具体的には、コンセンサス投票総数が第2のノードのノード数(第2の目標数)未満であれば、第1のノード自身はメッセージ送信権限があると特定することができ、そこで、第1のノードは台帳記録完了メッセージを第2のノードに送信し、自分がブロックの台帳記録を完了することをブロードキャスト通知することができる。一方、コンセンサス投票総数がこの第2のノードの第2の目標数と等しくなる場合は、第1のノード自身はメッセージ送信権限がないと特定することができることから、第1のノードは台帳記録期間ウィンドウ内でブロックの台帳記録を完了する際に、台帳記録完了メッセージを第2のノードに送信することはなく、台帳記録期間ウィンドウを直接に閉じて、当該目標ブロックの後続ブロックのコンセンサス業務プロセスに移行することができる。
一の実施形態では、前記方法は、さらに、
第1のノードはメッセージ送信権限がないと特定された場合は、台帳記録期間ウィンドウを閉じて、目標ブロックの後続ブロックのコンセンサス業務プロセスに移行させるステップをさらに含む。
具体的には、コンセンサス投票総数が当該第2のノードの第2の目標数と等しい場合は、第1のノード自身はメッセージ送信権限がないと特定することができるから、第1のノードは台帳記録期間ウィンドウ内でブロックの台帳記録を完了する際に、台帳記録完了メッセージを第2のノードに送信することはなく、台帳記録期間ウィンドウを直接に閉じて、当該目標ブロックの後続ブロックのコンセンサス業務プロセスに移行することができる。なお、ここで、コンセンサス投票総数が当該第2のノードの第2の目標数と等しい場合は、第1のノードは、自分の台帳記録期間ウィンドウ内で全ての第2のノードのコンセンサス投票情報を受信すると特定でき、第1のノードは、ブロックチェーンネットワークにおける他のノードも全てのコンセンサス投票情報を受信したと黙認し、他のノードに近い台帳記録速度を保たせることができる。よって、第1のノードはメッセージの送信によるトラフィックの消費を低減するために、このメッセージ送信権限を取り消すことになる。これにより、メッセージ送信権限がないから、台帳記録を完了したとき、コンセンサスノードは台帳記録完了メッセージを他のノードに送信しなくてもよいので、トラフィックの消費を低減するだけでなく、後続ブロックのコンセンサス業務プロセスへ移行する速度を上げることができ、台帳記録が終わりかつ全ての投票を受信したら、完了通知を送信せず、直接に台帳記録期間ウィンドウを閉じて後続ブロックのコンセンサス業務プロセスに移行することが可能となる。
第1のノードは台帳記録期間ウィンドウ内で全ての投票情報を受信すれば、台帳記録を完了した状況下で、台帳記録完了メッセージを第2のノードに送信することもできることが理解されるべきであろう。これによって、台帳記録期間ウィンドウ内でネットワークの障害で全ての投票情報を受信しなかった第2のノードは、第1のノードから送信されてきた台帳記録完了メッセージに基づいて、台帳記録期間ウィンドウを閉じることができるかどうかを特定できる。
第1のノードは台帳記録期間ウィンドウ内で目標ブロックに台帳記録処理を実行する際に、第1のノードは台帳記録期間ウィンドウ内で一部の残りの第2のノードから送信されてきたコンセンサス投票情報のみ受信し、あるいは、残りの第2のノードのコンセンサス投票情報を受信しなかった場合(コンセンサス投票総数は当該第2のノードの第2の目標数と等しい)、第1のノードは目標ブロックの台帳記録を完了すれば、第2のノードに台帳記録完了メッセージを送信するとともに、台帳記録期間ウィンドウ内で、台帳記録を終えていないノードが台帳記録を行うのを待機することが理解されるべきであろう。全ての残りの第2のノードから送信されてきたコンセンサス投票情報を受信した場合、つまり、第1のノードは台帳記録期間ウィンドウ内で、ブロックチェーンネットワークにおける全ての第2のノードのコンセンサス投票情報を受信した場合(コンセンサス投票総数は当該第2のノードの第2の目標数と等しい)、第1のノードは目標ブロックの台帳記録を完了したとき、台帳記録期間ウィンドウを直接に閉じて、他のコンセンサスノードを待機せずに直接に目標ブロックの次のブロックのコンセンサスプロセスに移行することができる。ここで、第1のノードは他のコンセンサスノードによる台帳記録を待機しなくてもよい理由は、台帳記録期間ウィンドウ内に、ブロックチェーンネットワークにおける第2のコンセンサスノードが投票情報を正常に送信し、第1のノードが台帳記録期間ウィンドウ内で全ての第2のノードのコンセンサス投票情報を受信したため、第1のノードは、他のコンセンサスノードのネットワークステータスがいずれも良好であると認め(全てのコンセンサス投票情報を見事に受信したから)、よって、第1のノードは、それぞれのコンセンサスノードのステータス(例えばネットワークステータス、情報同期ステータスなど)がそれほど変わらず、ブロックの台帳記録を実行する速度が基本的に一致し、待機しなくても、わずかな期間差でブロックの台帳記録をそれぞれに完了でき、一緒に後続のプロセスに移行する際に、格納するブロックもわずかに相違するからである。
ステップS104:第1の台帳記録完了メッセージと第2の台帳記録完了メッセージの総数が数量閾値以上である場合は、第1のノードは台帳記録期間ウィンドウを閉じて、目標ブロックの後続ブロックに対するコンセンサス業務プロセスに移行する。
具体的には、台帳記録期間ウィンドウ内で、数量閾値を超えるノードが全て目標ブロックの台帳記録処理を完了した場合は(第1の台帳記録完了メッセージと第2の台帳記録完了メッセージの総数が数量閾値以上である場合は)、台帳記録処理を完了したこれらのノードは、台帳記録期間ウィンドウを閉じ、つまり、台帳記録期間ウィンドウからジャンプして、次のプロセスに移行し、例えば目標ブロックの次のブロックのコンセンサス業務プロセスに移行することができる。台帳記録期間ウィンドウ内で、台帳記録処理を最初に完了したノードが残りのすべてのノード(ブロックチェーンネットワークにおいて、以前にコンセンサス投票情報を正常に送信しなかったノード)のコンセンサス投票情報を受信しなかった場合に、自分が台帳記録処理を終えたことの旨をブロードキャスト通知するとともに、台帳記録期間ウィンドウ内に他のノードが台帳記録を行うのを待ち、数量閾値を超えるノードが全て台帳記録処理を完了するときになってはじめて、これら台帳記録を完了したノードは台帳記録期間ウィンドウを閉じて、後続のプロセスに移行することが理解されるべきであろう。ここで、数量閾値は、ブロックチェーンネットワーク内のノード総数及び指定された比例値に従って決定され得る。たとえば、指定された比例値が3/5であれば、ここで数量閾値は、ノード総数の3/5であってもよい。つまり、ネットワークチェーンにおいて3/5以上のノードが台帳記録を終えた場合は、台帳記録を終えたこれらのノードは台帳記録期間ウィンドウを閉じることができる。
一の実施形態では、前記方法は、さらに、
台帳記録期間ウィンドウに対応する期間閾値を取得するステップと、第1のノードの台帳記録期間ウィンドウ内における合計期間を統計するステップと、合計期間が期間閾値と等しく、かつ第1のノードは台帳記録期間ウィンドウ内で目標ブロックに対する台帳記録処理を完了しなかった場合は、台帳記録期間ウィンドウを閉じて、目標ブロックの後続ブロックに対するコンセンサス業務プロセスに移行させるステップとを含む。
たとえば、ブロックチェーンネットワークにおけるコンセンサスノードには、コンセンサスノードA(第1のノードと呼ばれる)、コンセンサスノードB、コンセンサスノードC、コンセンサスノードDおよびコンセンサスノードE(コンセンサスノードB、コンセンサスノードC、コンセンサスノードDおよびコンセンサスノードEは第2のノードと呼ばれる)が含まれている。ブロックaのブロックアウト投票に対して、コンセンサスノードAが賛成、コンセンサスノードBが賛成、コンセンサスノードCが賛成、コンセンサスノードDが賛成、コンセンサスノードEがネットワーク遅延のために投票情報を送信していない。よって、コンセンサスノードAは、コンセンサスノードB、コンセンサスノードC、およびコンセンサスノードDからの投票情報を受信し、ブロックチェーンネットワークにおいて、合計4つのコンセンサスノードが賛成投票であり、ブロックチェーンネットワークにおけるノード総数5において占める比例が4/5であると特定されるため、コンセンサスノードAは、ブロックaが合格結果を形成したと判断でき、コンセンサスノードAは台帳記録期間ウィンドウを始動する。同様に、コンセンサスノードB、コンセンサスノードC、コンセンサスノードD、およびコンセンサスノードEも、他のコンセンサスノードからの投票情報を受信した後(コンセンサスノードEの投票情報を受信しなかった)、ブロックaのコンセンサス結果が合格結果であると特定できるため、コンセンサスノードB、コンセンサスノードC、コンセンサスノードD、およびコンセンサスノードEも、ブロックaが合格結果を形成したと確認した後、台帳記録期間ウィンドウを始動することになる。そのため、コンセンサスノードA、コンセンサスノードB、コンセンサスノードC、コンセンサスノードD、およびコンセンサスノードEは、いずれも台帳記録期間ウィンドウ内でブロックaに台帳記録処理を実行し、ここで、前記台帳記録期間ウィンドウが10秒である。台帳記録期間ウィンドウに移行して2秒目になったとき、コンセンサスノードBはブロックaの台帳記録処理を完了したため、コンセンサスノードBは2秒目に、ブロックaの台帳記録処理を完了したことの旨をブロードキャストして通知する。2秒目に、コンセンサスノードBは、他のノードから送信された台帳記録完了メッセージを受信せず、コンセンサスノードBのみがブロックaの台帳記録処理を完了したため、コンセンサスノードBは台帳記録期間ウィンドウ内に、他のノードが台帳記録処理を完了するのを待機する。3秒目に、コンセンサスノードAもブロックaの台帳記録処理を完了し、コンセンサスノードAもブロードキャスト通知したため、3秒目に、コンセンサスノードBはコンセンサスノードAから送信された台帳記録完了メッセージを受信した。よって、コンセンサスノードBとコンセンサスノードAの両方は、コンセンサスノードAとコンセンサスノードBの2つのノードがブロックaの台帳記録処理を完了したが、数値閾値3に達していない(ノード総数5に比例閾値3/5をかける)と判断できるため、コンセンサスノードAとコンセンサスノードBは、台帳記録期間ウィンドウ内で、他のノードが台帳記録処理を行うのを待つことになる。台帳記録期間ウィンドウの4秒目に、コンセンサスノードDはブロックaの台帳記録処理を完了し、コンセンサスノードDも4秒目にブロードキャスト通知し、コンセンサスノードAとコンセンサスノードBの両方が、4秒目にコンセンサスノードDからの台帳記録完了メッセージを受信したため、コンセンサスノードA、コンセンサスノードB、およびコンセンサスノードD(コンセンサスノードDはコンセンサスノードAおよびコンセンサスノードBから台帳記録完了メッセージを受信した)は、4秒目に、コンセンサスノードA、コンセンサスノードBおよびコンセンサスノードDの合計3つのノードがブロックの台帳記録を終え、台帳記録を完了したノード数3が数量閾値3と等しいと判断できる。つまり、コンセンサスノードA、コンセンサスノードB、コンセンサスノードC、コンセンサスノードDとコンセンサスノードE、すでに3/5のノードがブロックの台帳記録を完了したため、ブロックの台帳記録を完了したこれらのコンセンサスノードA、コンセンサスノードBおよびコンセンサスノードDは、4秒目に台帳記録期間ウィンドウを閉じて、一緒にブロックaの次のブロック(例えばブロックbなど)のコンセンサス業務プロセスに移行する。一方、ブロックの台帳記録を完了していないコンセンサスノードCとコンセンサスノードEは、引き続き台帳記録期間ウィンドウ内で台帳記録を実行し続けるとともに、ブロックの台帳記録を完了したとき、かつ数量閾値を超えるノードが台帳記録を完了したと特定される場合に、台帳記録期間ウィンドウを閉じて、ブロックaの次のブロックのコンセンサス業務プロセスに移行する。コンセンサスノードCとコンセンサスノードEのうち、台帳記録期間ウィンドウ内にブロックaの台帳記録処理を完了しなかったノードがある。コンセンサスノードEが10秒以内の台帳記録期間ウィンドウ内にブロックの台帳記録を完了しなかった場合、コンセンサスノードEは、台帳記録期間ウィンドウに移行した累積期間が台帳記録期間ウィンドウの期間閾値(10秒)に達したときに、当該台帳記録期間ウィンドウを閉じて、ブロックbのコンセンサス業務プロセスに移行することができる。つまり、台帳記録が遅いノード(例えばコンセンサスノードCやコンセンサスノードE)の場合、台帳記録が速い他のノードが台帳記録を完了し、台帳記録期間ウィンドウを閉じて、後続のプロセスに移行した後、コンセンサスノードCおよびコンセンサスノードEは台帳記録を続行し、台帳記録期間ウィンドウの期間閾値以内に台帳記録を完了したら、台帳記録を完了したときに台帳記録期間ウィンドウを閉じて、後続のプロセスに移行することができる。台帳記録期間ウィンドウ内の期間閾値以内に完了していなかった場合は、累積期間(台帳記録期間ウィンドウに移行してから起算する)が期間閾値に達し、即ち累積期間が期間閾値と等しくなったときに、台帳記録期間ウィンドウを閉じて、後続のプロセスに移行することができる。
一の実施形態では、前記方法は、さらに、
台帳記録期間ウィンドウに対応する期間閾値を取得するステップと、第1のノードの台帳記録期間ウィンドウ内における合計期間を統計するステップと、合計期間が期間閾値と等しく、かつ第1の台帳記録完了メッセージと第2の台帳記録完了メッセージの総数は数量閾値未満であれば、台帳記録期間ウィンドウを閉じて、目標ブロックの後続ブロックに対するコンセンサス業務プロセスに移行させるステップとを含む。
台帳記録期間ウィンドウ内に、先に台帳記録処理を完了したノードがブロードキャスト通知した後、他のノードが台帳記録を行うのを待機し、台帳記録処理を完了したノードは、全て残りのノードから送信されたコンセンサス投票情報を受信しておらず、かつ他のノードも台帳記録を完了していないか、あるいは他のノードからの台帳記録完了メッセージを受信していない場合、台帳記録期間ウィンドウの期間閾値に達すると、このノードは、台帳記録を完了したノード数が数量閾値未満であると特定するから、第1のノードと第2のノード(台帳記録を完了したノードと台帳記録を完了していないノードを含む)は、期間閾値に達したときに台帳記録期間ウィンドウを閉じ、一緒に後続のプロセスに入ることができることが理解されるべきであろう。たとえば、ブロックチェーンネットワークには、第1のノードA、第2のノードB、第2のノードC、第2のノードD、および第2のノードEを含む合計5つのコンセンサスノードが含まれている。第1のノードA、第2のノードB、第2のノードC、第2のノードD、および第2のノードEは、台帳記録期間ウィンドウ内でブロックaに台帳記録処理を実行し、ここで、台帳記録期間ウィンドウの期間閾値が10秒である。第2のノードBは2秒目に台帳記録を完了し、第1のノードAは3秒目に台帳記録を完了し、第2のノードBと第1のノードAは台帳記録期間ウィンドウ内で第2のノードC、第2のノードD、および第1のノードAが台帳記録を行うのを待機する。しかし、第2のノードC、第2のノードD、および第2のノードEは、ブロックaに対する台帳記録を完了しておらず、そして第2のノードBと第1のノードAの台帳記録期間ウィンドウ内における累積期間が10秒に達し(台帳記録期間ウィンドウの期間閾値に達している)、つまり累積期間が期間閾値と等しくなった場合、第2のノードBと第1のノードAは台帳記録期間ウィンドウを閉じて、ブロックaの次のブロックのコンセンサス業務プロセスに移行する。また、第2のノードC、第2のノードD、および第2のノードEも期間閾値10sに達すると、台帳記録期間ウィンドウを閉じて、ブロックaの次のブロックのコンセンサス業務プロセスに移行する。
なお、台帳記録処理を先に完了したノードは、他のノードが台帳記録を実行するのを待っている間に、残りのすべてのノードから送信されたコンセンサス投票情報を受信し、また台帳記録を完了したノード数は閾値を超えていない場合は、台帳記録を完了したこれらのノードも、完了していないノードが台帳記録を実行するのを待たなくてもよく、台帳記録を完了したこれらのノードは、台帳記録期間ウィンドウを閉じて、次のブロックのコンセンサス業務プロセスに移行することもできる。たとえば、ブロックチェーンネットワークには、第1のノードA、第2のノードB、第2のノードC、第2のノードD、第2のノードEなど合計5つのコンセンサスノードが含まれている。第1のノードA、第2のノードB、第2のノードC、および第2のノードEは、第2のノードDのコンセンサス投票情報を受信していない(すなわち、一部のコンセンサスノードのコンセンサス投票情報のみを受信し、かつ賛成投票数が閾値を超えている)場合、第1のノードA、第2のノードB、第2のノードC、第2のノードDおよび第2のノードEは台帳記録期間ウィンドウに移行し、台帳記録期間ウィンドウ内でブロックaに台帳記録処理を実行する。ここで、台帳記録期間ウィンドウの期間閾値は10秒である。第2のノードBは台帳記録期間ウィンドウに入ってから2秒目に台帳記録を完了し、第1のノードAは3秒目に台帳記録を完了し、第2のノードBと第1のノードAは互いから相手の台帳記録完了メッセージを受信し、第2のノードBと第1のノードAは台帳記録期間ウィンドウ内で第2のノードC、第2のノードD、および第2のノードEが台帳記録を実行するのを待機する。3.5秒目に、第2のノードBと第1のノードAは第1のノードDのコンセンサス投票情報を受信し、このとき、第2のノードBと第1のノードAの両方はともに残りのすべてのノード(第2のノードD)から送信されたコンセンサス投票情報を受信した(つまり、ブロックチェーンネットワーク内の他のすべてのノードからコンセンサス投票情報を受信した)ため、第2のノードBと第1のノードAは、第2のノードC、第2のノードD及び第2のノードEが台帳記録を実行するのを待たなくなり、ブロックの台帳記録を完了したノード数2(1つの第2のノードB +1つの第1のノードA)が数量閾値3未満であっても、第2のノードBと第1のノードAは依然として台帳記録期間ウィンドウを閉じて、後続のプロセス、例えばブロックaの次のブロックのコンセンサス業務プロセスに移行する。
一の実施形態では、第2のコンセンサス投票情報には前記第2のノードの性能パラメータが付帯されており、前記方法は、さらに、
第2のコンセンサス投票情報の数が第2の目標数と等しい場合は、第2のノードの性能パラメータに基づいて台帳記録期間ウィンドウを更新し、更新された台帳記録期間ウィンドウを取得し、ここで更新された台帳記録期間ウィンドウに対応する期間閾値は、台帳記録期間ウィンドウに対応する期間閾値よりも小さいステップと、更新された台帳記録期間ウィンドウを始動し、更新された台帳記録期間ウィンドウ内で目標ブロックに対して台帳記録処理を行うステップと、更新された台帳記録期間ウィンドウ内で目標ブロックに対して台帳記録処理を完了すれば、目標ブロックの後続ブロックに対するコンセンサス業務プロセスに移行させるステップとを含む。
第1のノードは、目標ブロックが合格結果であると判断した場合、第1のノードは前記第2のコンセンサス投票情報の数を取得し、前記第2のノードのノード数を取得し、第2のノードのノード数を第2の目標数として決定することができる。前記第2のコンセンサス投票情報の数が前記第2の目標数と等しい場合、第1のノードは、第2のコンセンサス投票情報に付帯されている第2のノードの性能パラメータを取得し、前記第2のノードの性能パラメータに基づいて台帳記録期間ウィンドウを更新し、更新された台帳記録期間ウィンドウを取得することができることは理解されるべきであろう。第1のノードは前記更新された台帳記録期間ウィンドウを始動し、この更新された台帳記録期間ウィンドウ内で目標ブロックに台帳記録処理を実行することができる。第1のノードは、更新された台帳記録期間ウィンドウ内で当該目標ブロックの台帳記録処理を完了した場合は、当該目標ブロックの後続ブロックのコンセンサス業務プロセスに移行することができる。前記第2のコンセンサス投票情報には、第2のノードの性能パラメータが付帯されており、当該性能パラメータは、ネットワークパラメータ、情報送信速度などを含み得ることが理解されるべきであろう。第2のコンセンサス投票情報の数が前記第2の目標数と等しい場合、つまり、第1のノードは、ブロックチェーンネットワーク内のすべての第2のノードのコンセンサス投票情報を受信した場合、第1のノードはすべてのノードのコンセンサス投票情報を受信したため、第1のノードは、他の第2のコンセンサスノードのネットワークステータスが良好であると認め(第2のノードが投票情報を速やかに送信し、かつすべての第2のノードが速やかに送信したため)、よって、各ノードのステータスが良好であると考えられる。このとき、第1のノードは第2のノードの性能パラメータに従って、台帳記録期間ウィンドウの期間閾値を減少することができ、第2のノードの性能パラメータが優れるほど(たとえば、情報送信速度が速い)、減少幅が大きくなる。このようにすれば、第1のノードおよび第2のノードは、ステータスが良好な場合に、期間が短い(例えば、1秒)台帳記録期間ウィンドウ内で台帳記録を実行することができる。ここで、期間閾値を0に減少することもできる。つまり、性能パラメータが良好な場合に、台帳記録期間ウィンドウを始動しなくてもよく、第1のノードが全ての投票を受信し、かつ第2のノードが優れた性能パラメータを持っている場合、台帳記録期間ウィンドウをスキップし、そのまま目標ブロックの台帳記録業務プロセスを実行するとともに、目標ブロックの台帳記録業務が完了したとき、次のブロックのコンセンサス業務プロセスに移行することができる。第1のノードは第2のノードすべてのコンセンサス投票情報を受信し、かつ第2のノードの性能パラメータが良好であるため、第1のノードと第2のノードの台帳記録速度は大きく相違せず、台帳記録期間ウィンドウ内で互いに待つ必要がないと考えられ、また格納されるブロックを同じに設定したり、わずかな違いを生じさせたりすることができ、こうすれば、台帳記録期間ウィンドウの期間閾値が減少できるため、ノードは台帳記録期間ウィンドウの期間に制約されることはなくなり、一刻も早く後続のコンセンサス業務プロセスに移行することができる。
なお、台帳記録期間ウィンドウ内の1s、2s、10s及び3.5sなどの数値は、いずれも理解を容易にするために行われる例の説明であるが、実際に参照する意味がない。
本出願の実施形態では、コンセンサスノードに台帳記録期間ウィンドウを追加することにより、コンセンサスノードは数量閾値を超えるコンセンサスノードのコンセンサス投票情報を賛成投票として受信した場合、コンセンサスノードは、もはや受信されなかったコンセンサスノードの投票結果を考慮せず、台帳記録期間ウィンドウに移行し、台帳記録期間ウィンドウ内でブロックの台帳記録を実行する。台帳記録期間ウィンドウ内で、コンセンサスノードが全ての投票情報を受信した場合は、コンセンサスノードは台帳記録が完了した後に台帳記録期間ウィンドウを閉じて後続のプロセスに移行する。一方、台帳記録期間ウィンドウ内で全ての投票情報を受信しなかった場合は、コンセンサスノードは台帳記録が完了した後に、他のコンセンサスノードが台帳記録を行うのを待ち、比例閾値以上のコンセンサスノードが全て台帳記録処理を完了するときになってはじめて、ブロックの台帳記録を完了したこれらのコンセンサスノードは台帳記録期間ウィンドウを閉じて、後続のプロセスに移行する。このように、台帳記録期間ウィンドウを追加することで、コンセンサスノードに待機期間を設置し、台帳記録速度が速いコンセンサスノードは台帳記録期間ウィンドウ内で、台帳記録速度が遅いコンセンサスノードを待つことができ、結果として、後続プロセスに移行するコンセンサスノードは、同じか僅かに相違するブロックを格納するようになり、即ちコンセンサスノードのブロック高さが同じか僅かに相違する。また、コンセンサスノードはブロックを同期させることで、僅かに相違するブロック高さを短期間内で同じ高さに同期できるため、次のブロックのコンセンサスが実行される際に、ブロック高さが一貫していないためコンセンサスノードのコンセンサスが失敗するのを低減でき、コンセンサス業務プロセスのコンセンサス成功率が向上する。
さらに、図3を参照すると、本出願の実施形態に提供される台帳記録シナリオの概略図である。図3に示すように、コンセンサスノードAはブロックアウトノードであってもよく、コンセンサスノードAは第1のノードであってもよく、目標ブロックにブロックアウト投票を実行するとき、コンセンサスノードAは他のコンセンサスノード(例えば図3におけるコンセンサスノードB、コンセンサスノードC)の投票情報を受信し、コンセンサスノードBとコンセンサスノードCの両方は第2のノードであってもよい。各々のコンセンサスノードが情報を送信する速度が異なるため、コンセンサスノードAが受信した投票情報は同一時刻に受信されたものではなく、コンセンサスノードは、受信した投票情報の中に、合意投票が閾値以上になったと統計すると、目標ブロックが合格結果を形成したと判断できる。図3に示すように、コンセンサスノードAはコンセンサスノードBの投票情報を受信したが、コンセンサスノードCの投票情報をまだ受信していなかった。しかし、コンセンサスノードA、コンセンサスノードBとコンセンサスノードCの合計3つのコンセンサスノードのうち、合意投票が2つあり(コンセンサスノードAはブロックアウトノードであり、ブロックアウトノードの投票情報が合意に賛成している)、コンセンサスノードの総数(3)に対する合意投票(2)の比例は2/3であり、この比例は予め定められた合格率2/3に達したため、コンセンサスノードAは、目標ブロックが合格結果を形成したと判断でき、そのため、コンセンサスノードAは、コンセンサスノードCの投票結果を考慮せず、直接に台帳記録期間ウィンドウを始動し、台帳記録期間ウィンドウ内で目標ブロックに台帳記録を実行する。同様に、コンセンサスノードBもコンセンサスノードAの投票情報を受信でき、コンセンサスノードBも、目標ブロックが合格結果を形成したと判断でき、そのため、コンセンサスノードBも台帳記録期間ウィンドウを始動し、台帳記録期間ウィンドウ内で目標ブロックに台帳記録を実行する。同様に、コンセンサスノードCも、コンセンサスノードAとコンセンサスノードBの投票情報を受信でき、コンセンサスノード自身の投票情報に加えて、コンセンサスノードCは合意投票数が3つであると判断するため、コンセンサスノードCも、目標ブロックが合格結果を形成したと判断でき、そのため、コンセンサスノードCも台帳記録期間ウィンドウを始動し、台帳記録期間ウィンドウ内で目標ブロックに台帳記録を実行する。図3に示すように、台帳記録期間ウィンドウが合計6秒であり、つまり、コンセンサスノードA、コンセンサスノードB、およびコンセンサスノードCは、6秒以内に目標ブロックに台帳記録処理を実行する必要がある。
図3に示すように、台帳記録期間ウィンドウに入ってから2秒目に、コンセンサスノードAは目標ブロックの台帳記録を完了したため、コンセンサスノードAは台帳記録完了メッセージをコンセンサスノードBとコンセンサスノードCに送信し、目標ブロックに対する台帳記録タスクを完了したことの旨を知らせることができる。コンセンサスノードCの投票情報がまだ受信されておらず、かつ台帳記録期間ウィンドウの2秒目に、コンセンサスノードAといった1つのコンセンサスノードのみが目標ブロックに対する台帳記録を完了し、コンセンサスノードAはコンセンサスノードBまたはコンセンサスノードCの台帳記録完了メッセージを受信していないため、コンセンサスノードAは後続のプロセスに移行することはなく、台帳記録期間ウィンドウ内にコンセンサスノードBとコンセンサスノードCが台帳記録を実行するのを待つ。図3に示すように、台帳記録期間ウィンドウに入ってから3秒目に、コンセンサスノードBも目標ブロックの台帳記録を完了したため、コンセンサスノードBは台帳記録完了メッセージをコンセンサスノードAとコンセンサスノードCに送信し、自分が目標ブロックの台帳記録タスクを完了したことの旨を相手に知らせることができる。台帳記録期間ウィンドウの3秒目に、コンセンサスノードAはコンセンサスノードBから送信された台帳記録完了メッセージを受信し、コンセンサスノードBもこの前にコンセンサスノードAから送信された台帳記録完了メッセージを受信したため、コンセンサスノードAとコンセンサスノードBは、コンセンサスノードAとコンセンサスノードBといった2つのコンセンサスノードのみが目標ブロックの台帳記録を完了したと特定でき、台帳記録を完了したノード数2がブロックチェーンネットワークにおけるノードの総数3において占める比例は2/3であり、所定の比例2/3に達したため、コンセンサスノードAとコンセンサスノードBは、台帳記録期間ウィンドウを閉じて、後続のプロセスに移行する。一方、台帳記録を完了していないコンセンサスノードCは、引き続き台帳記録期間ウィンドウ内で目標ブロックへの台帳記録を続行する。コンセンサスノードCは、すべての投票情報(コンセンサスノードAおよびコンセンサスノードBの投票情報を含む)を受信したため、コンセンサスノードCは、コンセンサスノードAまたはコンセンサスノードBのどちらから台帳記録完了メッセージを受信したかどうかにも関わらず、コンセンサスノードCが台帳記録を完了する限り、台帳記録期間ウィンドウを閉じて後続のプロセスに移行することができる。
明らかなように、台帳記録期間ウィンドウを追加することにより、ブロックの台帳記録を先に完了したコンセンサスノード(例えばコンセンサスノードA)は、他のコンセンサスノードがブロック台帳記録を実行するのを待機し、所定の比例(例えば2/3)以上のコンセンサスノードが全てブロックの台帳記録を完了した場合に限って、ブロックの台帳記録を完了したこれらのコンセンサスノードは、台帳記録期間ウィンドウを閉じて、次のブロックのコンセンサスプロセスに一緒に移行する。台帳記録速度が速いコンセンサスノードは、台帳記録速度が遅いコンセンサスノードが台帳記録を実行するのを待つため、次のブロックのコンセンサスプロセスに一緒に入るコンセンサスノードは同じブロックを格納するようになり、結果として、次のブロックのコンセンサスが実行される際に、ブロックの高さが一致しないからコンセンサスノードのコンセンサスが失敗するのを低減でき、これにより、後続のコンセンサス成功率が向上する。
さらに、図4を参照すると、本出願の実施形態に提供される台帳記録シナリオの概略図である。図4に示すように、コンセンサスノードAはブロックアウトノードであってもよく、コンセンサスノードAは第1のノードであってもよく、目標ブロックにブロックアウト投票を実行するとき、コンセンサスノードAは他のコンセンサスノード(例えば図4におけるコンセンサスノードB、コンセンサスノードC)の投票情報を受信し、コンセンサスノードBとコンセンサスノードCの両方は第2のノードであってもよい。各々のコンセンサスノードが情報を送信する速度が異なるため、コンセンサスノードAが受信した投票情報は同一時刻に受信されたものではなく、コンセンサスノードは、受信した投票情報の中に、合意投票が閾値以上になったと統計すると、目標ブロックが合格結果を形成したと判断できる。図4に示すように、コンセンサスノードAはコンセンサスノードBの投票情報を受信したが、コンセンサスノードCの投票情報をまだ受信していなかった。しかし、コンセンサスノードA、コンセンサスノードBとコンセンサスノードCの合計3つのコンセンサスノードのうち、合意投票が2つあり(コンセンサスノードAはブロックアウトノードであり、ブロックアウトノードの投票情報が合意に賛成している)、コンセンサスノードの総数(3)に対する合意投票(2)の比例は2/3であり、この比例は予め定められた合格率2/3に達したため、コンセンサスノードAは、目標ブロックが合格結果を形成したと判断でき、そのため、コンセンサスノードAは、コンセンサスノードCの投票結果を考慮せず、直接に台帳記録期間ウィンドウを始動し、台帳記録期間ウィンドウ内で目標ブロックに台帳記録を実行する。同様に、コンセンサスノードBもコンセンサスノードAの投票情報を受信でき、コンセンサスノードBも、目標ブロックが合格結果を形成したと判断でき、そのため、コンセンサスノードBも台帳記録期間ウィンドウを始動し、台帳記録期間ウィンドウ内で目標ブロックに台帳記録を実行する。同様に、コンセンサスノードCも、コンセンサスノードAとコンセンサスノードBの投票情報を受信でき、コンセンサスノード自身の投票情報に加えて、コンセンサスノードCは合意投票数が3つであると判断するため、コンセンサスノードCも、目標ブロックが合格結果を形成したと判断でき、そのため、コンセンサスノードCも台帳記録期間ウィンドウを始動し、台帳記録期間ウィンドウ内で目標ブロックに台帳記録を実行する。
図4に示すように、台帳記録期間ウィンドウに入ってから2秒目に、コンセンサスノードAは目標ブロックの台帳記録を完了したため、コンセンサスノードAは台帳記録完了メッセージをコンセンサスノードBとコンセンサスノードCに送信し、目標ブロックに対する台帳記録タスクを完了したことの旨を知らせることができる。台帳記録期間ウィンドウに入ってから2秒目にコンセンサスノードCの投票情報がまだ受信されておらず、かつコンセンサスノードBまたはコンセンサスノードCの台帳記録完了メッセージが受信されていないため、コンセンサスノードAは、コンセンサスノードAといった1つのコンセンサスノードのみが目標ブロックに対する台帳記録を完了したと特定でき、そのため、コンセンサスノードAは後続のプロセスに移行することがなく、台帳記録期間ウィンドウ内にコンセンサスノードBとコンセンサスノードCが台帳記録を実行するのを待つ。図4に示すように、台帳記録期間ウィンドウに入ってから2.5秒目に、コンセンサスノードAはコンセンサスノードCから送信された投票情報を受信したため、コンセンサスノードAは台帳記録期間ウィンドウに入ってから2.5秒目に、ブロックチェーンにおける全てのコンセンサスノード(コンセンサスノードBおよびコンセンサスノードCを含む)の投票情報を受信したため、コンセンサスノードAは、2.5秒目にコンセンサスノードB及びコンセンサスノードCが台帳記録を実行するのを待たなくなり、直接に台帳記録期間ウィンドウを閉じて、目標ブロックの次のブロックのコンセンサス業務プロセスに移行する。
さらに、図5を参照すると、本出願の実施形態に提供される台帳記録シナリオの概略図である。図5に示すように、コンセンサスノードAはブロックアウトノードであってもよく、コンセンサスノードAは第1のノードであってもよく、目標ブロックにブロックアウト投票を実行するとき、コンセンサスノードAは他のコンセンサスノード(例えば図5におけるコンセンサスノードB、コンセンサスノードC)の投票情報を受信し、コンセンサスノードBとコンセンサスノードCの両方は第2のノードであってもよい。各々のコンセンサスノードが情報を送信する速度が異なるため、コンセンサスノードAが受信した投票情報は同じ時刻に受信されたものではなく、コンセンサスノードは、受信した投票情報の中に、合意投票が閾値以上になったと統計すると、目標ブロックが合格結果を形成したと判断できる。図5に示すように、コンセンサスノードAはコンセンサスノードBの投票情報を受信したが、コンセンサスノードCの投票情報をまだ受信していなかった。しかし、コンセンサスノードA、コンセンサスノードBとコンセンサスノードCの合計3つのコンセンサスノードのうち、合意投票が2つあり(コンセンサスノードAはブロックアウトノードであり、ブロックアウトノードの投票情報が合意に賛成している)、コンセンサスノードの総数(3)に対する合意投票(2)の比例は2/3であり、この比例は予め定められた合格率2/3に達したため、コンセンサスノードAは、目標ブロックが合格結果を形成したと判断でき、そのため、コンセンサスノードAは、コンセンサスノードCの投票結果を考慮せず、直接に台帳記録期間ウィンドウを始動し、台帳記録期間ウィンドウ内で目標ブロックに台帳記録を実行する。同様に、コンセンサスノードBもコンセンサスノードAの投票情報を受信でき、コンセンサスノードBも、目標ブロックが合格結果を形成したと判断でき、そのため、コンセンサスノードBも台帳記録期間ウィンドウを始動し、台帳記録期間ウィンドウ内で目標ブロックに台帳記録を実行する。同様に、コンセンサスノードCも、コンセンサスノードAとコンセンサスノードBの投票情報を受信でき、コンセンサスノード自身の投票情報に加えて、コンセンサスノードCは合意投票数が3つであると判断するため、コンセンサスノードCも、目標ブロックが合格結果を形成したと判断でき、そのため、コンセンサスノードCも台帳記録期間ウィンドウを始動し、台帳記録期間ウィンドウ内で目標ブロックに台帳記録を実行する。
図5に示すように、台帳記録期間ウィンドウに入ってから2秒目に、コンセンサスノードAは目標ブロックの台帳記録を完了し、コンセンサスノードCはコンセンサスノードAの台帳記録完了メッセージを受信したが、コンセンサスノードBはコンセンサスノードAの台帳記録完了メッセージを受信していなかった。コンセンサスノードBは目標ブロックの台帳記録をまだ完了していないため、コンセンサスノードBは目標ブロックへの台帳記録処理を実行し続ける。図5に示すように、台帳記録期間ウィンドウに入ってから2.5秒目に、コンセンサスノードBはコンセンサスノードCから送信された投票情報(合意である)を受信したため、台帳記録期間ウィンドウに入ってから2.5秒目に、コンセンサスノードBはブロックチェーンネットワークにおける全てのコンセンサスノード(コンセンサスノードAおよびコンセンサスノードCを含む)の投票情報を受信した。この場合に、コンセンサスノードBは目標ブロックの台帳記録を完了していない場合に、コンセンサスノードBは台帳記録を続行する。図5に示すように、台帳記録期間ウィンドウに入ってから3秒目に、コンセンサスノードBは目標ブロックの台帳記録を完了した。この前の2.5秒目に、コンセンサスノードBはコンセンサスノードCの投票情報を受信したため、コンセンサスノードBは3秒目に台帳記録を完了したとき、コンセンサスノードBは、自分1つのノードのみがブロックの台帳記録を完了し、数量閾値2に達していないと認めるが、コンセンサスノードはやはり台帳記録期間ウィンドウを閉じて、他のコンセンサスノードを待たずに、後続のプロセスに直接に移行し、例えば目標ブロックの次のブロックのコンセンサス業務プロセスに移行する。
なお、コンセンサスノードCの場合、台帳記録期間ウィンドウに入ってから2秒目に、コンセンサスノードAはブロックの台帳記録を完了し、コンセンサスノードCは2秒目にコンセンサスノードAの台帳記録完了メッセージを受信した。コンセンサスノードCはブロックの台帳記録を完了していないため、コンセンサスノードCは引き続きブロックAの台帳記録を続行する。3秒目に、コンセンサスノードCはコンセンサスノードBから台帳記録完了メッセージを受信し、コンセンサスノードCは引き続きブロックの台帳記録を実行する。台帳記録期間ウィンドウ内で、コンセンサスノードCは目標ブロックの台帳記録処理を完了していないため、期間閾値6秒に達すると、コンセンサスノードCは台帳記録期間ウィンドウを閉じ、目標ブロックの次のブロックのコンセンサス業務プロセスに移行する。
図5に対応する実施形態において、台帳記録期間ウィンドウ内に、コンセンサスノードAおよびコンセンサスノードBは、コンセンサスノードCから送信された投票情報をまだ受信しておらず、つまり、2.5秒目に、コンセンサスノードAとコンセンサスノードBは、コンセンサスノードCから送信された投票情報を受信していない場合、コンセンサスノードAは、台帳記録期間ウィンドウに入って2秒目に台帳記録を完了したとき、台帳記録期間ウィンドウを閉じることはなく、コンセンサスノードBとコンセンサスノードCが台帳記録を実行するのを待機する。しかし、コンセンサスノードBとコンセンサスノードCは台帳記録を完了しておらず、6秒に達すると、台帳記録を完了したコンセンサスノードA、台帳記録を完了していないコンセンサスノードB及びコンセンサスノードCは、いずれも台帳記録期間ウィンドウを閉じて、目標ブロックの次のブロックのコンセンサス業務プロセスに一緒に移行する。
図4及び図5を結合すれば明らかなように、コンセンサスノードに台帳記録期間ウィンドウを追加することにより、コンセンサスノードは台帳記録期間ウィンドウ内でブロックの台帳記録を実行でき、ブロックの台帳記録を先に完了したコンセンサスノードは、他のコンセンサスノードがブロックの台帳記録を完了するのを待ち、所定の比例(例えば2/3)以上のコンセンサスノードが全てブロックの台帳記録を完了した場合に限って、台帳記録期間ウィンドウを閉じて、次のブロックのコンセンサスプロセスに一緒に移行する。また、台帳記録を完了したコンセンサスノードが所定の比例を超えていなくても、ブロックの台帳記録を先に完了したコンセンサスノードは、台帳記録期間ウィンドウで台帳記録速度の遅いコンセンサスノードを待機し、台帳記録期間ウィンドウの期間閾値に達すると、台帳記録速度が遅いコンセンサスノードと一緒に次のブロックのコンセンサスプロセスに移行する。これにより、台帳記録速度が遅いコンセンサスノードに格納されるブロックと、台帳記録速度が速いブロックとの間に生じる差異を低減できるため、一緒に次のブロックに移行する際に、各々のコンセンサスノードに格納されるブロックは大きく相違せず、後続のコンセンサスの成功率が向上する。またコンセンサスノードが台帳記録期間ウィンドウ内ですべてのコンセンサスノードの投票情報を受信した場合、台帳記録を先に完了したコンセンサスノードは、ブロックの台帳記録を完了したときに、台帳記録期間ウィンドウを直接に閉じて、次のブロックのコンセンサスプロセスに入ることができる。他のコンセンサスノードがいずれも投票情報を正常に送信しているため、各々のコンセンサスノードのネットワークステータスは良好であり、そのため、各々のコンセンサスノードのステータスはそれほど変わらず、ブロックの台帳記録速度が基本的に一致していると考えられ、そこで、次のブロックのコンセンサスプロセスに移行するとき、各々のコンセンサスノードによって格納されるブロック間の差異も非常に小さいが、これらのコンセンサスノードはブロックを同期させることで、僅かに遅れているノードを差異ブロックに短期間内で同期できるため、各々のコンセンサスノードは、短期間内で格納するブロックを一致させるように保持でき、後続のコンセンサスのコンセンサス成功率が向上する。
なお、図3、図4および図5では、台帳記録期間ウィンドウ内の2s、3s、2.5s、および6sなどの数値は、いずれも理解を容易にするために行われる例の説明であるが、実際に参照する意味がない。
図6を参照すると、本出願の実施形態に提供される台帳記録シナリオの概略図である。図6に示すように、コンセンサスノードAはブロックアウトノードであってもよく、コンセンサスノードAは第1のノードであってもよく、目標ブロックにブロックアウト投票を実行するとき、コンセンサスノードAは他のコンセンサスノード(例えば図6におけるコンセンサスノードB、コンセンサスノードC)の投票情報を受信し、コンセンサスノードBとコンセンサスノードCの両方は第2のノードであってもよい。コンセンサスノードBとコンセンサスノードCはすぐに投票情報を送信し、中では、コンセンサスノードBの投票情報が合意であり、コンセンサスノードCの投票情報も合意であり、合意票数3はブロックチェーンネットワークにおけるノード総数と等しいことから、コンセンサスノードAは、目標ブロックのコンセンサス結果が合格結果であると判断できる。コンセンサスノードはブロックチェーンネットワーク内のすべての投票情報(コンセンサスノードBとコンセンサスノードCの投票情報)を受信したため、コンセンサスノードAは、コンセンサスノードBから送信されてきた投票情報に付帯されているコンセンサスノードBの性能パラメータ、およびコンセンサスノードCから送信されてきた投票情報に付帯されているコンセンサスノードCの性能パラメータを取得でき、コンセンサスノードCおよびコンセンサスノードBの性能パラメータに従って、コンセンサスノードAは期間閾値が6秒の台帳記録期間ウィンドウを更新し、更新された台帳記録期間ウィンドウの期間閾値を3秒に変更することができる。コンセンサスノードA、コンセンサスノードB、およびコンセンサスノードCは、更新された台帳記録期間ウィンドウ内に入り、目標ブロックに対して台帳記録処理を実行することができる。コンセンサスノードA 、コンセンサスノードBおよびコンセンサスノードCは、目標ブロックに対して3秒以内に台帳記録処理を実行する必要があり、更新された台帳記録期間ウィンドウに入ってから3秒以内に、目標ブロックに対する台帳記録処理を完了すれば、更新された台帳記録期間ウィンドウを閉じて、次のブロックのコンセンサス業務プロセスに移行することができる。一方、更新された台帳記録期間ウィンドウに入ってから3秒以内に、目標ブロックに対する台帳記録処理を完了しなかった場合は、3秒に達すると、更新された台帳記録期間ウィンドウを閉じて、次のブロックのコンセンサス業務プロセスに移行することができる。図6に示すように、コンセンサスノードAは、更新された台帳記録期間ウィンドウに入ってから1秒目に、目標ブロックに対する台帳記録処理を完了し、コンセンサスノードAはブロードキャスト通知し、コンセンサスノードBとコンセンサスノードCの両方は、コンセンサスノードAの台帳記録完了メッセージを受信した。コンセンサスノードAは、台帳記録が完了したとき、つまり1秒目に、更新された台帳記録期間ウィンドウを閉じて、次のブロックのコンセンサス業務プロセスに移行することができる。もちろん、コンセンサスノードAが1秒目にブロックの台帳記録を完了したとき、ブロードキャスト通知しないように選択することもでき、つまり、ブロックの台帳記録を完了したとき、コンセンサスノードBとコンセンサスノードCに台帳記録完了メッセージを送信せず、直接に更新された台帳記録期間ウィンドウを閉じて、次のブロックのコンセンサス業務プロセスに移行することができる。
更新された台帳記録期間ウィンドウ内で、コンセンサスノードAが1秒目にブロックの台帳記録を完了すると、コンセンサスノードAは、更新された台帳記録期間ウィンドウを閉じることなく、コンセンサスノードBおよびコンセンサスノードCに台帳記録完了メッセージを送信でき、コンセンサスノードAは、更新された台帳記録期間ウィンドウ内でコンセンサスノードBとコンセンサスノードCが台帳記録を実行するのを待機し、コンセンサスノードの2/3がブロックの台帳記録を完了したと判断されるまで、更新された台帳記録期間を閉じて、次のブロックのコンセンサス業務プロセスに移行することが理解されるべきであろう。たとえば、コンセンサスノードBは1.5秒目にブロックの台帳記録を完了し、ブロードキャスト通知をし、コンセンサスノードAはコンセンサスノードBから台帳記録完了メッセージを受信した。この時点で、コンセンサスノードAは、すでに2つのコンセンサスノード(コンセンサスノードAとコンセンサスノードB)がブロックの台帳記録を完了したと特定でき、台帳記録を完了したノード数(2)は、ブロックチェーンネットワーク内のノード総数(3)の2/3を占め、 所定の比例2/3に達したため、コンセンサスノードAが1.5秒のときに、更新された台帳記録期間ウィンドウを閉じて、次のブロックのコンセンサス業務プロセスに移行することができる。
つまり、ブロックアウト投票に際しては、すべてのコンセンサスノードの投票情報が迅速にブロードキャストされ(各々のコンセンサスノードが良好なネットワークステータスにあり、投票結果をすぐにブロードキャストできる)、かつこれらの投票情報の中に、比例閾値を超えるコンセンサスノードはすべて合意投票である場合は、各々のコンセンサスノードは、他のコンセンサスノードの性能パラメータに従って台帳記録期間ウィンドウを更新するとともに(台帳記録期間ウィンドウの期間閾値を下げる)、更新された台帳記録期間フィン道内でブロックの台帳記録を実行し、かつブロックの台帳記録を完了した後、後続のコンセンサスプロセスに移行することができる。各々のコンセンサスノードのステータスが良好で、大きく相違しないことから、台帳記録速度も基本的に一致するため、後続のコンセンサス業務に移行すると、格納されているブロックも基本的に一致している。この場合に、台帳記録期間ウィンドウの期間閾値を下げることにより、コンセンサスノードは他のコンセンサスノードを待機する必要がなくなり、あるいは待機期間を短縮できるため、コンセンサスノードは後続のコンセンサス業務プロセスに速やかに移行することができ、格納されているブロックも基本的に一致に保たれている。
さらに、図7を参照すると、本出願の実施形態に係るブロックチェーンに基づくデータ処理方法のフローチャートである。図7に示すように、本技術案の手順は以下のとおりである。
ステップS201:コンセンサスノードは目標ブロックに対する投票情報を受信する。
具体的には、ブロックチェーンネットワークにおけるコンセンサスノードはブロックに台帳記録を実行する前に、ブロックのブロックアウト投票を行う必要がある。コンセンサスノードが受信した閾値を超えるコンセンサスノードの投票結果はいずれも合意である場合に、ブロックが合格結果を形成したと特定し、合格結果を形成してはじめて、コンセンサスノードはブロックの台帳記録を実行し始める。
ステップS202:コンセンサスノードは、目標ブロックがコンセンサスに合格したと特定する。
具体的には、コンセンサスノードがブロックアウト投票を行うとき、それぞれのコンセンサスノードがメッセージを送信する速度が異なることから、各々のコンセンサスノードが受信した他のコンセンサスノードの投票情報は、同一時刻に受信されたものではない。コンセンサスノードは、受信した投票情報の中に、合意投票が閾値を超えていると統計した場合に、コンセンサスノードは、投票が行われた当該ブロックのコンセンサスに合格したと特定する。
ステップS203:コンセンサスノードは、全ての投票が受信されたと特定する。
ブロックチェーンネットワークにおいて、各々のコンセンサスノードが良好なステータスにあり、自分の投票情報をすぐに送信したとすれば、各々のコンセンサスノードは、合意投票が閾値を超えていると統計した場合、全てのコンセンサスノードの投票情報を受信した可能性がある。
ステップS204:コンセンサスノードは全ての投票を受信した場合に、台帳記録期間ウィンドウを更新する。
ブロックチェーンネットワークにおいて、各々のコンセンサスノードが良好なステータスにあり、自分の投票情報をすぐに送信したとすれば、各々のコンセンサスノードは、合意投票が閾値を超えていると統計した場合、全てのコンセンサスノードの投票情報を受信した。そのため、当該ブロックチェーンネットワークにおいて、各々のコンセンサスノードが良好なステータスにあり、台帳記録速度も大きく相違しないから、各々のコンセンサスノード間に格納されるブロックも大きく相違せず、後続のコンセンサスプロセスでのコンセンサス成功率も高まる。このような場合に、コンセンサスノードは他のコンセンサスノードの性能パラメータに基づいて台帳記録期間ウィンドウを更新し、台帳記録期間ウィンドウの期間閾値を減少し、更新された台帳記録期間ウィンドウを得て、更新された台帳記録期間ウィンドウ内でブロックの台帳記録を実行することができる。
ステップS205:コンセンサスノードは台帳記録を完了した後、後続のプロセスに移行する。
具体的には、更新されたアカウンティング期間ウィンドウ内にブロックの台帳記録を完了した後、コンセンサスノードは後続のプロセス、例えば目標ブロックの次のブロックのコンセンサス業務プロセスに移行することができる。更新されたアカウンティング期間ウィンドウ内にブロックの台帳記録を完了していない場合は、更新されたアカウンティング期間ウィンドウの期間閾値に達すると、更新されたアカウンティング期間ウィンドウからジャンプして、後続のプロセスに移行する。
ステップS206:コンセンサスノードは、一部の投票が受信されたと特定する。
具体的には、個別のコンセンサスノードは送信速度が遅いため、コンセンサスノードはすべてのコンセンサスノードの投票情報を受信していないのに、合意投票が閾値を超えていると統計する場合がある。
ステップS207:コンセンサスノードは、台帳記録期間ウィンドウに移行する。
具体的には、ブロックチェーンネットワーク内の一部のコンセンサスノードのステータスが十分に良好でないため、台帳記録速度が比較的遅くなる。台帳記録速度が速いコンセンサスノードは、台帳記録速度が遅いコンセンサスノードを待たなければ、台帳記録速度が遅いコンセンサスノードと、台帳記録速度が速いコンセンサスノードとに格納されているブロック間が大きく異なり、後続のコンセンサスプロセスでのコンセンサス成功率に影響を及ぼす恐れがある。このような場合に、コンセンサスノードは台帳記録期間ウィンドウを更新せず、台帳記録期間ウィンドウに入り、台帳記録期間ウィンドウ内でブロックの台帳記録を実行することができる。この台帳記録期間ウィンドウは、コンセンサスノードに待機期間を設定していることとして理解でき、これにより、台帳記録速度の速いコンセンサスノードは、台帳記録の完了後に台帳記録速度の遅いコンセンサスノードを待つことができる。
ステップS208:コンセンサスノードは、台帳記録期間ウィンドウ内にまだ全ての投票を受信していない。
具体的には、コンセンサスノードが台帳記録期間ウィンドウ内にブロックの台帳記録を実行する場合でも、他のコンセンサスノードから投票情報を受信し続けることができる。一部のコンセンサスノードは送信速度が遅いため、台帳記録期間ウィンドウ内において、送信が遅いコンセンサスノードはまだ投票情報を送信していない、あるいは送信が遅い一部のコンセンサスノードは投票情報を送信したが、少数のコンセンサスノードはまだ投票情報を送信していない。つまり、コンセンサスノードは、台帳記録期間ウィンドウ内に全ての投票を受信していない場合がある。
ステップS209:コンセンサスノードは、台帳記録期間ウィンドウ内に台帳記録を完了する。
具体的には、コンセンサスノードは全ての投票をずっと受信していない場合、コンセンサスノードは台帳記録期間ウィンドウ内にブロックの台帳記録を完了すると、台帳記録期間ウィンドウ内にブロードキャスト通知し、台帳記録を完了したノード数がノード総数で占める比例が所定の比例値を超えるまで、他のコンセンサスノードが台帳記録を実行するのを待ち、台帳記録を完了した他のノードからの通知メッセージを受信する必要がある。
ステップS210:コンセンサスノードは台帳記録期間ウィンドウからジャンプする。
具体的には、所定の比例値(例えば2/3)以上のコンセンサスノードが全て台帳記録を完了した場合、ブロックの台帳記録グを完了したこれらのコンセンサスノードは、台帳記録期間ウィンドウからジャンプして後続のプロセスに移行することができる。その一方、ブロックの台帳記録を完了したコンセンサスノードは、所定の比例値未満であれば、ブロックの台帳記録を完了したコンセンサスノードと、台帳記録を完了していないコンセンサスノードは、台帳記録期間ウィンドウの期間閾値に達したとき、台帳記録期間ウィンドウをまとめて閉じて、後続のプロセスに一緒に移行することができる。
ステップS211:台帳記録を完了しているコンセンサスノードが所定の比例に達していない場合は、コンセンサスノードは待機し続ける。
ステップS212:台帳記録期間ウィンドウの期間閾値に達すると、すべてのノードは台帳記録期間ウィンドウを閉じて、後続のプロセスに移行する。
ステップS213:コンセンサスノードは、台帳記録期間ウィンドウ内に全ての投票を受信している。
具体的には、コンセンサスノードが台帳記録期間ウィンドウ内にブロックの台帳記録を実行する際に、送信が遅いそれらのコンセンサスノードからも投票情報が送信されたため(つまり、台帳記録期間ウィンドウ内にすべてのコンセンサスノードの投票情報が受信された)、コンセンサスノードが全ての投票を受信したと理解できる。
ステップS214:コンセンサスノードは、台帳記録を完了した後、台帳記録期間ウィンドウからジャンプする。
具体的には、コンセンサスノードが台帳記録期間ウィンドウ内に全ての投票を受信すると、台帳記録期間ウィンドウでブロックの台帳記録を続行するとともに、台帳記録を完了した後、台帳記録期間ウィンドウから直接ジャンプして、後続のプロセスに移行する(期間ウィンドウ内ですべてのコンセンサスノードの投票情報が正常に受信されたため、各々のコンセンサスノードのステータスが近く、台帳記録速度及びネットワークステータスはいずれも大きく相違せず、ほぼ同じ期間内に台帳記録を完了でき、後続のプロセスに入るときに格納されるブロックもそれほど相違せず、待ち続ける必要はない)。
さらに、図8を参照すると、本出願の実施形態に係るブロックチェーンに基づくデータ処理装置の構造ブロック図である。ブロックチェーンに基づくデータ処理装置は、コンピュータデバイス上で実行される1つのコンピュータ可読命令(プログラムコードを含む)であり得、例えば、当該ブロックチェーンに基づくデータ処理装置は、アプリケーションソフトウェアである。当該装置は、本出願の実施形態に提供される方法中の相応するステップを実行するために使用され得る。当該データ処理装置1は、投票情報交換モジュール11、コンセンサス結果特定モジュール12、台帳記録処理モジュール13、台帳記録完了受信モジュール14、台帳記録完了通知モジュール15、およびウィンドウクローズモジュール16を備えることができる。
投票情報交換モジュール11は、目標ブロックに対する第1のコンセンサス投票情報を第2のノードに送信し、第2のノードから送信されてきた目標ブロックに対する第2のコンセンサス投票情報を受信する;
コンセンサス結果特定モジュール12は、第1のコンセンサス投票情報と第2のコンセンサス投票情報に基づいて、目標ブロックのコンセンサス結果を特定する;
台帳記録処理モジュール13は、コンセンサス結果が合格結果であると特定された場合に、台帳記録期間ウィンドウを始動し、台帳記録期間ウィンドウ内で目標ブロックに対して台帳記録処理を実行する;
台帳記録完了受信モジュール14は、台帳記録期間ウィンドウ内で、第2のノードから送信されてきた目標ブロックに対する第1の台帳記録完了メッセージを受信する;
台帳記録完了通知モジュール15は、台帳記録期間ウィンドウ内で目標ブロックに対する台帳記録処理を完了すれば、第2の台帳記録完了メッセージを第2のノードに送信する;
ウィンドウクローズモジュール16は、第1の台帳記録完了メッセージと第2の台帳記録完了メッセージの総数が数量閾値以上である場合は、台帳記録期間ウィンドウを閉じて、目標ブロックの後続ブロックに対するコンセンサス業務プロセスに移行する。
ここで、投票情報交換モジュール11、コンセンサス結果特定モジュール12、台帳記録処理モジュール13、台帳記録完了受信モジュール14、台帳記録完了通知モジュール15、およびウィンドウクローズモジュール16の具体的な実現方式は、図2に対応する実施形態におけるステップS101~ステップS104に対する説明を参照してもよいので、ここで贅言を費やすまでもない。
図8を参照すると、コンセンサス結果特定モジュール12は、第1の目標数特定手段121、賛成投票数特定手段122、合格結果特定手段123及びコンセンサス失敗特定手段124を備えることができる。
第1の目標数特定手段121は、第2のコンセンサス投票情報の中に、のコンセンサス投票情報の数を第1の目標数として特定する;
賛成投票数特定手段122は、第1のコンセンサス投票情報が賛成投票に該当する場合は、第1のコンセンサス投票情報と第1の目標数に従って賛成投票総数を特定する一方、第1のコンセンサス投票情報が合意拒否投票である場合は、第1の目標数に基づいて賛成投票総数を特定する;
合格結果特定手段123は、ノード総数に対する賛成投票総数の比が比例閾値以上である場合は、目標ブロックのコンセンサス結果が合格結果であると特定する。ここでノード総数は、第1のノードと第2のノードの総数である;
コンセンサス失敗特定手段124は、ノード総数に対する賛成投票総数の比が比例閾値未満であれば、目標ブロックのコンセンサス結果が失敗結果であると特定する。
ここで、第1の目標数特定手段121、賛成投票数特定手段122、合格結果特定手段123及びコンセンサス失敗特定手段124の具体的な実現方式は、図2に対応する実施形態におけるステップS102に対する説明を参照してもよいので、ここで贅言を費やすまでもない。
図8を参照すると、台帳記録処理モジュール13は、数量取得手段131と、第2の目標数特定手段132及び台帳記録処理手段133とを備えることができる。
数量取得手段131は、コンセンサス結果が合格結果であると特定された場合に、第2のコンセンサス投票情報の数を取得する;
第2の目標数特定手段132は、第2のノードのノード数を第2の目標数として取得する;
台帳記録処理手段133は、第2のコンセンサス投票情報の数が第2の目標数未満であれば、台帳記録期間ウィンドウを始動し、台帳記録期間ウィンドウ内で目標ブロックに対して台帳記録処理を行う。
ここで、数量取得手段131と、第2の目標数特定手段132及び台帳記録処理手段133の具体的な実現方式は、図2に対応する実施形態におけるステップS102に対する説明を参照してもよいので、ここで贅言を費やすまでもない。
図8を参照すると、当該データ処理装置1は、投票情報交換モジュール11、コンセンサス結果特定モジュール12、台帳記録処理モジュール13、台帳記録完了受信モジュール14、台帳記録完了通知モジュール15、およびウィンドウクローズモジュール16に加えて、ウィンドウ更新モジュール17、ウィンドウ始動モジュール18及びプロセス移行モジュール19を更に備えることができる。
ウィンドウ更新モジュール17は、第2のコンセンサス投票情報の数が第2の目標数と等しい場合は、第2のノードの性能パラメータに基づいて台帳記録期間ウィンドウを更新し、更新された台帳記録期間ウィンドウを取得する。ここで、更新された台帳記録期間ウィンドウに対応する期間閾値は、台帳記録期間ウィンドウに対応する期間閾値よりも小さい;
ウィンドウ始動モジュール18は、更新された台帳記録期間ウィンドウを始動し、更新された台帳記録期間ウィンドウ内で目標ブロックに対して台帳記録処理を実行する;
プロセス移行モジュール19は、第1のノードが更新された台帳記録期間ウィンドウ内で目標ブロックに対して台帳記録処理を完了すれば、目標ブロックの後続ブロックに対するコンセンサス業務プロセスに移行する。
ここで、ウィンドウ更新モジュール17、ウィンドウ始動モジュール18及びプロセス移行モジュール19の具体的な実現方式は、図2に対応する実施形態におけるステップS104に対する説明を参照してもよいので、ここで贅言を費やすまでもない。
図8を参照すると、台帳記録完了通知モジュール15は、投票情報受信手段151、投票数取得手段152、加算処理手段153、権限確認手段154及び台帳記録完了送信手段155を備える。
投票情報受信手段151は、台帳記録期間ウィンドウ内で、残りの第2のノードから送信されてきた目標ブロックに対する第3のコンセンサス投票情報を受信する。ここで、残りの第2のノードは、複数の第2のノードのうち、第2のコンセンサス投票情報が送信された第2のノードを除いたノードである;
投票数取得手段152は、台帳記録期間ウィンドウ内で目標ブロックに対する台帳記録処理を完了すれば、第3のコンセンサス投票情報の総数を取得する;
加算処理手段153は、第3のコンセンサス投票情報の数と第2のコンセンサス投票情報の数を加算し、コンセンサス投票総数を取得する;
権限確認手段154は、コンセンサス投票総数及び第1の目標数に基づいて、第1のノードのメッセージ送信権限を確認する;
台帳記録完了送信手段155は、第1のノードはメッセージ送信権限があると確認された場合は、第2の台帳記録完了メッセージを第2のノードに送信する。
ここで、投票情報受信手段151、投票数取得手段152、加算処理手段153、権限確認手段154及び台帳記録完了送信手段155の具体的な実現方式は、図2に対応する実施形態におけるステップS103に対する説明を参照してもよいので、ここで贅言を費やすまでもない。
図8を参照すると、権限確認手段154は、第1の権限特定サブ手段1541と第2の権限特定サブ手段1542を備えることができる。
第1の権限特定サブ手段1541は、コンセンサス投票総数が第2の目標数未満であれば、第1のノードは前記メッセージ送信権限があると特定する;
第2の権限特定サブ手段1542は、コンセンサス投票総数が第2の目標数と等しい場合は、第1のノードは前記メッセージ送信権限がないと特定する。
ここで、第1の権限特定サブ手段1541及び第2の権限特定サブ手段1542の具体的な実現方式は、図2に対応する実施形態におけるステップS103に対する説明を参照してもよいので、ここで贅言を費やすまでもない。
図8を参照すると、当該データ処理装置1は、投票情報交換モジュール11、コンセンサス結果特定モジュール12、台帳記録処理モジュール13、台帳記録完了受信モジュール14、台帳記録完了通知モジュール15、およびウィンドウクローズモジュール16、ウィンドウ更新モジュール17、ウィンドウ始動モジュール18及びプロセス移行モジュール19を備え、コンセンサスプロセス移行モジュール20を更に備えることができる。
コンセンサスプロセス移行モジュール20は、第1のノードはメッセージ送信権限がないと特定された場合は、台帳記録期間ウィンドウを閉じて、目標ブロックの後続ブロックのコンセンサス業務プロセスに移行する。
ここで、コンセンサスプロセス移行モジュール20の具体的な実現方式は、図2に対応する実施形態におけるステップS104に対する説明を参照してもよいので、ここで贅言を費やすまでもない。
図8を参照すると、当該データ処理装置1は、投票情報交換モジュール11、コンセンサス結果特定モジュール12、台帳記録処理モジュール13、台帳記録完了受信モジュール14、台帳記録完了通知モジュール15、およびウィンドウクローズモジュール16、ウィンドウ更新モジュール17、ウィンドウ始動モジュール18、プロセス移行モジュール19及びコンセンサスプロセス移行モジュール20を備え、第1の期間閾値取得モジュール21、第1の合計期間統計モジュール22及び第1のブロックコンセンサス移行モジュール23を更に備えることができる。
第1の期間閾値取得モジュール21は、台帳記録期間ウィンドウに対応する期間閾値を取得する;
第1の合計期間統計モジュール22は、第1のノードの台帳記録期間ウィンドウ内における合計期間を統計する;
第1のブロックコンセンサス移行モジュール23は、合計期間が期間閾値と等しく、かつ第1の台帳記録完了メッセージと第2の台帳記録完了メッセージの総数は数量閾値未満であれば、台帳記録期間ウィンドウを閉じて、目標ブロックの後続ブロックに対するコンセンサス業務プロセスに移行する。
ここで、第1の期間閾値取得モジュール21、第1の合計期間統計モジュール22及び第1のブロックコンセンサス移行モジュール23の具体的な実現方式は、図2に対応する実施形態におけるステップS104に対する説明を参照してもよいので、ここで贅言を費やすまでもない。
図8を参照すると、当該データ処理装置1は、投票情報交換モジュール11、コンセンサス結果特定モジュール12、台帳記録処理モジュール13、台帳記録完了受信モジュール14、台帳記録完了通知モジュール15、およびウィンドウクローズモジュール16、ウィンドウ更新モジュール17、ウィンドウ始動モジュール18、プロセス移行モジュール19及びコンセンサスプロセス移行モジュール20、第1の期間閾値取得モジュール21、第1の合計期間統計モジュール22及び第1のブロックコンセンサス移行モジュール23を備え、第2の期間閾値取得モジュール24、第2の合計期間統計モジュール25及び第2のブロックコンセンサス移行モジュール26を更に備えることができる。
第2の期間閾値取得モジュール24は、台帳記録期間ウィンドウに対応する期間閾値を取得する;
第2の合計期間統計モジュール25は、第1のノードの台帳記録期間ウィンドウ内における合計期間を統計する;
第2のブロックコンセンサス移行モジュール26は、合計期間が期間閾値と等しく、かつ第1のノードは台帳記録期間ウィンドウ内で目標ブロックに対する台帳記録処理を完了しなかった場合は、台帳記録期間ウィンドウを閉じて、目標ブロックの後続ブロックに対するコンセンサス業務プロセスに移行する。
ここで、第2の期間閾値取得モジュール24、第2の合計期間統計モジュール25及び第2のブロックコンセンサス移行モジュール26の具体的な実現方式は、図2に対応する実施形態におけるステップS104に対する説明を参照してもよいので、ここで贅言を費やすまでもない。
本出願の実施形態では、ブロックのコンセンサスに合格後、ブロックへの台帳記録を実行する際に、コンセンサスノードに台帳記録期間ウィンドウを追加することにより、コンセンサスノード(例えば第1のノード及び第2のノード)は台帳記録期間ウィンドウ内で台帳記録を実行し、各々のコンセンサスノードは台帳記録が完了したらブロードキャスト通知を行え、台帳記録を実行するコンセンサスノードのうち、数量閾値を超えるコンセンサスノードが全てブロックの台帳記録を完了した場合に限って、台帳記録を完了したこれらのコンセンサスノードは台帳記録期間ウィンドウを閉じて、次のブロックに対するコンセンサスプロセスに一緒に移行することになる。これによって、ブロックの台帳記録を先に完了したコンセンサスノードは、台帳記録期間ウィンドウ内で他のコンセンサスノードがブロックの台帳記録を完了するのを待ってから、次のブロックのコンセンサスプロセスに一緒に移行することができる。明らかなように、台帳記録期間ウィンドウ内で、速度が速いコンセンサスノードは、速度が遅いコンセンサスノードが台帳記録を実行するのを待機したため、一緒に次のブロックのコンセンサスプロセスに移行するコンセンサスノードは、同じか僅かに相違するブロックを格納することができ、即ちコンセンサスノードのブロック高さが同じか僅かに相違する。また、コンセンサスノードはブロックを同期させることで、僅かに相違するブロック高さを短期間内で同じ高さに同期できるため、次のブロックのコンセンサスが実行される際に、ブロック高さが一貫していないためコンセンサスノードのコンセンサスが失敗するのを低減でき、コンセンサス業務プロセスのコンセンサス成功率が向上する。
さらに、図9を参照すると、本出願の実施形態に係るコンピュータデバイスの概略図である。図9に示すように、図8に対応する実施形態における装置1はコンピュータデバイス1000に適用され得る。コンピュータデバイス1000は、CPUなどの少なくとも1つのプロセッサ1001、少なくとも1つのネットワークインターフェース1004、ユーザインターフェース1003、メモリ1005、少なくとも1つの通信バス1002を含み得る。中では、通信バス1002は、これらのモジュール間の接続および通信を実現するために使用される。ここで、ユーザインターフェース1003は、ディスプレイ(Display)およびキーボード(Keyboard)を含み得、ネットワークインターフェース1004はオプションとして、標準の有線インターフェース、無線インターフェース(例えば、WI-FIインターフェース)を含み得る。メモリ1005は、高速RAMメモリでもよく、少なくとも1つのディスクメモリなどの不揮発性メモリ(non-volatile memory)であり得る。メモリ1005はオプションとして、前述のプロセッサ1001から離れて配置された少なくとも1つの記憶装置でもよい。図9に示されるように、コンピュータ記憶媒体としてのメモリ1005は、オペレーティングシステム、ネットワーク通信モジュール、ユーザーインターフェースモジュール及びデバイス制御アプリケーションプログラムを含み得る。
図9に示すコンピュータデバイス1000では、ネットワークインターフェース1004は、主にサービスサーバとのネットワーク通信に使用され、ユーザインターフェース1003は、主にユーザに入力用のインターフェースを提供するために使用される。またプロセッサ1001は、メモリ1005に記憶されているデバイス制御アプリケーションプログラムを呼び出すことによって、
目標ブロックに対する第1のコンセンサス投票情報を第2のノードに送信し、第2のノードから送信されてきた目標ブロックに対する第2のコンセンサス投票情報を受信するステップと、
第1のコンセンサス投票情報と第2のコンセンサス投票情報に基づいて、目標ブロックのコンセンサス結果を特定し、コンセンサス結果が合格結果であると特定された場合に、台帳記録期間ウィンドウを始動し、台帳記録期間ウィンドウ内で目標ブロックに対して台帳記録処理を行い、台帳記録期間ウィンドウ内で、第2のノードから送信されてきた目標ブロックに対する第1の台帳記録完了メッセージを受信するステップと、
台帳記録期間ウィンドウ内で目標ブロックに対する台帳記録処理を完了すれば、第2の台帳記録完了メッセージを第2のノードに送信するステップと、
第1の台帳記録完了メッセージと第2の台帳記録完了メッセージの総数が数量閾値以上である場合は、台帳記録期間ウィンドウを閉じて、目標ブロックの後続ブロックに対するコンセンサス業務プロセスに移行させるステップと、を実現する。
本出願の実施形態に記載されているコンピュータデバイス1000は、前述図2から図7に対応する実施形態におけるブロックチェーンに基づくデータ処理方法の説明を実行することができ、また、前述の図8に対応する実施形態における当該データ処理装置1の説明を実行することもできるため、ここで改めて記述しないことが理解されるべきであろう。さらに、同じ方法を使用することによる有益な効果の説明についても、贅言を費やすまでもない。
なお、本出願の実施形態はコンピュータ可読記憶媒体をさらに提供し、かつコンピュータ可読記憶媒体には、ビデオデータを処理するために前述のコンピュータデバイス1000によって実行されるコンピュータプログラムが記憶されている。かつコンピュータプログラムには、コンピュータ可読命令が含まれている。プロセッサによってコンピュータ可読命令が実行されると、前記図2から図7に対応する実施形態におけるブロックチェーンに基づくデータ処理方法への説明を実行することができるので、ここでは贅言を費やすまでもない。また、同じ方法を使用することによる有益な効果の説明についても、贅言を費やすまでもない。本出願のコンピュータ可読記憶媒体に係る実施形態に開示されていない技術的詳細については、本出願の方法実施形態の説明を参照されたい。
一の実施形態では、コンピュータ可読命令が記憶されているメモリと、1つ以上のプロセッサとを備えるコンピュータデバイスであって、コンピュータ可読命令が1つ以上のプロセッサに実行されると、前記各方法実施形態のステップが実現されるコンピュータデバイスが更に提供される。
一の実施形態では、1つ以上のプロセッサによって実行されると、前記各方法実施形態のステップを実現するコンピュータ可読命令が記憶されている1つ以上の不揮発性コンピュータ可読記憶媒体が提供される。
一の実施形態では、コンピュータプログラム製品またはコンピュータプログラムが提供される。前記コンピュータプログラム製品またはコンピュータプログラムには、コンピュータ可読記憶媒体に格納されたコンピュータ可読命令を含む。コンピュータデバイスのプロセッサは、前記コンピュータ可読命令を前記コンピュータ可読記憶媒体から読み取り、前記プロセッサは、前記コンピュータ可読命令を実行することにより、前記コンピュータデバイスに、前記各方法実施形態におけるステップを実行させる。
一の実施形態では、コンピュータ可読命令を含むコンピュータプログラム製品またはコンピュータプログラムが提供される。前記コンピュータ可読命令がコンピュータ可読記憶媒体に記憶されており、コンピュータデバイスのプロセッサは前記コンピュータ可読記憶媒体から前記コンピュータ可読命令を読み取り、前記プロセッサは前記コンピュータ可読命令を実行することにより、前記コンピュータデバイスは前記各方法実施形態のステップを実行する。
コンピュータ可読記憶媒体は、前述いずれか1つの実施形態に提供されるブロックチェーンに基づくデータ処理装置、またはコンピュータデバイスのハードディスクまたはメモリなどコンピュータデバイスの内部記憶ユニットであり得る。当該コンピュータ可読記憶媒体はまた、当該コンピュータデバイスに装備されたプラグインハードディスク、スマートメディアカード(smart media card, SMC)、セキュリティデジタル(secure digital, SD)カード、フラッシュカード(flash card)などコンピュータ装置の外部記憶装置であってもよい。さらに、このコンピュータ可読記憶媒体はまた、コンピュータ装置の内部記憶装置および外部記憶装置の両方を含み得る。このコンピュータ可読記憶媒体は、コンピュータ可読命令およびコンピュータデバイスに必要な他のプログラムおよびデータを格納するために使用される。このコンピュータ可読記憶媒体はまた、出力されたまたは出力されるべきデータを一時的に保存することもできる。
本出願の実施形態の明細書と特許請求の範囲及び図面における「第1」、「第2」などの用語は、特定の順序を説明するのではなく、異なるオブジェクトを区別するために使用される。さらに、「含む」という用語およびその如何なる変形は、非排他的な包含をカバーすることを意図している。例えば、一連のステップまたはユニットを含むプロセス、方法、装置、製品またはデバイスは、列挙されたステップまたはモジュールに限定されず、オプションとして、列挙されていないステップまたはモジュールも含み、またはオプションとして、これらのステップ、方法、装置、製品またはデバイスに備わる他のステップユニットを含み得る。
本明細書に開示される実施形態を参照しながら説明される各例のユニットおよびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両者の組み合わせによって実現され得ることは、当業者に認識されるべきであろう。ハードウェアとソフトウェアの互換性を明確に説明するために、前記明細書において機能別に各例の組成及びステップについて一般的に説明した。これらの機能がハードウェアで実行されるかソフトウェアで実行されるかは、技術案の特定のアプリケーションと設計上の制約によって異なる。当業者は特定のアプリケーションごとに異なる方法を使用して前記機能を実現することができるが、このような実現は、本出願の範囲を超えているものと考慮されるべきではない。
本出願の実施形態に提供される方法および関連装置は、本出願の実施形態において提供される方法フローチャートおよび/または構造概略図を参照して説明される。具体的には、コンピュータ可読命令によって、方法フローチャートおよび/または構造概略図の各プロセスおよび/またはブロック、およびフローチャートおよび/またはブロック図のプロセスおよび/またはブロックの組み合わせを実現することができる。これらのコンピュータ可読命令は、汎用コンピュータ、専用なコンピュータ、埋め込み型プロセッサ、または他のプログラミング可能なデータ処理デバイスのプロセッサに提供され、コンピュータまたは他のプログラミング可能なデータ処理デバイスのプロセッサによって実行される命令に従って、フローチャート図の1つまたは複数のプロセスおよび/または1つ以上のブロック図で指定された機能を実現するための装置を生成することができる。これらのコンピュータ可読命令はまた、コンピュータまたは他のプログラミング可能なデータ処理装置に特定の方法で機能させるように指示することができるコンピュータ可読メモリに記憶され得、その結果、このコンピュータ可読メモリに記憶された命令によって、命令手段を含む製品を生成し得、この命令手段は、フローチャート図の1つまたは複数のプロセスおよび/または1つ以上のブロック図で指定された機能を実現する。これらのコンピュータ可読命令は、コンピュータまたは他のプログラミング可能なデータ処理デバイスにロードして、コンピュータまたは他のプログラミング可能なデバイス上で一連の操作ステップを実行させ、コンピュータが実現する処理を生成させ、これにより、コンピュータまたは他のプログラミング可能なデバイス上で実行される命令によって、フローチャート図の1つまたは複数のプロセスおよび/または1つ以上のブロック図で指定された機能を実現するためのステップを提供する。
上記の開示は、本出願の好適な実施形態にすぎず、もちろん、本出願の権利の範囲は、これによって限定されるものではない。したがって、本出願の特許請求の範囲に従って行われた同等の変更は、本出願の範囲内に含まれているものとする。
1 データ処理装置
11 投票情報交換モジュール
12 コンセンサス結果特定モジュール
13 台帳記録処理モジュール
14 台帳記録完了受信モジュール
15 台帳記録完了通知モジュール
16 ウィンドウクローズモジュール
17 ウィンドウ更新モジュール
18 ウィンドウ始動モジュール
19 プロセス移行モジュール
20 コンセンサスプロセス移行モジュール
21 第1の期間閾値取得モジュール
22 第1の合計期間統計モジュール
23 第1のブロックコンセンサス移行モジュール
24 第2の期間閾値取得モジュール
25 第2の合計期間統計モジュール
26 第2のブロックコンセンサス移行モジュール
121 第1の目標数特定手段
122 賛成投票数特定手段
123 合格結果特定手段
124 コンセンサス失敗特定手段
131 数量取得手段
132 第2の目標数特定手段
133 台帳記録処理手段
151 投票情報受信手段
152 投票数取得手段
153 加算処理手段
154 権限確認手段
155 台帳記録完了送信手段
1000 コンピュータデバイス
1001 プロセッサ
1002 通信バス
1003 ユーザインターフェース
1004 ネットワークインターフェース
1005 メモリ

Claims (13)

  1. コンピュータデバイスである第1のノードによって実行される、ブロックチェーンに基づくデータ処理方法であって、
    目標ブロックに対する第1のコンセンサス投票情報を第2のノードに送信し、前記第2のノードから送信されてきた前記目標ブロックに対する第2のコンセンサス投票情報を受信するステップと、
    前記第1のコンセンサス投票情報と前記第2のコンセンサス投票情報に基づいて、前記目標ブロックのコンセンサス結果を特定し、前記コンセンサス結果が合格結果であると特定された場合に、台帳記録期間ウィンドウを始動し、前記台帳記録期間ウィンドウ内で前記目標ブロックに対して台帳記録処理を実行し、前記台帳記録期間ウィンドウ内で、前記第2のノードから送信されてきた前記目標ブロックに対する第1の台帳記録完了メッセージを受信するステップと、
    前記台帳記録期間ウィンドウ内で前記目標ブロックに対する台帳記録処理を完了すれば、第2の台帳記録完了メッセージを前記第2のノードに送信するステップと、
    前記第1の台帳記録完了メッセージと前記第2の台帳記録完了メッセージの総数が数量閾値以上である場合は、前記台帳記録期間ウィンドウを閉じて、前記目標ブロックの後続ブロックに対するコンセンサス業務プロセスに移行させるステップと、
    を含む、ブロックチェーンに基づくデータ処理方法。
  2. 前記第1のコンセンサス投票情報と前記第2のコンセンサス投票情報に基づいて、前記目標ブロックのコンセンサス結果を特定する前記ステップは、
    前記第2のコンセンサス投票情報の中に、賛成投票に該当する第2のコンセンサス投票情報の数を第1の目標数として特定するステップと、
    前記第1のコンセンサス投票情報が賛成投票に該当する場合は、前記第1のコンセンサス投票情報と前記第1の目標数に従って賛成投票総数を特定するステップと、
    ノード総数に対する前記賛成投票総数の比が比例閾値以上である場合は、前記目標ブロックのコンセンサス結果が合格結果であると特定し、ここで前記ノード総数は、前記第1のノードと前記第2のノードの総数であるステップと、
    前記ノード総数に対する前記賛成投票総数の比が比例閾値未満であれば、前記目標ブロックのコンセンサス結果が失敗結果であると特定するステップと、
    を含む、ことを特徴とする請求項1に記載の方法。
  3. 前記方法は、さらに、
    前記第1のコンセンサス投票情報が合格拒否投票である場合は、前記第1の目標数に基づいて前記賛成投票総数を特定するステップを含む、ことを特徴とする請求項2に記載の方法。
  4. 前記コンセンサス結果が合格結果であると特定された場合に、台帳記録期間ウィンドウを始動し、前記台帳記録期間ウィンドウ内で前記目標ブロックに対して台帳記録処理を実行する前記ステップは、
    前記コンセンサス結果が合格結果である場合は、前記第2のコンセンサス投票情報の数を取得するステップと、
    前記第2のノードのノード数を第2の目標数として取得するステップと、
    前記第2のコンセンサス投票情報の数が前記第2の目標数未満であれば、前記台帳記録期間ウィンドウを始動し、前記台帳記録期間ウィンドウ内で前記目標ブロックに対して台帳記録処理を実行するステップと、
    を含む、ことを特徴とする請求項1に記載の方法。
  5. 前記第2のコンセンサス投票情報には前記第2のノードの性能パラメータが付帯されており、
    前記方法は、さらに、
    前記第2のコンセンサス投票情報の数が前記第2の目標数と等しい場合は、前記第2のノードの性能パラメータに基づいて前記台帳記録期間ウィンドウを更新し、更新された台帳記録期間ウィンドウを取得し、ここで前記更新された台帳記録期間ウィンドウに対応する期間閾値は、前記台帳記録期間ウィンドウに対応する期間閾値よりも小さいステップと、
    前記更新された台帳記録期間ウィンドウを始動し、前記更新された台帳記録期間ウィンドウ内で前記目標ブロックに対して台帳記録処理を実行するステップと、
    前記更新された台帳記録期間ウィンドウ内で前記目標ブロックに対して台帳記録処理を完了すれば、前記目標ブロックの後続ブロックに対するコンセンサス業務プロセスに移行させるステップと、
    を含む、ことを特徴とする請求項4に記載の方法。
  6. 前記第2のノードが複数であり、前記台帳記録期間ウィンドウ内で前記目標ブロックに対する台帳記録処理を完了すれば、第2の台帳記録完了メッセージを前記第2のノードに送信する前記ステップは、
    前記台帳記録期間ウィンドウ内で、残りの第2のノードから送信されてきた前記目標ブロックに対する第3のコンセンサス投票情報を受信し、ここで、前記残りの第2のノードは、複数の前記第2のノードのうち、前記第2のコンセンサス投票情報が送信された第2のノードを除いたノードであるステップと、
    前記台帳記録期間ウィンドウ内で前記目標ブロックに対する台帳記録処理を完了すれば、前記第3のコンセンサス投票情報の数を取得するステップと、
    前記第3のコンセンサス投票情報の数と前記第2のコンセンサス投票情報の数を加算し、コンセンサス投票総数を取得するステップと、
    前記コンセンサス投票総数及び前記第2の目標数に基づいて、前記第1のノードのメッセージ送信権限を確認するステップと、
    前記第1のノードは前記メッセージ送信権限があると確認された場合は、第2の台帳記録完了メッセージを前記第2のノードに送信するステップと、
    を含む、ことを特徴とする請求項4に記載の方法。
  7. 前記コンセンサス投票総数及び前記第2の目標数に基づいて、前記第1のノードのメッセージ送信権限を確認する前記ステップは、
    前記コンセンサス投票総数が前記第2の目標数未満であれば、前記第1のノードは前記メッセージ送信権限があると特定するステップと、
    前記コンセンサス投票総数が前記第2の目標数と等しい場合は、前記第1のノードは前記メッセージ送信権限がないと特定するステップと、
    を含む、ことを特徴とする請求項6に記載の方法。
  8. 前記第1のノードは前記メッセージ送信権限がないと特定された場合は、前記台帳記録期間ウィンドウを閉じて、前記目標ブロックの後続ブロックのコンセンサス業務プロセスに移行させるステップをさらに含む、ことを特徴とする請求項6に記載の方法。
  9. 前記方法は、さらに、
    前記台帳記録期間ウィンドウに対応する期間閾値を取得するステップと、
    前記第1のノードの前記台帳記録期間ウィンドウ内における合計期間を統計するステップと、
    前記合計期間が前記期間閾値と等しく、かつ前記第1の台帳記録完了メッセージと前記第2の台帳記録完了ッセージの総数は前記数量閾値未満であれば、前記台帳記録期間ウィンドウを閉じて、前記目標ブロックの後続ブロックのコンセンサス業務プロセスに移行させるステップと、
    を含む、ことを特徴とする請求項1に記載の方法。
  10. 前記方法は、さらに、
    前記台帳記録期間ウィンドウに対応する期間閾値を取得するステップと、
    前記第1のノードの前記台帳記録期間ウィンドウ内における合計期間を取得するステップと、
    前記合計期間が前記期間閾値と等しく、かつ前記第1のノードは前記台帳記録期間ウィンドウ内で前記目標ブロックに対する台帳記録処理を完了しなかった場合は、前記台帳記録期間ウィンドウを閉じて、前記目標ブロックの後続ブロックに対するコンセンサス業務プロセスに移行させるステップと、
    を含む、ことを特徴とする請求項1に記載の方法。
  11. 目標ブロックに対する第1のコンセンサス投票情報を第2のノードに送信し、前記第2のノードから送信されてきた前記目標ブロックに対する第2のコンセンサス投票情報を受信する投票情報交換モジュールと、
    前記第1のコンセンサス投票情報と前記第2のコンセンサス投票情報に基づいて、前記目標ブロックのコンセンサス結果を特定するコンセンサス結果特定モジュールと、
    前記コンセンサス結果が合格結果であると特定された場合に、台帳記録期間ウィンドウを始動し、前記台帳記録期間ウィンドウ内で前記目標ブロックに対して台帳記録処理を実行する台帳記録処理モジュールと、
    前記台帳記録期間ウィンドウ内で、前記第2のノードから送信されてきた前記目標ブロックに対する第1の台帳記録完了メッセージを受信する台帳記録完了受信モジュールと、
    前記台帳記録期間ウィンドウ内で前記目標ブロックに対する台帳記録処理を完了すれば、第2の台帳記録完了メッセージを前記第2のノードに送信する台帳記録完了通知モジュールと、
    前記第1の台帳記録完了メッセージと前記第2の台帳記録完了メッセージの総数が数量閾値以上である場合は、前記台帳記録期間ウィンドウを閉じて、前記目標ブロックの後続ブロックに対するコンセンサス業務プロセスに移行させるウィンドウクローズモジュールと、
    を備える、ブロックチェーンに基づくデータ処理装置。
  12. コンピュータ可読命令が記憶されているメモリと、1つ以上のプロセッサとを備えるコンピュータデバイスであって、前記コンピュータ可読命令が前記1つ以上のプロセッサに実行されると、請求項1~10のいずれか1項に記載の方法のステップを前記1つ以上のプロセッサに実現させる、ことを特徴とするコンピュータデバイス。
  13. コンピュータプログラムであって、1つ以上の不揮発性コンピュータ可読記憶媒体に記憶されており、前記コンピュータプログラムが1つ以上のプロセッサに実行されると、請求項1~10のいずれか1項に記載の方法のステップを前記1つ以上のプロセッサに実現させる、コンピュータプログラム
JP2022539707A 2020-05-27 2021-04-22 ブロックチェーンに基づくデータ処理方法、装置、デバイス及びコンピュータプログラム Active JP7325894B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202010458171.4 2020-05-27
CN202010458171.4A CN111368008B (zh) 2020-05-27 2020-05-27 基于区块链的数据处理方法、装置、设备及可读存储介质
PCT/CN2021/088899 WO2021238514A1 (zh) 2020-05-27 2021-04-22 基于区块链的数据处理方法、装置、设备及可读存储介质

Publications (2)

Publication Number Publication Date
JP2023508210A JP2023508210A (ja) 2023-03-01
JP7325894B2 true JP7325894B2 (ja) 2023-08-15

Family

ID=71207558

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022539707A Active JP7325894B2 (ja) 2020-05-27 2021-04-22 ブロックチェーンに基づくデータ処理方法、装置、デバイス及びコンピュータプログラム

Country Status (6)

Country Link
US (1) US11914579B2 (ja)
EP (1) EP4030314A4 (ja)
JP (1) JP7325894B2 (ja)
KR (1) KR20220074971A (ja)
CN (1) CN111368008B (ja)
WO (1) WO2021238514A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111368008B (zh) 2020-05-27 2020-08-25 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置、设备及可读存储介质
CN112261145B (zh) * 2020-10-22 2022-07-12 中国联合网络通信集团有限公司 一种新区块链生成方法及装置
CN114638452A (zh) * 2020-12-16 2022-06-17 中兴通讯股份有限公司 区块组头的获取方法及装置,存储介质及电子装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019012510A (ja) 2017-06-30 2019-01-24 株式会社bitFlyer ネットワークにおける合意形成方法及び当該ネットワークを構成するノード
US20190253239A1 (en) 2018-11-30 2019-08-15 Alibaba Group Holding Limited Blockchain smart contract updates using decentralized decision

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2929988A1 (en) * 2013-08-12 2015-02-19 Selventa Systems and methods for crowd-verification of biological networks
US10417217B2 (en) * 2016-08-05 2019-09-17 Chicago Mercantile Exchange Inc. Systems and methods for blockchain rule synchronization
CN107103459A (zh) * 2017-04-27 2017-08-29 电子科技大学 基于主权区块链的记账系统及方法
EP3457623B1 (en) * 2017-09-15 2024-03-06 Panasonic Intellectual Property Corporation of America Electronic voting system
CN108491266B (zh) * 2018-03-09 2021-11-16 联想(北京)有限公司 基于区块链的数据处理方法、装置及电子设备
CN108776929A (zh) * 2018-04-02 2018-11-09 成都云创智融科技有限公司 基于区块链数据库的账单处理方法、系统和可读存储介质
CN108848055B (zh) * 2018-05-03 2020-06-23 中国银联股份有限公司 一种区块链共识方法、记账节点及节点
CN109274717B (zh) * 2018-08-22 2021-08-24 泰康保险集团股份有限公司 基于区块链的共享存储方法、装置、介质及电子设备
US20200084019A1 (en) * 2018-09-07 2020-03-12 Nebulas IO Limited Blockchain Ranking Engine
CN109544310A (zh) * 2018-11-13 2019-03-29 孙晞瑜 一种基于区块链联盟链的快速共识记账方法及其系统
CN109903155A (zh) * 2019-01-14 2019-06-18 无锡一邦网络科技有限公司 Iift区块链共识算法
US11042849B2 (en) * 2019-02-26 2021-06-22 Apifiny Group Inc. Adjusting transaction distribution based on predicted open transaction execution rates
KR20200132518A (ko) * 2019-05-17 2020-11-25 삼성에스디에스 주식회사 블록체인 네트워크 간에 트랜잭션 연동을 지원하는 시스템 및 그 방법
CN110535836B (zh) * 2019-08-12 2021-10-29 安徽师范大学 一种基于角色分类的信任区块链共识方法
CN110505091B (zh) * 2019-08-23 2021-09-10 昆明理工大学 一种基于pbft改进的共识方法
CN111061769B (zh) * 2019-12-24 2021-09-10 腾讯科技(深圳)有限公司 一种区块链系统的共识方法及相关设备
CN111368008B (zh) * 2020-05-27 2020-08-25 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置、设备及可读存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019012510A (ja) 2017-06-30 2019-01-24 株式会社bitFlyer ネットワークにおける合意形成方法及び当該ネットワークを構成するノード
US20190253239A1 (en) 2018-11-30 2019-08-15 Alibaba Group Holding Limited Blockchain smart contract updates using decentralized decision
JP2020501402A (ja) 2018-11-30 2020-01-16 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited 分権的決定を使用するブロックチェーンスマートコントラクトの更新

Also Published As

Publication number Publication date
US11914579B2 (en) 2024-02-27
EP4030314A1 (en) 2022-07-20
CN111368008B (zh) 2020-08-25
JP2023508210A (ja) 2023-03-01
CN111368008A (zh) 2020-07-03
US20220253432A1 (en) 2022-08-11
KR20220074971A (ko) 2022-06-03
WO2021238514A1 (zh) 2021-12-02
EP4030314A4 (en) 2022-12-28

Similar Documents

Publication Publication Date Title
JP7325894B2 (ja) ブロックチェーンに基づくデータ処理方法、装置、デバイス及びコンピュータプログラム
WO2021233049A1 (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
US20190149600A1 (en) Partitioning of a blockchain ledger
EP4332870A1 (en) Transaction data processing method and apparatus, computer device and storage medium
US20230316273A1 (en) Data processing method and apparatus, computer device, and storage medium
EP4300323A1 (en) Data processing method and apparatus for blockchain network, computer device, computer readable storage medium, and computer program product
CN110944046B (zh) 一种共识机制的控制方法及相关设备
EP3968199B1 (en) Blockchain data access control method and apparatus based on intelligent contract
CN110647583B (zh) 一种区块链构建方法、装置、终端及介质
CN112398956B (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
CN111464353A (zh) 区块链节点管理方法、装置、计算机以及可读存储介质
US20220239668A1 (en) Blockchain-based message processing method and apparatus, device, and storage medium
CN111932239B (zh) 业务处理方法、装置、节点设备及存储介质
CN113034281A (zh) 基于区块链的业务数据处理方法、相关系统及节点
US10853892B2 (en) Social networking relationships processing method, system, and storage medium
US20200235935A1 (en) Data access control for edge devices using a cryptographic hash
CN112417052A (zh) 区块链网络中的数据同步方法、装置、设备及存储介质
CN114692185A (zh) 数据处理方法及装置
CN112926981A (zh) 用于区块链的交易信息处理方法、装置、介质及电子设备
CN113271229B (zh) 设备控制方法及装置、存储设备、安全设备、交换机、路由器及服务器
CN115002218B (zh) 流量分发方法、装置、计算机设备及存储介质
CN117540356B (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
EP4375850A1 (en) Multi-blockchain data processing method and apparatus, and device, system and medium
US20240015037A1 (en) Data processing method and apparatus for consensus network, program product, device, and medium
CN116132437A (zh) 应用于区块链的交易信息处理方法、装置、介质及设备

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220628

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220628

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230626

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230703

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230727

R150 Certificate of patent or registration of utility model

Ref document number: 7325894

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150