JP2019012510A - ネットワークにおける合意形成方法及び当該ネットワークを構成するノード - Google Patents

ネットワークにおける合意形成方法及び当該ネットワークを構成するノード Download PDF

Info

Publication number
JP2019012510A
JP2019012510A JP2018039982A JP2018039982A JP2019012510A JP 2019012510 A JP2019012510 A JP 2019012510A JP 2018039982 A JP2018039982 A JP 2018039982A JP 2018039982 A JP2018039982 A JP 2018039982A JP 2019012510 A JP2019012510 A JP 2019012510A
Authority
JP
Japan
Prior art keywords
node
message
proposal
received
consensus
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
JP2018039982A
Other languages
English (en)
Other versions
JP6472116B2 (ja
Inventor
裕三 加納
Yuzo Kano
裕三 加納
峰史 小宮山
Takafumi Komiyama
峰史 小宮山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BitFlyer Inc
Original Assignee
BitFlyer Inc
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 BitFlyer Inc filed Critical BitFlyer Inc
Publication of JP2019012510A publication Critical patent/JP2019012510A/ja
Application granted granted Critical
Publication of JP6472116B2 publication Critical patent/JP6472116B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/182Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits based on mutual exchange of the output between redundant processing components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0659Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
    • H04L41/0661Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities by reconfiguring faulty entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
    • G06F11/184Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components where the redundant components implement processing functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/30Decision processes by autonomous network management units using voting and bidding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/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/3247Cryptographic 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
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】合意形成に参加する複数のノードを有するネットワークにおいてf個のビザンチン障害ノードを仮定したときに適した合意形成方法を提供する。【解決手段】各ノードは待ちの状態にあり(S301)、決定論的な計算によって当該ラウンドにおける提案者130が選ばれる。提案者130は、合意形成対象のデータを含むメッセージを各ノードに送信する。提案者は送信により、他のノードは当該メッセージを受信したことに応じて提案済みとなる(S302)。提案を受領した各ノードは提案の有効性を判定し、有効な場合その旨の投票メッセージを送信する。各ノードは、受信した投票メッセージの数が所定の値Qに達した場合、提案を受け入れる旨のメッセージを送信する(S303−1)。次に、各ノードは、受信した受け入れメッセージの数が値Qに達した場合、提案を合意されたものとして扱う旨のメッセージを送信して合意形成プロセスを完了する(S304)。【選択図】図3

Description

本発明は、ネットワークにおける合意形成方法及び当該ネットワークを構成するノードに関し、より詳細には、ネットワークにおいてビザンチン障害ノードの存在を仮定したときに適した合意形成方法及び当該ネットワークを構成するノードに関する。
ブロックチェーンが中央集権的な第三者機関による従来の信用付与のメカニズムを代替可能な技術として注目されている。「ブロック」と呼ばれるデータの単位が当該ブロックについての合意形成に参加する複数のノードに与えられ、その有効性(validity)がそれぞれのノードにおいて評価(evaluate)される。所定の条件が満たされることにより、各ノードは、複数の可能性のあるブロックの中から、当該ブロックについてその採択の合意(consensus)が形成されたと判定して、当該ブロックを受け入れる。より具体的には、当該ブロックが、各ノードが有するブロックチェーンに追加される。合意形成の対象となるブロックは、いずれかのノードによって、各ノードに対して提案される。
ここで、どのような手順で合意を形成するか、何を合意形成のための所定の条件とするかという合意アルゴリズムがブロックチェーンネットワークの信頼性と性能を左右する。合意アルゴリズム次第で、たとえば通信状況・電力供給等の物理的な理由により正常に動作しない障害(「良性障害(benign failure)」とも呼ばれる。)の許容可能な数が異なり、また、合意アルゴリズムに定められた所定のルールに従わないような任意のあらゆる障害(「ビザンチン障害(Byzantine failure)」とも呼ばれる。)の許容可能な数が異なる。あるノードが所定のルールに従わないような場面としては、物理的な理由のほか、当該ノードに対する不正アクセスがあった場合、当該ノードの管理者自身に不正の意図があった場合等が挙げられる。
ブロックチェーンネットワークにどの程度の障害耐性(fault tolerance)を要求するかは、ブロックチェーンの用途に応じて異なり、現在さまざまな可能性が探られている。特に、一定の用途においては、良性障害のみならず、所定の数のビザンチン障害ノードを許容し得るビザンチン障害耐性(Byzantine fault tolerance)をもつ合意アルゴリズムが求められている。
合意アルゴリズムに一般に求められる性質としては、大きく安全性(safety)と活性(liveness)とがあり、前者は、あるデータに対して一度合意が形成されれば正常に振る舞うノードのすべてが当該合意を覆すことなく共有することを意味し、後者は、有限時間内に合意形成が可能であることを意味する。
f個(fは1以上の整数)のビザンチン障害ノードを仮定したときにどのような合意アルゴリズムの下で各ノードを動作させれば十分な安全性及び活性が得られるのか、特に現実的な時間内に得られるのかという問題は、今後のこの技術の普及の上で決定的に重要となってくる。安全性のある合意アルゴリズムは、ファイナリティがあるとも表現されることがある。
本発明は、このような問題点に鑑みてなされたものであり、その目的は、合意形成に参加する複数のノードを有するネットワークにおいてf個のビザンチン障害ノードを仮定したときに適した合意形成方法及びそのためのプログラム並びに当該合意形成方法に従って動作するノードを提供することにある。
このような目的を達成するために、本発明の第1の態様は、合意形成に参加するN個(Nは1以上の整数)のノードを有するネットワークにおいてf個(fは1以上の整数)のビザンチン障害ノードを仮定したときに適した合意形成方法であって、
他のノードから、合意形成の対象となるデータを含むメッセージを提案として有効と判定した旨の第1のメッセージを受領するステップと、受領した第1のメッセージの数が所定の値Qに達した場合、各ノードに、自ノードは前記提案を受け入れる旨の第2のメッセージを送信し、所定時間内に、有効な第1のメッセージの数が前記所定の値Qに達しない場合、各ノードに、自ノードは前記提案を却下する旨の第3のメッセージを送信するステップと、受領した第2のメッセージの数が所定の値Qに達した場合、各ノードに、自ノードは前記提案を前記ネットワークにおいて合意されたものとして扱う旨の第4のメッセージを送信するステップとを含むことを特徴とする。
また、本発明の第2の態様は、第1の態様において、fの値が既知の場合、前記所定の値Qは、(f+N+1)/2以上の整数であることを特徴とする。
また、本発明の第3の態様は、第2の態様において、前記fは、N/3未満であることを特徴とする。
また、本発明の第4の態様は、第1から第3のいずれかの態様において、第2のメッセージを定期的又は断続的に送信することを特徴とする。
また、本発明の第5の態様は、第1から第4のいずれかの態様において、他のノードから自ノード以上のラウンド(合意形成の過程の単位を「ラウンド」と呼ぶ。)における第2のメッセージを受信した場合、各ノードに、前記第2のメッセージを送信するステップをさらに含むことを特徴とする。
また、本発明の第6の態様は、第1から第5のいずれかの態様において、他のノードから第4のメッセージを受信した場合、合意形成を完了させることを特徴とする。
また、本発明の第7の態様は、第1から第6のいずれかの態様において、第3のメッセージを定期的又は断続的に送信することを特徴とする。
また、本発明の第8の態様は、第1から第7のいずれかの態様において、受領した第3のメッセージの数が所定の数Qに達した場合、各ノードに次のラウンド(合意形成の過程の単位を「ラウンド」と呼ぶ。)に進むための第5のメッセージを送信するステップをさらに含むことを特徴とする。
また、本発明の第9の態様は、第8の態様において、他のノードから同一のラウンド又は自ノードよりも大きなラウンドにおける第5のメッセージを受信した場合、各ノードに、前記第5のメッセージを送信するステップをさらに含むことを特徴とする。
また、本発明の第10の態様は、第1から第9のいずれかの態様において、前記提案を行うノードをラウンドごとに(合意形成の過程の単位を「ラウンド」と呼ぶ。)決定論的に選択するステップをさらに含むことを特徴とする。
また、本発明の第11の態様は、第10の態様において、各ノードは、順序付け可能な識別子が割り振られ、前記選択は、ラウンド数をrとしてr mod Nにより定まる順序のノードが選ばれることを特徴とする。
また、本発明の第12の態様は、第1から第11のいずれかの態様において、受領した第1のメッセージの数が所定の値Qに達した場合又は他のノードから第2のメッセージを受領した場合、ロックを設定して以後の動作を限定することを特徴とする。
また、本発明の第13の態様は、第12の態様において、前記限定は、提案を行うノードとして選択された場合、ロック時と合意形成対象のデータが同一の提案を行うことを含むことを特徴とする。
また、本発明の第14の態様は、第12の態様において、前記限定は、提案を受領した場合、ロック時の合意形成対象のデータと同一のデータが合意形成対象であるときに、提案として有効と判断した旨の第1のメッセージを送信可能とすることを含むことを特徴とする。
また、本発明の第15の態様は、第12から第14のいずれかの態様において、自ノードのロック時よりも大きなラウンドにおける受け入れメッセージを受領した場合、前記大きなラウンドにおける合意形成対象のデータについて新たにロックを設定して以後の動作を限定することを特徴とする。
また、本発明の第16の態様は、第1から第15のいずれかの態様において、前記第2のメッセージは、前記所定の値Qが満たされたと判定した根拠となる証拠データを含むことを特徴とする。
また、本発明の第17の態様は、第1から第16のいずれかの態様において、前記第4のメッセージは、合意形成対象のデータ又はそれから計算されるハッシュ値を含むことを特徴とする。
また、本発明の第18の態様は、第1から第17のいずれかの態様において、前記データはブロックであり、各ノードは、受領した第2のメッセージの数が所定の値Qに達した場合、各ノードが有するブロックチェーンに前記ブロックを追加することを特徴とする。
また、本発明の第19の態様は、コンピュータに、合意形成に参加するN個(Nは1以上の整数)のノードを有するネットワークにおいてf個(fは1以上の整数)のビザンチン障害ノードを仮定したときに適した合意形成方法を実行させるためのプログラムであって、前記合意形成方法は、他のノードから、合意形成の対象となるデータを含むメッセージを提案として有効と判定した旨の第1のメッセージを受領するステップと、受領した第1のメッセージの数が所定の値Qに達した場合、各ノードに、自ノードは前記提案を受け入れる旨の第2のメッセージを送信し、所定時間内に、有効な第1のメッセージの数が前記所定の値Qに達しない場合、各ノードに、自ノードは前記提案を却下する旨の第3のメッセージを送信するステップと、受領した第2のメッセージの数が所定の値Qに達した場合、各ノードに、自ノードは前記提案を前記ネットワークにおいて合意されたものとして扱う旨の第4のメッセージを送信するステップとを含むことを特徴とする。
また、本発明の第20の態様は、合意形成に参加するN個(Nは4以上の整数)のノードを有するネットワークにおいてf個(fは1以上の整数)のビザンチン障害ノードを仮定したときに適した合意形成を行うためのノードであって、他のノードから、合意形成の対象となるデータを含むメッセージを提案として有効と判定した旨の第1のメッセージを受領し、受領した第1のメッセージの数が所定の値Qに達した場合、各ノードに、自ノードは前記提案を受け入れる旨の第2のメッセージを送信し、所定時間内に、有効な第1のメッセージの数が前記所定の値Qに達しない場合、各ノードに、自ノードは前記提案を却下する旨の第3のメッセージを送信し、受領した第2のメッセージの数が所定の値Qに達した場合、各ノードに、自ノードは前記提案を前記ネットワークにおいて合意されたものとして扱う旨の第4のメッセージを送信することを特徴とする。
本発明の一態様によれば、後述する提案メッセージ、投票メッセージ、受け入れメッセージ、却下メッセージ、表明メッセージ及びネクストラウンドメッセージのそれぞれを受け取った際の各ノードの振る舞いとノード間での通信につき、特有の構成を採用することによって、合意形成に参加する複数のノードを有するネットワークにおいてのビザンチン障害ノードを仮定したときに適した合意形成方法を提供することができる。
本発明の一実施形態におけるネットワークを示す図である。 本発明の一実施形態におけるメッセージのデータ構造の模式図である。 本発明の一実施形態における各ノードの状態遷移を示す図である。
以下、図面を参照して本発明の実施形態を詳細に説明する。
(第1の実施形態)
ブロックを含む何らかのデータについての合意形成に参加するノードの総数をN(Nは1以上の整数)、ビザンチン障害ノードの数をfと仮定する。本発明は、この仮定の下で、安全性及び活性が得られる合意形成方法を提供する。
図1に、本発明の一実施形態におけるネットワークを示す。ネットワーク100は、例示としてNが6であり、各ノード110は、通信インターフェースなどの通信部111と、プロセッサ、CPU等の処理部112と、メモリ、ハードディスク等の記憶装置又は記憶媒体を含む記憶部113とを備えるコンピュータであり、所定のプログラムを実行することによって、以下で説明する各処理を実現することができ、当該ノード110は、1又は複数の装置ないしサーバを含むことがあり、また当該プログラムは、1又は複数のプログラムを含むことがあり、また、コンピュータ読み取り可能な記憶媒体に記録して非一過性のプログラムプロダクトとすることができる。符号110で示すノードについてのみ、そのハードウェアの構成を図示しているが、その他のノードについても同様である。
所定のプログラムには、合意アルゴリズムにかかるルールが定められており、記憶部113又は各ノード110からネットワークを介してアクセス可能な記憶装置又は記憶媒体に記憶しておくことができる。ビザンチン障害ノード120以外のノードは、当該ルールに基づいて正常な動作をするものとする。図1の例では、fは1である。
ノード間では、メッセージが直接的又は間接的に送受信され、ネットワークを構成する他のノードに合意形成にかかるデータを伝え、また、他のノードからデータを受け取ることができる。図2に模式的に示すように、メッセージ200には、送信されるブロックなどの何らかのデータ201が含まれ、加えて、送信者であるノードによる署名202が付加される。ネットワークを構成する各ノードに割り振られ、各ノードを一意に識別する一組の識別子を各ノードは有しており、メッセージに付加される送信者の署名202を当該識別子を用いて検証することによって、当該メッセージを送信したノードを確認することができる。具体的には、各ノードに関連づけられた秘密鍵に対応する公開鍵を当該ノードの識別子とし、署名202は、送信されるメッセージ200若しくはデータ201又はこれらから計算されるハッシュ値に基づいて秘密鍵により生成したものとすることができる。
まず、各ノードは、待ち(wait)の状態(state)にあり(S301)、決定論的な計算によって、いずれかのノードが提案者(proposer)130として選ばれる。ここで、「決定論的(deterministic)」とは、いずれのノードにおいても同一の結果が得られることを意味する。本発明では、合意形成の試行の単位を「ラウンド」と呼び、ラウンドの数をrで表す。たとえば、r mod Nの計算によって提案者となるノード130を決定論的に選ぶことができる。一例として、上述の一組の識別子を順序付け可能な識別子により構成することで、Nが6、rが1のときは1番目のノードが選ばれ、rが2のときは2番目のノードが選ばれる。r mod Nの代わりにr+a mod N(aは定数)のようにしてもよい。各ノードにおいて上記計算が行われ、各ノードは自ノードの現在のラウンド数rを記憶部113に記憶しているか、ネットワークを介してアクセス可能であり、参照可能であるため、自ノードが提案者であるか否かを各ノードは判定することが可能である。後述のように、ノードごとに次のラウンドに進むことがあるため、自ノードとは異なるラウンドにいるノードからのメッセージを受信することがある。
提案者130は、合意形成対象のデータを含むメッセージをネットワーク100を構成する各ノードに署名付きで送信して提案する。送信後、提案者は提案済み(proposed)の状態となり、他のノードは、当該メッセージを受信したことに応じて提案済みの状態となる(S302)。提案者も自ノードからの提案を受け取るものとし、より一般的には、何らかのメッセージを送信したノードも自ノードからのメッセージを受け取るものとする。ここで、自ノードからの受け取りには、自ノードに記憶されたメッセージを参照することを含む。提案者は、提案の送信ではなく受け取りに応じて提案済みの状態となるようにしてもよい。また、提案のためのメッセージ及び以下で説明するその他のメッセージには、現在のラウンド数rを含む。
提案を受領した各ノードは、当該提案を評価して、それが有効(valid)であるか否かを判定する。有効か否かの判定は、当該提案がそのラウンドで提案者として選択されたものによって送信されたものであるか否かの判定を含み、たとえば、データ形式が用途に応じた所定の形式その他の所定の条件を満たすか否かの判定をさらに含んでもよい。有効と判定したノードは、各ノードにその旨のメッセージを自ノードによる署名付きで送信する。当該メッセージは、有効な提案に対する投票という意味で、投票メッセージ(「第1のメッセージ」に対応)と呼ぶことがある。投票メッセージには、データ201として、提案内容又はそれから計算されるハッシュ値が含まれる。以下の処理においても、受け取ったメッセージの有効性の判定を必要に応じて行い、有効なメッセージのみをカウントなどの処理対象とするようにすることができる。提案を受け取ったノードは、当該提案が有効である場合に提案済みの状態に遷移するようにしてもよい。
ビザンチン障害ノード120が提案者130でないにも関わらず、各ノードに提案をしたような際には、ここで、無効と判定される。また、ビザンチン障害ノード120が提案者130であり、合意アルゴリズムに定められた所定のルール上はラウンドごとに同一の提案を各ノードにすべきであるにも関わらず、複数の異なる提案を行ってしまったり、一部のノードに提案を送らないといったことが考えられる。このような場合には、有効性の判定が送信者の適否のみであれば、ビザンチン障害ノード120は提案者としては有効であるため、各ノードは、それぞれのノードが受け取った提案に対する投票メッセージを送信することとなる。このような状況においても、以下に説明する本実施形態にかかる処理によって、合意形成が可能である。
各ノードは、同一ラウンド内で受信した同じ提案に対する投票メッセージの数が所定の値Qに達した場合、各ノードに自ノードは当該提案を受け入れる旨のメッセージを署名付きで送信して、受け入れ(accepted)の状態に遷移する(S303−1)。当該メッセージは、受け入れメッセージ(「第2のメッセージ」に対応)と呼ぶことがある。受け入れメッセージは、当該ノードが所定の値Qが満たされたと判定した根拠となる証拠データ(evidence data)を含むことができる。証拠データは、具体的には、受け取ったQ個以上の投票メッセージ又はこれに対応するデータとすることができる。また、受け入れメッセージは、提案内容又はそれから計算されるハッシュ値を含むことができる。受け入れの状態にあるノードは、活性を高めるために、定期的又は断続的に受け入れメッセージを送信するのが望ましい。
ここで、所定の値Qは、fの値が既知の場合、(f+N+1)/2以上の整数とすることが安全性を確保する上で必要であることが分かる。実際には、(f+N+1)/2以上の最小の整数とすればよい。すなわち、安全性を確保するには、複数の異なる提案について所定の値Qが満たされないようにすることが必要であり、そのためには、Q個のノードが投票したときには、(N−f)個の正常なノードの過半数が投票をしていることが求められ、
Q>(N−f)/2
が満たされなければならない。投票メッセージを送信したQ個のノードのうち、ビザンチン障害ノード120が最大f個存在し得るため、さらに
Q−f>(N−f)/2
が満たされることが求められ、これは
Q>(N+f)/2
となり、(N+f+1)/2以上と表すこともできる。
また、活性を確保するためには、正常なノードの数(N−f)が所定の値Q以上であることが求められる。したがって、上記Qの条件を代入して、ビザンチン障害ノード120の数fは(N−1)/3以下となることが要求される。これは、N/3未満と表現することもできる。fの値が(N−1)/3以下であること以上は不明である場合、所定の値Qは、(2N+1)/3以上の最小の整数とすればよい。一例として、Nが4のとき、Qが3となる。
また、各ノードは、所定時間内に、受信した投票メッセージの数が所定の値Qに達しない場合、各ノードに自ノードは当該ラウンドにおける提案を却下する旨のメッセージを署名付きで送信して、却下(dismissed)の状態に遷移する(S303−2)。当該メッセージは、却下メッセージ(「第3のメッセージ」に対応)と呼ぶことがある。上記所定時間は、たとえば、10秒とすることが考えられる。却下の状態にあるノードは、活性を高めるために、定期的又は断続的に却下メッセージを送信するのが望ましい。
次に、各ノードは、受信した受け入れメッセージの数が所定の数Qに達した場合、必要に応じて各メッセージの証拠データの存在を確認した上で、各ノードに自ノードは当該提案をネットワーク100により合意されたものとして扱う旨のメッセージを送信して、合意形成プロセスを完了(complete)する(S304)。当該メッセージは、提案を合意されたものとして扱う旨の表明(commit)という意味で、表明メッセージ(「第4のメッセージ」に対応)と呼ぶことがある。表明メッセージは、提案内容又はそれから計算されるハッシュ値を含み、提案内容がブロックの場合、完了を受けて当該ノードが有するブロックチェーンが加えられる。また、表明メッセージは、提案内容又はそれから計算されるハッシュ値を含むことができる。また、表明メッセージは、当該ノードが所定の値Qが満たされたと判定した根拠となる証拠データを含むことができる。証拠データは、具体的には、受け取ったQ個以上の受け入れメッセージ又はこれに対応するデータとすることができる。
図3では、受け入れの状態又は却下の状態から合意形成プロセスが完了に至るように示しているが、条件を満たせば、各ノードが待ちの状態又は提案済みの状態にあっても、合意形成プロセスは完了することができる。表明メッセージを受信したノードは、それを受けて、必要に応じて証拠データの存在を確認した上で、合意形成プロセスを完了する。
また、各ノードは、受信した却下メッセージの数が所定の数Qに達した場合、各ノードに次のラウンドに進むためのメッセージを送信して、自ノードも次のラウンドにおける待ちの状態に遷移する。当該メッセージは、ネクストラウンドメッセージ(「第5のメッセージ」に対応)と呼ぶことがある。合意に至らなかったため、次のラウンドに進み、新たな提案者130の下で合意形成のプロセスが進められる。ネクストラウンドメッセージは、当該ノードが所定の値Qが満たされたと判定した根拠となる証拠データを含むことができる。証拠データは、具体的には、受け取ったQ個以上の却下メッセージ又はこれに対応するデータとすることができる。また、ネクストラウンドメッセージは、提案内容又はそれから計算されるハッシュ値を含むことができる。
図3では、点線矢印によって、受け入れの状態又は却下の状態から次のラウンドの待ちの状態に遷移するように示しているが、条件を満たせば、各ノードが待ちの状態又は提案済みの状態にあっても、次のラウンドに進むことができる。また、上記条件を満たさなくとも、他のノードから同一のラウンドのネクストラウンドメッセージを受け取った際に、次のラウンドの待ちの状態に遷移するようにしてもよく、さらに各ノードにネクストラウンドメッセージを送信するようにしてもよい。
上述の説明では、提案済みの状態から受け入れの状態に遷移するように記述しているが、待ちの状態からでも、あるいは却下の状態からでも、上記条件を満たせば、遷移を発生させることができる。更に、受信した投票メッセージの数が所定の値Qに達しない場合であっても、他のノードから同一のラウンドの受け入れメッセージを受け取った際に、受け入れの状態に遷移するようにしてもよい。自ノードよりも低いラウンドからの受け入れメッセージについては、ビザンチン障害ノード120が受け入れメッセージを送るべきラウンドでは送らずに遅延させて送ることが考えられ、これに基づいて他のノードが受け入れてしまうと、複数の提案について合意が形成され、分岐が生じるおそれがある。
なお、「××のみに基づいて」、「××のみに応じて」、「××のみの場合」というように「のみ」との記載がなければ、本明細書においては、付加的な情報も考慮し得ることが想定されていることに留意されたい。
(第2の実施形態)
本発明の第2の実施形態においては、第1の実施形態にかかる合意形成方法に対し、各ノードの動作を一定の動作に限定する「ロック(lock)」の設定を行う。ロックがなされることで、たとえば、一つのノードが複数の投票等を行ってしまうような状況を抑止し、複数の異なる提案について所定の値Qの条件が満たされる可能性をゼロまで下げ、安全性を高めることができる。
具体的には、各ノードが受け入れの状態に遷移するとともに、ロックの設定を行うことができる。一例として、ロックされた場合、提案を受け取っても、合意形成対象のデータがロック時におけるものと同一でなければ、当該提案が有効であっても投票を行わない。また、自ノードが提案者として選択された場合、ロック時のラウンドにおける合意形成対象のデータを提案しなければならないようにすることができる。
(第3の実施形態)
ネットワークの切断、遅延等によって異なるラウンドからのメッセージを受け取ることがある。具体的には、自ノードよりも大きいラウンドにおける受け入れメッセージを受領した場合、それを無視するのではなく、ロックされていればそれを解除して、自ノードのラウンドを当該ラウンドに更新し、更にロックの設定をしてもよい。また、自ノードのラウンドよりは低いが自ノードがロックされた際のラウンドよりは大きいラウンドにおける受け入れメッセージを受領した場合、ロックを解除して、当該受け入れメッセージのラウンドにおける提案内容でロックを設定し、ラウンド数については、自ノードのラウンドのままとすることができる。ロックの解除をこのように可能とすることで、合意形成における活性を高めることができる。ビザンチン障害ノードが根拠なく大きいラウンドの受け入れメッセージを送信することが考えられることから、根拠データの存在の確認が必要に応じて行われる。
また、自ノードよりも大きいラウンドにおけるネクストラウンドメッセージを受領した場合、自ノードのラウンドを当該ラウンドに更新し、当該ラウンドにおいてネクストラウンドメッセージを送信してもよい。
また、自ノードよりも大きいラウンドにおける提案を受領した場合、自ノードのラウンドを当該ラウンドに更新し、当該提案が有効なとき、当該ラウンドにおいて投票メッセージを送信してもよい。より詳細には、rが2以上の場合には提案のメッセージには、前のラウンドのネクストラウンドメッセージを含め、提案を受け取ったノードは当該ネクストラウンドメッセージの根拠データの存在を確認した上で自ノードのラウンドを更新するようにしてもよい。あるいは、提案のメッセージを受け取った際に、送信元のノードに前のラウンドのネクストラウンドメッセージの送信を要求するようにしてもよい。
また、自ノードと異なるラウンドから表明メッセージを受け取ることがあり、この際には、ラウンドに関わらず、またロックの有無にかかわらず、当該ラウンドにおける提案ネがネットワーク100により合意されたものとして扱い、合意形成プロセスを完了することができる。
100 ネットワーク
110 ノード
111 通信部
112 処理部
113 記憶部
120 ビザンチン障害ノード
130 提案者
200 メッセージ
201 データ
202 署名

Claims (10)

  1. 合意形成に参加するN個(Nは1以上の整数)のノードを有するネットワークにおいてf個(fは1以上の整数)のビザンチン障害ノードを仮定したときに適した合意形成方法であって、
    他のノードから、合意形成の対象となるデータを含むメッセージを提案として有効と判定した旨の第1のメッセージを受領するステップと、
    受領した第1のメッセージの数が所定の値Qに達した場合、各ノードに、自ノードは前記提案を受け入れる旨の第2のメッセージを送信し、所定時間内に、有効な第1のメッセージの数が前記所定の値Qに達しない場合、各ノードに、自ノードは前記提案を却下する旨の第3のメッセージを送信するステップと、
    受領した第2のメッセージの数が所定の値Qに達した場合、各ノードに、自ノードは前記提案を前記ネットワークにおいて合意されたものとして扱う旨の第4のメッセージを送信するステップと
    を含むことを特徴とする合意形成方法。
  2. fの値が既知の場合、前記所定の値Qは、(f+N+1)/2以上の整数であることを特徴とする請求項1に記載の合意形成方法。
  3. 前記fは、N/3未満であることを特徴とする請求項2に記載の合意形成方法。
  4. 前記提案を行うノードをラウンドごとに(合意形成の過程の単位を「ラウンド」と呼ぶ。)決定論的に選択するステップをさらに含むことを特徴とする請求項1から3のいずれかに記載の合意形成方法。
  5. 各ノードは、順序付け可能な識別子が割り振られ、
    前記選択は、ラウンド数をrとしてr+a mod N(aは整数)により定まる順序のノードが選ばれることを特徴とする請求項4に記載の合意形成方法。
  6. 第2のメッセージを定期的又は断続的に送信することを特徴とする請求項1から5のいずれかに記載の合意形成方法。
  7. 他のノードから自ノード以上のラウンド(合意形成の過程の単位を「ラウンド」と呼ぶ。)における第2のメッセージを受信した場合、各ノードに、前記第2のメッセージを送信するステップをさらに含むことを特徴とする請求項1から6のいずれかに記載の合意形成方法。
  8. 他のノードから第4のメッセージを受信した場合、合意形成を完了させることを特徴とする請求項1から7のいずれかに記載の合意形成方法。
  9. コンピュータに、合意形成に参加するN個(Nは1以上の整数)のノードを有するネットワークにおいてf個(fは1以上の整数)のビザンチン障害ノードを仮定したときに適した合意形成方法を実行させるためのプログラムであって、前記合意形成方法は、
    他のノードから、合意形成の対象となるデータを含むメッセージを提案として有効と判定した旨の第1のメッセージを受領するステップと、
    受領した第1のメッセージの数が所定の値Qに達した場合、各ノードに、自ノードは前記提案を受け入れる旨の第2のメッセージを送信し、所定時間内に、有効な第1のメッセージの数が前記所定の値Qに達しない場合、各ノードに、自ノードは前記提案を却下する旨の第3のメッセージを送信するステップと、
    受領した第2のメッセージの数が所定の値Qに達した場合、各ノードに、自ノードは前記提案を前記ネットワークにおいて合意されたものとして扱う旨の第4のメッセージを送信するステップと
    を含むことを特徴とするプログラム。
  10. 合意形成に参加するN個(Nは4以上の整数)のノードを有するネットワークにおいてf個(fは1以上の整数)のビザンチン障害ノードを仮定したときに適した合意形成を行うためのノードであって、
    他のノードから、合意形成の対象となるデータを含むメッセージを提案として有効と判定した旨の第1のメッセージを受領し、
    受領した第1のメッセージの数が所定の値Qに達した場合、各ノードに、自ノードは前記提案を受け入れる旨の第2のメッセージを送信し、所定時間内に、有効な第1のメッセージの数が前記所定の値Qに達しない場合、各ノードに、自ノードは前記提案を却下する旨の第3のメッセージを送信し、
    受領した第2のメッセージの数が所定の値Qに達した場合、各ノードに、自ノードは前記提案を前記ネットワークにおいて合意されたものとして扱う旨の第4のメッセージを送信することを特徴とするノード。
JP2018039982A 2017-06-30 2018-03-06 ネットワークにおける合意形成方法及び当該ネットワークを構成するノード Active JP6472116B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017128847A JP2019012415A (ja) 2017-06-30 2017-06-30 ネットワークにおける合意形成方法及び当該ネットワークを構成するノード

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017128847A Division JP2019012415A (ja) 2017-06-30 2017-06-30 ネットワークにおける合意形成方法及び当該ネットワークを構成するノード

Publications (2)

Publication Number Publication Date
JP2019012510A true JP2019012510A (ja) 2019-01-24
JP6472116B2 JP6472116B2 (ja) 2019-02-20

Family

ID=64742044

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2017128847A Pending JP2019012415A (ja) 2017-06-30 2017-06-30 ネットワークにおける合意形成方法及び当該ネットワークを構成するノード
JP2018039982A Active JP6472116B2 (ja) 2017-06-30 2018-03-06 ネットワークにおける合意形成方法及び当該ネットワークを構成するノード

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2017128847A Pending JP2019012415A (ja) 2017-06-30 2017-06-30 ネットワークにおける合意形成方法及び当該ネットワークを構成するノード

Country Status (5)

Country Link
US (1) US11212165B2 (ja)
EP (1) EP3647955B1 (ja)
JP (2) JP2019012415A (ja)
CN (1) CN111052091B (ja)
WO (1) WO2019004480A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210061243A (ko) * 2019-11-19 2021-05-27 한양대학교 산학협력단 가변 정족수 기반의 블록체인 합의 방법, 이를 이용하는 블록체인 노드 및 프로그램
JP2022547013A (ja) * 2019-10-10 2022-11-10 杭州趣鏈科技有限公司 Pbftアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法、システム、設備および媒体
JP2023508210A (ja) * 2020-05-27 2023-03-01 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 ブロックチェーンに基づくデータ処理方法、装置、デバイス及びコンピュータプログラム

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG11201908887XA (en) * 2019-03-18 2019-10-30 Alibaba Group Holding Ltd System and method for ending view change protocol
ES2880108T3 (es) 2019-03-18 2021-11-23 Advanced New Technologies Co Ltd Sistema y método para finalizar el protocolo de cambio de vista
CN111342971B (zh) * 2020-02-07 2023-08-08 数据通信科学技术研究所 一种拜占庭共识方法和系统
CN113114613B (zh) * 2020-12-29 2023-05-02 上海零数众合信息科技有限公司 一种区块链容错共识的流水线处理方法
CN112929186B (zh) * 2021-02-22 2022-02-22 北京航空航天大学 一种基于通信模式结构的联盟链共识优化方法
CN113783935B (zh) * 2021-08-12 2022-04-01 清华大学 一种拜占庭容错方法及装置
DE102022111410A1 (de) 2021-11-11 2023-05-11 Alexander Augst Verfahren, System, Persönlichkeitsmodell, Avatar Anwendergerät, Computerprogramm sowie ein neuronales Netz zum Unterstützen einer zwischenmenschlichen Kommunikation
CN114565388B (zh) * 2022-04-29 2022-08-02 腾讯科技(深圳)有限公司 共识轮次的更新方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015146165A (ja) * 2014-02-04 2015-08-13 日本電信電話株式会社 障害耐性信号処理装置および障害耐性信号処理方法
JP2017091149A (ja) * 2015-11-09 2017-05-25 日本電信電話株式会社 ブロックチェーン生成装置、ブロックチェーン生成方法、ブロックチェーン検証装置、ブロックチェーン検証方法およびプログラム

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3655263B2 (ja) * 2001-06-15 2005-06-02 株式会社東芝 分散システムおよび同システムの多重化制御方法
US7797457B2 (en) * 2006-03-10 2010-09-14 Microsoft Corporation Leaderless byzantine consensus
US11159318B2 (en) * 2015-01-30 2021-10-26 Enrico Maim Methods and systems implemented in a network architecture with nodes capable of performing message-based transactions
US11367072B2 (en) 2015-05-20 2022-06-21 Ripple Luxembourg S.A. Private networks and content requests in a resource transfer system
US20170046689A1 (en) * 2015-07-14 2017-02-16 Fmr Llc Crypto Voting and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems
US11488147B2 (en) * 2015-07-14 2022-11-01 Fmr Llc Computationally efficient transfer processing and auditing apparatuses, methods and systems
JP6818034B2 (ja) * 2015-10-05 2021-01-20 リップル・ルクセンブルク・エス・ア リソース転送システム内の一時的コンセンサスネットワーク
US20170236120A1 (en) * 2016-02-11 2017-08-17 Oracle International Corporation Accountability and Trust in Distributed Ledger Systems
US20170250796A1 (en) * 2016-02-18 2017-08-31 Gideon Samid Trans Vernam Cryptography: Round One
CN112541757A (zh) * 2016-05-04 2021-03-23 阿尔戈兰德有限责任公司 使区块链系统的第一实体能向其它实体证明的方法
US9774578B1 (en) * 2016-05-23 2017-09-26 Accenture Global Solutions Limited Distributed key secret for rewritable blockchain
US11395092B2 (en) * 2016-07-18 2022-07-19 Here Global B.V. Device location verification for updated map data
CN106445711B (zh) * 2016-08-28 2019-04-30 杭州云象网络技术有限公司 一种应用于区块链的拜占庭容错共识方法
US11188883B2 (en) * 2016-09-23 2021-11-30 International Business Machines Corporation Using ledger sensors to enable contextual contracts across various enterprise blockchain applications
US20180096551A1 (en) * 2016-10-04 2018-04-05 International Business Machines Corporation Spheres of knowledge
US10360191B2 (en) * 2016-10-07 2019-07-23 International Business Machines Corporation Establishing overlay trust consensus for blockchain trust validation system
CN106656974B (zh) * 2016-10-17 2019-07-16 江苏通付盾科技有限公司 区块链的分组共识方法及系统
US20180114218A1 (en) * 2016-10-26 2018-04-26 International Business Machines Corporation Blockchain: automatic fork protection
US10657526B2 (en) * 2016-10-28 2020-05-19 International Business Machines Corporation System and method to dynamically setup a private sub-blockchain based on agility of transaction processing
US10158527B2 (en) * 2016-10-28 2018-12-18 International Business Machines Corporation Changing an existing blockchain trust configuration
WO2018111302A1 (en) * 2016-12-16 2018-06-21 Visa International Service Association System and method for securely processing an electronic identity
CN106529951A (zh) * 2016-12-30 2017-03-22 杭州云象网络技术有限公司 一种联盟链网络下采用异步方式的节点共识验证方法
US10447480B2 (en) * 2016-12-30 2019-10-15 Guardtime Sa Event verification receipt system and methods
US10484346B2 (en) * 2017-02-07 2019-11-19 Microsoft Technology Licensing, Llc Establishment of consortium blockchain network
US11196573B2 (en) * 2017-03-06 2021-12-07 Nokia Technologies Oy Secure de-centralized domain name system
US10740733B2 (en) * 2017-05-25 2020-08-11 Oracle International Corporaton Sharded permissioned distributed ledgers

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015146165A (ja) * 2014-02-04 2015-08-13 日本電信電話株式会社 障害耐性信号処理装置および障害耐性信号処理方法
JP2017091149A (ja) * 2015-11-09 2017-05-25 日本電信電話株式会社 ブロックチェーン生成装置、ブロックチェーン生成方法、ブロックチェーン検証装置、ブロックチェーン検証方法およびプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BRAIAN M.OKI: "Viewstamped Replication: A New Primary Copy Method to Support Highly-Available Distributed Systems", PODC'88 PROCEEDINGS OF THE SEVENTH ANNUAL ACM SYMPOSIUM ON PRINCIPLES OF DISTRIBUTED COMPUTING, JPN7018001940, August 1988 (1988-08-01), pages 8 - 17, XP055213119, ISSN: 0003815973, DOI: 10.1145/62546.62549 *
MIGUEL CASTRO: "Practical Byzantine Fault Tolerance and Proactive Recovery", ACM TRANSACTIONS ON COMPUTER SYSTEMS, vol. 20, no. 4, JPN6018021966, November 2002 (2002-11-01), pages 398 - 461, XP058290927, ISSN: 0003815972, DOI: 10.1145/571637.571640 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022547013A (ja) * 2019-10-10 2022-11-10 杭州趣鏈科技有限公司 Pbftアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法、システム、設備および媒体
JP7367191B2 (ja) 2019-10-10 2023-10-23 杭州趣鏈科技有限公司 Pbftアルゴリズムに基づいて改善された単一ノードの異常能動的回復方法、システム、設備および媒体
US11841778B2 (en) 2019-10-10 2023-12-12 Hangzhou Qulian Technology Co., Ltd. Method and system for active failure recovery of single node improved based on PBFT algorithm, computer device and storage medium
KR20210061243A (ko) * 2019-11-19 2021-05-27 한양대학교 산학협력단 가변 정족수 기반의 블록체인 합의 방법, 이를 이용하는 블록체인 노드 및 프로그램
KR102285882B1 (ko) 2019-11-19 2021-08-05 한양대학교 산학협력단 가변 정족수 기반의 블록체인 합의 방법, 이를 이용하는 블록체인 노드 및 프로그램
JP2023508210A (ja) * 2020-05-27 2023-03-01 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 ブロックチェーンに基づくデータ処理方法、装置、デバイス及びコンピュータプログラム
JP7325894B2 (ja) 2020-05-27 2023-08-15 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 ブロックチェーンに基づくデータ処理方法、装置、デバイス及びコンピュータプログラム
US11914579B2 (en) 2020-05-27 2024-02-27 Tencent Technology (Shenzhen) Company Limited Blockchain-based data processing method and apparatus, device, and readable storage medium

Also Published As

Publication number Publication date
JP2019012415A (ja) 2019-01-24
US11212165B2 (en) 2021-12-28
CN111052091A (zh) 2020-04-21
WO2019004480A1 (ja) 2019-01-03
EP3647955B1 (en) 2023-08-23
US20200112476A1 (en) 2020-04-09
JP6472116B2 (ja) 2019-02-20
EP3647955A1 (en) 2020-05-06
EP3647955A4 (en) 2021-08-04
CN111052091B (zh) 2023-10-03

Similar Documents

Publication Publication Date Title
JP6472116B2 (ja) ネットワークにおける合意形成方法及び当該ネットワークを構成するノード
Khalid et al. A decentralized lightweight blockchain-based authentication mechanism for IoT systems
Williams et al. A survey on security in internet of things with a focus on the impact of emerging technologies
CN108111604A (zh) 区块链共识方法、装置和系统、标识信息处理方法和装置
US20190034936A1 (en) Approving Transactions from Electronic Wallet Shares
US9137226B2 (en) Authentication method and authentication device for performing group authentication using a group key
JP2015536617A (ja) エンティティ・ネットワーク・トランスレーション(ent)
CN109919771B (zh) 一种应用分层区块链技术的工业互联网交易装置
CN101534192B (zh) 一种提供跨域令牌的系统和方法
US11546340B2 (en) Decentralized access control for authorized modifications of data using a cryptographic hash
CN110324415B (zh) 一种对等网络的路由实现方法、装置、设备和介质
CN110647583A (zh) 一种区块链构建方法、装置、终端及介质
US20230353394A1 (en) Cross-blockchain transaction processing method and apparatus, computer device, computer storage medium, and computer program product
US11469905B2 (en) Device and method for processing public key of user in communication system that includes a plurality of nodes
KR102235566B1 (ko) 블록체인 기반 이상행위 탐지 장치 및 방법
Mehraein et al. IGD-ScoreChain: A Lightweight and Scalable Blockchain Based on Node Sharding for the Internet of Things
Wu et al. Blockchain consensus mechanism for distributed energy transactions
Zhang et al. RRV-BC: Random Reputation Voting Mechanism and Blockchain Assisted Access Authentication for Industrial Internet of Things
KR102565850B1 (ko) 신뢰 실행 환경을 기반으로 한 탈중앙형 오라클 시스템 및 상기 시스템에서의 외부 데이터 전달 방법
CN114826592B (zh) 基于区块链的密钥生成方法、装置、电子设备和可读介质
JPWO2007138876A1 (ja) 通信ノード認証システム及び方法、通信ノード認証プログラム
CN117240621B (zh) 网络请求的处理方法、装置、计算机可读介质及电子设备
Fathi et al. Light-PerIChain: Using lightweight scalable blockchain based on node performance and improved consensus algorithm in IoT systems
CN117040929B (zh) 一种访问处理方法、装置、设备、介质及程序产品
CN113449343B (zh) 基于量子技术的可信计算系统

Legal Events

Date Code Title Description
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: 20190118

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190119

R150 Certificate of patent or registration of utility model

Ref document number: 6472116

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250