JP2021504808A - ブロックチェーンのメインチェーンの決定方法、装置、機器及び記憶媒体 - Google Patents

ブロックチェーンのメインチェーンの決定方法、装置、機器及び記憶媒体 Download PDF

Info

Publication number
JP2021504808A
JP2021504808A JP2020528263A JP2020528263A JP2021504808A JP 2021504808 A JP2021504808 A JP 2021504808A JP 2020528263 A JP2020528263 A JP 2020528263A JP 2020528263 A JP2020528263 A JP 2020528263A JP 2021504808 A JP2021504808 A JP 2021504808A
Authority
JP
Japan
Prior art keywords
block
weight
chain
branch
branch chain
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.)
Granted
Application number
JP2020528263A
Other languages
English (en)
Other versions
JP6964193B2 (ja
Inventor
シャオ,ウェイ
Original Assignee
バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド
バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド, バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド filed Critical バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド
Publication of JP2021504808A publication Critical patent/JP2021504808A/ja
Application granted granted Critical
Publication of JP6964193B2 publication Critical patent/JP6964193B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • 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
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • 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
    • H04L9/3239Cryptographic 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 involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/018Certifying business or products
    • G06Q30/0185Product, service or business identity fraud

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Development Economics (AREA)
  • Technology Law (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)

Abstract

【解決手段】ブロックチェーンのメインチェーンの決定方法、装置、機器及び記憶媒体であって、当該方法は、ブロックチェーンに少なくとも2つの分岐チェーンが存在することを検出した検出結果に基づいて、各分岐チェーン内の各ブロックの重みを決定するステップ(110)と、各分岐チェーンに含まれるブロックの重みに基づいて、各分岐チェーンの重みを決定するステップ(120)と、各分岐チェーンの重みに基づいて分岐チェーンからメインチェーンを決定し、前記メインチェーン以外の分岐チェーンをロールバックするステップ(130)と、を含む。分岐チェーンの重みに基づいて分岐チェーンからメインチェーンを決定することによって、ブロック生成ノードの切り替え中に、前のブロック生成ノードの末尾ブロックが悪意的に破棄される問題をある程度回避し、ブロック生成ノードの不正行為にかかるコストを増加し、悪意的な攻撃の成功率を低減する。【選択図】図1

Description

本願の実施例は、ブロックチェーン技術の分野に関し、例えば、ブロックチェーンのメインチェーンの決定方法、装置、機器及び記憶媒体に関する。
インターネット技術の発展に伴い、脱中心化且つオープンで透明的なブロックチェーン技術が登場した。ブロックチェーン技術は、データブロックを採用して、現在のインターネットのセンターサーバへの依存を打破し、ネットワークで生成されたすべてのデータは、現在のトランザクション処理権を持つノードによって記録され、データのブロードキャスト及び他のノードの検証によって、ブロックを形成し、ブロックチェーンの末尾に接続される。ネットワーク内の各ノードは、ネットワーク全体内の各ブロックにおけるほぼすべてのデータを観察することができ、すべてのノードがネットワークデータに対する監視を実現することによって、ネットワーク内データのセキュリティと信頼性を確保する。
現在、ネットワーク内の各ノードは、コンセンサスメカニズムによってトランザクション処理権又はブロック生成権の競合を実現することができる。2つのノードがほぼ同じ時間内にトランザクション処理権又はブロック生成権を各自にすべて競合した場合、その2つのノードは、ブロックをそれぞれに形成し、ブロックデータをネットワーク全体に逐次に伝送する。2つのブロックデータの伝送中に、ネットワーク中の他のノードは、任意の一つのブロックのデータを先に受信する可能性がある。この2つのブロックは、いずれもメインチェーンの延出であるため、一部のノードは、受信された一つのブロックに基づいてブロックチェーンの延長を行い、残りの一部のノードは、受信された別のブロックに基づいてブロックチェーンの延長を行うことによって、ブロックチェーンは、競争関係を持つ2つの分岐チェーンを形成する。ネットワーク内のブロックチェーンデータの一意性を確保するために、関連技術では、最長のチェーンに基づくコンセンサスアルゴリズムを使用した。すなわち、常に最長の分岐チェーンを正しいチェーンと見なされ、メインチェーンとして決定され、残りの分岐チェーン上のブロックデータは、無効に見なされる。
しかしながら、最長のチェーンに基づくメインチェーンの決定方法によって、分岐チェーンが最長のチェーンであるが、実には間違ったチェーンである場合がある。例えば、悪意があるクライアントは、本ノードの計算能力を上げて、複数のブロックのトランザクション処理権を事前に競合し、悪意があるクライアントに有利な分岐チェーンを悪意的に増加且つ延長することによって、正しい分岐チェーンを破棄し、ブロックチェーンに対する悪意的な攻撃を実現する。
以下は、本明細書で詳細に説明される主題の概要である。本概要は、請求項の保護範囲を制限するためのものではない。
本願の実施は、分岐チェーンからブロックチェーンのメインチェーンを効果的に決定し、悪意的な攻撃の成功率を低減することができるブロックチェーンのメインチェーンの決定方法、装置、機器及び記憶媒体を提供する。
第1の態様では、本願の実施例ブロックチェーンのメインチェーンの決定方法を提供し、ブロックチェーンに少なくとも2つの分岐チェーンが存在することを検出した検出結果に基づいて、各分岐チェーン内の各ブロックの重みを決定するステップと、各分岐チェーンに含まれるブロックの重みに基づいて、各分岐チェーンの重みを決定するステップと、各分岐チェーンの重みに基づいて分岐チェーンからメインチェーンを決定し、前記メインチェーン以外の分岐チェーンをロールバックするステップと、を含む。
第2の態様では、本願の実施例は、ブロックチェーンのメインチェーンの決定装置を提供し、ブロックチェーンに少なくとも2つの分岐チェーンが存在することを検出した検出結果に基づいて、各分岐チェーン内の各ブロックの重みを決定するためのブロック重み決定モジュールと、各分岐チェーンに含まれるブロックの重みに基づいて、各分岐チェーンの重みを決定するための分岐チェーン重み決定モジュールと、各分岐チェーンの重みに基づいて分岐チェーンからメインチェーンを決定し、前記メインチェーン以外の分岐チェーンをロールバックするためのメインチェーン決定モジュールと、を含む。
第三態様では、本願の実施例は、機器を提供し、一つ又は複数のプロセッサと、一つ又は複数のプログラムを記憶するためのメモリと、を含み、前記一つ又は複数のプログラムが前記一つ又は複数のプロセッサによって実行される場合に、前記一つ又は複数のプロセッサが、本願の任意の実施例に記載のブロックチェーンのメインチェーンの決定方法を実現する。
第四態様では、本願の実施例は、コンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体を提供し、当該プログラムがプロセッサによって実行される場合に、本願の任意の実施例に記載のブロックチェーンのメインチェーンの決定方法が実現される。
本願の実施例は、ブロックチェーンが分岐チェーンを生成する時に分岐チェーン内の各ブロックに異なる重みを設定することによって、各分岐チェーンの重みを取得し、それにより、各分岐チェーンの重みに基づいて分岐チェーンからメインチェーンを決定し、メインチェーン以外の分岐チェーンをロールバックする。本願の実施例は、分岐チェーンの具体的な状況に応じて分岐チェーン内の各ブロックに異なる重みを設定し、各ブロックのブロックチェーンにおける実際の比重を事前に合理的に割り当てることによって、分岐チェーンの重みに基づいて分岐チェーンからメインチェーンを決定し、メインチェーンの決定の合理性を向上させる。そして、ブロック生成ノードの切り替え中に、前のブロック生成ノードの末尾ブロックが次のブロック生成ノードによって悪意的に破棄される問題をある程度回避し、次のブロック生成ノードの不正行為にかかるコストを増加し、悪意的な攻撃の成功率を低減する。
図面と詳細の説明を読んで理解した後、他の態様を理解することができる。
本願の実施例1により提供されるブロックチェーンのメインチェーンの決定方法のフローチャートである。 本願の実施例1により提供の分岐チェーンの例示的な図である。 本願の実施例2により提供されるブロックチェーンのメインチェーンの決定方法のフローチャートである。 本願の実施例3により提供されるブロックチェーンのメインチェーンの決定装置の概略構成図である。 本願の実施例4により提供される機器の概略構成図である。
以下、図面と実施例とを組み合わせて、本願の実施例についてさらに詳しく説明する。なお、ここで説明される具体のな実施例は、単に本願の実施例を解釈するためのものであり、本願を限定するものではない。また、説明の便宜上、図面には、すべての構成ではなく、本願の実施例に係る部分だけが示されている。
(実施例1)
図1は、本願の実施例1提供されるブロックチェーンのメインチェーンの決定方法のフローチャートである。本実施例は、ブロックチェーンに分岐チェーンを生成してメインチェーンを決定する場合に適用することができ、当該方法は、ブロックチェーンのメインチェーンの決定装置によって実行することができ、ブロックチェーンシステム内のブロックチェーン記憶権限を記憶するノードに当該装置を配置することができ、当該方法は、具体的には、以下のようなステップを含む。
S110:ブロックチェーンに少なくとも2つの分岐チェーンが存在することを検出した検出結果に基づいて、各分岐チェーン内の各ブロックの重みを決定する。
本実施例では、ブロックチェーンにおける各ブロック内のブロックデータは、ブロック本体に記録されているトランザクションデータを含むだけでなく、ブロックヘッダ情報をさらに含み、例えば、前のブロックヘッダハッシュ値、タイムスタンプ(すなわちブロック生成時間)、ワークロード難易度、及びMerkleルート、すなわち信頼ツリーなどのようなブロック識別情報である。ネットワーク内の各ノードは、ネットワーク全体内の各ブロックにおけるほぼすべてのデータを観察して、すべてのノードがネットワークデータに対する監視を実現することができる。したがって、ブロックチェーンシステム内のブロックチェーン記憶権限を持つノードは、いずれも分岐チェーンが存在するか否かを検出することができ、いずれかのノードがブロックチェーンに少なくとも2つの分岐チェーンがあることを検出した場合、少なくとも2つの分岐チェーンからメインチェーンを決定する必要がある。具体的には、以下のような方式によって分岐チェーンが生成されたか否かを決定することができる。少なくとも2つのブロックにおけるタイムスタンプの時間差が一定の時間閾値より小さいこと(すなわち当該少なくとも2つのブロックの生成時間が非常に近いこと)、又は、少なくとも2つのブロックにおける前のブロックヘッダのハッシュ値が同じであることが検出された場合、ブロックチェーンに分岐チェーンが生成されたと見なされる。本実施例は、分岐現象の検出方式に限定されず、任意のブロックチェーン分岐現象を検出することができる検出方式は、本実施例にすべて適用することができる。上記のいずれかの分岐チェーンの検出方式を採用することができ、又は実際の状況に応じて、その中の少なくとも2つの組み合わせを採用して分岐チェーンの検出を実現することができる。
具体的には、本実施例では、分岐ブロックは、分岐現象が発生する前のブロックチェーンの末尾ブロックを指し、すなわち、分岐ブロックの後に分岐現象が発生する。これに応じて、分岐チェーンは、分岐ブロックの次のブロックを分岐チェーンの開始ブロックとして分岐チェーンを延長する。図2は、分岐チェーンの例示的な図である。図2に示すように、ブロック1の後に分岐現象が発生し、ブロック1は分岐ブロックであり、ブロック2は分岐チェーン(1)の開始ブロックであり、その後のブロック3と一緒に現在の分岐チェーン(1)を構成し、ブロック4は分岐チェーン(2)の開始ブロックであり、その後のブロック5及び6と一緒に現在の分岐チェーン(2)を構成する。分岐チェーンの開始ブロックをブロックチェーンに組み込むことに成功して分岐現象が発生した場合、異なるノードが異なる分岐開始ブロックからブロックチェーンの延長を行うため、分岐した少なくとも2つの異なる分岐チェーンにおける計算能力に差があり、さらに、当該少なくとも2つの分岐チェーンの成長速度も異なる。一定の時間後に、異なる分岐チェーンにおけるブロックに記憶されているトランザクション要求が異なる。
したがって、ネットワーク内のブロックチェーンデータの一意性を確保するために、本実施例は、分岐現象を検出した場合、又は、ブロック生成ノードが一定の時間内又は一定数のトランザクション要求に対する処理及び記録を完了した場合、各分岐チェーンに含まれるブロックの情報に対する検出及び判断を開始して、ブロックチェーン内のすべてのノードが統一されたブロック重み設定アルゴリズムに従い、具体的な重み設定ルールに基づいて、分岐チェーン内の各ブロックに異なる重みを設定して、分岐チェーンの重みによってメインチェーンを選択させることができる。例示的には、分岐チェーン内の各ブロック間の関連関係及び各ブロックのワークロード難易度、タイムスタンプ、及び属されるブロック生成ノードなどのような多次元情報に基づいて、分岐チェーン内のブロックの情報が予め設定された条件を満たす場合、例えば、特定のブロックチェーン攻撃タイプを満たす場合、予め設定された条件に対応する重み設定ルールに基づいて、各分岐チェーン内の各ブロックの重みを設定することによって、分岐チェーン内の各ブロックに異なる重みを設定し、各ブロックが分岐チェーン内での重要度を合理的に割り当て、不合理な攻撃が分岐チェーンの長さを悪意を延長することを回避する。
本実施例では、特定のブロックチェーン攻撃タイプを満たすブロック重みの設定は、分岐チェーン内の各ブロック間の関連関係及び各ブロックのワークロード難易度、タイムスタンプ、及び属されるブロック生成ノードなどのような多次元情報に基づいて、様々なブロックチェーン攻撃タイプを分析し、攻撃タイプとブロックの情報との間の関連関係に基づいて、攻撃タイプの形成条件を決定することができる。これにより、条件を形成し、これを予め設定された条件として、分岐チェーンに属する攻撃タイプを検出及び判断することによって、攻撃タイプに基づいて目的的に分岐チェーン内の各ブロックの重みを設定し、各攻撃タイプと重み設定ルールとの間の関連関係を生成する。具体的には、本実施例は、分岐チェーンのブロックの情報に基づいて、ブロックを悪意的に破棄する現象が存在するか否かを判断することもできる。例えば、悪意があるクライアントは、一つの計算能力が強いノードを掌握し、より多くのブロックを生成して、分岐チェーンを形成して延長することによって、正しいブロックを悪意的に破棄する。つまり、分岐チェーン内の分岐開始ブロックからその後の一定数のブロックが、いずれも当該分岐開始ブロックのブロック生成ノードと同じノードによって生成されたかを検出することができる。これにより、悪意があるクライアントノードによって形成されたブロックの重みを、より低い数値、さらに0に設定し、それにより、悪意があるクライアントによって生成されたより長い分岐チェーン内のブロックの重みを低減する。
例示的には、図2に示すように、ブロック1、2、及び3が前のブロック生成ノードAによって生成されたブロックであり、ブロック4、5、及び6が現在のブロック生成ノードBによって生成されたブロックであると仮定する。ブロックチェーンシステムにおけるあるノードがネットワーク内の各ブロックのブロックデータを観察することによって、ブロック2と4の前のブロックヘッダのハッシュ値が同じであると検出された場合、ブロック2と4の前のブロックがいずれもブロック1と判断されるため、ブロックチェーンに分岐現象が発生していると判定される。ブロックチェーンシステム中のすべてのノードは、統一されたブロック重み設定アルゴリズムに従い、2つの分岐チェーン上のブロックの情報に基づいて、分岐チェーン内の各ブロックに異なる重みを設定することを検出することができる。
上記の示例では、ノードBが、悪意があるクライアントによって掌握された攻撃のノードであると仮定すると、悪意があるクライアントは、ノードAがブロック2及び3に記録されたトランザクションデータを破棄するために、ブロック1の後に分岐チェーン(2)を形成して延長する。したがって、分岐チェーン(2)の長さが長いことによってメインチェーンとして直接に決定されることを防止するために、本実施例は、分岐チェーン内のブロックの情報に基づいて各ブロックに重みを設定する。さらに、以下のように最長のチェーンに基づく悪意的な攻撃に関連付けられた重み設定ルールを設定することができる。2つの分岐開始ブロックの重みを1に設定し、第1の分岐チェーン上の分岐開始ブロックの後のブロックのブロック生成ノードが当該分岐開始ブロックのブロック生成ノードと異なる場合、これらのブロックの重みを1に設定し、第2の分岐チェーン上の分岐開始ブロックから後のブロックの重みを0に設定して、二重支払い攻撃としてブロックを無効にする。したがって、このように、ブロックを悪意的に破棄する攻撃と重み設定ルールとの間の関連関係、及び分岐チェーンの後続のブロックのアクセス状況に基づいて、各分岐チェーン内の各ブロック重みの決定を完了する。
S120:各分岐チェーンに含まれるブロックの重みに基づいて、各分岐チェーンの重みを決定する。
本実施例では、各ブロックの重みに基づいて、分岐チェーンの重みを決定することは、分岐チェーンに含まれる各ブロックの重みを合計して、当該分岐チェーンの重みを取得し、単純に分岐チェーンに含まれるブロック数によって各分岐チェーンの認可度合いを判定することではなく、合計された各ブロックの重みを分岐チェーン判定の根拠とすることができる。
例示的には、上記の最長のチェーンに基づく悪意的な攻撃の例では、このような攻撃は、通常、ノード切り替えの場合に発生するため、分岐チェーン(1)の後続は、新しいノードによってブロックを生成して分岐チェーンに組み込まれるため、分岐チェーン(1)の重みは1より大きい。悪意的なノードは、分岐チェーン(2)を悪意的に延長するため、分岐チェーン(2)内のブロックのブロック生成ノードは、すべて同じノード、すなわち悪意的なノードであるため、分岐チェーン(2)には、開始ブロック以外のブロックの重みはいずれも0に設定され、分岐チェーン(2)の重みは1のみである。
S130:各分岐チェーンの重みに基づいて分岐チェーンからメインチェーンを決定し、メインチェーン以外の分岐チェーンをロールバックする。
本実施例では、ブロックに対して重みの設定を行うため、ブロック重みは、ネットワークが当該ブロックに対する承認度に相当する。したがって、各分岐チェーンの重みに基づいて、すべての分岐チェーンから重みが最大の分岐チェーンをブロックチェーンのメインチェーンに決定する。ネットワーク内のブロックチェーンデータの一意性を確保するために、メインチェーンとして選択された分岐チェーン以外のすべての分岐チェーンを無効に見なし、その中のトランザクションデータを正しく見なされた前回のメインチェーンに戻す。
例示的には、上記の最長のチェーンに基づく悪意的な攻撃の例では、分岐チェーン(1)の重みは1より大きく、分岐チェーン(2)の重みは1のみであり、分岐チェーン(1)の重みは分岐チェーン(2)の重みより大きいため、分岐チェーン(1)をブロックチェーンのメインチェーンに決定し、ブロック数がより多い分岐チェーン(2)、すなわち最長のチェーンをメインチェーンとして直接に決定することを回避する。トランザクション処理権又はブロック生成権の競合及びトランザクションデータの処理は、大きなワークロードが必要し、より高いワークロード難易度を克服しなければ完了できないため、ブロックに異なる重みを設定し、ブロック重みに基づくメインチェーンの決定方式は、通常のブロックチェーンの延出を影響しない状況で、悪意があるクライアントがブロックチェーンに対する攻撃コストを増加させ、悪意があるクライアントの攻撃の成功率を低減させることに有利である。
なお、本実施例は、分岐現象に攻撃が存在する場合のブロック重み設定の例であり、本実施例は、分岐現象における非攻撃タイプの場合の分岐チェーンブロック重み設定にも適用される。したがって、本実施例は、分岐現象内のすべての場合に適用され、通常のノード又は攻撃的な悪意のあるノードであるかどうかにかかわらず、ブロックチェーンシステム中のすべてのノードは、統一された分岐チェーン内のブロック重みの設定アルゴリズムに従うことができ、ブロックチェーンシステムに分岐現象が発生した場合に、分岐チェーン重みに基づくメインチェーンの決定方法をすべて実現することができる。
本実施例の技術案では、ブロックチェーンが分岐チェーンを生成する時に分岐チェーン内の各ブロックに異なる重みを設定することによって、各分岐チェーンの重みを取得し、それにより、各分岐チェーンの重みに基づいて分岐チェーンからメインチェーンを決定し、メインチェーン以外の分岐チェーンをロールバックする。本実施例は、分岐チェーンの具体的な状況に応じて分岐チェーン内の各ブロックに異なる重みを設定し、各ブロックのブロックチェーンにおける実際の比重を事前に合理的に割り当てることによって、分岐チェーンの重みに基づいて分岐チェーンからメインチェーンを決定し、メインチェーンの決定の合理性を向上させる。そして、ブロック生成ノードの切り替え中に、前のブロック生成ノードの末尾ブロックが次のブロック生成ノードによって悪意的に破棄される問題をある程度回避し、次のブロック生成ノードの不正行為にかかるコストを増加し、悪意的な攻撃の成功率を低減する。
実施例2
本実施例は、上記の実施例1に基づいて、ブロックチェーンのメインチェーンの決定方法の好ましい施方式を提供し、攻撃タイプに基づいて対応する重み設定を行うことができる。図3は、本願の実施例2提供されるブロックチェーンのメインチェーンの決定方法のフローチャートである。図3に示すように、当該方法は、具体的には、以下のようなステップを含む。
S310:ブロックチェーンに少なくとも2つの分岐チェーンが存在することを検出した検出結果と、各分岐チェーンに含まれるブロックの情報とに基づいて、ターゲット攻撃タイプを決定する。
本実施例では、悪意があるクライアントの攻撃は、自分の違法なトランザクションデータを有効にしてその中から利益を得ることを目的とするため、よく見られる攻撃タイプは、ほとんどは、二重支払い攻撃などのように、最長のチェーンに基づくメインチェーンの決定方法の攻撃方式に属する。悪意があるクライアントの違法の分岐チェーンを最長のチェーンに延長することによって、ブロックチェーン内の正しいブロックを破棄するようにする。分岐チェーン内の各ブロック間の関連関係及び各ブロックのワークロード難易度、タイムスタンプ、及び属されるブロック生成ノードなどのような多次元情報に基づいて、様々なブロックチェーン攻撃タイプを分析し、攻撃タイプとブロックの情報との間の関連関係に基づいて、攻撃タイプの形成条件を決定することができる。
本実施例では、ネットワーク内の各ノードは、ネットワーク全体内の各ブロックにおけるほぼすべてのデータを観察して、すべてのノードがネットワークデータに対する監視を実現することができる。したがって、ブロックチェーンシステム内のブロックチェーン記憶権限を持つノードは、いずれも分岐チェーンが存在するか否かを検出することができ、いずれかのノードがブロックチェーンに少なくとも2つの分岐チェーンがあることを検出した場合、少なくとも2つの分岐チェーンからメインチェーンを決定する必要がある。具体的には、以下のような方式によって分岐チェーンが生成されたか否かを決定することができ、少なくとも2つのブロックにおけるタイムスタンプの時間差が一定の時間閾値より小さいこと(すなわち当該少なくとも2つのブロックの生成時間が非常に近いこと)、又は、少なくとも2つのブロックにおける前のブロックヘッダのハッシュ値が同じであることが検出された場合、ブロックチェーンに分岐チェーンが生成されたと見なされる。上記のいずれかの分岐チェーンの検出方式を採用することができ、又は実際の状況に応じて、その中の少なくとも2つの組み合わせを採用して分岐チェーンの検出を実現することができる。さらに、分岐現象を検出した場合、又は、ブロック生成ノードが一定の時間内又は一定数のトランザクション要求に対する処理及び記録を完了した場合、各分岐チェーンに含まれるブロックの情報に対する検出及び判断を開始して、各攻撃タイプの形成条件及び分岐チェーン内の各ブロック間の関連関係、各ブロックのワークロード難易度、タイムスタンプ、及び属されるブロック生成ノードなどのような多次元情報に基づいて、分岐チェーンが現在受けているターゲット攻撃タイプを決定する。
例示的には、二重支払い攻撃は双花攻撃と呼ばれ、悪意があるクライアントが一つ金額だけを使用して2回の支払いを完了し、又は既に費やしたお金を取り戻すことである。具体的には、ビットコイン振込シーンにおいて、メインチェーンで行われた最初の振込取引データによってブロックを形成することが確認された場合、悪意があるクライアントは、この取引を無効にするために、最短時間内に連続した複数回のトランザクション処理権を取得して第2の取引を行って、最初の取引ブロックの前のブロックから開始して分岐を生成し、事前に用意されたブロックを利用して最初の取引に対応する分岐を長くにしてメインチェーンに変化することによって、最初の振込取引を無効にする。したがって、二重支払い攻撃の形成条件は、ビットコイン振込シーンにおいて、2つの分岐チェーンが生成された場合、各分岐チェーン内の分岐開始ブロックのブロック生成ノードが同じであり、且つそのうちの一つの分岐チェーン上の分岐開始ブロックから後のブロックのブロック生成ノードも上記のブロック生成ノードである場合、二重支払い攻撃を分岐チェーンのターゲット攻撃タイプとして決定することができる。
S320:予め設定された攻撃タイプと重み設定ルールとの間の関連関係に基づいて、ターゲット攻撃タイプに関連付けられたターゲット重み設定ルールを決定する。
本実施例では、各攻撃タイプの形成条件に基づいて、分岐チェーンに属する攻撃タイプを検出及び判断することによって、攻撃タイプに基づいて目的的に分岐チェーン内の各ブロックの重みを設定し、各攻撃タイプと重み設定ルールとの間の関連関係を生成して、悪意があるクライアントの攻撃を抑制又は防止し、悪意があるクライアントの攻撃コストを増加し、攻撃の成功率を低減する。
例示的には、二重支払い攻撃の形成条件及びそれによる危害に基づいて、以下のように二重支払い攻撃に関連付けられた重み設定ルールを設定することができる。分岐チェーン内の任意のブロックのブロック生成ノードが当該ブロックの前のブロックのブロック生成ノードと異なる場合、当該ブロックの重みを1に設定する。当該ブロックのブロック生成ノードが当該ブロックの前のブロックのブロック生成ノードと同じであり、且つ当該ブロックの前のブロックが分岐ブロックである場合、当該ブロックの重みを1に設定する。当該ブロックのブロック生成ノードが当該ブロックの前のブロックのブロック生成ノードと同じであり、且つ当該ブロックの前のブロックが分岐ブロックでない場合、当該ブロックの重みを0に設定する。
S330:ターゲット重み設定ルールに基づいて、分岐チェーン内の各ブロックの重みを決定する。
本実施例では、ターゲット重み設定ルールに基づいて、ターゲット重み設定ルールを満たす分岐チェーン内の各ブロックに、対応する重みを設定する。
一実施例では、最長のチェーンに基づいてブロックを悪意的に破棄するほとんどの攻撃方式は、以下のような重みの一般的な設定を行うことができる。分岐チェーン内の任意の現在のブロックのブロック生成ノードが当該現在のブロックの前のブロックのブロック生成ノードと異なる場合、当該現在のブロックの重みを第1の数値に設定する。当該現在のブロックのブロック生成ノードが当該現在のブロックの前のブロックのブロック生成ノードと同じであり、且つ前のブロックが分岐ブロックである場合、当該現在のブロックの重みを第1の数値に設定する。当該現在のブロックのブロック生成ノードが当該現在のブロックの前のブロックのブロック生成ノードと同じであり、且つ前のブロックが分岐ブロックでない場合、当該現在のブロックの重みを第2の数値に設定し、第1の数値は、第2の数値より大きい。
本実施例では、上記の攻撃タイプの認識によって、分岐チェーン内のブロックの情報に基づいて、分岐チェーン内の正しいブロックにより大きな重みを設定し、分岐チェーン内のエラーブロックにより小さな重みを設定し、分岐チェーン内のブロックに異なる重みを設定することによって、悪意的なブロックの承認度を効果的に低減又は解除する。これによって、悪意があるクライアントが悪意的に延長する分岐チェーンを無効にし、ブロックチェーン内の正しいブロックを保護することができる。
S340:各分岐チェーンに含まれるブロックの重みに基づいて、分岐チェーンに含まれる各ブロックの重みを合計して、分岐チェーンの重みを取得する。
本実施例では、各ブロックの重みに基づいて、分岐チェーンの重みを決定することは、分岐チェーンに含まれる各ブロックの重みを合計して、当該分岐チェーンの重みを取得し、単純に分岐チェーンに含まれるブロック数によって各分岐チェーンの認可度合いを判定することではなく、合計された各ブロックの重みを分岐チェーン判定の根拠とすることができる。
S350:各分岐チェーンの重みに基づいて、分岐チェーンから重みが最大の分岐チェーンをメインチェーンとして決定し、メインチェーン以外の分岐チェーンをロールバックする。
本実施例では、ブロックに対して重みの設定を行うため、ブロック重みは、ネットワークが当該ブロックに対する承認度に相当する。したがって、各分岐チェーンの重みに基づいて、すべての分岐チェーンから重みが最大の分岐チェーンをブロックチェーンのメインチェーンに決定する。ネットワーク内のブロックチェーンデータの一意性を確保するために、メインチェーンとして選択された分岐チェーン以外のすべての分岐チェーンを無効に見なし、その中のトランザクションデータを正しく見なされた前回のメインチェーンに戻す。
本実施例の技術案では、ブロックチェーンが分岐チェーンを生成する時に、又はブロック生成ノードが一定の時間内又は一定数のトランザクション要求に対する処理及び記録を完了した場合、分岐チェーンに属するターゲット攻撃タイプを認識し、ターゲット攻撃タイプに関連付けられたターゲット重み設定ルールを決定することによって、ターゲット重み設定ルールに基づいて分岐チェーン内の各ブロックに異なる重みを設定する。又は、一般的な重み設定ルールを利用して、最長のチェーンに基づいてブロックを悪意的に破棄する攻撃方式に対応する分岐チェーンを認識するために、ブロック重みの設定を行う。これによって、各分岐チェーンの重みを取得し、重みが最大の分岐チェーンをメインチェーンとして決定され、メインチェーン以外の分岐チェーン内のトランザクションデータをロールバックする。本実施例では、分岐チェーンに属する攻撃タイプ及び重み設定ルールを決定することによって、分岐チェーン内の各ブロックに対応する重みを設定する。これによって、違法ブロックの承認度を低減又は解除し、悪意があるクライアントが特別に延長した分岐チェーンを無効にすることによって、ブロックチェーン内の正しいブロックを保護し、分岐チェーンの重みに基づいて分岐チェーンからメインチェーンを決定することができ、ブロック生成ノードの切り替え中に、前のブロック生成ノードの末尾ブロックが次のブロック生成ノードによって悪意的に破棄される問題をある程度回避し、次のブロック生成ノードの不正行為にかかるコストを増加し、悪意的な攻撃の成功率を低減する。
実施例3
図4は、本願の実施例3提供されるブロックチェーンのメインチェーンの決定装置の概略構成図である。本実施例は、ブロックチェーンに分岐チェーンを生成してメインチェーンを決定する場合に適用することができ、当該装置は、本願のいずれかの実施例に記載のブロックチェーンのメインチェーンの決定方法を実現することができる。当該装置は、具体的には、ブロックチェーンに少なくとも2つの分岐チェーンが存在することを検出した検出結果に基づいて、各分岐チェーン内の各ブロックの重みを決定するためのブロック重み決定モジュール410と、各分岐チェーンに含まれるブロックの重みに基づいて、各分岐チェーンの重みを決定するための分岐チェーン重み決定モジュール420と、各分岐チェーンの重みに基づいて分岐チェーンからメインチェーンを決定し、前記メインチェーン以外の分岐チェーンをロールバックするためのメインチェーン決定モジュール430と、を含む。
一実施例では、前記ブロック重み決定モジュール410は、各分岐チェーンに含まれるブロックの情報に基づいて、ターゲット攻撃タイプを決定するための攻撃タイプ決定ユニットと、予め設定された攻撃タイプと重み設定ルールとの間の関連関係に基づいて、前記ターゲット攻撃タイプに関連付けられたターゲット重み設定ルールを決定するための重みルール決定ユニットと、前記ターゲット重み設定ルールに基づいて、前記分岐チェーン内の各ブロックの重みを決定するためのブロック重み決定ユニットと、を含む。
一実施例では、前記ブロック重み決定モジュール410は、具体的には、さらに、前記分岐チェーン内の任意の現在のブロックのブロック生成ノードと前記現在のブロックの前のブロックのブロック生成ノードとが異なるという決定結果に基づいて、前記現在のブロックの重みを第1の数値に設定し、前記現在のブロックのブロック生成ノードと前記現在のブロックの前のブロックのブロック生成ノードとが同じであり、且つ前記前のブロックが分岐ブロックであるという決定結果に基づいて、前記現在のブロックの重みを前記第1の数値に設定し、前記現在のブロックのブロック生成ノードと前記現在のブロックの前のブロックのブロック生成ノードとが同じであり、且つ前記前のブロックが分岐ブロックではないという決定結果に基づいて、前記現在のブロックの重みを第2の数値に設定し、前記第1の数値は、前記第2の数値より大きい。
一実施例では、前記分岐チェーン重み決定モジュール420は、具体的には、前記分岐チェーンに含まれる各ブロックの重みを合計して、前記分岐チェーンの重みを取得する。
一実施例では、前記メインチェーン決定モジュール430は、具体的には、重みが最大の分岐チェーンをメインチェーンとして決定する。
本実施例の技術案では、各機能モジュール間の相互に結合によって、分岐チェーンの検出、攻撃タイプの決定、攻撃タイプと重み設定ルールとの関連付け、ブロック重みの設定、分岐チェーン重みの決定、及びメインチェーンの決定など機能を実現する。本実施例は、分岐チェーンの具体的な状況に応じて分岐チェーン内の各ブロックに異なる重みを設定し、各ブロックのブロックチェーンにおける実際の比重を事前に合理的に割り当てることによって、分岐チェーンの重みに基づいて分岐チェーンからメインチェーンを決定し、メインチェーンの決定の合理性を向上させる。そして、ブロック生成ノードの切り替え中に、前のブロック生成ノードの末尾ブロックが次のブロック生成ノードによって悪意的に破棄される問題をある程度回避し、次のブロック生成ノードの不正行為にかかるコストを増加し、悪意的な攻撃の成功率を低減する。
実施例4
図5は、本願の実施例4により提供される機器の概略構成図である。図5は、本実施例の実施方式を実現するのに適する例示的な機器のブロック図を示す。図5に示される機器は、単なる一つの例であり、本実施例の機能及び使用範囲を一切制限しない。
図5に示される機器は、単なる一つの例であり、本実施例の機能及び使用範囲を一切制限しない。
図5に示すように、機器12は、汎用コンピューティング機器の形態で示される。機器12のコンポーネントは、一つ又は複数のプロセッサ又は処理ユニット16と、システムメモリ28と、異なるシステムコンポーネント(システムメモリ28と処理ユニット16とを含む)を接続するバス18と、を含むことができるが、これらに限定されない。
バス18は、メモリバス又はメモリコントローラ、周辺バス、アクセラレーテッドグラフィックスポート、プロセッサ又は多様なバス構造のうち任意のバス構造を使用するローカルバスを含む、複数種のバス構造のうち一つ又は複数のものを表す。例をあげると、これらのアーキテクチャは、インダストリスタンダードアーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MAC)バス、拡張ISAバス、ビデオエレクトロニクススタンダーズアソシエーション(VESA)ローカルバス、及びペリフェラルコンポーネントインターコネクト(PCI)バスを含むが、これらに限定されない。
機器12は、典型的には、多種類のコンピュータシステム読み取り可能な媒体を含む。これらの媒体は、機器12がアクセスすることができる任意の使用可能な媒体であってもよく、揮発性媒体及び不揮発性媒体、リムーバブル媒体及びノンリムーバブル媒体を含む。
システムメモリ28は、ランダムアクセスメモリ(RAM)30及び/又はキャッシュメモリ32などのような揮発性メモリの形態のコンピュータシステム読み取り可能な媒体を含んでもよい。機器12は、他のリムーバブル/ノンリムーバブル、揮発性/不揮発性コンピュータシステム記憶媒体をさらに含んでもよい。単なる一例として、ストレージシステム34は、ノンリムーバブル、不揮発性磁気媒体(図5に示されていないが、通常「ハードドライブ」と呼ぶ)に対して読み出し及び書き込みをするために用いることができる。図5に示されていないが、リムーバブル、不揮発性磁気ディスク(例えば、「フロッピーディスク」)に対して読み出し及び書き込みをするための磁気ディスクドライブ、及びリムーバブル、不揮発性光学ディスク(例えば、CD−ROM、DVD−ROM又は他の光学媒体)に対して読み出し及び書き込みをするための光学ディスクドライブを提供することができる。この場合、各ドライブは、一つ又は複数のデータメディアインターフェイスを介してバス18に接続することがきる。メモリ28は、本願の各実施例に記載の機能を実行するように構成されるワンセットのプログラムモジュール(例えば、少なくとも一つ)を有する少なくとも一つのプログラム製品を含んでもよい。
ワンセットのプログラムモジュール42(少なくとも一つ)を有するプログラム/ユーティリティ40は、例えば、システムメモリ28に記憶されてもよく、このようなプログラムモジュール42は、オペレーティングシステム、一つ又は複数のアプリケーションプログラム、他のプログラムモジュール、及びプログラムデータを含むことができるがこれらに限定されない。これらの例のそれぞれ又は何らかの組み合わせには、ネットワーく環境の実装が含まれる可能性がある。プログラムモジュール42は、通常本願の実施例に記載の実施例における機能及び/又は方法を実行する。
機器12は、一つ又は複数の外部機器14(例えば、キーボード、ポインティング機器、ディスプレイ24など)と通信することができるし、ユーザが機器12とインタラクションすることを可能にする一つ又は複数の機器と通信することもでき、及び/又は機器12が一つ又は複数の他のコンピューティングデバイスと通信することを可能にする任意の機器(例えば、ネットワークカード、モデムなど)と通信することができる。そのような通信は、入力/出力(I/O)インターフェイス22を介して行うことができる。また、機器12は、ネットワークアダプタ20を介して、一つ又は複数のネットワーク(例えば、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、及び/又はパブリックネットワーク、例えば、インターネット)と通信することができる。図4に示すように、ネットワークアダプタ20は、バス18を介して、機器12の他のモジュールと通信する。なお、図示されていないが、マイクロコードやデバイスドライバ、冗長処理ユニット、外部ディスクドライブアレイ、RAIDシステム、テープドライバ、及びデータバックアップトレージシステムなどを含むがこれらに限定されない他のハードウェア及び/又はソフトウェアモジュールを、機器12と組み合わせて使用することができる。
処理ユニット16は、システムメモリ28に記憶されるプログラムを実行することにより、多様な機能アプリケーション及びデータ処理を実行し、例えば、本願の実施例により提供されるブロックチェーンのメインチェーンの決定方法を実現する。
実施例5
本願の実施例5は、コンピュータプログラムが記憶されている(又はコンピュータ実行可能な命令と呼ばれる)コンピュータ読み取り可能な記憶媒体をさらに提供し、当該プログラムがプロセッサによって実行される場合に、ブロックチェーンのメインチェーンの決定方法が実行され、当該方法は、ブロックチェーンに少なくとも2つの分岐チェーンが存在することを検出した検出結果に基づいて、各分岐チェーン内の各ブロックの重みを決定するステップと、各分岐チェーンに含まれるブロックの重みに基づいて、各分岐チェーンの重みを決定するステップと、各分岐チェーンの重みに基づいて分岐チェーンからメインチェーンを決定し、前記メインチェーン以外の分岐チェーンをロールバックするステップと、を含む。
本願の実施例のコンピュータ記憶媒体は、一つ又は複数のコンピュータ読み取り可能な媒体の任意の組み合わせを採用することができる。コンピュータ読み取り可能な媒体は、コンピュータ読み取り可能な信号媒体、或いはコンピュータ読み取り可能な記憶媒体であってもよい。コンピュータ読み取り可能な媒体は、例えば、電子、磁気、光、電磁気、赤外線、又は半導体のシステム、装置又はデバイス、或いは上記の任意の組み合わせであってもよいがこれらに限定されない。コンピュータ読み取り可能な記憶媒体のより具体的な例(非網羅的なリスト)は、一つ又は複数の配線を備える電気接続部、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能なプログラマブル読み出し専用メモリ(EPROM又はフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読み出し専用メモリ(CD-ROM)、光記憶装置、磁気記憶装置、又は上記の任意の適切な組み合わせを含む。この文書において、コンピュータ読み取り可能な記憶媒体は、命令実行システム、装置又はデバイスにより使用され、或いはそれらと組み合わせて使用されることが可能であるプログラムを含む又は記憶する任意の有形の媒体であってもよい。
コンピュータ読み取り可能なの信号媒体は、ベースバンドにおける、又は搬送波の一部として伝播するデータ信号を含むことができ、その中のにはコンピュータ読み取り可能なのプログラムコードが搭載される。この伝播するデータ信号は様々な形式を採用することができ、電磁信号、光信号又は上記の任意の適切な組み合わせを含むがこれらに限定されない。コンピュータ読み取り可能なの信号媒体は、さらに、コンピュータ読み取り可能な記憶媒体以外の任意のコンピュータ読み取り可能な媒体であってもよく、当該コンピュータ読み取り可能な媒体は、命令実行システム、装置又はデバイスにより使用され、或いはそれらと組み合わせて使用されるプログラムを送信、伝播又は伝送することができる。
コンピュータ読み取り可能な媒体に含まれるプログラムコードは、無線、有線、光ケーブル、RFなど、又は上記の任意の適切な組み合わせを含むがこれらに限定されない任意の適切な媒体によって伝送することができる。
一つ又は複数のプログラミング言語又はそれらの組み合わせで本願の実施例の動作を実行するためのコンピュータプログラムコードを作成することができ、前記プログラミング言語は、Java、Smalltalk、C++などのようなプロジェクト指向のプログラミング言語を含み、さらに、「C」言語又は同様のプログラミング言語といった従来の手続き型プログラミング言語をも含む。プログラムコードは、完全にユーザーコンピュータで実行されてもよいし、部分的にユーザーコンピュータに実行されてもよいし、スタンドアロンソフトウェアパッケージとして実行されてもよいし、部分的にユーザーコンピュータで、部分的にリモートコンピュータで実行されてもよい、又は完全にリモートコンピュータ又は機器で実行してもよい。リモートコンピュータに係る場合、リモートコンピュータは、ローカルネットワーク(LAN)又は広域ネットワーク(WAN)を含む任意種類のインターネットを介して、ユーザーコンピュータに接続することができ、或いは、外部コンピュータ(例えば、インターネットサービスプロバイダを利用してインターネットを介して接続する)に接続することもできる。
本願は、2018年5月2日付に中国特許庁に提出した、中国特許出願番号が「201810411049.4」である中国特許出願の優先権を主張するものであり、当該出願のすべての内容は、引用により本願に組み込まれる。

Claims (12)

  1. ブロックチェーンのメインチェーンの決定方法であって、
    ブロックチェーンに少なくとも2つの分岐チェーンが存在することを検出した検出結果に基づいて、各分岐チェーン内の各ブロックの重みを決定するステップと、
    各分岐チェーンに含まれるブロックの重みに基づいて、各分岐チェーンの重みを決定するステップと、
    各分岐チェーンの重みに基づいて分岐チェーンからメインチェーンを決定し、前記メインチェーン以外の分岐チェーンをロールバックするステップと、を含む、
    ことを特徴とするブロックチェーンのメインチェーンの決定方法。
  2. 前記各分岐チェーン内の各ブロックの重みを決定するステップは、
    各分岐チェーンに含まれるブロックの情報に基づいて、ターゲット攻撃タイプを決定するステップと、
    予め設定された攻撃タイプと重み設定ルールとの間の関連関係に基づいて、前記ターゲット攻撃タイプに関連付けられたターゲット重み設定ルールを決定するステップと、
    前記ターゲット重み設定ルールに基づいて、前記分岐チェーン内の各ブロックの重みを決定するステップと、を含む、
    ことを特徴とする請求項1に記載のブロックチェーンのメインチェーンの決定方法。
  3. 前記各分岐チェーン内の各ブロックの重みを決定するステップは、
    前記分岐チェーン内の任意の現在のブロックのブロック生成ノードと前記現在のブロックの前のブロックのブロック生成ノードとが異なるという決定結果に基づいて、前記現在のブロックの重みを第1の数値に設定するステップと、
    前記現在のブロックのブロック生成ノードと前記現在のブロックの前のブロックのブロック生成ノードとが同じであり、且つ前記前のブロックが分岐ブロックであるという決定結果に基づいて、前記現在のブロックの重みを前記第1の数値に設定するステップと、
    前記現在のブロックのブロック生成ノードと前記現在のブロックの前のブロックのブロック生成ノードとが同じであり、且つ前記前のブロックが分岐ブロックではないという決定結果に基づいて、前記現在のブロックの重みを第2の数値に設定するステップと、を含み、
    前記第1の数値は、前記第2の数値より大きい、
    ことを特徴とする請求項1に記載のブロックチェーンのメインチェーンの決定方法。
  4. 前記各分岐チェーンに含まれるブロックの重みに基づいて、各分岐チェーンの重みを決定するステップは、
    前記分岐チェーンに含まれる各ブロックの重みを合計して、前記分岐チェーンの重みを取得するステップを含む、
    ことを特徴とする請求項1〜3のいずれかに記載のブロックチェーンのメインチェーンの決定方法。
  5. 各分岐チェーンの重みに基づいて、分岐チェーンからメインチェーンを決定するステップは、
    重みが最大の分岐チェーンをメインチェーンとして決定するステップを含む、
    ことを特徴とする請求項1に記載のブロックチェーンのメインチェーンの決定方法。
  6. ブロックチェーンのメインチェーンの決定装置であって、
    ブロックチェーンに少なくとも2つの分岐チェーンが存在することを検出した検出結果に基づいて、各分岐チェーン内の各ブロックの重みを決定するためのブロック重み決定モジュールと、
    各分岐チェーンに含まれるブロックの重みに基づいて、各分岐チェーンの重みを決定するための分岐チェーン重み決定モジュールと、
    各分岐チェーンの重みに基づいて分岐チェーンからメインチェーンを決定し、前記メインチェーン以外の分岐チェーンをロールバックするためのメインチェーン決定モジュールと、を含む、
    ことを特徴とするブロックチェーンのメインチェーンの決定装置。
  7. 前記ブロック重み決定モジュールは、
    各分岐チェーンに含まれるブロックの情報に基づいて、ターゲット攻撃タイプを決定するための攻撃タイプ決定ユニットと、
    予め設定された攻撃タイプと重み設定ルールとの間の関連関係に基づいて、前記ターゲット攻撃タイプに関連付けられたターゲット重み設定ルールを決定するための重みルール決定ユニットと、
    前記ターゲット重み設定ルールに基づいて、前記分岐チェーン内の各ブロックの重みを決定するためのブロック重み決定ユニットと、を含む、
    ことを特徴とする請求項6に記載のブロックチェーンのメインチェーンの決定装置。
  8. 前記ブロック重み決定モジュールは、具体的には、
    前記分岐チェーン内の任意の現在のブロックのブロック生成ノードと前記現在のブロックの前のブロックのブロック生成ノードとが異なるという決定結果に基づいて、前記現在のブロックの重みを第1の数値に設定し、
    前記現在のブロックのブロック生成ノードと前記現在のブロックの前のブロックのブロック生成ノードとが同じであり、且つ前記前のブロックが分岐ブロックであるという決定結果に基づいて、前記現在のブロックの重みを前記第1の数値に設定し、
    前記現在のブロックのブロック生成ノードと前記現在のブロックの前のブロックのブロック生成ノードとが同じであり、且つ前記前のブロックが分岐ブロックではないという決定結果に基づいて、前記現在のブロックの重みを第2の数値に設定し、
    前記第1の数値は、前記第2の数値より大きい、
    ことを特徴とする請求項6に記載のブロックチェーンのメインチェーンの決定装置。
  9. 前記分岐チェーン重み決定モジュールは、具体的には、
    前記分岐チェーンに含まれる各ブロックの重みを合計して、前記分岐チェーンの重みを取得する、
    ことを特徴とする請求項6〜8のいずれかに記載のブロックチェーンのメインチェーンの決定装置。
  10. 前記メインチェーン決定モジュールは、具体的には、
    重みが最大の分岐チェーンをメインチェーンとして決定する、
    ことを特徴とする請求項6に記載のブロックチェーンのメインチェーンの決定装置。
  11. 機器であって、
    一つ又は複数のプロセッサと、
    一つ又は複数のプログラムを記憶するためのメモリと、を含み、
    前記一つ又は複数のプログラムが前記一つ又は複数のプロセッサによって実行される場合に、前記一つ又は複数のプロセッサが、請求項1〜5のいずれかに記載のブロックチェーンのメインチェーンの決定方法を実現する、
    ことを特徴とする機器。
  12. コンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体であって、
    当該プログラムがプロセッサによって実行される場合に、請求項1〜5のいずれかに記載のブロックチェーンのメインチェーンの決定方法が実現される、
    ことを特徴とするコンピュータ読み取り可能な記憶媒体。
JP2020528263A 2018-05-02 2019-01-18 ブロックチェーンのメインチェーンの決定方法、装置、機器及び記憶媒体 Active JP6964193B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201810411049.4A CN108647963B (zh) 2018-05-02 2018-05-02 区块链主链的确定方法、装置、服务器和存储介质
CN201810411049.4 2018-05-02
PCT/CN2019/072335 WO2019210711A1 (zh) 2018-05-02 2019-01-18 区块链主链的确定方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
JP2021504808A true JP2021504808A (ja) 2021-02-15
JP6964193B2 JP6964193B2 (ja) 2021-11-10

Family

ID=63749032

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020528263A Active JP6964193B2 (ja) 2018-05-02 2019-01-18 ブロックチェーンのメインチェーンの決定方法、装置、機器及び記憶媒体

Country Status (4)

Country Link
US (1) US20200358812A1 (ja)
JP (1) JP6964193B2 (ja)
CN (1) CN108647963B (ja)
WO (1) WO2019210711A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201607477D0 (en) * 2016-04-29 2016-06-15 Eitc Holdings Ltd A method and system for controlling the performance of a contract using a distributed hash table and a peer to peer distributed ledger
EP3449452B1 (en) 2016-04-29 2022-06-29 Nchain Holdings Limited Implementing logic gate functionality using a blockchain
CN108647963B (zh) * 2018-05-02 2020-05-12 百度在线网络技术(北京)有限公司 区块链主链的确定方法、装置、服务器和存储介质
CN109858285B (zh) * 2018-12-07 2023-03-14 上海异势信息科技有限公司 区块链数据的处理方法、装置、设备和介质
CN111641666B (zh) * 2019-03-01 2023-04-07 湖南天河国云科技有限公司 一种主链选择方法、装置及计算机可读存储介质
US11108820B2 (en) * 2019-06-16 2021-08-31 Moac Blockchain Tech Inc Apparatus and method for distinguishing between legitimate and malicious branches of a split blockchain
CN110689345B (zh) * 2019-09-06 2022-03-18 北京清红微谷技术开发有限责任公司 调整区块权重的无许可区块链共识方法、系统、p2p网络
CN110704464B (zh) * 2019-09-12 2022-07-08 广州蚁比特区块链科技有限公司 一种分叉问题的处理方法及装置
CN111339086B (zh) * 2020-02-18 2021-04-20 腾讯科技(深圳)有限公司 区块处理方法、基于区块链的数据查询方法及装置
CN111445247B (zh) * 2020-04-09 2021-05-28 堡垒科技有限公司 用于防止区块链分叉的方法和设备
CN111724164B (zh) * 2020-06-19 2023-07-14 中国联合网络通信集团有限公司 一种防止重放攻击的方法和装置
CN111737358B (zh) * 2020-07-20 2020-12-22 百度在线网络技术(北京)有限公司 区块链主链的确定方法、装置、设备及存储介质
CN111858777A (zh) * 2020-08-10 2020-10-30 杭州复杂美科技有限公司 区块处理方法、设备和存储介质
CN113269637B (zh) * 2020-12-28 2024-06-18 上海零数众合信息科技有限公司 一种基于区块链的智能设备数据的存证与验证方法
CN112380149B (zh) * 2021-01-18 2021-04-06 腾讯科技(深圳)有限公司 基于节点内存的数据处理方法、装置、设备以及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105931052A (zh) * 2016-04-21 2016-09-07 四川大学 一种基于区块链多因子交叉验证的虚拟货币交易验证方法
JP2017091148A (ja) * 2015-11-09 2017-05-25 日本電信電話株式会社 ブロックチェーン生成装置、ブロックチェーン生成方法、ブロックチェーン検証装置、ブロックチェーン検証方法およびプログラム
US9875510B1 (en) * 2015-02-03 2018-01-23 Lance Kasper Consensus system for tracking peer-to-peer digital records
US20180114218A1 (en) * 2016-10-26 2018-04-26 International Business Machines Corporation Blockchain: automatic fork protection

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10304143B2 (en) * 2016-05-05 2019-05-28 Lance Timothy Kasper Consensus system for manipulation resistant digital record keeping
US10733602B2 (en) * 2016-09-29 2020-08-04 Microsoft Technology Licensing, Llc. Heartbeats and consensus in verifiable outsourced ledgers
CN106530088B (zh) * 2016-12-19 2023-11-17 杜伯仁 基于区块链安全节点对证券产品进行交易的方法
CN107507006A (zh) * 2017-08-11 2017-12-22 杭州秘猿科技有限公司 一种基于许可链的共识分叉处理方法
US10764325B2 (en) * 2018-03-30 2020-09-01 Konica Minolta Laboratory U.S.A., Inc. Method for adjusting mining difficulty of a cryptocurrency blockchain system by monitoring malicious forks and implementing a miners blockchain
CN108647963B (zh) * 2018-05-02 2020-05-12 百度在线网络技术(北京)有限公司 区块链主链的确定方法、装置、服务器和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9875510B1 (en) * 2015-02-03 2018-01-23 Lance Kasper Consensus system for tracking peer-to-peer digital records
JP2017091148A (ja) * 2015-11-09 2017-05-25 日本電信電話株式会社 ブロックチェーン生成装置、ブロックチェーン生成方法、ブロックチェーン検証装置、ブロックチェーン検証方法およびプログラム
CN105931052A (zh) * 2016-04-21 2016-09-07 四川大学 一种基于区块链多因子交叉验证的虚拟货币交易验证方法
US20180114218A1 (en) * 2016-10-26 2018-04-26 International Business Machines Corporation Blockchain: automatic fork protection

Also Published As

Publication number Publication date
WO2019210711A1 (zh) 2019-11-07
CN108647963A (zh) 2018-10-12
JP6964193B2 (ja) 2021-11-10
US20200358812A1 (en) 2020-11-12
CN108647963B (zh) 2020-05-12

Similar Documents

Publication Publication Date Title
JP6964193B2 (ja) ブロックチェーンのメインチェーンの決定方法、装置、機器及び記憶媒体
CN109643359B (zh) 控制密钥-值存储的验证
WO2019095911A1 (zh) 一种抵御拒绝服务攻击的方法及设备
US10599851B2 (en) Malicious code analysis method and system, data processing apparatus, and electronic apparatus
JP6430462B2 (ja) バーチャルマシン通信トラフィックを成形すること
US10027717B2 (en) Peer-to-peer group vigilance
EP3221793B1 (en) Method and system for detecting threats using passive cluster mapping
US11502828B2 (en) Authenticating chaincode to chaincode invocations of a blockchain
WO2019127834A1 (zh) 交易事件的处理方法、装置、终端设备及介质
US20220272105A1 (en) Blockchain-based data detection method, apparatus, and computer-readable storage medium
US20160234230A1 (en) System and method for preventing dos attacks utilizing invalid transaction statistics
US20140157415A1 (en) Information security analysis using game theory and simulation
JP2018503203A (ja) 許容可能なアクティビティルールに基づく許容可能なアクティビティの決定
CN109255057B (zh) 区块生成方法、装置、设备及存储介质
JP6438534B2 (ja) 安全なオンラインバンキングトランザクションを実行するためのシステム及び方法
US10701179B2 (en) Adaptive scoring of service requests and determining whether to fulfill service requests
CN114327803A (zh) 区块链访问机器学习模型的方法、装置、设备和介质
EP3270317A1 (en) Dynamic security module server device and operating method thereof
KR20200132518A (ko) 블록체인 네트워크 간에 트랜잭션 연동을 지원하는 시스템 및 그 방법
US11995179B2 (en) Side-channel protection
US20220311793A1 (en) Worm Detection Method and Network Device
US20140033272A1 (en) Evaluating a security stack in repsonse to a request to access a service
CN114338051B (zh) 区块链获取随机数的方法、装置、设备和介质
CN107026851A (zh) 一种基于流式数据处理的实时系统保护方法
CN107528859B (zh) 一种DDoS攻击的防御方法及设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200522

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210908

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211012

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211018

R150 Certificate of patent or registration of utility model

Ref document number: 6964193

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150