JP2024010123A - ブロックチェーンコンセンサス方法、装置及びシステム - Google Patents
ブロックチェーンコンセンサス方法、装置及びシステム Download PDFInfo
- Publication number
- JP2024010123A JP2024010123A JP2023184790A JP2023184790A JP2024010123A JP 2024010123 A JP2024010123 A JP 2024010123A JP 2023184790 A JP2023184790 A JP 2023184790A JP 2023184790 A JP2023184790 A JP 2023184790A JP 2024010123 A JP2024010123 A JP 2024010123A
- Authority
- JP
- Japan
- Prior art keywords
- information
- transaction information
- node
- consensus
- subnetwork
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 93
- 230000007246 mechanism Effects 0.000 claims abstract description 49
- 238000012795 verification Methods 0.000 claims description 130
- 230000004044 response Effects 0.000 claims description 18
- 230000001902 propagating effect Effects 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 25
- 230000008569 process Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 8
- 238000012790 confirmation Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000005065 mining Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000000644 propagated effect Effects 0.000 description 5
- 230000005856 abnormality Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 241000209202 Bromus secalinus Species 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- 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/3247—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 involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1089—Hierarchical topologies
-
- 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
-
- 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/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/44—Star or tree networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1091—Interfacing with client-server systems or between P2P systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1093—Some peer nodes performing special functions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Computing Systems (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer And Data Communications (AREA)
- Hardware Redundancy (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
【課題】コンセンサス効率を向上させるブロックチェーンコンセンサス方法、装置及びシステムを提供する。【解決手段】方法は、顧客端末と同一ネットワーク中にあるリーダーノードが、顧客端末が送信した取引情報及び少なくとも1つ又は2つのピアノードが送信した取引情報を受信し、もし、取引情報中の取引データが一致すれば、取引情報を前レベルのサブネットワーク中のリーダーノードに、前レベルのネットワークの優先度が最優先度になるまで送信し、最優先度ネットワーク中のリーダーノードが、受信した取引情報に応じて提案情報を生成し、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて提案情報に対してコンセンサス判定を行い、コンセンサス判定を通過した後、提案情報を次のレベルのネットワーク中のリーダーノードに、次のレベルのサブネットワークが、顧客端末が位置しているサブネットワークになるまで送信する。【選択図】図2
Description
本発明はブロックチェーン技術分野に関し、特に、ブロックチェーンコンセンサス方法、装置及びシステムに関する。
ブロックチェーン技術の急速な発展に伴い、益々多くのデータがブロックチェーンを用いて記憶及びインタラクティブを開始している。ブロックチェーンの設計において、コンセンサスメカニズムは始終、技術的な難点となっており、特にピアツーピアネットワーク環境においては特に難しい問題となっている。
コンセンサスとは参加ノード状態が一致することであり、ブロックチェーンでは主に取引要求の順序が全部一致することを保証することである。ブロックチェーンシステムについて言えば、ピアツーピアネットワークはパブリックネットワークとして理解でき、現在よくあるピアツーピアネットワークコンセンサスソリューションはプルーフ・オブ・ワーク(Proof Of Work、略称POW)とプルーフ・オブ・ステーク(Proof of Stake、略称 POS)である。
本発明を実現する際、発明者は、従来技術には少なくとも以下の問題が存在することを発見した:性能が比較的低い、即ち各ブロックが保持する取引量が非常に小さい上、取引毎の確認時間が非常に長い。また、エネルギーを消費する、即ちマイニングメカニズムはエネルギーの膨大な無駄遣いを引き起こす。
以上の点に鑑み、本発明の実施例は、取引の確認時間が長く、ブロックが保持する取引量が小さいという技術課題を解決するために、ブロックチェーンコンセンサス方法、装置及びシステムを提供する。
上記目的を実現するために、本発明の実施例の一つの態様に基づき、顧客端末と同一ネットワーク中にあるリーダーノードに応用されるブロックチェーンコンセンサス方法であって、前記顧客端末が送信した取引情報及び前記リーダーノード、前記顧客端末と同一ネットワーク中にある少なくとも1つの前記ピアノードが送信した取引情報を受信する、または、少なくとも2つの前記ピアノードが送信した取引情報を受信するステップと、受信した前記取引情報が一致するか否かを判断し、もし一致すれば、取引情報を前レベルのネットワーク中のリーダーノードに送信するステップと、を含む、方法を提供する。
本発明の実施例の別の一つの態様に基づき、さらに、最優先度ネットワーク中のリーダーノードに応用されるブロックチェーンコンセンサス方法であって、受信した取引情報に応じて提案情報を生成するステップと、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行うステップと、コンセンサス判定を通過した後、前記提案情報を次のレベルのネットワーク中のリーダーノードに送信するステップと、を含む、方法を提供する。
本発明の実施例の別の一つの態様に基づき、さらに、中優先度ネットワーク中のリーダーノードに応用されるブロックチェーンコンセンサス方法であって、最優先度ネットワーク中のリーダーノードが送信した提案情報を受信し、前記提案情報に対して署名検証を行うステップと、署名検証を通過した後、前記提案情報中の取引データをブロックに書き込み、前記提案情報に前記リーダーノードの署名を付与し、前記提案情報を前記リーダーノードと同一ネットワーク中にあるピアノード及び次のレベルのネットワーク中のリーダーノードに前記次のレベルのネットワークが前記顧客端末が位置しているネットワークになるまで送信するステップと、を含む、方法を提供する。
本発明の実施例の別の一つの態様に基づき、さらに、顧客端末と同一ネットワーク中にあるピアノードに応用されるブロックチェーンコンセンサス方法であって、前記顧客端末が送信した取引情報を受信し、それに対して署名検証を行うステップと、署名検証を通過した後、前記取引情報に前記ピアノードの署名を付与し、前記取引情報を前記ピアノードと同一ネットワーク中にあるリーダーノードに送信するステップと、を含む、方法を提供する。
本発明の実施例の別の一つの態様に基づき、顧客端末と同一ネットワーク中にあるリーダーノードに設けられるブロックチェーンコンセンサス装置であって、前記顧客端末が送信した取引情報及び前記リーダーノード、前記顧客端末と同一ネットワーク中にある少なくとも1つの前記ピアノードが送信した取引情報を受信する、または、少なくとも2つの前記ピアノードが送信した取引情報を受信するための第1受信モジュールと、受信した前記取引情報が一致するか否かを判断し、もし一致すれば、取引情報を前レベルのネットワーク中のリーダーノードに送信するための第1送信モジュールと、を備える、装置を提供する。
本発明の実施例の別の一つの態様に基づき、さらに、最優先度ネットワーク中のリーダーノードに設けられるブロックチェーンコンセンサス装置であって、受信した取引情報に応じて提案情報を生成するための提案モジュールと、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行うためのコンセンサスモジュールと、コンセンサス判定を通過した後、前記提案情報を次のレベルのネットワーク中のリーダーノードに送信するための第2送信モジュールと、を備える、装置を提供する。
本発明の実施例の別の一つの態様に基づき、さらに、中優先度ネットワーク中のリーダーノードに設けられるブロックチェーンコンセンサス装置であって、最優先度ネットワーク中のリーダーノードが送信した提案情報を受信し、前記提案情報に対して署名検証を行うための第2受信モジュールと、署名検証を通過した後、前記提案情報中の取引データをブロックに書き込み、前記提案情報に前記リーダーノードの署名を付与し、前記提案情報を前記リーダーノードと同一ネットワーク中にあるピアノード及び次のレベルのネットワーク中のリーダーノードに前記次のレベルのネットワークが前記顧客端末が位置しているネットワークになるまで送信するための書込モジュールと、を備える、装置を提供する。
本発明の実施例の別の一つの態様に基づき、さらに、顧客端末と同一ネットワーク中にあるピアノードに設けられるブロックチェーンコンセンサス装置であって、前記顧客端末が送信した取引情報を受信し、それに対して署名検証を行うための第3受信モジュールと、署名検証を通過した後、前記取引情報に前記ピアノードの署名を付与し、前記取引情報を前記ピアノードと同一ネットワーク中にあるリーダーノードに送信するための第3送信モジュールと、を備える、装置を提供する。
本発明の実施例の別の一つの態様に基づき、さらに、一つの又は複数のプロセッサと、一つの又は複数のプログラムを記憶するための記憶装置とを備え、前記一つの又は複数のプロセッサが上記いずれかの実施例に記載の方法を実現するように前記一つの又は複数のプログラムが前記一つの又は複数のプロセッサにより実行される、電子機器を提供する。
本発明の実施例の別の一つの態様に基づき、さらに、前記プログラムがプロセッサにより実行される時に上記いずれかの実施例に記載の方法が実現されるコンピュータプログラムが記憶されたコンピュータ読み取り可能な媒体、を提供する。
本発明の実施例の別の一つの態様に基づき、さらに、顧客端末は取引情報を前記顧客端末と同一ネットワーク中にあるリーダーノード及びピアノードのうちの少なくとも2つが含まれる少なくとも2つのノードに送信するステップと、前記顧客端末と同一ネットワーク中にあるリーダーノードは前記顧客端末が送信した取引情報及び少なくとも1つの前記ピアノードが送信した取引情報を受信する、または、少なくとも2つの前記ピアノードが送信した取引情報を受信し、もし前記取引情報中の取引データが一致すれば、取引情報を前レベルのネットワーク中のリーダーノードに前記前レベルのネットワークの優先度が最優先度になるまで送信するステップと、最優先度ネットワーク中のリーダーノードは受信した取引情報に応じて提案情報を生成し、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行い、コンセンサス判定を通過した後、前記提案情報を次のレベルのネットワーク中のリーダーノードに前記次のレベルのネットワークが前記顧客端末が位置しているネットワークになるまで送信するステップと、を含む、ブロックチェーンコンセンサス方法を提供する。
また、本発明の実施例の別の一つの態様に基づき、取引情報を同一ネットワーク中にあるリーダーノード及びピアノードのうちの少なくとも2つが含まれる少なくとも2つのノードに送信するための顧客端末と、前記顧客端末が送信した取引情報及び少なくとも1つの前記ピアノードが送信した取引情報を受信する、または、少なくとも2つの前記ピアノードが送信した取引情報を受信し、もし前記取引情報中の取引データが一致すれば、取引情報を前レベルのネットワーク中のリーダーノードに前記前レベルのネットワークの優先度が最優先度になるまで送信するための前記顧客端末と同一ネットワーク中にあるリーダーノードと、受信した取引情報に応じて提案情報を生成し、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行い、コンセンサス判定を通過した後、前記提案情報を次のレベルのネットワーク中のリーダーノードに前記次のレベルのネットワークが前記顧客端末が位置しているネットワークになるまで送信するための最優先度ネットワーク中のリーダーノードと、を含む、ブロックチェーンコンセンサスシステムを提供する。
上記発明における実施例は以下の長所又は有益な效果を有する:ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて提案情報に対してコンセンサス判定を行い、コンセンサス判定を通過した後、提案情報を次のレベルのネットワーク中のリーダーノードに次のレベルのネットワークが顧客端末が位置しているネットワークになるまで送信する技術手段によって、従来技術における確認時間が長く、ブロックが保持する取引量が小さいという技術課題を解決している。本発明の実施例はピアツーピアネットワーク環境において、暗号学アルゴリズムを使用してデータの一致性が保証される前提で、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいてコンセンサスを行っており、コンセンサス効率を向上させることができる。実際のコンセンサス過程では、階層領域内コンセンサスメカニズムを用いて、コンセンサスを小範囲内で達成させ、伝播下達の方式により、ピアツーピアネットワークと非常にマッチする一方、他方ではマイニングによる資源の無駄遣いを減少させ、コンセンサス効率を向上させることができる。
上記非慣用的な任意選択的な方式が有する更なる效果については発明を実施するための形態と合わせて以下に説明する。
図面は本発明をより理解しやすくするためのものであって、本発明を限定するものではない。
図1は本発明の実施例のブロックチェーンコンセンサスシステムのブロック図である。
図2は本発明の一つの実施例に基づくブロックチェーンコンセンサス方法の主要フローの概略図である。
図3は本発明の実施例に基づく提案情報の概略図である。
図4は本発明の別の一つの実施例に基づくブロックチェーンコンセンサス方法の主要フローの概略図である。
図5は本発明のもう一つの実施例に基づくブロックチェーンコンセンサス方法の主要フローの概略図である。
図6は本発明の一つの参考可能な実施例に基づくブロックチェーンコンセンサス方法の主要フローの概略図である。
図7は本発明の一つの実施例に基づくブロックチェーンコンセンサス装置の主要なモジュールの概略図である。
図8は本発明の別の一つの実施例に基づくブロックチェーンコンセンサス装置の主要なモジュールの概略図である。
図9は本発明の実施例が応用される例示的なシステムアーキテクチャ図である。
図10は本発明の実施例の端末装置又はサーバを実現するのに適するコンピュータシステムの構造概略図である。
以下に図面と合わせて本発明の模範的な実施例について説明する。中には理解しやすいように本発明の実施例の各細部を含むが、これらは模範的に示すためだけのものであると理解されるべきである。よって、当業者は本発明の範囲及び精神を逸脱しない限り、ここで記述される実施例に対して各種の変更や修正を行うことができると理解されるべきである。同様に、明確かつ簡潔にするために、以下の記述において、公知の機能や構造に関する説明は省略される。
図1は本発明の実施例のブロックチェーンコンセンサスシステムのブロック図である。図1に示されるように、ピアツーピアネットワーク(即ちパブリックネットワーク)には複数のサブネットワークが含まれ、各々のサブネットワークの優先度は異なる。図1は三層サブネットワークを例示的に示しており、例えばサブネットワークAの優先度はサブネットワークBの優先度よりも高く、サブネットワークBの優先度はサブネットワークCの優先度よりも高い。ブロックチェーンを応用するネットワーク範囲は異なるため、各々のサブネットワークの優先度数は図1に示される三層に限定されず、より多くの層数でも、より少ない層数でもよく、且つ同じ優先度のサブネットワークが複数あってもよく、本発明の実施例ではこの点について特に限定しない。パブリックネットワークであるインターネット(Internet)は、全世界の異なる位置、異なる規模のコンピュータネットワーク(ローカルエリアネットワーク、メトロポリタンエリアネットワークを含む)を一つに接続して形成されるコンピュータネットワークの集合体である。本発明の実施例において、サブネットワークはローカルエリアネットワーク、メトロポリタンエリアネットワーク等とすることができる。
本発明の実施例において、各サブネットワークは一つのリーダーノード(Leader)及び複数のピアノード(Peer)を有し、Peerノード及びLeaderノードは共に顧客端末から発信された取引情報を受信できる。Leaderノードは分層構造であり、下層のLeaderノードは上層Leaderノードを知ることができ、上層Leaderノードも下層Leaderノード集合を知ることができ、各Leaderノードは同一サブネットワーク中のすべてのPeerノードを知ることができ、各Peerノードは同一サブネットワーク中の他のPeerノード及び同一サブネットワーク中のLeaderノードを知ることができる。よって、Leaderノードが加わるサブネットワークの優先度は当該Leaderノードの優先度を決定する。
例えば一つのローカルエリアネットワーク環境において一つのノードしか外部ネットワークと通信できない可能性がある場合、このノードが当該ローカルエリアネットワークのLeaderノードとなり、当該ローカルエリアネットワーク中の他のノードはPeerノードとなり、各Peerノードの地位は平等である。
Leaderノードは一旦形成されれば変わらないというものではなく、Peerノードが現在のネットワーク環境におけるLeaderノードの異常を検出した場合、Raftアルゴリズム等により再選出を行うことができるが、当該選出過程で候補者として指名されたLeaderは必ず自身に上層Leaderにアクセスするネットワーク権限がなければならない。もしLeaderノードが当該ノードに対応する親Leaderノードの異常(例えばネットワークが繋がらない)を検出した場合、周辺にネットワークを繋げて伝播することができ、周辺ネットワークの他のLeaderノードが受信した後、応答を送信し、当該Leaderノードが直ちに対応する親Leaderノード変更を行う。
図2は本発明の一つの実施例に基づくブロックチェーンコンセンサス方法の主要フローの概略図である。本発明の一つの実施例として、図2に示されるように、前記ブロックチェーンコンセンサス方法は以下のステップを含むことができる:
顧客端末は取引情報を前記顧客端末と同一ネットワーク中にある少なくとも2つのノードに送信するステップ201。
取引情報の合法性を確保した後、顧客端末は前記取引情報を前記顧客端と同一ネットワーク中にある少なくとも2つのノード(PeerノードでもLeaderノードでもよい)に送信し、単独のノードがチート行為するのを防ぐ。具体的に、顧客端末は取引情報をLeaderノード及び少なくとも1つのPeerノードに送信しても、取引情報を少なくとも2つのPeerノードに送信してもよい。なお、顧客端末は取引情報を既に前記顧客端末と接続が確立されたノードにしか送信できない。
図1に示されるように、顧客端末がサブネットワークC中にあると仮定する場合、顧客端末は取引情報をサブネットワークC中の少なくとも2つのノード、例えばサブネットワークC中のPeer31、Peer32及びPeer33等、または、サブネットワークC中のLeader30、Peer31、Peer32及びPeer34等に送信する。
任意選択的に、前記取引情報には取引データ及び顧客端末の署名が含まれる。データの一致性を確保できるよう、暗号学アルゴリズムを用いて取引データを処理してもよい。具体的に、先に取引データをハッシュ処理し、その後、顧客端末プライベートキーを用いてハッシュ値を処理して、顧客端末の署名を得ることができる。もし事前に各々のノードに顧客端末のパブリックキーを伝播していない場合、ノードが顧客端末署名を検証できるよう、前記取引情報にはさらに顧客端末のパブリックキーを含めなければならない。
前記顧客端末と同一ネットワーク中にあるリーダーノードは前記顧客端末が送信した取引情報及び少なくとも1つの前記ピアノードが送信した取引情報を受信する、または、少なくとも2つの前記ピアノードが送信した取引情報を受信し、もし前記取引情報中の取引データが一致すれば、取引情報を前レベルのネットワーク中のリーダーノードに前記前レベルのネットワークの優先度が最優先度になるまで送信するステップ202。
任意選択的に、前記の顧客端末と同一ネットワーク中にあるリーダーノードは前記顧客端末が送信した取引情報及び少なくとも1つの前記ピアノードが送信した取引情報を受信する、または、少なくとも2つの前記ピアノードが送信した取引情報を受信するステップは、前記顧客端末と同一ネットワーク中にあるピアノードは前記顧客端末が送信した取引情報を受信し、それに対して署名検証を行い、署名検証を通過した後、前記取引情報に前記ピアノードの署名を付与し、前記取引情報を前記ピアノードと同一ネットワーク中にあるリーダーノードに送信する、または、前記顧客端末と同一ネットワーク中にあるリーダーノードは前記顧客端末が送信した取引情報及び少なくとも1つの前記ピアノードが送信した取引情報を受信し、それらに対してそれぞれ署名検証を行う、または、少なくとも2つの前記ピアノードが送信した取引情報を受信し、それらに対してそれぞれ署名検証を行う、ことを含む。
ステップ201において、顧客端末はPeerノードに取引情報を送信したので、Peerノードは顧客端末が送信した取引情報を受信した後、顧客端末パブリックキーにより顧客端末署名に対して検証を行う。具体的に、取引情報中の取引データをハッシュ処理し、ハッシュ値とパブリックキーによるロック解除後の署名が一致するか否かを比較する。もし署名検証を通過したら、当該取引情報に当該Peerノードの署名を付与し、当該Peerノード署名を付与した後の取引情報を当該Peerノードと同一ネットワーク中にあるLeaderノードに送信する。よって、LeaderノードはPeerノードが(一つのまたは複数のPeerノードが転送)送信した取引情報を受信し、顧客端末が送信した取引情報を受信する可能性もあり、即ちLeaderノードは少なくとも2つの取引情報を受信することになる。
LeaderノードはPeerノードが送信した取引情報を受信した場合、先にPeerノードの署名に対して検証を行い、署名検証を通過した後、顧客端末の署名に対して署名検証を行って、取引データを得る。一回目の署名検証は、Peerノードが転送した取引情報がネットワーク伝送中に改ざんされていないことを検証し、Peerノードが転送した取引情報の真実性を保証するためであり、二回目の署名検証は取引情報中の取引データは顧客端末が送信した取引データであることを検証するためである。Leaderノードは顧客端末が送信した取引情報を受信した場合、顧客端末の署名だけを検証して、取引データを得る。
取引情報中の取引データが一致すると確定された場合、当該Leaderノードはそれ自身に親Leaderが存在するか否か判断し、親Leaderが存在すると仮定する場合、取引情報に自分の署名を加え、親Leaderに送信し、親Leaderも情報を受信した後、現在のLeaderノードが最上層Leaderになるまで同様に操作する(署名検証及び署名付与を含む)。Leaderノードにより各々の取引情報に対して検証を行い、取引データの一致性を確保できる。なお、顧客端末が送信した取引データが改ざんされていないことを保証できるよう、親Leaderは取引情報中の各々の署名に対して順に検証を行う必要がある。
任意選択的に、もし前記の取引情報中の取引データが一致すれば、取引情報を前レベルのネットワーク中のリーダーノードに前記前レベルのネットワークの優先度が最優先度になるまで送信するステップは、前記顧客端末と同一ネットワーク中にあるリーダーノードは多数決原則に基づき受信した各々の取引情報中の取引データが一致するか否かを判断し、もし一致すれば、前記取引情報に前記リーダーノードの署名を付与し、前記取引情報を前レベルのネットワーク中のリーダーノードに送信し、前記前レベルのネットワーク中のリーダーノード受信した取引情報に対して署名検証を行い、署名検証を通過した後、前記取引情報に前記リーダーノードの署名を付け加え、前記取引情報を前レベルのネットワーク中のリーダーノードに前記前レベルのネットワークの優先度が最優先度になるまで送信することを含む。Leaderノードは署名検証により各々の取引情報中の取引データをそれぞれ入手し、各々の取引情報中の取引データが一致するか否かを判断し、例えば多数決原則に基づき受信した複数の取引データが一致するか否かを判断できる。取引データが一致すると確認された場合、改ざんされていないと認定されたこれら取引情報を一つの取引情報にパッキングし、当該Leaderノードの署名を付与した後、親Leaderに送信する。
最優先度ネットワーク中のリーダーノードは受信した取引情報に応じて提案情報を生成し、ビザンチン・フォールトトレラントコンセンサスメカニズム(BFT)に基づいて前記提案情報に対してコンセンサス判定を行い、コンセンサス判定を通過した後、前記提案情報を次のレベルのネットワーク中のリーダーノードに前記次のレベルのネットワークが顧客端末が位置しているネットワークになるまで送信するステップ303。
Leaderノードは絶えず最優先度ネットワーク中のLeaderノードに取引情報を送信するので、最優先度ネットワーク中のLeaderノードは一期間内に受信した取引情報または一定数の取引情報に応じて、データリスト、本コンセンサス識別子、前記最優先度ネットワーク中のリーダーノード識別子及び前記最優先度ネットワーク中のリーダーノードの署名が含まれる提案情報を生成できる。図3に示されるとおり。データリスト中の各取引データは取引時間順に並べられる、つまりブロックに書き込むデータである。例えば、最優先度ネットワーク中のLeaderノードが取引情報を受信した数が100個に達した時、この100個の取引情報をパッキングする、または1個目の取引情報を受信したのからカウントし、2秒以内に受信した取引情報を提案情報にパッキングする。ここで、本コンセンサス識別子(CID)のデフォルト生成方式はオートインクリメントである。
下層Leaderノードから送信される取引情報は多層署名を持ち、最優先度ネットワーク中のLeaderノードは署名検証だけで取引データの正確性を確定でき、署名検証を通過した後、それを提案情報にパッキングする。
最優先度ネットワーク中のLeaderノードが変わった時、新しいLeaderノードは新たに採番し、自分の署名を付与した後、同一ネットワーク中のPeerノード及び下層Leaderノードに伝播できる。Leaderノードが変わる原因は多くあり、例えば:Leaderノード自身の異常退出(他のノードがLeaderノードの停止を検出した)、またはLeaderノードが送信するデータ自身に問題がある(勿論、このような問題はLeaderノードに問題があるとは限らず、伝送過程の問題である可能性もある)、これらいずれの場合も、Leaderノードは十分に安全ではないと他のPeerノードに見なされるため、Leaderノードの再選出を発動するよう、それらを促す。
任意選択的に、前記最優先度ネットワーク中のリーダーノード識別子は当該リーダーノードのIDやIPとすることができる。しかしIPには重複の問題があるため、一般的にIDをリーダーノード識別子として選択し、識別子の唯一性を保証する。前記提案情報はさらに現在のノード(即ち最優先度ネットワーク中のLeaderノード)のパブリックキーを携帯することができる。パブリックキーを携帯するか否かは自由に決定できる。なぜならパブリックキー自身は公開されているからである。事前に協議して提供しても情報中に携帯してもよく、本発明の実施例ではこの点について特に限定しない。
任意選択的に、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行うステップは、前記最優先度ネットワーク中のリーダーノードは前記提案情報を前記リーダーノード自身及び前記最優先度ネットワーク中のピアノードに送信し、前記リーダーノード及び前記ピアノードは前記提案情報を受信し、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してそれぞれコンセンサス判定を行うことを含む。図1に示されるように、最優先度ネットワーク中のLeader00は提案情報を同一ネットワーク中のPeer01、Peer02、Peer03、Peer04およびLeader00自身に送信し、Peer01、Peer02、Peer03、Peer04およびLeader00はビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行う。
任意選択的に、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行うステップは、前記提案情報に対して署名検証を行い、検証を通過した後、前記提案情報に応じて本コンセンサス識別子及び署名が含まれる書込(Write)情報を生成し、前記書込情報を現在のネットワーク中のすべてのノードに伝播し、受信した前記書込情報に対して署名検証及びコンセンサスルール判定を行い、判定を通過した後、前記書込情報に応じて本コンセンサス識別子及び署名が含まれる受信(Accpet)情報を生成し、前記受信情報を現在のネットワーク中のすべてのノードに伝播し、受信した前記受信情報に対して署名検証及びコンセンサスルール判定を行うことを含む。
PeerノードでもLeaderノードでも受信した提案情報に対して署名検証及びCIDの順序性確認を行い、検証を通過した後、同一ネットワーク中の他のノード及び現在のノード自身にWrite情報を伝播し、Write情報は具体的な情報内容を含む必要はなく、CID及び署名さえあればよい。パブリックキーを携帯するか否かは自由に決定できる。なぜならパブリックキー自身は公開されているからである。事前に協議して提供しても情報中に携帯してもよく、本発明の実施例ではこの点について特に限定しない。同一ネットワーク中の他のノード及び現在のノードがWrite情報を受信した後、Write情報に対して検証を行い、コンセンサスルール判定を行う。具体的に、N≧3f+1原則を用いて合意でき、Nは全ノード数、fは悪意ノード数である。例えば4個のノードがコンセンサスに関与する場合、1個のノード異常(fは悪意数)を許容し、ノードが7個ある場合は2個のノード異常を許容する。
判定を通過した後、Accpet情報を生成して現在のノードの署名を付与した後、同一ネットワーク中の他のノード及び現在のノード自身にAccept情報を伝播し、Accpet情報及びWrite情報も同様に、CID及び署名さえあればよい。パブリックキーを携帯するか否かは自由に決定できる。なぜならパブリックキー自身は公開されているからである。事前に協議して提供しても情報中に携帯してもよく、本発明の実施例ではこの点について特に限定しない。同一ネットワーク中の他のノード及び現在のノードがAccept情報を受信した後、Accept情報に対して検証を行い、コンセンサスルール判定を行う(例えばN≧3f+1)。もし判定を通過したら、本コンセンサスは成功したことを表し、前記提案情報中の取引データをブロックに書き込むことができる。
前記提案情報を次のレベルのネットワーク中のリーダーノードに前記次のレベルのネットワークが顧客端末が位置しているネットワークになるまで送信するステップは、前記最優先度ネットワーク中のリーダーノードは前記提案情報を次のレベルのネットワーク中のリーダーノードに送信し、前記次のレベルのネットワーク中のリーダーノードは前記提案情報を受信し、前記提案情報に対して署名検証を行い、署名検証を通過した後、前記提案情報中の取引データをブロックに書き込み、前記提案情報に前記リーダーノードの署名を付与し、前記提案情報を前記リーダーノードと同一ネットワーク中にあるピアノード及び次のレベルのネットワーク中のリーダーノードに前記次のレベルのネットワークが前記顧客端末が位置しているネットワークになるまで送信し、前記リーダーノードと同一ネットワーク中にあるピアノードは前記リーダーノードが送信した提案情報を受信し、前記提案情報に対して署名検証を行い、署名検証を通過した後、提案情報中の取引データをブロックに書き込むことを含む。
上層Leaderノードから送信される提案情報は多層署名を持ち、上層Leaderノードと同一ネットワーク中にあるPeerノードおよび下層Leaderノードは署名検証だけで取引データの正確性を確定でき、署名検証を通過した後、取引データをブロックに書き込む。本発明の実施例において、下層Leaderノードは、本コンセンサスの提案情報に対して署名し、その後、当該署名後の提案情報をそれと同一ネットワーク中にあるPeerノード及び下層Leaderノードに伝播する必要がある、順に類推し、顧客端末が位置しているネットワーク(即ち最下層ネットワーク)になるまで行う。
任意選択的に、ステップ303の後、前記方法はさらに、前記顧客端末と同一ネットワーク中にあり且つ前記顧客端末と接続が確立される少なくとも2つのノードは前記提案情報を受信し、前記提案情報に対して署名検証を行い、署名検証を通過した後、前記提案情報中の取引データをブロックに書き込み、前記顧客端末に応答情報を送信することを含むことができる。
ステップ301に記述したように、取引情報の合法性を確保した後、顧客端末は前記取引情報を前記顧客端末と同一ネットワーク中にある少なくとも2つのノード(PeerノードでもLeaderノードでもよい)に送信し、単独のノードがチート行為するのを防ぐ。よって、署名検証を通過した後、前記顧客端末と同一ネットワーク中にあり且つ前記顧客端末と接続が確立される少なくとも2つのノード(PeerノードでもLeaderノードでもよい)は取引データをブロックに書き込むだけでなく、前記顧客端末に応答情報を送信する。各Peerノードは他のPeerノードが当該顧客端末に応答するか否か知らず、顧客端末と接続が確立される各Peerノードが顧客端末に応答できる。
ビザンチン・フォールトトレラントコンセンサスメカニズム(BFT)はエネルギー消費が低く、スループット量が比較的大きく及び確認時間が短いという長所を有し、本発明の実施例ではBFTをピアツーピアネットワークと組み合わせ、ピアツーピアネットワークの環境において、ブロックチェーンシステム全体の合意を実現しており、コンセンサス効率を向上させ、コストを低減できる。
上記の各実施例から分かるように、本発明は、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて提案情報に対してコンセンサス判定を行い、コンセンサス判定を通過した後、提案情報を次のレベルのネットワーク中のリーダーノードに次のレベルのネットワークが顧客端末が位置しているネットワークになるまで送信する技術手段を採用しているため、従来技術における確認時間が長く、ブロックが保持する取引量が小さいという技術課題を解決している。本発明の実施例はピアツーピアネットワーク環境において、暗号学アルゴリズムを使用してデータの一致性が保証される前提で、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいてコンセンサスを行っており、コンセンサス効率を向上させることができる。実際のコンセンサス過程では、レイヤー構造内コンセンサスメカニズムを用いて、コンセンサスを小範囲内で達成させ、伝播下達の方式により、ピアツーピアネットワークと非常にマッチする一方、他方ではマイニングによる資源の無駄遣いを減少させ、コンセンサス効率を向上させることができる。
図4は本発明の別の一つの実施例に基づくブロックチェーンコンセンサス方法の主要フローの概略図である。顧客端末と同一ネットワーク中にあるリーダーノードに応用される前記ブロックチェーンコンセンサス方法は、前記顧客端末が送信した取引情報及び前記リーダーノード、前記顧客端末と同一ネットワーク中にある少なくとも1つの前記ピアノードが送信した取引情報を受信する、または、少なくとも2つの前記ピアノードが送信した取引情報を受信するステップ401と、受信した前記取引情報が一致するか否かを判断し、もし一致すれば、取引情報を前レベルのネットワーク中のリーダーノードに送信する、ステップ402とを含む。
取引情報の合法性を確保した後、顧客端末は前記取引情報を前記顧客端末と同一ネットワーク中にある少なくとも2つのノード(PeerノードでもLeaderノードでもよい)に送信し、単独のノードがチート行為するのを防ぐ。具体的に、顧客端末は取引情報をLeaderノード及び少なくとも1つのPeerノードに送信しても、取引情報を少なくとも2つのPeerノードに送信してもよい。
任意選択的に、前記取引情報には取引データ及び顧客端末の署名が含まれる。データの一致性を確保できるよう、暗号学アルゴリズムを用いて取引データを処理してもよい。任意選択的に、ステップ401は、顧客端末が送信した取引情報及び少なくとも1つのピアノードが送信した取引情報を受信し、それらに対してそれぞれ署名検証を行う、または、少なくとも2つのピアノードが送信した取引情報を受信し、それらに対してそれぞれ署名検証を行うことを含み、ここで、前記ピアノードが送信した取引情報には前記顧客端末が送信した取引情報及び前記ピアノードの署名が含まれる。ステップ201において、顧客端末はPeerノードに取引情報を送信したので、Peerノードは顧客端末が送信した取引情報を受信した後、顧客端末パブリックキーにより顧客端末署名に対して検証を行う。具体的に、取引情報中の取引データをハッシュ処理し、ハッシュ値とパブリックキーによるロック解除後の署名が一致するか否かを比較する。もし署名検証を通過したら、当該取引情報に当該Peerノードの署名を付与し、当該Peerノード署名を付与した後の取引情報を当該Peerノードと同一ネットワーク中にあるLeaderノードに送信する。よって、LeaderノードはPeerノードが(一つのまたは複数のPeerノードが転送)送信した取引情報を受信し、顧客端末が送信した取引情報を受信する可能性もあり、即ちLeaderノードは少なくとも2つの取引情報を受信することになる。LeaderノードはPeerノードが送信した取引情報を受信した場合、先にPeerノードの署名に対して検証を行い、署名検証を通過した後、顧客端末の署名に対して署名検証を行って、取引データを得る。一回目の署名検証は、Peerノードが転送した取引情報がネットワーク伝送中に改ざんされていないことを検証し、Peerノードが転送した取引情報の真実性を保証するためであり、二回目の署名検証は取引情報中の取引データは顧客端末が送信した取引データであることを検証するためである。Leaderノードは顧客端末が送信した取引情報を受信した場合、顧客端末の署名だけを検証して、取引データを得る。
任意選択的に、ステップ402は、多数決原則に基づき受信した各々の取引情報中の取引データが一致するか否かを判断し、もし一致すれば、前記取引情報に上前記リーダーノードの署名を付与し、前記取引情報を前レベルのネットワーク中のリーダーノードに送信することを含む。取引情報中の取引データが一致すると確定された場合、当該Leaderノードはそれ自身に親Leaderが存在するか否か判断し、親Leaderが存在すると仮定する場合、取引情報に自分の署名を加え、親Leaderに送信し、親Leaderも情報を受信した後、現在のLeaderノードが最上層Leaderになるまで同様に操作する(署名検証及び署名付与を含む)。Leaderノードにより各々の取引情報に対して検証を行い、取引データの一致性を確保できる。
図5は本発明のもう一つの実施例に基づくブロックチェーンコンセンサス方法の主要フローの概略図である。最優先度ネットワーク中のリーダーノードに応用される前記ブロックチェーンコンセンサス方法は、受信した取引情報に応じて提案情報を生成するステップ501と、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行うステップ502と、コンセンサス判定を通過した後、前記提案情報を次のレベルのネットワーク中のリーダーノードに送信するステップ503とを含む。
Leaderノードは絶えず最優先度ネットワーク中のLeaderノードに取引情報を送信するので、最優先度ネットワーク中のLeaderノードは一期間内に受信した取引情報または一定数の取引情報に応じて、データリスト、本コンセンサス識別子、前記最優先度ネットワーク中のリーダーノード識別子及び前記最優先度ネットワーク中のリーダーノードの署名が含まれる提案情報を生成できる。
任意選択的に、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行うステップは、前記提案情報を前記リーダーノード自身及び前記最優先度ネットワーク中のピアノードに送信し、前記提案情報を受信し、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行うことを含む。
任意選択的に、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行うステップは、前記提案情報に対して署名検証を行い、検証を通過した後、前記提案情報に応じて本コンセンサス識別子及び署名が含まれる書込情報を生成し、前記書込情報を現在のネットワーク中のすべてのノードに伝播し、受信した前記書込情報に対して署名検証及びコンセンサスルール判定を行い、判定を通過した後、前記書込情報に応じて本コンセンサス識別子及び署名が含まれる受信情報を生成し、前記受信情報を現在のネットワーク中のすべてのノードに伝播し、受信した前記受信情報に対して署名検証及びコンセンサスルール判定を行うことを含む。
本発明はさらに、中優先度ネットワーク中のリーダーノードに応用されるブロックチェーンコンセンサス方法であって、最優先度ネットワーク中のリーダーノードが送信した提案情報を受信し、前記提案情報に対して署名検証を行うステップと、署名検証を通過した後、前記提案情報中の取引データをブロックに書き込み、前記提案情報に前記リーダーノードの署名を付与し、前記提案情報を前記リーダーノードと同一ネットワーク中にあるピアノード及び次のレベルのネットワーク中のリーダーノードに前記次のレベルのネットワークが前記顧客端末が位置しているネットワークになるまで送信するステップと、を含む方法を提供する。
本発明はさらに、顧客端末と同一ネットワーク中にあるピアノードに応用されるブロックチェーンコンセンサス方法であって、前記顧客端末が送信した取引情報を受信し、それに対して署名検証を行うステップと、署名検証を通過した後、前記取引情報に前記ピアノードの署名を付与し、前記取引情報を前記ピアノードと同一ネットワーク中にあるリーダーノードに送信するステップと、を含む方法を提供する。任意選択的に、前記方法はさらに、提案情報を受信し、前記提案情報に対して署名検証を行い、署名検証を通過した後、前記提案情報中の取引データをブロックに書き込み、前記顧客端末に応答情報を送信するステップを含む。
図6は本発明の一つの参考可能な実施例に基づくブロックチェーンコンセンサス方法の主要フローの概略図である。以下に二層Leaderノードしかない実例により全過程について詳細に説明する。前記ブロックチェーンコンセンサス方法は以下のステップを含むことができる:
顧客端末は取引情報を前記顧客端と同一ネットワーク中にあるPeer11ノード、Peer12ノード、Peer14ノード及びLeader10ノードに送信するステップ601。
具体的に、顧客端末は先に取引データをハッシュ処理し、その後、顧客端末プライベートキーを用いてハッシュ値を処理して、顧客端末の署名を得ることができる。もし事前に各々のノードに顧客端末のパブリックキーを伝播していない場合、ノードが顧客端末署名を検証できるよう、前記取引情報にはさらに顧客端末のパブリックキーを含めなければならない。
Peer11ノード、Peer12ノード、Peer14ノード及びLeader10ノードは顧客端末と同一ネットワーク中にあり、且つ顧客端末と接続が確立されているため、取引情報の合法性を確保した後、顧客端末は取引情報を伝播し、Peer11ノード、Peer12ノード、Peer14ノード及びLeader10ノードは取引情報をそれぞれ受信する。
なお、概略図を簡素化するために、図6ではPeer11ノードが取引情報を受信する過程を例示的に示している。また、顧客端末は取引情報をPeer11ノード、Peer12ノード及びPeer13ノードに送信しても、Peer12ノード及びPeer13ノードに送信してもよく、本発明の実施例はこの点について特に限定せず、単独のノードがチート行為するのを防ぐ。
Peer11ノードは前記顧客端末が送信した取引情報を受信し、それに対して署名検証を行い、署名検証を通過した後、前記取引情報にPeer11ノードの署名を付与し、前記取引情報をLeader10ノードに送信するステップ602。Peer12ノード及びPeer14ノードの署名検証、署名過程はPeer11ノードと同様であるため、繰り返し説明しない。
Leader10ノードは前記顧客端末が送信した取引情報及びPeer11ノード、Peer12ノード、Peer14ノードが送信した取引情報を受信し、それらに対してそれぞれ署名検証を行い、署名検証を通過した後、受信した各々の取引情報中の取引データが一致するか否かを判断し、もし一致すれば、前記取引情報にLeader10ノードの署名を付与し、前記取引情報を前レベルのネットワーク中のLeader00ノードに送信するステップ603。
Leader10ノードはPeerノードが送信した取引情報を受信した場合、先にPeerノードの署名検証を行い、署名検証を通過した後、顧客端末署名に対して署名検証を行って、取引データを得る。
Leader00ノードは受信した取引情報に応じて提案情報を生成し、前記提案情報をLeader00ノードおよびPeer01ノード、Peer02ノード、Peer03ノード、Peer04ノードに送信するステップ604。
概略図を簡素化するために、図6ではPeer01ノード及びPeer02ノードを例示的に示し、Leader00ノードと同一ネットワーク中にある各々のPeerノードの実行過程は同様であるため、繰り返し説明しない。
Leader00ノード、Peer01ノード、Peer02ノード、Peer03ノード、Peer04ノードは、前記提案情報に対して署名検証を行い、検証を通過した後、前記提案情報に応じてWrite情報を生成し、Write情報を現在のネットワーク中のすべてのノードに伝播するステップ605。
PeerノードでもLeaderノードでも受信した提案情報に対して署名検証及びCIDの順序性確認を行い、検証を通過した後、現在のネットワーク中の他のノード及び現在のノード自身にWrite情報を伝播し、Write情報は具体的な情報内容を含む必要はなく、CID及び署名さえあればよい。
Leader00ノード、Peer01ノード、Peer02ノード、Peer03ノード、Peer04ノードはWrite情報を受信し、Write情報に対して署名検証及びコンセンサスルール判定を行い、判定を通過した後、Write情報に応じてAccpet情報を生成し、Accpet情報を現在のネットワーク中のすべてのノードに伝播するステップ606。
具体的に、主にCID順序性確認を行い、Hashにより署名を検証し、法定ルール(N≧3f+1原則)によりコンセンサスルール判定を行う。
Leader00ノード、Peer01ノード、Peer02ノード、Peer03ノード、Peer04ノードはAccpet情報を受信し、Accpet情報に対して署名検証及びコンセンサスルール判定を行い、もし判定を通過したら、本コンセンサスは成功したことを表すステップ607。
Leader00ノードは提案情報中の取引データをブロックに書き込み、前記提案情報を署名後に、次のレベルのネットワーク中のLeader10ノードに送信し、Peer01ノード、Peer02ノード、Peer03ノード、Peer04ノードは提案情報中の取引データをブロックに書き込むステップ608。
Leader10ノードは前記提案情報を受信し、前記提案情報に対して署名検証を行い、署名検証を通過した後、前記提案情報中の取引データをブロックに書き込み、前記提案情報にLeader10ノードの署名を付与した後、Peer11ノード、Peer12ノード、Peer13ノード、Peer14ノードに伝播するステップ609。
Peer11ノード、Peer12ノード、Peer13ノード、Peer14ノードはLeader10ノードが送信した提案情報を受信し、前記提案情報に対して署名検証を行い、署名検証を通過した後、提案情報中の取引データをブロックに書き込むステップ610。
署名検証を通過した後、Peer11ノード、Peer12ノード、Peer14ノード及びLeader10ノードはさらに顧客端末に応答情報を送信することができるステップ611。
また、本発明の一つの参考可能な実施例におけるブロックチェーンコンセンサス方法の具体的な実施内容は、上記ブロックチェーンコンセンサス方法において既に詳細に説明しているため、ここで重複する内容については説明しない。
図7は本発明の一つの実施例に基づくブロックチェーンコンセンサス装置の主要なモジュールの概略図である。図7に示されるように、顧客端末と同一ネットワーク中にあるリーダーノードに設けられる前記ブロックチェーンコンセンサス装置700であって、前記顧客端末が送信した取引情報及び前記リーダーノード、前記顧客端末と同一ネットワーク中にある少なくとも1つの前記ピアノードが送信した取引情報を受信する、または、少なくとも2つの前記ピアノードが送信した取引情報を受信するための第1受信モジュール701と、受信した前記取引情報が一致するか否かを判断し、もし一致すれば、取引情報を前レベルのネットワーク中のリーダーノードに送信するための第1送信モジュール702と、を備える。
任意選択的に、前記取引情報には取引データ及び顧客端末の署名が含まれ、
顧客端末が送信した取引情報及び少なくとも1つのピアノードが送信した取引情報を受信する、または、少なくとも2つのピアノードが送信した取引情報を受信するステップは、
顧客端末が送信した取引情報及び少なくとも1つのピアノードが送信した取引情報を受信し、それらに対してそれぞれ署名検証を行う、または、少なくとも2つのピアノードが送信した取引情報を受信し、それらに対してそれぞれ署名検証を行うことを含み、
ここで、前記ピアノードが送信した取引情報には前記顧客端末が送信した取引情報及び前記ピアノードの署名が含まれる。
顧客端末が送信した取引情報及び少なくとも1つのピアノードが送信した取引情報を受信する、または、少なくとも2つのピアノードが送信した取引情報を受信するステップは、
顧客端末が送信した取引情報及び少なくとも1つのピアノードが送信した取引情報を受信し、それらに対してそれぞれ署名検証を行う、または、少なくとも2つのピアノードが送信した取引情報を受信し、それらに対してそれぞれ署名検証を行うことを含み、
ここで、前記ピアノードが送信した取引情報には前記顧客端末が送信した取引情報及び前記ピアノードの署名が含まれる。
任意選択的に、受信した前記取引情報が一致するか否かを判断し、もし一致すれば、取引情報を前レベルのネットワーク中のリーダーノードに送信するステップは、
多数決原則に基づき受信した各々の取引情報中の取引データが一致するか否かを判断し、
もし一致すれば、前記取引情報に上前記リーダーノードの署名を付与し、前記取引情報を前レベルのネットワーク中のリーダーノードに送信することを含む。
多数決原則に基づき受信した各々の取引情報中の取引データが一致するか否かを判断し、
もし一致すれば、前記取引情報に上前記リーダーノードの署名を付与し、前記取引情報を前レベルのネットワーク中のリーダーノードに送信することを含む。
図8は本発明の別の一つの実施例に基づくブロックチェーンコンセンサス装置の主要なモジュールの概略図である。図8に示されるように、最優先度ネットワーク中のリーダーノードに設けられる前記ブロックチェーンコンセンサス装置800であって、受信した取引情報に応じて提案情報を生成するための提案モジュール801と、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行うためのコンセンサスモジュール802と、コンセンサス判定を通過した後、前記提案情報を次のレベルのネットワーク中のリーダーノードに送信するための第2送信モジュール803と、を備える。
任意選択的に、受信した取引情報に応じて提案情報を生成するステップは、
プリセット期間内に受信した取引情報またはプリセット数の取引情報に応じて、データリスト、本コンセンサス識別子、前記最優先度ネットワーク中のリーダーノード識別子及び前記最優先度ネットワーク中のリーダーノードの署名が含まれる提案情報を生成することを含む。
プリセット期間内に受信した取引情報またはプリセット数の取引情報に応じて、データリスト、本コンセンサス識別子、前記最優先度ネットワーク中のリーダーノード識別子及び前記最優先度ネットワーク中のリーダーノードの署名が含まれる提案情報を生成することを含む。
任意選択的に、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行うステップは、
前記提案情報を前記リーダーノード自身及び前記最優先度ネットワーク中のピアノードに送信し、
前記提案情報を受信し、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行うことを含む。
前記提案情報を前記リーダーノード自身及び前記最優先度ネットワーク中のピアノードに送信し、
前記提案情報を受信し、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行うことを含む。
任意選択的に、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行うステップは、
前記提案情報に対して署名検証を行い、検証を通過した後、前記提案情報に応じて本コンセンサス識別子及び署名が含まれる書込情報を生成し、
前記書込情報を現在のネットワーク中のすべてのノードに伝播し、
受信した前記書込情報に対して署名検証及びコンセンサスルール判定を行い、判定を通過した後、前記書込情報に応じて本コンセンサス識別子及び署名が含まれる受信情報を生成し、
前記受信情報を現在のネットワーク中のすべてのノードに伝播し、
受信した前記受信情報に対して署名検証及びコンセンサスルール判定を行うことを含む。
前記提案情報に対して署名検証を行い、検証を通過した後、前記提案情報に応じて本コンセンサス識別子及び署名が含まれる書込情報を生成し、
前記書込情報を現在のネットワーク中のすべてのノードに伝播し、
受信した前記書込情報に対して署名検証及びコンセンサスルール判定を行い、判定を通過した後、前記書込情報に応じて本コンセンサス識別子及び署名が含まれる受信情報を生成し、
前記受信情報を現在のネットワーク中のすべてのノードに伝播し、
受信した前記受信情報に対して署名検証及びコンセンサスルール判定を行うことを含む。
本発明の実施例はさらに、中優先度ネットワーク中のリーダーノードに設けられるブロックチェーンコンセンサス装置であって、最優先度ネットワーク中のリーダーノードが送信した提案情報を受信し、前記提案情報に対して署名検証を行うための第2受信モジュールと、署名検証を通過した後、前記提案情報中の取引データをブロックに書き込み、前記提案情報に前記リーダーノードの署名を付与し、前記提案情報を前記リーダーノードと同一ネットワーク中にあるピアノード及び次のレベルのネットワーク中のリーダーノードに前記次のレベルのネットワークが前記顧客端末が位置しているネットワークになるまで送信するための書込モジュールと、を備える、装置を提供する。
本発明の実施例に基づき、さらに、顧客端末と同一ネットワーク中にあるピアノードに設けられるブロックチェーンコンセンサス装置であって、前記顧客端末が送信した取引情報を受信し、それに対して署名検証を行うための第3受信モジュールと、署名検証を通過した後、前記取引情報に前記ピアノードの署名を付与し、前記取引情報を前記ピアノードと同一ネットワーク中にあるリーダーノードに送信するための第3送信モジュールと、を備える、装置を提供する。
任意選択的に、提案情報を受信し、前記提案情報に対して署名検証を行い、署名検証を通過した後、前記提案情報中の取引データをブロックに書き込み、前記顧客端末に応答情報を送信するための第4受信モジュールをさらに備える。
本発明はさらに、取引情報を同一ネットワーク中にあるリーダーノード及びピアノードのうちの少なくとも2つが含まれる少なくとも2つのノードに送信するための顧客端末と、前記顧客端末が送信した取引情報及び少なくとも1つの前記ピアノードが送信した取引情報を受信する、または、少なくとも2つの前記ピアノードが送信した取引情報を受信し、もし前記取引情報中の取引データが一致すれば、取引情報を前レベルのネットワーク中のリーダーノードに前記前レベルのネットワークの優先度が最優先度になるまで送信するための前記顧客端末と同一ネットワーク中にあるリーダーノードと、受信した取引情報に応じて提案情報を生成し、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行い、コンセンサス判定を通過した後、前記提案情報を次のレベルのネットワーク中のリーダーノードに前記次のレベルのネットワークが前記顧客端末が位置しているネットワークになるまで送信するための最優先度ネットワーク中のリーダーノードと、を含む、ブロックチェーンコンセンサスシステムを提供する。
任意選択的に、前記取引情報には取引データ及び顧客端末の署名が含まれ、
前記システムはさらに、前記顧客端末が送信した取引情報を受信し、それに対して署名検証を行い、署名検証を通過した後、前記取引情報に前記ピアノードの署名を付与し、前記取引情報を前記ピアノードと同一ネットワーク中にあるリーダーノードに送信するための前記顧客端末と同一ネットワーク中にあるピアノードを含む、または、
前記顧客端末と同一ネットワーク中にあるリーダーノードはさらに、前記顧客端末が送信した取引情報及び少なくとも1つの前記ピアノードが送信した取引情報を受信し、それらに対してそれぞれ署名検証を行う、または、少なくとも2つの前記ピアノードが送信した取引情報を受信し、それらに対してそれぞれ署名検証を行うためのものである。
前記システムはさらに、前記顧客端末が送信した取引情報を受信し、それに対して署名検証を行い、署名検証を通過した後、前記取引情報に前記ピアノードの署名を付与し、前記取引情報を前記ピアノードと同一ネットワーク中にあるリーダーノードに送信するための前記顧客端末と同一ネットワーク中にあるピアノードを含む、または、
前記顧客端末と同一ネットワーク中にあるリーダーノードはさらに、前記顧客端末が送信した取引情報及び少なくとも1つの前記ピアノードが送信した取引情報を受信し、それらに対してそれぞれ署名検証を行う、または、少なくとも2つの前記ピアノードが送信した取引情報を受信し、それらに対してそれぞれ署名検証を行うためのものである。
任意選択的に、前記顧客端末と同一ネットワーク中にあるリーダーノードはさらに、多数決原則に基づき受信した各々の取引情報中の取引データが一致するか否かを判断し、もし一致すれば、前記取引情報に上前記リーダーノードの署名を付与し、前記取引情報を前レベルのネットワーク中のリーダーノードに送信するためのものである。
前記システムはさらに、受信した取引情報に対して署名検証を行い、署名検証を通過した後、前記取引情報に前記リーダーノードの署名を付与し、前記取引情報を前レベルのネットワーク中のリーダーノードに前記前レベルのネットワークの優先度が最優先度になるまで送信するための前記前レベルのネットワーク中のリーダーノードを含む。
任意選択的に、前記最優先度ネットワーク中のリーダーノードはさらに、
プリセット期間内に受信した取引情報またはプリセット数の取引情報に応じて、データリスト、本コンセンサス識別子、前記最優先度ネットワーク中のリーダーノード識別子及び前記最優先度ネットワーク中のリーダーノードの署名が含まれる提案情報を生成するためのものである。
プリセット期間内に受信した取引情報またはプリセット数の取引情報に応じて、データリスト、本コンセンサス識別子、前記最優先度ネットワーク中のリーダーノード識別子及び前記最優先度ネットワーク中のリーダーノードの署名が含まれる提案情報を生成するためのものである。
任意選択的に、前記システムはさらに、前記最優先度ネットワーク中のピアノードを含み、
前記最優先度ネットワーク中のリーダーノードはさらに、前記提案情報を前記リーダーノード自身及び前記最優先度ネットワーク中のピアノードに送信するためのものであり、
前記リーダーノード及び前記ピアノードは、前記提案情報を受信し、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してそれぞれコンセンサス判定を行うためのものである。
前記最優先度ネットワーク中のリーダーノードはさらに、前記提案情報を前記リーダーノード自身及び前記最優先度ネットワーク中のピアノードに送信するためのものであり、
前記リーダーノード及び前記ピアノードは、前記提案情報を受信し、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してそれぞれコンセンサス判定を行うためのものである。
任意選択的に、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行うステップは、
前記提案情報に対して署名検証を行い、検証を通過した後、前記提案情報に応じて本コンセンサス識別子及び署名が含まれる書込情報を生成し、
前記書込情報を現在のネットワーク中のすべてのノードに伝播し、
受信した前記書込情報に対して署名検証及びコンセンサスルール判定を行う、判定を通過した後、前記書込情報に応じて本コンセンサス識別子及び署名が含まれる受信情報を生成し、
前記受信情報を現在のネットワーク中のすべてのノードに伝播し、
受信した前記受信情報に対して署名検証及びコンセンサスルール判定を行うことを含む。
前記提案情報に対して署名検証を行い、検証を通過した後、前記提案情報に応じて本コンセンサス識別子及び署名が含まれる書込情報を生成し、
前記書込情報を現在のネットワーク中のすべてのノードに伝播し、
受信した前記書込情報に対して署名検証及びコンセンサスルール判定を行う、判定を通過した後、前記書込情報に応じて本コンセンサス識別子及び署名が含まれる受信情報を生成し、
前記受信情報を現在のネットワーク中のすべてのノードに伝播し、
受信した前記受信情報に対して署名検証及びコンセンサスルール判定を行うことを含む。
任意選択的に、前記最優先度ネットワーク中のリーダーノードはさらに、前記提案情報を次のレベルのネットワーク中のリーダーノードに送信するためのものであり、
前記次のレベルのネットワーク中のリーダーノードはさらに、前記提案情報を受信し、前記提案情報に対して署名検証を行い、署名検証を通過した後、前記提案情報中の取引データをブロックに書き込み、前記提案情報に前記リーダーノードの署名を付与し、前記提案情報を前記リーダーノードと同一ネットワーク中にあるピアノード及び次のレベルのネットワーク中のリーダーノードに前記次のレベルのネットワークが前記顧客端末が位置しているネットワークになるまで送信するためのものであり、
前記リーダーノードと同一ネットワーク中にあるピアノードは、前記リーダーノードが送信した提案情報を受信し、前記提案情報に対して署名検証を行い、署名検証を通過した後、提案情報中の取引データをブロックに書き込むためのものである。
前記次のレベルのネットワーク中のリーダーノードはさらに、前記提案情報を受信し、前記提案情報に対して署名検証を行い、署名検証を通過した後、前記提案情報中の取引データをブロックに書き込み、前記提案情報に前記リーダーノードの署名を付与し、前記提案情報を前記リーダーノードと同一ネットワーク中にあるピアノード及び次のレベルのネットワーク中のリーダーノードに前記次のレベルのネットワークが前記顧客端末が位置しているネットワークになるまで送信するためのものであり、
前記リーダーノードと同一ネットワーク中にあるピアノードは、前記リーダーノードが送信した提案情報を受信し、前記提案情報に対して署名検証を行い、署名検証を通過した後、提案情報中の取引データをブロックに書き込むためのものである。
任意選択的に、前記顧客端末と同一ネットワーク中にあり且つ前記顧客端末と接続が確立される少なくとも2つのノードはさらに、前記提案情報を受信し、前記提案情報に対して署名検証を行い、署名検証を通過した後、前記提案情報中の取引データをブロックに書き込み、前記顧客端末に応答情報を送信するためのものである。
上記の各実施例から分かるように、本発明は、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて提案情報に対してコンセンサス判定を行い、コンセンサス判定を通過した後、提案情報を次のレベルのネットワーク中のリーダーノードに次のレベルのネットワークが顧客端末が位置しているネットワークになるまで送信する技術手段を採用しているため、従来技術における確認時間が長く、ブロックが保持する取引量が小さいという技術課題を解決している。本発明の実施例はピアツーピアネットワーク環境において、暗号学アルゴリズムを使用してデータの一致性が保証される前提で、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいてコンセンサスを行っており、コンセンサス効率を向上させることができる。実際のコンセンサス過程では、レイヤー構造内コンセンサスメカニズムを用いて、コンセンサスを小範囲内で達成させ、伝播下達の方式により、ピアツーピアネットワークと非常にマッチする一方、他方ではマイニングによる資源の無駄遣いを減少させ、コンセンサス効率を向上させることができる。
なお、本発明の前記ブロックチェーンコンセンサスシステムの具体的な実施内容は、上記前記ブロックチェーンコンセンサス方法において既に詳細に説明しているため、ここで重複する内容については説明しない。
図9は本発明の実施例を応用できるブロックチェーンコンセンサス方法又はブロックチェーンコンセンサスシステムの例示的なシステムアーキテクチャ900を示す。
図9に示されるように、システムアーキテクチャ900は端末装置901、902、903、ネットワーク904及びサーバ905を含むことができる。ネットワーク904は端末装置901、902、903及びサーバ905の間で通信リンクを提供する媒体として用いられる。ネットワーク904は各種接続タイプ、例えば有線、無線通信リンクまたは光ファイバケーブル等を含むことができる。
ユーザは端末装置901、902、903を使用してネットワーク904を介してサーバ904とインタラクティブし、情報などを受信又は送信できる。端末装置901、902、903には各種通信顧客端末アプリケーションをインストールでき、例えばショッピング系アプリケーション、ウェブブラウザアプリケーション、検索系アプリケーション、インスタントメッセージツール、メールボックス顧客端末、ソーシャルプラットフォームソフトウエア等(一部の例)をインストールできる。
端末装置901、902、903はディスプレイを備え、ウェブブラウジングをサポートする各種電子機器とすることができ、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ及びデスクトップコンピュータ等を含むがこれらに限られない。
サーバ905は各種サービスを提供するサーバとすることができ、例えばユーザ利用端末装置901、902、903で閲覧するショッピングサイトに対してサポートを提供するバックグラウンド管理サーバとすることができる(一部の例)。バックグラウンド管理サーバは、受信した製品情報調査要求等のデータに対して分析等の処理を行い、処理結果(例えばターゲットプッシュ情報、製品情報--一部の例)を端末装置にフィードバックできる。
なお、図9における端末装置、ネットワーク及びサーバの数は単なる概略的なものであり、実現要求に基づき、任意の数の端末装置、ネットワーク及びサーバを有することができる、と理解されるべきである。
以下、図10を参照し、これは本発明の実施例の端末装置を実現するのに適するコンピュータシステム1000の構造概略図を示す。図10に示す端末装置は単なる一つの例であり、本発明の実施例の機能及び使用範囲を限定するものではない。
図10に示されるように、コンピュータシステム1000は中央処理装置(CPU)1001を含み、これはリードオンリーメモリ(ROM)1002に記憶されたプログラムまたは記憶部分1008からランダムアクセスメモリ(RAM)1003にロードされたプログラムに基づき、各種適切な動作及び処理を実行できる。RAM 1003にはさらに、システム1000の操作に必要な各種プログラム及びデータが記憶される。CPU 1001、ROM 1002およびRAM1003はバス1004を介して互いに接続される。入力/出力(I/O)インターフェース1005もバス1004に接続される。
以下の部材がI/Oインターフェース1005に接続される:キーボード、マウス等の入力部分1006と、陰極線管(CRT)、液晶ディスプレイ(LCD)等およびスピーカ等の出力部分1007と、ハードディスク等の記憶部分1008と、LANカード、モデム等のネットワークインターフェイスカードの通信部分1009。通信部分1009はインターネットなどのネットワークを介して通信処理を実行する。ドライバ1010も必要に応じてI/Oインターフェース1005に接続される。リムーバルメディア1011、例えば磁気気ディスク、光ディスク、光磁気気ディスク、半導体メモリ等は、そこから読み出されたコンピュータプログラムが必要に応じて記憶部分1008にインストールされるように、必要に応じてドライバ1010にインストールされる。
特に、本発明で開示される実施例に基づき、上記でフローチャートを参照して記述したプロセスはコンピュータソフトウエアプログラムとして実現することができる。例えば、本発明で開示される実施例には、コンピュータ読み取り可能な媒体にロードされたコンピュータプログラムを含むコンピュータプログラム製品が含まれ、当該コンピュータプログラムはフローチャートに示される方法を実行するためのプログラムコードを含む。このような実施例において、当該コンピュータプログラムは通信部分1009を介してネットワークからダウンロード及びインストールする、及び/又はリムーバルメディア1011からインストールすることができる。当該コンピュータプログラムが中央処理装置(CPU)1001により実行される時、本発明のシステムで限定される上記機能が実行される。
なお、本発明に示されるコンピュータ読み取り可能な媒体は、コンピュータ読み取り可能な信号媒体またはコンピュータ読み取り可能な記憶媒体または上記両者の任意の組み合わせとすることができる。コンピュータ読み取り可能な記憶媒体は、例えば、電気、磁気、光、電磁、赤外線、又は半導体のシステム、装置又はデバイス、または以上の任意の組み合わせとすることができるがこれらに限られない。コンピュータ読み取り可能な記憶媒体のより具体的な例としては、一つの又は複数の導線を有する電気接続、ポータブルコンピュータ磁気ディスク、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、書き換え可能なリードオンリーメモリ(EPROM又はフラッシュメモリ)、光ファイバ、ポータブルコンパクト磁気ディスクリードオンリーメモリ(CD-ROM)、光記憶装置、磁気記憶装置、または上記の任意の適切な組み合わせを含むことができるがこれらに限られない。本発明において、コンピュータ読み取り可能な記憶媒体は、プログラムを含む又は記憶する如何なる有形媒体でもよく、当該プログラムはコマンド実行システム、装置またはデバイスにより使用される、またはそれと組み合わせて使用できる。また、本公開において、コンピュータ読み取り可能な信号媒体はベースバンドに、または搬送波の一部分として伝播するデータ信号に含まれてもよく、その中にコンピュータ読み取り可能なプログラムコードがロードされる。このような伝播するデータ信号は複数種類の形式を採用することができ、電磁気信号、光信号又は上記の任意の適切な組み合わせを含むことができるがこれらに限られない。コンピュータ読み取り可能な信号媒体はさらに、コンピュータ読み取り可能な記憶媒体以外の如何なるコンピュータ読み取り可能な媒体とすることができ、当該コンピュータ読み取り可能な媒体は、コマンド実行システム、装置またはデバイスにより使用される、またはそれと組み合わせて使用されるプログラムを送信、伝播または伝送することができる。コンピュータ読み取り可能な媒体に含まれるプログラムコードは適切な如何なる媒体で伝送してもよく、無線、電線、光ケーブル、RF等等、または上記の任意の適切な組み合わせを含むがこれらに限られない。
図面におけるフローチャート及びブロック図は、本公開の各実施例のシステム、方法及びコンピュータプログラム製品に基づき実現可能なアーキテクチャ、機能及び操作を示す。この点において、フローチャート又はブロック図中の各ブロックは一つのモジュール、プログラムセクション、又はコードの一部分を表すことができ、上記モジュール、プログラムセクション、又はコードの一部分は一つの又は複数の、所定の論理機能を実現するための実行可能なコマンドを含む。なお、一部の代替的な実現において、ブロックに注記される機能は図面の注記と異なる順序で生じてもよい。例えば、2つの連続して表示されるブロックは実際、基本的に並行して実行でき、場合によっては反対の順序で実行してもよく、これは関連する機能に基づいて定めることができる。なお、ブロック図又はフローチャート中の各ブロック、およびブロック図又はフローチャート中のブロックの組み合わせは、所定の機能又は操作を実行するための専用の、ハードウエアに基づくシステムにより実現しても、専用ハードウエアとコンピュータコマンドの組み合わせにより実現してもよいと注意すべきである。
本発明の実施例に記述された関連のモジュールは、ソフトウエアで実現しても、ハードウエアで実現してもよい。記述したモジュールは、プロセッサに設けてもよく、例えば、第1受信モジュール及び第1送信モジュールを含むプロセッサ、と記述してもよい。そのうち、これらモジュールの名称はある場合において、当該モジュール自身に対する限定にはならない。
別の態様として、本発明はさらに、コンピュータ読み取り可能な媒体を提供する。当該コンピュータ読み取り可能な媒体は、上記実施例において記述された設備に含まれても、単独で存在してもよいが、当該設備に取り付けられてはいない。上記コンピュータ読み取り可能な媒体には、一つのまたは複数のプログラムがロードされ、上記一つのまたは複数のプログラムが一つの当該設備により実行される時、当該設備は、前記顧客端末が送信した取引情報及び前記リーダーノード、前記顧客端末と同一ネットワーク中にある少なくとも1つの前記ピアノードが送信した取引情報を受信する、または、少なくとも2つの前記ピアノードが送信した取引情報を受信し、受信した前記取引情報が一致するか否かを判断し、もし一致すれば、取引情報を前レベルのネットワーク中のリーダーノードに送信する、ことを含むようになる。
本発明の実施例の技術方案によれば、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて提案情報に対してコンセンサス判定を行い、コンセンサス判定を通過した後、提案情報を次のレベルのネットワーク中のリーダーノードに次のレベルのネットワークが顧客端末が位置しているネットワークになるまで送信する技術手段を採用しているため、従来技術における確認時間が長く、ブロックが保持する取引量が小さいという技術課題を解決している。本発明の実施例はピアツーピアネットワーク環境において、暗号学アルゴリズムを使用してデータの一致性が保証される前提で、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいてコンセンサスを行っており、コンセンサス効率を向上させることができる。実際のコンセンサス過程では、レイヤー構造内コンセンサスメカニズムを用いて、コンセンサスを小範囲内で達成させ、伝播下達の方式により、ピアツーピアネットワークと非常にマッチする一方、他方ではマイニングによる資源の無駄遣いを減少させ、コンセンサス効率を向上させることができる。
上記発明を実施するための形態は本公開の保護範囲を限定するものではない。設計要求及び他の要素によって、各種様々な修正、コンビネーション、サブコンビネーション及び替代案を有することができることは当業者にとって明白である。本発明の精神及び原則の範囲内で行われる如何なる修正、均等の差し替え及び改良等も本発明の保護範囲内に含まれると理解されるべきである。
[発明の項目]
[項目1]
顧客端末と同一ネットワーク中にあるリーダーノードに応用されるブロックチェーンコンセンサス方法であって、
前記顧客端末が送信した取引情報及び前記リーダーノード、前記顧客端末と同一ネットワーク中にある少なくとも1つのピアノードが送信した取引情報を受信する、または、少なくとも2つの前記ピアノードが送信した取引情報を受信するステップと、
受信した前記取引情報が一致するか否かを判断し、もし一致すれば、取引情報を前レベルのネットワーク中のリーダーノードに送信するステップと、
を含む、
ブロックチェーンコンセンサス方法。
[項目2]
前記取引情報には取引データ及び顧客端末の署名が含まれ、
前記の顧客端末が送信した取引情報及び少なくとも1つのピアノードが送信した取引情報を受信する、または少なくとも2つのピアノードが送信した取引情報を受信するステップは、
顧客端末が送信した取引情報及び少なくとも1つのピアノードが送信した取引情報を受信し、それらに対してそれぞれ署名検証を行う、または、少なくとも2つのピアノードが送信した取引情報を受信し、それらに対してそれぞれ署名検証を行うことを含み、
ここで、前記ピアノードが送信した取引情報には前記顧客端末が送信した取引情報及び前記ピアノードの署名が含まれる、
項目1に記載のブロックチェーンコンセンサス方法。
[項目3]
前記の受信した前記取引情報が一致するか否かを判断し、もし一致すれば、取引情報を前レベルのネットワーク中のリーダーノードに送信するステップはさらに、
多数決原則に基づき受信した各々の取引情報中の取引データが一致するか否かを判断し、
もし一致すれば、前記取引情報に上前記リーダーノードの署名を付与し、前記取引情報を前レベルのネットワーク中のリーダーノードに送信することを含む、
項目1に記載のブロックチェーンコンセンサス方法。
[項目4]
最優先度ネットワーク中のリーダーノードに応用されるブロックチェーンコンセンサス方法であって、
受信した取引情報に応じて提案情報を生成するステップと、
ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行うステップと、
コンセンサス判定を通過した後、前記提案情報を次のレベルのネットワーク中のリーダーノードに送信するステップと、
を含む、
ブロックチェーンコンセンサス方法。
[項目5]
前記の受信した取引情報に応じて提案情報を生成するステップはさらに、
プリセット期間内に受信した取引情報またはプリセット数の取引情報に応じて、データリスト、本コンセンサス識別子、前記最優先度ネットワーク中のリーダーノード識別子及び前記最優先度ネットワーク中のリーダーノードの署名が含まれる提案情報を生成することを含む、
項目4に記載のブロックチェーンコンセンサス方法。
[項目6]
前記のビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行うステップはさらに、
前記提案情報を前記リーダーノード自身及び前記最優先度ネットワーク中のピアノードに送信し、
前記提案情報を受信し、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行うことを含む、
項目4に記載のブロックチェーンコンセンサス方法。
[項目7]
前記のビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行うステップはさらに、
前記提案情報に対して署名検証を行い、検証を通過した後、前記提案情報に応じて本コンセンサス識別子及び署名が含まれる書込情報を生成し、
前記書込情報を現在のネットワーク中のすべてのノードに伝播し、
受信した前記書込情報に対して署名検証及びコンセンサスルール判定を行い、判定を通過した後、前記書込情報に応じて本コンセンサス識別子及び署名が含まれる受信情報を生成し、
前記受信情報を現在のネットワーク中のすべてのノードに伝播し、そして、
受信した前記受信情報に対して署名検証及びコンセンサスルール判定を行うことを含む、
項目6に記載のブロックチェーンコンセンサス方法。
[項目8]
中優先度ネットワーク中のリーダーノードに応用されるブロックチェーンコンセンサス方法であって、
最優先度ネットワーク中のリーダーノードが送信した提案情報を受信し、前記提案情報に対して署名検証を行うステップと、
署名検証を通過した後、前記提案情報中の取引データをブロックに書き込み、前記提案情報に前記リーダーノードの署名を付与し、前記提案情報を前記リーダーノードと同一ネットワーク中にあるピアノード及び次のレベルのネットワーク中のリーダーノードに前記次のレベルのネットワークが前記顧客端末が位置しているネットワークになるまで送信するステップと、
を含む、
ブロックチェーンコンセンサス方法。
[項目9]
顧客端末と同一ネットワーク中にあるピアノードに応用されるブロックチェーンコンセンサス方法であって、
前記顧客端末が送信した取引情報を受信し、それに対して署名検証を行うステップと、
署名検証を通過した後、前記取引情報に前記ピアノードの署名を付与し、前記取引情報を前記ピアノードと同一ネットワーク中にあるリーダーノードに送信するステップと、
を含む、
ブロックチェーンコンセンサス方法。
[項目10]
提案情報を受信し、前記提案情報に対して署名検証を行い、署名検証を通過した後、前記提案情報中の取引データをブロックに書き込み、前記顧客端末に応答情報を送信するステップをさらに含む、
項目9に記載のブロックチェーンコンセンサス方法。
[項目11]
顧客端末と同一ネットワーク中にあるリーダーノードに設けられるブロックチェーンコンセンサス装置であって、
前記顧客端末が送信した取引情報及び前記リーダーノード、前記顧客端末と同一ネットワーク中にある少なくとも1つの前記ピアノードが送信した取引情報を受信する、または、少なくとも2つの前記ピアノードが送信した取引情報を受信するための第1受信モジュールと、
受信した前記取引情報が一致するか否かを判断し、もし一致すれば、取引情報を前レベルのネットワーク中のリーダーノードに送信するための第1送信モジュールと、
を備える、
ブロックチェーンコンセンサス装置。
[項目12]
最優先度ネットワーク中のリーダーノードに設けられるブロックチェーンコンセンサス装置であって、
受信した取引情報に応じて提案情報を生成するための提案モジュールと、
ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行うためのコンセンサスモジュールと、
コンセンサス判定を通過した後、前記提案情報を次のレベルのネットワーク中のリーダーノードに送信するための第2送信モジュールと、
を備える、
ブロックチェーンコンセンサス装置。
[項目13]
中優先度ネットワーク中のリーダーノードに設けられるブロックチェーンコンセンサス装置であって、
最優先度ネットワーク中のリーダーノードが送信した提案情報を受信し、前記提案情報に対して署名検証を行うための第2受信モジュールと、
署名検証を通過した後、前記提案情報中の取引データをブロックに書き込み、前記提案情報に前記リーダーノードの署名を付与し、前記提案情報を前記リーダーノードと同一ネットワーク中にあるピアノード及び次のレベルのネットワーク中のリーダーノードに前記次のレベルのネットワークが前記顧客端末が位置しているネットワークになるまで送信するための書込モジュールと、
を備える、
ブロックチェーンコンセンサス装置。
[項目14]
顧客端末と同一ネットワーク中にあるピアノードに設けられるブロックチェーンコンセンサス装置であって、
前記顧客端末が送信した取引情報を受信し、それに対して署名検証を行うための第3受信モジュールと、
署名検証を通過した後、前記取引情報に前記ピアノードの署名を付与し、前記取引情報を前記ピアノードと同一ネットワーク中にあるリーダーノードに送信するための第3送信モジュールと、
を備える、
ブロックチェーンコンセンサス装置。
[項目15]
顧客端末は取引情報を前記顧客端末と同一ネットワーク中にあるリーダーノード及びピアノードのうちの少なくとも2つが含まれる少なくとも2つのノードに送信するステップと、
前記顧客端末と同一ネットワーク中にあるリーダーノードは前記顧客端末が送信した取引情報及び少なくとも1つの前記ピアノードが送信した取引情報を受信し、または、少なくとも2つの前記ピアノードが送信した取引情報を受信し、もし前記取引情報中の取引データが一致すれば、取引情報を前レベルのネットワーク中のリーダーノードに前記前レベルのネットワークの優先度が最優先度になるまで送信するステップと、
最優先度ネットワーク中のリーダーノードは受信した取引情報に応じて提案情報を生成し、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行い、コンセンサス判定を通過した後、前記提案情報を次のレベルのネットワーク中のリーダーノードに前記次のレベルのネットワークが前記顧客端末が位置しているネットワークになるまで送信するステップと、
を含む、
ブロックチェーンコンセンサス方法。
[項目16]
取引情報を同一ネットワーク中にあるリーダーノード及びピアノードのうちの少なくとも2つが含まれる少なくとも2つのノードに送信するための顧客端末と、
前記顧客端末が送信した取引情報及び少なくとも1つの前記ピアノードが送信した取引情報を受信する、または、少なくとも2つの前記ピアノードが送信した取引情報を受信し、もし前記取引情報中の取引データが一致すれば、取引情報を前レベルのネットワーク中のリーダーノードに前記前レベルのネットワークの優先度が最優先度になるまで送信するための前記顧客端末と同一ネットワーク中にあるリーダーノードと、
受信した取引情報に応じて提案情報を生成し、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行い、コンセンサス判定を通過した後、前記提案情報を次のレベルのネットワーク中のリーダーノードに前記次のレベルのネットワークが前記顧客端末が位置しているネットワークになるまで送信するための最優先度ネットワーク中のリーダーノードと、
を含む、
ブロックチェーンコンセンサスシステム。
[項目17]
一つの又は複数のプロセッサと、
一つの又は複数のプログラムを記憶するための記憶装置と、
を備え、
前記一つの又は複数のプロセッサが項目1~10のいずれか一項に記載の方法を実現するように前記一つの又は複数のプログラムが前記一つの又は複数のプロセッサにより実行される、
電子機器。
[項目18]
コンピュータプログラムが記憶されたコンピュータ読み取り可能な媒体であって、
前記プログラムがプロセッサにより実行される時に項目1~10のいずれか一項に記載の方法が実現される、
コンピュータ読み取り可能な媒体。
[発明の項目]
[項目1]
顧客端末と同一ネットワーク中にあるリーダーノードに応用されるブロックチェーンコンセンサス方法であって、
前記顧客端末が送信した取引情報及び前記リーダーノード、前記顧客端末と同一ネットワーク中にある少なくとも1つのピアノードが送信した取引情報を受信する、または、少なくとも2つの前記ピアノードが送信した取引情報を受信するステップと、
受信した前記取引情報が一致するか否かを判断し、もし一致すれば、取引情報を前レベルのネットワーク中のリーダーノードに送信するステップと、
を含む、
ブロックチェーンコンセンサス方法。
[項目2]
前記取引情報には取引データ及び顧客端末の署名が含まれ、
前記の顧客端末が送信した取引情報及び少なくとも1つのピアノードが送信した取引情報を受信する、または少なくとも2つのピアノードが送信した取引情報を受信するステップは、
顧客端末が送信した取引情報及び少なくとも1つのピアノードが送信した取引情報を受信し、それらに対してそれぞれ署名検証を行う、または、少なくとも2つのピアノードが送信した取引情報を受信し、それらに対してそれぞれ署名検証を行うことを含み、
ここで、前記ピアノードが送信した取引情報には前記顧客端末が送信した取引情報及び前記ピアノードの署名が含まれる、
項目1に記載のブロックチェーンコンセンサス方法。
[項目3]
前記の受信した前記取引情報が一致するか否かを判断し、もし一致すれば、取引情報を前レベルのネットワーク中のリーダーノードに送信するステップはさらに、
多数決原則に基づき受信した各々の取引情報中の取引データが一致するか否かを判断し、
もし一致すれば、前記取引情報に上前記リーダーノードの署名を付与し、前記取引情報を前レベルのネットワーク中のリーダーノードに送信することを含む、
項目1に記載のブロックチェーンコンセンサス方法。
[項目4]
最優先度ネットワーク中のリーダーノードに応用されるブロックチェーンコンセンサス方法であって、
受信した取引情報に応じて提案情報を生成するステップと、
ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行うステップと、
コンセンサス判定を通過した後、前記提案情報を次のレベルのネットワーク中のリーダーノードに送信するステップと、
を含む、
ブロックチェーンコンセンサス方法。
[項目5]
前記の受信した取引情報に応じて提案情報を生成するステップはさらに、
プリセット期間内に受信した取引情報またはプリセット数の取引情報に応じて、データリスト、本コンセンサス識別子、前記最優先度ネットワーク中のリーダーノード識別子及び前記最優先度ネットワーク中のリーダーノードの署名が含まれる提案情報を生成することを含む、
項目4に記載のブロックチェーンコンセンサス方法。
[項目6]
前記のビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行うステップはさらに、
前記提案情報を前記リーダーノード自身及び前記最優先度ネットワーク中のピアノードに送信し、
前記提案情報を受信し、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行うことを含む、
項目4に記載のブロックチェーンコンセンサス方法。
[項目7]
前記のビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行うステップはさらに、
前記提案情報に対して署名検証を行い、検証を通過した後、前記提案情報に応じて本コンセンサス識別子及び署名が含まれる書込情報を生成し、
前記書込情報を現在のネットワーク中のすべてのノードに伝播し、
受信した前記書込情報に対して署名検証及びコンセンサスルール判定を行い、判定を通過した後、前記書込情報に応じて本コンセンサス識別子及び署名が含まれる受信情報を生成し、
前記受信情報を現在のネットワーク中のすべてのノードに伝播し、そして、
受信した前記受信情報に対して署名検証及びコンセンサスルール判定を行うことを含む、
項目6に記載のブロックチェーンコンセンサス方法。
[項目8]
中優先度ネットワーク中のリーダーノードに応用されるブロックチェーンコンセンサス方法であって、
最優先度ネットワーク中のリーダーノードが送信した提案情報を受信し、前記提案情報に対して署名検証を行うステップと、
署名検証を通過した後、前記提案情報中の取引データをブロックに書き込み、前記提案情報に前記リーダーノードの署名を付与し、前記提案情報を前記リーダーノードと同一ネットワーク中にあるピアノード及び次のレベルのネットワーク中のリーダーノードに前記次のレベルのネットワークが前記顧客端末が位置しているネットワークになるまで送信するステップと、
を含む、
ブロックチェーンコンセンサス方法。
[項目9]
顧客端末と同一ネットワーク中にあるピアノードに応用されるブロックチェーンコンセンサス方法であって、
前記顧客端末が送信した取引情報を受信し、それに対して署名検証を行うステップと、
署名検証を通過した後、前記取引情報に前記ピアノードの署名を付与し、前記取引情報を前記ピアノードと同一ネットワーク中にあるリーダーノードに送信するステップと、
を含む、
ブロックチェーンコンセンサス方法。
[項目10]
提案情報を受信し、前記提案情報に対して署名検証を行い、署名検証を通過した後、前記提案情報中の取引データをブロックに書き込み、前記顧客端末に応答情報を送信するステップをさらに含む、
項目9に記載のブロックチェーンコンセンサス方法。
[項目11]
顧客端末と同一ネットワーク中にあるリーダーノードに設けられるブロックチェーンコンセンサス装置であって、
前記顧客端末が送信した取引情報及び前記リーダーノード、前記顧客端末と同一ネットワーク中にある少なくとも1つの前記ピアノードが送信した取引情報を受信する、または、少なくとも2つの前記ピアノードが送信した取引情報を受信するための第1受信モジュールと、
受信した前記取引情報が一致するか否かを判断し、もし一致すれば、取引情報を前レベルのネットワーク中のリーダーノードに送信するための第1送信モジュールと、
を備える、
ブロックチェーンコンセンサス装置。
[項目12]
最優先度ネットワーク中のリーダーノードに設けられるブロックチェーンコンセンサス装置であって、
受信した取引情報に応じて提案情報を生成するための提案モジュールと、
ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行うためのコンセンサスモジュールと、
コンセンサス判定を通過した後、前記提案情報を次のレベルのネットワーク中のリーダーノードに送信するための第2送信モジュールと、
を備える、
ブロックチェーンコンセンサス装置。
[項目13]
中優先度ネットワーク中のリーダーノードに設けられるブロックチェーンコンセンサス装置であって、
最優先度ネットワーク中のリーダーノードが送信した提案情報を受信し、前記提案情報に対して署名検証を行うための第2受信モジュールと、
署名検証を通過した後、前記提案情報中の取引データをブロックに書き込み、前記提案情報に前記リーダーノードの署名を付与し、前記提案情報を前記リーダーノードと同一ネットワーク中にあるピアノード及び次のレベルのネットワーク中のリーダーノードに前記次のレベルのネットワークが前記顧客端末が位置しているネットワークになるまで送信するための書込モジュールと、
を備える、
ブロックチェーンコンセンサス装置。
[項目14]
顧客端末と同一ネットワーク中にあるピアノードに設けられるブロックチェーンコンセンサス装置であって、
前記顧客端末が送信した取引情報を受信し、それに対して署名検証を行うための第3受信モジュールと、
署名検証を通過した後、前記取引情報に前記ピアノードの署名を付与し、前記取引情報を前記ピアノードと同一ネットワーク中にあるリーダーノードに送信するための第3送信モジュールと、
を備える、
ブロックチェーンコンセンサス装置。
[項目15]
顧客端末は取引情報を前記顧客端末と同一ネットワーク中にあるリーダーノード及びピアノードのうちの少なくとも2つが含まれる少なくとも2つのノードに送信するステップと、
前記顧客端末と同一ネットワーク中にあるリーダーノードは前記顧客端末が送信した取引情報及び少なくとも1つの前記ピアノードが送信した取引情報を受信し、または、少なくとも2つの前記ピアノードが送信した取引情報を受信し、もし前記取引情報中の取引データが一致すれば、取引情報を前レベルのネットワーク中のリーダーノードに前記前レベルのネットワークの優先度が最優先度になるまで送信するステップと、
最優先度ネットワーク中のリーダーノードは受信した取引情報に応じて提案情報を生成し、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行い、コンセンサス判定を通過した後、前記提案情報を次のレベルのネットワーク中のリーダーノードに前記次のレベルのネットワークが前記顧客端末が位置しているネットワークになるまで送信するステップと、
を含む、
ブロックチェーンコンセンサス方法。
[項目16]
取引情報を同一ネットワーク中にあるリーダーノード及びピアノードのうちの少なくとも2つが含まれる少なくとも2つのノードに送信するための顧客端末と、
前記顧客端末が送信した取引情報及び少なくとも1つの前記ピアノードが送信した取引情報を受信する、または、少なくとも2つの前記ピアノードが送信した取引情報を受信し、もし前記取引情報中の取引データが一致すれば、取引情報を前レベルのネットワーク中のリーダーノードに前記前レベルのネットワークの優先度が最優先度になるまで送信するための前記顧客端末と同一ネットワーク中にあるリーダーノードと、
受信した取引情報に応じて提案情報を生成し、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行い、コンセンサス判定を通過した後、前記提案情報を次のレベルのネットワーク中のリーダーノードに前記次のレベルのネットワークが前記顧客端末が位置しているネットワークになるまで送信するための最優先度ネットワーク中のリーダーノードと、
を含む、
ブロックチェーンコンセンサスシステム。
[項目17]
一つの又は複数のプロセッサと、
一つの又は複数のプログラムを記憶するための記憶装置と、
を備え、
前記一つの又は複数のプロセッサが項目1~10のいずれか一項に記載の方法を実現するように前記一つの又は複数のプログラムが前記一つの又は複数のプロセッサにより実行される、
電子機器。
[項目18]
コンピュータプログラムが記憶されたコンピュータ読み取り可能な媒体であって、
前記プログラムがプロセッサにより実行される時に項目1~10のいずれか一項に記載の方法が実現される、
コンピュータ読み取り可能な媒体。
A、B、C…サブネットワーク
700、800…ブロックチェーンコンセンサス装置
701…第1受信モジュール
702…第1送信モジュール
801…提案モジュール
802…コンセンサスモジュール
803…第2送信モジュール
900…システムアーキテクチャ
901、902、903…ユーザ利用端末装置
904…ネットワーク
905…サーバ
1000…コンピュータシステム
1001…中央処理装置
1002…リードオンリーメモリ、RОM
1008…記憶部分
1003…ランダムアクセスメモリ,RAM
1004…バス
1005…出力インターフェース,Oインターフェース
1006…入力部分
1007…出力部分
1009…通信部分
1010…ドライバ
1011…リムーバルメディア
700、800…ブロックチェーンコンセンサス装置
701…第1受信モジュール
702…第1送信モジュール
801…提案モジュール
802…コンセンサスモジュール
803…第2送信モジュール
900…システムアーキテクチャ
901、902、903…ユーザ利用端末装置
904…ネットワーク
905…サーバ
1000…コンピュータシステム
1001…中央処理装置
1002…リードオンリーメモリ、RОM
1008…記憶部分
1003…ランダムアクセスメモリ,RAM
1004…バス
1005…出力インターフェース,Oインターフェース
1006…入力部分
1007…出力部分
1009…通信部分
1010…ドライバ
1011…リムーバルメディア
Claims (15)
- ブロックチェーンコンセンサス方法であって、
ピアツーピアネットワークを、異なる優先度を有する複数のサブネットワークに分割し、ここで、各サブネットワークは、複数のノードを含み、前記複数のノードは、少なくとも1つの外部ネットワークと通信できるリーダーノード及び少なくとも1つのピアノードを含み、
顧客端末と同一ネットワーク中にあるリーダーノードが、前記顧客端末が送信した取引情報及び少なくとも1つのピアノードが送信した取引情報を受信する、または、少なくとも2つの前記ピアノードが送信した取引情報を受信し、
受信した前記取引情報が一致するか否かを判断し、もし一致すれば、取引情報を前レベル(upperlevel)のサブネットワーク中のリーダーノードに前記前レベルのサブネットワークが最優先度のサブネットワークになるまで送信し、
最優先度サブネットワーク中のリーダーノードが、受信した取引情報に応じて提案情報を生成し、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行い、コンセンサス判定を通過した後、前記提案情報を次のレベル(lower-level)のサブネットワーク中のリーダーノードに前記次のレベルのサブネットワークが前記顧客端末が位置しているサブネットワークになるまで送信すること、
を含む、
ブロックチェーンコンセンサス方法。 - 前記顧客端末が送信した取引情報には取引データ及び顧客端末の署名が含まれ、
前記顧客端末と同一サブネットワーク中にあるリーダーノードが、顧客端末が送信した取引情報及び少なくとも1つのピアノードが送信した取引情報を受信する、または少なくとも2つのピアノードが送信した取引情報を受信することは、
顧客端末が送信した取引情報及び少なくとも1つのピアノードが送信した取引情報を受信し、それらに対してそれぞれ署名検証を行う、または、少なくとも2つのピアノードが送信した取引情報を受信し、それらに対してそれぞれ署名検証を行うことを含み、
ここで、各ピアノードが送信した取引情報のいずれにも前記顧客端末が送信した取引情報及び前記ピアノードの署名が含まれる、
請求項1に記載のブロックチェーンコンセンサス方法。 - 前記顧客端末と同一サブネットワーク中にあるリーダーノードが、多数決原則に基づき各々の取引情報中の取引データが一致するか否かを判断し、
もし一致すれば、前記取引情報に現在のサブネットワーク中のリーダーノードの署名を付与し、前記取引情報を前レベルのサブネットワーク中のリーダーノードに送信することを含む、
請求項1に記載のブロックチェーンコンセンサス方法。 - 前記最優先度サブネットワーク中のリーダーノードが、受信した取引情報に応じて提案情報を生成することはさらに、
プリセット期間内に受信した取引情報またはプリセット数の取引情報に応じて、データリスト、本コンセンサス識別子、前記最優先度サブネットワーク中のリーダーノード識別子及び前記最優先度サブネットワーク中のリーダーノードの署名が含まれる提案情報を生成することを含む、
請求項1に記載のブロックチェーンコンセンサス方法。 - 前記ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行うことはさらに、
前記提案情報を前記最優先度サブネットワーク中のリーダーノード自身及び前記最優先度サブネットワーク中のピアノードに送信し、
前記提案情報を受信し、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行うことを含む、
請求項1に記載のブロックチェーンコンセンサス方法。 - 前記ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行うことはさらに、
前記提案情報に対して署名検証を行い、検証を通過した後、前記提案情報に応じて本コンセンサス識別子及び署名が含まれる書込情報を生成し、
前記書込情報を現在の最優先度サブネットワーク中のすべてのノードに伝播し、
受信した前記書込情報に対して署名検証及びコンセンサスルール判定を行い、判定を通過した後、前記書込情報に応じて本コンセンサス識別子及び署名が含まれる受信情報を生成し、
前記受信情報を現在の最優先度サブネットワーク中のすべてのノードに伝播し、そして、
受信した前記受信情報に対して署名検証及びコンセンサスルール判定を行うことを含む、
請求項5に記載のブロックチェーンコンセンサス方法。 - 前記複数のサブネットワーク中の中優先度サブネットワークが、最優先度サブネットワーク中のリーダーノードが送信した提案情報を受信し、前記提案情報に対して署名検証を行い、
署名検証を通過した後、前記提案情報中の取引データをブロックに書き込み、前記提案情報に前記中優先度サブネットワーク中のリーダーノードの署名を付与し、前記提案情報を前記中優先度サブネットワーク中のリーダーノードと同一サブネットワーク中にあるピアノード及び次のレベルのサブネットワーク中のリーダーノードに前記次のレベルのサブネットワークが前記顧客端末が位置しているサブネットワークになるまで送信すること、
をさらに含む、
請求項1に記載のブロックチェーンコンセンサス方法。 - 顧客端末と同一サブネットワーク中にあるピアノードが、前記顧客端末が送信した取引情報を受信し、それに対して署名検証を行い、
署名検証を通過した後、前記取引情報に前記ピアノードの署名を付与し、前記取引情報を前記ピアノードと同一サブネットワーク中にあるリーダーノードに送信すること、
をさらに含む、
請求項1に記載のブロックチェーンコンセンサス方法。 - 前記顧客端末と同一サブネットワーク中にあるピアノードが、提案情報を受信し、前記提案情報に対して署名検証を行い、署名検証を通過した後、前記提案情報中の取引データをブロックに書き込み、前記顧客端末に応答情報を送信することを含む、
請求項1に記載のブロックチェーンコンセンサス方法。 - ブロックチェーンコンセンサス装置であって、
ピアツーピアネットワークを、異なる優先度を有する複数のサブネットワークに分割するためのものであり、各サブネットワークは、複数のノードを含み、前記複数のノードは、少なくとも1つの外部ネットワークと通信できるリーダーノード及び少なくとも1つのピアノードを含む、分割モジュールと、
顧客端末と同一サブネットワーク中にあり、前記顧客端末が送信した取引情報及び少なくとも1つの前記ピアノードが送信した取引情報を受信する、または、少なくとも2つの前記ピアノードが送信した取引情報を受信するための第1受信モジュールと、
受信した前記取引情報が一致するか否かを判断し、もし一致すれば、取引情報を前レベルのネットワーク中のリーダーノードに前記前レベルのサブネットワークが最優先度のサブネットワークになるまで送信するための第1送信モジュールと、
最優先度のサブネットワークにおいて、受信した取引情報に応じて提案情報を生成するための提案モジュールと、
ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行うためのコンセンサスモジュールと、
コンセンサス判定を通過した後、前記提案情報を次のレベルのサブネットワーク中のリーダーノードに前記次のレベルのサブネットワークが前記顧客端末が位置しているサブネットワークになるまで送信するための第2送信モジュールと、
を備える、
ブロックチェーンコンセンサス装置。 - 前記複数のサブネットワーク中にある中優先度サブネットワークにおいて最優先度サブネットワーク中のリーダーノードが送信した提案情報を受信し、前記提案情報に対して署名検証を行うための第2受信モジュールと、
署名検証を通過した後、前記提案情報中の取引データをブロックに書き込み、前記提案情報に前記中優先度サブネットワーク中のリーダーノードの署名を付与し、前記提案情報を前記中優先度サブネットワーク中のリーダーノードと同一サブネットワーク中にあるピアノード及び次のレベルのサブネットワーク中のリーダーノードに前記次のレベルのサブネットワークが前記顧客端末が位置しているサブネットワークになるまで送信するための書込モジュールと、
をさらに備える、
請求項10に記載のブロックチェーンコンセンサス装置。 - 顧客端末が位置している同一サブネットワークにおいて前記顧客端末が送信した取引情報を受信し、それに対して署名検証を行うための第3受信モジュールと、
署名検証を通過した後、前記取引情報に前記ピアノードの署名を付与し、前記取引情報を前記顧客端末と同一サブネットワーク中にあるリーダーノードに送信するための第3送信モジュールと、
をさらに備える、
請求項10に記載のブロックチェーンコンセンサス装置。 - 異なる優先度を有する複数のサブネットワークに分割され、各サブネットワークは、複数のノードを含み、前記複数のノードは、少なくとも1つの外部ネットワークと通信できるリーダーノード及び少なくとも1つのピアノードを含むピアツーピアネットワークと、
取引情報を同一サブネットワーク中にあるリーダーノード及びピアノードのうちの少なくとも2つが含まれる少なくとも2つのノードに送信するための顧客端末と、
前記顧客端末が送信した取引情報及び少なくとも1つのピアノードが送信した取引情報を受信する、または、少なくとも2つのピアノードが送信した取引情報を受信し、
もし前記取引情報中の取引データが一致すれば、取引情報を前レベルのネットワーク中のリーダーノードに前記前レベルのサブネットワークが最優先度サブネットワークになるまで送信するための前記顧客端末と同一サブネットワーク中にあるリーダーノードと、
受信した取引情報に応じて提案情報を生成し、ビザンチン・フォールトトレラントコンセンサスメカニズムに基づいて前記提案情報に対してコンセンサス判定を行い、コンセンサス判定を通過した後、前記提案情報を次のレベルのサブネットワーク中のリーダーノードに前記次のレベルのサブネットワークが前記顧客端末が位置しているサブネットワークになるまで送信するための最優先度サブネットワーク中のリーダーノードと、
を含む、
ブロックチェーンコンセンサスシステム。 - 一つの又は複数のプロセッサと、
一つの又は複数のプログラムを記憶するための記憶装置と、
を備え、
前記一つの又は複数のプロセッサが請求項1~9のいずれか一項に記載の方法を実現するように前記一つの又は複数のプログラムが前記一つの又は複数のプロセッサにより実行される、
電子機器。 - コンピュータプログラムが記憶されたコンピュータ読み取り可能な記憶媒体であって、
前記プログラムがプロセッサにより実行される時に請求項1~9のいずれか一項に記載の方法が実現される、
コンピュータ読み取り可能な記憶媒体。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910560228.9A CN112150141A (zh) | 2019-06-26 | 2019-06-26 | 一种区块链共识方法、装置和*** |
CN201910560228.9 | 2019-06-26 | ||
PCT/CN2020/077518 WO2020258912A1 (zh) | 2019-06-26 | 2020-03-03 | 一种区块链共识方法、装置和*** |
JP2021568814A JP2022533396A (ja) | 2019-06-26 | 2020-03-03 | ブロックチェーンコンセンサス方法、装置及びシステム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021568814A Division JP2022533396A (ja) | 2019-06-26 | 2020-03-03 | ブロックチェーンコンセンサス方法、装置及びシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024010123A true JP2024010123A (ja) | 2024-01-23 |
Family
ID=73869776
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021568814A Pending JP2022533396A (ja) | 2019-06-26 | 2020-03-03 | ブロックチェーンコンセンサス方法、装置及びシステム |
JP2023184790A Pending JP2024010123A (ja) | 2019-06-26 | 2023-10-27 | ブロックチェーンコンセンサス方法、装置及びシステム |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021568814A Pending JP2022533396A (ja) | 2019-06-26 | 2020-03-03 | ブロックチェーンコンセンサス方法、装置及びシステム |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220239496A1 (ja) |
JP (2) | JP2022533396A (ja) |
KR (1) | KR102566892B1 (ja) |
CN (1) | CN112150141A (ja) |
WO (1) | WO2020258912A1 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112634054A (zh) * | 2021-01-11 | 2021-04-09 | 杭州复杂美科技有限公司 | 交易执行方法、区块链一体机和区块链网络 |
CN113179166B (zh) * | 2021-04-13 | 2022-07-08 | 华东师范大学 | 基于高鲁棒性拜占庭容错的联盟链数据安全实时上链方法 |
CN115499128A (zh) * | 2021-06-01 | 2022-12-20 | 中移雄安信息通信科技有限公司 | 区块链共识方法、装置、***及存储介质 |
CN113364874B (zh) * | 2021-06-09 | 2022-06-10 | 网易(杭州)网络有限公司 | 基于区块链的节点同步方法、装置、存储介质及服务器 |
CN113489792B (zh) * | 2021-07-07 | 2023-02-03 | 上交所技术有限责任公司 | 一种在跨数据中心集群共识算法中减少数据中心间网络传输次数的方法 |
CN113922864B (zh) * | 2021-10-09 | 2023-07-28 | 郑州大学 | 一种基于拜占庭共识的多层卫星网络安全保障方法 |
KR20230115721A (ko) * | 2022-01-27 | 2023-08-03 | 주식회사 미디움 | 블록체인 합의 방법, 블록체인 합의 장치, 블록체인 합의 방법을 수행하는 컴퓨터 프로그램 및 합의 방법이 저장된 프로그램이 저장된 컴퓨터 프로그램 기록매체 |
KR102439351B1 (ko) * | 2022-02-10 | 2022-09-01 | 주식회사 스카이플레이 | Esg를 위한 비채굴 블록체인 네트워크 시스템 및 그 시스템에 참여하는 서버 노드의 동작 방법 |
CN115002221B (zh) * | 2022-06-06 | 2023-06-23 | 长春理工大学 | 一种适用于物联网的区块链共识方法及*** |
CN117411894A (zh) * | 2022-07-08 | 2024-01-16 | 腾讯科技(深圳)有限公司 | 共识网络的数据处理方法、装置、程序产品、设备和介质 |
CN117221332B (zh) * | 2023-06-08 | 2024-04-12 | 天津大学 | 基于多领导者拜占庭容错共识的高鲁棒***易打包方法 |
CN116720917A (zh) * | 2023-06-16 | 2023-09-08 | 深圳职业技术学院 | 一种分布式碳交易市场共识方法 |
CN116566995B (zh) * | 2023-07-10 | 2023-09-22 | 安徽中科晶格技术有限公司 | 一种基于分类、聚类算法的区块链数据传输方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11108627B2 (en) * | 2016-12-30 | 2021-08-31 | Intel Corporation | Object identification for groups of IoT devices |
CN110445619B (zh) * | 2017-03-30 | 2020-10-16 | 腾讯科技(深圳)有限公司 | 区块链***、消息处理方法及存储介质 |
KR20200032086A (ko) * | 2017-06-01 | 2020-03-25 | 쉬비, 인크. 디/비/에이 액소니 | 안전한 액세스 제한 관리를 통해 분산된 블록 체인 데이터 구조 배포 |
CN107392608B (zh) * | 2017-07-11 | 2020-07-07 | 北京博晨技术有限公司 | 基于区块链***的数字资产交易方法及区块链*** |
CN109819003A (zh) * | 2017-11-22 | 2019-05-28 | 南京理工大学 | 一种区块链的分层共识方法和*** |
CN108134706B (zh) * | 2018-01-02 | 2020-08-18 | 中国工商银行股份有限公司 | 区块链多活高可用***、计算机设备以及方法 |
US20190251199A1 (en) * | 2018-02-14 | 2019-08-15 | Ivan Klianev | Transactions Across Blockchain Networks |
US20190305957A1 (en) * | 2018-04-02 | 2019-10-03 | Ca, Inc. | Execution smart contracts configured to establish trustworthiness of code before execution |
CN108665365B (zh) * | 2018-05-16 | 2021-07-13 | 四川大学 | 一种混合区块链架构***、处理方法及处理*** |
CN108984662B (zh) * | 2018-06-28 | 2021-02-09 | 杭州复杂美科技有限公司 | 一种区块链数据同步方法 |
CN109039847A (zh) * | 2018-08-07 | 2018-12-18 | 广州三牛信息科技有限公司 | 一种利用dmt解决区块链全网消息一致性问题的方法及装置 |
US11270017B2 (en) * | 2018-10-16 | 2022-03-08 | International Business Machines Corporation | Selective exchange of transaction data |
-
2019
- 2019-06-26 CN CN201910560228.9A patent/CN112150141A/zh active Pending
-
2020
- 2020-03-03 WO PCT/CN2020/077518 patent/WO2020258912A1/zh active Application Filing
- 2020-03-03 US US17/616,543 patent/US20220239496A1/en active Pending
- 2020-03-03 KR KR1020217040523A patent/KR102566892B1/ko active IP Right Grant
- 2020-03-03 JP JP2021568814A patent/JP2022533396A/ja active Pending
-
2023
- 2023-10-27 JP JP2023184790A patent/JP2024010123A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2020258912A1 (zh) | 2020-12-30 |
US20220239496A1 (en) | 2022-07-28 |
CN112150141A (zh) | 2020-12-29 |
JP2022533396A (ja) | 2022-07-22 |
KR102566892B1 (ko) | 2023-08-11 |
KR20220006623A (ko) | 2022-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2024010123A (ja) | ブロックチェーンコンセンサス方法、装置及びシステム | |
CN110046998B (zh) | 跨链用权***及方法、装置、电子设备、存储介质 | |
CN110400221B (zh) | 数据处理方法、***、存储介质及计算机设备 | |
US20220129888A1 (en) | Computer-implemented systems and methods for implementing transfers over a blockchain network | |
US7809943B2 (en) | Method and system for establishing trust in a peer-to-peer network | |
CN111552676A (zh) | 基于区块链的存证方法、装置、设备及介质 | |
Cash et al. | Two-tier permission-ed and permission-less blockchain for secure data sharing | |
JP7165148B2 (ja) | ブロックチェーンネットワークにおける整合性のある分散型メモリプールのための方法及びシステム | |
JP2021508111A (ja) | 分散型台帳間の複数台帳方式振替のための方法および装置、ならびに複数台帳方式振替を使用するシステム | |
US10270757B2 (en) | Managing exchanges of sensitive data | |
JP2022508247A (ja) | 信頼度ベースのコンセンサスを伴う高性能分散型記録システム | |
WO2021203853A1 (zh) | 密钥生成方法、装置、设备及介质 | |
WO2022121538A1 (zh) | 基于区块链的数据同步方法、***及相关设备 | |
JP2022509933A (ja) | 鍵管理を伴う高性能分散型記録システム | |
US20190268153A1 (en) | Event execution using a blockchain approach | |
CN109493052B (zh) | 一种基于主链加并行多子链的跨链合约*** | |
CN110149323B (zh) | 一种具有千万级tps合约处理能力的处理装置 | |
JP2024505692A (ja) | ブロックチェーンネットワークに基づくデータ処理方法、装置及びコンピュータ機器 | |
Saldamli et al. | Improved gossip protocol for blockchain applications | |
CN114567643A (zh) | 跨区块链的数据流转方法、装置及相关设备 | |
Qin et al. | A secure and effective construction scheme for blockchain networks | |
Chen et al. | Characterizing latency performance in private blockchain network | |
CN112988738A (zh) | 用于区块链的数据分片方法和装置 | |
EP4365808A1 (en) | Data verification method and apparatus | |
CN115842866A (zh) | 数据处理方法、装置、计算机可读介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231122 |