JP2021522706A - ブロックチェーンネットワークの分割 - Google Patents

ブロックチェーンネットワークの分割 Download PDF

Info

Publication number
JP2021522706A
JP2021522706A JP2020557947A JP2020557947A JP2021522706A JP 2021522706 A JP2021522706 A JP 2021522706A JP 2020557947 A JP2020557947 A JP 2020557947A JP 2020557947 A JP2020557947 A JP 2020557947A JP 2021522706 A JP2021522706 A JP 2021522706A
Authority
JP
Japan
Prior art keywords
transaction
node
shard
blockchain
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2020557947A
Other languages
English (en)
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
Priority claimed from GBGB1806914.6A external-priority patent/GB201806914D0/en
Priority claimed from GBGB1806909.6A external-priority patent/GB201806909D0/en
Priority claimed from GBGB1806930.2A external-priority patent/GB201806930D0/en
Priority claimed from GBGB1806907.0A external-priority patent/GB201806907D0/en
Priority claimed from GBGB1806911.2A external-priority patent/GB201806911D0/en
Application filed by Nchain Holdings Ltd filed Critical Nchain Holdings Ltd
Publication of JP2021522706A publication Critical patent/JP2021522706A/ja
Priority to JP2024014543A priority Critical patent/JP2024032953A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/278Data partitioning, e.g. horizontal or vertical partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/22Payment schemes or models
    • G06Q20/223Payment schemes or models based on the use of peer-to-peer networks
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • G06Q20/0658Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed locally
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3678Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography
    • 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/56Financial cryptography, e.g. electronic payment or e-cash

Abstract

ブロックチェーントランザクションを承認するコンピュータ実施方法が開示される。当該方法は、少なくとも1つのUTXOを含む少なくとも1つのシャードのメンバーノードからトランザクションの少なくとも1つのそれぞれのインプットにより参照される少なくとも1つのUTXOを要求するステップと、少なくとも1つのノードから少なくとも1つのUTXOの有効性データを取得するステップと、有効性データを使用して少なくとも1つのインプットに対して承認チェックを実行するステップとを含む。

Description

本開示は、ブロックチェーンネットワークを分割するための方法及び分割されたブロックチェーンネットワークのトランザクションを承認するための方法に関し、排他的ではないが、特に、ビットコインブロックチェーンの未使用トランザクションアウトプット(unspent transaction output, UTXO)セットを分割するための方法及びビットコインブロックチェーンの分割されたUTXOセットのトランザクションを承認するための方法に関する。
この文献では、全ての形式の電子的なコンピュータに基づく分散型の台帳を含む「ブロックチェーン(blockchain)」という用語を使用する。これらは、コンセンサスに基づくブロックチェーン及びトランザクションチェーン技術、プライベート型(permissioned)及びパブリック型(un-permissioned)台帳、共有台帳及びこれらの変形を含む。ブロックチェーン技術の最も広く知られているアプリケーションはビットコイン台帳であるが、他のブロックチェーンの実装も提案されて開発されている。ここでは、便宜上及び説明上の目的でビットコインが参照されることがあるが、本開示は、ビットコインブロックチェーンでの使用に限定されず、代替のブロックチェーンの実装及びプロトコルも、本開示の範囲内に入る点に留意すべきである。「ユーザ」という用語は、ここでは人間又はプロセッサに基づくリソースを示すことがある。「ビットコイン」という用語は、ここではビットコインプロトコルから派生するか或いはこれに基づくいずれかのバージョン又はバリエーションを含むように使用される。
ブロックチェーンは、ピアツーピアの電子台帳であり、これは、結果としてトランザクションで構成される、ブロックで構成されるコンピュータに基づく非集中的な分散型システムとして実装される。各トランザクションは、ブロックチェーンシステム内の参加者の間のデジタル資産の制御の移転を符号化するデータ構造であり、少なくとも1つのインプット及び少なくとも1つのアウトプットを含む。各ブロックは、前のブロックのハッシュを含み、それにより、ブロックチェーンの開始以降にブロックチェーンに書き込まれた全てのトランザクションの永続的で修正不可能なレコードを作成するように、ブロックが一緒につながれる。トランザクションは、トランザクションのインプット及びアウトプットに埋め込まれたスクリプトとして知られる小さいプログラムを含み、これは、トランザクションのアウトプットがどのように誰によってアクセスできるかを指定する。ビットコインプラットフォームでは、これらのスクリプトはスタックに基づくスクリプト言語を使用して記述される。
トランザクションがブロックチェーンに書き込まれるために、これは「承認され(validated)」なければならない。ネットワークノード(マイナー)は、各トランザクションが有効であることを確保するために作業を実行し、無効なトランザクションはネットワークから拒否される。ノードにインストールされたソフトウェアクライアントは、ロック及びロック解除スクリプトを実行することにより、未使用トランザクション(unspent transaction, UTXO)に対してこの承認動作を実行する。ロック及びロック解除スクリプトの実行がTRUEに評価された場合、トランザクションは有効であり、トランザクションはブロックチェーンに書き込まれる。したがって、トランザクションがブロックチェーンに書き込まれるために、これは、i)トランザクションを受信した最初のノードにより承認されなければならず、トランザクションが承認された場合、ノードはそれをネットワーク内の他のノードに中継し、ii)マイナーにより構築された新たなブロックに追加されなければならず、且つ、iii)マイニングされなければならず、すなわち、過去のトランザクションの公開台帳に追加されなければならない。
ブロックチェーン技術は、暗号通貨の実装の使用にとって最も広く知られているが、デジタル起業家は、新たなシステムを実装するために、ビットコインが基礎となる暗号セキュリティシステムと、ブロックチェーンに記憶できるデータとの双方の使用を調査し始めている。ブロックチェーンが、暗号通貨の領域に限定されない自動化タスク及びプロセスに使用され得る場合には、非常に有利になる。このような解決策は、ブロックチェーンの利点(例えば、イベントの永続的な改ざん防止記録、分散処理等)を利用することができる一方で、これらの用途においてより多目的になることができる。
上記のように、ブロックチェーンネットワーク、例えば、ビットコインブロックチェーンネットワークは、安全な分散型コンピューティングシステムである。システムのフルノード(full node)は、全体のブロックチェーンのコピーを保持及び管理し、トランザクションを送信及び受信し、これらを承認し、共有分散型コンセンサスプロトコルに基づいてブロックをブロックチェーンに追加する。この手法は安全であるが、各トランザクションが全てのフルノードにより承認されて記憶されるという事実に関連するスケーリングの欠陥を有する。承認に関して、これは、各トランザクションがマイナーに向かって伝搬できる前に承認される必要があるので、トランザクションのネットワーク伝搬の遅延を引き起こす。さらに、承認に起因する遅延は、ネットワークを、シビル(Sybil)攻撃のような「二重支出(double-spend)」に関連する攻撃の影響を受けやすくする。
本開示は、シャード(shard)されたブロックチェーンネットワーク上でトランザクションを割り当てる及び/又は承認するのための関連技術又はプロトコルと共に、シャーディング(sharding)としても知られる水平分割の使用を通じて、ブロックチェーンネットワークのスケーラビリティ、速度、信頼性及びセキュリティを改善することを目的とする。以下に、
・シャードされたブロックチェーンのネットワーク構造、及び
・シャードされたUTXO及びメモリプール(mempool)構造
について開示する。
当該技術分野における分割は、2つの特定の次元、すなわち、水平次元及び垂直次元を考慮する。シャードとして知られる水平分割データベースの分割セクションでは、特定のデータベーススキーマの複数のインスタンスが事実上存在し、データはこれらのインスタンスのそれぞれの間に広がり、インスタンスの冗長性を割り引いている。しかし、垂直分割は、特定のデータベーススキーマを複数のノードの間で分割することであり、それにより、特定のオブジェクトの属性は正規化を使用して分散される。
ブロックチェーンネットワークに関与することを望む異なる関係者は、小さい低電力マシンからサーバーファームまでの範囲の、様々なコンピューティングリソースを保有できる。したがって、参加者は、コンピューティングリソースによって、ブロックチェーンネットワークにおける所定のレベルの関与に制限される。
ビットコインでは、ブロックチェーン自体は、ブロックの作成時にマイニングされたコインの所有権の特定の変化を示す連結されたトランザクションのセットである。トランザクションの承認中に、必要とされるチェックの1つは、二重支出が存在していないことをチェックすることである。二重支出は、トランザクションアウトプットが既にビットコインメモリプールにあるか或いはブロックチェーンに対して確認されているトランザクションインプットで参照されたときに生じる。メモリプールは、各フルノードが自身のために維持管理するビットコイントランザクションのためのメモリプール又は領域への参照であることが知られている。従来、トランザクションがノードによって検証された後に、ブロックに挿入されるまでメモリプール内で待機する。トランザクションの承認を、トランザクションインプットをチェックする点でより効率的にするために、全体のブロックチェーンを承認する代わりに、ネットワークの現在の状態が、UTXOセットとして知られる独立した構造内に保持される。この構造は、トランザクションにより既に使用されることになっている各トランザクションアウトプットを含み、これは、コインベース及び標準トランザクションを含むことができる。
本開示の一態様によれば、ブロックチェーンネットワークをシャードに分割するコンピュータ実施方法が提供される。当該方法は、ブロックチェーントランザクションのトランザクションIDを識別するステップと、トランザクションIDに基づいてトランザクションをシャードに割り当てるステップとを含む。
ブロックチェーンネットワークをシャードに分割することは、ユーザがブロックチェーンネットワークとの関与の自分のレベルを選択することを可能にする。各ユーザは、1つ以上のシャードのメンバーになることを選択できる。全てのシャードよりも少ないメンバーであるユーザは、ユーザがメンバーであるシャードに割り当てられたトランザクションの全てを記憶するために、より少ない記憶空間を必要とする。トランザクションIDに基づいてトランザクションをシャードに割り当てることは、結果としてのシャードのサイズがほぼ等しくなるという利点を提供し、それにより、より小さいシャードのメンバーに対してより大きいシャードのメンバーに過度の負担をかけることを回避し、同時に、トランザクション及び関連する検証が過度の遅延なく正確に実行されることを可能にする。
ここで言及されるユーザは、1つ以上のノード又は計算デバイスに関連付けられてもよく、これらのノードはまた、分割されたブロックチェーンネットワーク内のクライアントエンティティとも呼ばれてもよい。以下、ユーザへの言及はまた、ユーザに関連付けられたノード又はエンティティ(シャード又は分割されたブロックチェーンネットワークの一部であるノード又はエンティティを所有又は制御してもよい)への言及であると理解されてもよい。各ノードは、分割されたブロックチェーンネットワーク内の少なくとも1つ以上の他のノードと通信可能に結合されてもよい。
本開示の他の態様(以下に説明する)と共に、これに関連してここで説明するこれらの利点は、ノードの構造と、シャードされたブロックチェーンネットワークの結果のネットワークトポロジー及びアーキテクチャと、ネットワークのノードに関連するプロトコルに起因する。このようなシャードされたネットワークにおいてUTXOを受信、記憶及び/又は承認することは、異なるシャードに属するノードとの通信に関連するルール及びプロトコルに基づいて、各シャード内のノードについての承認技術と共に、通信、データ記憶、データ共有のための、説明すると共に特許請求の範囲に記載される方法、ルール又はプロトコルを使用して実行される。
これらの特定の構造、データフローの方法、トランザクション割り当て及び承認プロトコルについて、本開示の様々な実施形態に関して以下に更に説明する。有利には、シャードされたブロックチェーンネットワーク内のトランザクションの割り当て及びこのような割り当てられたトランザクションの承認のためにここに記載されるシャードされたネットワーク構造又はアーキテクチャ及び関連する方法は、データフロー、データ記憶及びUTXO承認チェックのための新規な技術を可能にする。さらに、これらの技術は、構造及びデータ通信/承認プロトコルの観点から、ビットコインブロックチェーンにおけるシビル攻撃のような二重支出攻撃を有利に防止する。
当該方法は、トランザクションIDを使用して動作を実行するステップを更に含んでもよい。トランザクションをシャードに割り当てるステップは、動作の結果に基づいてもよい。
これは、シャードの配置が動作の選択に依存して調整できるという利点を提供する。
動作は、モジュロ演算を含んでもよい。
これは、所望の数の等しいサイズのシャードがより容易に生成できるという利点を提供する。
本開示によれば、ブロックチェーンネットワークをシャードに分割する更なるコンピュータ実施方法が提供される。当該方法は、親ブロックチェーントランザクションを識別するステップであり、親トランザクションは、子ブロックチェーントランザクションのインプットに対応するアウトプットにより定義される、ステップと、親トランザクション及び子トランザクションを同じシャードに割り当てるステップとを含む。
ブロックチェーンネットワークをシャードに分割することは、ユーザがブロックチェーンネットワークとの関与の自分のレベルを選択することを可能にする。各ユーザは、1つ以上のシャードのメンバーになることを選択できる。全てのシャードよりも少ないメンバーであるユーザは、ユーザがメンバーであるシャードに割り当てられたトランザクションの全てを記憶するために、より少ない記憶空間を必要とする。子ブロックチェーントランザクションのインプットに対応するアウトプットにより定義される親ブロックチェーントランザクションを識別し、親トランザクション及び子トランザクションを同じシャードに割り当てることに基づいて、トランザクションをシャードに割り当てることは、特定のシャードのメンバーであるユーザにより実行される承認動作が、異なるシャードのメンバーであるユーザに/ユーザから送信される少ない情報を必要としつつ実行され得るという利点を提供する。この理由は、承認されている子トランザクションが同じシャードのメンバーである親トランザクションを常に有するためである。
親トランザクションは、子ブロックチェーントランザクションの複数のインプットのうち或るインプットを使用して識別されてもよい。使用されるインプットは、そのインデックスに基づいて選択されてもよい。インデックスは1でもよく、その場合、使用されるインプットは、複数のインプットのうち最初のインプットである。
これは、複数のインプットを有する子トランザクションがシャードに割り当てられることを可能にするという利点を提供する。
親トランザクションは、子ブロックチェーントランザクションの複数のインプットのうち最大のサブセットのインプットを使用して識別されてもよい。例えば、子トランザクションが5つのインプットを有し、5つのうち2つが前のトランザクションの2つのアウトプットを参照し、残りの3つのインプットのそれぞれが3つの異なる前のトランザクションを参照する場合、親トランザクションは、2つのインプットが最大のサブセットのインプットであるので、2つのインプットが共に参照する前のトランザクションとして定義される。
これは、複数のインプットを有する子トランザクションについて、異なるシャードのメンバーであるユーザから必要とされる情報の量が低減されるという利点を提供する。
本開示によれば、ブロックチェーントランザクションを承認するためのコンピュータ実施方法も提供される。当該方法は、少なくとも1つのUTXOを含む少なくとも1つのシャードのメンバーノードからトランザクションの少なくとも1つのそれぞれのインプットにより参照される少なくとも1つのUTXOを要求するステップと、少なくとも1つのノードから少なくとも1つのUTXOの有効性データを取得するステップと、有効性データを使用して少なくとも1つのインプットに対して承認チェックを実行するステップとを含む。
この方法は、ブロックチェーントランザクションの承認がシャードされたブロックチェーンネットワークで行われることを可能にする。この方法により提供される利点は、各ユーザが1つ以上のシャードのメンバーになることを選択でき、全てのシャードよりも少ないメンバーであるユーザが、当該ユーザがメンバーであるシャードに割り当てられたトランザクションの全てを承認するために、より少ない計算能力を必要とすることである。
本開示によれば、ブロックチェーンネットワークに関連するトランザクションを承認するコンピュータ実施方法に関し、ブロックチェーンネットワークは複数のシャードに分割され、各シャードは少なくとも1つのメンバーノードを含み、ブロックチェーンネットワーク内の各ノードは、複数のシャードの中の少なくとも1つのシャードのメンバーであり、当該方法は、要求ノードにより、少なくとも1つのUTXOを含む少なくとも1つのシャードのメンバーノードからトランザクションの少なくとも1つのそれぞれのインプットにより参照される少なくとも1つのUTXOを要求するステップであり、メンバーノードは、メンバーノードがメンバーである各シャードに割り当てられた1つ以上のトランザクションに関連するUTXOのセットに関連付けられる、ステップを含み、要求された少なくとも1つのUTXOがメンバーノードから利用可能であるという決定に基づいて、当該方法は、少なくとも1つのUTXOに関連する有効性データに基づいて、少なくとも1つのインプットに対して承認チェックを実行するステップと、トランザクションが有効であるという決定に基づいて、トランザクションを要求ノードに関連するメモリプールに追加するステップと、トランザクションを、要求ノードがメンバーである少なくとも1つのシャードの他のメンバーノードに伝搬するステップとを更に含む。
本開示によれば、ブロックチェーントランザクションを承認するためのコンピュータ実施方法が更に提供される。当該方法は、トランザクションの少なくとも1つのそれぞれのインプットにより参照される少なくとも1つのUTXOを含む少なくとも1つのシャードを識別するステップと、トランザクションを少なくとも1つのシャードの少なくとも1つのメンバーノードに送信するステップと、UTXOの有効性データを使用して少なくとも1つのインプットに対して承認チェックを実行するステップとを含む。
この方法は、ブロックチェーントランザクションの承認がシャードされたブロックチェーンネットワークで行われることを可能にする。この方法により提供される利点は、各ユーザが1つ以上のシャードのメンバーになることを選択でき、全てのシャードよりも少ないメンバーであるユーザが、当該ユーザがメンバーであるシャードに割り当てられたトランザクションの全てを承認するために、より少ない計算能力を必要とすることである。
上記の方法のいずれかは、ノードのシャードメンバーシップ情報の要求を他のノードに通信するステップを更に含んでもよい。
これは、シャードメンバーシップ情報を求めるノードが、より容易にその情報を見つけるためのメカニズムを備えるという利点を提供する。
上記の方法のいずれかは、ノードのシャードメンバーシップ情報を他のノードに通信するステップを更に含んでもよい。
これは、ノードのシャードメンバーシップ情報がノードの間で転送されるメカニズムを提供し、それにより、承認動作を実行するノードが失敗する可能性を減少させるという利点を提供する。
いくつかの実施形態では、当該方法は、ノードのシャードメンバーシップ情報を、ノードに関連するシャード内の全ての他のノード及び/又はネットワーク内の1つ以上の他のノードに通信又はブロードキャストするステップを含む。当該方法はまた、通信が修正addrメッセージを使用して実行されることを含んでもよく、修正addrメッセージは、ノードが関連付けられている1つ以上のシャードの指示を含む。
通信は、修正addrメッセージを使用して実行されてもよい。
これは、ノードの間でシャードメンバーシップ情報を交換するためのより安全なメカニズムを提供するという利点を提供する。
本開示はまた、
プロセッサと、
プロセッサによる実行の結果として、システムにここに記載のコンピュータ実施方法のいずれかの実施形態を実行させる実行可能命令を含むメモリと
を含むシステムを提供する。
本開示はまた、コンピュータシステムのプロセッサにより実行された結果として、コンピュータシステムにここに記載のコンピュータ実施方法の実施形態を少なくとも実行させる実行可能命令を記憶した非一時的なコンピュータ読み取り可能記憶媒体を提供する。
以下に、本開示の好ましい実施形態について、添付の図面を参照して、限定的な意味ではなく、一般的に説明する。
本開示の第1の実施形態による、従来のブロックチェーンネットワーク(図1a)とシャードされたブロックチェーンネットワーク(図1b)との比較を示す。 本開示の第1の実施形態による、従来のブロックチェーンネットワーク(図1a)とシャードされたブロックチェーンネットワーク(図1b)との比較を示す。 本開示の第2の実施形態に関連して使用されるノード使用の回転を示す。 本開示の第3の実施形態に従ってトランザクションをシャードに割り当てる方法を示す。 第4の実施形態に従ってトランザクションをシャードに割り当てる方法を示す。 従来技術のUTXOデータ構造を示す。 本開示の第5の実施形態を示す。 本開示の第6の実施形態を示す。 本開示の第6の実施形態を示す。 本開示の第7の実施形態を示す。 本開示の第7の実施形態を示す。 本開示の様々な実施形態が実装できる計算環境を示す概略図である。
現在のブロックチェーンネットワークでは、異なるノードがほとんど構造化されていない様式でピアツーピアで接続されている(ノード発見を支援するためのビットコインクライアント内の多数のハードコードされたネットワークシードを除く)。これらのノードは、有効なトランザクション、ブロック及び他のノードに関する情報を共有するために通信する。
[シャードされたネットワークの構造]
本開示の第1の実施形態は図1bに見られ、これは、本開示による、シャードされたブロックチェーンネットワークの構造を示す。他方、図1aは、既存の、すなわち、従来技術のブロックチェーンネットワークの構造を示す。
本開示によれば、関係者がブロックチェーンネットワークにおける所定のレベルの関与に参加するために、高価で強力な計算リソースを有することへの依存を低減するために、関係者は、シャードされたブロックチェーンネットワークのいずれかの数のシャードのメンバーになることが許容されてもよい。これは、趣味を楽しむ人を含む小規模の関係者が、図1bに示すネットワークの単一のシャードのメンバーになることを選択でき、金融機関のような大規模な関係者が、図1bのシャードされたブロックチェーンネットワークの多く或いは全てのシャードのメンバーになることを選択できることを意味する。この手法は、トランザクション履歴のセキュリティを必要とし得るエンティティ又は関係者に対応し、例えば、より大きいセキュリティを望むか或いは必要とする関係者が、ブロックチェーン内の全てのトランザクションを承認して記憶できるようにする一方で、同じ(より大きい)レベルを望まないか或いは必要としない可能性があるか、或いはより軽い関与を望む可能性がある他の関係者又はエンティティも、図1bの同じシャードされたブロックチェーンネットワークに参加し、ブロックチェーンのサブセットのみを記憶し得ることを確保する。
図1bに見られるように、特定のノードは、1つ以上のシャードグループのメンバーとなることができる。これは、この図面に示す網掛け線から分かり、網掛けされた領域内のノードは、シャード2とシャード3との双方のメンバーである。通信のために、現在のビットコインネットワークとビットコインSV(Bitcoin SV, BSV)クライアントでは、利用可能なピアのリスト、すなわち、ネットワーク内のノードが、接続可能なノード、配布可能なノード及び受信可能なノードに関する情報を保持する。第1の実施形態によるシャードされたブロックチェーンでは、各ノードがどのシャードのメンバーであるかを含む更なる情報が保持される。いくつかの実装では、ネットワークの間のトランザクション伝搬を処理するために、図1bにおけるシャードされたネットワークに示す各ノードは、異なるシャード宛のこれらのトランザクションを伝搬するために、各シャードからの少なくとも単一のノードと通信し得るように配置又は構成される。いくつかの実装では、各ノードにより保持される情報は、接続可能なノード、配布可能なノード、受信可能なノードと、図1bに見られるシャードされたネットワークにおいて属するシャードを示すための、データ構造の形式でもよい。識別子、エンティティアソシエーション等のようなノードに関連する他の詳細も保持されてもよい。このデータ構造は、各ノードに関連付けられたメモリ内に保持されてもよく、或いは、例えば、シャードに関連付けられたメモリ内に保持されてもよい。
図1bに見られるようなシャードされたネットワークに関する第2の実施形態では、ノードが単一のシャード内の複数の他のノードと通信する技術について説明する。この技術は、ブロックチェーンネットワーク内の「シビル型(Sybil style)」攻撃を有利に防止する。
シビル攻撃は、単一の敵対者又は悪意のあるエンティティが、ネットワークに知られていないネットワーク上の複数のノードを制御している可能性がある攻撃である。例えば、敵対者は、複数のコンピュータ及びIPアドレスを作成してもよく、また、複数のアカウント/ノードが全て存在すると装うことを試みて、複数のアカウント/ノードを作成することができる。このような攻撃の現れは、以下の例示的な実装により見られる可能性がある。攻撃者が制御するクライアントでネットワークを埋めることを試みる場合、ノードは攻撃者のノードのみに接続する可能性が非常に高くなる。例えば、攻撃者は、ノードについてのブロック及びトランザクションを中継するのを拒否でき、事実上、その特定のノードをネットワークから切断する。これはまた、作成したブロックを攻撃者が中継することにより現れることも可能であり、事実上、ノード又はエンティティを別のネットワークに配置し、それにより、ノード及びそのノード又はエンティティに関連するトランザクションを分離し、これは、二重支出攻撃にとって開放されることを表す。したがって、シビル攻撃は、既存のブロックチェーンネットワークにとって問題である。
図1bに見られるようなシャードされたブロックチェーンネットワークにおいてシビル攻撃を防止するために、第2の実施形態によれば、ノードは、単一のシャード内の複数又は全ての他のノードと通信するように構成される。上記のように、シビル攻撃は、特定のノードから送信されたトランザクションを事実上無視でき、ネットワークを通じたこれらの伝搬を更に防止する。したがって、本開示の第2の実施形態では、図2に見られるように、所与のシャード内のノードが、他のシャード内のノードに関する情報を交換し、これらの使用を回転させることができる技術を提供する。
第2の実施形態によれば、シャードされたネットワーク内の各ノードは、全てのトランザクションを互いにブロードキャストできる。所与のノードがトランザクションに関連するシャードのメンバーではない場合(この関連付けについては、第3及び第4の実施形態を参照して以下に説明する)、完全なトランザクション承認を行う代わりに、先に伝搬する前に基本的なトランザクションレベルのチェックを実行する。いくつかの実装では、第2の実施形態に関連して上記に説明したプロトコル及びルールは、ここで説明する本開示の他の実施形態のうち1つ以上又は全てに関連し、これらの一部であると考えられる点に留意する。
異なる或いは特定の時間/インスタンスにおいて、他のノードに関する詳細もまた、特定のシャード内のノードの間で共有できる。これは、本開示の第2の実施形態に従って、addrプロトコルメッセージの修正バージョンを使用して実行される。ビットコインプロトコルの一部として現在存在するaddrメッセージの実装は、1つ以上のIPアドレス及びポートを列挙又は識別するために使用される。例えば、getaddr要求は、(例えば、ブートストラッピングのために)一束の既知のアクティブなピアを含むaddrメッセージを取得するために使用されてもよい。addrメッセージは、1つのアドレスのみをしばしば含むが、場合によっては更に多くを含み、いくつかの例では、1000個までを含む。いくつかの例では、全てのノードは、周期的に、すなわち、24時間毎に、自分のIPアドレスを含むaddrをブロードキャストする。次いで、ノードは、これらのメッセージを自分のピアに中継してもよく、新たなものである場合、中継されたアドレスを記憶できる。このように、ネットワーク内のノードは、ネットワークに接続した時点或いはその後に、どのIPがネットワークに接続されているかを合理的に明確に把握してもよい。ほとんどの場合、IPアドレスは、初期のaddrブロードキャストのため、全員のアドレスデータベースに追加される。
本開示による修正addrプロトコルの実装は、上記に加えて、特定のノードがどのシャードに属するかに関する更なる情報を送信できる。例えば、修正addrプロトコルでは、図1bのようなシャードされたネットワーク内のノードがネットワーク内の特定のシャードに参加するとき、addrメッセージの一部としてブロードキャストされるものはまた、それがメンバーである1つ以上のシャードを識別するフィールドを含んでもよい。したがって、この情報はまた、図1bのネットワーク内のピアからのgetaddr要求に応じて返信される。第1の実施形態で説明したように、このような情報は、各ノード及び/又はノードが関連する各シャードに関連するデータ構造に基づいてもよい。いくつかの実施形態では、修正addrプロトコルはまた、ノードがメンバーであるシャードの状態及び/又はノード自体の状態を含んでもよい。例えば、各メンバーのシャード内のノードの数の詳細が識別されてもよく、或いは、特定のシャードがアクティブであるか否か又は所与のシャード内のアクティブなノードの数も識別されてもよい。
[シャードされたネットワークにおけるシャードへのトランザクションの割り当て]
上記のように、シャードされたブロックチェーンネットワークでは、トランザクションは全てのノードにより承認されて記憶されるのではなく、その代わりに、1つ以上の特定のシャードに割り当てられる。したがって、トランザクションを異なるシャードに割り当てるための方策が必要である。以下に、2つの可能な実施形態について説明し、これらは、本開示の第3の実施形態による「トランザクションIDベース」のシャード及び本開示の第4の実施形態による「インプットベース」のシャードと呼ばれる。
いくつかの実装では、既存のビットコインプロトコルがいずれかの方式を開始するために分岐を受ける可能性がある。所与のシャード内のノードがその後にトランザクションを受信したとき、ノードは、正しいシャードに送信されていることをチェックしてもよい。この手法は、シャードの間のトランザクションのバランスを提供する。
いずれかのシャーディング方法は、ブロックチェーンに遡及して、また、いずれかの程度まで適用されてもよい。すなわち、いずれかの方法は、シャードされたネットワークがブロックチェーン内の最初のブロック(ビットコインブロックチェーンの場合は、いわゆるジェネシスブロック)の時点から将来の任意に選択されたブロック番号に至るまで存在すると定義されるように適用されてもよい。
以下に説明するシャーディング方法は、順に、また、何れかの順序で、複数回適用されてもよい。例えば、最初にトランザクションIDシャーディングが実行されてもよく、インプットベースのシャーディングが後日実行されてもよい。さらに、上記のように、いずれかの方法が遡及して適用されてもよく、さらに、いずれかの方法がその後に適用されてもよい。シャードの数nは、シャード方法が適用される毎に選択されてもよく、ノードの数を増加することによりプロトコルをスケーリングすることを可能にする。ノードの数は、ネットワーク上の全ノードの数、ブロックチェーンのサイズ及び/又は他の特性に基づいて選択されてもよい。以下に説明するシャーディング方法の双方について、シャーディングが行われたときにトランザクションが各ノードにより記憶される方式についても説明する。
[トランザクションIDベースのシャード分配]
水平分割のブロックチェーンでは、各シャードはネットワーク上の全てのトランザクションを含まず処理しないので、トランザクションを異なるシャードに割り当てるための方策が必要となる。さらに、いずれかのシャーディング方法は、更なるシャーディングを実行可能である必要がある。本開示の第3の実施形態では、図3を用いて説明するように、シャードの間のトランザクション分配は、トランザクションID(txid)に基づいて処理される。
ステップ302において、所与のトランザクションについてのトランザクションIDが作成され、txidとして示される。いくつかの実装では、このtxidは、SHA256関数をトランザクションデータに適用した結果として取得される。
ステップ304において、このトランザクションIDを使用して、txid及びシャードされたネットワーク内の利用可能なシャードの数に基づいて動作が実行される。いくつかの実装では、ブロックチェーンネットワーク上で現在アクティブなシャードの数のモジュロがトランザクションIDに適用され、すなわち、シャード番号=txid mod nであり、nは(所与の或いはアクティブな)シャードの数である。
ステップ306において、ステップ304の結果は、所与のトランザクションが割り当てられるシャードに対応する。
ステップ308において、ステップ306において割り当てられると、トランザクションは、識別されたシャードに分配され、すなわち、トランザクションは、ステップ306において識別されたシャードに含まれるノードに分配される。
したがって、所与のシャード内のノードがトランザクションを受信したとき、ノードは、正しいシャードに送信されていることを容易にチェックできる。いくつかの実施形態では、このようなチェックは、第1の実施形態において上記に説明したように、ノードに関連する情報を含む、各ノードに関連するデータ構造に基づいて実現されてもよい。有利には、この手法は、シャードの間のトランザクションの均等なバランスを提供する。
ネットワーク上のシャードカウントは、
・ネットワーク上の全ノードの数、及び
・ブロックチェーンのサイズ
を含む多数のパラメータに基づいて任意に選択できる。
[インプットベースのシャード分配]
本開示の第4の実施形態によるシャーディング方法について、図4のフロー図を用いて説明する。
この実施形態では、ステップ402において、所与のトランザクションのインプットが識別される。いくつかの実装では、これは、トランザクションの最初のインプットである。
ステップ404において、ステップ402のインプットが参照する前のトランザクションのアウトプットが識別される。
ステップ406において、ステップ402及び404の結果、すなわち、対応するインプットと、前のトランザクションからのアウトプットとの双方が、図1bに見られるようなシャードされたネットワーク内の同じシャードに割り当てられる。いくつかの実装では、このステップは、双方のトランザクションを割り当てるためのシャードを識別することを含む。一例では、これは、既に割り当てられている場合、前のトランザクションに関連するシャードでもよい。他の例では、上記のように、所与のトランザクション又は前のトランザクションのいずれかについての修正addrブロードキャスト又はgetaddr要求に対する応答は、シャードを識別するために使用されてもよい。他の例では、シャードは、双方のトランザクションが同じシャードに割り当てられる限り、双方のトランザクションに対してランダムに或いは指定の通り、すなわち、ローテーションに基づいて選択されてもよい。これは、例えば、親トランザクションが識別されない場合、すなわち、受信するものがコインベーストランザクションである場合に適用されてもよい。
ステップ408は、ステップ402〜406における上記のプロセスが、第1のインプットにより連結されたトランザクションのチェーンを生成するように繰り返されることを示す。
後続のトランザクションの第1のインプットによりアウトプットが参照されるトランザクションは、この文脈では「親」トランザクションと呼ばれ、後続のトランザクションは「子」トランザクションと呼ばれる。
ステップ402において親を定義するための第1のインプットの使用は、当該方法に必須ではなく、複数のインプットが所与のトランザクションに存在する場合、当該方法を実行するためにいずれかのインプットが選択されてもよい点に留意すべきである。例えば、前のトランザクションは、子トランザクションの特定の数のインプットが親と同じシャード内のアウトプットを参照する場合、子トランザクションの親として定義されてもよい。インプットの数は、子トランザクションのインプットの過半数と定義してもよい。したがって、ステップ406において上記に説明したいくつかの実装では、割り当てられるシャードは、インプットの数又は考慮されるべき実際の第1のインプット若しくは他の指定の特定のインプットのいずれかに基づいて、識別された親のものと同じになる。
第3及び第4の実施形態の上記の2つのシャーディング方法は、いずれかの順序で順に実行されてもよく、2つの方法は、所望に応じて複数回実行されてもよい点に留意すべきである。例えば、ブロックチェーンネットワークは、第4の実施形態のインプットベースの分配に従って分岐されてもよく、その後に、結果の分岐のうち1つ以上は、第3の実施形態のトランザクションIDベースの分配に従ってシャードされてもよい。
[UTXOセット/メモリプールのシャーディング]
現在、ビットコインネットワークでは、全てのノードが自分のUTXOセットを維持管理し、これは、承認中にチェック及び更新される。UTXOセットの例が図5に示されている。
本開示の第5の実施形態によれば、シャードされたブロックチェーン(図1bに示す)において、1つ以上のシャードの各メンバーノードは、そのノードがメンバーである各シャードに関連するトランザクションに関するUTXOセットを有する。これは図6に更に示されており、図6は、1つより多くのシャードのメンバーであるノードを示す。これらは、この図では、重複する区別して網掛けされた領域により見られる。いくつかの実装では、第5の実施形態に関して、このようなUTXOセット(以下、シャードされたUTXOと呼ぶ)は、ここに説明する本開示の他の実施形態の1つ以上又は全ての一部に関し、これらの一部であると考えられてもよいことが理解される。
[トランザクション承認]
承認するトランザクションについて、ビットコインネットワークにおいてUTXOセットがチェックされて更新される必要がある。本開示は、UTXOセットがシャードされるとき、シャードされたブロックチェーンの承認を実装するためのこのプロセスの新たなバージョンを提供する。上記のように、図1bのようなシャードされたブロックチェーン上の各ノードは、メンバーであるシャードの情報を含む、ネットワーク上のノードのリストに関連付けられるか或いはリストを維持管理する。これは、第1の実施形態に関連して上記に説明されている。
本開示によるトランザクション承認について、UTXOセットをチェックするために使用できる2つの方法について以下に説明する。これらは、それぞれ、第6の実施形態によるトランザクションシャード承認及び第7の実施形態によるUTXOシャード承認と呼ばれる。
[トランザクションシャード承認]
第6の実施形態では、トランザクション承認は、トランザクションが割り当てられたシャードにより実行される。第3の実施形態に関して上記に説明したように、トランザクションは、トランザクションIDに適用されるモジュロ関数の結果を使用してシャードに分配される。トランザクションは、異なるシャードからのインプットを有する可能性があるので、承認ノードは、UTXOチェックのために他のシャードと通信する。
図7aを参照して、異なるシャード内のノードの間で実行されるUTXOセットのチェックについて説明する。このプロセスについて、図7bに関連しても説明する。
第6の実施形態によれば、シャード4内のノードは、UTXOを取得することが知られているシャード1内のノードに対して要求を行う。これは、ステップ702において見られる。シャード番号は例示のみのために指定されており、いずれかの所与のシャードに関連するいずれかの所与のノードがこの要求を実行してもよい。
次いで、ステップ704において、受信された応答の有効性が評価される。どのノードもUTXOを有さない場合、ヌル応答が与えられる。この場合、問題のトランザクションはステップ706において無効とみなされる。この場合、トランザクションの更なる伝搬は行われない。いくつかの場合、スクリプトエラー又はUTXOが利用できないといういずれかの指示が存在する場合にも、トランザクションは無効とみなされる。
所与のトランザクションのUTXOが受信された場合、ステップ708において、トランザクションインプットは有効であるとみなされる。背景技術の段落で説明したように、ノードにインストールされたソフトウェアクライアント又はプログラム又はアプリケーションが、そのロック及びロック解除スクリプトを実行することにより、UTXOに対してこの承認を実行してもよいことが知られている。いくつかの実装では、これはトランザクションの有効性データと呼ばれる。ロック及びロック解除スクリプトの実行がTRUEに評価された場合、トランザクションは有効であり、トランザクションはブロックチェーンに書き込まれる。さらに、上記のように、有効性チェックの1つは、二重支出が存在していないことをチェックすることである。いくつかの実装では、ノードがトランザクションを受信したとき、トランザクションがノードに関連付けられたデータ構造、又は関連するシャードのデータ構造で使用するUTXOを検索する。
次いで、ステップ710において、問題のトランザクションが、シャード4又はシャード4のメモリプール上のノードに追加される。
次いで、ステップ712において、トランザクションは、シャード4内の他のノードに伝搬される。
[UTXOシャードベースの承認]
第7の実施形態では、トランザクションは、所与のトランザクションのUTXOを含むシャード(図1bに見られるようなシャードされたネットワークのシャード)に伝搬される。
図8aは、シャード4内のノードにより作成された支出トランザクション(Tx)が、そのトランザクションのUTXOを含むシャードのそれぞれに伝搬されることを示す。この実施形態では、ノードはトランザクションをシャード1及び2の双方に送信する。当該プロセスを図8bに更に示す。
ステップ802において、シャード内のノードが所与のトランザクションを受信したとき、この実施形態では、同じシャード内にあるインプットに基づいてトランザクションを承認するように進む。
したがって、ステップ804において、所与のトランザクションのインプットが同じシャードに関連するか否かがチェックされる。トランザクションは、第4の実施形態に従って上記のようにシャードに割り当てられてもよい。上記のように、ノードが1つより多くのシャードのメンバーである場合、このステップにおける「同じ」シャードのチェックは、このようなシャードのいずれかに適用される。
ステップ806bに見られるように、異なるシャード内のUTXOに関連するインプットは承認されない。いくつかの実装では、各インプットの承認は、承認がビットコインネットワークで現在実行され得るものとほとんど同じ方法で実行されてもよい。そうでない場合、ステップ806aにおいて、ノードはトランザクションを承認するように進む。
ステップ806aに続いて、ステップ808において、所与のトランザクションに関連するインプットの有効性がチェックされる。上記のように、また、図7bのステップ706及び708においても、未使用トランザクション(UTXO)に対する承認は、そのロック及びロック解除スクリプトを実行することによるものでもよい。いくつかの実装では、これはトランザクションの有効性データと呼ばれる。ロック及びロック解除スクリプトの実行がTRUEに評価された場合、トランザクションは有効であり、トランザクションはブロックチェーンに書き込まれる。さらに、また、上記のように、有効性チェックの1つは、二重支出が存在していないことをチェックすることである。いくつかの実装では、ノードがトランザクションを受信したとき、トランザクションがノードに関連するデータ構造又はノードのシャードに関連するデータ構造において使用するUTXOを検索する。
UTXOが存在しない場合、値がUTXOよりも大きい場合又はスクリプトエラーが存在する場合のように、インプットが無効である場合、ステップ810bにおいて見られるように、所与のトランザクションが破棄される。この場合、所与のトランザクションは、同じシャード内の他のノードに伝搬されない。
インプットが有効であるとみなされた場合、ステップ810aにおいて、トランザクションが有効であると識別される。
次いで、ステップ812において、トランザクションがノードのメモリプールに追加される。
ステップ814において、トランザクションは、ノードに関連するシャード内の他のノードに伝搬される。
次に図9を参照すると、本開示の少なくとも1つの実施形態を実施するために使用され得る計算デバイス2600の簡略化したブロック図が例として提供される。様々な実施形態では、計算デバイス2600は、図1bに見られるようなシャードされたブロックチェーンネットワークの1つ以上のシャード内のノード又はノードの組み合わせ、及び/又は単独で或いは1つ以上のこのようなノード又はシステムに通信可能に結合されたとき上記に図示及び説明するコンピュータ実施システム、方法又はプロトコルのいずれかを実装するために使用されてもよい。
例えば、計算デバイス2600は、データサーバ、ウェブサーバ、ポータブル計算デバイス、パーソナルコンピュータ又はいずれかの電子計算デバイスとして使用するために構成されてもよい。図9に示すように、計算デバイス2600は、1つ以上のレベルのキャッシュメモリを有する1つ以上のプロセッサと、メインメモリ2608及び永続ストレージ2610を含む記憶サブシステム2606と通信するように構成できるメモリコントローラ(併せて2602とラベル付けされる)とを含んでもよい。メインメモリ2608は、図示のように、ダイナミックランダムアクセスメモリ(DRAM)2618及び読み取り専用メモリ(ROM)2620を含んでもよい。記憶サブシステム2606及びキャッシュメモリ2602は、本開示に記載のトランザクション及びブロックに関連する詳細のような情報の記憶のために使用されてもよい。プロセッサ2602は、本開示に記載のいずれかの実施形態のステップ又は機能を提供するために利用されてもよい。
プロセッサ2602はまた、1つ以上のユーザインタフェース入力デバイス2612、1つ以上のユーザインタフェース出力デバイス2614及びネットワークインタフェースサブシステム2616と通信できる。
バスサブシステム2604は、計算デバイス2600の様々な構成要素及びサブシステムが、意図したように相互に通信することを可能にする機構を提供してもよい。バスサブシステム2604は、単一のバスとして概略的に示されているが、バスサブシステムの代替実施形態は、複数のバスを利用してもよい。
ネットワークインタフェースサブシステム2616は、他の計算デバイス及びネットワークへのインタフェースを提供してもよい。ネットワークインタフェースサブシステム2616は、他のシステムからデータを受信し、計算デバイス2600から他のシステムにデータを送信するためのインタフェースとして機能してもよい。例えば、ネットワークインタフェースサブシステム2616は、データ技術者が、データセンタのような遠隔地にいる間に、データをデバイスに送信し、デバイスからデータを受信することができるように、デバイスをネットワークに接続することを可能にしてもよい。
ユーザインタフェース入力デバイス2612は、キーボードのような1つ以上のユーザ入力デバイスと、統合マウス、トラックボール、タッチパッド又はグラフィックスタブレットのようなポインティングデバイスと、スキャナと、バーコードスキャナと、ディスプレイに組み込まれたタッチスクリーンと、音声認識システム、マイクロフォンのようなオーディオ入力デバイスと、他のタイプの入力デバイスとを含んでもよい。一般的に、「入力デバイス」という用語の使用は、情報を計算デバイス2600に入力するための全ての可能な種類のデバイス及び機構を含むことを意図する。
1つ以上のユーザインタフェース出力デバイス2614は、表示サブシステム、プリンタ、又はオーディオ出力デバイスのような非視覚的ディスプレイを含んでもよい。表示サブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイのようなフラットパネルデバイス、又は投影若しくは他の表示デバイスでもよい。一般的に、「出力デバイス」という用語の使用は、計算デバイス2600から情報を出力するための全ての可能な種類のデバイス及び機構を含むことを意図する。1つ以上のユーザインタフェース出力デバイス2614は、例えば、ユーザ相互作用が適切になり得るときに、ここに記載のプロセス及びその変形を実行するアプリケーションとのユーザ相互作用を実現するように、ユーザインタフェースを提示するために使用されてもよい。
記憶サブシステム2606は、本開示の少なくとも1つの実施形態の機能を提供し得る基本的なプログラミング及びデータ構成を記憶するためのコンピュータ読み取り可能記憶媒体を提供してもよい。アプリケーション(プログラム、コードモジュール、命令)は、1つ以上のプロセッサにより実行されたとき、本開示の1つ以上の実施形態の機能を提供してもよく、記憶サブシステム2606に記憶されてもよい。これらのアプリケーションモジュール又は命令は、1つ以上のプロセッサ2602により実行されてもよい。記憶サブシステム2606は、本開示に従って使用されるデータを記憶するためのリポジトリを更に提供してもよい。例えば、メインメモリ2608及びキャッシュメモリ2602は、プログラム及びデータのための揮発性ストレージを提供できる。永続ストレージ2610は、プログラム及びデータのための永続的な(不揮発性)ストレージを提供でき、フラッシュメモリと、1つ以上のソリッドステートドライブと、1つ以上の磁気ハードディスクドライブと、関連する取り外し可能媒体を有する1つ以上のフロッピーディスクドライブと、関連する取り外し可能媒体を有する1つ以上の光ドライブ(例えば、CD-ROM又はDVD又はブルーレイ)ドライブと、他の同様の記憶媒体とを含んでもよい。このようなプログラム及びデータは、本開示に記載の1つ以上の実施形態のステップを実行するためのプログラムと、本開示に記載のトランザクション及びブロックに関連するデータとを含むことができる。
計算デバイス2600は、ポータブルコンピュータデバイス、タブレットコンピュータ、ワークステーション、又は以下に記載のいずれかの他のデバイスを含む、様々な種類のものでもよい。さらに、計算デバイス2600は、1つ以上のポート(例えば、USB、ヘッドフォンジャック、ライトニングコネクタ等)を通じて計算デバイス2600に接続され得る他のデバイスを含んでもよい。計算デバイス2600に接続され得るデバイスは、光ファイバコネクタを受け入れるように構成された複数のポートを含んでもよい。したがって、このデバイスは、光信号を電気信号に変換するように構成されてもよく、電気信号は、処理のために当該デバイスを計算デバイス2600に接続するポートを通じて送信されてもよい。コンピュータ及びネットワークの絶えず変化する性質のため、図9に示す例示的な計算デバイス2600の説明は、デバイスの好ましい実施形態を説明する目的のための特定の例としてのみ意図されている。図9に示すシステムよりも多くの構成要素又は少ない構成要素を有する多くの他の構成が可能である。
上記の実施形態は、本発明を限定するものではなく例示するものであり、当業者は、添付の特許請求の範囲により定義される本開示の範囲から逸脱することなく、多くの代替実施形態を設計できる点に留意すべきである。特許請求の範囲において、括弧内に付したいずれかの参照符号は、特許請求の範囲を限定するものと解釈されないものとする。「含む(comprising)」及び「含む(comprises)」等の用語は、全体としていずれかの請求項又は明細書に列挙されたもの以外の要素又はステップの存在を除外しない。本明細書において、「含む(comprises)」とは、「含む(includes)又はからなる(consists of)」を意味し、「含む(comprising)」とは、「含む(comprising)又はからなる(consisting of)」を意味する。要素の単数形の参照は、このような要素の複数形の参照を除外するものではなく、逆も同様である。本発明は、いくつかの別個の要素を含むハードウェアにより、且つ、適切にプログラムされたコンピュータにより実装されてもよい。いくつかの手段を列挙するデバイスの請求項において、これらの手段のいくつかは、1つの同じハードウェアアイテムにより具体化されてもよい。特定の手段が相互に異なる従属項に記載されているという単なる事実は、これらの手段の組み合わせが有利に利用できないことを示すものではない。
上記の説明は、例示的であり限定的ではないことを意図するものであることが理解されるべきである。多くの他の実装は、上記の説明を読んで理解することにより、当業者に明らかになる。本開示は、特定の例示的な実装を参照して記載されているが、本開示は、記載の実装に限定されず、添付の特許請求の範囲の範囲内の修正及び変更を用いて実施可能であることが認識される。したがって、明細書及び図面は、限定的な意味ではなく、例示的な意味で考えられるべきである。したがって、本開示の範囲は、添付の特許請求の範囲が権利を有する均等物の全範囲と共に、添付の特許請求の範囲を参照して決定されるべきである。

Claims (6)

  1. ブロックチェーントランザクションを承認するコンピュータ実施方法であって、
    少なくとも1つのUTXOを含む少なくとも1つのシャードのメンバーノードから前記トランザクションの少なくとも1つのそれぞれのインプットにより参照される少なくとも1つのUTXOを要求するステップと、
    少なくとも1つのノードから少なくとも1つのUTXOの有効性データを取得するステップと、
    前記有効性データを使用して少なくとも1つのインプットに対して承認チェックを実行するステップと
    を含む方法。
  2. ノードのシャードメンバーシップ情報の要求を他のノードに通信するステップを更に含む、請求項1に記載の方法。
  3. ノードのシャードメンバーシップ情報を他のノードに通信するステップを更に含む、請求項1又は2に記載の方法。
  4. 前記通信は、修正addrメッセージを使用して実行される、請求項2又は3に記載の方法。
  5. システムであって、
    プロセッサと、
    前記プロセッサによる実行の結果として、当該システムに請求項1乃至4のうちいずれか1項に記載のコンピュータ実施方法を実行させる実行可能命令を含むメモリと
    を含むシステム。
  6. コンピュータシステムのプロセッサにより実行された結果として、前記コンピュータシステムに請求項1乃至4のうちいずれか1項に記載のコンピュータ実施方法を少なくとも実行させる実行可能命令を記憶した非一時的なコンピュータ読み取り可能記憶媒体。
JP2020557947A 2018-04-27 2019-04-24 ブロックチェーンネットワークの分割 Pending JP2021522706A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2024014543A JP2024032953A (ja) 2018-04-27 2024-02-02 ブロックチェーンネットワークの分割

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
GB1806911.2 2018-04-27
GBGB1806914.6A GB201806914D0 (en) 2018-04-27 2018-04-27 A computer-implemented method and system
GB1806909.6 2018-04-27
GB1806914.6 2018-04-27
GB1806930.2 2018-04-27
GBGB1806909.6A GB201806909D0 (en) 2018-04-27 2018-04-27 A computer-implemented method and system
GBGB1806930.2A GB201806930D0 (en) 2018-04-27 2018-04-27 Computer-implemented systems and methods
GBGB1806907.0A GB201806907D0 (en) 2018-04-27 2018-04-27 A computer-implemented method and system
GBGB1806911.2A GB201806911D0 (en) 2018-04-27 2018-04-27 A computer-implemented method and system
GB1806907.0 2018-04-27
PCT/IB2019/053381 WO2019207502A1 (en) 2018-04-27 2019-04-24 Partitioning a blockchain network

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2024014543A Division JP2024032953A (ja) 2018-04-27 2024-02-02 ブロックチェーンネットワークの分割

Publications (1)

Publication Number Publication Date
JP2021522706A true JP2021522706A (ja) 2021-08-30

Family

ID=66397390

Family Applications (9)

Application Number Title Priority Date Filing Date
JP2020558029A Pending JP2021522709A (ja) 2018-04-27 2019-04-24 ブロックチェーンネットワークの分割
JP2020557911A Active JP7379371B2 (ja) 2018-04-27 2019-04-24 ブロックチェーンネットワークの分割
JP2020558031A Active JP7362654B2 (ja) 2018-04-27 2019-04-24 分割されたブロックチェーンネットワークにおけるブロックチェーンのブロックの維持管理
JP2020557947A Pending JP2021522706A (ja) 2018-04-27 2019-04-24 ブロックチェーンネットワークの分割
JP2020557925A Pending JP2021522704A (ja) 2018-04-27 2019-04-24 ブロックチェーンネットワークの分割
JP2023172657A Pending JP2023168539A (ja) 2018-04-27 2023-10-04 分割されたブロックチェーンネットワークにおけるブロックチェーンのブロックの維持管理
JP2024014531A Pending JP2024032951A (ja) 2018-04-27 2024-02-02 ブロックチェーンネットワークの分割
JP2024014543A Pending JP2024032953A (ja) 2018-04-27 2024-02-02 ブロックチェーンネットワークの分割
JP2024014529A Pending JP2024032950A (ja) 2018-04-27 2024-02-02 ブロックチェーンネットワークの分割

Family Applications Before (3)

Application Number Title Priority Date Filing Date
JP2020558029A Pending JP2021522709A (ja) 2018-04-27 2019-04-24 ブロックチェーンネットワークの分割
JP2020557911A Active JP7379371B2 (ja) 2018-04-27 2019-04-24 ブロックチェーンネットワークの分割
JP2020558031A Active JP7362654B2 (ja) 2018-04-27 2019-04-24 分割されたブロックチェーンネットワークにおけるブロックチェーンのブロックの維持管理

Family Applications After (5)

Application Number Title Priority Date Filing Date
JP2020557925A Pending JP2021522704A (ja) 2018-04-27 2019-04-24 ブロックチェーンネットワークの分割
JP2023172657A Pending JP2023168539A (ja) 2018-04-27 2023-10-04 分割されたブロックチェーンネットワークにおけるブロックチェーンのブロックの維持管理
JP2024014531A Pending JP2024032951A (ja) 2018-04-27 2024-02-02 ブロックチェーンネットワークの分割
JP2024014543A Pending JP2024032953A (ja) 2018-04-27 2024-02-02 ブロックチェーンネットワークの分割
JP2024014529A Pending JP2024032950A (ja) 2018-04-27 2024-02-02 ブロックチェーンネットワークの分割

Country Status (8)

Country Link
US (5) US20210234665A1 (ja)
EP (5) EP3785206A1 (ja)
JP (9) JP2021522709A (ja)
KR (5) KR20210003234A (ja)
CN (5) CN112041872A (ja)
SG (5) SG11202008894XA (ja)
TW (5) TW201946017A (ja)
WO (5) WO2019207500A1 (ja)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10419225B2 (en) 2017-01-30 2019-09-17 Factom, Inc. Validating documents via blockchain
US10411897B2 (en) 2017-02-17 2019-09-10 Factom, Inc. Secret sharing via blockchains
US10817873B2 (en) 2017-03-22 2020-10-27 Factom, Inc. Auditing of electronic documents
US11134120B2 (en) 2018-05-18 2021-09-28 Inveniam Capital Partners, Inc. Load balancing in blockchain environments
US11170366B2 (en) 2018-05-18 2021-11-09 Inveniam Capital Partners, Inc. Private blockchain services
US20200042982A1 (en) 2018-08-06 2020-02-06 Factom Digital Contracts in Blockchain Environments
US20200042635A1 (en) * 2018-08-06 2020-02-06 Factom Transactional Sharding of Blockchain Transactions
US11328290B2 (en) 2018-08-06 2022-05-10 Inveniam Capital Partners, Inc. Stable cryptocurrency coinage
US20200092362A1 (en) * 2018-09-13 2020-03-19 International Business Machines Corporation A sparse peer with transient participation
AU2018348333A1 (en) * 2018-12-13 2020-07-02 Advanced New Technologies Co., Ltd. Data isolation in a blockchain network
GB201907347D0 (en) * 2019-05-24 2019-07-10 Nchain Holdings Ltd In-script functions within a blockchain transaction
CN110958324B (zh) * 2019-12-12 2023-12-19 度小满科技(北京)有限公司 一种区块链网络的数据处理方法及装置
US11343075B2 (en) 2020-01-17 2022-05-24 Inveniam Capital Partners, Inc. RAM hashing in blockchain environments
WO2021145606A1 (en) 2020-01-17 2021-07-22 Samsung Electronics Co., Ltd. User apparatus and manager apparatus included in blockchain network and controlling method thereof
US20230074590A1 (en) * 2020-01-22 2023-03-09 The Flowchain Foundation Limited Storage Virtualization Architecture with Hybrid Blockchain and the Method Thereof
CN111428275B (zh) * 2020-03-13 2021-03-26 华东师范大学 一种面向联盟链的服务不停机分片增加方法
CN111488202B (zh) * 2020-04-07 2023-08-15 百度国际科技(深圳)有限公司 多链系统的事务处理方法、装置、设备、系统和介质
US11720453B2 (en) * 2020-04-28 2023-08-08 Akamai Technologies, Inc. High performance distributed system of record with unspent transaction output (UTXO) database snapshot integrity
JP7459275B2 (ja) 2020-05-20 2024-04-01 新華三技術有限公司 ソフトウェアのライセンス情報の監視方法、装置、サーバ及び記憶媒体
WO2022006473A1 (en) * 2020-07-03 2022-01-06 Inveniam Capital Partners, Inc. Distribution of blockchain validation
US11853291B2 (en) 2020-07-06 2023-12-26 International Business Machines Corporation Privacy preserving architecture for permissioned blockchains
US11741083B2 (en) 2020-07-24 2023-08-29 International Business Machines Corporation Cross-shard private atomic commit
KR102337760B1 (ko) * 2020-08-27 2021-12-08 연세대학교 산학협력단 심층강화학습 기반 적응적 샤드 블록체인 네트워크 관리 장치 및 방법
CN112615826A (zh) * 2020-12-08 2021-04-06 中山市当下科技有限公司 应用于UTXO区块链的MetaID协议格式结构
CN112559204A (zh) * 2020-12-08 2021-03-26 中山市当下科技有限公司 Utxo账户模型区块链中的应用数据联通结构
CN112269423B (zh) * 2020-12-21 2021-03-19 支付宝(杭州)信息技术有限公司 一种锁定区块链系统中全局时钟的方法及区块链系统
CN112839086B (zh) * 2021-01-06 2022-02-08 中山大学 基于区块链分片技术的网络资源分配方法、装置、终端设备及存储介质
EP4057173B1 (en) * 2021-03-09 2023-10-11 SW7 Ventures (H.K.) Limited System and method of securely establishing control of a resource
GB202105020D0 (en) * 2021-04-08 2021-05-26 Nchain Licensing Ag Uniform resource identifier
CN113360951B (zh) * 2021-05-12 2022-08-16 电子科技大学 一种基于分区式区块链的电子证据保全方法
CN113067904B (zh) * 2021-06-02 2021-09-14 支付宝(杭州)信息技术有限公司 组建区块链子网的方法和区块链系统
KR20230004216A (ko) * 2021-06-30 2023-01-06 주식회사 아티프렌즈 블록체인 기반의 미디어 콘텐츠용 토큰 발행 서비스 제공 장치 및 방법
US11968311B2 (en) * 2021-07-16 2024-04-23 The Regents Of The University Of California Multi-shard transactions in a Byzantine computing environment
KR20230018876A (ko) 2021-07-30 2023-02-07 서강대학교산학협력단 샤드를 기반으로 한 데이터 분산 저장 방법 및 이를 이용한 블록체인 네트워크 시스템
WO2023177358A1 (en) * 2022-03-18 2023-09-21 National University Of Singapore Distributed verifiable ledger database
KR102596700B1 (ko) * 2022-06-03 2023-11-09 주식회사 블룸테크놀로지 블록체인 네트워크에서 인터샤드 트랜잭션 시스템 및 방법
KR102628759B1 (ko) * 2022-06-14 2024-01-23 주식회사 블룸테크놀로지 블록체인 네트워크에서 어카운트의 워킹샤드 변경 시스템 및 방법
CN117422549A (zh) * 2022-07-11 2024-01-19 汇丰软件开发(广东)有限公司 一种用于受监管加密货币场景中的基于utxo的分片方法
KR20240024465A (ko) * 2022-08-17 2024-02-26 주식회사 블룸테크놀로지 블록체인 네트워크에서 다이나믹 샤딩 시스템 및 방법
US11914616B1 (en) 2022-12-16 2024-02-27 Alchemy Insights, Inc. Systems and methods for creating a consistent blockchain including block commitment determinations
US11769143B1 (en) 2022-12-22 2023-09-26 Alchemy Insights, Inc. System and method for high performance providing fresh NFT metadata
US11750711B1 (en) 2022-12-22 2023-09-05 Alchemy Insights, Inc. Systems and methods for adaptively rate limiting client service requests at a blockchain service provider platform
US11728976B1 (en) 2022-12-22 2023-08-15 Alchemy Insights, Inc. Systems and methods for efficiently serving blockchain requests using an optimized cache
US11816021B1 (en) 2022-12-22 2023-11-14 Alchemy Insights, Inc. System and method for intelligent testing of blockchain applications using a shadow system
US11811955B1 (en) * 2022-12-23 2023-11-07 Alchemy Insights, Inc. Systems and methods for improving reliability in blockchain networks using sharding

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009500708A (ja) * 2005-07-06 2009-01-08 ノキア コーポレイション ピアツーピアグループ管理のフレームワークおよび方法

Family Cites Families (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758257A (en) * 1994-11-29 1998-05-26 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
US7590589B2 (en) * 2004-09-10 2009-09-15 Hoffberg Steven M Game theoretic prioritization scheme for mobile ad hoc networks permitting hierarchal deference
US8874477B2 (en) * 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US7702614B1 (en) 2007-03-30 2010-04-20 Google Inc. Index updating using segment swapping
JP2009000708A (ja) 2007-06-20 2009-01-08 Nikon Corp 光照射装置と、これを具備するレーザ加工装置
US20110029376A1 (en) * 2009-07-29 2011-02-03 Google Inc. Impression forecasting and reservation analysis
CN103268321B (zh) * 2013-04-19 2016-04-27 中国建设银行股份有限公司 高并发交易数据处理方法和装置
US11270298B2 (en) * 2014-04-14 2022-03-08 21, Inc. Digital currency mining circuitry
EP3278287A4 (en) * 2015-03-31 2018-08-22 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
US10812274B2 (en) * 2015-05-07 2020-10-20 Blockstream Corporation Transferring ledger assets between blockchains via pegged sidechains
US20160342989A1 (en) * 2015-05-21 2016-11-24 Mastercard International Incorporated Method and system for processing blockchain-based transactions on existing payment networks
US10097356B2 (en) * 2015-07-02 2018-10-09 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
US20170048235A1 (en) * 2015-07-14 2017-02-16 Fmr Llc Crypto Captcha and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems
US20170091726A1 (en) * 2015-09-07 2017-03-30 NXT-ID, Inc. Low bandwidth crypto currency transaction execution and synchronization method and system
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
US20170132626A1 (en) * 2015-11-05 2017-05-11 Mastercard International Incorporated Method and system for processing of a blockchain transaction in a transaction processing network
US20170236104A1 (en) * 2016-02-12 2017-08-17 D+H Usa Corporation Peer-to-Peer Financial Transactions Using A Private Distributed Ledger
IL278834B2 (en) * 2016-02-23 2023-09-01 Nchain Holdings Ltd Automatic registration and management method for smart contracts based on 'block chain'
JP6925346B2 (ja) * 2016-02-23 2021-08-25 エヌチェーン ホールディングス リミテッドNchain Holdings Limited ブロックチェーンベースのトークナイゼーションを用いた交換
AU2017225932C1 (en) 2016-02-29 2021-06-24 Securekey Technologies Inc. Systems and methods for distributed identity verification
ES2835784T3 (es) * 2016-04-05 2021-06-23 Zamna Tech Limited Método y sistema para gestionar información personal dentro de sistemas informáticos independientes y redes digitales
US10346428B2 (en) 2016-04-08 2019-07-09 Chicago Mercantile Exchange Inc. Bilateral assertion model and ledger implementation thereof
US10404469B2 (en) 2016-04-08 2019-09-03 Chicago Mercantile Exchange Inc. Bilateral assertion model and ledger implementation thereof
CN105931052A (zh) * 2016-04-21 2016-09-07 四川大学 一种基于区块链多因子交叉验证的虚拟货币交易验证方法
GB201607477D0 (en) * 2016-04-29 2016-06-15 Eitc Holdings Ltd A method and system for controlling the performance of a contract using a distributed hash table and a peer to peer distributed ledger
EP3455802A1 (en) * 2016-05-13 2019-03-20 De La Rue International Limited Methods and systems for processing assets
US10417188B2 (en) * 2016-05-27 2019-09-17 Mastercard International Incorporated Method and system for transferring trust across block chain segments
US20170357966A1 (en) * 2016-06-09 2017-12-14 Mastercard International Incorporated Method and system for use of a proprietary private blockchain
US10097344B2 (en) * 2016-07-15 2018-10-09 Mastercard International Incorporated Method and system for partitioned blockchains and enhanced privacy for permissioned blockchains
CN106251216B (zh) * 2016-07-18 2020-12-25 恒宝股份有限公司 一种用于缓解节点存储压力的方法和系统
CN107666388B (zh) * 2016-07-28 2019-11-01 郑珂威 基于完全同态加密方法的区块链信息加密方法
US10417217B2 (en) 2016-08-05 2019-09-17 Chicago Mercantile Exchange Inc. Systems and methods for blockchain rule synchronization
CN106302702B (zh) * 2016-08-10 2020-03-20 华为技术有限公司 数据的分片存储方法、装置及系统
CN106372941B (zh) * 2016-08-31 2019-07-16 江苏通付盾科技有限公司 基于区块链的ca认证管理方法、装置及系统
JP6877552B2 (ja) 2016-09-14 2021-05-26 コンジュール ゲゼルシャフト ミット ベシュレンクテル ハフツングConjoule GmbH 電力生産者のグループを備えるシステム
JP6825296B2 (ja) * 2016-10-11 2021-02-03 富士通株式会社 エッジサーバ,及びその暗号化通信制御方法
JP6274680B1 (ja) * 2016-10-18 2018-02-07 株式会社大和総研ビジネス・イノベーション 取引記録システムおよびプログラム
CN107045518A (zh) * 2016-10-18 2017-08-15 北京天德科技有限公司 一种区块链的扩展设计方法
US11004130B2 (en) * 2016-10-26 2021-05-11 International Business Machines Corporation Computer implemented method, an apparatus and a non transitory computer readable storage medium for verifying reviews on a blockchain
US10491378B2 (en) * 2016-11-16 2019-11-26 StreamSpace, LLC Decentralized nodal network for providing security of files in distributed filesystems
US10540652B2 (en) 2016-11-18 2020-01-21 Intel Corporation Technology for secure partitioning and updating of a distributed digital ledger
CN106797389A (zh) * 2016-11-18 2017-05-31 深圳前海达闼云端智能科技有限公司 区块链网络、物品交易方法、装置及节点设备
CN106559211B (zh) * 2016-11-22 2019-12-13 中国电子科技集团公司第三十研究所 一种区块链中隐私保护智能合约方法
CN106603198A (zh) * 2016-12-02 2017-04-26 深圳大学 具有网络编码的区块链分布式存储方法及系统
US10396997B2 (en) 2016-12-14 2019-08-27 International Business Machines Corporation Container-based operating system and method
CN106897351B (zh) * 2016-12-29 2020-11-10 北京瑞卓喜投科技发展有限公司 有向无环图型区块链的生成方法及系统
US10447480B2 (en) * 2016-12-30 2019-10-15 Guardtime Sa Event verification receipt system and methods
CN107018125B (zh) * 2017-02-17 2019-08-09 阿里巴巴集团控股有限公司 一种区块链系统、数据存储方法及装置
WO2018165044A1 (en) 2017-03-08 2018-09-13 Mcafee, Llc Aggregate, index-based, real-time verification of node contents
CN106936589B (zh) * 2017-04-21 2020-02-07 杭州秘猿科技有限公司 一种无中心的许可链平行分片方法及交易方法
CN107239940A (zh) * 2017-05-11 2017-10-10 北京博晨技术有限公司 基于区块链系统的网络交易方法及装置
US10397328B2 (en) 2017-05-17 2019-08-27 Nec Corporation Method and system for providing a robust blockchain with an integrated proof of storage
CN110832825B (zh) * 2017-05-22 2022-10-21 维萨国际服务协会 通过防篡改数据提高验证速度的网络的方法和节点
US10740733B2 (en) * 2017-05-25 2020-08-11 Oracle International Corporaton Sharded permissioned distributed ledgers
CN107273760A (zh) * 2017-06-09 2017-10-20 济南浪潮高新科技投资发展有限公司 一种基于区块链多ca应用认证方法
CN107392608B (zh) * 2017-07-11 2020-07-07 北京博晨技术有限公司 基于区块链系统的数字资产交易方法及区块链系统
KR102208336B1 (ko) 2017-07-11 2021-01-27 스월즈, 인크. 네트워크 내의 분산 데이터베이스를 효율적으로 구현하기 위한 방법들 및 장치
CN107528886B (zh) * 2017-07-25 2020-07-31 中国科学院计算技术研究所 区块链全网拆分方法与系统
CN107240018A (zh) * 2017-07-25 2017-10-10 成都励睿德企业管理有限公司 一种用于支付区块链网络中交易费用的方法和系统
KR101852935B1 (ko) * 2017-07-31 2018-04-27 임종범 전자 화폐 거래 시스템 및 방법
US10552556B2 (en) 2017-08-03 2020-02-04 Liquineq AG System and method for performance testing of scalable distributed network transactional databases
CN107563817A (zh) * 2017-09-11 2018-01-09 浙江华信区块链科技服务有限公司 一种基于区块链对用户注意力进行激励的广告传播方法及系统
CN107862216B (zh) * 2017-10-13 2021-04-06 布比(北京)网络技术有限公司 用于匿名跨链交易的隐私保护方法、装置和存储介质
CN107909369A (zh) * 2017-10-13 2018-04-13 布比(北京)网络技术有限公司 基于跨链交易的共识方法、装置和存储介质
CN107742210A (zh) * 2017-10-13 2018-02-27 布比(北京)网络技术有限公司 一种不同区块链间的跨链转账系统和方法
CN107766540A (zh) * 2017-10-31 2018-03-06 上海分布信息科技有限公司 一种分区的区块链网络及其实现分区存储的方法
CN107807984A (zh) * 2017-10-31 2018-03-16 上海分布信息科技有限公司 一种分区的区块链网络及其实现分区共识的方法
US10567168B2 (en) * 2017-11-16 2020-02-18 International Business Machines Corporation Blockchain transaction privacy enhancement through broadcast encryption
US10997125B2 (en) 2017-11-29 2021-05-04 Technion Research & Development Foundation Limited Proof of lottery (PoL) blockchain
KR20190067581A (ko) * 2017-12-07 2019-06-17 한국전자통신연구원 블록체인 트랜잭션 분산 처리 장치 및 방법
US10250708B1 (en) 2017-12-26 2019-04-02 Akamai Technologies, Inc. High performance distributed system of record
GB2572135B (en) * 2018-03-07 2023-01-25 The Maidsafe Found Data transaction system and method
CN108596613A (zh) 2018-03-22 2018-09-28 深圳市网心科技有限公司 区块链交易处理方法、装置及存储介质
CN108399572A (zh) 2018-03-22 2018-08-14 深圳市网心科技有限公司 区块链交易处理方法、装置及存储介质
CN108900321A (zh) 2018-06-06 2018-11-27 广州链块科技有限公司 一种区块链分区间进行实时原子交易的方法
CN108769264B (zh) 2018-07-09 2021-06-04 中国联合网络通信集团有限公司 一种区块链分域方法
CN108920723A (zh) 2018-08-01 2018-11-30 江苏恒宝智能系统技术有限公司 一种节点分层分区管理方法
US10826705B2 (en) 2018-12-13 2020-11-03 International Business Machines Corporation Compact state database system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009500708A (ja) * 2005-07-06 2009-01-08 ノキア コーポレイション ピアツーピアグループ管理のフレームワークおよび方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BASESCU, C., KOKORIS-KOGIAS, E., AND FORD, B. A.: "Low-latency Blockchain Consensus", INFOSCIENCE, JPN6023015760, 14 November 2017 (2017-11-14), pages 1 - 2, ISSN: 0005045134 *
FREY, D. ET AL.: "Bringing secure Bitcoin transactions to your smartphone", PROCEEDINGS OF THE 15TH INTERNATIONAL WORKSHOP ON ADAPTIVE AND REFLECTIVE MIDDLEWARE (ARM 2016), JPN7023001523, December 2016 (2016-12-01), pages 1 - 6, XP058307894, ISSN: 0005045135, DOI: 10.1145/3008167.3008170 *
アンドレアス・M・アントノプロス, ビットコインとブロックチェーン 暗号通貨を支える技術, JPN6023015761, 21 July 2016 (2016-07-21), pages 120 - 121, ISSN: 0005045136 *

Also Published As

Publication number Publication date
CN112041873B (zh) 2024-04-19
KR20210003214A (ko) 2021-01-11
TWI809096B (zh) 2023-07-21
EP3785207A1 (en) 2021-03-03
KR20210003234A (ko) 2021-01-11
SG11202008894XA (en) 2020-11-27
US20210240733A1 (en) 2021-08-05
SG11202008861TA (en) 2020-11-27
CN112041870A (zh) 2020-12-04
EP3785204A1 (en) 2021-03-03
US11856100B2 (en) 2023-12-26
TWI816781B (zh) 2023-10-01
TW201946018A (zh) 2019-12-01
US20240048378A1 (en) 2024-02-08
KR20210003212A (ko) 2021-01-11
SG11202008896QA (en) 2020-11-27
WO2019207503A1 (en) 2019-10-31
JP2024032953A (ja) 2024-03-12
WO2019207502A1 (en) 2019-10-31
WO2019207501A1 (en) 2019-10-31
JP2021522710A (ja) 2021-08-30
CN112041871A (zh) 2020-12-04
US20210233074A1 (en) 2021-07-29
EP3785206A1 (en) 2021-03-03
JP2021522709A (ja) 2021-08-30
US20210243007A1 (en) 2021-08-05
EP3785205A1 (en) 2021-03-03
JP2021522702A (ja) 2021-08-30
TW201945974A (zh) 2019-12-01
EP3785208A1 (en) 2021-03-03
US11743045B2 (en) 2023-08-29
JP2023168539A (ja) 2023-11-24
TW201946015A (zh) 2019-12-01
KR20210003213A (ko) 2021-01-11
US20210234665A1 (en) 2021-07-29
TW201946017A (zh) 2019-12-01
CN112041873A (zh) 2020-12-04
TW201946016A (zh) 2019-12-01
WO2019207504A1 (en) 2019-10-31
US20210233065A1 (en) 2021-07-29
SG11202009189XA (en) 2020-11-27
WO2019207500A1 (en) 2019-10-31
KR20210003132A (ko) 2021-01-11
SG11202008987RA (en) 2020-11-27
JP7379371B2 (ja) 2023-11-14
CN112055864A (zh) 2020-12-08
JP2024032950A (ja) 2024-03-12
TWI820124B (zh) 2023-11-01
CN112041872A (zh) 2020-12-04
JP2021522704A (ja) 2021-08-30
JP2024032951A (ja) 2024-03-12
TW202338646A (zh) 2023-10-01
JP7362654B2 (ja) 2023-10-17

Similar Documents

Publication Publication Date Title
JP2021522706A (ja) ブロックチェーンネットワークの分割
JP2020502619A (ja) スマートコントラクトを使用したマルチパーティトランザクションの実行
JP7165148B2 (ja) ブロックチェーンネットワークにおける整合性のある分散型メモリプールのための方法及びシステム
JP2022532764A (ja) プルーフオブワークブロックチェーンネットワークにおける非並列化マイニングのためのシステムおよび方法
JP2023515435A (ja) ブロックチェーンに関連する複数のサービスのためのプラットフォーム
CN112187786B (zh) 网络服务的业务处理方法、装置、服务器及存储介质
KR20210149427A (ko) 블록체인을 관리하기 위한 장치, 방법, 시스템 및 컴퓨터 판독가능 저장 매체
TW202036344A (zh) 包括公鑰組合驗證之電腦實行系統及方法
CN117076566A (zh) 一种不同主机环境的信息同步方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220325

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230320

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230425

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230721

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20231003