JP7325894B2 - ブロックチェーンに基づくデータ処理方法、装置、デバイス及びコンピュータプログラム - Google Patents
ブロックチェーンに基づくデータ処理方法、装置、デバイス及びコンピュータプログラム Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1834—Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic 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
目標ブロックに対する第1のコンセンサス投票情報を第2のノードに送信し、第2のノードから送信されてきた目標ブロックに対する第2のコンセンサス投票情報を受信するステップと、
第1のコンセンサス投票情報と第2のコンセンサス投票情報に基づいて、目標ブロックのコンセンサス結果を特定し、コンセンサス結果が合格結果である特定された場合に、台帳記録期間ウィンドウを始動し、台帳記録期間ウィンドウ内で目標ブロックに対して台帳記録処理を実行し、台帳記録期間ウィンドウ内で、第2のノードから送信されてきた目標ブロックに対する第1の台帳記録完了メッセージを受信するステップと、
台帳記録期間ウィンドウ内で目標ブロックに対する台帳記録処理を完了すれば、第2の台帳記録完了メッセージを第2のノードに送信するステップと、
第1の台帳記録完了メッセージと第2の台帳記録完了メッセージの総数が数量閾値以上である場合は、台帳記録期間ウィンドウを閉じて、目標ブロックの後続ブロックに対するコンセンサス業務プロセスに移行させるステップと、を含む。
目標ブロックに対する第1のコンセンサス投票情報を第2のノードに送信し、第2のノードから送信されてきた目標ブロックに対する第2のコンセンサス投票情報を受信する投票情報交換モジュールと、
第1のコンセンサス投票情報と第2のコンセンサス投票情報に基づいて、目標ブロックのコンセンサス結果を特定するコンセンサス結果特定モジュールと、
コンセンサス結果が合格結果であると特定された場合に、台帳記録期間ウィンドウを始動し、台帳記録期間ウィンドウ内で目標ブロックに対して台帳記録処理を実行する台帳記録処理モジュールと、
台帳記録期間ウィンドウ内で、第2のノードから送信されてきた目標ブロックに対する第1の台帳記録完了メッセージを受信する台帳記録完了受信モジュールと、
台帳記録期間ウィンドウ内で目標ブロックに対する台帳記録処理を完了すれば、第2の台帳記録完了メッセージを第2のノードに送信する台帳記録完了通知モジュールと、
第1の台帳記録完了メッセージと第2の台帳記録完了メッセージの総数が数量閾値以上である場合は、台帳記録期間ウィンドウを閉じて、目標ブロックの後続ブロックに対するコンセンサス業務プロセスに移行させるウィンドウクローズモジュールと、を備える。
第2のコンセンサス投票情報の中に、賛成投票に該当する第2のコンセンサス投票情報の数を第1の目標数として特定するステップと、第1のコンセンサス投票情報が賛成投票に該当する場合は、第1のコンセンサス投票情報と第1の目標数に従って賛成投票総数を特定するステップと、ノード総数に対する賛成投票総数の比が比例閾値以上である場合は、目標ブロックのコンセンサス結果が合格結果であると特定し、ここでノード総数は、第1のノードと第2のノードの総数であるステップと、ノード総数に対する賛成投票総数の比が比例閾値未満であれば、目標ブロックのコンセンサス結果が失敗結果であると特定するステップと、を含む。
第1のコンセンサス投票情報が合格拒否投票である場合は、第1の目標数に基づいて賛成投票総数を特定するステップを含む。
コンセンサス結果が合格結果である場合は、第2のコンセンサス投票情報の数を取得するステップと、第2のノードのノード数を第2の目標数として取得するステップと、第2のコンセンサス投票情報の数が第2の目標数未満であれば、台帳記録期間ウィンドウを始動し、台帳記録期間ウィンドウ内で目標ブロックに対して台帳記録処理を実行するステップとを含む。
台帳記録期間ウィンドウ内で、残りの第2のノードから送信されてきた目標ブロックに対する第3のコンセンサス投票情報を受信し、ここで、残りの第2のノードは、複数の第2のノードのうち、第2のコンセンサス投票情報が送信された第2のノードを除いたノードであるステップと、台帳記録期間ウィンドウ内で目標ブロックに対する台帳記録処理を完了すれば、第3のコンセンサス投票情報の数を取得するステップと、第3のコンセンサス投票情報の数と第2のコンセンサス投票情報の数を加算し、コンセンサス投票総数を得るステップと、コンセンサス投票総数及び第2の目標数に基づいて、第1のノードのメッセージ送信権限を確認するステップと、第1のノードは前記メッセージ送信権限があると確認された場合は、第2の台帳記録完了メッセージを第2のノードに送信するステップとを含む。
コンセンサス投票総数が第2の目標数未満であれば、第1のノードは前記メッセージ送信権限があると特定するステップと、コンセンサス投票総数が第2の目標数と等しい場合は、第1のノードはメッセージ送信権限がないと特定するステップとを含む。
第1のノードはメッセージ送信権限がないと特定された場合は、台帳記録期間ウィンドウを閉じて、目標ブロックの後続ブロックのコンセンサス業務プロセスに移行させるステップをさらに含む。
台帳記録期間ウィンドウに対応する期間閾値を取得するステップと、第1のノードの台帳記録期間ウィンドウ内における合計期間を統計するステップと、合計期間が期間閾値と等しく、かつ第1のノードは台帳記録期間ウィンドウ内で目標ブロックに対する台帳記録処理を完了しなかった場合は、台帳記録期間ウィンドウを閉じて、目標ブロックの後続ブロックに対するコンセンサス業務プロセスに移行させるステップとを含む。
台帳記録期間ウィンドウに対応する期間閾値を取得するステップと、第1のノードの台帳記録期間ウィンドウ内における合計期間を統計するステップと、合計期間が期間閾値と等しく、かつ第1の台帳記録完了メッセージと第2の台帳記録完了メッセージの総数は数量閾値未満であれば、台帳記録期間ウィンドウを閉じて、目標ブロックの後続ブロックに対するコンセンサス業務プロセスに移行させるステップとを含む。
第2のコンセンサス投票情報の数が第2の目標数と等しい場合は、第2のノードの性能パラメータに基づいて台帳記録期間ウィンドウを更新し、更新された台帳記録期間ウィンドウを取得し、ここで更新された台帳記録期間ウィンドウに対応する期間閾値は、台帳記録期間ウィンドウに対応する期間閾値よりも小さいステップと、更新された台帳記録期間ウィンドウを始動し、更新された台帳記録期間ウィンドウ内で目標ブロックに対して台帳記録処理を行うステップと、更新された台帳記録期間ウィンドウ内で目標ブロックに対して台帳記録処理を完了すれば、目標ブロックの後続ブロックに対するコンセンサス業務プロセスに移行させるステップとを含む。
具体的には、ブロックチェーンネットワークにおけるコンセンサスノードはブロックに台帳記録を実行する前に、ブロックのブロックアウト投票を行う必要がある。コンセンサスノードが受信した閾値を超えるコンセンサスノードの投票結果はいずれも合意である場合に、ブロックが合格結果を形成したと特定し、合格結果を形成してはじめて、コンセンサスノードはブロックの台帳記録を実行し始める。
具体的には、コンセンサスノードがブロックアウト投票を行うとき、それぞれのコンセンサスノードがメッセージを送信する速度が異なることから、各々のコンセンサスノードが受信した他のコンセンサスノードの投票情報は、同一時刻に受信されたものではない。コンセンサスノードは、受信した投票情報の中に、合意投票が閾値を超えていると統計した場合に、コンセンサスノードは、投票が行われた当該ブロックのコンセンサスに合格したと特定する。
ブロックチェーンネットワークにおいて、各々のコンセンサスノードが良好なステータスにあり、自分の投票情報をすぐに送信したとすれば、各々のコンセンサスノードは、合意投票が閾値を超えていると統計した場合、全てのコンセンサスノードの投票情報を受信した可能性がある。
ブロックチェーンネットワークにおいて、各々のコンセンサスノードが良好なステータスにあり、自分の投票情報をすぐに送信したとすれば、各々のコンセンサスノードは、合意投票が閾値を超えていると統計した場合、全てのコンセンサスノードの投票情報を受信した。そのため、当該ブロックチェーンネットワークにおいて、各々のコンセンサスノードが良好なステータスにあり、台帳記録速度も大きく相違しないから、各々のコンセンサスノード間に格納されるブロックも大きく相違せず、後続のコンセンサスプロセスでのコンセンサス成功率も高まる。このような場合に、コンセンサスノードは他のコンセンサスノードの性能パラメータに基づいて台帳記録期間ウィンドウを更新し、台帳記録期間ウィンドウの期間閾値を減少し、更新された台帳記録期間ウィンドウを得て、更新された台帳記録期間ウィンドウ内でブロックの台帳記録を実行することができる。
具体的には、更新されたアカウンティング期間ウィンドウ内にブロックの台帳記録を完了した後、コンセンサスノードは後続のプロセス、例えば目標ブロックの次のブロックのコンセンサス業務プロセスに移行することができる。更新されたアカウンティング期間ウィンドウ内にブロックの台帳記録を完了していない場合は、更新されたアカウンティング期間ウィンドウの期間閾値に達すると、更新されたアカウンティング期間ウィンドウからジャンプして、後続のプロセスに移行する。
具体的には、個別のコンセンサスノードは送信速度が遅いため、コンセンサスノードはすべてのコンセンサスノードの投票情報を受信していないのに、合意投票が閾値を超えていると統計する場合がある。
具体的には、ブロックチェーンネットワーク内の一部のコンセンサスノードのステータスが十分に良好でないため、台帳記録速度が比較的遅くなる。台帳記録速度が速いコンセンサスノードは、台帳記録速度が遅いコンセンサスノードを待たなければ、台帳記録速度が遅いコンセンサスノードと、台帳記録速度が速いコンセンサスノードとに格納されているブロック間が大きく異なり、後続のコンセンサスプロセスでのコンセンサス成功率に影響を及ぼす恐れがある。このような場合に、コンセンサスノードは台帳記録期間ウィンドウを更新せず、台帳記録期間ウィンドウに入り、台帳記録期間ウィンドウ内でブロックの台帳記録を実行することができる。この台帳記録期間ウィンドウは、コンセンサスノードに待機期間を設定していることとして理解でき、これにより、台帳記録速度の速いコンセンサスノードは、台帳記録の完了後に台帳記録速度の遅いコンセンサスノードを待つことができる。
具体的には、コンセンサスノードが台帳記録期間ウィンドウ内にブロックの台帳記録を実行する場合でも、他のコンセンサスノードから投票情報を受信し続けることができる。一部のコンセンサスノードは送信速度が遅いため、台帳記録期間ウィンドウ内において、送信が遅いコンセンサスノードはまだ投票情報を送信していない、あるいは送信が遅い一部のコンセンサスノードは投票情報を送信したが、少数のコンセンサスノードはまだ投票情報を送信していない。つまり、コンセンサスノードは、台帳記録期間ウィンドウ内に全ての投票を受信していない場合がある。
具体的には、コンセンサスノードは全ての投票をずっと受信していない場合、コンセンサスノードは台帳記録期間ウィンドウ内にブロックの台帳記録を完了すると、台帳記録期間ウィンドウ内にブロードキャスト通知し、台帳記録を完了したノード数がノード総数で占める比例が所定の比例値を超えるまで、他のコンセンサスノードが台帳記録を実行するのを待ち、台帳記録を完了した他のノードからの通知メッセージを受信する必要がある。
具体的には、所定の比例値(例えば2/3)以上のコンセンサスノードが全て台帳記録を完了した場合、ブロックの台帳記録グを完了したこれらのコンセンサスノードは、台帳記録期間ウィンドウからジャンプして後続のプロセスに移行することができる。その一方、ブロックの台帳記録を完了したコンセンサスノードは、所定の比例値未満であれば、ブロックの台帳記録を完了したコンセンサスノードと、台帳記録を完了していないコンセンサスノードは、台帳記録期間ウィンドウの期間閾値に達したとき、台帳記録期間ウィンドウをまとめて閉じて、後続のプロセスに一緒に移行することができる。
具体的には、コンセンサスノードが台帳記録期間ウィンドウ内にブロックの台帳記録を実行する際に、送信が遅いそれらのコンセンサスノードからも投票情報が送信されたため(つまり、台帳記録期間ウィンドウ内にすべてのコンセンサスノードの投票情報が受信された)、コンセンサスノードが全ての投票を受信したと理解できる。
具体的には、コンセンサスノードが台帳記録期間ウィンドウ内に全ての投票を受信すると、台帳記録期間ウィンドウでブロックの台帳記録を続行するとともに、台帳記録を完了した後、台帳記録期間ウィンドウから直接ジャンプして、後続のプロセスに移行する(期間ウィンドウ内ですべてのコンセンサスノードの投票情報が正常に受信されたため、各々のコンセンサスノードのステータスが近く、台帳記録速度及びネットワークステータスはいずれも大きく相違せず、ほぼ同じ期間内に台帳記録を完了でき、後続のプロセスに入るときに格納されるブロックもそれほど相違せず、待ち続ける必要はない)。
投票情報交換モジュール11は、目標ブロックに対する第1のコンセンサス投票情報を第2のノードに送信し、第2のノードから送信されてきた目標ブロックに対する第2のコンセンサス投票情報を受信する;
コンセンサス結果特定モジュール12は、第1のコンセンサス投票情報と第2のコンセンサス投票情報に基づいて、目標ブロックのコンセンサス結果を特定する;
台帳記録処理モジュール13は、コンセンサス結果が合格結果であると特定された場合に、台帳記録期間ウィンドウを始動し、台帳記録期間ウィンドウ内で目標ブロックに対して台帳記録処理を実行する;
台帳記録完了受信モジュール14は、台帳記録期間ウィンドウ内で、第2のノードから送信されてきた目標ブロックに対する第1の台帳記録完了メッセージを受信する;
台帳記録完了通知モジュール15は、台帳記録期間ウィンドウ内で目標ブロックに対する台帳記録処理を完了すれば、第2の台帳記録完了メッセージを第2のノードに送信する;
ウィンドウクローズモジュール16は、第1の台帳記録完了メッセージと第2の台帳記録完了メッセージの総数が数量閾値以上である場合は、台帳記録期間ウィンドウを閉じて、目標ブロックの後続ブロックに対するコンセンサス業務プロセスに移行する。
第1の目標数特定手段121は、第2のコンセンサス投票情報の中に、のコンセンサス投票情報の数を第1の目標数として特定する;
賛成投票数特定手段122は、第1のコンセンサス投票情報が賛成投票に該当する場合は、第1のコンセンサス投票情報と第1の目標数に従って賛成投票総数を特定する一方、第1のコンセンサス投票情報が合意拒否投票である場合は、第1の目標数に基づいて賛成投票総数を特定する;
合格結果特定手段123は、ノード総数に対する賛成投票総数の比が比例閾値以上である場合は、目標ブロックのコンセンサス結果が合格結果であると特定する。ここでノード総数は、第1のノードと第2のノードの総数である;
コンセンサス失敗特定手段124は、ノード総数に対する賛成投票総数の比が比例閾値未満であれば、目標ブロックのコンセンサス結果が失敗結果であると特定する。
数量取得手段131は、コンセンサス結果が合格結果であると特定された場合に、第2のコンセンサス投票情報の数を取得する;
第2の目標数特定手段132は、第2のノードのノード数を第2の目標数として取得する;
台帳記録処理手段133は、第2のコンセンサス投票情報の数が第2の目標数未満であれば、台帳記録期間ウィンドウを始動し、台帳記録期間ウィンドウ内で目標ブロックに対して台帳記録処理を行う。
ウィンドウ更新モジュール17は、第2のコンセンサス投票情報の数が第2の目標数と等しい場合は、第2のノードの性能パラメータに基づいて台帳記録期間ウィンドウを更新し、更新された台帳記録期間ウィンドウを取得する。ここで、更新された台帳記録期間ウィンドウに対応する期間閾値は、台帳記録期間ウィンドウに対応する期間閾値よりも小さい;
ウィンドウ始動モジュール18は、更新された台帳記録期間ウィンドウを始動し、更新された台帳記録期間ウィンドウ内で目標ブロックに対して台帳記録処理を実行する;
プロセス移行モジュール19は、第1のノードが更新された台帳記録期間ウィンドウ内で目標ブロックに対して台帳記録処理を完了すれば、目標ブロックの後続ブロックに対するコンセンサス業務プロセスに移行する。
投票情報受信手段151は、台帳記録期間ウィンドウ内で、残りの第2のノードから送信されてきた目標ブロックに対する第3のコンセンサス投票情報を受信する。ここで、残りの第2のノードは、複数の第2のノードのうち、第2のコンセンサス投票情報が送信された第2のノードを除いたノードである;
投票数取得手段152は、台帳記録期間ウィンドウ内で目標ブロックに対する台帳記録処理を完了すれば、第3のコンセンサス投票情報の総数を取得する;
加算処理手段153は、第3のコンセンサス投票情報の数と第2のコンセンサス投票情報の数を加算し、コンセンサス投票総数を取得する;
権限確認手段154は、コンセンサス投票総数及び第1の目標数に基づいて、第1のノードのメッセージ送信権限を確認する;
台帳記録完了送信手段155は、第1のノードはメッセージ送信権限があると確認された場合は、第2の台帳記録完了メッセージを第2のノードに送信する。
第1の権限特定サブ手段1541は、コンセンサス投票総数が第2の目標数未満であれば、第1のノードは前記メッセージ送信権限があると特定する;
第2の権限特定サブ手段1542は、コンセンサス投票総数が第2の目標数と等しい場合は、第1のノードは前記メッセージ送信権限がないと特定する。
コンセンサスプロセス移行モジュール20は、第1のノードはメッセージ送信権限がないと特定された場合は、台帳記録期間ウィンドウを閉じて、目標ブロックの後続ブロックのコンセンサス業務プロセスに移行する。
第1の期間閾値取得モジュール21は、台帳記録期間ウィンドウに対応する期間閾値を取得する;
第1の合計期間統計モジュール22は、第1のノードの台帳記録期間ウィンドウ内における合計期間を統計する;
第1のブロックコンセンサス移行モジュール23は、合計期間が期間閾値と等しく、かつ第1の台帳記録完了メッセージと第2の台帳記録完了メッセージの総数は数量閾値未満であれば、台帳記録期間ウィンドウを閉じて、目標ブロックの後続ブロックに対するコンセンサス業務プロセスに移行する。
第2の期間閾値取得モジュール24は、台帳記録期間ウィンドウに対応する期間閾値を取得する;
第2の合計期間統計モジュール25は、第1のノードの台帳記録期間ウィンドウ内における合計期間を統計する;
第2のブロックコンセンサス移行モジュール26は、合計期間が期間閾値と等しく、かつ第1のノードは台帳記録期間ウィンドウ内で目標ブロックに対する台帳記録処理を完了しなかった場合は、台帳記録期間ウィンドウを閉じて、目標ブロックの後続ブロックに対するコンセンサス業務プロセスに移行する。
目標ブロックに対する第1のコンセンサス投票情報を第2のノードに送信し、第2のノードから送信されてきた目標ブロックに対する第2のコンセンサス投票情報を受信するステップと、
第1のコンセンサス投票情報と第2のコンセンサス投票情報に基づいて、目標ブロックのコンセンサス結果を特定し、コンセンサス結果が合格結果であると特定された場合に、台帳記録期間ウィンドウを始動し、台帳記録期間ウィンドウ内で目標ブロックに対して台帳記録処理を行い、台帳記録期間ウィンドウ内で、第2のノードから送信されてきた目標ブロックに対する第1の台帳記録完了メッセージを受信するステップと、
台帳記録期間ウィンドウ内で目標ブロックに対する台帳記録処理を完了すれば、第2の台帳記録完了メッセージを第2のノードに送信するステップと、
第1の台帳記録完了メッセージと第2の台帳記録完了メッセージの総数が数量閾値以上である場合は、台帳記録期間ウィンドウを閉じて、目標ブロックの後続ブロックに対するコンセンサス業務プロセスに移行させるステップと、を実現する。
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のコンセンサス投票情報を第2のノードに送信し、前記第2のノードから送信されてきた前記目標ブロックに対する第2のコンセンサス投票情報を受信するステップと、
前記第1のコンセンサス投票情報と前記第2のコンセンサス投票情報に基づいて、前記目標ブロックのコンセンサス結果を特定し、前記コンセンサス結果が合格結果であると特定された場合に、台帳記録期間ウィンドウを始動し、前記台帳記録期間ウィンドウ内で前記目標ブロックに対して台帳記録処理を実行し、前記台帳記録期間ウィンドウ内で、前記第2のノードから送信されてきた前記目標ブロックに対する第1の台帳記録完了メッセージを受信するステップと、
前記台帳記録期間ウィンドウ内で前記目標ブロックに対する台帳記録処理を完了すれば、第2の台帳記録完了メッセージを前記第2のノードに送信するステップと、
前記第1の台帳記録完了メッセージと前記第2の台帳記録完了メッセージの総数が数量閾値以上である場合は、前記台帳記録期間ウィンドウを閉じて、前記目標ブロックの後続ブロックに対するコンセンサス業務プロセスに移行させるステップと、
を含む、ブロックチェーンに基づくデータ処理方法。 - 前記第1のコンセンサス投票情報と前記第2のコンセンサス投票情報に基づいて、前記目標ブロックのコンセンサス結果を特定する前記ステップは、
前記第2のコンセンサス投票情報の中に、賛成投票に該当する第2のコンセンサス投票情報の数を第1の目標数として特定するステップと、
前記第1のコンセンサス投票情報が賛成投票に該当する場合は、前記第1のコンセンサス投票情報と前記第1の目標数に従って賛成投票総数を特定するステップと、
ノード総数に対する前記賛成投票総数の比が比例閾値以上である場合は、前記目標ブロックのコンセンサス結果が合格結果であると特定し、ここで前記ノード総数は、前記第1のノードと前記第2のノードの総数であるステップと、
前記ノード総数に対する前記賛成投票総数の比が比例閾値未満であれば、前記目標ブロックのコンセンサス結果が失敗結果であると特定するステップと、
を含む、ことを特徴とする請求項1に記載の方法。 - 前記方法は、さらに、
前記第1のコンセンサス投票情報が合格拒否投票である場合は、前記第1の目標数に基づいて前記賛成投票総数を特定するステップを含む、ことを特徴とする請求項2に記載の方法。 - 前記コンセンサス結果が合格結果であると特定された場合に、台帳記録期間ウィンドウを始動し、前記台帳記録期間ウィンドウ内で前記目標ブロックに対して台帳記録処理を実行する前記ステップは、
前記コンセンサス結果が合格結果である場合は、前記第2のコンセンサス投票情報の数を取得するステップと、
前記第2のノードのノード数を第2の目標数として取得するステップと、
前記第2のコンセンサス投票情報の数が前記第2の目標数未満であれば、前記台帳記録期間ウィンドウを始動し、前記台帳記録期間ウィンドウ内で前記目標ブロックに対して台帳記録処理を実行するステップと、
を含む、ことを特徴とする請求項1に記載の方法。 - 前記第2のコンセンサス投票情報には前記第2のノードの性能パラメータが付帯されており、
前記方法は、さらに、
前記第2のコンセンサス投票情報の数が前記第2の目標数と等しい場合は、前記第2のノードの性能パラメータに基づいて前記台帳記録期間ウィンドウを更新し、更新された台帳記録期間ウィンドウを取得し、ここで前記更新された台帳記録期間ウィンドウに対応する期間閾値は、前記台帳記録期間ウィンドウに対応する期間閾値よりも小さいステップと、
前記更新された台帳記録期間ウィンドウを始動し、前記更新された台帳記録期間ウィンドウ内で前記目標ブロックに対して台帳記録処理を実行するステップと、
前記更新された台帳記録期間ウィンドウ内で前記目標ブロックに対して台帳記録処理を完了すれば、前記目標ブロックの後続ブロックに対するコンセンサス業務プロセスに移行させるステップと、
を含む、ことを特徴とする請求項4に記載の方法。 - 前記第2のノードが複数であり、前記台帳記録期間ウィンドウ内で前記目標ブロックに対する台帳記録処理を完了すれば、第2の台帳記録完了メッセージを前記第2のノードに送信する前記ステップは、
前記台帳記録期間ウィンドウ内で、残りの第2のノードから送信されてきた前記目標ブロックに対する第3のコンセンサス投票情報を受信し、ここで、前記残りの第2のノードは、複数の前記第2のノードのうち、前記第2のコンセンサス投票情報が送信された第2のノードを除いたノードであるステップと、
前記台帳記録期間ウィンドウ内で前記目標ブロックに対する台帳記録処理を完了すれば、前記第3のコンセンサス投票情報の数を取得するステップと、
前記第3のコンセンサス投票情報の数と前記第2のコンセンサス投票情報の数を加算し、コンセンサス投票総数を取得するステップと、
前記コンセンサス投票総数及び前記第2の目標数に基づいて、前記第1のノードのメッセージ送信権限を確認するステップと、
前記第1のノードは前記メッセージ送信権限があると確認された場合は、第2の台帳記録完了メッセージを前記第2のノードに送信するステップと、
を含む、ことを特徴とする請求項4に記載の方法。 - 前記コンセンサス投票総数及び前記第2の目標数に基づいて、前記第1のノードのメッセージ送信権限を確認する前記ステップは、
前記コンセンサス投票総数が前記第2の目標数未満であれば、前記第1のノードは前記メッセージ送信権限があると特定するステップと、
前記コンセンサス投票総数が前記第2の目標数と等しい場合は、前記第1のノードは前記メッセージ送信権限がないと特定するステップと、
を含む、ことを特徴とする請求項6に記載の方法。 - 前記第1のノードは前記メッセージ送信権限がないと特定された場合は、前記台帳記録期間ウィンドウを閉じて、前記目標ブロックの後続ブロックのコンセンサス業務プロセスに移行させるステップをさらに含む、ことを特徴とする請求項6に記載の方法。
- 前記方法は、さらに、
前記台帳記録期間ウィンドウに対応する期間閾値を取得するステップと、
前記第1のノードの前記台帳記録期間ウィンドウ内における合計期間を統計するステップと、
前記合計期間が前記期間閾値と等しく、かつ前記第1の台帳記録完了メッセージと前記第2の台帳記録完了メッセージの総数は前記数量閾値未満であれば、前記台帳記録期間ウィンドウを閉じて、前記目標ブロックの後続ブロックのコンセンサス業務プロセスに移行させるステップと、
を含む、ことを特徴とする請求項1に記載の方法。 - 前記方法は、さらに、
前記台帳記録期間ウィンドウに対応する期間閾値を取得するステップと、
前記第1のノードの前記台帳記録期間ウィンドウ内における合計期間を取得するステップと、
前記合計期間が前記期間閾値と等しく、かつ前記第1のノードは前記台帳記録期間ウィンドウ内で前記目標ブロックに対する台帳記録処理を完了しなかった場合は、前記台帳記録期間ウィンドウを閉じて、前記目標ブロックの後続ブロックに対するコンセンサス業務プロセスに移行させるステップと、
を含む、ことを特徴とする請求項1に記載の方法。 - 目標ブロックに対する第1のコンセンサス投票情報を第2のノードに送信し、前記第2のノードから送信されてきた前記目標ブロックに対する第2のコンセンサス投票情報を受信する投票情報交換モジュールと、
前記第1のコンセンサス投票情報と前記第2のコンセンサス投票情報に基づいて、前記目標ブロックのコンセンサス結果を特定するコンセンサス結果特定モジュールと、
前記コンセンサス結果が合格結果であると特定された場合に、台帳記録期間ウィンドウを始動し、前記台帳記録期間ウィンドウ内で前記目標ブロックに対して台帳記録処理を実行する台帳記録処理モジュールと、
前記台帳記録期間ウィンドウ内で、前記第2のノードから送信されてきた前記目標ブロックに対する第1の台帳記録完了メッセージを受信する台帳記録完了受信モジュールと、
前記台帳記録期間ウィンドウ内で前記目標ブロックに対する台帳記録処理を完了すれば、第2の台帳記録完了メッセージを前記第2のノードに送信する台帳記録完了通知モジュールと、
前記第1の台帳記録完了メッセージと前記第2の台帳記録完了メッセージの総数が数量閾値以上である場合は、前記台帳記録期間ウィンドウを閉じて、前記目標ブロックの後続ブロックに対するコンセンサス業務プロセスに移行させるウィンドウクローズモジュールと、
を備える、ブロックチェーンに基づくデータ処理装置。 - コンピュータ可読命令が記憶されているメモリと、1つ以上のプロセッサとを備えるコンピュータデバイスであって、前記コンピュータ可読命令が前記1つ以上のプロセッサに実行されると、請求項1~10のいずれか1項に記載の方法のステップを前記1つ以上のプロセッサに実現させる、ことを特徴とするコンピュータデバイス。
- コンピュータプログラムであって、1つ以上の不揮発性コンピュータ可読記憶媒体に記憶されており、前記コンピュータプログラムが1つ以上のプロセッサに実行されると、請求項1~10のいずれか1項に記載の方法のステップを前記1つ以上のプロセッサに実現させる、コンピュータプログラム。
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)
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)
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)
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 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
-
2020
- 2020-05-27 CN CN202010458171.4A patent/CN111368008B/zh active Active
-
2021
- 2021-04-22 WO PCT/CN2021/088899 patent/WO2021238514A1/zh unknown
- 2021-04-22 JP JP2022539707A patent/JP7325894B2/ja active Active
- 2021-04-22 EP EP21812015.2A patent/EP4030314A4/en active Pending
- 2021-04-22 KR KR1020227016044A patent/KR20220074971A/ko not_active Application Discontinuation
-
2022
- 2022-04-26 US US17/730,044 patent/US11914579B2/en active Active
Patent Citations (3)
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 |