JP6949249B2 - 最小限の検証クライアントを使用したトラストレスステートレスインセンティブ型リモートノードネットワーク - Google Patents

最小限の検証クライアントを使用したトラストレスステートレスインセンティブ型リモートノードネットワーク Download PDF

Info

Publication number
JP6949249B2
JP6949249B2 JP2020556929A JP2020556929A JP6949249B2 JP 6949249 B2 JP6949249 B2 JP 6949249B2 JP 2020556929 A JP2020556929 A JP 2020556929A JP 2020556929 A JP2020556929 A JP 2020556929A JP 6949249 B2 JP6949249 B2 JP 6949249B2
Authority
JP
Japan
Prior art keywords
client
node
response
valid
blockchain
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
JP2020556929A
Other languages
English (en)
Other versions
JP2021513300A (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 JP2021513300A publication Critical patent/JP2021513300A/ja
Application granted granted Critical
Publication of JP6949249B2 publication Critical patent/JP6949249B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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/2365Ensuring data consistency and integrity
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1093Some peer nodes performing special functions
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • 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]
    • 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • 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/3218Cryptographic 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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]
    • 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/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Power Engineering (AREA)
  • Computer And Data Communications (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Transfer Between Computers (AREA)

Description

本開示は、一般に、モノのインターネット(IoT)デバイスなどの軽量デバイスの分野に関し、より詳細には、ブロックチェーン技術の分散化され、トラストレスな側面に妥協することのない、軽量デバイスのブロックチェーン相互作用のリモート処理に関する。本開示は、ウェブアプリおよびモバイルアプリなどのアプリケーションの文脈における同様の処理に関する。
関連出願の相互参照
本出願は、2018年4月16日に出願された米国特許仮出願第62/658,496号の利益を主張し、その開示は、参照によりその全体が本明細書に組み込まれる。
IoTデバイスなどの、低処理能力、低帯域幅容量(たとえば、インターネットへの接続が制限されている)、および/または低電力容量(本明細書では総称して「軽量デバイス」と呼ぶ)のデバイスの展開は、どこにでも存在するようになっている。軽量デバイスの処理、帯域幅、および/または電力制約により、これらの軽量デバイスのブロックチェーン相互作用を処理および妥当性検査するには、関連技術の実装形態において何らかの形の妥協が必要である。たとえば、ブロックチェーンまたは他のDLT(分散型台帳技術)ネットワークと相互作用するための多くの関連技術の実装形態では、ブロックチェーンまたはDLTネットワークと相互作用しようとしているデバイスにクライアントがインストールされる必要がある。いくつかのデバイスには容量の制約があることを認識し、関連技術システムは、それらのクライアントのプルーニングバージョンと軽量バージョンを開発した(たとえば、データ容量要件を200GBから40GB、さらには50MBに削減する)。
しかしながら、軽量デバイスには、ブロックチェーンまたはDLTの相互作用を促進するためのクライアントの最も軽量なバージョンでさえ処理する能力がないシナリオがある。そのようなシナリオでは、関連技術システムは、サーバにおいてリモートでインストールされたクライアント(本明細書では「リモートクライアント」と呼ぶ)を使用してブロックチェーンの相互作用を促進する。しかしながら、リモートクライアントの実装形態は、特定の中央サーバを信頼するためにリモートクライアントと相互作用する軽量デバイスが必要であるため、ブロックチェーンまたはDLTの相互作用の中心的な信条に妥協し、ブロックチェーンまたはDLTの使用を普及させてきた分散化の側面を阻むものになる。さらに、リモートクライアントの実装形態により、単一障害点が形成され、リモートクライアントをホストしているサーバに障害が発生すると、ブロックチェーンまたはDLTの相互作用を処理するためにリモートクライアントに依存する軽量デバイスは、相互作用を処理できなくなる。
開示された実施形態は、発明を実施するための形態、添付の特許請求の範囲、および添付の図(または図面)からより容易に明らかになる他の利点および特徴を有する。図の簡単な紹介は以下の通りである。
軽量デバイスまたはアプリケーションによってブロックチェーン相互作用を促進するためのトラストレスステートレスリモートクライアントを実装するシステムの一実施形態を示す図である。 マシン可読媒体から命令を読み取り、それらをプロセッサ(または、コントローラ)において実行することができる例示的なマシンの構成要素を示すブロック図である。 本開示のいくつかの実施形態による、トラストレスでステートレスなリモートクライアントによるブロックチェーントランザクションを妥当性検査するためのデータフロー図である。 本開示のいくつかの実施形態による、IoTデバイスのブロックチェーントランザクションを妥当性検査するためのフローチャートである。
図面および以下の説明は、例示としてのみ好ましい実施形態に関する。以下の議論から、本明細書に開示される構造および方法の代替的実施形態は、主張されるものの原理から逸脱することなしに採用され得る実行可能な代替として容易に認識される点に留意されたい。
ここで、いくつかの実施形態を詳細に参照し、その例を添付の図面に示す。実行可能な場合はいつでも、類似または同様の参照番号が図面において使用され得、類似または同様の機能を示し得る点に留意されたい。これらの図面は、例示のみを目的として、開示されたシステム(または、方法)の実施形態を示している。当業者は、以下の説明から、本明細書に記載の原理から逸脱することなしに、本明細書に例示される構造および方法の代替的実施形態が採用され得ることを容易に認識するであろう。
構成の概要
分散型台帳の相互作用の分散型、トラストレスおよびステートレスの利点を維持しながら、分散型台帳の相互作用を処理するために、IoTデバイスなどの軽量デバイスによるリモートクライアントの使用を可能にする、開示されたシステム、方法、およびコンピュータ可読ストレージ媒体の一実施形態が開示される。この目的のために、クライアント(たとえば、以下に説明するような最小限の検証クライアント)が軽量デバイス内にインストールされ得る。クライアントが分散型台帳ネットワークと同期されておらず、モノのインターネット(IoT)デバイスからトランザクション要求を受信する可能性がある。クライアントは、各ノードが分散型台帳ネットワークと同期されているノードのレジスタ(情報プロバイダおよび/またはバリデータとして作動する)を検索し、レジスタから情報プロバイダノードを選択する。クライアントは、分散型台帳ネットワーク上で情報(トランザクション情報、アカウントからの情報、スマートコントラクトなど)の要求を送信し、要求に対する応答であって、情報自体と妥当性検査指標(たとえば、署名されたブロックハッシュ、証明(たとえば、マークル証明)など)を含む応答を受信する。クライアントは、妥当性検査指標に基づいて応答が有効かどうかを決定し、応答が有効であるという決定に応答して、IoTデバイスに確認を送信する。分散型台帳の一例はブロックチェーンである。議論を容易にするために、本明細書に開示される実施形態は、ブロックチェーンの文脈にある。しかしながら、本明細書に開示される原理は、他の形態の電子分散型台帳に適用され得る点に留意されたい。本明細書に開示されるシステムおよび方法は、アプリケーションとしてIoTを使用して説明されているが、同じメカニズムが、特にリソースが制限されているウェブアプリ、モバイルアプリ、および他のソフトウェアにも適用される。
システムアーキテクチャ
図1は、軽量デバイスによってブロックチェーン相互作用を促進するためのトラストレスステートレスリモートクライアントを実装するシステムの一実施形態を示している。システム100は、IoTデバイス110、クライアント130、1つまたは複数のノード140、およびレジストリ150を含む。本システムはまた、IoTデバイス110(およびIoTデバイス110によって実行されるクライアント130)が通過するネットワーク120、およびノード140を含む。1つのIoTデバイス110のみが示されているが、これは単に便宜のためであり、任意の数のIoTデバイスがシステム100内にあり得る。さらに、「IoTデバイス」という用語の使用も便宜のために使用されており、本明細書に記載されるような任意の軽量デバイスまたはアプリケーションは、IoTデバイスまたはIoTデバイス110という用語が言及されている場合はいつでも使用され得る。上述のように、IoTという用語は「モノのインターネット」の略であり、従来はインターネットに接続されていなかったデバイスを含む、インターネット対応のデバイスを指すために使用される分野の用語である(たとえば、インターネット接続を備えた自転車ロックなど)。IoTデバイスは、インターネットに直接接続されていない場合があり、インターネットに間接的にアクセスするように構成されている場合(たとえば、インターネットに直接接続されている別のデバイスとの短距離通信を介して)、依然としてIoTデバイスであり得る。従来のコンピューティングデバイスとは異なり、IoTデバイス(および、一般的に軽量デバイス)は通常、処理能力、メモリ、ストレージ容量、および接続帯域幅を含む、処理リソースおよび能力が非常に限られている。したがって、それらの機能的能力はかなり制限されている。
ある実施形態では、IoTデバイス110は、IoTデバイス110が、ピアツーピアブロックチェーンネットワークのメンバーとしてブロックチェーン相互作用を実行し、完全に検証するために(上述のような)ローカルのフルまたは軽量クライアントを実行することを妨げる、上述のような制約を有する軽量デバイスである。本明細書で使用されるブロックチェーン相互作用という用語は、一般的なブロックチェーン情報の獲得、アカウントとの相互作用、またはブロックチェーンスマートコントラクトの使用によって記念されるブロックチェーントランザクションを指す場合がある。ブロックチェーン相互作用が処理される方法は、図3に関して以下でさらに詳細に説明される。ネットワークに同期されることによってブロックチェーン相互作用を完全に処理することができるIoTデバイス110上のローカルのフルまたは軽量クライアントの欠如を考えると、IoTデバイス110のクライアント130は、ブロックチェーン相互作用を実行するためにネットワーク120を通じて要求を送信する。クライアント130は、ブロックチェーンネットワークと同期されていないクライアントである。ネットワーク120は、図2に関して以下でさらに詳細に説明される。
クライアント130は、トランザクションに関するノードからの応答を妥当性検査する。応答を取得するために、クライアント130は、要求を処理するためにノード140のノードを選択し、ノード140は、ブロックチェーンネットワークと同期される。選択されたノードが要求を処理する方法は、図3および図4に関して以下でさらに詳細に説明される。以下でさらに詳細に説明するように、ノードは、相互作用を処理するときに、ノード140の他のノードからのさらなる妥当性検査を要求し得る。
クライアント130は、IoTデバイス110のストレージからノード140のリストを検索することによって、ノード140のどれがブロックチェーン相互作用を処理するかを選択し得、そこからクライアント130は、ランダムまたは疑似ランダムにノードを選択し得る。最初に、クライアント130は、デフォルトのノードのセットに接触するように構成され得、デフォルトのノードのセットのノードから、ノードの最新のレジスタを要求し得る。ノードは、レジストリ150からノード140の最新のレジスタを検索し、最新のレジスタをクライアント130に送信し得る。レジストリ150は、ノード140をカタログ化するブロックチェーン上のスマートコントラクトである。ノード140は、レジストリ150にサブスクライブする要求をレジストリ150に送信するノード140に基づいて、レジストリ150内にリストされ得る。クライアント130がノード140のどれがブロックチェーン相互作用を処理するかを選択する方法は、図3および図4に関して以下でさらに詳細に説明される。3つのノード、ノード140A、ノード140B、およびノード140Cは、ノード140を形成するものとして示されているが、任意の数のノードがノード140を形成し得る。
コンピューティングマシンアーキテクチャ
図2は、マシン可読媒体から命令を読み取り、それらをプロセッサ(または、コントローラ)において実行することができる例示的なマシンの構成要素を示すブロック図である。具体的には、図2は、本明細書で論じられる方法論のうちの任意の1つまたは複数をマシンに実行させるためのプログラムコード(たとえば、ソフトウェア)が実行され得るコンピュータシステム200の例示的な形態のマシンの概略図を示している。コンピュータシステム200の構成要素のうちのいくつかまたはすべては、本明細書で論じられるように、IoTデバイス110あるいは他の軽量デバイスまたはアプリケーションのコンピュータシステムを代表し得る。しかしながら、前述のように、そのような構成要素は、より堅牢なコンピューティングシステムに関して限られた容量しか提供しない場合がある。コンピュータシステム200の構成要素のうちのいくつかまたはすべてはまた、クライアント130を実行するコンピューティングデバイス、レジストリ150をホストするコンピューティングデバイス、およびノード140のいずれかを実行するコンピューティングデバイスを表し得る。プログラムコードは、1つまたは複数のプロセッサ202によって実行可能な命令224から構成され得る。IoTデバイス110および他の軽量デバイスは、単純なプロセッサまたはコントローラを有し得るが、クライアントデバイス130は、スマートフォンまたはパーソナルコンピュータ(PC)にしばしば見られる従来のコンピュータプロセッサを有し得る点に留意されたい。代替的実施形態では、マシンは、スタンドアロンデバイスとして動作するか、または他のマシンに接続(たとえば、ネットワーク化)され得る。ネットワーク展開において、マシンは、サーバ−クライアントネットワーク環境においてサーバマシンまたはクライアントマシンの容量で動作してもよく、あるいはピアツーピア(または、分散)ネットワーク環境においてピアマシンとして動作してもよい。
クライアント130またはレジストリ150を実行するシステムなどの複雑なコンピューティングシステムの場合、マシンは、たとえば、サーバコンピュータ、クライアントコンピュータ、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、携帯情報端末(PDA)、セルラー電話、スマートフォン、ウェブアプライアンス、ネットワークルータ、スイッチ、またはブリッジであり得る。IoTデバイス(または、他の軽量デバイス)は、ドアベル、サーモスタット、冷蔵庫、自転車ロックなどであり得る。いずれのマシンも、そのマシンによって実行されるべきアクションを指定する命令224(順次またはその他)を実行することが可能であり得る。さらに、単一のマシンのみが示されているが、「マシン(machine)」という用語はまた、本明細書で論じられる方法論のうちの任意の1つまたは複数を実行するために命令224を個別にまたは共同で実行するマシンの任意の集合を含むと解釈されるべきである。
例示的なコンピュータシステム200は、バス208を介して互いに通信するように構成された、プロセッサ202(たとえば、中央処理装置(CPU)、グラフィックス処理装置(GPU)、デジタル信号プロセッサ(DSP)、1つまたは複数の特定用途向け集積回路(ASIC)、1つまたは複数の無線周波数集積回路(RFIC)、および/またはこれらの任意の組合せ)、メインメモリ204、およびスタティックメモリ206を含む。コンピュータシステム200は、視覚的表示インターフェース210をさらに含み得る。IoTデバイス110などの軽量デバイスは、専用機能を実行する能力が限られている可能性があるため、上述のように、これらの構成要素のいくつかを除外し得る。IoTデバイス110のクライアント130は、最小限の検証クライアントであり得る。
本明細書で使用される最小限の検証クライアントという用語は、ピアツーピアネットワーク(たとえば、ブロックチェーンネットワーク)の一部ではないが、それにもかかわらず、分散型の方法で(たとえば、RPCインターフェースを使用して)、ブロックチェーンまたはDLTの情報を獲得するように構成されているブロックチェーンまたはDLTクライアントを指す場合がある。最小限の検証クライアントは、ブロックチェーンの状態に関する情報を記憶しない。最小限の検証クライアントは、ブロックチェーンまたはDLTからのデータを(1)検証する、および(2)妥当性検査するように構成されている。
検証を実行するために、最小限の検証クライアントは、(たとえば、この情報のマークル証明を使用して)返された情報が配信されたブロックに属していることを評価および確認するためにクライアントが使用できる付随する証明などの妥当性検査指標を使用する。妥当性検査を実行するために、最小限の検証クライアントは、他のノード(バリデータ)(たとえば、ノード140)からこの情報を要求することによって、配信されたブロックがブロックチェーンまたはDLTに属することをそれ自体で妥当性検査するように構成される。これらの特性により、最小限の検証クライアントはブロックチェーンに依存せず、複数のブロックチェーン、DLT、およびそのような証明と妥当性検査情報を提供することができる他の任意のデータサービスと相互作用し得る。
視覚的インターフェースは、画面(または、ディスプレイ)上にユーザインターフェースを表示することを可能にするソフトウェアドライバを含み得る。視覚的インターフェースは、ユーザインターフェースを直接(たとえば、画面上に)または間接的に(たとえば、視覚的投影ユニットを介して)表面、窓などに表示し得る。議論を容易にするために、視覚的インターフェースは画面として説明され得る。視覚的インターフェース210は、タッチ対応画面を含み得るか、またはそれとインターフェースし得る。コンピュータシステム200はまた、やはりバス208を介して通信するように構成された、英数字入力デバイス212(たとえば、キーボードまたはタッチスクリーンキーボード)、カーソル制御デバイス214(たとえば、マウス、トラックボール、ジョイスティック、モーションセンサ、または他のポインティング機器)、ストレージユニット216、信号生成デバイス218(たとえば、スピーカ)、およびネットワークインターフェースデバイス220を含み得る。
ストレージユニット216は、本明細書に記載の方法論または機能のうちの任意の1つまたは複数を具体化する命令224(たとえば、ソフトウェア)が記憶されているマシン可読媒体222を含む。命令224(たとえば、ソフトウェア)はまた、コンピュータシステム200によるそれの実行中に、完全にまたは少なくとも部分的に、メインメモリ204内またはプロセッサ202内(たとえば、プロセッサのキャッシュメモリ内)に存在し得、メインメモリ204およびプロセッサ202はまた、マシン可読媒体を構成する。IoTデバイス110などの軽量デバイスの場合、ストレージは専用機能を実行するために必要なものに制限される場合がある。命令224(たとえば、ソフトウェア)は、ネットワークインターフェースデバイス220を介して、ネットワーク226(たとえば、インターネット、ローカルエリアネットワーク、短距離ネットワーク、または任意の他の通信ネットワークなどのブロードバンドネットワーク)を介して送信または受信され得る。
例示的な実施形態では、マシン可読媒体222は単一媒体であると示されているが、「マシン可読媒体(machine−readable medium)」という用語は、命令(たとえば、命令224)を記憶することができる単一の媒体または複数の媒体(たとえば、集中型もしくは分散型データベース、または関連付けられるキャッシュおよびサーバ)を含むと解釈されるべきである。「マシン可読媒体」という用語はまた、マシンによって実行するための命令(たとえば、命令224)を記憶することができ、マシンに本明細書に開示される方法論のうちの任意の1つまたは複数を実行させる任意の媒体を含むと解釈されるべきである。「マシン可読媒体」という用語は、固体メモリ、光学媒体、および磁気媒体の形態のデータリポジトリを含むが、これらに限定されない。
例示的なブロックチェーン相互作用処理
図3は、本開示のいくつかの例示的実施形態による、最小限の検証クライアントによるブロックチェーントランザクションを妥当性検査するためのデータフロー図である。図示された通信は、示されたマシン(たとえば、IoTデバイス110および1つまたは複数のノード140)との間のネットワーク(たとえば、ネットワーク120)を通じて発生し得る。図3に示されるように、クライアント(たとえば、クライアント130)は、ノードリストにアクセスし(たとえば、ノードリスト要求にアクセスすること(301)を介して、(たとえば、IoTデバイス110の)メモリにノードリストを返させる(302)。要求301は、ブロックチェーン相互作用を処理する要求を受信したIoTデバイス110に基づいてトリガされ得る。たとえば、IoTデバイス110は、公衆によって(たとえば、小額の料金の支払いと引き換えに)アクセスされ得る(または、そのデータセットがアクセスされ得る)大気質を記述する環境センサであり得る。誰かがデータを要求していることを検出することに応答して、IoTデバイス110のクライアント130は、ブロックチェーン相互作用を処理するためのノードリストを検索するようにトリガされ得る。
別の例として、IoTデバイス110は、自転車の共有を可能にするスマート自転車ロックであり得る。自転車ロックの制御ユニットの計算能力は、ロックの制御に制限される場合があり、したがって、エネルギーを節約するために必要な場合にのみ実行される。そのようなロックは、自転車ロックのロックを解除するためのブロックチェーン相互作用を処理する能力を持たず、したがって、たとえば、ロック上で実行される最小限の検証クライアントを使用してトランザクション要求301を送信し、これにより、インターネット接続で限られた帯域幅しか使用できない場合でも、クライアント130を介して必要な時間にブロックチェーンへの安全な接続が確立されることができる。
クライアント130は、トランザクション要求を処理するためにノードのリストからノード140のノードを選択し続ける。選択は、本質的にランダムまたは疑似ランダムである。ノードのリストからノード(たとえば、ノード140B)を選択した後、クライアント130は、クライアント130が最後に選択したノード、またはいくつかのノードをチェックし得る。選択されたノードが最後に選択されたノード、または最近選択されたノード(たとえば、選択された最後の10個のノードのうちの1つ)と一致する場合、クライアント130は選択されたノードの使用を控え、代わりに別のノードを選択する。ある実施形態では、クライアント130は、トランザクション要求を処理するために、ノードのリストからノード140の複数のノードを選択する。たとえば、ノードからの無効な応答の取得をヘッジするために、クライアント130は複数のノードを選択し得、応答が一致するかどうかを決定するためにそれらのノードからの複数の応答を評価し得る。したがって、ノード140Bの選択のみが図3に示されているが、並列処理を実行する複数のノード(ノードAおよびCのいずれかを含む)は、本開示の範囲内である。
ノード140のノードを選択すると、クライアント130は、要求(たとえば、リモートプロシージャコール(RPC)要求、JSON−RPC要求、または任意の他の構造要求)をそのノードに送信する。たとえば、図3に示されるように、クライアント130はノード140Bを選択し、RPC要求303をノード140Bに送信する。ある実施形態では、RPC要求303を受信すると、ノード140Bは、ブロックチェーントランザクションを処理し(たとえば、トランザクションを反映するようにブロックチェーンを更新することによって)、RPC応答309をクライアント130に送信する。ブロックチェーントランザクション要求は、トランザクションを検証するためのRPC要求として本明細書で一般的に説明されているが、本明細書で説明するブロックチェーントランザクション要求は、スマートコントラクトにおける関数呼出しの検証結果を返す要求、あるいはアカウントの残高またはブロックチェーンに記憶されている任意の他のタイプのデータの単純な要求など、他の目的のためでもあり得る。クライアント130は、RPC応答309を受信し、RPC応答309を検証する。クライアント130は、RPC応答309の内容に基づいて、RPC応答309をそれ自体で検証することができる。ある実施形態では、RPC応答309は証明を含む。クライアント130は、結果(「結果の証明」)を取得するために証明を解決し、その結果をRPC応答309において示される結果と比較する。クライアント130は、証明の結果がRPC応答309において示される結果と一致するという決定に応答して、RPC応答309が有効な結果を含むと決定し、したがって、検証時にトランザクションを妥当性検査する。ある実施形態では、RPC応答309は、ブロックヘッダを含む。クライアント130は、ブロックチェーン台帳を参照し、トランザクションを妥当性検査するために、ブロックヘッダを使用する。
RPC応答309はまた、ノード140の1つまたは複数の他のノードからの、証明の結果を比較するために使用されることができる署名されたブロックハッシュまたは任意の他の検証されたデータなどの署名を含み得る。たとえば、RPC要求303は、有効な応答を受信する可能性を改善するために、ノード140Bがノード140の他の1つまたは複数のノードでその結果を妥当性検査することを要求し得る。したがって、RPC応答309をクライアント130に送信する前に、ノード140Bは、ノード140Aからの署名を要求し得(304)、および/またはノード140Cからの署名の要求を送信し得る(305)。ノード140Cは、RPC応答309に含めるために、戻り署名(306)をノード140Bに送信し得る。同様に、ノード140Aは、RPC応答309に含めるために、戻り署名(307)をノード140Bに送信し得る。ノード140Aおよび140Cからの戻り署名は、署名されたブロックハッシュ、またはクライアント130が妥当性検査指標を確認するために必要な任意の他のデータ(たとえば、証明データ)を含み得る。ある実施形態では、戻り署名を受信すると、ノード140Bは、署名されたブロックハッシュが有効であるかどうかを妥当性検査する。署名されたブロックハッシュ(たとえば、306または307において受信されたもの)が無効である場合、ノード140Bは不正をレジストリ150に報告し得(308)、レジストリ150は問題のあるノードをレジストリ150から削除するなどの是正措置を講じ得る(上と下で説明されているように)。
クライアント130は、RPC応答を検証し得(310)、検証が成功した場合、クライアント130は、RPC応答内で受信されたノード140Bからの結果を妥当性検査し得る(たとえば、上記の証明の解決に基づいて、ブロックヘッダを利用して、あるいは1つまたは複数の追加ノードからの署名されたブロックハッシュから派生した1つまたは複数のブロックヘッダに基づいて)。ノード140Bからの結果の妥当性検査に応答して、クライアントデバイス130は、トランザクションの正常な処理を確認し得、結果として生じるアクション(たとえば、スマート自転車ロックのロック解除、または要求しているユーザへのセンサ情報の送信)を行うようにIoTデバイス110に信号を送ることができる。RPC応答が無効であるという決定に応答して、クライアント130は不正をレジストリ150に報告し得(311)(たとえば、ノード140Bに報告するためにノード140Aに要求を送信することによって)、レジストリ150は是正措置(たとえば、レジストリからのノードBの削除)をとり得る。
ウォッチドッグの実装形態
開示された実施形態は、ノード140のノードが不正にまたは悪意を持って作動するのを防ぐウォッチドッグ実装形態を有益に可能にする。ウォッチドッグ実装形態は、不正または悪意のある活動などの不正行為がレジストリ150に報告されたときに、ノード140のノードをレジストリ150から削除する。ある実施形態では、不正行為は、ノード自体(仮想ウォッチドッグ)によって、または他のノードの行為をチェックするために実行されている特別なノード(ウォッチドッグノード)によって検出および報告される。たとえば、RPC応答309の受信に応答して、クライアント130は、(たとえば、証明またはブロックヘッダに基づいて)ノード140Bから受信された結果が不正確であると決定し得る。ウォッチドッグとして作動するノードは、不正行為を報告するために、代わりに、通信をレジストリ150に送信し得る(310−2)。レジストリ150は、将来のトランザクションを処理するためにクライアント130(または、任意の他のクライアント)によって使用されるノード140のリストからノード140Bを応答的に削除し得る。
あるいは、クライアント130は、(ノードを介して)レジストリに不正を報告する(311)ことを控えながら、ノード140Bをブラックリストに載せることができる。たとえば、クライアント130は、「使用しない」フラグに関連してノード140Bのアイデンティティをデータ構造に記憶し得、RPC要求303を処理するためにノードが選択されると、クライアント130は、「使用しない」フラグが存在するかどうかを決定するために、それらのノードをブラックリストに対してダブルチェックし、これは別のノードの選択を促す。さらに別の代替案として、クライアント130は、ノード140Bから受信した結果が不正確であると決定すると、不正確な結果を文書化し得る(たとえば、ノード140Bからの不正確な結果に対応するカウンタをインクリメントすることによって、あるいは、ノード140Bからの不正確な結果の頻度および/または最新性を反映する何らかの他の関数を操作することによって)。クライアントは、ノード140Bからの不正確な結果のしきい値量またはしきい値頻度が検出された場合、不正をブラックリストに載せるか、または報告し得る。このそれほど厳しくない実装形態が使用され得る理由は、ノードが意図せずに一貫性のない応答を提供する可能性があるためである(たとえば、ノードが現在のブロックとまだ同期していない、またはマイクロフォーク上で実行されているシナリオにおいて)。
さらに、クライアント130と同様に、ノード140自体は、ブラックリスト(または、同様のもの)を維持し得る。たとえば、ノード140Bは、「使用しない」フラグに関連してノード140Aのアイデンティティをデータ構造に記憶し得、結果に署名するためにノードが選択されると、ノード140Bは、「使用しない」フラグが存在するかどうかを決定するためにそれらのノードをブラックリストに対してダブルチェックし、これは別のノードの選択を促す。さらに別の代替案として、ノード140B(または、任意の他のノード)は、たとえば、ノード140Cから受信した署名が不正確であると決定すると、不正確な結果を文書化し得る(たとえば、ノード140Cからの不正確な結果に対応するカウンタをインクリメントすることによって、あるいは、ノード140Cからの不正確な結果の頻度および/または最新性を反映する何らかの他の関数を操作することによって)。ノードは、ノード140Cからの不正確な結果のしきい値量またはしきい値頻度が検出された場合、不正をブラックリストに載せるか、または報告し得る。このそれほど厳しくない実装形態が使用され得る理由は、ノードが意図せずに一貫性のない応答を提供する可能性があるためである(たとえば、ノードが現在のブロックとまだ同期していない、またはマイクロフォーク上で実行されているシナリオにおいて)。
ある実施形態では、ノード140のノードの不正行為は、別のノードによって報告される。たとえば、上述のように、ノード140Bは、要求をノード140Aに送信し得(304)、ノード140Aは、応答的に署名をノード140Bに返し得る(307)。署名が無効であるという決定に応答して、ノード140Bは、通信をレジストリ150に送信し得る(308)。レジストリ150は、クライアントによる要求を妥当性検査するために選択されることができるノード140のリストからノード140Aへの参照を応答的に削除してもよく、あるいは上述したものと同様の他の是正措置をとってもよい(たとえば、ノード140Aに対応するカウンタをインクリメントし、カウンタがしきい値を超える場合はノード140Aを削除する)。それがクライアント130であろうと、不正行為を報告するノード140のノードであろうと、レジストリ150は、ノードのリストからノードを削除することに応答して、ノードの更新されたリストをクライアント130(および、任意の他のクライアント)に伝播し得る。
クライアントとノードによるインセンティブ付け行為
ある実施形態では、ノードは、レジストリ150にリストされる資格を得る前に、ステークを預けることを要求され得る。ノードは、要求が適切に妥当性検査されたときに、要求が妥当性検査されたクライアントから報酬を受け取ることができる。しかしながら、ノードは、将来の要求を妥当性検査する資格がなくなるだけでなく(たとえば、上述のようにレジストリ150から削除することによって)、預け入れられたステークを没収することによって、不正に要求を妥当性検査するふりをするとペナルティを科される場合がある。
同様に、クライアントは、正しい応答を受信した後、ノード140への報酬の送信を拒否し得る。応答的に、ノードがそのクライアントからの追加の要求を処理することを防ぐために、ノードはクライアントをブラックリストに載せるかダウングレードし得る。ノードは他のノードにも不正行為を通知する可能性があるため、クライアントが将来のトランザクションを処理するのは現実的ではない。
ノード140による良好な行為を促進するための追加または代替的インセンティブとして、クライアントは、様々なパラメータに基づいてノードに重みを付けることができ、良好な行為に対応するスコアに基づいてトランザクションを処理するために、レジストリ150にリストされたノードのランダムな選択にバイアスをかけるために、これらの重み付けを使用し得る。たとえば、重み付けは、所与のノードによる預金額に基づき得る(たとえば、ノードがより多くを失う場合、ノードが不正行為をする可能性が低いため)。重み付けは、追加的または代替的に、過去のパフォーマンスに基づく場合があり、ノードによってクライアントに配信される正しい結果ごとにスコアが増加し(たとえば、小さい単位で)、またノードによってクライアントに配信される不正確な結果ごとにスコアが減少する(たとえば、小さい単位よりも大きな大きい単位で)。
クライアント(たとえば、クライアント130および他のクライアント)は、グループ化され、ノード140の1つまたは複数のノードに割り当てられ得る。そのようなグループ化を形成するために、各クライアントは、関連付けられるノードからの承認を提供し得る。これにより、クライアント(たとえば、クライアント130)から要求を受信するノードは、ノード140の他のノードを選択する際に(たとえば、署名されたブロックハッシュを提供するために)、そのクライアントによって決定およびカタログ化された重みを基準として使用することが可能になる。これは、ノード140がそのクライアントの応答の品質を保証するために正確かつ高速な応答を配信するための強力なインセンティブ付けを形成する。
実例となるブロックチェーン相互作用処理
図4は、本開示のいくつかの実施形態による、IoTデバイスからのブロックチェーントランザクションを検証するためのフローチャートである。プロセス400は、クライアント(たとえば、クライアント130)がトランザクション要求(たとえば、トランザクション要求301)を受信すること(402)から始まり、クライアントは、IoTデバイス(たとえば、IoTデバイス110)によって実行される。プロセス400は、クライアントが妥当性検査ノードのレジスタ(たとえば、クライアント130へのローカルレジスタに記憶され、要素301および302を通じてアクセスされるノード140のリスト)にアクセスすること(404)に続く。クライアントは、レジスタからノード(たとえば、ノード140B)を選択し続ける(406)(たとえば、ノード140Bを生成するランダムまたは加重ランダムプロセスに基づいて)。
クライアントは、ブロックチェーンネットワーク上でトランザクション要求を処理するために、妥当性検査要求(たとえば、ノード140Bに送信されるRPC要求303)を送信する(408)。クライアントは、(たとえば、ノード140Bから)要求への応答(たとえば、RPC応答309)であって、妥当性検査指標を含む応答(たとえば、証明、ブロックヘッダ、ノード140Aまたはノード140Cからの署名されたブロックハッシュなど)を受信する(410)。クライアントは、妥当性検査指標に基づいて(たとえば、証明を解くことによって)、応答が有効であるかどうかを検証する(412)。クライアントは、応答が有効であるという決定に応答して、トランザクション要求に対応するトランザクションを妥当性検査する(たとえば、スマート自転車ロックのロックを解除するか、要求されたセンサデータを送信する)ようにIoTデバイスに指示する(414)。
追加の構成に関する考慮事項
本明細書全体を通して、複数のインスタンスは、単一のインスタンスとして記述された構成要素、動作、または構造を実装し得る。1つまたは複数の方法の個々の動作は、別個の動作として図示および説明されているが、個々の動作のうちの1つまたは複数は同時に実行されてよく、動作を図示された順序で実行する必要はない。例示的な構成において別個の構成要素として提示されている構造および機能は、組み合わせた構造または構成要素として実装され得る。同様に、単一の構成要素として提示されている構造および機能は、別個の構成要素として実装され得る。これらおよび他の変形、修正、追加、および改善は、本明細書の主題の範囲内にある。
特定の実施形態は、ロジックまたはいくつかの構成要素、モジュール、またはメカニズムを含むものとして本明細書に記載されている。モジュールは、ソフトウェアモジュール(たとえば、マシン可読媒体上で、または送信信号において具体化されたコード)またはハードウェアモジュールのいずれかを構成し得る。ハードウェアモジュールは、特定の動作を実行することができる有形のユニットであり、特定の方法で構成または配置され得る。例示的な実施形態では、1つまたは複数のコンピュータシステム(たとえば、スタンドアロン、クライアント、またはサーバコンピュータシステム)、あるいはコンピュータシステムの1つまたは複数のハードウェアモジュール(たとえば、プロセッサまたはプロセッサのグループ)は、本明細書に記載される特定の動作を実行するように動作するハードウェアモジュールとして、ソフトウェア(たとえば、アプリケーションまたはアプリケーション部分)によって構成され得る。
様々な実施形態において、ハードウェアモジュールは、機械的または電子的に実装され得る。たとえば、ハードウェアモジュール(たとえば、コンピュータシステム200によって表される軽量デバイスまたは非軽量デバイスの)は、特定の動作を実行するために恒久的に構成された(たとえば、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向け集積回路(ASIC)などの専用プロセッサとして)専用の回路またはロジックを備え得る。ハードウェアモジュールはまた、特定の動作を実行するためにソフトウェアによって一時的に構成されるプログラム可能なロジックまたは回路(たとえば、汎用プロセッサまたは他のプログラム可能なプロセッサ内に包含される)を備え得る。ハードウェアモジュールを機械的に、専用の恒久的に構成された回路に、または一時的に構成された回路(たとえば、ソフトウェアによって構成された)に実装する決定は、コストおよび時間の考慮によって行われ得ることが理解されよう。
したがって、「ハードウェアモジュール(hardware module)」という用語は、特定の方法で動作するように、または本明細書で説明する特定の動作を実行するために物理的に構築された、恒久的に構成された(たとえば、ハードワイヤード)、または一時的に構成された(たとえば、プログラムされた)エンティティである有形のエンティティを包含すると理解されるべきである。本明細書で使用される場合、「ハードウェア実装モジュール(hardware−implemented module)」は、ハードウェアモジュールを指す。ハードウェアモジュールが一時的に構成される(たとえば、プログラムされる)実施形態を考慮すると、ハードウェアモジュールの各々は、任意の一時点において構成またはインスタンス化される必要はない。たとえば、ハードウェアモジュールがソフトウェアを使用して構成された汎用プロセッサを備える場合、汎用プロセッサは、異なる時間にそれぞれの異なるハードウェアモジュールとして構成され得る。したがって、ソフトウェアは、たとえば、ある時点で特定のハードウェアモジュールを構成し、異なる時点で異なるハードウェアモジュールを構成するようにプロセッサを構成し得る。
ハードウェアモジュールは、他のハードウェアモジュールに情報を提供したり、他のハードウェアモジュールから情報を受信したりすることができる。したがって、説明されたハードウェアモジュールは、通信可能に結合されていると見なされ得る。そのようなハードウェアモジュールの複数が同時に存在する場合、通信は、ハードウェアモジュールを接続する信号送信(たとえば、適切な回路およびバスを介して)を通じて達成され得る。複数のハードウェアモジュールが異なる時間に構成またはインスタンス化される実施形態では、そのようなハードウェアモジュール間の通信は、たとえば、複数のハードウェアモジュールがアクセスできるメモリ構造内の情報の記憶および検索を通じて達成され得る。たとえば、1つのハードウェアモジュールが動作を実行し、その動作の出力を、通信可能に結合されているメモリデバイスに記憶し得る。その後、さらなるハードウェアモジュールが、記憶された出力を検索および処理するためにメモリデバイスにアクセスし得る。ハードウェアモジュールは、入力デバイスまたは出力デバイスとの通信を開始し得、リソース上で動作(たとえば、情報の収集)することができる。
本明細書に記載の例示的な方法の様々な動作は、少なくとも部分的に、関連する動作を実行するように一時的に構成された(たとえば、ソフトウェアによって)または恒久的に構成された1つまたは複数のプロセッサによって実行され得る。一時的であろうと恒久的に構成されていようと、そのようなプロセッサは、1つまたは複数の動作または機能を実行するように動作するプロセッサ実装モジュールを構成し得る。本明細書で言及されるモジュールは、いくつかの例示的な実施形態では、プロセッサ実装モジュールを備え得る。
同様に、本明細書に記載の方法は、少なくとも部分的にプロセッサで実装され得る。たとえば、方法の動作のうちの少なくともいくつかは、1つまたは複数のプロセッサあるいはプロセッサ実装ハードウェアモジュールによって実行され得る。動作のうちのいくつかの動作のパフォーマンスは、1台のマシン内に存在するだけでなく、複数のマシンに展開される1つまたは複数のプロセッサの間で分散され得る。いくつかの例示的な実施形態では、1つまたは複数のプロセッサは、単一の場所に配置され得(たとえば、家庭環境内、オフィス環境内、またはサーバファームとして)、他の実施形態では、プロセッサは、いくつかの場所に分散され得る。
1つまたは複数のプロセッサは、「クラウドコンピューティング」環境において、または「サービスとしてのソフトウェア」(SaaS)として関連する動作のパフォーマンスをサポートするように動作する場合もある。たとえば、動作のうちの少なくともいくつかは、(プロセッサを含むマシンの例として)コンピュータのグループによって実行され得、これらの動作は、ネットワーク(たとえば、インターネット)および1つまたは複数の適切なインターフェース(たとえば、アプリケーションプログラムインターフェース(API))を介してアクセス可能である。
特定の動作のパフォーマンスは、1台のマシン内に存在するだけでなく、複数のマシンに展開される1つまたは複数のプロセッサの間で分散され得る。いくつかの例示的な実施形態では、1つまたは複数のプロセッサ、あるいはプロセッサ実装モジュールは、単一の地理的位置(たとえば、家庭環境、オフィス環境、またはサーバファーム内)に配置され得る。他の例示的な実施形態では、1つまたは複数のプロセッサ、あるいはプロセッサ実装モジュールは、いくつかの地理的位置に分散され得る。
本明細書の一部は、マシンメモリ(たとえば、コンピュータメモリ)内にビットまたはバイナリデジタル信号として記憶されたデータに対するアルゴリズムまたは動作の記号表現の観点から提示されている。これらのアルゴリズムまたは記号表現は、データ処理技術の当業者によって、彼らの仕事の実体を他の当業者に伝えるために使用される技法の例である。本明細書で使用される場合、「アルゴリズム」は、所望の結果につながる自己無撞着な一連の動作または同様の処理である。この文脈では、アルゴリズムと動作は物理量の物理的操作を含む。通常、必ずしもそうとは限らないが、そのような量は、マシンによって記憶、アクセス、転送、結合、比較、または他の方法で操作することができる電気、磁気、または光信号の形をとり得る。主に一般的な使用法の理由から、「データ(data)」、「コンテンツ(content)」、「ビット(bits)」、「値(values)」、「要素(elements)」、「記号(symbols)」、「文字(characters)」、「用語(terms)」、「数字(numbers)」、「数値(numerals)」などの単語を使用してそのような信号を参照すると便利な場合がある。しかしながら、これらの単語は単に便利なラベルであり、適切な物理量に関連付けられる必要がある。
特に明記しない限り、「処理(processing)」、「コンピューティング(computing)」、「計算(calculating)」、「決定(determining)」、「提示(presenting)」、「表示(displaying)」などの単語を使用する本明細書の説明は、1つもしくは複数のメモリ(たとえば、揮発性メモリ、不揮発性メモリ、もしくはそれらの組合せ)、レジスタ、または情報を受信、記憶、送信もしくは表示する他のマシン構成要素内の物理的(たとえば、電子的、磁気的、または光学的)量として表されるデータを操作または転送するマシン(たとえば、コンピュータ)のアクションまたはプロセスを指す場合がある。
本明細書で使用される場合、「一実施形態(one embodiment)」または「ある実施形態(an embodiment)」への言及は、実施形態に関連して説明される特定の要素、特徴、構造、または特性が少なくとも1つの実施形態に含まれることを意味する。本明細書の様々な場所における「一実施形態では(in one embodiment)」という句の出現は、必ずしもすべてが同じ実施形態を指すとは限らない。
いくつかの実施形態は、それらの派生物とともに「結合された(coupled)」および「接続された(connected)」という表現を使用して説明され得る。これらの用語は、相互の同義語として意図されたものではないことが理解されるべきである。たとえば、いくつかの実施形態は、2つ以上の要素が互いに直接物理的または電気的に接触していることを示すために「接続された」という用語を使用して説明され得る。別の例では、いくつかの実施形態は、2つ以上の要素が直接物理的または電気的に接触していることを示すために「結合された」という用語を使用して説明され得る。しかしながら、「結合された」という用語は、2つ以上の要素が互いに直接接触していないが、依然として互いに協力または相互作用していることを意味する場合もある。実施形態は、この文脈に限定されない。
本明細書で使用される場合、「備える(comprises)」、「備えている(comprising)」、「含む(includes)」、「含んでいる(including)」、「有する(has)」、「有している(having)」という用語、またはそれらの任意の他の変形は、非排他的な包含をカバーすることを意図している。たとえば、要素のリストを備えるプロセス、方法、物品、または装置は、必ずしもそれらの要素のみに限定されるわけではなく、そのようなプロセス、方法、物品、または装置に明示的にリストされていない、または固有ではない他の要素を含み得る。さらに、明示的に反対の記載がない限り、「または(or)」は包括的論理和を指し、排他的論理和を指さない。たとえば、条件AまたはBは、Aが真(または、存在する)およびBが偽(または、存在しない)、Aが偽(または、存在しない)およびBが真(または、存在する)、ならびにAとBの両方が真(または、存在する)のいずれかによって満たされる。
さらに、「a」または「an」の使用は、本明細書の実施形態の要素および構成要素を説明するために採用される。これは、単に便宜上、そして本発明の一般的な意味を与えるために行われる。この説明は、1つまたは少なくとも1つを含むように読まれるべきであり、別の意味であることが明らかでない限り、単数形には複数形も含まれる。
本開示を読むと、当業者は、本明細書に開示された原理を通じて、IoTデバイスのブロックチェーン相互作用を処理するためのシステムおよびプロセスのためのさらに追加の代替の構造的および機能的設計を理解するであろう。したがって、特定の実施形態および用途が例示および説明されてきたが、開示された実施形態は、本明細書に開示された正確な構造および構成要素に限定されないことが理解されるべきである。当業者に明らかである様々な修正、変更、および変形は、添付の特許請求の範囲において定義される趣旨および範囲から逸脱することなしに、本明細書に開示される方法および装置の配置、動作、および詳細において行われ得る。

Claims (17)

  1. ブロックチェーンネットワークと同期されていないクライアントにおいて、トランザクション要求を受信するステップであって、前記クライアントが、モノのインターネット(IoT)デバイスによって実行される、ステップと、
    前記クライアントによって、ノードのレジスタにアクセスするステップであって、前記ノードは、それぞれ前記ブロックチェーンネットワークと同期されている、ステップと、
    前記クライアントによって、前記レジスタからノードを選択するステップと、
    前記クライアントから前記ノードに、前記ブロックチェーンネットワーク上で前記トランザクション要求を処理するようにとのブロックチェーン要求を送信するステップと、
    前記クライアントによって、前記ブロックチェーン要求への応答を受信するステップであって、前記応答は妥当性検査指標を含む、ステップと、
    前記クライアントによって、前記妥当性検査指標に基づいて、前記応答が有効であるかどうかを検証するステップと、
    前記クライアントによって、前記応答が有効であるという決定に応答して、前記トランザクション要求に対応するトランザクションを妥当性検査するように前記IoTデバイスに指示するステップと
    を備える方法。
  2. 前記クライアントによって、前記レジスタから前記ノードを選択するステップは、
    前記クライアントによって、前記レジスタから候補ノードをランダムに識別するステップと、
    前記クライアントによって、前記候補ノードが前記クライアントによって送信された最後のブロックチェーン要求を処理したかどうかを決定するステップと、
    前記候補ノードが前記クライアントによって送信された前記最後のブロックチェーン要求を処理したという決定に応答して、
    前記クライアントによって、前記レジスタから異なる候補ノードをランダムに識別するステップと、
    前記クライアントによって、前記ノードとして前記異なる候補ノードを選択するステップと、
    前記候補ノードが前記クライアントによって送信された前記最後のブロックチェーン要求を処理しなかったという決定に応答して、前記候補ノードを前記ノードとして選択するステップと、
    を備える請求項1に記載の方法。
  3. 前記妥当性検査指標は追加ノードからの署名されたブロックハッシュを備え、前記クライアントによって、前記妥当性検査指標に基づいて、前記応答が有効であるかどうかを検証するステップは、前記クライアントによって、前記ノードによる前記処理を補強する前記追加ノードからの前記署名されたブロックハッシュに基づいて前記応答が有効であることを決定するステップを備える請求項1に記載の方法。
  4. 前記妥当性検査指標は証明を備え、前記クライアントによって、前記妥当性検査指標に基づいて、前記応答が有効であるかどうかを検証するステップは、
    前記証明を通じてデータを供給することによって証明結果を決定するステップと、
    前記証明結果が前記応答に示された結果と一致するかどうかを決定するステップと、
    前記証明結果が前記応答に示された前記結果と一致するという決定に応答して、前記応答が有効であると決定するステップと
    を備える請求項1に記載の方法。
  5. 前記クライアントによって、前記応答が有効であるという検証にさらに応答して、前記クライアントのノードのローカルレジスタへのスコア増加更新を処理するステップをさらに備える請求項1に記載の方法。
  6. 前記クライアントによって、前記レジスタから前記ノードを選択する前記ステップは、
    前記ローカルレジスタの各候補ノードに、それらのスコアに基づいて重み付けするステップと、
    各候補ノードの前記重みに基づいてバイアスがかけられたランダム選択によって前記ノードを選択するステップと
    を備える請求項5に記載の方法。
  7. コンピュータプログラム命令を実行するためのプロセッサと、
    ブロックチェーンネットワークと同期されていないクライアントを動作させるために前記プロセッサによって実行可能な記憶されたコンピュータプログラム命令を備える非一時的コンピュータ可読ストレージ媒体とを備え、前記命令が、実行されると、前記プロセッサに、
    ブロックチェーンネットワークと同期されていないクライアントにおいて、トランザクション要求を受信することであって、前記クライアントが、モノのインターネット(IoT)デバイスによって実行される、ことと、
    前記クライアントによって、ノードのレジスタにアクセスすることであって、前記ノードは、それぞれ前記ブロックチェーンネットワークと同期されている、ことと、
    前記クライアントによって、前記レジスタからノードを選択することと、
    前記クライアントから前記ノードに、前記ブロックチェーンネットワーク上で前記トランザクション要求を処理するようにとのブロックチェーン要求を送信することと、
    前記クライアントによって、前記ブロックチェーン要求への応答を受信することであって、前記応答は妥当性検査指標を含む、ことと、
    前記クライアントによって、前記妥当性検査指標に基づいて、前記応答が有効であるかどうかを検証することと、
    前記クライアントによって、前記応答が有効であるという決定に応答して、前記トランザクション要求に対応するトランザクションを妥当性検査するように前記IoTデバイスに指示することと
    を行わせる、システム。
  8. 前記クライアントによって、前記レジスタから前記ノードを選択するための前記命令は、
    前記クライアントによって、前記レジスタから候補ノードをランダムに識別することと、
    前記クライアントによって、前記候補ノードが前記クライアントによって送信された最後のブロックチェーン要求を処理したかどうかを決定することと、
    前記候補ノードが前記クライアントによって送信された前記最後のブロックチェーン要求を処理したという決定に応答して、
    前記クライアントによって、前記レジスタから異なる候補ノードをランダムに識別することと、
    前記クライアントによって、前記ノードとして前記異なる候補ノードを選択することと、
    前記候補ノードが前記クライアントによって送信された前記最後のブロックチェーン要求を処理しなかったという決定に応答して、前記候補ノードを前記ノードとして選択することと、
    を行うための命令をさらに備える請求項7に記載のシステム。
  9. 前記妥当性検査指標は追加ノードからの署名されたブロックハッシュを備え、前記クライアントによって、前記妥当性検査指標に基づいて、前記応答が有効であるかどうかを検証することは、前記クライアントによって、前記ノードによる前記処理を補強する前記追加ノードからの前記署名されたブロックハッシュに基づいて前記応答が有効であることを決定することを備える請求項7に記載のシステム。
  10. 前記妥当性検査指標は証明を備え、前記クライアントによって、前記妥当性検査指標に基づいて、前記応答が有効であるかどうかを決定するための前記命令は、
    前記証明を通じてデータを供給することによって証明結果を決定することと、
    前記証明結果が前記応答に示された結果と一致するかどうかを決定することと、
    前記証明結果が前記応答に示された前記結果と一致するという決定に応答して、前記応答が有効であると決定することと
    を行うための命令をさらに備える請求項7に記載のシステム。
  11. 前記動作は、さらに、前記クライアントによって、前記応答が有効であるという検証にさらに応答して、前記クライアントのノードのローカルレジスタへのスコア増加更新を処理することをさらに備える請求項7に記載のシステム。
  12. 前記クライアントによって、前記レジスタから前記ノードを選択するための前記命令は、
    前記ローカルレジスタの各候補ノードに、それらのスコアに基づいて重み付けすることと、
    各候補ノードの前記重みに基づいてバイアスがかけられたランダム選択によって前記ノードを選択することと
    を行うための命令を備える請求項11に記載のシステム。
  13. 記憶された命令を備える非一時的コンピュータ可読媒体であって、前記命令はプロセッサによって実行されると、前記プロセッサに、ブロックチェーンネットワークと同期されていないクライアントを、
    ブロックチェーンネットワークと同期されていないクライアントにおいて、トランザクション要求を受信することであって、前記クライアントが、モノのインターネット(IoT)デバイスによって実行される、ことと、
    前記クライアントによって、ノードのレジスタにアクセスすることであって、前記ノードは、それぞれ前記ブロックチェーンネットワークと同期されている、ことと、
    前記クライアントによって、前記レジスタからノードを選択することと、
    前記クライアントから前記ノードに、前記ブロックチェーンネットワーク上で前記トランザクション要求を処理するようにとのブロックチェーン要求を送信することと、
    前記クライアントによって、前記ブロックチェーン要求への応答を受信することであって、前記応答は妥当性検査指標を含む、ことと、
    前記クライアントによって、前記妥当性検査指標に基づいて、前記応答が有効であるかどうかを検証することと、
    前記クライアントによって、前記応答が有効であるという決定に応答して、前記トランザクション要求に対応するトランザクションを妥当性検査するように前記IoTデバイスに指示することと
    を行うように動作させる非一時的コンピュータ可読媒体。
  14. 前記クライアントによって、前記レジスタから前記ノードを選択するための前記命令は、
    前記クライアントによって、前記レジスタから候補ノードをランダムに識別することと、
    前記クライアントによって、前記候補ノードが前記クライアントによって送信された最後のブロックチェーン要求を処理したかどうかを決定することと、
    前記候補ノードが前記クライアントによって送信された前記最後のブロックチェーン要求を処理したという決定に応答して、
    前記クライアントによって、前記レジスタから異なる候補ノードをランダムに識別することと、
    前記クライアントによって、前記ノードとして前記異なる候補ノードを選択することと、
    前記候補ノードが前記クライアントによって送信された前記最後のブロックチェーン要求を処理しなかったという決定に応答して、前記候補ノードを前記ノードとして選択することと、
    を行うための命令を備える請求項13に記載の非一時的コンピュータ可読媒体。
  15. 前記妥当性検査指標は追加ノードからの署名されたブロックハッシュを備え、前記クライアントによって、前記妥当性検査指標に基づいて、前記応答が有効であるかどうかを検証することは、前記クライアントによって、前記ノードによる前記処理を補強する前記追加ノードからの前記署名されたブロックハッシュに基づいて前記応答が有効であることを決定することを備える請求項13に記載の非一時的コンピュータ可読媒体。
  16. 前記妥当性検査指標は証明を備え、前記クライアントによって、前記妥当性検査指標に基づいて、前記応答が有効であるかどうかを決定するための前記命令は、
    前記証明を通じてデータを供給することによって証明結果を決定することと、
    前記証明結果が前記応答に示された結果と一致するかどうかを決定することと、
    前記証明結果が前記応答に示された前記結果と一致するという決定に応答して、前記応答が有効であると決定することと
    を行うための命令をさらに備える請求項13に記載の非一時的コンピュータ可読媒体。
  17. 前記命令は、さらに、前記クライアントによって、前記応答が有効であるという検証にさらに応答して、前記クライアントのノードのローカルレジスタへのスコア増加更新を送信するための命令をさらに備え、前記クライアントによって、前記レジスタから前記ノードを選択するための前記命令は、
    各候補ノードに、それらのスコアに基づいて重み付けすることと、
    各候補ノードの前記重みに基づいてバイアスがかけられたランダム選択によって前記ノードを選択することと
    を行うための命令を備える請求項13に記載の非一時的コンピュータ可読媒体。
JP2020556929A 2018-04-16 2019-04-15 最小限の検証クライアントを使用したトラストレスステートレスインセンティブ型リモートノードネットワーク Active JP6949249B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862658496P 2018-04-16 2018-04-16
US62/658,496 2018-04-16
PCT/IB2019/000499 WO2019202393A1 (en) 2018-04-16 2019-04-15 Trustless statelessincentivized remote node network using minimal verification clients

Publications (2)

Publication Number Publication Date
JP2021513300A JP2021513300A (ja) 2021-05-20
JP6949249B2 true JP6949249B2 (ja) 2021-10-13

Family

ID=67226292

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020556929A Active JP6949249B2 (ja) 2018-04-16 2019-04-15 最小限の検証クライアントを使用したトラストレスステートレスインセンティブ型リモートノードネットワーク

Country Status (7)

Country Link
US (2) US11281658B2 (ja)
EP (1) EP3782387B1 (ja)
JP (1) JP6949249B2 (ja)
KR (2) KR102310803B1 (ja)
CN (1) CN112166619A (ja)
ES (1) ES2914510T3 (ja)
WO (1) WO2019202393A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2914510T3 (es) * 2018-04-16 2022-06-13 Bc Dev Labs Gmbh Red de nodos remotos incentivado sin estado sin confianza utilizando clientes de verificación mínima
EP3564873B1 (en) 2018-04-30 2022-11-30 Hewlett Packard Enterprise Development LP System and method of decentralized machine learning using blockchain
EP3565218B1 (en) 2018-04-30 2023-09-27 Hewlett Packard Enterprise Development LP System and method of decentralized management of multi-owner nodes using blockchain
EP3564883B1 (en) * 2018-04-30 2023-09-06 Hewlett Packard Enterprise Development LP System and method of decentralized management of device assets outside a computer network
JP7036665B2 (ja) * 2018-05-22 2022-03-15 株式会社日立製作所 データ管理方法およびデータ管理システム
CN110046036A (zh) * 2018-12-25 2019-07-23 阿里巴巴集团控股有限公司 一种操作请求分配方法、装置及设备
US11966818B2 (en) 2019-02-21 2024-04-23 Hewlett Packard Enterprise Development Lp System and method for self-healing in decentralized model building for machine learning using blockchain
US11201747B2 (en) * 2019-07-15 2021-12-14 Sap Se Federated data management between partner systems
US11880383B2 (en) 2019-07-15 2024-01-23 Sap Se Federated data management between partner systems
US11847171B2 (en) * 2019-08-20 2023-12-19 International Business Machines Corporation Facilitating blockchain transactions with an Internet of Things (IoT) device
US11323883B2 (en) * 2019-09-30 2022-05-03 Inlecom Systems Limited Pattern driven selective sensor authentication for internet of things
US11695568B1 (en) 2019-10-01 2023-07-04 Equinix, Inc. Virtualized network functions verification using decentralized identifiers
US11777932B1 (en) * 2019-11-22 2023-10-03 Equinix, Inc. Controlling access to internet of things devices using verifiable credentials
CN111262848A (zh) * 2020-01-13 2020-06-09 万春琦 一种基于区块链账户加密的访问控制系统
US11748835B2 (en) 2020-01-27 2023-09-05 Hewlett Packard Enterprise Development Lp Systems and methods for monetizing data in decentralized model building for machine learning using a blockchain
US11218293B2 (en) 2020-01-27 2022-01-04 Hewlett Packard Enterprise Development Lp Secure parameter merging using homomorphic encryption for swarm learning
US11726846B2 (en) * 2020-08-21 2023-08-15 Sap Se Interface for processing sensor data with hyperscale services
CN112491841A (zh) * 2020-11-17 2021-03-12 国网北京市电力公司 数据处理方法、装置和数据处理系统
JPWO2022202865A1 (ja) * 2021-03-24 2022-09-29
US11816475B2 (en) * 2021-07-09 2023-11-14 Micro Focus Llc Installation and authentication of applications using blockchain

Family Cites Families (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3381526D1 (de) * 1983-02-09 1990-06-07 Ibm Verfahren zum erhalten der einigung mehrfacher rechner zum vermeiden von fehlern.
US6671821B1 (en) * 1999-11-22 2003-12-30 Massachusetts Institute Of Technology Byzantine fault tolerance
US20150156266A1 (en) * 2013-11-29 2015-06-04 Qualcomm Incorporated Discovering cloud-based services for iot devices in an iot network associated with a user
US10839020B2 (en) * 2014-04-14 2020-11-17 Netspective Communications Llc Multi-source user generated electronic data integration in a blockchain-based transactional system
US9635021B2 (en) * 2014-12-18 2017-04-25 Intel Corporation Trusted ephemeral identifier to create a group for a service and/or to provide the service
US10853592B2 (en) * 2015-02-13 2020-12-01 Yoti Holding Limited Digital identity system
US10915891B1 (en) * 2015-03-16 2021-02-09 Winklevoss Ip, Llc Autonomous devices
JP2018516026A (ja) * 2015-03-20 2018-06-14 リヴェッツ・コーポレーションRivetz Corp. ブロックチェーンを使用したデバイス整合性の自動認証
SG11201708295XA (en) * 2015-04-06 2017-11-29 Bitmark Inc System and method for decentralized title recordation and authentication
US20160342977A1 (en) * 2015-05-20 2016-11-24 Vennd.io Pty Ltd Device, method and system for virtual asset transactions
US9881176B2 (en) * 2015-06-02 2018-01-30 ALTR Solutions, Inc. Fragmenting data for the purposes of persistent storage across multiple immutable data structures
US20170011460A1 (en) * 2015-07-09 2017-01-12 Ouisa, LLC Systems and methods for trading, clearing and settling securities transactions using blockchain technology
US11488147B2 (en) * 2015-07-14 2022-11-01 Fmr Llc Computationally efficient transfer processing and auditing apparatuses, methods and systems
US20170228731A1 (en) * 2016-02-09 2017-08-10 Fmr Llc Computationally Efficient Transfer Processing and Auditing Apparatuses, Methods and Systems
US20170134162A1 (en) * 2015-11-10 2017-05-11 Shannon Code System and process for verifying digital media content authenticity
US10713654B2 (en) * 2016-01-21 2020-07-14 International Business Machines Corporation Enterprise blockchains and transactional systems
WO2017173099A1 (en) * 2016-03-30 2017-10-05 Ping Identity Corporation Methods and apparatus for assessing authentication risk and implementing single sign on (sso) using a distributed consensus database
US10382208B2 (en) * 2016-04-29 2019-08-13 Olympus Sky Technologies, S.A. Secure communications using organically derived synchronized processes
GB201607476D0 (en) * 2016-04-29 2016-06-15 Eitc Holdings Ltd Operating system for blockchain IOT devices
CN109155034A (zh) * 2016-04-29 2019-01-04 区块链控股有限公司 使用区块链实现逻辑门功能
US10135616B2 (en) * 2016-05-07 2018-11-20 Keir Finlow-Bates Revocation of cryptographic keys in the absence of a trusted central authority
JP6601623B2 (ja) 2016-05-10 2019-11-06 日本電信電話株式会社 コンテンツ流通システム、コンテンツ流通方法、コンテンツ生成装置及びコンテンツ生成プログラム
US10204341B2 (en) * 2016-05-24 2019-02-12 Mastercard International Incorporated Method and system for an efficient consensus mechanism for permissioned blockchains using bloom filters and audit guarantees
CN107659536A (zh) * 2016-07-25 2018-02-02 中兴通讯股份有限公司 一种应用区块链的方法、装置及系统
US10417217B2 (en) * 2016-08-05 2019-09-17 Chicago Mercantile Exchange Inc. Systems and methods for blockchain rule synchronization
CN107770115B (zh) * 2016-08-15 2021-01-05 华为技术有限公司 在对等网络中分发数字内容的方法和系统
CN106789875B (zh) * 2016-11-15 2019-07-02 深圳市新国都支付技术有限公司 一种区块链服务装置、区块链服务系统及其通信方法
WO2018119930A1 (zh) 2016-12-29 2018-07-05 深圳前海达闼云端智能科技有限公司 交易验证处理方法、装置及节点设备
EP3563546B1 (en) * 2016-12-30 2021-11-10 INTEL Corporation Decentralized data storage and processing for iot devices
US10164983B2 (en) * 2017-01-20 2018-12-25 Verizon Patent And Licensing Inc. Distributed authentication for internet-of-things resources
MX2019008243A (es) * 2017-01-27 2019-09-06 Walmart Apollo Llc Gestión de aparatos inteligentes que utiliza tecnología de cadena de bloques .
US11397708B2 (en) * 2017-02-17 2022-07-26 Nokia Technologies Oy Voting-consensus distributed ledger
AU2018230763A1 (en) * 2017-03-08 2019-10-31 Ip Oversight Corporation System and method for creating commodity asset-secured tokens from reserves
CN106899680B (zh) * 2017-03-09 2019-07-30 深圳壹账通智能科技有限公司 多区块链的分片处理方法和装置
ES2887378T3 (es) * 2017-03-09 2021-12-22 Magnus Skraastad Gulbrandsen Proveedor de acceso a una red central
WO2018170504A1 (en) * 2017-03-17 2018-09-20 Labyrinth Research Llc Unified control of privacy-impacting devices
US10757103B2 (en) * 2017-04-11 2020-08-25 Xage Security, Inc. Single authentication portal for diverse industrial network protocols across multiple OSI layers
US11348095B2 (en) * 2017-04-11 2022-05-31 Nchain Licensing Ag Rapid distributed consensus on 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
GB201706132D0 (en) * 2017-04-18 2017-05-31 Nchain Holdings Ltd Computer-implemented system and method
CN107317672A (zh) * 2017-05-10 2017-11-03 广东网金控股股份有限公司 一种轻量终端机区块链系统
US11924322B2 (en) * 2017-05-16 2024-03-05 Arm Ltd. Blockchain for securing and/or managing IoT network-type infrastructure
CN107231299A (zh) * 2017-06-07 2017-10-03 众安信息技术服务有限公司 一种链路由及实现区块链跨链通信的系统
CN107230056B (zh) 2017-06-28 2021-02-26 无锡井通网络科技有限公司 一种基于区块链合约的快速交易系统
US10616324B1 (en) * 2017-07-20 2020-04-07 Architecture Technology Corporation Decentralized ledger system and method for enterprises
CN107579848B (zh) * 2017-08-30 2020-08-25 上海保险交易所股份有限公司 实用拜占庭容错共识机制中动态更改共识节点的方法
CN107819829B (zh) * 2017-10-17 2020-07-07 上海点融信息科技有限责任公司 访问区块链的方法、系统、区块链节点设备及用户终端
TWI677213B (zh) * 2017-11-23 2019-11-11 財團法人資訊工業策進會 監控裝置、方法及其電腦程式產品
US10642967B2 (en) * 2017-11-28 2020-05-05 American Express Travel Related Services Company, Inc. Single sign-on solution using blockchain
US10735450B2 (en) * 2017-11-30 2020-08-04 Intel Corporation Trust topology selection for distributed transaction processing in computing environments
US10567156B2 (en) * 2017-11-30 2020-02-18 Bank Of America Corporation Blockchain-based unexpected data detection
US20190180276A1 (en) * 2017-12-07 2019-06-13 Bank Of America Corporation Automated Event Processing Computing Platform for Handling and Enriching Blockchain Data
US11315110B2 (en) * 2017-12-27 2022-04-26 International Business Machines Corporation Private resource discovery and subgroup formation on a blockchain
US11032252B2 (en) * 2018-01-03 2021-06-08 Syccure, Inc. Distributed authentication between network nodes
US10701054B2 (en) * 2018-01-31 2020-06-30 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing super community and community sidechains with consent management for distributed ledger technologies in a cloud based computing environment
EP3759870B1 (en) * 2018-02-26 2023-11-29 Telefonaktiebolaget Lm Ericsson (Publ) Network slicing with smart contracts
US11429967B2 (en) * 2018-03-13 2022-08-30 Nec Corporation Mechanism for efficient validation of finality proof in lightweight distributed ledger clients
ES2914510T3 (es) * 2018-04-16 2022-06-13 Bc Dev Labs Gmbh Red de nodos remotos incentivado sin estado sin confianza utilizando clientes de verificación mínima
US10693716B2 (en) * 2018-05-29 2020-06-23 At&T Mobility Ii Llc Blockchain based device management
US10790976B1 (en) * 2018-08-01 2020-09-29 Bloomio Ag System and method of blockchain wallet recovery
US11503036B2 (en) * 2019-03-13 2022-11-15 Nec Corporation Methods of electing leader nodes in a blockchain network using a role-based consensus protocol
US11669833B1 (en) * 2022-10-25 2023-06-06 01 Communique Laboratory Inc. Blockchain endpoint protection

Also Published As

Publication number Publication date
JP2021513300A (ja) 2021-05-20
KR102310803B1 (ko) 2021-10-13
KR20210015786A (ko) 2021-02-10
CN112166619A (zh) 2021-01-01
EP3782387A1 (en) 2021-02-24
US20190317934A1 (en) 2019-10-17
KR102475649B1 (ko) 2022-12-07
ES2914510T3 (es) 2022-06-13
US20220335037A1 (en) 2022-10-20
KR20210122913A (ko) 2021-10-12
EP3782387B1 (en) 2022-03-02
US11281658B2 (en) 2022-03-22
WO2019202393A1 (en) 2019-10-24

Similar Documents

Publication Publication Date Title
JP6949249B2 (ja) 最小限の検証クライアントを使用したトラストレスステートレスインセンティブ型リモートノードネットワーク
US10341335B2 (en) Location determination for user authentication
US10581613B2 (en) Cryptographically verifiable data structure having multi-hop forward and backwards links and associated systems and methods
CN109492380B (zh) 一种设备认证方法、装置及区块链节点
JP6435398B2 (ja) 端末識別子を促進する方法及びシステム
US10904728B2 (en) Mobile application accelerator
US9578044B1 (en) Detection of anomalous advertising content
KR20230023019A (ko) 블록체인 기반 데이터 저장 방법, 시스템 및 장치
CN110197075A (zh) 资源访问方法、装置、计算设备以及存储介质
US20100036892A1 (en) Determination of an updated data source from disparate data sources
JP2022539283A (ja) ブロックチェーンとは異なる形式のストレージに格納されるブロックチェーンデータを検証する方法およびシステム
US20220046028A1 (en) Method and system for determining a state of an account in a network device running a light client protocol of a distributed ledger technology network
US11645398B2 (en) System and method for data registration and access
US8996607B1 (en) Identity-based casting of network addresses
Kancharla et al. Dependable Industrial Crypto Computing
Schutz et al. Decentralizing indexing and bootstrapping for online applications
US20240152896A1 (en) Method and system for location-based transactions
KR20220132266A (ko) 신뢰할 수 있는 노드를 통한 블록체인 액세스 방법, 이를 저장하는 컴퓨터로 판독 가능한 기록매체 및 그 시스템
Joshi et al. Secure Firmware Update Architecture for IoT Devices using Blockchain and PUF
CN117714538A (zh) 基于区块链的数据分发系统和方法
CN116830521A (zh) 用于确定最佳链的头部客户端

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210113

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210113

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20210419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210427

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210727

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210921

R150 Certificate of patent or registration of utility model

Ref document number: 6949249

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150