JP7154234B6 - ブロックチェーン・ネットワークにおける高速伝搬のための方法及び特殊ネットワーク・ノード - Google Patents

ブロックチェーン・ネットワークにおける高速伝搬のための方法及び特殊ネットワーク・ノード Download PDF

Info

Publication number
JP7154234B6
JP7154234B6 JP2019568215A JP2019568215A JP7154234B6 JP 7154234 B6 JP7154234 B6 JP 7154234B6 JP 2019568215 A JP2019568215 A JP 2019568215A JP 2019568215 A JP2019568215 A JP 2019568215A JP 7154234 B6 JP7154234 B6 JP 7154234B6
Authority
JP
Japan
Prior art keywords
transaction
nodes
node
network node
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
JP2019568215A
Other languages
English (en)
Other versions
JP2020524434A (ja
JP7154234B2 (ja
Inventor
デステファニス,ジュゼッペ
モティリンスキ,パトリック
ヴィンセント,ステファヌ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
nChain Holdings Ltd
Original Assignee
nChain Holdings Ltd
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 nChain Holdings Ltd filed Critical nChain Holdings Ltd
Publication of JP2020524434A publication Critical patent/JP2020524434A/ja
Priority to JP2022159994A priority Critical patent/JP7413477B2/ja
Application granted granted Critical
Publication of JP7154234B2 publication Critical patent/JP7154234B2/ja
Publication of JP7154234B6 publication Critical patent/JP7154234B6/ja
Priority to JP2023220532A priority patent/JP2024038152A/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/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/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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は一般に分散された台帳(ブロックチェーン)ネットワークに関連する。特に、本発明はブロックチェーン・ネットワークのパフォーマンスを改善し、及び/又はネットワーク上で転送が実行され得る速度を増大させる暗号強制方法及びシステムに関連し得る。
本書では電子的なコンピュータ・ベースの分散型の全ての形態の台帳を含むように用語「ブロックチェーン」を使用する。これらは、ブロックチェーン及びトランザクション・チェーン技術、許可された及び許可されていない台帳、共有台帳、並びにそれらの変形を含むが、これらに限定されない。ブロックチェーン技術の最も広く知られている応用はビットコイン台帳であるが、他のブロックチェーン実装が提案され開発されている。本願では、便宜上及び説明の目的でビットコインが参照されるかもしれないが、本発明は、ビットコイン・ブロックチェーンで使用することに限定されず、代替的なブロックチェーンの実装及びプロトコルが、本発明の範囲内に属することに留意すべきである。
ブロックチェーンはコンセンサス・ベースの電子台帳であり、これはトランザクションにより構成されるブロックにより構成される、コンピュータ・ベースの非セントラル化された分散システムとして実装される。各々のトランザクション(Tx)は、ブロックチェーン・システム内の参加者間でディジタル資産の支配権の移転をエンコードし、少なくとも1つのインプットと少なくとも1つのアウトプットとを含む。各ブロックは先行するブロックのハッシュを含み、その結果、ブロックは、開始以来ブロックチェーンに書き込まれてきた全てのトランザクションについての永続的で変更不可能な記録を作成するように一緒に鎖で繋がれる。トランザクションは、トランザクションのインプット及びアウトプットに組み込まれるスクリプトとして知られる小さなプログラムを含み、スクリプトは、トランザクションのアウトプットがどのように誰によってアクセスされ得るかを指定する。ビットコイン・プラットフォームでは、これらのスクリプトはスタック・ベースのスクリプト言語を使用して書かれる。
新たなトランザクションを受信したネットワーク・ノードは、ネットワーク内の他のノードへ、そのトランザクションを速やかにプッシュしようとするであろう。新たなトランザクションを他のノードへ送信する前にそれは「検証され(validated)」、検証は、トランザクションが、適用可能なブロックチェーン・プロトコルに従って適切なトランザクションの基本要件を満足していることを保証するために、一組の基準に対して検査されることを意味する。
トランザクションがブロックチェーンに書き込まれるために、トランザクションはノード(「マイナー」)によりブロック内に組み込まれ、そのノードはトランザクションを収集してそれらをブロックに形成するように設計されている。次いで、マイナーはノードに関する「プルーフ・オブ・ワーク」を完了しようとする。ブロックチェーン・ネットワーク中のマイナー達は、トランザクションのブロックを組み立て、ブロックに関する作業についての関連する証明を完了するために、1番になろうと競争する。成功したマイナーは、確認されたブロックをブロックチェーンに追加し、そのブロックはネットワークに伝搬され、その結果、ブロックチェーンのコピーを保持する他のノードは、各自の記録を更新することができる。ブロックを受信したこれらのノードもまたブロック及びその中の全てのトランザクションを「検証」し、それがプロトコルの正式な要件に従っていることを保証する。
ブロックチェーンの実装に関連するボトルネックの1つは、プルーフ・オブ・ワークを完了するまでマイナーを待機することに関連する遅延であり、プルーフ・オブ・ワークは、トランザクションのブロックを確認し、トランザクションのそのブロックをブロックチェーンに追加する結果をもたらす。一例としてビットコイン・システムを用いると、設計により、システムはブロックが確認されてブロックチェーンに追加されるまで約10分を要する。一方、未承認のトランザクションはメモリ・プール(本願では「メンプール」(mempool)と言及される)に溜まり、その完全なコピーがネットワーク内の各ノードで維持される。ビットコイン・アーキテクチャの分析は、10分のブロック承認スループットの場合、典型的なトランザクション及びブロックのサイズに基づいて、及び蓄積されたそれらの未承認トランザクションが新たなブロックに組み込まれ得る速度に基づいて、システムは、毎秒約3つの新たな未承認トランザクションというトランザクション・スループットを処理することが可能である。
ビットコインのようなブロックチェーンに基づくネットワークを利用して、広く行き渡った暗号的に保護される交換の利用を可能にする又は促進することは有益であろう。そのような交換は、例えば、クレジット・カード・トランザクション等に関する支払処理に関連し得る。しかしながら毎秒約3つというトランザクション・スループットは、毎秒約50,000というトランザクション量で現在動作しているそのような電子決済を処理するには不十分である。従って、大量のトランザクションを処理するために、ブロックチェーンの能力を現在制限しているスピード及びスケーラビリティの制約に対するソリューションを見出すことが望ましい。
今やそのようなソリューションが発明されている。
即ち、本発明によれば、添付の特許請求の範囲に記載されているような方法及びデバイスが提供される。
本願は、トランザクション処理の高速化/スピード改善のためにブロックチェーンを実装するように設計される専用マーチャント・ノード(dedicated merchant nodes)のネットワークによりブロックチェーン・トランザクション(TXs)の高速伝搬を可能にする方法及びデバイスを説明及び開示する。用語「トランザクション」は金融の意味における取引以外の「ブロックチェーン・トランザクション」(即ち,Tx)を意味するものとして解釈され得る。ネットワーク・トラフィックを最小化し、記憶容量制限を緩和するために、ブロックへの組み込みを待機しているペンディング・トランザクションのメモリ・プール(「メンプール」)は、分散ハッシュ・テーブル(DHT)により実現される分散メモリ・プールとして、特殊(マーチャント)ノード(the specialised(merchant)nodes)内に格納されることが可能である。マーチャント・ノードにより受信された新たなトランザクションはハッシュされたその識別子を有することが可能であり、マーチャント・ノードは、それが分散されたメンプールに既に格納されているか否かを評価することができる。格納されていない場合、適用可能なDHTプロトコルを利用して適切な1つ以上のマーチャント・ノードにおける分散されたメンプールにそれが格納され得る。マーチャント・ノードは次いで通常のピア・ツー・ピア・コネクションを利用してトランザクションTxを通常の非マーチャント・ノードへ送信してもよいが;トランザクションを全ての他のマーチャント・ノードへ送信する必要はない。
追加的又は代替的な態様において、本願は、ブロックチェーンを実現するために使用される相互接続されたノードのネットワーク上でブロックチェーン・トランザクションの(高速)分散を促す特殊ネットワーク・ノードを説明しており、相互接続されたノードの部分集合はオーバーレイ・ネットワークで相互接続された特殊ネットワーク・ノードである。以後、用語「特殊ネットワーク」は、便宜上の目的に限り用語「SN」又は「マーチャント・ノード」と可換に使用され得る。
幾つかの実装において、DHTの形式でメンプールを実現及び管理するために特殊ネットワーク・ノードのオーバーレイ・ネットワークを利用することは、全てのネットワーク・ノードでメンプールを実装することに勝る、演算速度及び伝搬速度の恩恵を提供することができる。更に、ブロックチェーン・ノードの正規のネットワークに対してオーバーレイ・ネットワークで特殊ネットワーク・ノードを利用することは、ブロックチェーン・ノードの全ネットワークにわたってDHTメンプールを実現することについての予想されるスピード及び信頼性の複雑化した事態を回避し、各ノードはDHTの非常に小さな部分を格納及び保持する。この構造は、非特殊ノードが特殊ノードのうちの1つを介してメンプールに速やかに問い合わせることを許容できる。マイニング・ノード等のオーバーレイ・ネットワーク以外のノードが、必要に応じて部分的な又は完全なメンプールを維持できることを保証するためにDHTを更新した後に、特殊ネットワーク・ノードがピア・ツー・ピア通信を利用してオーバーレイ・ネットワーク以外の非特殊ネットワークへの伝搬を開始することは、更に有益であろう。他のスピード及びストレージの恩恵は、例示的な実装の説明から明らかになるように、本願の様々な態様により実現され得る。
SNノードは、プロセッサ;分散ハッシュ・テーブルとして構造化された分散されたメンプールのうちの指定された部分を格納するメモリであって、分散されたメンプールはコンファメーション(承認)を待機しているペンディング・トランザクションを含む、メモリ;ネットワーク・インターフェース;及びプロセッサ実行可能な命令を含むブロックチェーンSNノード・アプリケーションを含むことが可能である。命令は、実行されると、プロセッサに:トランザクション識別子を含むトランザクションを受信すること;(暗号)キーを得るためにトランザクション識別子をハッシュすること;分散されたメンプールにトランザクションが格納されているか否かをキーを利用して確認し、格納されていない場合、トランザクションをペンディング・トランザクションとして分散されたメンプールに格納すること;及びトランザクションをSNノード以外のノード群へピア・ツー・ピア・コネクションを利用して送信することを行わせることができる。
幾つかの実装において、メモリは、トランザクションを含むブロックであってブロックチェーンに含まれるブロックの承認数に関するデータを更に格納してもよく、命令は、承認数が最小数に到達した場合に、分散されたメンプールからトランザクションを取り除くことをプロセッサに行わせる。幾つかの例において、承認数に関するデータは、ブロックチェーンに追加される新たなブロック各々に関して更新される承認数のカウント、又はトランザクションが含まれるブロックのブロック番号の何れかであってもよい。
幾つかの実装において、メモリはSNノード評判テーブルを更に格納することが可能であり、SNノード評判テーブルは、何らかの検出された新たな近隣のSNノードに関する識別子と、新たな近隣のマーチャント・ノードの検出されたアクティビティに基づく新たな近隣のマーチャント・ノードの関連するスコアとを含む。幾つかの例において、命令は、新たな近隣のSNノードのスコアを更新すること、新たな近隣のSNノードのスコアが閾値より下に落ち込んだことを判定し、その結果、新たな近隣のSNノードを悪意のノードとして指定し、新たな近隣のSNノードを孤立させることをプロセッサに行わせる。
幾つかの実装において、分散されたメンプールのうちの指定された部分は、別のSNノードに格納された分散されたメンプールの第2部分と部分的にオーバーラップしている。
幾つかの実装において、各々のSNノードは、分散されたメンプールの各自指定された部分を格納し、各自指定された部分は、各々のペンディング・トランザクションが少なくとも2つのSNノードに格納されるが、全てのSNノードには格納されないように部分的にオーバーラップしていてもよい。選択的に、各々のペンディング・トランザクションは、分散されたメンプールの各自指定された2つに過ぎない部分に含まれる。
追加的又は代替的に、本願はブロックチェーンを実現するために使用されるネットワークに結合される複数のノードに関わるブロックチェーン転送(例えば、トランザクション)を促進するコンピュータ実現方法を提供することが可能であり、複数のノードのうちの部分集合はSNノードであり、SNノードは、承認を待機するペンディング・トランザクションを含む分散されたメンプールを格納し、分散されたメンプールはSNノード群の中で分散されたハッシュ・テーブルとして実現される。本方法(SNノードのうちの1つで実現され得る)は、トランザクション識別子を含むトランザクションを受信するステップ;キーを得るためにトランザクション識別子をハッシュするステップ;分散されたメンプールにトランザクションが格納されているか否かをキーを利用して確認し、格納されていない場合、トランザクションをペンディング・トランザクションとして分散されたメンプールに格納するステップ;及びトランザクションをSNノード以外のノード群へピア・ツー・ピア・コネクションを利用して送信するステップを含むことができる。
追加的又は代替的に、本願は複数の参加ノードの中でブロックチェーン・トランザクションに参加するためのプロセッサ実行可能命令を格納する非一時的なプロセッサ読み取り可能な媒体を提供することが可能であり、プロセッサ実行可能な命令は、参加ノードのうちの1つでプロセッサにより実行されると、本願で説明される1つ以上の方法をプロセッサに実行させる。
本発明のこれら及び他の態様は、本願で説明される実施形態から明らかになり且つ実施形態に関連して説明される。本発明の実施形態は、単なる例示に過ぎないものとして添付図面に関連して説明される。
図1はマーチャント(SN)ノードのオーバーレイ・ネットワークとともにノードのネットワーク例を示す。
図2は新たなトランザクションを分散されたメンプールに格納するプロセスを示すシーケンス図を示す。
図3はブロックチェーン・ネットワークでトランザクションを伝搬させる方法の一例をフローチャート形式で示す。
図4は簡略化された例示的なMノードをブロック図形式で示す。
図5はMネットに参加する新たなノード例を示すシーケンス図を示す。
図6はMノード登録テーブル例を概略的に示す。
図7は例示的なメンプール・データ・エントリを示す。
本願において、用語「及び/又は」は、列挙された要素の全ての可能なコンビネーション及びサブ・コンビネーションをカバーするように意図され、列挙された任意の1つの要素単独、任意のサブ・コンビネーション、又は全ての要素を含み、必ずしも追加的な要素を排除することを要しない。
本願において、「・・・又は・・・の少なくとも1つ」という言い回しは、列挙された要素のうちの任意の1つ以上をカバーするように意図され、列挙された任意の1つの要素単独、任意のサブ・コンビネーション、又は全ての要素を含み、必ずしも何らかの追加的な要素を排除することを必要とせず、必ずしも全ての要素を必須としない。
先ず図1を参照すると、図1はブロックチェーンに関連するネットワーク例をブロック図形式で示しており、そのネットワークは本願でブロックチェーン・ネットワーク100と言及され得る。ブロックチェーン・ネットワーク100は、招待無しに又は他のメンバーからの同意無しに誰でも参加し得るピア・ツー・ピア・オープン・メンバーシップ・ネットワークである。ブロックチェーン・ネットワーク100はブロックチェーン・プロトコルの下で動作し、そのブロックチェーン・プロトコルのインスタンスを実行する分散された電子デバイスは、ブロックチェーン・ネットワーク100に参加することができる。そのような分散された電子デバイスはノード102と言及され得る。ブロックチェーン・プロトコルは、例えばビットコイン・プロトコル、又は他の暗号通貨であってもよい。
ブロックチェーン・プロトコルを実行し且つブロックチェーン・ネットワーク100のノード102を形成する電子デバイスは様々なタイプのものであるとすることが可能であり、例えば、デスクトップ・コンピュータ、ラップトップ・コンピュータ、タブレット・コンピュータ、サーバー等のコンピュータ、スマートフォン等のモバイル・デバイス、スマート・ウォッチ等のウェアラブル・コンピュータ、又は他の電子デバイスを含む。
ブロックチェーン・ネットワーク100のノード102は、有線及び無線通信技術を含み得る適切な通信技術を利用して互いに結合されている。多くのケースにおいて、ブロックチェーン・ネットワーク100は少なくとも部分的にインターネット上で実現され、幾つかのノード102は地理的に分散した場所に位置していてもよい。
ノード102はブロックチェーンにおける全てのトランザクションのグローバル台帳を維持し、ブロックチェーンはブロックにグループ化され、各ブロックは、チェーンの中で先行するブロックのハッシュを含む。グローバル台帳は分散された台帳であり、各ノード102はグローバル台帳の完全なコピー又は部分的なコピーを格納することが可能である。グローバル台帳に影響を及ぼすノード102によるトランザクションは、他のノード102により検証され、その結果、グローバル台帳の有効性が維持される。ビットコイン・プロトコルを使用するもの等のブロックチェーン・ネットワークの実現及び動作の詳細は、当業者により理解されるであろう。
各々のトランザクションは典型的には1つ以上のインプットと1つ以上のアウトプットとを有する。インプット及びアウトプットに埋め込まれるスクリプトは、トランザクションのアウトプットがどのように誰によりアクセスされ得るかを指定する。トランザクションのアウトプットは、トランザクションの結果として、価値(a value)が移転される先のアドレスであってもよい。そしてその価値は、未使用トランザクション・アウトプット(UTXO)としてその出力アドレスに関連付けられる。そして、以後のトランザクションは、その価値を使用又は消却するために、そのアドレスを入力として参照することができる。
ノード102は各自の機能に応じて様々なタイプ又はカテゴリのものであってよい。ノード102に関連する4つの基本機能が存在することが示唆されており、ウォレット、マイニング、フル・ブロックチェーン・メンテナンス、及びネットワーク・ルーティングである。これらの機能の変形が存在してもよい。ノード102は1つより多い機能を有することが可能である。例えば、「フル・ノード」は4つ全ての機能を提供する。ライトウェイト・ノードは例えばディジタル・ウォレットで実装されてもよく、ウォレット及びネットワーク・ルーティング機能のみを発揮してもよい。完全なブロックチェーンを格納するのではなく、ディジタル・ウォレットはブロック・ヘッダを追跡することが可能であり、ブロック・ヘッダは、ブロックを問い合わせる場合にインデックスとして役立つ。ノード102は、TCP/IP(Transmission Control Protocol)等のコネクション指向プロトコルを利用して互いに通信する。
本願はマーチャント・ノード104(時折「M-ノード」104のように言及される)という追加的なタイプ又はカテゴリのノードを提案及び説明している。M-ノード104はトランザクションの高速伝搬に焦点を当てて設計されている。それらは完全なブロックチェーンを保存せず、マイニング機能を実行しない。その意味において、それらはライトウェイト・ノード又はウォレットに類似している;しかしながら、それらはトランザクションの高速伝搬を可能にする追加的な機能を含む。M-ノード104の動作議論の中心は、迅速な検証及び特に他のM-ノード104に対する未承認トランザクションの伝搬であり、該他のM-ノード104から、未承認トランザクションが、ブロックチェーン・ネットワーク100における他のノード102へ速やかにプッシュされる。この機能を促進するため、M-ノード104は非常に多数の入って来る及び特に出て行くコネクションを許容されており、それらのコネクションは管理プロトコルのもとでは別の方法でノード102に許容されるかもしれない。
M-ノード104はまとめてマーチャント・ネットワーク106(又は「M-ネット」106)と言及されてもよい。用語「マーチャント」は「特殊化された(specialised)を意味するものとして解釈され得る。図示の簡明化のため、図1では物理的に別個のネットワークとして示されているが、M-ノード104はブロックチェーン・ネットワーク100に統合されてもよい。各々のM-ノード104は、ブロックチェーン・ネットワーク100における特殊ノードであり、M-ノード104の機能を実行し得ることを保証する所定のハードウェア及びパフォーマンス能力を満たす。即ち、M-ネット106は、ブロックチェーン・ネットワーク100の中にあり且つブロックチェーン・ネットワーク100を通じて分散されているサブ・ネットワークと考えられてよい。M-ノードは1つ以上の専用の機能又はサービスを実行するように配置及び構成され得る。
M-ネット106が確実に動作し且つ所定のセキュリティ・レベルでサービスを提供するために、M-ノード104はM-ネット106全体についての良い外観を維持する必要があり、従って効率的なルーティング・プロトコルが配備される必要がある。M-ノード104が開始トランザクションを受信する度に、M-ノード104はそれを他のノード102に加えて幾つかの他のM-ノード104へブロードキャストする必要がある。M-ネット106の側面では、これは複数巡回セールスマン問題(MTSP)に対するソリューションを発見することに等しい。この問題に対処する非常に多くのソリューションが存在し、それらのうちの任意の1つがM-ネット105で使用され得る。M-ノード104の各々は何らかの最新の形式でルーティング最適化を行う。
幾つかの実装において、M-ネット106は非セントラル化IPマルチキャスト・タイプのネットワークとして実現される。即ち、到来するトランザクションのブロックチェーン・ネットワーク100への速やかな拡散を可能にするために、マルチキャストが使用されてトランザクションがM-ネット106を通じて速やかにブロードキャストされることを保証し、全てのM-ノード104が、ブロックチェーン・ネットワーク100内の他のノード102へトランザクションを転送することに集中できるようにする。
マルチキャスト・ネットワーク・アーキテクチャは、情報を受信することに関心のある各ノードに対してデータ重複なしに、宛先ノードのグループへ向けたデータの同時配布の可能性を許容する。ノードがマルチキャスト送信を受信することを希望する場合、ノードはマルチキャスト・グループに参加し(登録段階)、以後、マルチキャスト・グループへ送信された全てのデータを受信できることになる。IPマルチキャストは、どの程度多くの受信者が存在するかについての事前知識を必要とすることなく、より多くの受信者集団へスケーリングすることが可能であり、一度だけパケットを送信することをソースに要求することにより、ネットワーク・インフラストラクチャは効率的に使用される。マルチキャスト・ネットワークの性質のために、コネクション指向プロトコル(TCP等)を利用することは、多数の他ノードとの同時通信に起因して非実用的である。従ってコネクションレス・プロトコルが使用される。
ビットコイン等の幾つかのブロックチェーン・ネットワークは、ノード・ツー・ノードのTCPを使用する。TCPを利用して送信されるデータ・パケットは、順序付けの目的で使用される関連シーケンス番号を有する。これに加えて、TCPプロトコルは、コネクションの設定及びその終了の双方の場合に、三段階ハンドシェーク手順を含む。TCPを介して送信されるパケットは関連するオーバーヘッドとともに到来し、それらは関連するシーケンス番号を有し、三段階ハンドシェーク・プロトコルが存在する。コネクションを設定する際に、128-136バイトが送信されているが、コネクションの閉鎖は160バイトのコストを要する。従ってパケット伝送におけるハンドシェークは296バイトに達するほどコストがかかる。更に、ノードが新しいトランザクションを受信すると、トランザクションのハッシュを含むインベントリ(INV)メッセージを他ノードに通知する。INVメッセージを受信したノードは、そのトランザクションのハッシュが以前に見られたか否かを検査し;見られていない場合、ノードは、GETDATAメッセージを送信することにより、トランザクションを要求するであろう。ノードAからノードBへトランザクションを送信するのに要する時間は、
T1=verification+TCP(inv+getdata+tx)
であり、ここでTCP()はTCPハンドシェーク手順で導入されるオーバーヘッドを示す。
M-ノード104は他ノード102との通信のためにTCPを利用するように設定されているかもしれず、それは既存のプロトコルでは必須である。しかしながら、ノードは、M-ノード104からM-ノード104への通信に関して、又はより適切にはマルチキャストの状況でM-ノード104から複数のM-ノードへの通信に関してでさえ、ユーザー・データグラム・プロトコル(UDP)等のコネクションレス・プロトコルを利用することができる。TCPとは異なり、UDPはハンドシェーク・プロトコルを含まず、従ってM-ノード104はより迅速にトランザクションを伝搬することが可能である。このことはまた、実際のトランザクションをそれまで送信することなく、反復されたINVメッセージを送信することにより、悪意のノードが他ノードと結びついてしまうことを回避することもできる。
UDPのライトウェイトの性質は所定のトレード・オフに関連する。誤り検査は少なく、誤り回復もない。幾つかの実装では、UDPのこれらの制限は、誤り回復、順序付け、再送をアプリケーション・レイヤの機能として実装することにより、アプリケーション・レベルで克服され得る。誤り検査をアプリケーション・レベルに配置することは、ネットワークからオーバーヘッドを取り除く。
ある例示的な状況において、ブロックチェーン・ネットワーク100における正規のノード102が、マーチャント・ベース決済のようにM-ネット106により処理してもらうことを希望するトランザクションを生成する。ノードはそのトランザクションをM-ノード104へ送信してもよく、M-ノード104はマルチキャストを利用してそれを他のM-ノード104へブロードキャストする、あるいはノードがM-ノード104のIPマルチキャスト・アドレスを知っている場合には複数のM-ノード104へ直接的にトランザクションを送信してもよい。幾つかの例では、M-ネット106の全てのM-ノード104は単一のマルチキャスト・アドレスのメンバーであり、従ってそのアドレスへ送信された全てのトランザクションは全てのM-ノード104により受信される;しかしながら、幾つかのケースでは、M-ネット106に関連する1つより多いマルチキャスト・アドレスが存在してもよく、受信するM-ノード104は、トランザクションを完全なM-ネット106へ伝搬させるために、トランザクションの他のマルチキャスト・アドレスへの更なるブロードキャストが必要とされるか否かを、ルーティング情報から評価することができる。
マルチキャストは、全てのM-ノード104に対する新たなトランザクションの速やかな初期伝搬を保証することを支援する;しかしながら、マルチキャストのソリューションは、増加したトランザクション・スループットに由来するブロックチェーン・ネットワーク100のスケーラビリティ問題には必ずしも対処していない。ネットワーク100内の各ノード102は、典型的には、ノードが発見した未承認トランザクションを含むメンプールを維持し、未承認トランザクションは、プルーフ・オブ・ワークを完了したマイナーによりブロックチェーンへ未だ組み込まれていないものである。支払処理で使用することから生じるトランザクション数の著しい増加は、各々のメンプールで保存するトランザクション量の増加となるであろう。従って、M-ネット106のノードはほぼ同時に新たなトランザクションを受信することが可能であるが、大規模で迅速に変化するメンプールに関してストレージ能力の限界を有するかもしれない。
この問題に対処するため、本願は、マルチキャストを利用することに対する代替として、M-ノード104が、分散されたハッシュ・テーブル(a Distributed Hash Table:DHT)により実現される共有されるメンプールを利用することを提案する。
500バイトというトランザクション(TX)の平均サイズ、及び~10TX/sというトランザクション・レートを仮定すると、M-ネット106は~400GBという日々の到来データを受信し得る。このデータの全てが、未承認トランザクションのメンプールの中で、変動する期間にわたって保存されることを要する。従って、M-ネット106はデータを高速に記憶するためにかなりのストレージ及び能力を必要とする。各自それぞれのM-ノード104に過剰に多くの条件を課さないために、M-ノード104はDHTを当てにする共有メンプールを実現する。各M-ノード104に、全ての到来するTXsを各自自身のメンプールに維持させる代わりに、各M-ノード104は、全体の内の一部分と、残りの部分のハッシュ及び関連するキー値とを格納するだけである。
DHTは非セントラル化分散システムのクラスであり、そのシステムはノード間でキー・セットのメンバーシップ分割を許容し、且つ所与のキーの所有者だけに、効率的で最適化された方法でメッセージを送信することができる。ネットワークの各ノードは、ハッシュ・テーブルのアレイのセルとして理解され得る。DHTは、非常に多数のノードを管理するように、また、新たなノードがネットワークに参加し、古いノードが離脱及びクラッシュすることを、共有データの完全性を損なうことなく行うように設計されている。DHTは、非セントラル化(中央機関は存在せず、中央のコーディネータも存在しない)、スケーラビリティ(システムは何百万ものノードに対して効率的な行動をとる)、及び障害耐性(システムは信頼性があり、ネットワークに参加及び離脱する又はクラッシュするノードを管理することができる)を保証する。ネットワークの各ノードは、小数の他ノードだけと通じたままであってもよく、従って変動や新たなデータ部分が存在しても、ネットワークはオーバーロードにならない。
同じ概念がUTXOデータベースに適用されてもよく、そのデータベースはブロックチェーンにおける全ての未使用アウトプットの集合を含む。UTXOデータベースは、一群のノードの中でコンテンツを共有するためにDHTを利用して構築され得る。
M-ネット106のために共有メンプールを実現するために使用され得る多数の可能なDHTアーキテクチャ及びプロトコルが存在する。一例はPastry(商標)であるが、他にも多数存在する。Pastry(商標)は、オーバーレイ・ネットワークが分散システムで情報を格納及び転送することができることを維持するように設計されたプロトコルである。Pastry(商標)ネットワークにおける各ノードは128ビットの識別子を割り当てられ、識別子は循環ノードID空間(0から2128-1までの範囲)内でのノードの位置を指定するために使用される。IDはノードがネットワークに入るとランダムに指定される。各ノードは、ルーティング・テーブル、近隣セット及びリーフ・セットを維持する。
ロバストなDHTの寸法決定において考察する一要因は、ネットワーク全体の堅牢性及び信頼性を保証するために必要なレプリカの数である。既に言及されているように、ノードはネットワークに参加して離脱することが可能であり、この事実はデータの利用可能性に影響すべきではない。トランザクションAを格納しているノードがネットワークを離れる場合、ネットワークの他の部分でトランザクションAを発見する必要がある。例えばビットコインのような既存のブロックチェーン・ネットワークでは、ネットワークは、ネットワークにおける全ノード数に等しい数のブロックチェーン・レプリカ(平均5000レプリカ)を有するが、このことはスケーラビリティに影響を及ぼす。
目下提案しているM-ネット106では、メンプールは、全てのM-ノード104で完全には複製されておらず、そうではなくDHTにより実現されている。信頼性をもたらすため、DHTは幾らかのオーバーラップを有するように実現されることが可能であり;即ち、各々のトランザクション・データ・アイテムは1つより多いM-ノード104(但し、全てのM-ノード104ではない)において複製される。一例として、DHTは2レプリカという最小数を指定するように実現されてもよい。これは、ノード間の完全な独立性を仮定した場合に、任意の所与の時間に2つのノードが一度に落ちてしまう確率が次のようになる結果をもたらす。
Figure 0007154234000001
ここで図2を参照すると、図2は分散されたメンプール204に新たなトランザクションを格納するプロセス200を示すシーケンス図を示す。分散されたメンプール204はDHTを利用して実現される。プロセス200はノード102がトランザクションをM-ノード104へ送信することを含む。M-ノード104は、キー値を得るために、実装に応じて、トランザクション又はトランザクションIDをハッシュする。キー値は、トランザクションが格納されるべきM-ノード104又は複数のM-ノード104(複製データの場合)を示す。M-ノード104はトランザクションを分散されたメンプール204に格納し、これは、M-ネット106におけるM-ノード104の割り当てられたID及びキー値に基づいて、トランザクションが格納されるべき適切なM-ノード104へトランザクションをルーティングすることを含み得る。M-ノード104は、関連するDHTプロトコルに依存してアクノリッジメントを受信してもよい。
ここで図3も参照すると、図3はブロックチェーン・ネットワークでトランザクションを伝搬させる方法の一例300をフローチャート形式で示す。方法300はM-ノード104(図1)によって実現される。M-ノード104はオペレーション302において正規のノードから新しいトランザクションを受信する。M-ノード104はトランザクションの真正を確認するために、所定の検証オペレーションを実行することができる。
オペレーション304により示されるように、トランザクションは、トランザクションのキーを生成するためにハッシュされ得る。キーは、DHTの中でトランザクションが格納されるべき場所を示すことが可能であり、その場所は現在のM-ノード104以外のノードにおけるものであってもよい。次いでオペレーション306においてMノード104はトランザクションがDHTに既に存在するか否かを評価する。各M-ノード104は、M-ネット106(図1)を構築するM-ノード104の中でキー空間(the keyspace)の区分に基づいて、格納されたトランザクションの一部分を有する。幾つかの実装において、キー空間は、参加しているM-ノード104の中で分けられる。区分けは,ネットワークの回復力の複製(replication for resiliency of the network)を引き起こすようにオーバーラップを含んでもよい。Pastry(商標)を使用すること等のような幾つかの実装において、各M-ノード104は固有のキー又はID番号を割り当てられ、トランザクションは、トランザクションのキー値に対する近接性に基づいて、M-ノード104又は複数のM-ノード104(複製が望まれる場合)に格納され得る。M-ノード104は、トランザクションのローカルに格納された部分と、残りの部分のハッシュ又はキー値とを有し得る。従って、オペレーション306において、ノード104は、ローカル・データに基づいて新たなデータがDHTにあるか否かを評価することが可能であり得る。
トランザクションがDHT内にある場合、オペレーション308において、M-ノード104はそのキー値に基づいてトランザクションをDHTに格納する。一般的な意味において、これは、put(k,tx)オペレーションの形式をとることができ、ここでkはキー値であり、txはトランザクションである。適用可能なDHTルーティング・プロトコルは、トランザクションが適切なM-ノード104へ送信されてそこに格納されることを保証する。DHTは選択された実装に応じて分散ハッシュ・テーブルの様々なプロトコルに従って動作し得る。M-ネット106にトランザクションを格納するためにDHTを利用することは、M-ネット106内でINV/GETDATAメッセージを利用してトランザクションを全てのM-ノード104へルーティングすることを回避する。
オペレーション310において、M-ノード104は、この例では、ブロックチェーン・ネットワーク100の通常のトランザクション転送プロトコルに従って、ブロックチェーン・ネットワーク100の正規のノード102へトランザクションを送信する。例えば、通常のノードの通信は、ノード・ツー・ノード・コネクションのためにTCPを利用することができる。
ここで図4を参照すると、図4はM-ノード400の簡略化された一例をブロック図形式で示している。この例におけるM-ノード400は、プロセッサ402と、ネットワーク・インターフェース404と、メモリ406とを含む。M-ノード400は、本願で説明される機能を実行するためにネットワーク接続リソース、十分な処理リソース、及びメモリ・リソースを有する適切な任意のコンピューティング・ハードウェアを利用して実現され得る。M-ノード400は本願で説明される機能を実現するプロセッサ実行可能命令を含み得る。幾つかのケースにおいて、プロセッサ実行可能命令は、ブロックチェーン・マーチャント・ノード・アプリケーション420として言及されてもよいが、命令は、ハードウェア及びオペレーティング・システムに依存して、1つ以上のモジュール、アプリケーション、スクリプト、又は他のプログラミング構造で実現され得ることが認められるであろう。プロセッサ402はマルチ・コア・プロセッサ、及び/又は複数のプロセッサを含み得る。
メモリ406は、DHTキー値(即ち、M-ノードID)に部分的に基づいて、DHTベース・メンプール410のうちの指定された部分を含むデータを格納する。この実装例では、メモリ406は、ルーティング・テーブル412と、近隣セット414と、リーフ・セット416とを更に格納する。ルーティング・テーブル412はM-ネット内の特定のルーティング宛先のリストを含み、ノードがデータのパケットを受信すると、ノードはルーティング・テーブルを参照し、そのデータを送信する先を知る。ルーティング・テーブル412はまた、各宛先がM-ノード400からどれだけ離れているかについての情報を含んでもよい。近隣セット414は、例えば近接性メトリック(ピン・レイテンシ)に基づく近接M-ノードに関する情報を含む。リーフ・セット416は数値的に近いM-ノードを含む。M-ノードは、それらのキー値(ノードID)が数値的に近い場合に、数値的に近い。メモリ406は、以下において更に説明されるように、M-ノード評判テーブル418を更に含む。
スケーラビリティを提供するために、DHTを利用してメンプールを実現することに加えて、M-ネットはノードがM-ネットに参加することを許容する。図5は、メンプールがDHT506として実装されているM-ネットに新たなノード504が参加する例を示すシーケンス図500を示す。新たなノード504は既にM-ネットの一部である少なくとも1つのM-ノードのアドレスを有する必要があり、それにより、新たなノードは何れかのM-ノードへ参加リクエスト(join request)を仕向けることができる。信号ダイアグラム500は新たなノード504が「joinDHT(m-node.address)リクエスト」をM-ノード502へ送信する例を示す。M-ノード502は、所定の検証アクションを実行し、検証アクションは新たなノード504を問い合わせることを含む。例えば、M-ネットは、M-ノード502を指定しているM-ネットに参加することに関連する一組の最低基準を有していてもよい。例示として、基準は、利用可能な最小処理リソース、利用可能な最小空きメモリ、接続条件を含んでもよい。
新たなノード504を検査するために検証オペレーションが実行されるものが何であれ、M-ノード502は完了したと仮定すると、M-ノードは、DHTプロトコルがDHT506の動作を管理するものが何であれそれに従ってDHT506へjoinrequest()を転送する。そしてDHT506は新たなノード504と通信し、ルーティング・テーブル、キー値(ノードID)、及び何らかの他のデータを提供し、新たなノード504がM-ネットにおける新たなM-ノードとして機能できるようにする。
ノードがM-ネットに参加し得る容易性は悪意のノードがネットワークに参加し得る点で脆弱性をもたらすことが認められるであろう。潜在的な悪意のノードを識別及び分離するために、本願はM-ノードがM-ノード評判テーブル418を格納することをもたらす。図6はノードの行動ランキングを追跡及び更新するために使用されるM-ノード評判テーブル418の一例を図式的に示す。
新たなノードがネットワークに参入すると、そのノードは、ノードIDフィールド602により示されるように、M-ノード評判テーブル418に追加され得る。テーブル418は幾つかの実装において参加時間604を更に含んでもよい。テーブル418はそのM-ノードに関するスコア606又は格付けを更に含む。
スコア606は所定の行動メトリックに基づいて上下に調整され得る。例えば、M-ノードがトランザクションを転送することに失敗した場合、ある期間にわたって沈黙したままである場合、取引でないと判断されるトラフィックでM-ネットをあふれさせる場合、あるいはその他の否定的な挙動に関わる場合、そのランキングは落とされる又は減らされることが可能である。ノードのスコアが所定の最小値より下に落ちた場合、ノードはM-ネットから排除されるかもしれない。
特定のM-ノードで保持されるM-ノード評判テーブル418は、全てのM-ネットではなく、近隣のスコアを追跡することに制限されてもよい。従って、新たなM-ノードが時間tにネットワークに参加する場合、近隣のM-ネット評判テーブルは新たなノードに関する如何なる情報も含まないが、それらは、その時点tから、ノード・レジスタ・テーブルに情報を格納する新たなノードの評判を構築し始める。例えば、新たなノードがサイレント・ノードである場合、それは、そのノードはネットワークを介して受信した情報を転送しないことを意味し、全ての近隣は、各自それぞれのM-ノード評判テーブルでその挙動を記録し始め、例えば、新たなノードのIDに否定的な値を指定する。所定の時間の後(t+n)、新たなノードに気付いている全てのノードのM-ノード評判テーブルが負の値を含む場合、それらのノードは、新たなノードを分離し、それをネットワークから禁止するように決定してもよい。
ここで図7を参照すると、図7は例示的なメンプール・データ・エントリ700を示す。M-ネットの分散されたメンプール内のトランザクションは、承認される前に、即ちブロックチェーンに追加されて承認されるブロックに組み込まれる前に、かなりの期間にわたって待機するかもしれない。十分な数の後続ブロックがその上にブロックチェーンに追加されると、ブロックは「承認された」と考えられ、その結果、ブロックチェーンにおける成長を逆転させ、異なるブランチ又はフォークに変えるためにブロックを取り除くことは計算上不可能になる。
メンプールの大きさ及び柔軟性、並びにトランザクションの量に起因して、所与のトランザクションが、ビットコイン等の幾つかのブロックチェーンの実装におけるものより長期間にわたって承認されないかもしれないことがあり得る。従来のビットコイン実装では、トランザクションは、それがブロックに組み込まれると速やかにメンプールから除去される。これは、ブロックがオーファン(孤児)ブロックとなった場合、ブロック中の全てのトランザクションがネットワークで再送されることを意味する。これは非現実的であり得るし、高速トランザクション・ネットワークの場合に所定のトランザクションを承認するために長い遅延を招く結果となり得る。
従って、幾つかの実装において、メンプールは,トランザクションが組み込まれたブロックの承認数、即ちトランザクションが組み込まれたブロックに続いてブロックチェーンに追加されたブロックの数を追跡することができる。所定数の承認が生じた後に限り、トランザクションはメンプールから削除される。所定数は4、5、6、7であってもよいし、あるいは所与の実装に関する適切な任意の数であってよい。図7に示されるように、メンプール・データ・エントリ700は、トランザクションIDフィールド702、トランザクション・フィールド704、及び承認数(NoC)フィールド706を含むように構成されてもよい。別の実装では、NoCを追跡するのではなく、メンプール・データ・エントリ700は単にブロック番号を記録してもよい。ブロック番号から、ブロックチェーンの現在のブロック番号に基づいて、幾つの承認が生じたかを評価することが可能である。
必要な承認数が生じると、トランザクションはメンプールから安全に削除され得る。このように、オーファン・ブロックの場合にトランザクションのロスはなく、トランザクションは、必要承認数の後に永続的に削除される。
本発明の1つ以上の実施形態は、改善されたブロックチェーン実装方法及びシステムとして説明されてもよい。それはブロックチェーン・ネットワークによる書き込み動作、交換、移転などの処理の改善された速度を提供することができる。本発明の他の利点も提供され得る。
本願で説明されるデバイス及びプロセス、並びにビデオ特徴抽出器を構成する説明された方法/プロセスを実現する任意のモジュール、ルーチン、プロセス、スレッド、アプリケーション、又はその他のソフトウェア・コンポーネントは、標準的なコンピュータ・プログラミング技術及び言語を利用して実現され得ることが、理解されるであろう。本願は特定のプロセッサ、コンピュータ言語、コンピュータ・プログラミング規則、データ構造、又は他のそのような実装の詳細に限定されない。
上記の実施形態は本発明を限定ではなく例示していること、及び当業者は添付の特許請求の範囲に規定されるような発明の範囲から逸脱することなく、多くの代替的な実施形態を設計し得ることに留意すべきである。特許請求の範囲において、括弧内の任意の参照符号は特許請求の範囲を限定するように解釈されてはならない。「有している」及び「有する」等の言葉は、任意の請求項又は明細書全体として列挙されているもの以外の要素又はステップの存在を排除していない。本明細書において、「~を有する」は「~を含む又は~から成る」を意味し、「~を有している」は「~を含んでいる又は~から構成されている」を意味している。要素の単独の参照は、そのような要素の複数の参照を排除しておらず、逆もまた同様である。発明は、幾つかの別個の要素を含むハードウェアによって、及び適切にプログラムされたコンピュータによって実現され得る。幾つかの手段を列挙する装置の請求項において、これらのうち幾つかの手段はハードウェアの1つの同じアイテムにより具現化されてもよい。所定の複数の事項が相互に異なる従属請求項で引用されているという単なるその事実は、これらの事項の組み合わせが有利に使用され得ないことを示すものではない。

Claims (16)

  1. ブロックチェーンを実現するために使用される相互接続されたノードのネットワーク上でブロックチェーン・トランザクションの分散を促すように構成される特殊ネットワーク・ノードであって、前記ノードの部分集合はオーバーレイ・ネットワークにより相互接続される特殊ネットワーク・ノードであり、前記特殊ネットワーク・ノードは:
    プロセッサ;
    分散ハッシュ・テーブルとして構造化された分散されたメンプールのうちの指定された部分を格納するメモリであって、前記分散されたメンプールは承認を待機しているペンディング・トランザクションを含む、メモリ;
    ネットワーク・インターフェース;及び
    プロセッサ実行可能な命令を含むブロックチェーン特殊ネットワーク・ノード・アプリケーション;
    を含み、前記命令は、前記プロセッサにより実行されると、前記プロセッサに:
    トランザクション識別子を含むトランザクションを受信すること;
    キーを得るために前記トランザクション識別子をハッシュすること;
    前記分散されたメンプールに前記トランザクションが格納されているか否かを前記キーを利用して確認し、格納されていない場合、前記トランザクションをペンディング・トランザクションとして前記分散されたメンプールに格納すること;及び
    前記トランザクションを特殊ネットワーク・ノード以外のノード群へピア・ツー・ピア・コネクションを利用して送信すること;
    を行わせる特殊ネットワーク・ノード。
  2. 前記メモリは、前記トランザクションを含み且つ前記ブロックチェーンに含まれるブロックの承認数に関するデータを更に格納し、前記命令は、前記承認数が最低数に到達した場合に、前記分散されたメンプールから前記トランザクションを削除することを前記プロセッサに行わせる、請求項1に記載の特殊ネットワーク・ノード。
  3. 前記承認数に関する前記データは、前記ブロックチェーンに追加される新たなブロック各々に関して更新される承認数のカウント、又は前記トランザクションが含まれる前記ブロックのブロック番号の何れかである、請求項2に記載の特殊ネットワーク・ノード。
  4. 前記メモリは、検出された新たな近隣の特殊ネットワーク・ノードに関する識別子と、前記新たな近隣の特殊ネットワーク・ノードの検出されたアクティビティに基づく新たな近隣の特殊ネットワーク・ノードの関連するスコアとを含む特殊ネットワーク・ノード評判テーブルを更に格納する、請求項1-3のうち何れか一項に記載の特殊ネットワーク・ノード。
  5. 前記命令は、前記新たな近隣の特殊ネットワーク・ノードの前記スコアを更新すること、及び前記新たな近隣の特殊ネットワーク・ノードの前記スコアが閾値より下に落ちたことを判定し、その結果、前記新たな近隣の特殊ネットワーク・ノードを悪意のノードとして指定し、前記新たな近隣の特殊ネットワーク・ノードを孤立させることを前記プロセッサに行わせるように構成されている、請求項4に記載の特殊ネットワーク・ノード。
  6. 前記分散されたメンプールのうちの前記指定された部分は、前記特殊ネットワーク・ノードのうちの別のものに格納された前記分散されたメンプールの第2部分と部分的にオーバーラップしている、請求項1-5のうち何れか一項に記載の特殊ネットワーク・ノード。
  7. 前記特殊ネットワーク・ノードの各々は、前記分散されたメンプールの各自指定された部分を格納し、前記各自指定された部分は、前記ペンディング・トランザクションの各々が少なくとも2つの前記特殊ネットワーク・ノードに格納されるが、前記特殊ネットワーク・ノードの全てには格納されないように、部分的にオーバーラップし、選択的に、前記ペンディング・トランザクションの各々は、前記分散されたメンプールの各自指定された2つに過ぎない部分に含まれる、請求項1-5のうち何れか一項に記載の特殊ネットワーク・ノード。
  8. ブロックチェーンを実現するために使用されるネットワークに結合される複数のノードに関わるブロックチェーン転送を促進するコンピュータで実現される方法であって、前記複数のノードの部分集合は特殊ネットワーク・ノードであり、前記特殊ネットワーク・ノードは、承認を待機するペンディング・トランザクションを含む分散されたメンプールを格納し、前記分散されたメンプールは前記特殊ネットワーク・ノードの中で分散ハッシュ・テーブルとして実現され、前記方法は:
    トランザクション識別子を含むトランザクションを受信するステップ;
    キーを得るために前記トランザクション識別子をハッシュするステップ;
    前記分散されたメンプールに前記トランザクションが格納されているか否かを前記キーを利用して確認し、格納されていない場合、前記トランザクションをペンディング・トランザクションとして前記分散されたメンプールに格納するステップ;及び
    前記トランザクションを特殊ネットワーク・ノード以外のノード群へピア・ツー・ピア・コネクションを利用して送信するステップ;
    を含む方法。
  9. 前記トランザクションを含み且つ前記ブロックチェーンに含まれるブロックの承認数を判定し、前記承認数が最低数に到達した場合に、前記分散されたメンプールから前記トランザクションを削除するステップを更に含む請求項8に記載の方法。
  10. 前記トランザクションを前記メンプールに格納するステップが、トランザクションが含まれるブロックの承認数に関連して前記トランザクションを格納するステップを含み、前記トランザクションに関して前記メンプールに格納される承認数は、新たなブロックが前記ブロックチェーンに追加されると更新される、請求項9に記載の方法。
  11. 前記トランザクションを前記メンプールに格納するステップが、トランザクションが含まれるブロックの承認数に関連して前記トランザクションを格納するステップを含み、前記承認数を決定することは、前記ブロックチェーンに関する現在のブロック番号を確認し、前記現在のブロック番号と、前記トランザクションが含まれている前記ブロックのブロック番号とを比較することを含む、請求項9に記載の方法。
  12. 新たな近隣の特殊ネットワーク・ノードを検出するステップ;
    前記新たな近隣の特殊ネットワーク・ノードの識別子を、特殊ネットワーク・ノード評判テーブルに格納するステップ;及び
    前記新たな近隣の特殊ネットワーク・ノードの検出されたアクティビティに基づいて、前記特殊ネットワーク・ノード評判テーブルにおける前記新たな近隣の特殊ネットワーク・ノードのスコアを更新するステップ;
    を更に含む請求項8-11のうち何れか一項に記載の方法。
  13. 前記新たな近隣の特殊ネットワーク・ノードの前記スコアが閾値より下に落ちたことを判定し、その結果、前記新たな近隣の特殊ネットワーク・ノードを悪意のノードとして指定し、前記新たな近隣の特殊ネットワーク・ノードを孤立させるステップを更に含む請求項12に記載の方法。
  14. 前記特殊ネットワーク・ノードのうちの1つが前記分散されたメンプールの一部分を格納し、前記特殊ネットワーク・ノードのうちの前記1つに格納された前記分散されたメンプールのうちの一部分は、前記特殊ネットワーク・ノードのうちの別のものに格納された前記分散されたメンプールの第2部分と部分的にオーバーラップしている、請求項8-13のうち何れか一項に記載の方法。
  15. 前記特殊ネットワーク・ノードの各々は、前記分散されたメンプールの各自の部分を格納し、前記各自の部分は、前記ペンディング・トランザクションの各々が少なくとも2つの前記特殊ネットワーク・ノードに格納されるが、前記特殊ネットワーク・ノードの全てには格納されないように、部分的にオーバーラップし、選択的に、前記ペンディング・トランザクションの各々は、前記分散されたメンプールの2つに過ぎない各自の部分に含まれる、請求項8-13のうち何れか一項に記載の方法。
  16. 複数の参加ノードの中でブロックチェーン・トランザクションに参加するためのプロセッサ実行可能な命令を格納する非一時的なプロセッサ読み取り可能な媒体であって、前記プロセッサ実行可能な命令は、前記参加ノードのうちの1つにおけるプロセッサにより実行されると、請求項8-15のうち何れか一項に記載の方法を前記プロセッサに実行させる、非一時的なプロセッサ読み取り可能な媒体。
JP2019568215A 2017-06-20 2018-06-19 ブロックチェーン・ネットワークにおける高速伝搬のための方法及び特殊ネットワーク・ノード Active JP7154234B6 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022159994A JP7413477B2 (ja) 2017-06-20 2022-10-04 ブロックチェーン・ネットワークにおける高速伝搬のための方法及び特殊ネットワーク・ノード
JP2023220532A JP2024038152A (ja) 2017-06-20 2023-12-27 ブロックチェーン・ネットワークにおける高速伝搬のための方法及び特殊ネットワーク・ノード

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1709848.4 2017-06-20
GBGB1709848.4A GB201709848D0 (en) 2017-06-20 2017-06-20 Computer-implemented system and method
PCT/IB2018/054501 WO2018234987A1 (en) 2017-06-20 2018-06-19 RAPID PROPAGATION OF RECENT TRANSACTIONS ON A BLOCK CHAIN NETWORK

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022159994A Division JP7413477B2 (ja) 2017-06-20 2022-10-04 ブロックチェーン・ネットワークにおける高速伝搬のための方法及び特殊ネットワーク・ノード

Publications (3)

Publication Number Publication Date
JP2020524434A JP2020524434A (ja) 2020-08-13
JP7154234B2 JP7154234B2 (ja) 2022-10-17
JP7154234B6 true JP7154234B6 (ja) 2022-11-28

Family

ID=59462262

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2019568215A Active JP7154234B6 (ja) 2017-06-20 2018-06-19 ブロックチェーン・ネットワークにおける高速伝搬のための方法及び特殊ネットワーク・ノード
JP2022159994A Active JP7413477B2 (ja) 2017-06-20 2022-10-04 ブロックチェーン・ネットワークにおける高速伝搬のための方法及び特殊ネットワーク・ノード
JP2023028186A Active JP7559111B2 (ja) 2017-06-20 2023-02-27 ブロックチェーン・ネットワークにおける高速伝搬のための方法及び特殊ネットワーク・ノード
JP2023220532A Pending JP2024038152A (ja) 2017-06-20 2023-12-27 ブロックチェーン・ネットワークにおける高速伝搬のための方法及び特殊ネットワーク・ノード

Family Applications After (3)

Application Number Title Priority Date Filing Date
JP2022159994A Active JP7413477B2 (ja) 2017-06-20 2022-10-04 ブロックチェーン・ネットワークにおける高速伝搬のための方法及び特殊ネットワーク・ノード
JP2023028186A Active JP7559111B2 (ja) 2017-06-20 2023-02-27 ブロックチェーン・ネットワークにおける高速伝搬のための方法及び特殊ネットワーク・ノード
JP2023220532A Pending JP2024038152A (ja) 2017-06-20 2023-12-27 ブロックチェーン・ネットワークにおける高速伝搬のための方法及び特殊ネットワーク・ノード

Country Status (6)

Country Link
US (4) US11418590B2 (ja)
EP (3) EP4123961A1 (ja)
JP (4) JP7154234B6 (ja)
CN (2) CN110754070B (ja)
GB (1) GB201709848D0 (ja)
WO (1) WO2018234987A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3979553B1 (en) * 2017-06-07 2024-06-19 nChain Licensing AG Credential generation and distribution method and system for a blockchain network
US10616324B1 (en) * 2017-07-20 2020-04-07 Architecture Technology Corporation Decentralized ledger system and method for enterprises
GB201719654D0 (en) * 2017-11-27 2018-01-10 Nchain Holdings Ltd Computer-implemented system and method
CN112492006B (zh) * 2018-10-31 2023-12-05 创新先进技术有限公司 一种基于区块链的节点管理方法和装置
CN109863522B (zh) 2018-12-28 2023-09-26 创新先进技术有限公司 使用交易重发加速区块链网络中的交易交付
CN109792382B (zh) * 2018-12-28 2022-07-12 创新先进技术有限公司 使用全局加速节点提高区块交易速度的方法、系统和存储介质
KR20200083933A (ko) 2018-12-28 2020-07-09 알리바바 그룹 홀딩 리미티드 가속 노드를 이용하는 블록체인 네트워크에서의 트랜잭션 전달의 가속화
CN112116346A (zh) * 2019-06-20 2020-12-22 北京威宁特科技有限公司 快速确认交易的区块链和区块链上快速确认交易方法
US11336457B2 (en) * 2019-07-11 2022-05-17 Mastercard International Incorporated Method and system for pre-authorization of orphaned blockchain transactions
CN110535836B (zh) * 2019-08-12 2021-10-29 安徽师范大学 一种基于角色分类的信任区块链共识方法
CN111324633A (zh) * 2020-02-18 2020-06-23 杭州复杂美科技有限公司 一种区块链交易分布式缓存方法和系统、设备及存储介质
WO2023078570A1 (en) * 2021-11-08 2023-05-11 Huawei Technologies Co., Ltd. Multicast service invocation for dynamic group sizes in constraint-based service routing
WO2024052326A1 (en) 2022-09-09 2024-03-14 Nchain Licensing Ag Computer-implemented methods and systems for improved communications across a blockchain network
CN115296824B (zh) * 2022-10-08 2022-12-16 中国科学院合肥物质科学研究院 基于多尺度节点管理的区块链网络分级传输方法及存储介质
CN115766745B (zh) * 2023-01-09 2023-05-23 杭州安碣信息安全科技有限公司 一种区块链节点内存池交易数据收集、广播的方法和装置
GB2627295A (en) * 2023-02-20 2024-08-21 Nchain Licensing Ag Sending and receiving blockchain data
GB2627297A (en) * 2023-02-20 2024-08-21 Nchain Licensing Ag Propagating blockchain messages

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017010455A1 (ja) 2015-07-13 2017-01-19 日本電信電話株式会社 契約合意方法、合意検証方法、契約合意システム、合意検証装置、契約合意装置、契約合意プログラム及び合意検証プログラム
US20170033932A1 (en) 2013-08-05 2017-02-02 Guardtime Ip Holdings Limited Blockchain-supported, node id-augmented digital record signature method
JP2017091149A (ja) 2015-11-09 2017-05-25 日本電信電話株式会社 ブロックチェーン生成装置、ブロックチェーン生成方法、ブロックチェーン検証装置、ブロックチェーン検証方法およびプログラム
CN107103252A (zh) 2017-04-27 2017-08-29 电子科技大学 基于区块链的数据访问控制方法

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7206934B2 (en) 2002-09-26 2007-04-17 Sun Microsystems, Inc. Distributed indexing of identity information in a peer-to-peer network
JP4271620B2 (ja) * 2004-06-10 2009-06-03 日本電信電話株式会社 分散型データ処理/管理装置及びその方法
US8582469B2 (en) * 2007-11-14 2013-11-12 Cisco Technology, Inc. Peer-to-peer network including routing protocol enhancement
CN103729461B (zh) 2014-01-12 2017-02-01 中国科学院软件研究所 一种基于历史记录数据挖掘的发布和订阅方法
FR3018378A1 (fr) * 2014-03-12 2015-09-11 Enrico Maim Systeme et procede transactionnels a architecture repartie fondees sur des transactions de transferts d'unites de compte entre adresses
US9830580B2 (en) 2014-03-18 2017-11-28 nChain Holdings Limited Virtual currency system
US9704143B2 (en) * 2014-05-16 2017-07-11 Goldman Sachs & Co. LLC Cryptographic currency for securities settlement
AU2016242888A1 (en) * 2015-03-31 2017-11-16 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
JP6704985B2 (ja) 2015-04-05 2020-06-03 デジタル・アセット・ホールディングス・エルエルシー デジタル資産仲介電子決済プラットフォーム
US11188899B2 (en) * 2015-04-07 2021-11-30 Dmg Blockchain Solutions Inc. Off network identity tracking in anonymous cryptocurrency exchange networks
US9735958B2 (en) 2015-05-19 2017-08-15 Coinbase, Inc. Key ceremony of a security system forming part of a host computer for cryptographic transactions
WO2017027484A1 (en) * 2015-08-09 2017-02-16 Ramasamy Celambarasan System and method for microshare based content funding and distribution
US10402792B2 (en) * 2015-08-13 2019-09-03 The Toronto-Dominion Bank Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers
CN108701276B (zh) 2015-10-14 2022-04-12 剑桥区块链有限责任公司 用于管理数字身份的系统和方法
KR101637854B1 (ko) * 2015-10-16 2016-07-08 주식회사 코인플러그 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법 및 블록체인을 기반으로 하는 공인인증서 인증시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 인증방법
EP4375908A1 (en) * 2015-10-17 2024-05-29 Banqu, Inc. Blockchain-based identity and transaction platform
US20170116693A1 (en) * 2015-10-27 2017-04-27 Verimatrix, Inc. Systems and Methods for Decentralizing Commerce and Rights Management for Digital Assets Using a Blockchain Rights Ledger
US11941588B2 (en) 2015-11-06 2024-03-26 Cable Television Laboratories, Inc. Systems and methods for blockchain virtualization and scalability
US20170236123A1 (en) 2016-02-16 2017-08-17 Blockstack Inc. Decentralized processing of global naming systems
US10318938B2 (en) 2016-02-22 2019-06-11 Bank Of America Corporation System for routing of process authorization and settlement to a user in process data network based on specified parameters
US10404469B2 (en) * 2016-04-08 2019-09-03 Chicago Mercantile Exchange Inc. Bilateral assertion model and ledger implementation thereof
KR102050129B1 (ko) 2016-05-03 2019-11-28 안규태 블록 검증을 위한 복수의 일방향 함수를 지원하는 블록 체인
SG11201809963XA (en) 2016-05-11 2018-12-28 Nasdaq Inc Application framework using blockchain-based asset ownership
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
US10361853B2 (en) * 2016-10-12 2019-07-23 Bank Of America Corporation Automated data authentication and service authorization via cryptographic keys in a private blockchain
US10291627B2 (en) 2016-10-17 2019-05-14 Arm Ltd. Blockchain mining using trusted nodes
CN106534273B (zh) * 2016-10-31 2022-04-15 中金云金融(北京)大数据科技股份有限公司 区块链元数据存储系统及其存储方法与检索方法
US11651368B2 (en) * 2016-11-14 2023-05-16 American Express Travel Related Services Company, Inc. System and method for automated linkage of enriched transaction data to a record of charge
US10554746B2 (en) * 2016-11-14 2020-02-04 International Business Machines Corporation Decentralized immutable storage blockchain configuration
CN106790112B (zh) * 2016-12-26 2020-05-05 重庆高开清芯科技产业发展有限公司 一种集成轻量级区块链的节点操作系统及数据更新的方法
US20180189449A1 (en) 2017-01-04 2018-07-05 International Business Machines Corporation Tracking items used for providing medical services
CN110506409A (zh) * 2017-01-13 2019-11-26 维萨国际服务协会 安全区块链管理技术
US10560268B2 (en) 2017-02-13 2020-02-11 International Business Machines Corporation Node characterization in a blockchain
US10581841B2 (en) * 2017-02-13 2020-03-03 Zentel Japan Corporation Authenticated network
US20180268418A1 (en) * 2017-03-16 2018-09-20 American Express Travel Related Services Company, Inc. Warranty enriched transactions
US10611474B2 (en) 2017-03-20 2020-04-07 International Business Machines Corporation Unmanned aerial vehicle data management
US10198949B2 (en) 2017-04-28 2019-02-05 Mastercard International Incorporated Method and system for parking verification via blockchain
US10713963B2 (en) 2017-05-25 2020-07-14 International Business Machines Corporation Managing lifelong learner events on a blockchain

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170033932A1 (en) 2013-08-05 2017-02-02 Guardtime Ip Holdings Limited Blockchain-supported, node id-augmented digital record signature method
WO2017010455A1 (ja) 2015-07-13 2017-01-19 日本電信電話株式会社 契約合意方法、合意検証方法、契約合意システム、合意検証装置、契約合意装置、契約合意プログラム及び合意検証プログラム
JP2017091149A (ja) 2015-11-09 2017-05-25 日本電信電話株式会社 ブロックチェーン生成装置、ブロックチェーン生成方法、ブロックチェーン検証装置、ブロックチェーン検証方法およびプログラム
CN107103252A (zh) 2017-04-27 2017-08-29 电子科技大学 基于区块链的数据访问控制方法

Also Published As

Publication number Publication date
JP7559111B2 (ja) 2024-10-01
EP3643034B1 (en) 2022-08-17
US20240163336A1 (en) 2024-05-16
JP2022185070A (ja) 2022-12-13
US11863624B2 (en) 2024-01-02
JP2023071805A (ja) 2023-05-23
WO2018234987A1 (en) 2018-12-27
JP7413477B2 (ja) 2024-01-15
EP3643034A1 (en) 2020-04-29
CN110754070B (zh) 2022-12-06
CN115811396A (zh) 2023-03-17
US11418590B2 (en) 2022-08-16
GB201709848D0 (en) 2017-08-02
EP4123961A1 (en) 2023-01-25
JP2020524434A (ja) 2020-08-13
JP7154234B2 (ja) 2022-10-17
CN110754070A (zh) 2020-02-04
US12034806B2 (en) 2024-07-09
JP2024038152A (ja) 2024-03-19
US20230082444A1 (en) 2023-03-16
US20200162550A1 (en) 2020-05-21
US20230216920A1 (en) 2023-07-06
EP4213444A1 (en) 2023-07-19
EP3643034B8 (en) 2022-09-21

Similar Documents

Publication Publication Date Title
JP7154234B6 (ja) ブロックチェーン・ネットワークにおける高速伝搬のための方法及び特殊ネットワーク・ノード
JP7408619B2 (ja) ブロックチェーンネットワークにおいて大規模分散メモリプールを管理するためのコンピュータ実装されたシステム及び方法
JP7518220B2 (ja) ブロックチェーン・ネットワークのノードに関する方法
JP7432686B2 (ja) ブロックチェーンネットワークにおける効率的な伝播のための確率的リレー
JP7477576B2 (ja) ブロックチェーンネットワークにおける整合性のある分散型メモリプールのための方法及びシステム
CN111801925B (zh) 在网络中传播数据的基于区块链的系统和方法
CN111406396B (zh) 用于诸如区块链网络等网络中的数据传播和通信的计算机实现的系统和方法
JP2021508877A (ja) 高性能分散型記録システム
JP2022508247A (ja) 信頼度ベースのコンセンサスを伴う高性能分散型記録システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210521

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220720

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

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220815

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221004

R150 Certificate of patent or registration of utility model

Ref document number: 7154234

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150