JP7076757B2 - ブロックの分割によりスループットを改善したブロックチェーンシステム及びコンピュータープログラム - Google Patents
ブロックの分割によりスループットを改善したブロックチェーンシステム及びコンピュータープログラム Download PDFInfo
- Publication number
- JP7076757B2 JP7076757B2 JP2022012478A JP2022012478A JP7076757B2 JP 7076757 B2 JP7076757 B2 JP 7076757B2 JP 2022012478 A JP2022012478 A JP 2022012478A JP 2022012478 A JP2022012478 A JP 2022012478A JP 7076757 B2 JP7076757 B2 JP 7076757B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- blockchain
- miner
- transaction data
- items
- 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
Links
- 238000004590 computer program Methods 0.000 title claims description 3
- 238000005065 mining Methods 0.000 claims description 39
- 230000008859 change Effects 0.000 claims description 16
- 238000000034 method Methods 0.000 description 55
- 230000008569 process Effects 0.000 description 15
- 238000004422 calculation algorithm Methods 0.000 description 9
- 230000006854 communication Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 230000000717 retained effect Effects 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000001902 propagating effect Effects 0.000 description 3
- 241000544061 Cuculus canorus Species 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000007175 bidirectional communication Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Finance (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
新しく追加されたブロックの受信を完了する前に次のブロックに含めて良いアイテムを決定する方法として,ブロックに含まれるアイテムにより上書きされるアカウントの集合を表すデータをブロックのA部に含める方法を実施例1に示す。この方法では,ブロックtに含まれるアイテムにより上書きされるアカウントの集合を表すデータをブロックtのA部に含めてブロックtのアイテムより先に送信することで,ブロックのA部を受信したマイナーは,このデータにより表されるアカウントのいずれも参照しないアイテムのみをブロックt+1に含めて,ブロックtのB部の受信を完了する前にブロックt+1のマイニングを始められる(図1)。
新しく追加されたブロックの受信を完了する前に次のブロックに含めて良いアイテムを決定する方法として,取引データを格納できるブロックを数ブロックおきに限定する方法がある。例えば,奇数番目のブロックのみに取引データを含め,偶数番目のブロックには取引データを含めることを禁止する方法が考えられる(図4)。この場合,奇数番目のブロックのA部のハッシュ値が性質Pを満たすようなナンスを見つけたマイナーは,このようなナンスを含むA部をブロードキャストし,次いでB部をブロードキャストする。A部を受信した他のマイナーは,次のブロックには取引データを含めないことが決まっているので,これは取引データとは無関係にマイニングができる。従って,各マイナーはB部の受信の完了を待つことなく偶数番目のブロックのマイニングを行うことができ,偶数番目のブロックをマイニングする時間を,一つ前の奇数番目のブロックのB部を伝播させる時間として使うことができる。この方法には,奇数番目のブロックをマイニングする時間をブロックのB部の伝播に使えない欠点がある。奇数番目のブロックをマイニングする時間を短くすると奇数番目のブロックが孤立ブロックになる可能性が高まる。この方法の実施例を実施例2に示す。この方法にはバリエーションが考えられ,例えば,各マイナーが新しく追加されたブロックのA部の受信を完了した直後にアイテムを全く含まない新しいブロックのマイニングを始め,B部の受信の完了と共に新しいブロックに含めるアイテムを確定してアイテムの含まれるブロックのマイニングを開始する方式も考えられる。後者の方法を採用する場合,マイナーにアイテムを含むブロックのマイニングを促すために,トランザクションフィーを高額にする必要がある。
上で説明した上記の二つの方法は,いずれもアカウントの残高不足などで実行できないアイテムはブロックチェーンに含めないことを前提としたアプローチであるが,実行できないアイテムもブロックに含め,ブロックに含まれたアイテムのうち実行できないアイテムは無視して,実行できるアイテムのみを実行してアカウントの状態を更新するアプローチも考えられる。ブロックの重複登録を避けるために,ブロックに含まれるアイテムの集合を(アカウントの集合の代わりに)A部に含むようにしてもよい。このアプローチを取る場合,マイナーはブロックtのA部を受信後,ブロックt+1に含めるアイテムを決める際に,それぞれのアイテムがブロックtのA部に格納されたアイテムの集合に含まれるか判定し,含まれるならそのアイテムはブロックt+1に含めないようにして,ブロックt+1を構成する。この後,ブロックt+1に対するマイニングを行う。ブロックt+1に含まれたアイテムの中には,残高不足などの理由で実行できないものが含まれ,各アカウントの最新状態を計算する上で,ブロックチェーンに登録された実行できないアイテムは無視される。この方法におけるブロックの検証は,ブロックに含まれるアイテムの集合を表すデータが正しいか調べることである。この方法ではブロックチェーンに実行できない取引データが含まれるため,ブロックチェーンのサイズが大きくなる欠点がある。この方法の実施例を実施例3に示す。
アカウントやアイテムの集合を表現するためにブルームフィルタを用いても良い。A部に格納する,ブロックtに含まれるアイテムの集合や,アイテムにより上書きされるアカウントの集合をブルームフィルタで表現する場合,偽陽性にどう対応するかが課題になる。あるアカウントが偽陽性によりブロックtに含まれるアイテムに上書きされると判定され,実際にはそのアカウントはブロックtに含まれるアテムのいずれにも上書きされない場合には,そのアカウントを参照するアイテムはブロックt+1には含められない。偽陽性によりブロックt+1に含められなかったアイテムは,特に何もしなくともブロックt+2以降のブロックに含められるため,該当する取引の実行が遅延する以外に問題は起きず,偽陽性に対応するための処理は特段必要ない。偽陽性の発生確率1%,アカウントの集合のサイズが2000×60×10の場合,ブルームフィルタのサイズは約1.5Mバイトであり,毎秒1000 取引の場合のCompact Block Relay (BIP152)のデータ転送量1000×6×60×10 = 3.6Mバイトの半分以下ですむ。
以下,本願発明とCompact Block Relay (BIP152)の対比について述べる。Compact Block Relayでは,新しく追加されるブロックをネットワーク全体にブロードキャストする際に,中継元マイナーから中継先マイナーに取引データそれぞれのハッシュ値を送信する。中継先マイナーは,取引データのほとんどを,最初に取引データをブロードキャストしたユーザノードから受信して既に保持しているので,これらは再度中継元マイナーから受信する必要はなく,このための通信を省略することでネットワークの帯域を節約することができる。しかし,中継先マイナーが保持していない取引データに関しては,取引内容が分からないので,それらの取引が全て完了した後にまだブロックチェーンに取り込まれていない取引データのうちどの取引を矛盾なく実行できるかを特定することはできない。それらを特定するためには,完全な取引データを受信する必要がある。これに対し,実施例1の方法では,新しく追加されるブロックに含まれるアイテムにより上書きされるアカウントの集合を表すデータを送信する。この集合に含まれないアカウントは,新しく追加されるブロックに含まれるアイテムによって状態が更新されることはなく,従ってこれらのアカウントを参照しないアイテムは,新しく追加されるブロックに含まれるアイテムを全て実行した後に矛盾なく実行できることが保証される。本願発明では,ブロックのA部の伝播の際に送信側から受信側への一方向の通信を行うだけで良いので,通信路のレイテンシの影響が少ない。一方,Compact Block Relay では,各マイナーが新しく追加されるブロックをブロードキャストする過程において,追加されるブロックに含まれる取引全ての完全な取引データを受信する必要があり,そのうちの一部を中継先のマイナーが保持していない場合は,中継先のマイナーが中継元のマイナーにリクエストを送信して受信する必要がある。このために中継先のマイナーと中継元のマイナー間で双方向の通信が行われる。このようなケースが発生する可能性は,ブロック中に含まれる取引の数が増えるに従って増大する。これにより,Compact Block Relay は通信路のレイテンシの影響を強く受ける。また,本願発明ではブロックのA部の送信の後,B部の送信を直ちに開始するのではなく少し遅らせることで,この間ネットワークの帯域の大部分をブロックのA部の伝播に利用することができ,従ってブロックのA部の伝播をさらに高速化し,その結果マイナーが早く次のブロックのマイニングを開始することが可能であるが,Compact Block Relay ではこの高速化は利用できず,各マイナーは新しく追加されたブロック中の完全な取引データを全て受信するまで次のブロックのマイニングを開始できない。また,計算上本願発明のほうが送信データ量は少なくできる。Compact Block Relay と本願発明は併用することが可能である。
1. 完全なブロックチェーンをダウンロードし,このブロックチェーンを空のチェーンリストに追加する。
2. チェーンリスト内の最長のチェーンより一定ブロック数以上短いチェーンをチェーンリストから全て削除する。
3. チェーンリスト中のチェーンそれぞれについてブロックの数を評価し,これをチェーンの適合度とする。チェーンリストから,最後のブロックの一つ前およびそれ以前の全ブロックについてA 部とB部の両方を保持しており,最後のブロックのA 部を保持しているチェーンの中で,最も適合度の高いチェーンを選択する。但し,このチェーンはリストから削除しない。以降このチェーンをマイニングの対象とする。このチェーンに含まれるブロックの数をtとする。
4. ブロックt(マイニングの対象とするチェーンの最後のブロック)のB部を保持している場合は,アイテムリストに含まれるアイテムのうち,ブロックtおよびそれ以前のブロックに含まれておらず,検証に成功したアイテム全てをブロックt+1に格納するアイテムとして選定する。
5. ブロックtのB部を保持していない場合は,アイテムリストに含まれるアイテムのうち,ブロックt-1およびそれ以前のブロックに含まれておらず,検証に成功したアイテムのうち,ブロックtのA部に含まれる「ブロックtをブロックチェーンに新たに追加することでブロックtを追加する前の状態から状態の変化する可能性のあるアカウントの集合を表すデータ」の表すアカウントのいずれも参照しないアイテム全てをブロックt+1に格納するアイテムとして選定する。
6. ステップ4と5で選定したアイテムから,一つのブロックに格納できる数のアイテムを選定してブロックt+1のB部を構成し,ブロックt+1のB部のハッシュ値を計算する。ブロックt+1のB部に含まれる全てのアイテムそれぞれが上書きするアカウントの集合の和集合を求めることで,「ブロックt+1をマイニングの対象とするブロックチェーンに新たに追加することでブロックt+1 を追加する前の状態から状態の変化する可能性のあるアカウントの集合」を求める。求めた集合を表すデータ(ブルームフィルタ)を生成し,このブルームフィルタとブロックt+1のB部のハッシュ値,ブロックtのA部のハッシュ値からブロックt+1のA部を構成する。
7. ブロックt+1のA部のハッシュ値が要求された数のゼロビットから始まるようなナンスを探す。
7a. 7.の過程で,ブロックt+1のA部のハッシュ値が要求された数のゼロビットから始まるようなナンスを見つけた場合:チェーンリスト内の現在マイニングの対象としているチェーンに,見つけたナンスを含むブロックt+1のA部とB部を追加し,ブロックt+1のA部とB部をブロードキャストする。ステップ2 へ。
7b. 7.の過程で,ブロックのA部を受信した場合:チェーンリストに受信したブロックで終わるチェーンを追加する。受信したブロックの一つ前およびそれ以前のブロックのA部またはB部を保持していなければ,ダウンロードしてリストに追加する。ステップ2 へ。
7c. 7.の過程で,あるブロックのB部の受信を完了した場合:受信したブロックをブロックuと呼ぶ。チェーンリスト内のB部の欠落した各ブロックKについて,ブロックKのA部に含まれている「ブロックKのB部のハッシュ値」と,受信したブロックuのB部のハッシュ値が一致し,かつ受信したブロックuのB部から求められる,「ブロックuをブロックチェーンに新たに追加することでブロックuを追加する前の状態から状態の変化する可能性のあるアカウントの集合を表すデータ(ブルームフィルタ)」と,ブロックKのA部に含まれているブルームフィルタが一致する場合に,ブロックuのB部に格納されているアイテム全ての検証を行い,成功した場合,ブロックKに受信したブロックuのB部を追加する。ステップ2 へ。
1. 完全なブロックチェーンをダウンロードし,このブロックチェーンを空のチェーンリストに追加する。
2. チェーンリスト内の最長のチェーンより一定ブロック数以上短いチェーンをチェーンリストから全て削除する。
3. チェーンリスト中のチェーンそれぞれについてブロックの数を評価し,これをチェーンの適合度とする。チェーンリスト中の,偶数個のブロックからなり最後の奇数番目のブロックのB 部を保持している最も適合度の高いチェーンと,奇数個のブロックからなる最も適合度の高いチェーンのうち,適合度の高い方を選択する。但し,このチェーンはリストから削除しない。以降このチェーンをマイニングの対象とする。このチェーンに含まれるブロックの数をtとする。
4. ブロックt(マイニングの対象とするチェーンの最後のブロック)が奇数番目のブロックである場合:
ブロックt+1にはアイテムを含めず,ブロックtのA部のハッシュ値からブロックt+1のA部を構成する。
5. ブロックtが偶数番目のブロックである場合:
アイテムリストに含まれるアイテムのうち,マイニングの対象となるブロックチェーンに含まれておらず,かつ検証に成功したアイテム全てをブロックt+1に格納するアイテムとして選定する。ここからさらに一つのブロックに格納できる数のアイテムを選定してブロックt+1のB部を構成し,ブロックt+1のB部のハッシュ値を計算する。このハッシュ値とブロックtのA部のハッシュ値からブロックt+1のA部を構成する。
6. ブロックt+1のA部のハッシュ値が要求された数のゼロビットから始まるようなナンスを探す。
6a. 6.の過程で,ブロックt+1のA部のハッシュ値が要求された数のゼロビットから始まるようなナンスを見つけた場合:チェーンリスト内の現在マイニングの対象としているチェーンに,見つけたナンスを含むブロックt+1全体を追加する。ブロックt+1のA部をブロードキャストし,次いでブロックt+1の残りの部分をブロードキャストする。ステップ2 へ。
6b. 6.の過程で,ブロックのA部を受信した場合:チェーンリストに受信したブロックで終わるチェーンを追加する。受信したブロックの一つ前およびそれ以前のブロックのA部またはB部を保持していなければ,ダウンロードしてリストに追加する。ステップ2へ。
6c. 6.の過程で,ブロックuのB部の受信を完了した場合:チェーンリスト内のB部の欠落した各ブロックKについて,ブロックKのA部に含まれている「ブロックKのB部のハッシュ値」と,受信したブロックuのB部のハッシュ値が一致する場合に,ブロックuのB部に格納されているアイテム全ての検証を行い,成功した場合,ブロックKに受信したブロックuのB部を追加する。ステップ2 へ。
1. 完全なブロックチェーンをダウンロードし,このブロックチェーンを空のチェーンリストに追加する。
2. チェーンリスト内の最長のチェーンより一定ブロック数以上短いチェーンをチェーンリストから全て削除する。
3. チェーンリスト中のチェーンそれぞれについてブロックの数を評価し,これをチェーンの適合度とする。チェーンリストから,最後のブロックの一つ前およびそれ以前の全ブロックについてA部とB部の両方を保持しており,最後のブロックのA部を保持しているチェーンの中で,最も適合度の高いチェーンを選択する。但し,このチェーンはリストから削除しない。以降このチェーンをマイニングの対象とする。このチェーンに含まれるブロックの数をtとする。
4. ブロックt(マイニングの対象とするチェーンの最後のブロック)のB部を保持している場合は,アイテムリストに含まれるアイテムのうち,ブロックtおよびそれ以前のブロックに含まれておらず,検証に成功したアイテム全てをブロックt+1に格納するアイテムとして選定する。
5. ブロックtのB部を保持していない場合は,アイテムリストに含まれるアイテムのうち,ブロックt-1およびそれ以前のブロックに含まれておらず,検証に成功したアイテムのうち,ブロックtのA部に含まれる「ブロックtに含まれる全てのアイテムの集合を表すデータ」の表す集合に含まれないアイテム全てをブロックt+1に格納するアイテムとして選定する。
6. ステップ4と5で選定したアイテムから,一つのブロックに格納できる数のアイテムを選定してブロックt+1のB部を構成し,ブロックt+1のB部のハッシュ値を計算する。ブロックt+1のB部に含まれる全てのアイテムの集合を表すデータ(ブルームフィルタ)を生成し,このブルームフィルタとブロックt+1のB部のハッシュ値,ブロックtのA部のハッシュ値からブロックt+1のA部を構成する。
7. ブロックt+1のA部のハッシュ値が要求された数のゼロビットから始まるようなナンスを探す。
7a. 7.の過程で,ブロックt+1のA部のハッシュ値が要求された数のゼロビットから始まるようなナンスを見つけた場合:チェーンリスト内の現在マイニングの対象としているチェーンに,見つけたナンスを含むブロックt+1のA部とB部を追加し,ブロックt+1のA部とB部をブロードキャストする。ステップ2 へ。
7b. 7.の過程で,ブロックのA部を受信した場合:チェーンリストに受信したブロックで終わるチェーンを追加する。受信したブロックの一つ前およびそれ以前のブロックのA部またはB部を保持していなければ,ダウンロードしてリストに追加する。ステップ2 へ。
7c. 7.の過程で,ブロックuのB部の受信を完了した場合:チェーンリスト内のB部の欠落した各ブロックKについて,ブロックKのA部に含まれている「ブロックKのB部のハッシュ値」と,受信したブロックuのB部のハッシュ値が一致し,かつ受信したブロックuのB部から求められる,「ブロックuのB部に含まれる全てのアイテムの集合を表すデータ(ブルームフィルタ)」と,ブロックKのA部に含まれているブルームフィルタが一致する場合に,ブロックKに受信したブロックuのB部を追加する。ステップ2 へ。
クチェ―ンシステムにも適用可能なものであり、それらにおいても、ブロックチェーンが単位時間あたりに処理できる取引の数を増すことができる。
Claims (8)
- ピアツーピアネットワークに参加するノードにより運営されるブロックチェーンシステムであって,ブロックチェーンにマイナーが追加したブロックに含まれる取引データ全ての受信を別のマイナーが完了する前に該ブロックの次のブロックに含める取引全ての取引データを該別のマイナーが決定した上で,該受信の完了前に該次のブロックを該別のマイナーがマイニングする手段を備えることを特徴とするブロックチェーンシステム。
- 請求項1 に記載のブロックチェーンシステムであって,取引データの欠落した不完全なブロックを含む不完全なブロックチェーンをマイナーが保持する手段を備え,該不完全なブロックチェーンに新しく追加するブロックのナンスを該マイナーが見つけた後にダウンロードの完了した取引データと,該マイナーの保持する該不完全なブロックチェーンに含まれる該不完全なブロックを組み合わせて得られるブロックを該マイナーが検証する手段を備えることを特徴とするブロックチェーンシステム。
- 請求項2に記載のブロックチェーンシステムであって,完全なブロックチェーンと上記の不完全なブロックチェーンを保持する手段と、該システムにより定められた適合度関数をマイナーが備え,該完全なブロックチェーンと該不完全なブロックチェーンのそれぞれについて、該マイナーがその適合度を該適合度関数を用いて評価し、適合度が最も大きい値であるブロックチェーンを対象にマイニングを行う手段を該マイナーが備え,該適合度関数は引数として与えられた完全なブロックチェーンまたは不完全なブロックチェーンが将来的に最も速く伸びることがより期待できる場合により大きな値を取ることを特徴とするブロックチェーンシステム。
- 請求項2に記載のブロックチェーンシステムであって,完全なブロックチェーンと上記の不完全なブロックチェーンを保持する手段をマイナーが備え,マイナーは保持するブロックチェーンに含まれるブロックの個数を計数する手段を備え,該完全なブロックチェーンと該不完全なブロックチェーンのそれぞれに含まれるブロックの個数を計数し,その中で最もブロックの個数の多いブロックチェーンを対象にマイニングを行う手段を該マイナーが備えることを特徴とするブロックチェーンシステム。
- 請求項3または請求項4に記載のブロックチェーンシステムであって,マイナーがブロックをブロックチェーンに追加する際に,該ブロックを追加することで追加する前の状態から状態の変化する可能性のあるアカウントの集合を該マイナーが求め,得られた集合を表すデータを該ブロックに該マイナーが含める手段を備え,該集合に含まれるアカウントのいずれかの状態を変化させる可能性のある取引の取引データを含まないように別のマイナーが該ブロックの次のブロックを構成した上でマイニングする手段を備えることを特徴とするブロックチェーンシステム。
- 請求項3または請求項4に記載のブロックチェーンシステムであって,ブロックチェーンにマイナーが追加したブロックに含まれる取引データ全ての受信を別のマイナーが完了する前に該ブロックの次のブロックに取引データを一切含まずに該別のマイナーが該次のブロックをマイニングする手段を備えることを特徴とするブロックチェーンシステム。
- 請求項3または請求項4に記載のブロックチェーンシステムであって,マイナーがブロックをブロックチェーンに追加する際に,該ブロックに含まれる取引データの集合を該マイナーが求め,得られた集合を表すデータを該ブロックに該マイナーが含める手段を備え,該集合に含まれる取引データを含まないように別のマイナーが該ブロックの次のブロックを構成した上でマイニングする手段を備え,実行できない取引データを含むブロックをブロックチェーンに追加する手段を備え,ユーザのアカウントの最新状態は,アカウントの初期状態から,ブロックチェーンに記録された取引データの表す取引のうち,実行できない取引を除く取引を順に全て実行した結果であることを特徴とするブロックチェーンシステム。
- 請求項1ないし7のいずれか1項に記載のブロックチェーンシステムを実現するためのコンピュータープログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022012478A JP7076757B2 (ja) | 2022-01-29 | 2022-01-29 | ブロックの分割によりスループットを改善したブロックチェーンシステム及びコンピュータープログラム |
PCT/JP2022/025600 WO2023145105A1 (ja) | 2022-01-29 | 2022-06-27 | ブロックの分割によりスループットを改善したブロックチェーンシステム及びコンピュータープログラム |
US17/922,022 US20240223386A1 (en) | 2022-01-29 | 2022-06-27 | Blockchain system with improved throughput by splitting blocks, and its computer program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022012478A JP7076757B2 (ja) | 2022-01-29 | 2022-01-29 | ブロックの分割によりスループットを改善したブロックチェーンシステム及びコンピュータープログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022044815A JP2022044815A (ja) | 2022-03-17 |
JP7076757B2 true JP7076757B2 (ja) | 2022-05-30 |
Family
ID=80679333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022012478A Active JP7076757B2 (ja) | 2022-01-29 | 2022-01-29 | ブロックの分割によりスループットを改善したブロックチェーンシステム及びコンピュータープログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240223386A1 (ja) |
JP (1) | JP7076757B2 (ja) |
WO (1) | WO2023145105A1 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019528590A (ja) | 2016-07-29 | 2019-10-10 | エヌチェーン ホールディングス リミテッドNchain Holdings Limited | ブロックチェーンにより実現されるシステム及び方法 |
US20200013027A1 (en) | 2018-07-06 | 2020-01-09 | Decentralized Finance Labs, Inc. | Hybrid proof of work and proof of stake consensus to reduce circulating tokens in a blockchain system |
JP2020188503A (ja) | 2020-08-01 | 2020-11-19 | 柴田 直樹 | 最適化問題の解探索を利用した合意形成プロトコルを備えたブロックチェーンシステム及びコンピュータープログラム。 |
US20200396065A1 (en) | 2019-06-13 | 2020-12-17 | Luis Eduardo Gutierrez-Sheris | System and method using a fitness-gradient blockchain consensus and providing advanced distributed ledger capabilities via specialized data records |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10764325B2 (en) * | 2018-03-30 | 2020-09-01 | Konica Minolta Laboratory U.S.A., Inc. | Method for adjusting mining difficulty of a cryptocurrency blockchain system by monitoring malicious forks and implementing a miners blockchain |
US11544252B2 (en) * | 2019-12-17 | 2023-01-03 | Akamai Technologies, Inc. | High performance distributed system of record with extended transaction processing capability |
-
2022
- 2022-01-29 JP JP2022012478A patent/JP7076757B2/ja active Active
- 2022-06-27 WO PCT/JP2022/025600 patent/WO2023145105A1/ja active Application Filing
- 2022-06-27 US US17/922,022 patent/US20240223386A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019528590A (ja) | 2016-07-29 | 2019-10-10 | エヌチェーン ホールディングス リミテッドNchain Holdings Limited | ブロックチェーンにより実現されるシステム及び方法 |
US20200013027A1 (en) | 2018-07-06 | 2020-01-09 | Decentralized Finance Labs, Inc. | Hybrid proof of work and proof of stake consensus to reduce circulating tokens in a blockchain system |
US20200396065A1 (en) | 2019-06-13 | 2020-12-17 | Luis Eduardo Gutierrez-Sheris | System and method using a fitness-gradient blockchain consensus and providing advanced distributed ledger capabilities via specialized data records |
JP2020188503A (ja) | 2020-08-01 | 2020-11-19 | 柴田 直樹 | 最適化問題の解探索を利用した合意形成プロトコルを備えたブロックチェーンシステム及びコンピュータープログラム。 |
Also Published As
Publication number | Publication date |
---|---|
WO2023145105A1 (ja) | 2023-08-03 |
US20240223386A1 (en) | 2024-07-04 |
JP2022044815A (ja) | 2022-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2021200222B2 (en) | Methods and apparatus for a distributed database including anonymous entries | |
JP7184959B2 (ja) | ネットワーク内の分散データベースのための方法及び装置 | |
JP7508473B2 (ja) | ブロックチェーンの使用方法 | |
US20200250168A1 (en) | Point-to-point distributed decentralized system | |
CN116615722A (zh) | 用于网络内分布式数据库的方法和装置 | |
JP2022527610A (ja) | ブロックチェーンネットワークにおけるブロックを伝搬する方法及び装置 | |
JP7076757B2 (ja) | ブロックの分割によりスループットを改善したブロックチェーンシステム及びコンピュータープログラム | |
JP2024518079A (ja) | マルチパーティブロックチェーンアドレス方式 | |
JP2024523923A (ja) | ティア化されたコンセンサス | |
EP4359985A1 (en) | Multi-level blockchain | |
CN113179273A (zh) | 基于区块链侧链的区块头验证方法、装置和计算机可读存储介质 | |
CN115796861A (zh) | 一种区块链上跨链交易方法、系统、设备及存储介质 | |
Pass et al. | The thunder protocol | |
RU2778013C2 (ru) | Способы и устройство для распределенной базы данных в сети | |
JP2024516894A (ja) | マルチパーティブロックチェーンアドレス方式 | |
JP2024516895A (ja) | マルチパーティブロックチェーンアドレス方式 | |
JP2023527030A (ja) | ブロックチェーントランザクションアウトプットの確率的メンバシップテスト | |
TW202329668A (zh) | 證明及驗證有序事件序列之技術 | |
WO2023156101A1 (en) | Blockchain transaction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220129 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20220129 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220418 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220421 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220422 |
|
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: 20220510 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220510 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7076757 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |