JP2023175020A - ブロックチェーンネットワークなどのネットワーク内でのデータの伝搬及び通信のための、コンピュータにより実施されるシステム及び方法 - Google Patents
ブロックチェーンネットワークなどのネットワーク内でのデータの伝搬及び通信のための、コンピュータにより実施されるシステム及び方法 Download PDFInfo
- Publication number
- JP2023175020A JP2023175020A JP2023182910A JP2023182910A JP2023175020A JP 2023175020 A JP2023175020 A JP 2023175020A JP 2023182910 A JP2023182910 A JP 2023182910A JP 2023182910 A JP2023182910 A JP 2023182910A JP 2023175020 A JP2023175020 A JP 2023175020A
- Authority
- JP
- Japan
- Prior art keywords
- nodes
- node
- network
- data packet
- processor
- 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 54
- 230000005540 biological transmission Effects 0.000 title claims abstract description 7
- 238000004891 communication Methods 0.000 title description 3
- 230000008569 process Effects 0.000 claims description 24
- 230000004044 response Effects 0.000 claims description 6
- 230000007480 spreading Effects 0.000 description 14
- 230000001902 propagating effect Effects 0.000 description 11
- 238000009792 diffusion process Methods 0.000 description 9
- 239000000872 buffer Substances 0.000 description 8
- 230000000644 propagated effect Effects 0.000 description 8
- 238000013515 script Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000005065 mining Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000001010 compromised effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 241000700566 Swinepox virus (STRAIN KASZA) Species 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- 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/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/108—Resource delivery mechanisms characterised by resources being split in blocks or fragments
-
- 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/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- 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
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/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/3297—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 time stamps, e.g. generation of time stamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- General Business, Economics & Management (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Power Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
【課題】複数のノードのネットワークにおいてデータを伝える方法が開示される。【解決手段】方法は、複数のノードのうちの1つで実施され、第1タイプの少なくとも1つのデータパケットを生成することと、第1期間中に、少なくとも1つの生成されたデータパケット及びネットワーク内の1つ以上の第1ノードから受信された第1タイプの少なくとも1つのデータパケットを含む第1タイプのデータパケットの組を収集することと、組に含まれる各データパケットについて、複数のノードのうちの当該1つへ接続されている2つ以上の隣接ノードを任意に選択し、2つ以上の選択された隣接ノードの夫々へデータパケットを送信することとを含む。2つ以上の選択された隣接ノードは、その隣接ノードに対してランダムに選択されるデータ伝搬のモードを用いてネットワーク内の1つ以上の第2ノードへデータパケットをリレーするよう構成される。本発明は、例えばビットコインブロックチェーンのようなブロックチェーンネットワーク上での実施に特に適する。【選択図】図1
Description
本発明は、概して、コンピュータネットワークに、より具体的には、複数のノードのネットワークにおいてデータを伝える方法及びデバイスに係る。本発明は、ブロックチェーンネットワークとともに使用することに適するが、制限されない。
本明細書中で、我々は、あらゆる形式の電子的な、コンピュータに基づく分散台帳(distributed ledgers)を含むよう語「ブロックチェーン」を使用する。それらは、合意に基づくブロックチェーン及びトランザクションチェーン技術、許可(permissioned)及び無許可(un-permissioned)台帳、共有台帳、並びにこれらの変形を含むが限られない。ブロックチェーン技術の最も広く知られた応用は、他のブロックチェーン実施が提案及び開発されているとはいえ、ビットコイン台帳である。ビットコインが、便宜上、説明のために本明細書で言及され得るが、本発明は、ビットコインブロックチェーンとともに使用することに限られず、代替のブロックチェーン実施及びプロトコルが本発明の適用範囲内にあることが留意されるべきである。
ブロックチェーンは、合意に基づく電子台帳であり、これは、トランザクションから成るブロックで構成された、コンピュータに基づく非中央集権型の分散システムとして実装される。各トランザクションは、ブロックチェーンシステム内の参加者間のデジタル資産の制御の移行を符号化するデータ構造であり、少なくとも1つの入力及び少なくとも1つの出力を含む。ブロックチェーンにその始まり以来書き込まれてきた全てのトランザクションの永久的且つ不変な記録を構成するようブロックどうしが連鎖するように、各ブロックは前のブロックのハッシュを含む。トランザクションは、それらの入力及び出力に埋め込まれたスクリプトとして知られている小さいプログラムを含む。スクリプトは、如何にして誰によってトランザクションの出力がアクセスされ得るかを特定する。ビットコインプラットフォームで、それらのスクリプトは、スタックに基づくスクリプト言語を用いて書かれている。
新しいトランザクションを受け取るネットワークノードは、直ちに、そのトランザクションをネットワーク内の他のノードへ押し出そうと試みる。新しいトランザクションを他のノードへ送る前に、それは“妥当性確認”(validated)される。つまり、それは、トランザクションが適用可能なプロトコルに従って適切なトランザクションのための基本要件を満たすことを確かにするために、基準の組に対してチェックされる。
トランザクションがブロックチェーンに書き込まれるために、それはノード(“マイナー”(miner)又は“マイニングノード”(mining node))によってブロックに組み込まれる。マイナーは、トランザクションを収集し、それらをブロックへと形成するよう設計される。マイナーは、次いで、ノードに対して“プルーフ・オブ・ワーク”(proof of work)を完了しようと試みる。複数のマイナーは、ブロックチェーンネットワークにわたって競争して、トランザクションのブロックをアセンブルしそのブロックについての関連するプルーフ・オブ・ワークを完了する最初のものであろうとする。成功したマイナーは、その承認されたブロックをブロックチェーンに加え、ブロックは、ネットワークを通じて伝搬される。それにより、ブロックチェーンのコピーを保持する他のノードは、自身の記録を更新することができる。ブロックを受け取るそれらのノードはまた、そのブロックを“妥当性確認”し、それを確かにするその中の全てのトランザクションは、プロトコルの方式要件に従う。
ビットコインなどのブロックチェーン技術の認識されている利点の1つは、トランザクションの匿名性である。ビットコインユーザの個人詳細は、公式に且つ明示的にビットコインアドレスに添付されず、ブロックチェーンのビットコイン台帳は、公開アドレス情報しか含まない。しかし、ブロックチェーンは、インターネットの上で動作する分散型ピア・ツー・ピアネットワークとして構成されるので、トランザクションの匿名性は、ユーザをネットワーク活動と結びつけるようにインターネットプロトコル(IP)アドレスを使用する攻撃によって危険にさらされる可能性がある。例として、ブロックチェーンに基づくネットワークに対して行われるIPトラフィック解析などの脱匿名化攻撃は、興味を持った第三者が、ネットワーク上でユーザによって提示されたトランザクションをモニタし、公に利用可能な情報を利用して、例えば、ユーザの公開鍵を彼らのIPアドレスと結びつけることによって、トランザクションをそれらの発信元と結びつけることを可能にし得る。
トラフィック解析は、ネットワークノードによるそれらの間のトランザクションの伝搬に依存するブロックチェーンに基づくネットワークにとって特に問題になる。トランザクションを受け取るネットワーク内の各ノードは、トランザクションを妥当性確認し、その後にそれをピアノードへ送る。ビットコインプロトコルでは、ノードは、トランザクションのリストを含む“INV”メッセージをピアノードへ送り、“INV”メッセージで示されたトランザクションのあるサブセットを選択する“GETDATA”応答メッセージを受け取る。次いで、ノードは、要求されたトランザクションをピアノードへ送る。このプロセスは、ノードが接続されている各ピアノードに対して行われる。攻撃者は、トランザクションがネットワーク内で伝搬されるときに送信されるデータをインターセプト及び解析し、最終的に、トランザクションの発信元及び宛先をリンクするために使用され得る情報を得ることができる。
トラフィック解析又は他のタイプの脱匿名化攻撃を通じたネットワーク匿名性の危殆化の可能性を低減し得る、ブロックチェーンに基づくネットワーク内でのトランザクションの伝搬のための技術を提供することが望まれる。より一般的には、脱匿名化攻撃に対する脆弱性を減らすようにピア・ツー・ピアネットワークのノード間でデータをリレーする技術を提供することが望まれる。
そのような解決法が、現在考案されている。
従って、本発明によれば、添付の特許請求の範囲で定義される方法及びデバイスが提供される。
本願は、複数のノードのネットワークにおいてデータを伝えるノードについて記載する。ネットワーク内の各ノードは、他のノードへの1以上の接続を有してよい。ノードは、プロセッサと、ネットワークコネクティビティを提供するネットワークインターフェイスと、メモリとを含む。メモリは、プロセッサによって実行される場合に、プロセッサに、第1タイプの少なくとも1つのデータパケットを生成することと、第1期間中に、少なくとも1つの生成されたデータパケットと、ネットワーク内の1つ以上の第1ノードから受信された第1タイプの少なくとも1つのデータパケットとを望ましくは含む第1タイプのデータパケットの組を収集することと、その組に含まれる各データパケットについて、ノードへ接続されている2つ以上の隣接ノードを任意に選択し、2つ以上の選択された隣接ノードの夫々へデータパケットを送信することとを実行させるプロセッサ実行可能命令を含んでよく、2つ以上の選択された隣接ノードは、その隣接ノードに対してランダムに選択されるデータ伝搬のモードを用いてネットワーク内の1つ以上の第2ノードへデータパケットをリレーするよう構成されてよい。
いくつかの実施で、第1期間は、予め定義された長さを有する。
いくつかの実施で、命令は、実行される場合に、プロセッサに、トリガ条件が満足されているとの決定に応答して、送信することを実行させる。
いくつかの実施で、トリガ条件は、ノードによる第1タイプの少なくとも1つのデータパケットの生成の時点からの所定の存続期間の経過を有する。
いくつかの実施で、トリガ条件は、1つ以上の第1ノードからの第1タイプの前記少なくとも1つのデータパケットの最初の受信の時点からの所定の存続期間の経過を有する。
いくつかの実施で、隣接ノードのデータ伝搬のモードは、第1モードと第2モードとの間で任意に選択され、第1モードで、データパケットは、隣接ノードへ接続されるノードの任意に選択されたサブセットへリレーされ、第2モードで、データパケットは、隣接ノードへ接続される全てのノードへリレーされる。
いくつかの実施で、命令は、実行される場合に、プロセッサが第1期間中に第1タイプの如何なるデータパケットも送信しないようにする。
本願は、複数のノードのネットワークにおいてデータを伝える、コンピュータにより実施される方法を提供することとして記載されることがある。ネットワーク内の各ノードは、他のノードへの1以上の接続を有してよい。方法は、複数のノードのうちの1つで実施されてよく、第1タイプの少なくとも1つのデータパケットを生成することと、第1期間中に、少なくとも1つの生成されたデータパケットと、ネットワーク内の1つ以上の第1ノードから受信された第1タイプの少なくとも1つのデータパケットとを望ましくは含む第1タイプのデータパケットの組を収集することと、その組に含まれる各データパケットについて、複数のノードのうちの当該1つへ接続されている2つ以上の隣接ノードを任意に選択し、2つ以上の選択された隣接ノードの夫々へデータパケットを送信することとを含んでよく、2つ以上の選択された隣接ノードは、その隣接ノードに対してランダムに選択されるデータ伝搬のモードを用いてネットワーク内の1つ以上の第2ノードへデータパケットをリレーするよう構成される。
本願は、複数のノードのネットワークにおいてデータパケットを伝えるプロセスに参加するためのプロセッサ実行可能命令を記憶している非一時的なプロセッサ可読媒体について更に記載することがある。プロセッサ実行可能命令は、プロセスに参加しているノードのうちの1つにおいてプロセッサによって実行される場合に、プロセッサに、本明細書で記載される方法の1つ以上の動作を実行させる。
本明細書で記載される実施例の多くにおいて、ブロックチェーントランザクションが具体的に参照されるが、明らかなように、本明細書で記載される方法及びデバイスは、非ブロックチェーントランザクションの伝搬に関連して実装及び適用されてよい。より一般的には、本開示で記載される方法及びデバイスは、ピア・ツー・ピアネットワークのノードの間でデータを伝搬する際の使用に適し得る。
本発明の1つの態様又は実施形態に関して記載される如何なる特徴も、1つ以上の他の態様/実施形態に対して使用されてもよい。本発明のそれら及び他の態様は、本明細書で記載される実施形態から明らかとなり、その実施形態を参照して説明される。本発明の実施形態は、これより、単なる一例として、添付の図面を参照して記載される。
本願において、語「及び/又は」(and/or)は、必ずしも追加の要素を除外せずに、挙げられている要素のみ、任意のサブコンビネーション、又は全ての要素、のうちのいずれか1つを含む、挙げられている要素の全ての起こり得る組み合わせ及びサブコンビネーションをカバーするよう意図される。
本願において、「~又は~の少なくとも1つ」(at least one of … or …)との語句は、必ずしも追加の要素を除外することなしに、且つ、必ずしも全ての要素を必要とせずに、挙げられている要素のみ、任意のサブコンビネーション、又は全ての要素、のうちのいずれか1つを含む、挙げられている要素のうちの任意の1つ以上をカバーするよう意図される。
最初に図1を参照する。図1は、ブロックチェーンに関連するネットワークの例をブロック図形式で表す。ネットワークは、ブロックチェーンネットワーク100と呼ばれ得る。ブロックチェーンネットワーク100は、招待なしで又は他のメンバーからの同意なしで誰もが参加することができるピア・ツー・ピアの非会員制(open membership)ネットワークである。ブロックチェーンネットワーク100が動作するブロックチェーンプロトコルのインスタンスを実行する分散した電子デバイスが、ブロックチェーンネットワーク100に参加し得る。そのような分散した電子デバイスは、ノード102と呼ばれ得る。ブロックチェーンプロトコルは、例えば、ビットコインプロトコル又は他の暗号資産であってよい。
ブロックチェーンプロトコルを実行し、ブロックチェーンネットワーク100のノード102を形成する電子デバイスは、例えば、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータなどのコンピュータ、サーバ、スマートフォンなどのモバイルデバイス、スマートウォッチなどの装着型コンピュータ、又は他の電子デバイスを含む様々なタイプであってよい。
ブロックチェーンネットワーク100のノード102は、有線及び無線通信技術を含み得る適切な通信技術を用いて互いへ結合される。多くの場合に、ブロックチェーンネットワーク100は、少なくとも部分的にインターネット上で実装され、ノード102の一部は、地理的に散開した位置に配置されてよい。
ノード102は、夫々がチェーン内の前のブロックのハッシュを含むブロックにグループ化されたブロックチェーン上の全てのトランザクションの大域的な台帳(global ledger)を保持する。大域的な台帳は分散台帳(distributed ledger)であり、各ノード102は、大域的な台帳の完全なコピー又は部分的なコピーを保管し得る。大域的な台帳に影響を与えるノード102によるトランザクションは、大域的な台帳の妥当性が保たれるように、他のノード102によって検証される。ビットコインプロトコルを使用するもののような、ブロックチェーンネットワークを実装し動作させることの詳細は、当業者によって十分に理解されるだろう。
各トランザクションは、通常は、1つ以上の入力及び1つ以上の出力を有する。入力及び出力に埋め込まれたスクリプトは、如何にして誰によってトランザクションの出力がアクセスされ得るかを特定する。トランザクションの出力は、トランザクションの結果として値が移される先のアドレスであることができる。その値は、次いで、未使用トランザクション出力(unspent transaction output;UTXO)としてその出力アドレスと関連付けられる。その後のトランザクションは、次いで、そのアドレスを、その値を使用又は分散するために、入力として参照してよい。
ノード102は、ロバスト且つ安全な非中央集権型公開台帳を保持するために、ネットワークルーティングからウォレットサービスまでの多種多様な機能を満足することができる。“フルノード”(full nodes)は、ブロックチェーンの完全且つ最新のコピーを含み、従って、公開台帳上の如何なるトランザクション(使用又は未使用)を検証することができる。“ライトウェイトノード”(lightweight nodes)(又はSPV)は、ブロックチェーンのサブセットを保持し、“簡易支払い検証”(specified payment verification)技術を用いてトランザクションを検証することができる。ライトウェイトノードは、ブロックのヘッダのみをダウンロードし、各ブロック内のトランザクションはダウンロードしない。従って、このようなノードは、それらのトランザクションを検証するピアに依存する。“マイニングノード”(mining nodes)は、フル又はライトウェイトノードであることができ、ブロックチェーン上でトランザクションを検証し且つ新しいブロックを生成することに関与する。“ウォレットノード”(wallet nodes)は、通常はライトウェイトノードであり、ユーザのウォレットサービスを扱う。ノード102は、TCP/IP(Transmission Control Protocol)などの接続指向のプロトコルを用いて互いに通信する。
ノードがトランザクションをピアへ送りたいとき、送信ノードに知られている1つ以上のインベントリオブジェクトを送信する“INVENTORY”メッセージがピアへ送られる。ピアが“GETDATA”メッセージ、すなわちフルトランザクション要求により応答する場合に、トランザクションは“TRANSACTION”メッセージを用いて送られる。トランザクションを受け取るノードは、それを同様にして、それが有効なトランザクションであると仮定して、そのピアへ転送する。
これより図2を参照する。図2は、入力バッファ202及び出力バッファ204を備えたノード200の例を図式的に示す。例となるノード200は、IntA、IntB、IntC、IntD、などとして参照される、複数のピアノードとのネットワークインターフェイスを備える。入力バッファ202は、様々なピアノードからの入来するトランザクションを示し、出力バッファ204は、各々のインターフェイスを介してピアノードへ送られる、トランザクションに対応する出力ネットワークパケットを示す。ネットワークパケットは、ノード200のオペレーティングシステムによって提供されるプリミティブに従ってアプリケーションレベルで逐次送信及び受信される。トランザクションxが単一のEthernet(登録商標)/IPパケットに適合するとすれば、m個のピアへのその送信は、m個の異なった出力ネットワークパケットのバッファリングを必要とする。入力及び出力の両方のネットワークパケットは、他の情報とともに、送信/受信ピアへのTCP/IP接続を表す論理インターフェイスID及び直列化されたトランザクションを含む。
ビットコイントランザクションが生成されると、発信元ノードは、ネットワーク上でトランザクションメッセージをブロードキャストする。一般に、クライアントがトランザクションを生成する場合に、それは出力バッファ204に置かれる。トランザクションはピアへ直ちに転送されてもされなくてもよい。ビットコインネットワークの現在の実施では、トランザクションは、「拡散伝搬」(diffusion propagation)として知られているメカニズムによって伝搬され、これによって、各トランザクション発信元は、独立した指数関数的遅延を有してトランザクションをその隣接ノードへ送信する。伝搬における遅延はランダムであり、悪意のある攻撃者に対して時間推定の不確かさを導入するのに有用である。ピアが特定のトランザクションを受け取ると、ピアは、同じトランザクションの将来のリレーを受け入れない。例えば、トランザクションハッシュはピアのメモリプールに格納されてよく、ピアが同一トランザクションを拒否することを可能にする。ネットワークを通じたトランザクションの“拡散”は対称である。すなわち、転送ノードは、トランザクションブロードキャストに影響を及ぼすように隣接ノードのIPアドレスに関する情報を使用しない。例えば、“標準の”拡散プロセス(ビットコインプロトコルで使用される)において、ブロードキャストするノードのピアは全て、同じトランザクションを受け取り、各リレーインスタンスで、一度にただ1つのトランザクションがピアごとにリレーされる。この“拡散”の対称性は、脱匿名化攻撃を行う際にネットワークのピア・ツー・ピアグラフ構造の知識を有している悪意のある第三者によって悪用される可能性がある。
本開示は、トラフィック解析攻撃に対する匿名性保護を改善するように、ブロックチェーンネットワーク上でのトランザクションリレーのための代替技術を提供する。より具体的には、提案されるリレープロトコルは、トランザクションの発信元ノードとそれらのIPアドレスとの間の接続を偽装するために使用されてよい。
本開示の1つの態様に従って、ブロックチェーンに基づくネットワーク内のノードは、ある期間にわたって新しいトランザクションをバッファリングして、そのピアノードへ伝搬されるべきトランザクションを蓄積する。次いで、ノードは、それらのピアノードの中の任意に選択されたサブセットに対して、バッファリング/蓄積されたトランザクションの異なる組を送信する。トランザクションは、このようにしてネットワークにわたって伝搬され、各受信側ノードは、その受信されたトランザクションをそれ自身のピアへリレーするモードを独立して選択する。
提案されるリレープロトコルである拡散ミキサプロトコル(Diffusion Mixer Protocol;DMP)は、2つの独立した拡散段階を含む。第1段階(“ランダム差動リレー”)は、中継されたトランザクションの混合と、トランザクション発信元の難読化とを可能にする。ランダム差動リレー段階の間、各ノードは、そのピアからより多くのトランザクションを収集するために、トランザクションをネットワークへブロードキャストする前に、予め定義された時間量だけ待機する。次いで、ノードは、その“エントリノード”への出接続を形成し、それらのエントリノードの中の任意に(例えば、ランダムに)選択されたサブセットに対して、おおよそ同じタイムスタンプで、異なったトランザクションを送信する。ノードのエントリノードは、直接的な出接続がノードから確立され得るような隣接ノードである。エントリノードの選択のランダム性、及びリレーされるトランザクションの多様性は、ネットワークトポロジの再構成を攻撃者にとってより困難なものとし得る。
第2段階(“標準拡散”)は、ネットワーク内のトランザクションのタイムリな信頼できる伝搬を確かにする。標準拡散段階において、各ノードは、同じトランザクションを全てのそのエントリノードへリレーし、各リレーインスタンスにおいて、一度にただ1つのトランザクションがエントリノードごとにリレーされる。
ブロックチェーンネットワークなどの複数のノードのネットワークでは、複数のノードのうちの1つ以上はDMPを実装可能であってよいことが留意されるべきである。具体的に、ネットワークの複数のノードのうちの1つ以上は、DMPにおいて伝搬することによって、その受信されたデータパケットをそのエントリノードへリレーすることが可能であってよい。参加ノードは、例えば、特定のデータパケットを伝搬するために、ランダム差動リレープロセスと標準拡散プロセスとの間で選択を行ってよい。ネットワークの複数のノードは、非中央集権的な方法により、あるいは、中央当局によってアセンブリされた参加ノードのグループへの加盟を通じてプロトコルに加わるように、DMPに参加することを選んでよい。参加ノードは、DMPに従って、その出力ネットワークパケットをリレーする。特に、参加ノードがデータパケットを受信する場合に、ノードは、DMPによって規定された規則を用いて、そのノードのために選択される伝搬のモードに従って、受信されたデータパケットを転送し得る。
トランザクションリレーのためのDMPの図式的な視覚化は、図3で与えられている。複数のノードのブロックチェーンネットワーク300が例示されている。各ノードは、ネットワーク端末(すなわち、ブロックチェーンノード)を表し、一方、エッジは、ノード間のリンクを表す。この例示のために、リンクごとに、一度に1つのビットを送信又は受信することが可能であると想定される。
この例となるネットワーク300において、各ノードは、未確認の(unconfirmed)トランザクションのメモリプール(mempool)を保持しているので、ノードが新しいトランザクションを受け取る場合に、それはネットワークを通じて全ての他のノードへ伝搬される。各ノードは、新しいトランザクションを妥当性確認してそれらの各々のローカルメモリプールに格納し、そして、新しいトランザクションを、新しいトランザクションを未だ有していない如何なるピアノードへも転送すべきである。ブロックチェーンネットワーク300のピア・ツー・ピア性質により、全てのノードは同時に新しいトランザクションを受信する。すなわち、新しいトランザクションがネットワーク300内のすべてのノードに届くにはいくらかの時間を要する。例えば、ビットコインネットワークの現在の実施では、新しい有効なトランザクションは、ビットコインネットワークの90%のノードに届くために平均3.5秒を要する。
図3は、特定のトランザクションTx1を伝搬するためのDMPの2つの段階、すなわち、ランダム差動リレー伝搬302及びTx1のための標準拡散304を表す。トランザクションTx1の発信元ノード310は、時間t1で、トランザクションTx1を生成するか、あるいは、それをピアノードから受信してよい。DMPに従って、発信元ノード310は、受信された/待機中のトランザクションのブロードキャストを開始する前に、その隣接ノードから少なくとも1つの入来トランザクションを受信するのを待つ。図3の例では、トランザクションTx2が発信元ノード310によって受け取られると、トランザクションTx1及びTx2は、発信元ノード310のエントリノードの中の任意に選択されたサブセットへ送られる。トランザクションTx1はエントリノード310c及び310dへ転送され、一方、トランザクションTx2はエントリノード310a及び310bへ転送される。図3の例は単なる例示であり、特に、発信元ノード310は、その受信されたトランザクションのいずれかを伝搬する前に、2つ以上の入来トランザクションを受信するのを待つ。
エントリノードは、受信されたトランザクションをそれら自身のピアへリレーする。例えば、ノード310b及び310dは、夫々トランザクションTx2及びTx1をそれらの隣接ノードのうちの1つ以上へ転送する。DMPでは、トランザクションの各受け手は、受信されたトランザクションの伝搬のモードを独立して選択する。ノード320は、その拡散モードとして標準拡散を選択するノードの一例である。図3に示されるように、ノード320は、同じトランザクションTx1を全てのそのエントリノード、すなわち、320a、320b、320c、320d及び320eへ転送する。
これより、図5を参照する。図5は、ネットワークにおいてデータパケットを伝搬するプロセス500の例をフローチャート形式で示す。プロセス500は、例えば、ネットワーク100のようなブロックチェーンネットワークのノードによって実装される。ノードは、本文脈中、マイニングノード、フルノード、バリデータ(validator)ノード、又はブロックチェーンネットワーク内の他のタイプの個別ブロックチェーンノードを指すと理解され得る。ノードは、ブロックチェーンプロトコルを実装するネットワーク接続、計算資源、及び実行ソフトウェアを備えたコンピュータデバイスである。
動作502で、ノードに関連したクライアントは、第1タイプの少なくとも1つのデータパケットを生成する。ブロックチェーンネットワークに関連して、第1タイプのデータパケットはブロックチェーントランザクションを含んでよい。すなわち、クライアントは、ネットワークの他のノードへ伝搬されるべきブロックチェーントランザクションを生成してよい。
動作504で、ノードは、第1期間Tの間に第1タイプのデータパケットの組を収集する。すなわち、ノードは、ある期間にわたって第1タイプのデータパケットを蓄積する。組は、少なくとも1つの生成されたデータパケットと、ネットワーク内の1つ以上のピアノードから受信される第1タイプの少なくとも1つのデータパケットとを含む。このようにして、ノードによって生成されたデータパケットは、隣接ノードから受信される同じタイプのデータパケットと混合される。ブロックチェーンネットワークでは、期間Tの間、ノードは、リレーされるべき入来トランザクションについてネットワークをモニタすることによって、トランザクションの組を蓄積する。期間Tの長さΔtは、予め定義されてよい。いくつかの実施例では、時間の長さは、平均接続時間、単位時間ごとに受信されるトランザクションの平均数、又はネットワーク内のノードの中心性(すなわち、ノードへの入来接続の数)といったパラメータに基づいて変化し得る。期間Tの間、ノードは、第1タイプのデータパケットを蓄積することしか認められ得ないので、期間Tの存続期間に第1タイプの如何なるデータパケットも送信することを阻止され得る。
動作506で、ノードは、収集されたデータパケットの異なる組が転送されることになるそのエントリノードのサブセットを任意に選択する。より具体的には、収集されたデータパケットの組に含まれる各データパケットについて、ノードは、そのエントリノード(すなわち、ノードが出接続を有している隣接ノード)のうちの2つ以上を任意に選択し、選択されたエントリノードへデータパケットを割り当てる。例えば、エントリノードはランダムに選択されてよい。ノードは、いくつかの実施で、そのピアの新しいアドレスを得るようにネットワークに問い合わせてよい。ビットコインネットワークでは、ノードは、ビットコイン・コア(Bitcoin Core)、ビットコイン・ジェイ(BitcoinJ)、又は他のブロックチェーンプロトコルに組み込まれ、ビットコイン(又は他のブロックチェーン)コミュニティメンバーによって保持されている1つ以上のデータベースソース名(database source names;DSN)をクエリしてもよい。応答として、ノードは、入来接続を受け入れ得る利用可能なフルノードのIPアドレスを示す1つ以上のDSNレコードを得る。ピア検出の非中央集権的なバージョンは、ピアに、それらのIPアドレス及びポート番号を含む“ADDR”メッセージを、ネットワークに参加する新しいノードへ送らせることによって、実装され得る。
いくつかの実施で、動作506の部分として、ネットワーク内のノードの1つ以上は、データパケットが中継されるべきであるエントリノードへの夫々の収集されたデータパケットのその割り当てを追跡するテーブル又は他のデータ構造を保持し得る。図4は、ブロックチェーンネットワークにおけるDMPのランダム差動伝搬段階にある発信元ノード410についてのトランザクションリレーの例を示す。表1は、発信元ノード410のエントリノードへの収集されたトランザクションTx1~Tx5の割り当ての例である。エントリノードは、ノードA、B、C、D、E、F、G及びHとして示されている。図4及び表1に示されるように、発信元ノード410は、各トランザクションを少なくとも2つのエントリノードへリレーし、多数のトランザクションが同じノードを介してリレーされ得る。例えば、トランザクションTx3、Tx4及びTx5は全て同時にエントリノードEを介してリレーされる。より一般的に、ランダム差動伝搬プロセスでは、多数のデータパケットが同時に転送ノードによって同じピアノードへリレーされ得る。DMPの所与のインスタンスにおいて、全てのエントリノードが発信元ノード410からトランザクションを受信するわけではない。表1の例では、エントリノードC及びGは、発信元ノード410からいかなるトランザクションも受信しない。
再び図5を参照すると、夫々の収集されたデータパケットについて、動作508で、ノードは、(任意に又はランダムに)選択されたエントリノードの夫々へデータパケットを送信する。夫々の選択されたエントリノードは、そのエントリノードのためにランダムに選択されるデータ伝搬のモードを用いてネットワーク内の1つ以上の第2ノードへデータパケットをリレーするよう構成される。すなわち、夫々の選択されたエントリノードは、そのエントリノードのために独立して選択される伝搬モードを用いて、受信されたデータパケットをそれ自身のピアの1つ以上へ転送する。図4の例となるトランザクションリレーでは、トランザクションTx1~Tx5の夫々は、そのトランザクションが割り当てられているエントリノードへ転送される。いくつかの実施で、動作508の部分として、ノードは、ランダムに選択された伝搬モードを用いてデータパケットを転送するために、選択されたエントリノード(すなわち、受信側ノード)に対して、データパケットとともに、エクスプレス(express)コマンドを送信してもよい。
次いで、発信元ノード410からトランザクションを受信する各ノードは、受信されたトランザクションを(もしあれば)そのピアノードへ転送する際に使用するための伝搬/拡散のモードをランダムに選択する。特に、トランザクションを受信するエントリノードは、標準拡散プロセス又はランダム差動伝搬プロセスに従ってトランザクションをリレーすることをランダムに選択する。2つの選択肢の間の選択はランダムである。よって、DMPでは、2つの拡散プロセスは、確率的に交互に起こる。すなわち、ランダム差動伝搬段階と標準拡散段階との間に明確な分離はない。拡散プロセスのこの“混合”の結果として、攻撃者が、ノードの組がランダムデータ伝搬を介して又は標準拡散を介してリレーすることの間の分離を特定することに基づいて、ネットワークのトポロジを再構成することは、より困難になる。
いくつかの実施で、拡散モードのエントリノードによるランダムな選択は、発信元ノードから、リレーされるデータパケットに加えてメッセージを受信することを含んでよい。次いで、エントリノードは、ランダムな値(例えば、乱数)を生成し、それを受信されたメッセージに付け加え、結果を、例えば、SHA-256を用いて、ハッシングしてよい。次いで、エントリノードは、ハッシュ値をチェックし、その後に、ハッシュ値に関する所定の規則に基づいて拡散モードを求めることができる(例えば、ハッシュの最後の文字がアラビア数字である場合には、ランダム差動伝搬を拡散のモードとして選択する)。代替的に、又は追加的に、拡散モードの選択は、何らかのランダム化されたプロセス(例えば、乱数発生器)を用いて行われ得る。このとき、モードの一方を選択する確率は、入来及び/又は出接続の数、単位時間ごとに受信されるデータパケットの平均数、などのような因子に応じて、モードの他方を選択する確率よりも高くなり得る。
特定のデータパケットを伝搬することにおいて、伝搬ノードの匿名性保護のレベルを伝搬の全体の速度と釣り合わせることが望ましいことがある。一定レベルの匿名性を確かにするための手段が扱いにくすぎる(例えば、必要なネットワーク資源が多すぎる、ネットワークノードがデータパケットをリレーする際に意図的に十分に活用されていない、など)場合に、データをタイムリに拡散することにおけるネットワークの効能は損なわれることがある。従って、いくつかの実施で、リレーノードによる伝搬のモードのランダムな選択は、重み付けされてよい。特に、確率がデータ伝搬の速度及び匿名性の比例した有意性を反映するように、2つ以上の伝搬モード(すなわち、ランダム差動伝搬、標準拡散、など)の夫々に対して異なる確率が割り当てられてよい。例えば、より高い、予め定義された確率は、伝搬されるデータの匿名性を保つことに対する比例してより大きい重要視を反映するように、特定のネットワークのデータのためのランダム差動伝搬モードと関連付けられてよい。
図5の方法500は、第1タイプのそれ自身のデータパケットを生成するノードによって実装される。特に、DMPに参加し、残りのネットワークへの伝搬のためにデータパケットを生成するノードが、方法500を実行する。図5Aは、リレーノード、すなわち、別のノードによって生成されるデータパケットを転送するノード、によって実行されるプロセスの例を示す。すなわち、リレーノードは、特定のデータパケットのリレー中に転送すべきデータをそれ自身は生成せず、単にデータパケットを“リレーする”機能を提供するノードである。動作550で、リレーノードは、それ自身のデータ伝搬モードを独立して選択する。リレーノードは、例えば、ランダム差動伝搬モードと標準拡散モードとの間で選択を行ってよい。動作552で、標準拡散モードが選択される場合に、リレーノードは、動作554で、そのエントリノードの全てへデータパケットを転送する。図5Aの例では、伝搬モードの選択は、2つのとり得る選択肢の間である。この例は、制限ではなく、他の例では、3つ以上のとり得る伝搬モードが存在してもよい。方法500で、選択されたモードがランダム差動伝搬である場合に、リレーノードは、図5の動作504、506及び508に対応するステップ556、558及び560を実行する。
これより、図6を参照する。図6は、ネットワークにおいてデータパケットを伝搬するプロセス600の例をフローチャート形式で示す。プロセス600は、ブロックチェーンネットワークの他のノードへの複数の入来及び出接続を有しているブロックチェーンノードで実装されてよい。
プロセス600の動作602、604、606、及び610は、夫々、プロセス500の動作502、504、506、及び508に対応する。動作608で、ノードは、収集されたデータパケットを動作610でその割り当てられたエントリノードへ送信する前に、トリガ条件が満足されているかどうかを決定する。特に、データパケットの送信は、適切なトリガ条件が満足されているとの検出に応答して、実行される。トリガ条件が満足されていない場合には、ノードは、前記のデータパケットのいずれもそのエントリ/ピアノードへリレーせずに、第1タイプのデータパケットを収集し続ける。
トリガ条件は、十分な数の入来データを収集するように及び/又は十分な量の時間に入来データパケットを収集するようにノードに指示するために用いられてよい。複数の入来データパケットを、例えば、それらをネットワーク内のピアノードへ同時に伝搬する前に、収集することによって、ノードから発せられるリレートラフィックをモニタする攻撃者は、リレーされるデータパケットの正確な発信元としてノードを容易に識別することができなくなる。
いくつかの実施で、トリガ条件は、動作602でのノードによる第1タイプの少なくとも1つのデータパケットの生成の時点からの所定の存続期間の経過であってよい。すなわち、ノードは、入来するデータパケット(例えば、トランザクション)を、それらのデータパケットのいずれもノードによって伝搬される前に、ノードが同じタイプのデータパケットを生成するときに開始する所定の期間にモニタ及び収集するよう設計されてよい。この条件は、ノードによって生成されるデータパケットが、同時にブロードキャストされ得る同じタイプの更なるデータパケットを収集した後に伝搬されることを確かにしようと試みる際に有用であることができ、それによって、攻撃者が、ノードを、生成されたデータパケットの発信元として正確に識別することを困難にする。
いくつかの実施で、トリガ条件は、ノードのピアからの第1タイプの少なくとも1つの入来データパケットの最初の受信の時点からの所定の存続期間の経過であってよい。すなわち、ノードは、入来するデータパケットを、そのような入来するデータパケットの最初が受信されるときに開始する所定の期間にモニタ及び収集するよう設計されてよい。この条件は、ノード自体によって生成されるか又は他のピアから受信されるいずれのデータパケットにせよ、より多くのデータパケットが、残りのネットワークへの如何なるブロードキャストよりも前にノードによって収集されることを確かにしようと試みる際に有用であることができる。
いくつかの実施で、トリガ条件は、第1期間中の収集されたデータの数が閾数に達することであってよい。特に、ノードは、第1期間の経過、又は所定の閾数のデータパケットがノードによって収集されること、のいずれか早い方まで、入来するデータパケットをモニタ及び収集するよう設計されてよい。
これより図7を参照する。図7は、参加ノード700の簡略化された例をブロック図形式で示す。ノード700はプロセッサ702を含む。プロセッサ702は、1つ以上のマイクロプロセッサ、特定用途向け集積チップ(ASIC)、マイクロコントローラ、又は同様のコンピュータ処理デバイスを含んでよい。ノード700は、値、変数、及びいくつかの場合に、プロセッサ実行可能プログラム命令を記憶するための、永久及び非永久メモリを含み得るメモリ706と、有線又は無線ネットワーク上でネットワークコネクティビティを提供するネットワークインターフェイス704とを更に含む。
ノード700は、実行される場合に、プロセッサ702に、本明細書で記載される機能又は動作の1つ以上を実行させるプロセッサ実行可能命令を含むプロセッサ実行可能ブロックチェーンアプリケーション708を含む。
本明細書で記載されるデバイス及びプロセス、並びにブロックチェーンノードを構成するために、記載される方法/プロセスを実装するあらゆるモジュール、ルーチン、プロセス、スレッド、アプリケーション、又は他のソフトウェアコンポーネントは、標準のコンピュータプログラミング技術及び言語により実現され得ることが理解されるだろう。本願は、特定のプロセッサ、コンピュータ言語、コンピュータプログラミングコンベンション、データ構造、又は他のそのような実施詳細に制限されない。
上記の実施形態は、本発明を制限するのではなく説明しているのであって、当業者は、添付の特許請求の範囲によって定義される本発明の適用範囲から外れることなしに、多くの代替の実施形態を設計することが可能である点が留意されるべきである。特許請求の範囲において、かっこ内の如何なる参照符号も、特許請求の範囲を制限するものとして解釈されるべきではない。語「有する」(comprising及びcomprises)などは、いずれかの請求項又は明細書の全文に挙げられているもの以外の要素又はステップの存在を除外しない。本明細書中、「有する」(comprises)は、「~を含むか、又はそれらから成る」(includes or consists of)を意味し、「有する」(comprising)は、「~を含むか、又はそれらから成る」(including or consisting of)を意味する。要素の単一参照は、そのような要素の複数参照を除外せず、逆もまた同じである。本発明は、いくつかの個別要素を有するハードウェアを用いて、且つ、適切にプログラムされたコンピュータを用いて、実施されてよい。いくつかの手段を列挙している装置クレームでは、それらの手段のうちのいくつかが、ハードウェアの同一アイテムによって具現されてもよい。特定の手段が相互に異なる請求項で挙げられているという単なる事実は、それらの手段の組み合わせが有利に使用され得ないことを示すものではない。
Claims (14)
- 複数のノードのネットワークにおいてデータパケットを伝えるノードであって、前記ネットワーク内の各ノードが他のノードへの1以上の接続を有する、前記ノードにおいて、
プロセッサと、
ネットワークコネクティビティを提供するネットワークインターフェイスと、
プロセッサ実行可能命令を含むメモリと
を有し、
前記プロセッサ実行可能命令は、前記プロセッサによって実行される場合に、該プロセッサに、
少なくとも1つのブロックチェーントランザクションを含む第1タイプの少なくとも1つのデータパケットを生成することと、
第1期間中に前記第1タイプのデータパケットの組を収集することであり、該組は前記少なくとも1つの生成されたデータパケットと、前記ネットワーク内の1つ以上の第1ノードから受信された前記第1タイプの少なくとも1つのデータパケットとを含む、前記収集することと、
前記組に含まれる各データパケットについて、当該ノードへ接続されている2つ以上の隣接ノードを任意に選択し、該2つ以上の選択された隣接ノードの夫々へ前記データパケットを送信することと
を実行させ、
前記2つ以上の選択された隣接ノードは、その隣接ノードに対してランダムに選択されるデータ伝搬のモードを用いて前記ネットワーク内の1つ以上の第2ノードへ前記データパケットをリレーするよう構成され、隣接ノードのための前記データ伝搬のモードは、前記データパケットが、当該隣接ノードに接続されているノードの任意に選択されたサブセットへ中継される第1モードと、前記データパケットが、当該隣接ノードに接続されている全てのノードへ中継される第2モードとの間で任意に選択される、
ノード。 - 前記第1期間は、予め定義された長さを有する、
請求項1に記載のノード。 - 前記プロセッサ実行可能命令は、実行される場合に、前記プロセッサに、トリガ条件が満足されているとの決定に応答して前記送信することを実行させる、
請求項1に記載のノード。 - 前記トリガ条件は、当該ノードによる前記第1タイプの前記少なくとも1つのデータパケットの生成の時点からの所定の存続期間の経過を有する、
請求項3に記載のノード。 - 前記トリガ条件は、前記1つ以上の第1ノードからの前記第1タイプの前記少なくとも1つのデータパケットの最初の受信の時点からの所定の存続期間の経過を有する、
請求項3に記載のノード。 - 前記トリガ条件は、前記第1期間中に収集されたデータパケットの数が閾数に達することを有する、
請求項3に記載のノード。 - 前記プロセッサ実行可能命令は、実行される場合に、前記プロセッサが前記第1期間中に前記第1タイプの如何なるデータパケットも送信しないようにする、
請求項1乃至6のうちいずれか一項に記載のノード。 - 複数のノードのネットワークにおいてデータパケットを伝える、コンピュータにより実施される方法であって、前記ネットワーク内の各ノードが他のノードへの1以上の接続を有する、前記方法において、前記複数のノードのうちの1つで実施され、
第1タイプの少なくとも1つのデータパケットを生成することと、
第1期間中に前記第1タイプのデータパケットの組を収集することであり、該組は前記少なくとも1つの生成されたデータパケットと、前記ネットワーク内の1つ以上の第1ノードから受信された前記第1タイプの少なくとも1つのデータパケットとを含む、前記収集することと、
前記組に含まれる各データパケットについて、前記複数のノードのうちの当該1つへ接続されている2つ以上の隣接ノードを任意に選択し、該2つ以上の選択された隣接ノードの夫々へ前記データパケットを送信することと
を有し、
前記2つ以上の選択された隣接ノードは、その隣接ノードに対してランダムに選択されるデータ伝搬のモードを用いて前記ネットワーク内の1つ以上の第2ノードへ前記データパケットをリレーするよう構成される、
方法。 - 前記送信することは、トリガ条件が満足されているとの決定に応答して実行される、
請求項8に記載の方法。 - 前記トリガ条件は、前記複数のノードのうちの当該1つによる前記第1タイプの前記少なくとも1つのデータパケットの生成の時点からの所定の存続期間の経過を有する、
請求項9に記載の方法。 - 前記トリガ条件は、前記1つ以上の第1ノードからの前記第1タイプの前記少なくとも1つのデータパケットの最初の受信の時点からの所定の存続期間の経過を有する、
請求項9に記載の方法。 - 前記トリガ条件は、前記第1期間中に収集されたデータパケットの数が閾数に達することを有する、
請求項9に記載の方法。 - 前記第1期間中に前記第1タイプの如何なるデータパケットの送信を起こらないようにすることを更に有する、
請求項8に記載の方法。 - 複数のノードのネットワークにおいてデータパケットを伝えるプロセスに参加するためのプロセッサ実行可能命令を記憶している非一時的なプロセッサ可読媒体であって、
前記プロセッサ実行可能命令は、前記プロセスに参加しているノードのうちの1つにおいてプロセッサによって実行される場合に、該プロセッサに、請求項8乃至13のうちいずれか一項に記載の方法を実行させる、
非一時的なプロセッサ可読媒体。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1719654.4 | 2017-11-27 | ||
GBGB1719654.4A GB201719654D0 (en) | 2017-11-27 | 2017-11-27 | Computer-implemented system and method |
PCT/IB2018/059092 WO2019102334A1 (en) | 2017-11-27 | 2018-11-19 | Computer-implemented system and method for propagation and communication of data in a network such as a blockchain network |
JP2020526117A JP2021504783A (ja) | 2017-11-27 | 2018-11-19 | ブロックチェーンネットワークなどのネットワーク内でのデータの伝搬及び通信のための、コンピュータにより実施されるシステム及び方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020526117A Division JP2021504783A (ja) | 2017-11-27 | 2018-11-19 | ブロックチェーンネットワークなどのネットワーク内でのデータの伝搬及び通信のための、コンピュータにより実施されるシステム及び方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023175020A true JP2023175020A (ja) | 2023-12-08 |
Family
ID=60950589
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020526117A Pending JP2021504783A (ja) | 2017-11-27 | 2018-11-19 | ブロックチェーンネットワークなどのネットワーク内でのデータの伝搬及び通信のための、コンピュータにより実施されるシステム及び方法 |
JP2023182910A Pending JP2023175020A (ja) | 2017-11-27 | 2023-10-25 | ブロックチェーンネットワークなどのネットワーク内でのデータの伝搬及び通信のための、コンピュータにより実施されるシステム及び方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020526117A Pending JP2021504783A (ja) | 2017-11-27 | 2018-11-19 | ブロックチェーンネットワークなどのネットワーク内でのデータの伝搬及び通信のための、コンピュータにより実施されるシステム及び方法 |
Country Status (9)
Country | Link |
---|---|
US (3) | US11245757B2 (ja) |
EP (3) | EP4054117B1 (ja) |
JP (2) | JP2021504783A (ja) |
KR (2) | KR102710899B1 (ja) |
CN (2) | CN111406396B (ja) |
GB (1) | GB201719654D0 (ja) |
SG (1) | SG11202004652WA (ja) |
WO (1) | WO2019102334A1 (ja) |
ZA (1) | ZA202002623B (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201802347D0 (en) * | 2018-02-13 | 2018-03-28 | Nchain Holdings Ltd | Computer-implemented system and method |
GB201804479D0 (en) * | 2018-03-21 | 2018-05-02 | Nchain Holdings Ltd | Computer-implemented system and method |
CN108696589B (zh) * | 2018-05-14 | 2022-04-08 | 百度在线网络技术(北京)有限公司 | 区块链数据传输方法、装置、设备和存储介质 |
CN112102079B (zh) * | 2020-08-07 | 2024-05-17 | 柳州市蓝海数链科技有限公司 | 业务数据的处理方法、装置、计算机设备及存储介质 |
CN112102078B (zh) * | 2020-08-07 | 2024-05-21 | 柳州市蓝海数链科技有限公司 | 区块链共识计算方法、装置、计算机设备及存储介质 |
WO2022149239A1 (ja) * | 2021-01-07 | 2022-07-14 | 日本電信電話株式会社 | 情報処理装置、隣接ノード選択方法及びプログラム |
JP7048039B1 (ja) * | 2021-01-15 | 2022-04-05 | 株式会社アクセル | 決済システム、決済装置、決済方法及び決済プログラム |
US11902426B2 (en) * | 2021-06-26 | 2024-02-13 | Ceremorphic, Inc. | Efficient storage of blockchain in embedded device |
US11651110B2 (en) * | 2021-07-08 | 2023-05-16 | Dell Products, L.P. | Hardware device mutual authentication system and method for a baseboard management controller (BMC) |
CN115174573B (zh) * | 2022-06-30 | 2024-02-02 | 蚂蚁区块链科技(上海)有限公司 | 区块链系统中的数据广播方法、节点和区块链系统 |
CN116545608B (zh) * | 2023-05-15 | 2024-06-04 | 合肥工业大学 | 基于熟人免疫策略的区块传播方法和系统 |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100922976B1 (ko) * | 2002-09-19 | 2009-10-22 | 삼성전자주식회사 | 이동통신 시스템에서 전송률 제어 장치 및 방법 |
KR100717962B1 (ko) * | 2005-07-15 | 2007-05-14 | 전자부품연구원 | 다수의 노드를 포함하는 무선 네트워크 시스템에서의데이터 전송 제어 방법 및 이를 이용한 센서 네트워크시스템 및 기록 매체 |
US7593376B2 (en) * | 2005-12-07 | 2009-09-22 | Motorola, Inc. | Method and apparatus for broadcast in an ad hoc network using elected broadcast relay nodes |
CN101207557B (zh) * | 2006-12-19 | 2012-03-07 | 中兴通讯股份有限公司 | 无线传感器网络中数据分发的系统及方法 |
US20090061871A1 (en) * | 2007-08-29 | 2009-03-05 | Motorola, Inc. | Base station neighbor list optimization |
CN102026329B (zh) * | 2009-09-10 | 2013-10-30 | 富士通株式会社 | 无线通信网络及其自适应择路通信方法 |
JP4948610B2 (ja) * | 2010-02-04 | 2012-06-06 | 株式会社エヌ・ティ・ティ・ドコモ | 通信制御装置及びプログラム |
JP5361001B2 (ja) * | 2010-08-30 | 2013-12-04 | 日本電信電話株式会社 | 経路制御装置、経路制御方法、およびプログラム |
CN102158864B (zh) * | 2011-04-15 | 2013-07-24 | 北京航空航天大学 | 一种基于可靠性的移动Ad Hoc网络自适应安全路由方法 |
US20120297405A1 (en) * | 2011-05-17 | 2012-11-22 | Splendorstream, Llc | Efficiently distributing video content using a combination of a peer-to-peer network and a content distribution network |
US8898327B2 (en) | 2011-10-05 | 2014-11-25 | Peerialism AB | Method and device for arranging peers in a live streaming P2P network |
JP5573917B2 (ja) * | 2012-10-18 | 2014-08-20 | 三菱電機株式会社 | 通信方法 |
US9674251B2 (en) * | 2013-06-17 | 2017-06-06 | Qualcomm Incorporated | Mediating content delivery via one or more services |
US20150195189A1 (en) * | 2014-01-07 | 2015-07-09 | Alcatel Lucent Usa, Inc. | Multiple tree routed selective randomized load balancing |
KR102233371B1 (ko) * | 2014-06-24 | 2021-03-29 | 삼성전자주식회사 | 멀티캐스트 네트워크에서의 릴레이 방법 및 장치 |
US9668238B1 (en) * | 2014-10-02 | 2017-05-30 | Sprint Spectrum L.P. | Multicast file delivery |
KR20160109126A (ko) * | 2015-03-10 | 2016-09-21 | 한국전자통신연구원 | 다중 전송경로 환경에서 네트워크 코딩을 이용한 데이터 송수신 장치 |
US10362106B2 (en) | 2015-07-21 | 2019-07-23 | Cisco Technology, Inc. | Adaptive gossip protocol |
WO2017065209A1 (ja) * | 2015-10-16 | 2017-04-20 | 国立大学法人東北大学 | 情報処理システム、情報処理装置、情報処理方法、及び、プログラム |
WO2017109140A1 (en) | 2015-12-22 | 2017-06-29 | Bigchaindb Gmbh | Decentralized, tamper-resistant, asset-oriented database system and method of recording a transaction |
JP6514413B2 (ja) * | 2016-05-19 | 2019-05-15 | 日本電信電話株式会社 | センサ中継装置およびセンサ中継システム |
CN106102048B (zh) * | 2016-06-03 | 2019-06-04 | 上海理工大学 | 一种物联网中传感器发出数据包安全传输到基站的方法 |
CN106656784B (zh) * | 2016-10-14 | 2020-01-21 | 中国银联股份有限公司 | 用于区块链网络的数据流传播系统及方法 |
GB201709219D0 (en) * | 2017-06-09 | 2017-07-26 | Nchain Holdings Ltd | Computer-implemented system and method |
GB201709848D0 (en) * | 2017-06-20 | 2017-08-02 | Nchain Holdings Ltd | Computer-implemented system and method |
CN107172615B (zh) * | 2017-07-25 | 2019-11-05 | 中国信息安全测评中心 | 一种网络节点的数据传输方法、装置、网络节点及系统 |
US10970690B2 (en) * | 2017-09-12 | 2021-04-06 | Northwestern University | Blockchain distribution network with service transparency |
US10477543B2 (en) * | 2017-09-27 | 2019-11-12 | Trellisware Technologies, Inc. | Methods and systems for improved communication in multi-hop networks |
GB201802347D0 (en) * | 2018-02-13 | 2018-03-28 | Nchain Holdings Ltd | Computer-implemented system and method |
-
2017
- 2017-11-27 GB GBGB1719654.4A patent/GB201719654D0/en not_active Ceased
-
2018
- 2018-11-19 EP EP22168913.6A patent/EP4054117B1/en active Active
- 2018-11-19 KR KR1020237011374A patent/KR102710899B1/ko active IP Right Grant
- 2018-11-19 SG SG11202004652WA patent/SG11202004652WA/en unknown
- 2018-11-19 JP JP2020526117A patent/JP2021504783A/ja active Pending
- 2018-11-19 US US16/767,559 patent/US11245757B2/en active Active
- 2018-11-19 CN CN201880076559.9A patent/CN111406396B/zh active Active
- 2018-11-19 WO PCT/IB2018/059092 patent/WO2019102334A1/en unknown
- 2018-11-19 EP EP18808516.1A patent/EP3718285B1/en active Active
- 2018-11-19 KR KR1020207016019A patent/KR102519197B1/ko active IP Right Grant
- 2018-11-19 CN CN202410651510.9A patent/CN118400381A/zh active Pending
- 2018-11-19 EP EP24179397.5A patent/EP4401387A3/en active Pending
-
2020
- 2020-05-11 ZA ZA2020/02623A patent/ZA202002623B/en unknown
-
2022
- 2022-02-03 US US17/592,387 patent/US11743328B2/en active Active
-
2023
- 2023-07-12 US US18/221,338 patent/US20240015211A1/en active Pending
- 2023-10-25 JP JP2023182910A patent/JP2023175020A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
US11743328B2 (en) | 2023-08-29 |
CN111406396A (zh) | 2020-07-10 |
KR102519197B1 (ko) | 2023-04-06 |
EP4401387A3 (en) | 2024-10-16 |
WO2019102334A1 (en) | 2019-05-31 |
JP2021504783A (ja) | 2021-02-15 |
EP4054117B1 (en) | 2024-07-17 |
CN111406396B (zh) | 2024-06-14 |
EP4401387A2 (en) | 2024-07-17 |
CN118400381A (zh) | 2024-07-26 |
KR20200089687A (ko) | 2020-07-27 |
US20220232068A1 (en) | 2022-07-21 |
EP3718285B1 (en) | 2022-05-25 |
GB201719654D0 (en) | 2018-01-10 |
ZA202002623B (en) | 2023-04-26 |
KR20230048468A (ko) | 2023-04-11 |
US11245757B2 (en) | 2022-02-08 |
US20200389519A1 (en) | 2020-12-10 |
SG11202004652WA (en) | 2020-06-29 |
KR102710899B1 (ko) | 2024-09-30 |
EP4054117A1 (en) | 2022-09-07 |
EP3718285A1 (en) | 2020-10-07 |
US20240015211A1 (en) | 2024-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102519197B1 (ko) | 블록체인 네트워크와 같은 네트워크에서 데이터의 전파 및 통신을 위한 컴퓨터 구현 시스템 및 방법 | |
US11863422B2 (en) | Blockchain-based systems and methods for propagating data in a network | |
US11916955B2 (en) | Systems and methods of propagating data packets in a network of nodes | |
JP2023159363A (ja) | ノードのネットワークにおいてデータ・パケットを伝搬するための方法 | |
JP2024010228A (ja) | ランダム差動リレー及びネットワークコーディングのシステム及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231025 |