JP6899911B2 - アクセラレーションノードを用いたブロックチェーンネットワーク内のトランザクション配信の高速化 - Google Patents

アクセラレーションノードを用いたブロックチェーンネットワーク内のトランザクション配信の高速化 Download PDF

Info

Publication number
JP6899911B2
JP6899911B2 JP2019540587A JP2019540587A JP6899911B2 JP 6899911 B2 JP6899911 B2 JP 6899911B2 JP 2019540587 A JP2019540587 A JP 2019540587A JP 2019540587 A JP2019540587 A JP 2019540587A JP 6899911 B2 JP6899911 B2 JP 6899911B2
Authority
JP
Japan
Prior art keywords
node
transaction
blockchain
acceleration
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019540587A
Other languages
English (en)
Other versions
JP2020516102A (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 JP2020516102A publication Critical patent/JP2020516102A/ja
Application granted granted Critical
Publication of JP6899911B2 publication Critical patent/JP6899911B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
    • 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/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Small-Scale Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本開示は、アクセラレーションノードを用いたブロックチェーンネットワーク内のトランザクション配信の高速化に関する。
分散型台帳システム(DLS)は、コンセンサスネットワーク、および/またはブロックチェーンネットワークと呼ばれることもあり、参加エンティティが安全かつ不変にデータを保存することを可能にしている。DLSは一般に、いずれの特定のユーザケースも参照することなくブロックチェーンネットワークと呼ばれる。ブロックチェーンネットワークの例のタイプは、パブリックブロックチェーンネットワーク、プライベートブロックチェーンネットワーク、およびコンソーシアムブロックチェーンネットワークを含むことができる。パブリックブロックチェーンネットワークは、すべてのエンティティがDLSを用いてコンセンサスプロセスに参加するために公開されている。プライベートブロックチェーンネットワークは、読取り許可および書込み許可を集中的に制御する特定のエンティティに提供される。コンソーシアムブロックチェーンネットワークは、コンセンサスプロセスを制御するエンティティの選択グループに提供され、アクセス制御レイヤを含む。
従来のブロックチェーンシステムにおいて、トランザクション送信プロセスは、トランザクションを生成してトランザクションをブロックチェーンノードに送信するクライアントを含む。ブロックチェーンノードはトランザクションのバッチに関するコンセンサスを取得し、その後トランザクションは1つずつ実行される。実行結果は新たなブロックチェーンノードに書き込まれる。このプロセスには、主にトランザクションをブロックチェーンノードに通信するクライアントによって達成されるトランザクションネットワーク伝送が含まれる。既存のブロックチェーン環境においては、直接ネットワーク接続が通信に用いられる。
しかしながら、クライアントとブロックチェーンノードとの間の直接ネットワーク接続は最適とは言えない。その単純さのため、直接ネットワーク接続は非効率的なことがある。ネットワークは、ネットワークの複雑さを処理するように適応することができないときがある。たとえば、ネットワークは、ネットワークの問題によりノード間の通信が遅くなる状況を処理することができないときがある。この非効率性のため、ネットワーク内の2つのネットワークノードがデータを伝送する必要があるとき、確立された直接接続が最速の接続ではないことがある。たとえば、2つのノードが国境を越えたネットワーク内にあるとき、または2つのノードが異なるネットワークオペレータに属しているとき、直接ネットワーク接続は非効率的または低速なことがある。一般に、ブロックチェーンにおけるトランザクションの伝送時間はランダムまたは不明である。これらの問題に対処するために直接ネットワーク接続を用いることができるが、直接ネットワーク接続に対処するより効率的な解決策があれば有利であろう。
本明細書の実装形態は、ブロックチェーンネットワークトランザクションを改善するためのコンピュータで実行される方法を含む。より具体的には、本明細書の実装形態は、アクセラレーションノードを用いてブロックチェーンネットワーク内のトランザクションの配信を高速化することを対象としている。
いくつかの実装形態において、アクションは、ブロックチェーントランザクションアクセラレーションシステムを用いて、第1のノードによって生成された第1のトランザクションをブロックチェーンにおけるアクセラレーションノードに送信することであって、第1のトランザクションは、第1のトランザクションの意図された受信者である第2のノードに直接送信される代わりにアクセラレーションノードに送信され、第1のノード、第2のノード、およびアクセラレーションノードは異なるノードである、ことと、ブロックチェーントランザクションアクセラレーションシステムによって、トランザクションをアクセラレーションノードから第2のノードへ転送することと、ブロックチェーントランザクションアクセラレーションシステムによって、トランザクションを第2のノードによって実行することとを含む。他の実装形態は、これらの方法のこれらのアクションを実行するように構成され、コンピュータストレージデバイス上にエンコードされた、対応するシステム、装置、およびコンピュータプログラムを含む。
これらのおよび他の実装形態は、それぞれ任意選択で以下の特徴の1つまたは複数を含むことができる。
トランザクションをアクセラレーションノードから第2のノードへ転送することは、トランザクションを受信者側アクセラレーションノードへ転送することと、受信者側アクセラレーションノードによって、トランザクションを第2のノードへ転送することとを含む、以下の特徴のいずれかと組合せ可能な第1の特徴。
ブロックチェーンにおける第1のノードとブロックチェーンにおける第2のノードとは異なるネットワーク内にある、前のまたは以下の特徴のいずれかと組合せ可能な第2の特徴。
配信されたトランザクションに関する統計を収集して、より迅速なトランザクション配信時間を提供するブロックチェーンにおけるアクセラレーションノードを決定することと、ブロックチェーントランザクションアクセラレーションシステムにより用いるために、より迅速なトランザクション配信時間を有するアクセラレーションノードを選択することとをさらに含む、前のまたは以下の特徴のいずれかと組合せ可能な第3の特徴。
ブロックチェーントランザクションアクセラレーションシステムは、ブロックチェーンにおける1つまたは複数のノードにおいて、またはブロックチェーンによってアクセス可能なサーバにおいて実装される、前のまたは以下の特徴のいずれかと組合せ可能な第4の特徴。
アクセラレーションノードは、異なるネットワーク内の1つまたは複数の特定のアクセラレーションノードにトランザクションを転送するように構成される、前のまたは以下の特徴のいずれかと組合せ可能な第5の特徴。
トランザクションを第2のノードに直接送信することによる予測されるトランザクション配信時間より、アクセラレーションノードを用いるトランザクション配信時間の方が迅速であると予測されるとの判断に基づいて、アクセラレーションノードを選択することをさらに含む、先のまたは以下の特徴のいずれかと組合せ可能な第6の特徴。
本明細書は、1つまたは複数のプロセッサに接続され、命令を格納している1つまたは複数の非一時的コンピュータ可読記憶媒体も提供し、この命令は、1つまたは複数のプロセッサによって実行されると、本明細書で提供される方法の実装形態に従う動作を1つまたは複数のプロセッサに実行させる。
本明細書は、本明細書で提供される方法を実装するためのシステムをさらに提供する。このシステムは、1つまたは複数のプロセッサと、1つまたは複数のプロセッサに接続され、命令を格納しているコンピュータ可読記憶媒体とを含み、この命令は、1つまたは複数のプロセッサによって実行されると、本明細書で提供される方法の実装形態に従う動作を1つまたは複数のプロセッサに実行させる。
本明細書に従う方法は、本明細書に記載の態様および特徴の任意の組合せを含むことができることが理解される。すなわち、本明細書に従う方法は、本明細書で具体的に説明される態様および特徴の組合せに限定されず、提供される態様および特徴の任意の組合せも含む。
本明細書の1つまたは複数の実装形態の詳細は、添付の図面および以下の説明に記載されている。本明細書の他の特徴および利点は、説明および図面から、ならびに特許請求の範囲から明らかになるであろう。
本明細書の実装形態を実行するために用いることができる環境の一例を示す。 本明細書の実装形態に従う概念アーキテクチャの一例を示す。 本明細書の実装形態に従って、ブロックチェーンにおける2つのノード間で直接送信されるトランザクションのためのパスの一例を示すブロック図である。 本明細書の実装形態に従って、ブロックチェーントランザクションアクセラレーションシステムにおいて複数の転送されたトランザクションを送信する際に用いられるパスの一例を示すブロック図である。 本明細書の実装形態に従って、ブロックチェーンネットワーク内で複製トランザクションを用いるための一例のプロセスを示す。 本明細書の実装形態に従って、ブロックチェーンにおいてネットワークアクセラレーションノードを用いて送信されるトランザクションのためのブロックチェーントランザクションアクセラレーションシステムにおいて用いられるパスの一例を示すブロック図である。 本明細書の実装形態に従って、ブロックチェーンネットワーク内でトランザクションを送信するためのアクセラレーションノードを用いるためのプロセスの一例を示す。 本明細書の実装形態に従う、ブロックチェーントランザクションアクセラレーションシステムの複数のブロックチェーンアクセラレーションネットワークの一例のブロック図である。 本明細書の実装形態に従って、複数のブロックチェーンアクセラレーションネットワークを用いるためのプロセスの一例を示す。 本明細書の実装形態に従う装置のモジュールの一例を示す。 本明細書の実装形態に従う装置のモジュールの一例を示す。 本明細書の実装形態に従う装置のモジュールの一例を示す。
様々な図面における同様の参照記号は同様の要素を示す。
本明細書の実装形態は、ブロックチェーンネットワークトランザクションを改善するためのコンピュータで実行される方法を含む。より具体的には、本明細書の実装形態は、アクセラレーションノードを用いてブロックチェーンネットワーク内のトランザクションの配信を高速化することを対象としている。
いくつかの実装形態において、アクションは、ブロックチェーントランザクションアクセラレーションシステムを用いて、第1のノードによって生成された第1のトランザクションをブロックチェーンにおけるアクセラレーションノードに送信することであって、第1のトランザクションは、第1のトランザクションの意図された受信者である第2のノードに直接送信される代わりにアクセラレーションノードに送信され、第1のノード、第2のノード、およびアクセラレーションノードは異なるノードである、ことと、ブロックチェーントランザクションアクセラレーションシステムによって、トランザクションをアクセラレーションノードから第2のノードへ転送することと、ブロックチェーントランザクションアクセラレーションシステムによって、トランザクションを第2のノードによって実行することとを含む。
本明細書の実装形態にさらなる文脈を提供するため、上で紹介したように、分散型台帳システム(DLS)は、コンセンサスネットワーク(たとえば、ピアツーピアノードで構成される)、およびブロックチェーンネットワークと呼ばれることもあり、参加エンティティが安全かつ不変にトランザクションを実行し、データを保存することを可能にしている。ブロックチェーンという用語は一般に通貨ネットワークに関連しているが、ブロックチェーンは本明細書ではいずれの特定の使用ケースも参照することなく一般にDLSを指すために用いられる。
ブロックチェーンは、トランザクションが不変である方法でトランザクションを保存するデータ構造である。したがって、ブロックチェーンに記録されたトランザクションは信頼でき、信用に値する。ブロックチェーンは1つまたは複数のブロックを含む。チェーンにおける各ブロックは、チェーンにおける直前のブロックの暗号化ハッシュを含むことによって、その直前のブロックにリンクされる。各ブロックはまた、タイムスタンプ、独自の暗号化ハッシュ、および1つまたは複数のトランザクションを含む。ブロックチェーンネットワークのノードによってすでに検証されたトランザクションは、ハッシュされ、マークルツリーにエンコードされる。マークルツリーは、ツリーのリーフノードでのデータがハッシュされ、ツリーの各ブランチのすべてのハッシュがブランチのルートで連結されるデータ構造である。このプロセスはツリーを上ってツリー全体のルートまで続き、これはツリー内のすべてのデータを表すハッシュを保存する。ツリーに保存されたトランザクションのものであると見なされるハッシュは、それがツリーの構造と一致しているかどうかを判断することによって迅速に検証することができる。
ブロックチェーンは、トランザクションを保存するための分散型または少なくとも部分的に分散型のデータ構造であるが、ブロックチェーンネットワークは、トランザクションなどをブロードキャスト、検証および有効化することによって1つまたは複数のブロックチェーンを管理、更新、および維持するコンピューティングノードのネットワークである。上で紹介したように、ブロックチェーンネットワークは、パブリックブロックチェーンネットワーク、プライベートブロックチェーンネットワーク、またはコンソーシアムブロックチェーンネットワークとして提供することができる。
パブリックブロックチェーンネットワークにおいて、コンセンサスプロセスはコンセンサスネットワークのノードによって制御される。たとえば、数百、数千、さらには数百万ものエンティティがパブリックブロックチェーンネットワークに協力することができ、これらのそれぞれがパブリックブロックチェーンネットワーク内の少なくとも1つのノードを動作させる。したがって、パブリックブロックチェーンネットワークは、参加エンティティに対するパブリックネットワークと見なすことができる。いくつかの例において、ブロックを有効にしてブロックチェーンネットワークのブロックチェーン(分散型台帳)に追加するため、エンティティ(ノード)の多数がすべてのブロックに署名しなければならない。例のパブリックブロックチェーンネットワークは、ブロックチェーンと呼ばれる分散型台帳を活用する特定のピアツーピア決済ネットワークを含む。しかしながら、上記のように、ブロックチェーンという用語は、いずれの特定のブロックチェーンネットワークも特に参照することなく一般に分散型台帳を指すために用いられる。
一般に、パブリックブロックチェーンネットワークはパブリックトランザクションをサポートする。パブリックトランザクションは、パブリックブロックチェーンネットワーク内のノードのすべてと共有され、グローバルブロックチェーンに保存される。グローバルブロックチェーンは、すべてのノードにわたって複製されるブロックチェーンである。すなわち、すべてのノードがグローバルブロックチェーンに対して完全状態のコンセンサスにある。コンセンサス(たとえば、ブロックチェーンへのブロックの追加に対する同意)を達成するために、パブリックブロックチェーンネットワーク内でコンセンサスプロトコルが実施される。例のコンセンサスプロトコルは、プルーフオブワーク(POW)(たとえば、いくつかの通貨ネットワーク内で実施されている)、プルーフオブステーク(POS)、およびプルーフオブオーソリティ(POA)を含むが、これらに限定されない。非限定的な一例としてPOWを本明細書でさらに参照する。
一般に、プライベートブロックチェーンネットワークは、読取り許可および書込み許可を中央で制御する特定のエンティティに提供される。このエンティティは、どのノードがブロックチェーンネットワークに参加することができるかを制御する。したがって、プライベートブロックチェーンネットワークは一般に、誰がネットワークに参加することを許可されるか、およびその参加のレベル(たとえば、特定のトランザクションにおいてのみ)を制限する許可型ネットワークと呼ばれる。様々なタイプのアクセス制御メカニズムを用いることができる(たとえば、既存の参加者が新たなエンティティの追加に関して投票する、規制権限者が加入を制御することができる)。
一般に、コンソーシアムブロックチェーンネットワークは、参加エンティティ間でプライベートである。コンソーシアムブロックチェーンネットワークにおいて、コンセンサスプロセスは承認されたノードのセットによって制御され、1つまたは複数のノードがそれぞれのエンティティ(たとえば、金融機関、保険会社)によって動作する。たとえば、10のエンティティ(たとえば、金融機関、保険会社)のコンソーシアムがコンソーシアムブロックチェーンネットワークを動作させることができ、これらのそれぞれがコンソーシアムブロックチェーンネットワーク内の少なくとも1つのノードを動作させる。したがって、コンソーシアムブロックチェーンネットワークは、参加エンティティに対してプライベートネットワークと見なすことができる。いくつかの例において、ブロックを有効にしてブロックチェーンに追加するため、各エンティティ(ノード)がすべてのブロックに署名しなければならない。いくつかの例において、ブロックを有効にしてブロックチェーンに追加するため、少なくともエンティティ(ノード)のサブセット(たとえば、少なくとも7つのエンティティ)がすべてのブロックに署名しなければならない。
参加エンティティ間でパブリックなパブリックブロックチェーンネットワークを参照して、本明細書の実装形態を本明細書でさらに詳細に説明する。しかしながら、本明細書の実装形態は、任意の適切なタイプのブロックチェーンネットワーク内で実現することができると考えられる。
上の文脈を鑑みて本明細書の実装形態を本明細書でさらに詳細に説明する。より具体的には、上で紹介したように、本明細書の実装形態は、ブロックチェーンネットワーク内でのトランザクションの配信を高速化するための技術を対象としている。第1の例(図3A〜図4を参照して説明する)において、いくつかのトランザクションルートをより速くすることができるので、トランザクションを繰り返してトランザクション到着の速度を下げることができ、これによりトランザクションの全体的な実行効率を改善することができる。第2の例(図5〜図6を参照して説明する)において、ネットワークアクセラレーションノードをブロックチェーンネットワーク内で用いてノード転送トランザクションを高速化し、これによりトランザクション伝播速度を改善することができる。第3の例(図7〜図8を参照して説明する)において、統一されたネットワークアクセラレーションサービスを異なるブロックチェーンシステムに提供することができるパブリックノードアクセラレーションネットワークを確立することができる。パブリックノードアクセラレーションネットワークの確立により、たとえば、各ブロックチェーンシステム専用のアクセラレーションネットワークを実現することに関連する費用を回避することによって、費用を削減することができる。
図1は、本明細書の実装形態を実行するために用いることができる環境100の一例を示す。いくつかの例において、例の環境100は、エンティティがブロックチェーンネットワーク102に参加することを可能にする。ブロックチェーンネットワーク102は、パブリック、プライベート、またはコンソーシアムブロックチェーンネットワークであってよい。例の環境100は、コンピューティングデバイス106、108、およびネットワーク110を含む。いくつかの例において、ネットワーク110は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、またはこれらの組合せを含み、ウェブサイト、ユーザデバイス(たとえば、コンピューティングデバイス)、およびバックエンドシステムを接続する。いくつかの例において、ネットワーク110は、有線および/または無線通信リンクを介してアクセスすることができる。いくつかの例において、ネットワーク110は、ブロックチェーンネットワーク102との、およびブロックチェーンネットワーク102内での通信を可能にする。一般に、ネットワーク110は、1つまたは複数の通信ネットワークを表す。
図示の例において、コンピューティングシステム106、108はそれぞれ、ブロックチェーンネットワーク102内のノードとしての参加を可能にする任意の適切なコンピューティングシステムを含むことができる。例のコンピューティングデバイスは、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピューティングデバイス、およびスマートフォンを含むが、これらに限定されない。いくつかの例において、コンピューティングシステム106、108は、ブロックチェーンネットワーク102と対話するための1つまたは複数のコンピュータ実装サービスをホストする。たとえば、コンピューティングシステム106は、第1のエンティティ(たとえば、参加者A)のコンピュータ実装サービス、たとえば第1のエンティティが1つまたは複数の他のエンティティ(たとえば、他の参加者)とのトランザクションを管理するために用いるトランザクション管理システムをホストすることができる。コンピューティングシステム108は、第2のエンティティ(たとえば、参加者B)のコンピュータ実装サービス、たとえば第2のエンティティが1つまたは複数の他のエンティティ(たとえば、他の参加者)とのトランザクションを管理するために用いるトランザクション管理システムをホストすることができる。図1の例において、ブロックチェーンネットワーク102はノードのピアツーピアネットワークとして表され、コンピューティングシステム106、108はそれぞれ、ブロックチェーンネットワーク102に参加する第1のエンティティおよび第2のエンティティのノードを提供する。
図2は、本明細書の実装形態に従う概念アーキテクチャ200の一例を示す。例の概念アーキテクチャ200は、参加者A、参加者B、および参加者Cにそれぞれ対応する参加者システム202、204、206を含む。各参加者(たとえば、ユーザ、企業)は、複数のノード214を含むピアツーピアネットワークとして提供されるブロックチェーンネットワーク212に参加し、複数のノード214の少なくともいくつかは、ブロックチェーン216に情報を不変に記録する。単一のブロックチェーン216がブロックチェーンネットワーク212内に概略的に示されているが、ブロックチェーン216の複数のコピーが提供され、本明細書でさらに詳細に説明するように、ブロックチェーンネットワーク212にわたって維持される。
図示の例において、各参加者システム202、204、206はそれぞれ、参加者A、参加者B、および参加者Cによって、またはそれらに代わって提供され、ブロックチェーンネットワーク内のそれぞれのノード214として機能する。本明細書で用いられるように、ノードは一般に、ブロックチェーンネットワーク212に接続され、それぞれの参加者がブロックチェーンネットワークに参加することを可能にする個々のシステム(たとえば、コンピュータ、サーバ)を指す。図2の例において、参加者は各ノード214に対応する。しかしながら、1人の参加者がブロックチェーンネットワーク212内の複数のノード214を動作させることができ、および/または複数の参加者がノード214を共有することができると考えられる。いくつかの例において、参加者システム202、204、206は、プロトコル(たとえば、ハイパーテキストトランスファープロトコルセキュア(HTTPS))を用いて、および/またはリモートプロシージャコール(RPC)を用いて、ブロックチェーンネットワーク212と、またはブロックチェーンネットワーク212を介して通信する。
ノード214は、ブロックチェーンネットワーク212内で様々な参加度を有することができる。たとえば、いくつかのノード214はコンセンサスプロセスに参加することができるが(たとえば、ブロックチェーン216にブロックを追加するマインダノードとして)、他のノード214はコンセンサスプロセスに参加しない。他の一例として、いくつかのノード214はブロックチェーン216の完全なコピーを保存するが、他のノード214はブロックチェーン216の一部のコピーのみを保存する。たとえば、データアクセス権は、それぞれの参加者がそれぞれのシステム内に保存するブロックチェーンデータを制限することができる。図2の例において、参加者システム202、204、206は、ブロックチェーン216のそれぞれの完全なコピー216'、216''、216'''を保存する。
ブロックチェーン(たとえば、図2のブロックチェーン216)はブロックのチェーンで構成され、各ブロックはデータを保存する。例のデータは、2人以上の参加者間のトランザクションを表すトランザクションデータを含む。本明細書ではトランザクションを非限定的な例として用いているが、任意の適切なデータをブロックチェーンに保存することができる(たとえば、文書、画像、動画、音声)と考えられる。例のトランザクションは、何か価値のあるもの(たとえば、資産、製品、サービス、通貨)の交換を含むが、これに限定されない。トランザクションデータはブロックチェーン内に不変に保存される。すなわち、トランザクションデータは変更することができない。
ブロックに保存する前に、トランザクションデータはハッシュされる。ハッシュは、トランザクションデータ(文字列データとして提供される)を固定長のハッシュ値(これも文字列データとして提供される)に変換するプロセスである。ハッシュ値をハッシュ解除してトランザクションデータを取得することはできない。ハッシュにより確実に、トランザクションデータにおけるわずかな変更でも、まったく異なるハッシュ値が得られる。さらに、上記のように、ハッシュ値は固定長である。すなわち、トランザクションデータの大きさに関係なく、ハッシュ値の長さは固定されている。ハッシュは、ハッシュ関数を通じてトランザクションデータを処理してハッシュ値を生成することを含む。例のハッシュ関数は、256ビットのハッシュ値を出力するセキュアハッシュアルゴリズム(SHA)-256を含むが、これに限定されない。
複数のトランザクションのトランザクションデータがハッシュされ、ブロックに保存される。たとえば、2つのトランザクションのハッシュ値が提供され、それら自体がハッシュされて他のハッシュを提供する。このプロセスは、ブロックに保存されるべきすべてのトランザクションについて、単一のハッシュ値が提供されるまで繰り返される。このハッシュ値はマークルルートハッシュと呼ばれ、ブロックのヘッダに保存される。トランザクションのいずれかが変更されると、そのハッシュ値が変更されることになり、最終的にマークルルートハッシュが変更される。
ブロックはコンセンサスプロトコルを通じてブロックチェーンに追加される。ブロックチェーンネットワーク内の複数のノードがコンセンサスプロトコルに参加し、ブロックチェーンにブロックを追加させるために競合する。このようなノードはマイナー(またはマインダノード)と呼ばれる。上で紹介したPOWを非限定的な一例として用いる。
マイナーノードはコンセンサスプロセスを実行して、ブロックチェーンにトランザクションを追加する。複数のマイナーノードがコンセンサスプロセスに参加するが、ブロックチェーンにブロックを書き込むことができるマイナーノードは1つだけである。すなわち、マイナーノードは、自身のブロックをブロックチェーンに追加させるためにコンセンサスプロセスにおいて競合する。さらに詳細には、マイナーノードは、トランザクションプールから保留中のトランザクションを定期的に収集する(たとえば、ブロックに含めることができるトランザクションの数に対する予め定義された制限まで、もしあれば)。トランザクションプールは、ブロックチェーンネットワーク内の参加者からのトランザクションメッセージを含む。マイナーノードはブロックを構築し、ブロックにトランザクションを追加する。トランザクションをブロックに追加する前に、マイナーノードは、トランザクションのいずれかがブロックチェーンのブロックにすでに含まれているかどうかをチェックする。トランザクションがすでに他のブロックに含まれていれば、そのトランザクションは破棄される。
マイナーノードはブロックヘッダを生成し、ブロック内のトランザクションのすべてをハッシュし、ハッシュ値を対に組み合わせて、ブロック内のすべてのトランザクションに単一のハッシュ値が提供されるまでさらなるハッシュ値を生成する(マークルルートハッシュ)。このハッシュはブロックヘッダに追加される。マイナーはまた、ブロックチェーンにおける最新のブロック(すなわち、ブロックチェーンに追加された最後のブロック)のハッシュ値を決定する。マイナーノードはまた、ナンス値およびタイムスタンプをブロックヘッダに追加する。マイニングプロセスにおいて、マイナーノードは必要なパラメータを満たすハッシュ値を見つけようとする。マイナーノードは、必要なパラメータを満たすハッシュ値が見つかるまで、ナンス値を変更し続ける。
ブロックチェーンネットワーク内のすべてのマイナーが、必要なパラメータを満たすハッシュ値を見つけようとし、このように、互いに競合する。最終的に、マイナーノードの1つが、必要なパラメータを満たすハッシュ値を見つけ、これをブロックチェーンネットワーク内のすべての他のマイナーノードに知らせる。他のマイナーノードはハッシュ値を検証し、正しいと判断されれば、ブロック内の各トランザクションを検証し、ブロックを受け入れ、そしてブロックチェーンの自身のコピーにブロックを追加する。このように、ブロックチェーンのグローバル状態は、ブロックチェーンネットワーク内のすべてのマイナーノードにわたって一貫している。上述のプロセスはPOWコンセンサスプロトコルである。
図2を参照して非限定的な一例を提供する。この例において、参加者Aは参加者Bにある量の通貨を送信したいと思っている。参加者Aは、トランザクションメッセージ(たとえば、差出人、宛先、および値フィールドを含む)を生成して、トランザクションメッセージをブロックチェーンネットワークに送信し、ブロックチェーンネットワークは、トランザクションメッセージをトランザクションプールに追加する。ブロックチェーンネットワーク内の各マイナーノードは、ブロックを作成し、トランザクションプールからすべてのトランザクションを取得し(たとえば、ブロックに追加することができるトランザクションの数に対する予め定義された制限まで、もしあれば)、そしてトランザクションをブロックに追加する。このように、参加者Aによって公開されたトランザクションはマイナーノードのブロックに追加される。
いくつかのブロックチェーンネットワークにおいて、トランザクションのプライバシーを維持するために暗号化が実施される。たとえば、ブロックチェーンネットワーク内の他のノードがトランザクションの詳細を識別できないように、2つのノードがトランザクションをプライベートに保ちたい場合、ノードはトランザクションデータを暗号化することができる。例の暗号化は、対称暗号化および非対称暗号化を含むが、これらに限定されない。対称暗号化とは、暗号化(プレーンテキストから暗号化テキストを生成)と復号化(暗号化テキストからプレーンテキストを生成)との両方に単一の鍵を用いる暗号化プロセスを指す。対称暗号化においては、同じ鍵が複数のノードに使用可能であるので、各ノードがトランザクションデータを暗号化/復号化することができる。
非対称暗号化は、それぞれが秘密鍵および公開鍵を含む鍵のペアを用い、秘密鍵はそれぞれのノードのみに知られ、公開鍵はブロックチェーンネットワーク内の任意のまたはすべての他のノードに知られている。ノードは他のノードの公開鍵を用いてデータを暗号化することができ、暗号化されたデータは他のノードの秘密鍵を用いて復号化することができる。たとえば、再び図2を参照すると、参加者Aは参加者Bの公開鍵を用いてデータを暗号化し、暗号化されたデータを参加者Bに送信することができる。参加者Bは、自身の秘密鍵を用いて暗号化されたデータ(暗号化テキスト)を復号化し、元のデータ(プレーンテキスト)を抽出することができる。ノードの公開鍵で暗号化されたメッセージは、そのノードの秘密鍵を用いてのみ復号化することができる。
非対称暗号化はデジタル署名を提供するために用いられ、これにより、トランザクションの参加者が、トランザクションの他の参加者、およびトランザクションの有効性を確認することが可能になる。たとえば、ノードはメッセージにデジタル署名することができ、他のノードは、参加者Aのデジタル署名に基づいて、そのノードによってメッセージが送信されたことを確認することができる。デジタル署名を用いて、送信中にメッセージが改ざんされないことを確実にすることもできる。たとえば、再び図2を参照すると、参加者Aが参加者Bにメッセージを送信しようとしている。参加者Aはメッセージのハッシュを生成し、次いで、その秘密鍵を用いて、ハッシュを暗号化して暗号化されたハッシュとしてデジタル署名を提供する。参加者Aはデジタル署名をメッセージに追加し、デジタル署名付きのメッセージを参加者Bに送信する。参加者Bは、参加者Aの公開鍵を用いてデジタル署名を復号化し、ハッシュを抽出する。参加者Bはメッセージをハッシュし、ハッシュを比較する。ハッシュが同じであれば、参加者Bは、メッセージが実際に参加者Aから来たものであり、改ざんされなかったことを確認することができる。
いくつかの実装形態において、たとえば、ノードAが同じトランザクションの複数のコピーを送信すれば、ブロックチェーンにおけるノード間のより高速な通信を実現することができる。たとえば、ノードAがノードB(たとえば、デスティネーションノード)にトランザクションを送信することに加えて、ノードAは少なくとも1つの他のノードにトランザクションの複製を送信することもできる。たとえば、第3のノードがより高速なネットワーク伝送を提供する(またはもたらす)ことができる。たとえば、ノードAから直接来る伝送の前に、第3のノードが、ネットワークノードBへの伝送の配信の最終的な完了を開始することができれば、より高速なネットワーク伝送を行うことができる。一般に、第3のノードに送信されたトランザクションはノードBに配信することができるが、追加の中間ノードが可能である。このようにトランザクションを複製することは、ブロックチェーンネットワークの再生および転送機能を用いることができる。トランザクションを複製することはまた、同じトランザクションの複製を伝播することによってブロックチェーンネットワーク上で繰り返される攻撃(たとえば、マルウェアまたは不正アクセス)を防ぐのに役立つこともできる。ブロックチェーンネットワークのこれらの特徴の結果として、トランザクションを可及的速やかにデスティネーションノードに配信することができる。トランザクションのより高速な配信の結果として生じる利点は、デスティネーションノードでトランザクションがより高速に実行されることである。
図3Aは、ブロックチェーンにおける2つのノード間で直接送信(または配信)されるトランザクションのためのパス300の一例を示すブロック図である。たとえば、パス300は、ノードA302によってノードB304に送信されてノードB304によって実行されるトランザクションに用いることができる。いくつかの場合において、トランザクションはノードA302とノードB304との間の直接通信306を用いて送信することができる。このように、図3Aは、ブロックチェーンにおける1つのノードから他の1つのノードへトランザクションを送信するための従来の技術を表すことができる。しかしながら、ブロックチェーンによって用いられるネットワーク内の不確実性のため、ブロックチェーンにおけるノード間の接続には不利なことがある。たとえば、ノードが同じネットワーク上になければ、またはブロックチェーンノードが異なる国においてデプロイされていれば、ネットワークの直接接続(たとえば、直接通信306)は、トランザクションの可能な最速パスではないことがある。
図3Bは、ブロックチェーントランザクションアクセラレーションシステム320において複数の転送されたトランザクションを送信する際に用いられるパスの一例を示すブロック図である。ブロックチェーントランザクションアクセラレーションシステム320は、たとえば、本明細書の他の図(図1〜図2など)を参照して説明したコンポーネントを用いて実装することができる。
ブロックチェーントランザクションアクセラレーションシステム320は、単一の通信パスを用いるシステム(たとえば、複数トランザクション転送のない、図3Aを参照して説明した)を越える改善を提供することができる。たとえば、図3Bに示すように、ノードA302とノードB304との間の直接通信306は、依然としてトランザクションに用いることができる。しかしながら、直接通信306を用いることに加えて、トランザクションを複製して追加のノード308〜312に送信することができる。たとえば、ノードB304へのトランザクションの配信を高速化するため、ノードA302は、ノードX308、ノードY310、およびノードZ312に通信パス314を介してトランザクションを送信することもできる。トランザクションは次いでノードX308、ノードY310、およびノードZ312によって通信パス316を介して転送することができる。このようにノードA302が同じトランザクションの複数のコピー(現在の例において、合計4つのトランザクションの例)を送信するとき、ノードA302は、どのトランザクションがノードB304に到達する最初のトランザクションになるかは分からない。ノードB304は、受信した最初のトランザクションの処理後、複製トランザクションを無視するように構成することができるので、トランザクション到着順序は重要ではない。
受信者ノード(および現在の例においてはトランザクションのデスティネーションノード)として機能するノードB304は、複数の同一のトランザクションを受信することがある。最初のトランザクションのみが実行されることになる。複製トランザクションと判断された他のトランザクションは、ブロックチェーンシステムによって無効なトランザクションとして自動的に識別することができる。そのため、複製トランザクションは実行されることがない。
複製トランザクションは様々な方法で判断することができる。たとえば、トランザクションが同じデジタル署名を有すれば、これらのトランザクションは複製トランザクションであると判断することができる。たとえば、トランザクションが受信されると、そのトランザクションのデジタル署名を、最近実行された(または最初に到着した)トランザクションと比較することができる。複製トランザクションを判断する他の方法も用いることができる(たとえば、一般的なブロックチェーン技術を用いて)。
時間とともに、ノードごとに発生する伝送速度を記録および追跡するため、統計を収集および維持することができる。たとえば、多くのノードが、ノードX308、ノードY310、およびノードZ312を通じてトランザクションを送ることができる。たとえば、ノードY310が時間とともにノードX308およびノードZ312より高速であると判断されれば、ノードY310が好ましいノードになることができる。いくつかの実装形態において、好ましいノードのリストを維持することができ、トランザクションが複数のノードを介して送信されると、最速のノードを最初に選択することができる。時間とともに、ブロックチェーンシステムによって遅いノードを回避することができる。
いくつかの実装形態において、速度に加えて様々な要因に基づいて、選択されるノードを選択することができる。たとえば、いくつかのノードは、異なる時間帯でまたは曜日によって高速になることがある。他の一例において、いくつかのノードはそれらの地理的位置に基づいて回避することができ、これは、追跡された伝送速度に加えて、所与のトランザクションの予測伝送速度の指標とすることができる。
いくつかの実装形態において、異なる技術を用いて、いくつの複製トランザクションを送信すべきか、そしてこれらの複製トランザクションを送信するためにどのノードを用いるべきか、を決定することができる。たとえば、ブロックチェーンシステムは、送信ノードにアクセス可能な各ハブに個別の複製トランザクションを送信することができる。たとえば、各ハブは異なるサービスプロバイダに対応することができる。時間とともに、ブロックチェーンシステムは、最良かつ最速のプロバイダを識別するデータベースを構築することができる。いくつかの実装形態において、サービスプロバイダにスコアを割り当てることができ、最高スコアは、複製トランザクションの送信において最速のサービスプロバイダであるという履歴を有するサービスプロバイダに割り当てられる。いくつかの実装形態において、単一のサービスプロバイダが大量のトラフィックで飽和しないよう、トランザクションをスコアの高い複数のサービスプロバイダに分散させることができる。
図4は、ブロックチェーンネットワーク内で複製トランザクションを用いるための例のプロセス400を示している。プロセス400は、本明細書の実装形態に従って実行することができる。いくつかの実装形態において、例のプロセス400は、1つまたは複数のコンピューティングデバイスを用いて実行される1つまたは複数のコンピュータ実行可能プログラムを用いて実行することができる。
プロセス400は、ブロックチェーンにおける1つまたは複数のノードにおいて、またはブロックチェーンによってアクセス可能なサーバにおいて実装されるブロックチェーントランザクションアクセラレーションシステムの一部である(および中に実装する)ことができる。たとえば、図3Bを参照して説明したブロックチェーントランザクションアクセラレーションシステム320は、プロセス400を実施することができる。
402で、ブロックチェーンにおける第1のノードを介して送信された第1のトランザクションがブロックチェーントランザクションアクセラレーションシステムにおいて受信される。一例として、ブロックチェーントランザクションアクセラレーションシステム320内で、直接通信306を用いて、ノードA302とノードB304との間でトランザクションを送信することができる。402から、方法400は404に進む。
404で、第1のトランザクションの複製である少なくとも1つの第2のトランザクションがブロックチェーントランザクションアクセラレーションシステムにおいて受信され、ここで少なくとも1つの第2のトランザクションは、第1のノードとは異なるブロックチェーンにおける少なくとも1つの第2のノードに第1のノードによって送信される。一例として、ブロックチェーントランザクションアクセラレーションシステム320は、追加のノード308〜312の1つまたは複数にトランザクション(すでにノードB304に送信された)の複製を送信することができる。トランザクションの複製は、通信パス314を用いて送信することができる。
いくつかの実装形態において、ブロックチェーンにおける第1のノードおよびブロックチェーンにおける少なくとも1つの第2のノードは、異なるネットワークサービスプロバイダによって提供される異なるネットワークハブ内にあってよい。たとえば、ノードA302およびノードB304は、異なる地域または国にある、または異なるネットワークサービスプロバイダを用いるなど、別個の異なるネットワークハブにあってよい。
いくつかの実装形態において、方法400は、少なくとも1つの第2のトランザクションを送信するために用いる複数の第2のノードを決定することをさらに含むことができる。たとえば、ブロックチェーントランザクションアクセラレーションシステム320は、トランザクションの複製が送信される追加のノード308〜312のうちの特定のいくつかを選択することができる。404から、方法400は406に進む。
406で、第1のトランザクションおよび少なくとも1つの第2のトランザクションを含む受信されたトランザクションのうちの最初に受信されたトランザクションがブロックチェーントランザクションアクセラレーションシステムによって実行される。たとえば、ノードB304は、通信パス306および通信パス316を介して到着する最初のトランザクションを実行することができる。最初に到着するトランザクションは、どの通信パスが最速かに依存する。406から、方法400は408に進む。
408で、ブロックチェーントランザクションアクセラレーションシステムによって、受信されたトランザクションの残りのトランザクションが最初に受信されたトランザクションと同一であると判断すると、その残りのトランザクションは破棄される。たとえば、ノードB304は、最初に受信されたトランザクションの1つまたは複数の複製を受信することができる。ノードB304は、残りの(最初に受信されなかった)トランザクションは複製トランザクションであると判断することができる。ノードB304は次いでこれらの複製トランザクションを破棄することができる。
いくつかの実装形態において、受信されたトランザクションの残りのトランザクションは最初に受信されたトランザクションと同一であると判断することは、最初に受信されたトランザクションのデジタル署名に一致する残りのトランザクションのそれぞれのデジタル署名を識別することを含む。たとえば、ノードB304は、トランザクションのデジタル署名を比較し、一致するデジタル署名が存在すると判断することによって、残りの(最初に受信されなかった)トランザクションは複製トランザクションであると判断することができる。408の後、方法400は停止することができる。
いくつかの実装形態において、方法400は、受信されたトランザクションに関する伝送速度統計を収集して、より速いトランザクション伝送速度を提供するブロックチェーンにおけるノードを決定することをさらに含むことができる。たとえば、時間とともに、ブロックチェーントランザクションアクセラレーションシステム320は、追加のノード308〜312の1つまたは複数が他よりも速いトランザクション配信速度を提供してきたと判断することができる。トランザクション配信速度情報は、ブロックチェーントランザクションアクセラレーションシステム320によって時間とともに保存および追跡することができる。
いくつかの実装形態において、方法400は、所与の伝送送信ノードについて、伝送速度統計に基づいて、トランザクションが送信されるべき好ましいノードのセットを決定することをさらに含むことができる。たとえば、ブロックチェーントランザクションアクセラレーションシステム320は、複製トランザクションを送信するために用いる追加のノード308〜312のどれかを選択する際に最速のトランザクション配信ノードを識別する統計を用いることができる。
いくつかの場合において、ブロックチェーンネットワークノード間の直接接続が常に、ブロックチェーンネットワークノード間の最速のトランザクションパスであるとは限らない。たとえば、ノードAがある国にあり、ノードBが異なる国にあることがある。ノードの場所は、異なる国(または他の地域)にあることによって、ネットワークの不安定性を生み出し、またこれに寄与することがある。ノードAからノードBへ送信されるトランザクションには、たとえば、異なるネットワークプロバイダに関連する要因を含む、複雑な要因が絡むことがある。結果として、ノードAとノードBとの間の直接接続は遅くなるか、不安定になることがある。トランザクション配信の速度および信頼性は、たとえば、ネットワークプロバイダによって処理される大量のトラフィックによって影響を受けることがある。たとえば、ノードAとノードBとの間の直接接続と同じネットワークを用いる大量のデータが伝送されれば、ブロックチェーンネットワークのトランザクション実行効率が悪影響を受けることがある。図3A〜図4を参照して前述したように、トランザクション実行効率に関するいくつかの問題は、複数のトランザクションを送信することによって改善することができる。いくつかの実装形態において、ブロックチェーンにおいてネットワークアクセラレーションノードを用いることによってトランザクション実行効率を改善することができる。
図5は、ブロックチェーンにおいてネットワークアクセラレーションノードを用いて送信されるトランザクションのためのブロックチェーントランザクションアクセラレーションシステム500で用いられるパスの一例を示すブロック図である。パスにおいて矢印で示されているように、ノードA502はトランザクションの送信者であり、ノードB504はトランザクションの意図された受信者である。ノードA502およびノードB504は、たとえば、それぞれローカルネットワーク1 506およびローカルネットワーク2 508などの異なるネットワークエリアに存在することができる。ノードA502およびノードB504は、たとえば、ブロックチェーンネットワークの一部である通信チャネル510を用いて直接通信することができる。しかしながら、トランザクションのより高速な伝送が可能であり、高速通信を提供する通信パス512を用いて行うことができる。結果として、ノードA502からノードB504へのトランザクションの伝送は、少なくともトランスファーノードA'514およびトランスファーノードB'516を含むトランスファーノードを用いることができる。いくつかの実装形態において、トランスファーノードA'514は、トランスファーノードB'516を介してトランザクションを転送することなく、ノードB504に直接トランザクションを転送することができる。
トランスファーノードはネットワークエリア内に複数のノードをサービスすることができる。たとえば、ノードA502およびノードC518などの1つまたは複数の通常ノードをトランスファーノードA'514に割り当てることができる。各通常ノードは、同じネットワークエリアまたは異なるネットワークエリア内の複数のトランスファーノードにアクセスすることができる。しかしながら、現在の例において、ノードA/A'およびノードB/B'はそれぞれ独自のネットワークエリアに属することができる。この場合、トランスファーノードの使用に基づいて伝送速度が速くなり、A'とB'との間の高速ネットワーク通信を提供することができる。
アクセラレーションノードを用いると、ネットワークアクセラレーションノード間に高速リンクを効果的に作成することによってトランザクションのネットワーク伝送速度を高速化することができる。ネットワークアクセラレーションノード間の高速リンクは、ブロックチェーンシステムの全体的なトランザクション実行効率を改善することができる。
アクセラレーションノードは、たとえば、トランザクションの内容または処理に関与しない(または実質的に関与しない)ように設計することができる。そのため、アクセラレーションノードのグループはトランスファーネットワークとして機能することができ、特に国際的なブロックチェーンネットワークで役立つことができる。いくつかの実装形態において、パブリックエンティティに提供される第三者のアクセラレーションネットワークなどのサービスとしてアクセラレーションノードを提供することができる。送信され、アクセラレーションノードのトランスファーネットワークを用いる任意の所与のトランザクションは、ネットワークの一部を用いることができる。たとえば、所与のトランザクションは、所与のトランザクションの配信のために最短または最速のパスを提供するアクセラレーションノードを含む少数のアクセラレーションノードのみを用いることができる。
いくつかの実装形態において、最短パスアルゴリズムを用いて、所与のトランザクションに用いられるべきアクセラレーションノードを選択することができる。最短パスアルゴリズムは、伝送速度を含む、トランザクションの送信に関連する各アクセラレーションノードおよびその統計についての情報を用いることができる。最短パスアルゴリズムによって用いられる情報の一部は、時刻情報および地理情報を含むこと、またはこれらに基づくことができる。たとえば、ブロックチェーンネットワーク内に日中のトラフィックが存在しない夜間は、C国におけるアクセラレーションノードが高速になることがある。
図6は、ブロックチェーンネットワーク内でトランザクションを送信するためにアクセラレーションノードを用いるためのプロセス600の一例を示す。プロセス600は、本明細書の実装形態に従って実行することができる。いくつかの実装形態において、例のプロセス600は、1つまたは複数のコンピューティングデバイスを用いて実行される1つまたは複数のコンピュータ実行可能プログラムを用いて実行することができる。
プロセス600は、ブロックチェーンにおける1つまたは複数のノードにおいて、またはブロックチェーンによってアクセス可能なサーバにおいて実装されるブロックチェーントランザクションアクセラレーションシステムの一部である(および中に実装する)ことができる。たとえば、図5を参照して説明したブロックチェーントランザクションアクセラレーションシステム500は、プロセス600を実施することができる。
602で、ブロックチェーントランザクションアクセラレーションシステムを用いて、第1のノードによって生成された第1のトランザクションがブロックチェーンにおけるアクセラレーションノードに送信され、ここで第1のトランザクションは、第1のトランザクションの意図された受信者である第2のノードに直接送信される代わりにアクセラレーションノードに送信され、第1のノード、第2のノード、およびアクセラレーションノードは異なるノードである。たとえば、ブロックチェーントランザクションアクセラレーションシステム500を用いて、ノードA502から、アクセラレーションノードであるトランスファーノードA'514へトランザクションを送信することができる。ブロックチェーントランザクションアクセラレーションシステム500は、たとえば、トランザクションをノードB504に直接送信する代わりにトランスファーノードA'514を選択することができる。選択決定は、たとえば、通信チャネル512は通信チャネル510より速い(またはおそらくそうである)という知識に基づいて行うことができる。
いくつかの実装形態において、ブロックチェーンにおける第1のノードとブロックチェーンにおける第2のノードとは異なるネットワーク内にある。たとえば、ノードA502およびノードB504は、それぞれ異なるネットワークエリアであるローカルネットワーク1 506およびローカルネットワーク2 508に存在することができる。
いくつかの実装形態において、アクセラレーションノードは、異なるネットワーク内の1つまたは複数の特定のアクセラレーションノードにトランザクションを転送するように構成することができる。一例として、トランスファーノードA'514は、ブロックチェーントランザクションアクセラレーションシステム500において指定されたアクセラレーションノードとして構成することができる。
いくつかの実装形態において、方法600は、トランザクションを第2のノードに直接送信することによる予測されるトランザクション配信時間よりも、アクセラレーションノードを用いるトランザクション配信時間の方が迅速であると予測されるとの判断に基づいて、アクセラレーションノードを選択することをさらに含むことができる。たとえば、ブロックチェーントランザクションアクセラレーションシステム500は、トランザクションをノードB504に直接送信するよりもトランスファーノードA'514をアクセラレーションノードとして用いる方が速い(またはおそらくそうである)という知識に基づいて、トランスファーノードA'514を選択することができる。602から、方法600は604に進む。
604で、トランザクションは、ブロックチェーントランザクションアクセラレーションシステムによって、アクセラレーションノードから第2のノードへ転送される。たとえば、トランスファーノードA'514は、通信パス512を介してノードB504にトランザクションを転送することができる。
いくつかの実装形態において、トランザクションをアクセラレーションノードから第2のノードへ転送することは、受信者側のアクセラレーションノードの使用を含むことができる。たとえば、トランスファーノードA'514は、ローカルネットワーク2 508内のアクセラレーションノードであるトランスファーノードB' 516などの受信者側アクセラレーションノードに通信パス512を介してトランザクションを転送することができる。受信者側のアクセラレーションノード(たとえば、トランスファーノードB'516)は、第2のノード(たとえば、ノードB504)にトランザクションを転送することができる。604から、方法600は606に進む。
606で、トランザクションは第2のノードによって実行される。一例として、ノードB504は受信したトランザクションを実行することができる。606の後、方法600は停止することができる。
いくつかの実装形態において、方法600は、トランザクション配信時間統計の使用、およびトランザクション配信時間統計に基づくアクセラレーションノードの選択をさらに含むことができる。たとえば、ブロックチェーントランザクションアクセラレーションシステム500は、配信されたトランザクションに関する統計を収集して(たとえば、通信チャネル512を用いて)、より迅速なトランザクション配信時間を提供するブロックチェーンにおけるアクセラレーションノードを決定することができる。次いで、ブロックチェーントランザクションアクセラレーションシステム500は、より迅速なトランザクション配信時間を有するアクセラレーションノード、たとえば、トランスファーノードA'514を選択することができる。
いくつかの実装形態において、同じトランザクションの複数のコピーを送信すること、およびアクセラレーションノードを用いることを含む、前述の技術の組合せを用いてトランザクションを送信することができる。たとえば、送信ノードがトランザクションのコピーを意図された受信者ノードに送信することができる。トランザクションの配信時間を短縮するため、送信ノードは、通常(非アクセラレーションノード)およびアクセラレーションノードを含む、1つまたは複数の他のノードにトランザクションのコピーを送信することもできる。いくつかの実装形態において、提供されるアクセラレーションノードのネットワークを用いてトランザクションの伝送時間を改善することもできる。
図7は、ブロックチェーントランザクションアクセラレーションシステム700の複数のブロックチェーンアクセラレーションネットワーク702の一例のブロック図である。たとえば、複数のブロックチェーンアクセラレーションネットワーク702は、ブロックチェーン704を含む様々なブロックチェーンシステムに統合ネットワークアクセラレーションサービスを提供するパブリックノードアクセラレーションネットワークとして機能することができる。複数のブロックチェーンアクセラレーションネットワーク702は、各ブロックチェーンシステム専用のアクセラレーションネットワークを確立する費用を削減または排除することができる。
ブロックチェーン704の所与のブロックチェーンにおけるノード708は、複数のブロックチェーンアクセラレーションネットワーク702内のアクセラレーションノード706と通信することができる。ネットワークの不確実性のため、アクセラレーションネットワーク内の中継ノードとして機能するアクセラレーションノード706の使用は、ノード間の直接通信より効率的であることがある。したがって、ブロックチェーンシステムは、複数のブロックチェーンアクセラレーションネットワーク702によって提供される情報転送の高速ネットワークに依拠することができる。
異なるブロックチェーンシステムについて、ノード間の通信の要件は同じになることがあるので、複数ブロックチェーンシステムが同じ複数のブロックチェーンアクセラレーションネットワーク702を再利用することができる。これにより、複数のブロックチェーンアクセラレーションネットワーク702の再利用性が向上し、ブロックチェーンシステムにおけるネットワークのための構築費用を削減または排除することができる。ブロックチェーンシステムは多数の通信要件を有することがあるので、節約が可能である。ネットワークの不確実性のため、ノード間の直接通信効率が、ネットワークアクセラレーションノードを用いる間接通信より低いことがある。
図8は、複数のブロックチェーンアクセラレーションネットワークを用いるためのプロセス800の一例を示す。プロセス800は、本明細書の実装形態に従って実行することができる。いくつかの実装形態において、例のプロセス800は、1つまたは複数のコンピューティングデバイスを用いて実行される1つまたは複数のコンピュータ実行可能プログラムを用いて実行することができる。
プロセス800は、ブロックチェーンにおける1つまたは複数のノードにおいて、またはブロックチェーンによってアクセス可能なサーバにおいて実装されるブロックチェーントランザクションアクセラレーションシステムの一部である(および中に実装する)ことができる。たとえば、図7を参照して説明したブロックチェーントランザクションアクセラレーションシステム700は、プロセス800を実施することができる。
802で、ブロックチェーントランザクションアクセラレーションシステムにおいて、複数のブロックチェーンにアクセス可能な複数のブロックチェーンアクセラレーションネットワークへのアクセスが提供される。ブロックチェーンは、たとえば、第1のブロックチェーン704aおよび第2のブロックチェーン704bを含むことができる。複数のブロックチェーンアクセラレーションネットワークは複数のアクセラレーションノードを含む。各アクセラレーションノードは、複数のブロックチェーンのうちの少なくとも1つのブロックチェーンにおける少なくとも1つのノードにアクセス可能である。たとえば、ブロックチェーントランザクションアクセラレーションシステム700において、ブロックチェーン704にアクセス可能な複数のブロックチェーンアクセラレーションネットワーク702へのアクセスが提供される。複数のブロックチェーンアクセラレーションネットワーク702はアクセラレーションノード706を含み、それぞれブロックチェーン704における少なくとも1つのノード708にアクセス可能である。802から、方法800は804に進む。
804で、転送されるべきトランザクションが、複数のブロックチェーンのうちの第1のブロックチェーンにおける第1のノードから第1のアクセラレーションノードで受信される。一例として、転送されるべきトランザクション710が、第1のブロックチェーン704aにおける第1のノード708aから第1のアクセラレーションノード706aで受信される。804から、方法800は806に進む。
806で、転送されるべきトランザクションが、第1のアクセラレーションノードによって第2のノードに転送される。たとえば、トランザクション710は、第1のアクセラレーションノード706aによって第2のノードに転送することができる。第2のノードは、たとえば、第2のブロックチェーン704bにおけるノード708bであってよい。他の一例において、第2のノードは第2のアクセラレーションノード706bであってよい。第1のブロックチェーン704aにおける第1のノード708aおよび第2のブロックチェーン704bにおける第2のノード708bは、異なるネットワーク内にあってよい。806の後、方法800は停止することができる。
いくつかの実装形態において、方法800は、配信されたトランザクションに関する統計を用いてアクセラレーションノードを選択することをさらに含むことができる。たとえば、ブロックチェーンシステムは、ブロックチェーン704によって送受信され、複数のブロックチェーンアクセラレーションネットワーク702を用いる配信されたトランザクションに関する統計を収集することができる。統計を用いて、より迅速なトランザクション配信時間を提供する複数のブロックチェーンアクセラレーションネットワーク702内のアクセラレーションノード706を決定することができる。たとえば、アクセラレーションノード706が最短のトランザクション配信時間を有するとして識別された後、ブロックチェーントランザクションアクセラレーションシステム700は、トランザクションを転送するためのアクセラレーションノード706を選択することができる。
いくつかの実装形態において、方法800は、ブロックチェーンが複数のブロックチェーンアクセラレーションネットワークにサブスクライブできるようにするためのステップをさらに含むことができる。たとえば、複数のブロックチェーンアクセラレーションネットワーク702にサブスクライブする要求を第3のブロックチェーン704cから受信することができる。次いで複数のブロックチェーンアクセラレーションネットワーク702へのアクセスを第3のブロックチェーン704cに提供することができる。
いくつかの実装形態において、方法400、600、および800の一部を組み合わせて用いることができる。たとえば、ブロックチェーントランザクションアクセラレーションシステム420、500、および700は、複製トランザクションとアクセラレーションノードとの組合せを用いてブロックチェーンにおけるトランザクションの配信を高速化する1つの集合的ブロックチェーントランザクションアクセラレーションシステムとする、またはそれとして機能することができる。集合的ブロックチェーントランザクションアクセラレーションシステムによってどの技術を用いるかの決定は、他の要因の中でも、ネットワークの状態およびトラフィックの知識などのリアルタイム情報に基づいて行うことができる。
図9は、本明細書の実装形態に従う装置900のモジュールの一例を示す。装置900は、トランザクション再送信(たとえば、コンソーシアムまたは他のブロックチェーン型ネットワーク内で)を用いてブロックチェーンネットワーク内でトランザクション配信を高速化することを可能にするように構成された装置の例の実装形態であり得る。装置900は、上述の実装形態に対応することができ、装置900は以下を含む。すなわち、ブロックチェーントランザクションアクセラレーションシステムにおいて、ブロックチェーンにおける第1のノードを介して送信された第1のトランザクションを受信するための第1の受信部または第1の受信ユニット902と、ブロックチェーントランザクションアクセラレーションシステムにおいて、第1のトランザクションの複製である少なくとも1つの第2のトランザクションを受信するための第2の受信部または第2の受信ユニット904であって、少なくとも1つの第2のトランザクションは、第1のノードとは異なるブロックチェーンにおける少なくとも1つの第2のノードに第1のノードによって送信される、第2の受信部または第2の受信ユニットと、ブロックチェーントランザクションアクセラレーションシステムによって、第1のトランザクションおよび少なくとも1つの第2のトランザクションを含む受信されたトランザクションのうちの最初に受信されたトランザクションを実行するための実行部または実行ユニット906と、ブロックチェーントランザクションアクセラレーションシステムによって、受信されたトランザクションの残りのトランザクションが最初に受信されたトランザクションと同一であると判断すると、残りのトランザクションを破棄する破棄部または破棄ユニット908と、である。
前の実装形態において説明したシステム、装置、モジュール、またはユニットは、コンピュータチップまたはエンティティを用いることによって実装することができ、または特定の機能を有する製品を用いることによって実装することができる。典型的な実装デバイスはコンピュータであり、コンピュータは、パーソナルコンピュータ、ラップトップコンピュータ、携帯電話、カメラ付き電話、スマートフォン、携帯情報端末、メディアプレーヤ、ナビゲーションデバイス、電子メール送受信デバイス、ゲームコンソール、タブレットコンピュータ、ウェアラブルデバイス、またはこれらのデバイスの任意の組合せであってよい。
装置内の各ユニットの機能および役割の実装プロセスについて、前の方法における対応するステップの実装プロセスを参照することができる。簡略化のため、ここでは詳細を省略する。
装置の実装形態は基本的に方法の実装形態に対応するので、関連する部分について、方法の実装形態における関連する説明を参照することができる。前述の装置の実装形態は単なる一例である。個別の部分として説明されたユニットは、物理的に分離していることもしていないこともあり、ユニットとして表示された部分は、物理ユニットであることもそうでないこともあり、1つの位置に配置することも、または複数のネットワークユニットに分散させることもできる。モジュールのいくつかまたはすべてを実際の要求に基づいて選択して、本明細書の解決策の目的を達成することができる。当業者は、創造的な努力なしに本願の実装形態を理解し実施することができる。
再び図9を参照すると、これは、トランザクションの再送信を用いてブロックチェーンネットワーク内でのトランザクション配信を高速化することを可能にする装置の内部機能モジュールおよび構造を示すとして解釈することができる。実行装置は、トランザクションの再送を用いてブロックチェーンネットワーク内でトランザクション配信を高速化することを可能にするように構成された装置の一例であり得る。
図10は、本明細書の実装形態に従う装置1000のモジュールの一例を示す。装置1000は、アクセラレーションノード(たとえば、コンソーシアムまたは他のブロックチェーン型ネットワーク内で)を用いてブロックチェーンネットワーク内でトランザクションの配信を高速化することを可能にするように構成された装置の例の実装形態であり得る。装置1000は、上述の実装形態に対応することができ、装置1000は以下を含む。すなわち、ブロックチェーントランザクションアクセラレーションシステムを用いて、第1のノードによって生成された第1のトランザクションをブロックチェーンにおけるアクセラレーションノードに送信する送信部または送信ユニット1002であって、第1のトランザクションは、第1のトランザクションの意図された受信者である第2のノードに直接送信される代わりにアクセラレーションノードに送信され、第1のノード、第2のノード、およびアクセラレーションノードは異なるノードである、送信部または送信ユニットと、ブロックチェーントランザクションアクセラレーションシステムによって、アクセラレーションノードから第2のノードへトランザクションを転送するための転送部または転送ユニット1004と、ブロックチェーントランザクションアクセラレーションシステムによって、トランザクションを第2のノードによって実行するための実行部または実行ユニット1006と、である。
前の実装形態において説明したシステム、装置、モジュール、またはユニットは、コンピュータチップまたはエンティティを用いることによって実装することができ、または特定の機能を有する製品を用いることによって実装することができる。典型的な実装デバイスはコンピュータであり、コンピュータは、パーソナルコンピュータ、ラップトップコンピュータ、携帯電話、カメラ付き電話、スマートフォン、携帯情報端末、メディアプレーヤ、ナビゲーションデバイス、電子メール送受信デバイス、ゲームコンソール、タブレットコンピュータ、ウェアラブルデバイス、またはこれらのデバイスの任意の組合せであってよい。
装置内の各ユニットの機能および役割の実装プロセスについて、前の方法における対応するステップの実装プロセスを参照することができる。簡略化のため、ここでは詳細を省略する。
装置の実装形態は基本的に方法の実装形態に対応するので、関連する部分について、方法の実装形態における関連する説明を参照することができる。前述の装置の実装形態は単なる一例である。個別の部分として説明されたユニットは、物理的に分離していることもしていないこともあり、ユニットとして表示された部分は、物理ユニットであることもそうでないこともあり、1つの位置に配置することも、または複数のネットワークユニットに分散させることもできる。モジュールのいくつかまたはすべてを実際の要求に基づいて選択して、本明細書の解決策の目的を達成することができる。当業者は、創造的な努力なしに本願の実装形態を理解し実施することができる。
再び図10を参照すると、これは、アクセラレーションノードを用いてブロックチェーンネットワーク内でのトランザクションの配信を高速化することを可能にする装置の内部機能モジュールおよび構造を示すとして解釈することができる。実行装置は、アクセラレーションノードを用いてブロックチェーンネットワーク内でのトランザクションの配信を高速化することを可能にするように構成された装置の例であり得る。
図11は、本明細書の実装形態に従う装置1100のモジュールの一例を示す。装置1100は、グローバルアクセラレーションノード(たとえば、コンソーシアムまたは他のブロックチェーン型ネットワーク内で)を用いてブロックチェーントランザクション速度を改善するように構成された装置の例の実装形態であり得る。装置1100は、上述の実装形態に対応することができ、装置1000は以下を含む。すなわち、ブロックチェーントランザクションアクセラレーションシステムにおいて、複数のブロックチェーンにアクセス可能な複数のブロックチェーンアクセラレーションネットワークへのアクセスを提供する提供部または提供ユニット1102であって、複数のブロックチェーンアクセラレーションネットワークは複数のアクセラレーションノードを含み、各アクセラレーションノードは、複数のブロックチェーンのうちの少なくとも1つのブロックチェーンにおける少なくとも1つのノードにアクセス可能である、提供部または提供ユニットと、複数のブロックチェーンの第1のブロックチェーンにおける第1のノードから第1のアクセラレーションノードで、転送されるべきトランザクションを受信するための受信部または受信ユニット1104と、第1のアクセラレーションノードによって、トランザクションを第2のノードに転送するための転送部または転送ユニット1106と、である。
前の実装形態において説明したシステム、装置、モジュール、またはユニットは、コンピュータチップまたはエンティティを用いることによって実装することができ、または特定の機能を有する製品を用いることによって実装することができる。典型的な実装デバイスはコンピュータであり、コンピュータは、パーソナルコンピュータ、ラップトップコンピュータ、携帯電話、カメラ付き電話、スマートフォン、携帯情報端末、メディアプレーヤ、ナビゲーションデバイス、電子メール送受信デバイス、ゲームコンソール、タブレットコンピュータ、ウェアラブルデバイス、またはこれらのデバイスの任意の組合せであってよい。
装置内の各ユニットの機能および役割の実装プロセスについて、前の方法における対応するステップの実装プロセスを参照することができる。簡略化のため、ここでは詳細を省略する。
装置の実装形態は基本的に方法の実装形態に対応するので、関連する部分について、方法の実装形態における関連する説明を参照することができる。前述の装置の実装形態は単なる一例である。個別の部分として説明されたユニットは、物理的に分離していることもしていないこともあり、ユニットとして表示された部分は、物理ユニットであることもそうでないこともあり、1つの位置に配置することも、または複数のネットワークユニットに分散させることもできる。モジュールのいくつかまたはすべてを実際の要求に基づいて選択して、本明細書の解決策の目的を達成することができる。当業者は、創造的な努力なしに本願の実装形態を理解し実施することができる。
再び図11を参照すると、これは、グローバルアクセラレーションノードを用いてブロックチェーントランザクション速度を改善する装置の内部機能モジュールおよび構造を示すとして解釈することができる。実行装置は、グローバルアクセラレーションノードを用いてブロックチェーントランザクション速度を改善するように構成された装置の例であり得る。
本明細書に記載の主題とアクションおよび動作との実装形態は、本明細書に開示された構造およびそれらの構造的等価物を含む、デジタル電子回路において、具体的に実現されたコンピュータソフトウェアまたはファームウェアにおいて、コンピュータハードウェアにおいて、またはこれらの1つまたは複数の組合せにおいて実施することができる。本明細書に記載の主題の実装形態は、1つまたは複数のコンピュータプログラム、たとえば、データ処理装置による、またはデータ処理装置の動作を制御するための実行のためにコンピュータプログラムキャリア上にエンコードされたコンピュータプログラム命令の1つまたは複数のモジュールとして実施することができる。キャリアは、具体的な非一時的コンピュータ記憶媒体であってよい。あるいは、または加えて、キャリアは、人工的に生成された伝播信号、たとえば、データ処理装置による実行のために適切な受信機装置に伝送するための情報をエンコードするために生成される、機械生成の電気、光、または電磁信号であってよい。コンピュータ記憶媒体は、機械可読ストレージデバイス、機械可読ストレージ基板、ランダムまたはシリアルアクセスメモリデバイス、またはこれらの1つまたは複数の組合せであってよい。コンピュータ記憶媒体は伝播信号ではない。
「データ処理装置」という用語は、例としてプログラマブルプロセッサ、コンピュータ、または複数のプロセッサまたはコンピュータを含む、データを処理するためのあらゆる種類の装置、デバイス、および機械を包含する。データ処理装置は、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)、ASIC(特定用途向け集積回路)、またはGPU(グラフィックスプロセッシングユニット)を含むことができる。この装置はまた、ハードウェアに加えて、コンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらの1つまたは複数の組合せを構成するコードを含むことができる。
コンピュータプログラムは、プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、エンジン、スクリプト、またはコードとも呼ばれ、また記載されることがあり、コンパイルもしくはインタプリタされた言語、または宣言型もしくは手続き型言語を含む任意の形態のプログラミング言語で記述することができ、スタンドアロンプログラムとして、またはモジュールとして、コンポーネント、エンジン、サブルーチン、またはコンピューティング環境における実行に適した他のユニットを含む、任意の形態でデプロイすることができ、この環境は、1つまたは複数の場所にあるデータ通信ネットワークによって相互接続された1つまたは複数のコンピュータを含むことができる。
コンピュータプログラムは、ファイルシステム内のファイルに対応することがあるが、対応する必要はない。コンピュータプログラムは、他のプログラムもしくはデータ、たとえば、マークアップ言語ドキュメントに格納された1つまたは複数のスクリプトを保持するファイルの一部に、問題のプログラム専用の単一ファイルに、または複数の協調ファイル、たとえば、1つまたは複数のモジュール、サブプログラム、もしくはコードの一部を格納するファイルに格納することができる。
本明細書に記載のプロセスおよび論理フローは、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のコンピュータによって実行され、入力データに作用して出力を生成することによって動作を実行することができる。これらのプロセスおよび論理フローはまた、専用論理回路、たとえば、FPGA、ASIC、またはGPUによって、または専用論理回路と1つまたは複数のプログラムされたコンピュータとの組合せによって実行することができる。
コンピュータプログラムの実行に適したコンピュータは、汎用もしくは専用マイクロプロセッサまたはその両方、または任意の他の種類の中央処理装置に基づくことができる。一般に、中央処理装置は、リードオンリメモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信することになる。コンピュータの要素は、命令を実行するための中央処理装置と、命令およびデータを格納するための1つまたは複数のメモリデバイスとを含むことができる。中央処理装置およびメモリは、専用論理回路によって補完する、またはこれに組み込むことができる。
一般に、コンピュータはまた、1つまたは複数の大容量ストレージデバイスを含むか、またはそこからデータを受信もしくはそこへデータを転送するように動作可能に接続されることになる。大容量ストレージデバイスは、たとえば、磁気ディスク、光磁気ディスク、または光ディスク、または固体ドライブであってよい。しかしながら、コンピュータはこのようなデバイスを有する必要はない。また、コンピュータは、他のデバイス、ほんの数例を挙げると、たとえば、携帯電話、携帯情報端末(PDA)、モバイルオーディオまたはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブルストレージデバイス、たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブに組み込むことができる。
ユーザとの相互作用を提供するため、本明細書に記載の主題の実装形態は、ディスプレイデバイス、たとえば、ユーザに情報を表示するためのLCD(液晶ディスプレイ)モニタ、ユーザがコンピュータに入力を提供することができる入力デバイス、たとえば、キーボードおよびポインティングデバイス、たとえば、マウス、トラックボールまたはタッチパッドを有するコンピュータ上で実施、またはこれと通信するように構成することができる。他の種類のデバイスを用いて、ユーザとの相互作用を提供することもできる。たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであってよく、ユーザからの入力は、音響、音声、または触覚の入力を含む任意の形態で受信することができる。加えて、コンピュータは、ユーザによって用いられるデバイスとの間で文書を送受信することによって、たとえば、ユーザのデバイス上のウェブブラウザに、そのウェブブラウザから受信された要求に応じてウェブページを送信することによって、またはユーザデバイス、たとえば、スマートフォンまたは電子タブレット上で動いているアプリと相互作用することによって、ユーザと相互作用することができる。また、コンピュータは、テキストメッセージまたは他の形態のメッセージを個人用デバイス、たとえば、メッセージングアプリケーションを動かしているスマートフォンに送信し、ユーザから返信として応答メッセージを受信することにより、ユーザと相互作用することができる。
本明細書では、システム、装置、およびコンピュータプログラムコンポーネントに関連して「ように構成され」という用語を用いている。特定の動作またはアクションを実行するように構成される1つまたは複数のコンピュータのシステムとは、動作中にシステムに動作またはアクションを実行させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せがシステムにインストールされていることを意味する。特定の動作またはアクションを実行するように構成される1つまたは複数のコンピュータプログラムとは、データ処理装置によって実行されると、その装置に動作またはアクションを実行させる命令を1つまたは複数のプログラムが含むことを意味する。特定の動作またはアクションを実行するように構成される専用論理回路とは、その回路は動作またはアクションを実行する電子論理を有することを意味する。
本明細書は多くの特定の実装形態の詳細を含むが、これらは、請求項自体によって定義された、クレームされている範囲に対する限定としてではなく、特定の実装形態に特有の特徴の説明として解釈されるべきである。別個の実装形態の文脈で本明細書に記載したいくつかの特徴は、単一の実装形態において組み合わせて実現することもできる。逆に、単一の実装形態の文脈で説明した様々な特徴も、複数の実装形態において別個に、または任意の適切なサブコンビネーションで実現することができる。さらに、いくつかの組合せで動作するものとして特徴を上で説明し、最初はそのようにクレームさえしたが、クレームされた組合せからの1つまたは複数の特徴はいくつかの場合において組合せから削除することができ、請求項はサブコンビネーションまたはサブコンビネーションの変形を対象とすることがある。
同様に、特定の順序で動作が図面において描かれ、請求項に記載されているが、これは、所望の結果を達成するために、そのような動作を示した特定の順序でまたは連続した順序で実行すること、またはすべての説明した動作を実行することを要求するものとして理解されるべきではない。いくつかの状況において、マルチタスクおよび並列処理が有利なことがある。さらに、上述の実装形態における様々なシステムモジュールおよびコンポーネントの分離は、すべての実装形態においてそのような分離を必要とするものとして理解されるべきではなく、説明したプログラムコンポーネントおよびシステムは一般に単一のソフトウェア製品に統合することも複数のソフトウェア製品にパッケージ化することもできることが理解されるべきである。
本主題の特定の実装形態を説明してきた。以下の特許請求の範囲内には他の実装形態がある。たとえば、請求項に記載されたアクションは、異なる順序で実行することができ、それでも望ましい結果を達成することができる。一例として、添付の図面に描かれたプロセスは、望ましい結果を達成するために、示した特定の順序、または連続的な順序を必ずしも必要としない。いくつかの場合において、マルチタスクおよび並列処理が有利なことがある。
102 ブロックチェーンネットワーク
106 コンピューティングデバイス、コンピューティングシステム
108 コンピューティングデバイス、コンピューティングシステム
110 ネットワーク
202 参加者システム
204 参加者システム
206 参加者システム
212 ブロックチェーンネットワーク
214 ノード
216 ブロックチェーン
300 パス
302 ノードA
304 ノードB
306 直接通信
308 ノードX
310 ノードY
312 ノードZ
314 通信パス
316 通信パス
320 ブロックチェーントランザクションアクセラレーションシステム
500 ブロックチェーントランザクションアクセラレーションシステム
502 ノードA
504 ノードB
506 ローカルネットワーク1
508 ローカルネットワーク2
510 通信チャネル
512 通信パス
514 トランスファーノードA'
516 トランスファーノードB'
518 ノードC
700 ブロックチェーントランザクションアクセラレーションシステム
702 複数のブロックチェーンアクセラレーションネットワーク
704 ブロックチェーン
704a 第1のブロックチェーン
704b 第2のブロックチェーン
706 アクセラレーションノード
708 ノード
902 第1の受信ユニット
904 第2の受信ユニット
906 実行部または実行ユニット
908 破棄部または破棄ユニット
1002 送信部または送信ユニット
1004 転送部または転送ユニット
1006 実行部または実行ユニット
1102 提供部または提供ユニット
1104 受信部または受信ユニット
1106 転送部または転送ユニット

Claims (17)

  1. コンピュータで実行される方法であって、
    ブロックチェーントランザクションアクセラレーションシステムを用いて、第1のノードによって生成された第1のトランザクションをブロックチェーンにおけるアクセラレーションノードに送信するステップであって、前記第1のトランザクションは、前記第1のトランザクションの意図された受信者である第2のノードに直接送信される代わりに前記アクセラレーションノードに送信され、前記第1のノード、前記第2のノード、および前記アクセラレーションノードは異なるノードである、ステップと、
    前記ブロックチェーントランザクションアクセラレーションシステムによって、前記第1のトランザクションを前記アクセラレーションノードから前記第2のノードへ転送するステップと、
    前記ブロックチェーントランザクションアクセラレーションシステムによって、前記第1のトランザクションを前記第2のノードによって実行するステップとを含
    前記方法は、
    配信されたトランザクションに関する統計を収集して、より迅速なトランザクション配信時間を提供するブロックチェーン内のアクセレーションノードを決定するステップであって、前記統計は、時刻情報または地理情報のうち少なくとも1つを含む、ステップと、
    前記ブロックチェーントランザクションアクセラレーションシステムでの使用のために、より迅速なトランザクション配信時間を有するアクセラレーションノードを選択するステップとをさらに含む、
    コンピュータで実行される方法。
  2. 前記第1のトランザクションを前記アクセラレーションノードから前記第2のノードへ転送するステップは、
    前記第1のトランザクションを受信者側アクセラレーションノードへ転送するステップと、
    前記受信者側アクセラレーションノードによって、前記第1のトランザクションを前記第2のノードへ転送するステップとを含む、
    請求項1に記載のコンピュータで実行される方法。
  3. 前記ブロックチェーンにおける前記第1のノード、および前記ブロックチェーンにおける前記第2のノードは、異なるネットワーク内にある、
    請求項1に記載のコンピュータで実行される方法。
  4. 前記ブロックチェーントランザクションアクセラレーションシステムは、前記ブロックチェーンにおける1つまたは複数のノードにおいて、または前記ブロックチェーンによってアクセス可能なサーバにおいて実装される、
    請求項1に記載のコンピュータで実行される方法。
  5. 前記アクセラレーションノードは、異なるネットワーク内の1つまたは複数の特定のアクセラレーションノードにトランザクションを転送する、
    請求項2に記載のコンピュータで実行される方法。
  6. 前記第1のトランザクションを前記第2のノードに直接送信することによる予測されるトランザクション配信時間より、前記アクセラレーションノードを用いるトランザクション配信時間の方が迅速であると予測されるとの判断に基づいて、前記アクセラレーションノードを選択するステップをさらに含む、
    請求項1に記載のコンピュータで実行される方法。
  7. 1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに以下の動作を行わせる命令を記憶する1つまたは複数のコンピュータ可読記憶媒体であって、前記動作が、
    ブロックチェーントランザクションアクセラレーションシステムを用いて、第1のノードによって生成された第1のトランザクションをブロックチェーンにおけるアクセラレーションノードに送信することであって、前記第1のトランザクションは、前記第1のトランザクションの意図された受信者である第2のノードに直接送信される代わりに前記アクセラレーションノードに送信され、前記第1のノード、前記第2のノード、および前記アクセラレーションノードは異なるノードである、ことと、
    前記ブロックチェーントランザクションアクセラレーションシステムによって、前記第1のトランザクションを前記アクセラレーションノードから前記第2のノードへ転送することと、
    前記ブロックチェーントランザクションアクセラレーションシステムによって、前記第1のトランザクションを前記第2のノードによって実行することとを含
    前記1つまたは複数のコンピュータ可読記憶媒体は、以下の動作を行うように前記1つまたは複数のプロセッサによって実行可能な命令をさらに有し、前記動作は、
    配信されたトランザクションに関する統計を収集して、より迅速なトランザクション配信時間を提供するブロックチェーン内のアクセレーションノードを決定することであって、前記統計は、時刻情報または地理情報のうち少なくとも1つを含む、ことと、
    前記ブロックチェーントランザクションアクセラレーションシステムでの使用のために、より迅速なトランザクション配信時間を有するアクセラレーションノードを選択することとを含む、
    1つまたは複数のコンピュータ可読記憶媒体。
  8. 前記第1のトランザクションを前記アクセラレーションノードから前記第2のノードへ転送することは、
    前記第1のトランザクションを受信者側アクセラレーションノードへ転送することと、
    前記受信者側アクセラレーションノードによって、前記第1のトランザクションを前記第2のノードへ転送することとを含む、
    請求項7に記載の1つまたは複数のコンピュータ可読記憶媒体。
  9. 前記ブロックチェーンにおける前記第1のノードと前記ブロックチェーンにおける前記第2のノードとは異なるネットワーク内にある、
    請求項7に記載の1つまたは複数のコンピュータ可読記憶媒体。
  10. 前記ブロックチェーントランザクションアクセラレーションシステムは、前記ブロックチェーンにおける1つまたは複数のノードにおいて、または前記ブロックチェーンによってアクセス可能なサーバにおいて実装される、
    請求項7に記載の1つまたは複数のコンピュータ可読記憶媒体。
  11. 前記アクセラレーションノードは、異なるネットワーク内の1つまたは複数の特定のアクセラレーションノードにトランザクションを転送する、
    請求項8に記載の1つまたは複数のコンピュータ可読記憶媒体。
  12. 前記第1のトランザクションを前記第2のノードに直接送信することによる予測されるトランザクション配信時間より、前記アクセラレーションノードを用いるトランザクション配信時間の方が迅速であると予測されるとの判断に基づいて、前記アクセラレーションノードを選択するように、前記1つまたは複数のプロセッサによって実行可能な命令をさらに有する、
    請求項7に記載の1つまたは複数のコンピュータ可読記憶媒体。
  13. 1つまたは複数のプロセッサと、
    前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに以下の動作を行わせる命令を有する1つまたは複数のコンピュータ可読記憶媒体とを備えたシステムであって、前記動作は、
    ブロックチェーントランザクションアクセラレーションシステムを用いて、第1のノードによって生成された第1のトランザクションをブロックチェーンにおけるアクセラレーションノードに送信することであって、前記第1のトランザクションは、前記第1のトランザクションの意図された受信者である第2のノードに直接送信される代わりに前記アクセラレーションノードに送信され、前記第1のノード、前記第2のノード、および前記アクセラレーションノードは異なるノードである、ことと、
    前記ブロックチェーントランザクションアクセラレーションシステムによって、前記第1のトランザクションを前記アクセラレーションノードから前記第2のノードへ転送することと、
    前記ブロックチェーントランザクションアクセラレーションシステムによって、前記第1のトランザクションを前記第2のノードによって実行することとを含
    前記システムは、以下の動作を行うように前記1つまたは複数のプロセッサによって実行可能な命令をさらに有し、前記動作が、
    配信されたトランザクションに関する統計を収集して、より迅速なトランザクション配信時間を提供するブロックチェーン内のアクセレーションノードを決定することであって、前記統計は、時刻情報または地理情報のうち少なくとも1つを含む、ことと、
    前記ブロックチェーントランザクションアクセラレーションシステムでの使用のために、より迅速なトランザクション配信時間を有するアクセラレーションノードを選択することとを含む、
    システム。
  14. 前記第1のトランザクションを前記アクセラレーションノードから前記第2のノードへ転送することは、
    前記第1のトランザクションを受信者側アクセラレーションノードへ転送することと、
    前記受信者側アクセラレーションノードによって、前記第1のトランザクションを前記第2のノードへ転送することとを含み、
    前記アクセラレーションノードは、前記異なるネットワーク内の1つまたは複数の特定のアクセラレーションノードにトランザクションを転送する、
    請求項13に記載のシステム。
  15. 前記ブロックチェーンにおける前記第1のノードと前記ブロックチェーンにおける前記第2のノードとは異なるネットワーク内にある、
    請求項13に記載のシステム。
  16. 前記ブロックチェーントランザクションアクセラレーションシステムは、前記ブロックチェーンにおける1つまたは複数のノードにおいて、または前記ブロックチェーンによってアクセス可能なサーバにおいて実装される、請求項13に記載のシステム。
  17. 前記1つまたは複数のコンピュータ可読記憶媒体は、前記第1のトランザクションを前記第2のノードに直接送信することによる予測されるトランザクション配信時間より、前記アクセラレーションノードを用いるトランザクション配信時間の方が迅速であると予測されるとの判断に基づいて、前記アクセラレーションノードを選択するように、前記1つまたは複数のプロセッサによって実行可能な命令をさらに有する、
    請求項13に記載のシステム。
JP2019540587A 2018-12-28 2018-12-28 アクセラレーションノードを用いたブロックチェーンネットワーク内のトランザクション配信の高速化 Active JP6899911B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/124956 WO2019072307A2 (en) 2018-12-28 2018-12-28 ACCELERATION OF TRANSACTION DELIVERIES IN BLOCK CHAIN NETWORKS USING ACCELERATION NODES

Publications (2)

Publication Number Publication Date
JP2020516102A JP2020516102A (ja) 2020-05-28
JP6899911B2 true JP6899911B2 (ja) 2021-07-07

Family

ID=66100129

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019540587A Active JP6899911B2 (ja) 2018-12-28 2018-12-28 アクセラレーションノードを用いたブロックチェーンネットワーク内のトランザクション配信の高速化

Country Status (9)

Country Link
US (3) US10664469B2 (ja)
EP (1) EP3571655B1 (ja)
JP (1) JP6899911B2 (ja)
KR (1) KR20200083933A (ja)
CN (1) CN110392898A (ja)
PH (1) PH12019501712A1 (ja)
SG (1) SG11201906831YA (ja)
TW (1) TWI703524B (ja)
WO (1) WO2019072307A2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG11201907248QA (en) 2018-12-28 2019-09-27 Alibaba Group Holding Ltd Improving blockchain transaction speeds using global acceleration nodes
EP3571655B1 (en) 2018-12-28 2021-09-29 Advanced New Technologies Co., Ltd. Accelerating transaction deliveries in blockchain networks using acceleration nodes
SG11201907245VA (en) 2018-12-28 2019-09-27 Alibaba Group Holding Ltd Accelerating transaction deliveries in blockchain networks using transaction resending
KR102228214B1 (ko) * 2019-07-22 2021-03-16 에이치엔핀코어 주식회사 블록체인 네트워크에서 블록을 생성하기 이전에 트랜잭션을 전파함으로써 트랜잭션 처리 속도를 향상시킬 수 있는 노드 장치 및 그 동작 방법
SG11202002027TA (en) * 2019-09-12 2020-04-29 Alibaba Group Holding Ltd Log-structured storage systems
JP6852776B1 (ja) * 2019-11-26 2021-03-31 ダイキン工業株式会社 ブロックチェーンシステム、プログラム及びネットワーク接続装置
CN111488202B (zh) * 2020-04-07 2023-08-15 百度国际科技(深圳)有限公司 多链系统的事务处理方法、装置、设备、系统和介质
CN111641559B (zh) * 2020-04-22 2022-02-15 金蝶软件(中国)有限公司 基于区块链的多人会话数据传输方法、系统和计算机设备
CN114979166B (zh) * 2022-06-09 2023-05-16 中国联合网络通信集团有限公司 共识节点确定方法、装置及存储介质

Family Cites Families (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5889943A (en) * 1995-09-26 1999-03-30 Trend Micro Incorporated Apparatus and method for electronic mail virus detection and elimination
US7844729B1 (en) 1999-05-03 2010-11-30 Digital Envoy, Inc. Geo-intelligent traffic manager
JP4377858B2 (ja) 2005-07-07 2009-12-02 日本電信電話株式会社 階層分散型ルーティング方法とその管理装置
JPWO2008126210A1 (ja) 2007-03-27 2010-07-22 富士通株式会社 通信経路選択プログラム、通信経路選択方法および通信経路選択装置
US8588103B2 (en) 2007-04-10 2013-11-19 Control4 Corporation System and method for distributing communications through a dense mesh network
US20090100128A1 (en) * 2007-10-15 2009-04-16 General Electric Company Accelerating peer-to-peer content distribution
US8089869B2 (en) 2008-03-09 2012-01-03 Fluke Corporation Method and apparatus of duplicate packet detection and discard
JP2012070293A (ja) 2010-09-27 2012-04-05 Hitachi Ltd 二重化高信頼通信方法および装置
US8462781B2 (en) 2011-04-06 2013-06-11 Anue Systems, Inc. Systems and methods for in-line removal of duplicate network packets
US8756217B2 (en) * 2011-07-12 2014-06-17 Facebook, Inc. Speculative switch database
US8935533B2 (en) 2011-12-20 2015-01-13 Alcatel Lucent Method and apparatus for a scalable and secure transport protocol for sensor data collection
US20150046558A1 (en) 2013-03-15 2015-02-12 Google Inc. System and method for choosing lowest latency path
US20160086175A1 (en) * 2014-09-22 2016-03-24 Qualcomm Incorporated Peer-to-peer transaction system
US9967334B2 (en) 2015-03-02 2018-05-08 Dell Products Lp Computing device configuration and management using a secure decentralized transaction ledger
US9904722B1 (en) * 2015-03-13 2018-02-27 Amazon Technologies, Inc. Log-based distributed transaction management
US10558996B2 (en) * 2015-06-09 2020-02-11 Fidelity National Information Services, Llc Methods and systems for regulating operation of units using encryption techniques associated with a blockchain
US10051000B2 (en) 2015-07-28 2018-08-14 Citrix Systems, Inc. Efficient use of IPsec tunnels in multi-path environment
US20170132626A1 (en) * 2015-11-05 2017-05-11 Mastercard International Incorporated Method and system for processing of a blockchain transaction in a transaction processing network
US20170132625A1 (en) * 2015-11-05 2017-05-11 Mastercard International Incorporated Method and system for use of a blockchain in a transaction processing network
WO2017109140A1 (en) 2015-12-22 2017-06-29 Bigchaindb Gmbh Decentralized, tamper-resistant, asset-oriented database system and method of recording a transaction
US20170236120A1 (en) 2016-02-11 2017-08-17 Oracle International Corporation Accountability and Trust in Distributed Ledger Systems
US10693658B2 (en) 2016-02-12 2020-06-23 Visa International Service Association Methods and systems for using digital signatures to create trusted digital asset transfers
US10534913B2 (en) 2016-03-30 2020-01-14 British Telecommunications Public Limited Company Blockchain state reliability determination
US20170345011A1 (en) * 2016-05-26 2017-11-30 Hitfin, Inc. System and method executed on a blockchain network
EP3285248B1 (en) 2016-08-16 2019-07-03 Alcatel Lucent Blockchain-based security threat detection method and system
CN106385319B (zh) * 2016-09-29 2020-11-27 江苏通付盾科技有限公司 区块链网络中信息的验证方法及系统
US11128603B2 (en) * 2016-09-30 2021-09-21 Nec Corporation Method and system for providing a transaction forwarding service in blockchain implementations
US10387684B2 (en) 2016-12-09 2019-08-20 International Business Machines Corporation Interlocked blockchains to increase blockchain security
WO2018127923A1 (en) 2017-01-08 2018-07-12 Eyal Hertzog Methods for exchanging and evaluating virtual currency
US20180225661A1 (en) * 2017-02-07 2018-08-09 Microsoft Technology Licensing, Llc Consortium blockchain network with verified blockchain and consensus protocols
US20180254982A1 (en) 2017-03-01 2018-09-06 Cisco Technology, Inc. Communication Paths for Distributed Ledger Systems
WO2018175666A1 (en) * 2017-03-21 2018-09-27 Dappsters, LLC Blockchain systems and methods
US11095432B2 (en) * 2017-04-05 2021-08-17 Samsung Sds Co., Ltd. System for processing data based on blockchain and operating method thereof
US10812270B2 (en) 2017-04-07 2020-10-20 Citizen Hex Inc. Techniques for increasing the probability that a transaction will be included in a target block of a blockchain
US10102265B1 (en) * 2017-04-12 2018-10-16 Vijay K. Madisetti Method and system for tuning blockchain scalability for fast and low-cost payment and transaction processing
US11165589B2 (en) * 2017-05-11 2021-11-02 Shapeshift Ag Trusted agent blockchain oracle
CN107239940A (zh) * 2017-05-11 2017-10-10 北京博晨技术有限公司 基于区块链系统的网络交易方法及装置
CN108876361A (zh) 2017-05-12 2018-11-23 李平 区块链系统、区块生成方法及计算机可读存储介质
US10740733B2 (en) * 2017-05-25 2020-08-11 Oracle International Corporaton Sharded permissioned distributed ledgers
CN107231299A (zh) 2017-06-07 2017-10-03 众安信息技术服务有限公司 一种链路由及实现区块链跨链通信的系统
CN107239954B (zh) 2017-06-07 2021-01-22 北京汇通金财信息科技有限公司 一种提高区块产生速度的方法及装置
JP7053677B2 (ja) 2017-06-07 2022-04-12 エヌチェーン ホールディングス リミテッド ブロックチェーン・ネットワークにおいてトランザクションを管理するためのコンピュータ実装システム及び方法
GB201709219D0 (en) 2017-06-09 2017-07-26 Nchain Holdings Ltd Computer-implemented system and method
CN107332826B (zh) * 2017-06-09 2019-12-03 中国联合网络通信集团有限公司 区块链代理节点的通信方法及装置
CN107358420B (zh) 2017-06-09 2020-08-11 北京博晨技术有限公司 用于实现热点账户的区块链系统以及实现热点账户的方法
WO2018231255A1 (en) 2017-06-16 2018-12-20 Visa International Service Association Blockchain network interaction controller
GB201709848D0 (en) 2017-06-20 2017-08-02 Nchain Holdings Ltd Computer-implemented system and method
CN107239910A (zh) 2017-06-27 2017-10-10 中国科学院城市环境研究所 耦合人口和poi点的城市内涝风险评估指标构建
US10984134B2 (en) * 2017-07-14 2021-04-20 Microsoft Technology Licensing, Llc Blockchain system for leveraging member nodes to achieve consensus
JP6929725B2 (ja) 2017-07-14 2021-09-01 株式会社ジャパンディスプレイ バックライト装置、およびこれを備える液晶表示装置
US10592979B2 (en) * 2017-07-26 2020-03-17 International Business Machines Corporation Managing blockchain transactions
US20190080402A1 (en) 2017-09-11 2019-03-14 Templum, Llc System and method for providing a regulatory-compliant token
CN107862600A (zh) 2017-10-24 2018-03-30 深圳四方精创资讯股份有限公司 基于区块链的银行汇款方法及其系统
US11227284B2 (en) * 2017-12-13 2022-01-18 Mastercard International Incorporated Method and system for consumer-initiated transactions using encrypted tokens
US11461777B2 (en) 2017-12-19 2022-10-04 Tbcasoft, Inc. Cross-ledger transfers between distributed ledgers
CN108154367B (zh) 2017-12-26 2021-07-02 成都质数斯达克科技有限公司 一种区块链业务校验方法及装置
US11257073B2 (en) 2018-01-31 2022-02-22 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing machine learning models for smart contracts using distributed ledger technologies in a cloud based computing environment
CN108200210B9 (zh) 2018-02-12 2021-06-18 众安信息技术服务有限公司 基于区块链的链管理的方法、装置及计算机可读介质
US11271717B2 (en) * 2018-02-21 2022-03-08 Thunder Token Inc. Blockchain consensus methods and systems
CN108805702B (zh) 2018-04-19 2022-04-01 深圳市迅雷网络技术有限公司 基于区块链的交易缓冲/加速方法及区块链交易处理系统
CN108681965B (zh) * 2018-04-24 2021-01-29 全链通有限公司 离线节点的区块链网络交易处理方法和装置
US11194837B2 (en) 2018-05-01 2021-12-07 International Business Machines Corporation Blockchain implementing cross-chain transactions
CN108769141A (zh) 2018-05-09 2018-11-06 深圳市深弈科技有限公司 一种多源实时交易行情数据接收与归并处理的方法
CN108764870B (zh) 2018-05-29 2020-07-07 阿里巴巴集团控股有限公司 基于区块链的交易处理方法及装置、电子设备
CN108876615A (zh) 2018-06-11 2018-11-23 腾讯科技(深圳)有限公司 债权数据存储方法、装置、设备及介质
CN109242484A (zh) 2018-08-09 2019-01-18 玄章技术有限公司 一种区块链的共识激励方法
US11018851B2 (en) 2018-08-23 2021-05-25 Paypal, Inc. Multi-blockchain digital transaction information segregation system
CN109064337A (zh) 2018-10-18 2018-12-21 尚维斯 一种基于区块链的跨链记账方法
US20200143466A1 (en) 2018-11-06 2020-05-07 Jianxin Wu Blockchain-based lending systems and methods
US10325084B1 (en) 2018-12-11 2019-06-18 block.one Systems and methods for creating a secure digital identity
US11127000B2 (en) * 2018-12-17 2021-09-21 Intel Corporation Reducing blockchain transaction delay
US11474994B2 (en) 2018-12-27 2022-10-18 Intel Corporation Distributed blockchain oracle
EP3571655B1 (en) 2018-12-28 2021-09-29 Advanced New Technologies Co., Ltd. Accelerating transaction deliveries in blockchain networks using acceleration nodes
SG11201907245VA (en) 2018-12-28 2019-09-27 Alibaba Group Holding Ltd Accelerating transaction deliveries in blockchain networks using transaction resending
SG11201907248QA (en) 2018-12-28 2019-09-27 Alibaba Group Holding Ltd Improving blockchain transaction speeds using global acceleration nodes

Also Published As

Publication number Publication date
TW202026978A (zh) 2020-07-16
US20200364213A1 (en) 2020-11-19
US10664469B2 (en) 2020-05-26
TWI703524B (zh) 2020-09-01
KR20200083933A (ko) 2020-07-09
JP2020516102A (ja) 2020-05-28
US20190278766A1 (en) 2019-09-12
WO2019072307A2 (en) 2019-04-18
EP3571655A2 (en) 2019-11-27
WO2019072307A3 (en) 2019-10-17
PH12019501712A1 (en) 2020-06-01
SG11201906831YA (en) 2019-08-27
EP3571655B1 (en) 2021-09-29
US20200226125A1 (en) 2020-07-16
CN110392898A (zh) 2019-10-29
EP3571655A4 (en) 2020-07-15
US11042535B2 (en) 2021-06-22
US11151127B2 (en) 2021-10-19

Similar Documents

Publication Publication Date Title
JP6899911B2 (ja) アクセラレーションノードを用いたブロックチェーンネットワーク内のトランザクション配信の高速化
JP6892514B2 (ja) トランザクションの再送信を使用してブロックチェーンネットワークにおけるトランザクション配信の加速化
US10505708B2 (en) Blockchain transaction speeds using global acceleration nodes
US11256823B2 (en) Methods and apparatus for efficiently implementing a distributed database within a network
US8990566B2 (en) Privacy-preserving publish-subscribe protocol in a cloud-assisted broadcast model
CN111108734B (zh) 基于存储空间互换的改进的防重放设备
RU2775994C2 (ru) Способы и устройство эффективной реализации распределенной базы данных в сети

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191001

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200923

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201012

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210108

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: 20210524

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210615

R150 Certificate of patent or registration of utility model

Ref document number: 6899911

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150