JP2019519137A - 分散型トランザクション伝播および検証システム - Google Patents
分散型トランザクション伝播および検証システム Download PDFInfo
- Publication number
- JP2019519137A JP2019519137A JP2018557931A JP2018557931A JP2019519137A JP 2019519137 A JP2019519137 A JP 2019519137A JP 2018557931 A JP2018557931 A JP 2018557931A JP 2018557931 A JP2018557931 A JP 2018557931A JP 2019519137 A JP2019519137 A JP 2019519137A
- Authority
- JP
- Japan
- Prior art keywords
- block
- user
- entity
- round
- users
- 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.)
- Granted
Links
- 238000012795 verification Methods 0.000 title description 13
- 238000000034 method Methods 0.000 claims description 79
- 238000012546 transfer Methods 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 4
- 238000010845 search algorithm Methods 0.000 claims description 4
- 238000012986 modification Methods 0.000 claims 1
- 230000004048 modification Effects 0.000 claims 1
- 230000001681 protective effect Effects 0.000 claims 1
- 230000001902 propagating effect Effects 0.000 description 37
- 238000004458 analytical method Methods 0.000 description 31
- 238000013459 approach Methods 0.000 description 26
- 230000006870 function Effects 0.000 description 21
- 230000008901 benefit Effects 0.000 description 19
- 230000000644 propagated effect Effects 0.000 description 18
- 238000004364 calculation method Methods 0.000 description 17
- 238000004891 communication Methods 0.000 description 16
- 230000007246 mechanism Effects 0.000 description 16
- 230000008859 change Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 13
- 238000010276 construction Methods 0.000 description 9
- 230000001939 inductive effect Effects 0.000 description 9
- 230000007774 longterm Effects 0.000 description 8
- 230000006698 induction Effects 0.000 description 7
- 230000001360 synchronised effect Effects 0.000 description 7
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 5
- 239000012141 concentrate Substances 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 238000013475 authorization Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000002730 additional effect Effects 0.000 description 3
- 230000008094 contradictory effect Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000004900 laundering Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 241000238876 Acari Species 0.000 description 1
- 206010010071 Coma Diseases 0.000 description 1
- 206010011878 Deafness Diseases 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000005352 clarification Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000036461 convulsion Effects 0.000 description 1
- 231100000895 deafness Toxicity 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005242 forging Methods 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 208000016354 hearing loss disease Diseases 0.000 description 1
- 208000014617 hemorrhoid Diseases 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 229940073686 let me clarify Drugs 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000003313 weakening effect Effects 0.000 description 1
Images
Classifications
-
- 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
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- 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
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- 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
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- 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
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic 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/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- 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
- G06Q20/40—Authorisation, 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/401—Transaction verification
- G06Q20/4016—Transaction verification involving fraud or risk level assessment in transaction processing
-
- 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
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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/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/3247—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 involving digital signatures
-
- 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/3247—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 involving digital signatures
- H04L9/3255—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 involving digital signatures using group based signatures, e.g. ring or threshold signatures
-
- 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/3263—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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- 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
-
- 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
- G06Q2220/00—Business processing using cryptography
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
- H04L2209/463—Electronic voting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Technology Law (AREA)
- Power Engineering (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Storage Device Security (AREA)
Abstract
Description
本出願は、2016年5月4日に出願された「ALGORAND:A VERY EFFICIENT MONEY PLATFORM(アルゴランド:非常に効率的なマネープラットフォ−ム)」と題する米国仮特許出願第62/331,654号、2016年5月9日に出願された「ALGORAND:A VERY EFFICIENT MONEY PLATFORM(アルゴランド:非常に効率的なマネープラットフォーム)」と題する米国仮特許出願第62/333,340号、2016年5月31日に出願された「ALGORAND:THE EFFICIENT BLOCK CHAIN(アルゴランド:効率的なブロックチェーン)」と題する米国仮特許出願第62/343,369号、2016年6月2日に出願された「ALGORAND THE EFFICIENT BLOCK CHAIN(アルゴランド 効率的なブロックチェーン)」と題する米国仮特許出願第62/344,667号、2016年6月7日に出願された「ALGORAND THE EFFICIENT BLOCK CHAIN(アルゴランド 効率的なブロックチェーン)」と題する米国仮特許出願第62/346,775号、2016年6月16日に出願された「ALGORAND THE EFFICIENT AND DEMOCRATIC LEDGER(アルゴランド 効率的かつ民主的な台帳)」と題する米国仮特許出願第62/351,011号、2016年6月22日に出願された「ALGORAND THE EFFICIENT AND DEMOCRATIC LEDGER(アルゴランド 効率的かつ民主的な台帳)」と題する米国仮特許出願第62/353,482号、2016年6月24日に出願された「ALGORAND THE EFFICIENT AND DEMOCRATIC LEDGER(アルゴランド 効率的かつ民主的な台帳)」と題する米国仮特許出願第62/354,195号、2016年7月19日に出願された「ALGORAND THE EFFICIENT AND DEMOCRATIC LEDGER(アルゴランド 効率的かつ民主的な台帳)」と題する米国仮特許出願第62/363,970号、2016年8月1日に出願された「ALGORAND THE EFFICIENT AND DEMOCRATIC LEDGER(アルゴランド 効率的かつ民主的な台帳)」と題する米国仮特許出願第62/369,447号、2016年8月24日に出願された「ALGORAND THE EFFICIENT PUBLIC LEDGER(アルゴランド 効率的な公開台帳)」と題する米国仮特許出願第62/378,753号、2016年9月2日に出願された「ALGORAND(アルゴランド)」と題する米国仮特許出願第62/383,299号、2016年9月13日に出願された「ALGORAND(アルゴランド)」と題する米国仮特許出願第62/394,091号、2016年9月27日に出願された「ALGORAND(アルゴランド)」と題する米国仮特許出願第62/400,361号、2016年10月3日に出願された「ALGORAND(アルゴランド)」と題する米国仮特許出願第62/403,403号、2016年10月20日に出願された「ALGORAND(アルゴランド)」と題する米国仮特許出願第62/410,721号、2016年11月3日に出願された「ALGORAND(アルゴランド)」と題する米国仮特許出願第62/416,959号、2016年11月16日に出願された「ALGORAND(アルゴランド)」と題する米国仮特許出願第62/422,883号、2017年2月6日に出願された「ALGORAND(アルゴランド)」と題する米国仮特許出願第62/455,444号、2017年2月14日に出願された「ALGORAND(アルゴランド)」と題する米国仮特許出願第62/458,746号、および、2017年2月16日に出願された「ALGORAND(アルゴランド)」と題する米国仮特許出願第62/459,652号に対する優先権を主張し、同出願を参照によりすべて本明細書に組み込む。
公開台帳とは、誰もが読んだり増やしたりすることのできる、改ざん防止データのシーケンスである。共有公開台帳は、現代社会の活動のあり方に革命的な変化を起こしそうである。これは、支払、資産の移転および権利化等のあらゆる種類の従来の取引を、それが発生した正確な順番で保護することができ、また、暗号通貨やスマートコントラクト等の全く新しい取引を可能にする。不正を抑え、仲介機関をなくし、信頼の新たな枠組みの先駆けとなることができる。支払システムおよび暗号通貨を構築するために公開台帳を使用することは、特に重要かつ魅力的である。
本明細書に説明されるシステムによると、トランザクションがブロックに整理されるトランザクションシステムにおいて、エンティティは、前のブロックB0,...,Br−1のシーケンスに関連して、有効なトランザクションの新たなブロックBrを構築するために、エンティティに前のブロックから数量Qを求めさせ、Qとエンティティとに一意に関連付けられているストリングSを計算するためにエンティティに秘密鍵を使用させ、エンティティに、Sから、S自体、Sの関数およびSのハッシュ値のうちの少なくとも1つである数量Tを計算させ、Tが所与の性質を有しているかどうかをエンティティに判断させ、Tが所与の性質を有している場合には、エンティティに、Brに電子署名させて、Sおよび電子署名済みバージョンのBrを利用できるようにさせる。秘密鍵は、エンティティの公開鍵に対応する秘密署名鍵であってもよく、Sは、エンティティによるQの電子署名であってもよい。Tは、数のバイナリ展開であってもよく、所与の数p未満である場合に当該性質を満たすことができる。Sは、BrからSを推論できるようにすることによって利用できるようにされてもよい。各ユーザは、トランザクションシステムに残高を有することがあり、各ユーザの残高に応じて各ユーザについてのpが変動することがある。
高次で、B1,...,Br−1をアルゴランドの最初のr−1個のブロックとすると、新たなブロックBrは次の2つの(メガ)ステップにより生成される。
・ブロックリーダーであるユーザlrはランダムに選択されて信用されており、そのタスクは、有効なトランザクションの新たなブロックBrをアセンブルし、これを認証し、ネットワークを通じてこれを伝播することである。誠実なリーダーlrによって提案される場合、ブロックBrは、lrが見る新たな有効トランザクションのすべてを含む。
・集合的に「委員会」と見なされるユーザの部分集合Crは、ランダムに選択されて、Crには、lrによって提案されたブロックのコンセンサスを取り、これを認証し、この認証をネットワークに伝播するタスクが課せられる。ブロックは、それがCRの証明済みメンバーのうちの少なくとも所与の数によって適切に認定される場合、つまり、電子署名される場合に限り、公開台帳に記入される。
ブロックチェーンは、そのブロックの改ざん防止性を保証するが、そのブロックでの動作(例、所与の支払が所与のブロックの一部かどうかを証明すること)をかなり複雑で手間がかかるものにもする。共有公開台帳はブロックチェーンの類義語ではなく、実際、ブロックを構築するためのより優れた方法から利益を得る。アルゴランドは従来のブロックチェーンを用いて機能するが、情報のブロックの新たな構築方法、ブロックツリーも用いて機能する。この発明による方法には、独自の重要性があり得る。
本明細書で説明するシステムは、エンティティがトランザクション情報を検証および/または伝播する計算を行うことに対して単独で責任を負わないように、トランザクションの検証および伝播を分散させるためのメカニズムを提供する。代わりに、参加エンティティのそれぞれは、検証可能かつ信頼性をもってトランザクションを伝播するために行われる計算を共有する。
マネーはますます仮想になってきている。現在、合衆国ドルの約80%は台帳記入としてしか存在していないと見積もられている。他の金融商品もそれに倣ってきている。
ビットコインは非常に巧妙なシステムであり、後続の研究を大量に呼び起こしている。しかし、課題もある。その基になっている仮定と技術的な課題とを要約してみよう。これは実際に、ビットコイン等、プルーフ・オブ・ワークに基づく基本的にすべての暗号通貨に共通するものである。
ビットコインは、悪意のエンティティ(および協調的な悪意のエンティティの連合体)が、ブロックの生成に充てられる計算能力の過半数を支配しないと仮定している。このようなエンティティは、実際には、ブロックチェーンを変更することができ、そのため、好きなように、支払の履歴を書き換えることができるであろう。特に、支払
ブロック生成に対するビットコインのプルーフ・オブ・ワークアプローチには、桁外れの量の計算が必要である。現在、システムにわずか数十万の公開鍵しかないが、上位500の最もパワフルなスーパーコンピュータは、ビットコインのプレーヤから要求される総計算力のわずか12.8%にしか対応できていない。万が一システムに参加するユーザが大幅に増えると、この計算の量は大きく増大するであろう。
現在、途方もない量の計算が必要とされているため、普通のデスクトップ(ましてや携帯電話)を使用して新たなブロックを生成しようとするユーザはマネーを失うと考える。実際、普通のコンピュータを使用して新たなブロックを計算するためには、計算を行うために必要な電力の予想コストは、期待される報酬を超える。特別に構築したコンピュータのプール(「新たなブロックをマイニングすること」以外には何もしない)を使用しなければ、新たなブロックの生成によって利益を得ることは期待できないであろう。したがって、現在、事実上、互いに素の2つのユーザのクラスがある。支払のみを行う普通ユーザと、新たなブロックを探すことだけをする専用マイニングプールである。
ビットコインでは、ブロックチェーンは必ずしも一意ではない。実際、その最新の部分はしばしば分岐する。ブロックチェーンは、例えば、あるユーザによるとB1,...,Bk,B’k+1,B’k+2で、別のユーザによるとB1,...,Bk,B”k+1,B”k+2,B”k+3であるかもしれない。いくつかのブロックがチェーンに追加された後でしか、最初のk+3ブロックが全ユーザについて同じになることを合理的に確信することができない。したがって、チェーンの最後のブロックに含まれる支払をすぐに信頼することはできない。ブロックがブロックチェーンにおいて十分に深くなるかどうか、また、そのため十分に安定するかどうかを待って確認する方が、より分別があることである。
ビットコインの支払が提供する(疑似)匿名性は、マネーロンダリングおよび/または個人の犯罪者もしくはテロ組織の資金調達に悪用されるかもしれない。原則的に完璧な匿名性を提供する伝統的な銀行券または金の延棒は、同じ課題をもたらすとしても、これらの通貨の物理的存在が実質的にマネーの移転を鈍らせるので、法執行機関による監視をある程度可能にする。
「マネーを印刷」できることは、非常に基本的な国家権力の1つである。そのため、原則的に、独立して流通する通貨の大量採用は、この権力を減じるおそれがある。しかし、現在、ビットコインは政府の金融政策に対する驚異とはほど遠く、そのスケーラビリティの問題のために、絶対にそうならないであろう。
設定
アルゴランドは、非常に厳しい設定でも機能する。簡単にいうと、
(a)非許可型環境および許可型環境。アルゴランドは、いかなる種類の審査も許可もなしに任意に多くのユーザがいつでもシステムに参加することを許される、完全な非許可型環境でも効率的かつセキュアに機能する。当然、アルゴランドは、許可型環境においてよりよく機能する。
(b)非常に敵対的な環境。アルゴランドは、以下のことができる非常にパワフルな敵対者に耐える。
(1)非許可型環境において、システム内のマネーの2/3が誠実なユーザに属しているとして、敵対者が望む任意のユーザを、敵対者が望む任意の時点で即座に腐敗させること。(許可型環境では、マネーに関係なく、ユーザの2/3が誠実であれば十分である。)
(2)腐敗させたユーザ全員を完全に支配し、完全に協調させること。
(3)誠実なユーザによって送られる各メッセージmが、ある時間λm以内にすべての(または十分多くの)誠実なユーザに届き、時間λmがmのサイズにのみ依存するとして、すべてのメッセージの配信のスケジュールを組むこと。
パワフルな敵対者の存在に関わらず、アルゴランドでは、
・必要な計算量は最小限である。
本質的に、いかに多くのユーザがシステム内に存在しようとも、1,500名のユーザのそれぞれが、たかだか数秒の計算を行わなければならない。
・新たなブロックはすぐに生成され、事実上、ブロックチェーンを絶対に離れない。
すなわち、アルゴランドのブロックチェーンは、無視できる確率でしか分岐しない(すなわち、1兆分の1未満、または10−18)。したがって、ユーザは、ブロックが出現するや否や、その新たなブロックに含まれる支払を信用することができる。
・すべての権力はユーザ自身にある。
アルゴランドは真に分散型のシステムである。具体的には、どのトランザクションが認められるかを管理することのできる外生的なエンティティ(ビットコインの「マイナー」のような)が存在しない。
1.新規かつ高速のビザンチン合意プロトコル
アルゴランドは、発明による暗号学的な、メッセージパッシングの、バイナリビザンチン合意(BA)プロトコルBA★により新たなブロックを生成する。プロトコルBA★はいくつかの追加の性質(これはすぐに述べる)を満たすだけでなく、非常に高速でもある。大雑把にいうと、そのバイナリ入力バージョンは3ステップループからなり、プレーヤiが単一のメッセージmiを他のすべてのプレーヤに送る。完全な同期ネットワークで実行されると、プレーヤの2/3超が確率>1/3で誠実であれば、各ループの後、プロトコルは合意に終わる。(プロトコルBA★が、一切の弱化なくビザンチン合意の元の定義を満たすことを強調しておく。)
非常に高速であるが、プロトコルBA★は、数百万のユーザによってプレイされるとき、さらなる高速化から利益を得るであろう。したがって、アルゴランドは、BA★のプレーヤを、全ユーザの集合のうちのはるかに小さい部分集合にするように選ぶ。異なる種類の権力集中の課題を避けるために、新たな各ブロックBrは、BA★の新たな実行を介して、選択された検証者SVrの個別の集合によって構築され、合意される。原則的に、このような集合を選択することは、Brを直接選択するのと同等に困難であろう。我々は、この潜在的な課題を、秘密暗号くじと名付ける新規なアプローチによって乗り切る。くじとは、資格のある個人の大きな集合からランダムに公務員を選出する慣習である。(くじは、何世紀にもわたり、例えば、アテネ、フィレンツェ、およびヴェネツィアの共和国によって実践された。現代の司法制度では、ランダムな選択は、陪審員の選出にしばしば使用される。ランダムサンプリングは、選挙についても提唱されている。)非集中型システムでは、当然、各検証者集合SVrのメンバーをランダムに選択するために必要なランダムコインを選ぶことには問題がある。したがって、各検証者集合を、全ユーザの母集団から、自動的(すなわち、メッセージの交換が必要ない)かつランダムであることが保証されるように選択するために、暗号法に頼る。同様に、新たなブロックBrの提案を担当するリーダーであるユーザと、リーダーによって提案されるブロックに関して合意に達することを担当する検証者集合SVrとを選択する。本発明によるシステムは、前のブロックの内容から推論可能である何らかの情報Qr−1を利用し、非常に強力な敵対者の存在があっても改ざんは不可能である。
新たなブロックBrの構築を担当するための次の検証者集合とリーダーとを自動的に判定するために、ブロックチェーン内の最後のブロックBr−1を使用する。このアプローチの課題は、前のラウンドでわずかに異なる支払を選ぶだけで、パワフルな敵対者が次のリーダーに対して巨大な支配力を得ることである。敵対者がシステム内のプレーヤ/マネーの1/1000だけを支配しただけでも、すべてのリーダーを悪意にすることが確実にできるであろう。(直観セクション4.1を参照。)この課題はすべてのプルーフ・オブ・ステークアプローチにとって中心的なものであり、我々の知る限りにおいて、現在まで、満足に解決されていない。
新たなブロックの構築を担当する検証者集合とリーダーとを選ぶために、その時点での最後のブロックBr−1をランダムかつ曖昧さなく使用することは十分ではない。Br−1はBrを生成する前に分かっていなければならないため、Br−1から推論可能な、影響力を持つことができない最後の数量Qr−1も知らなければならない。したがって、ブロックBrの計算を担当する検証者とリーダーについてもそうである。このように、パワフルな敵対者は、当該検証者とリーダーとが認定するブロックを完全に支配するために、当該検証者およびリーダーがBrに関する何らかの議論に参加する前に、その全員を直ちに腐敗させるかもしれない。
リーダーは、新たなブロックを提案した後、自分の仕事が済んだため、「死」んだ方が良い(そうでなければ敵対者によって腐敗させられる)。しかし、SVrの検証者の場合は、事はそれほど単純ではない。実際、十分に多くの署名で新たなブロックBrの認定を担当する検証者は、まずリーダーが提案したブロックに対してビザンチン合意を実行しなければならない。問題は、それがいかに効率的でも、BA★には複数のステップとそのプレーヤの>2/3の誠実者を要することである。これは、効率上の理由で、BA★のプレーヤ集合が、全ユーザの集合の中からランダムに選択された小さな集合SVrを成すため、問題である。したがって、パワフルな敵対者は、全ユーザの1/3を腐敗させることができなくても、SVrの全メンバーを間違いなく腐敗させることができる!
誠実なユーザは、自分の規定された命令に従うが、当該命令はオンラインであることを含み、プロトコルを実行する。アルゴランドは適度な計算および通信の要求事項のみを有するため、オンラインであることと「バックグラウンド」でプロトコルを実行することは大きな犠牲ではない。当然ながら、接続性が突然失われたり、または再起動する必要があったりすること等に起因する、誠実なプレーヤの中の少数の「不在」は自動的に黙認される(このような少数のプレーヤを一時的に悪意であると常にみなすことができるため)。しかし、指摘したいのは、アルゴランドが、誠実なユーザがほとんどの時間オフラインであるとする新たなモデルで機能するように単純に適応できる点である。我々の新たなモデルは、以下のように略式に紹介することができる。
大雑把にいうと、(1)プロトコルへの参加が求められるときに、自分の規定された命令のすべてに従い、(2)プロトコルへの参加を求められることは稀であり、かつ、参加要求が適切な事前の通知をもって行われる場合に、ユーザiは、怠惰であるが誠実である。誠実さについてのこのような厳格ではない概念によって、我々は、我々が必要とするときには誠実な人がすぐに対応できることをなお一層確信することができ、アルゴランドは、これが当てはまる場合に、以下のことを保証する。すなわち、
「所与の時点で、参加するプレーヤの過半数が悪意でも、システムはセキュアに動作する。」
2.1 暗号プリミティブ
理想的なハッシング
我々は、任意の長さのストリングを固定長のバイナリストリングにマッピングする、効率的に計算可能な暗号学的ハッシュ関数Hに依拠するものとする。長い伝統の後、我々は、Hを、本質的に各候補ストリングsを選ばれた長さのランダムかつ独立して選択された(そして固定される)バイナリストリングH(s)にマッピングする関数である、ランダムオラクルとしてモデル化する。
電子署名は、任意の秘密鍵を共有しなくても、ユーザに情報を互いに認証させる。電子署名スキームは、確率的キージェネレータG、署名アルゴリズムSおよび検証アルゴリズムVの3つの高速アルゴリズムからなる。
Hは衝突耐性であるため、mに署名することによって異なるメッセージm’に「偶然に署名する」ことは実際的に不可能である。
1.適法な署名は必ず検証される:s=sigi(m)であれば、V(pki,m,s)=YESであり、かつ、
2.電子署名は偽造しにくい:skiを知らなければ、メッセージmについて、V(pki,m,s)=YESになるようなストリングsを見つけるための時間は天文学的に長い。
(強力なセキュリティ要件に従い、任意の他のメッセージの署名を取得できたとしてもこれは真実である。)
一般に、メッセージmは、その署名sigi(m)から取り出すことはできない。概念上便利な「メッセージ検索可能性」の性質を満たす電子署名を仮想で取り扱うために(すなわち、署名者およびメッセージが署名から容易に計算可能であることを保証するために)、我々は次のように定義する。
我々は、次の追加性質を満たす電子署名スキーム(G,S,V)も検討する。
次のようになるストリングpk’,m,sおよびs’は見つけにくい。
・一意の署名から検証可能なランダム関数まで
一意性の性質を有する電子署名スキームに関連し、マッピングm→H(sigi(m))は、一意にランダムに選択された256ビットのストリングである各候補ストリングmと関連し、このマッピングの正当性は、署名sigi(m)があれば証明することができる。
アルゴランドでは、ユーザiは次のことについて電子署名に依拠する。
(1)認証するi自身の支払
このアプリケーションでは、鍵は「長期」にすることができ(すなわち、多くのメッセージに署名するために長期間使用される)、普通署名スキームに由来する。
(2)ラウンドrのいくつかのステップsで行為する権利をiが与えられていることを証明するクレデンシャルの生成
ここでは、鍵は長期であることができるが、一意性の性質を満たすスキームに由来しなければならない。
(3)自分が行為する各ステップでiが送るメッセージの認証
ここでは、鍵は一時的でなければならない(すなわち、最初に使用した後破壊される)が、普通署名スキームに由来することができる。
単純化のために、我々は、各ユーザiが単一の長期的な鍵を有することを想定する。したがって、このような鍵は、一意性の性質を有する署名スキームに由来しなければならない。このような単純さの計算コストは少ない。通例、実際に、一意の電子署名は、生成および検証のコストが普通署名よりもわずかに高いだけである。
アルゴランドは、理想化された公開台帳に基づいて、以下の支払システムに近づけることに努める。
マネーは、個々の公開鍵に関連付けられている(ユーザによって内密に生成されて所有される)。pk1,...,pkjを初期の公開鍵とし、a1,...,ajをそのそれぞれのマネー単位の初期金額とすると、初期ステータスは次の通りであり、
pkを現在a≧0マネー単位を有する公開鍵とし、pk’を別の公開鍵とし、a’を、aより大きくない負ではない数とする。すると、(有効な)支払
ユーザは、自分自身の公開/秘密鍵ペアを生成することによって、参加したいときにいつでもシステムに参加できることに留意されたい。従って、上記支払
理想化されたシステムでは、すべての支払が有効であり、誰もが
・より一般的な支払および未使用のトランザクション出力
より一般的には、公開鍵pkが金額aを所有する場合、pkの有効な支払
理想化されたスキームは、システムの現在のステータスに関する(すなわち、各公開鍵がどれくらいのマネー単位を有するかに関する)情報を直接提供しない。この情報は、マジック台帳から推論可能である。
電子署名は、誰も他のユーザの支払を偽造できないことを保証する。支払
鍵、ユーザおよび所有者
特に明記されない限り、各公開鍵(略して「鍵」)は長期的なものであり、一意性の性質を有する電子署名スキームに関連するものである。公開鍵iは、既にシステムにある別の公開鍵jがiに支払を行うと、システムに加入する。
システムは、デジタル鍵がいつでも自由に加入し、所有者が複数のデジタル鍵を所有することができる場合に非許可型であり、それ以外は許可型である。
アルゴランド内の各オブジェクトは一意の表現を有する。具体的には、各集合{(x,y,z,...):x∈X,y∈Y,z∈Z}は、予め指定されたように順序付けされる。例えば、辞書式順序で最初にxに、次にyに、等。
グローバルなクロックは存在しない。むしろ、各ユーザは自分自身のクロックを有する。ユーザのクロックは一切同期させる必要はない。しかし、ユーザのクロックはすべて同一スピードを有すると想定される。
アルゴランドは、ラウンドと呼ばれる論理ユニットr=0,1,...,に整理される。
アルゴランドにおいて、ユーザは継続的に支払を行う(また、サブセクション2.7で説明するようにそれを伝播する)。ユーザi∈PKrの支払
ラウンドr支払集合
これは、
どのラウンドrについても、アルゴランドは、ラウンドの正式な支払集合である単一の(場合によっては空の)支払集合PAYrを(後で説明するやり方で)公開で選択する。(本質的に、PAYrは、「実際に」起こったラウンドr支払を表す。)
1.ラウンドr+1の公開鍵の集合PKr+1は、PKrと、初めてPAYrの支払で出現するすべての受取人の鍵の集合との和集合からなり、
2.ユーザiがラウンドr+1に所有するマネーai (r+1)の金額は、ai(r)の総額、すなわち、前のラウンドでiが所有したマネーの金額(
アルゴランド0では、ラウンドrに対応するブロックBrは、r自体、ラウンドrの支払の集合PAYr、説明される数量
後で述べるように、CERTrは、SVrのメンバーの過半数のものであるH(Br)の電子署名の集合と、当該メンバーのそれぞれが実際にSVrに所属していることの証明とを合わせたものからなる。当然、我々は、ブロック自体に証明書CERTrを含むことができるだろうが、CERTrを分けておく方が概念的により明解であると考える。
アルゴランドのセキュリティを分析するために、我々は、何かがうまくいかない(例、検証者集合SVrが誠実な過半数を持たない)ことを許容しても構わない確率Fを指定する。暗号学的ハッシュ関数Hの出力長の場合と同じく、Fもパラメータである。しかし、その場合と同じく、アルゴランドで、十分なセキュリティと十分な効率とを同時に享受することが実際に可能であることをより直観的に理解できるように、Fを具体的な値に設定することが便利だと考える。Fが望みどおりに設定することのできるパラメータであることを強調するために、第1および第2の実施形態で、我々はそれぞれ次のように設定する。
10−12は実際には1兆分の1未満であることに留意し、このようなFの選択は我々のアプリケーションに適切であると考える。10−12は、敵対者が誠実なユーザの支払を偽造することのできる確率ではないことを強調させてほしい。すべての支払は電子署名され、したがって、正規の電子署名が使用される場合、支払を偽造する確率は10−12よりもはるかに低く、実際、本質的に0である。確率Fで許容しても構わない不都合なイベントは、アルゴランドのブロックチェーンが分岐することである。我々のFの設定と1分の長いラウンドの場合、フォークがアルゴランドのブロックチェーンで起こるのは、190万年で(ほぼ)1回程度と稀であると予想されることに注意されたい。対して、ビットコインでは、フォークはかなり頻繁に起こる。
アルゴランドは、非常に敵対的なモデルにおいてセキュアであるように設計される。説明しよう。
ユーザは、自分のプロトコル命令のすべてに従い、メッセージの送受信を完璧にすることが可能である場合、誠実である。ユーザは、自分の規定された命令から任意に逸脱できる場合、悪意である(すなわち、分散コンピューティングの専門用語で、ビザンチン)。
敵対者とは、本物のように擬人化されて、自分の望むどのユーザも、自分の望むいかなる時にでも直ちに悪意にすることのできる、効率的な(技術的に多項式時間)アルゴリズムである(腐敗させることのできるユーザ数に上限のみが課される)。
・無限の計算力を持つわけではなく、無視できる確率を除き、誠実なユーザの電子署名をうまく偽造することはできず、
・誠実なユーザ間のメッセージ交換に一切干渉することはできない。
我々は、「マネーの誠実な過半数(HMM)」の仮定の連続体を検討する。すなわち、負ではない各整数kおよび実数h>1/2について、
「HHMk>h:すべてのラウンドrの誠実なユーザは、ラウンドr−kにおけるシステム内のすべてのマネーhよりも大きな割合を占めた。」
悪意のユーザ全員が(まるで単一のエンティティの敵対者によって支配されるように)自分たちのアクションを完璧に協調させると仮定することは、かなり悲観的な仮説である。多すぎる個人の間での完璧な協調は、実現するのが難しい。多分、協調は悪意のプレーヤの個別の集団内でしか起こらないかもしれない。しかし、悪意のユーザが享受できる協調のレベルに関して確信することはできないので、用心に越したことはない。
我々は、メッセージの伝播、すなわち「ピアツゥピアゴシップ」(脚注4参照)を唯一の通信手段にすることを想定し、伝播されるすべてのメッセージが、ほぼ全員の誠実なユーザに適時に到達すると仮定する。誠実なユーザによって伝播される各メッセージmは、mの長さに依存する所与の時間量内に誠実なユーザ全員に到達すると本質的に仮定する。(実際には、mは、誠実なユーザの十分に高いパーセンテージに到達すれば十分である。)
本質的に、ビットコインと同様に、ユーザがメッセージmを伝播する場合、初めてmを受信するすべてのアクティブユーザiは、自分がmを転送する、適切に小さい数のアクティブユーザの「隣人」を、場合によっては隣人から受領確認を受信するまで、ランダムかつ独立して選択する。mの伝播は、初めてmを受信するユーザがいなくなると終了する。
既に強調したように、ビザンチン合意はアルゴランドの重要な構成要素である。実際、アルゴランドがフォークによる影響を受けないのは、このようなBAプロトコルを使用するからである。しかし、パワフルな敵対者に対してセキュアでいるために、アルゴランドは、新たなプレーヤ代替性の制約を満たすBAプロトコルに依拠しなければならない。加えて、アルゴランドが効率的であるために、このようなBAプロトコルは非常に効率的でなければならない。
SCネットワークでは、各整数時刻r=1,2,...に時を刻む共通のクロックがある。
ビザンチン合意の概念が初めて紹介されたのは、バイナリケースについて、すなわちすべての初期値が1ビットからなるときであったかもしれない。しかし、任意の初期値にすぐに拡張された。BAプロトコルによって、我々は任意の値1を意味する。
同期ネットワークでは、
1.合意:outi=すべての誠実なプレーヤiのoutになるようなout∈V∪{⊥}が存在する。
2.一貫性:プレーヤi全員について、ある値v∈V,vi=vの場合、out=v。
我々は、outを
我々のBAプロトコルでは、プレーヤには、どれくらいの数のプレーヤが自分に所与のメッセージを所与のステップで送信したかを数えるよう要求される。したがって、送信されるかもしれない起こり得る各値vについて、
このセクションでは、プレーヤの3分の2よりも多くの誠実者に依拠し、かつ非常に高速な新たなバイナリBAプロトコル、BBA★を提示する。悪意のプレーヤがどのようなことを行おうとも、その主なループの各実行は自明に実行されるだけでなく、1/3の確率でプレーヤを合意に至らせる。
(通信)ステップ1.[コインを0に固定するステップ]各プレーヤiはbiを送信する。
1.1 #i 1(0)≧2t+1の場合、iはbi=0を設定し、0*を送信し、outi=0を出力して、停止する。
1.2 #i 1(1)≧2t+1の場合、iはbi=1を設定する。
1.3 それ以外は、iはbi=0を設定する。
2.1 #i 2(1)≧2t+1の場合、iはbi=1を設定し、1*を送信し、outi=1を出力して、停止する。
2.2 #i 2(0)≧2t+1の場合、iはbi=0を設定する。
2.3 それ以外は、iはbi=1を設定する。
3.1 #i 3(0)≧2t+1の場合、iはbi=0を設定する。
3.2 #i 3(1)≧2t+1の場合、iはbi=1を設定する。
3.3 それ以外は、Si={このステップ3でiに正規のメッセージを送信したj∈N}として、iは
n≧3t+1の場合は必ず、BBA★は、健全性1のバイナリ(n,t)−BAプロトコルである。
任意の値について、コンセンサスの概念はビザンチン合意よりもはるかに弱いことを思い出そう。
1.すべての誠実なプレーヤiおよびjについて、|gi−gj|≦1である。
2.すべての誠実なプレーヤiおよびjについて、gi,gj>0⇒vi=vjである。
3.ある値vについてv’i=・・・=v’n=vの場合、すべての誠実なプレーヤiについて、vi=v、かつ、gi=2である。
ステップ2.各プレーヤiは、v’iを全プレーヤに送信する。
・あるxについて、#i 3(x)≧2t+1の場合、vi=x、かつ、gi=2である。
・あるxについて、#i 3(x)≧t+1の場合、vi=x、かつ、gi=1である。
・それ以外は、vi=⊥、かつ、gi=0である。
n≧3t+1の場合、GCは(n,t)−段階的ブロードキャストプロトコルである。
ここで、任意値BAプロトコルBA★を、バイナリBAプロトコルBBA★および段階的コンセンサスプロトコルGCにより説明する。以下、各プレーヤiの初期値はv’iである。
ステップ1および2.各プレーヤiは、入力v’iにGCを実行して、ペア(vi,gi)を計算する。
n≧3t+1の場合は必ず、BA★は、健全性1の(n,t)−BAプロトコルである。
整合性の証明
ある値v∈Vについて、v’i=vと仮定する。さらに、段階的コンセンサスの性質3によって、GCの実行後、すべての誠実なプレーヤは(v,2)を出力する。したがって、0は、BBA★の実行の終了時のすべての誠実なプレーヤの初期ビットである。したがって、BA★の実行の終了時点で、バイナリビザンチン合意の合意性質によって、すべての誠実なプレーヤについてouti=0である。これは、BA★における各誠実なプレーヤiの出力がvi=vであることを含意する。
BBA★がバイナリBAプロトコルであるため、次のいずれかである。
(A)すべての誠実なプレーヤiについてouti=1、または
(B)すべての誠実なプレーヤiについてouti=0
ここで、プロトコルBA★およびBBA★が、通信がピアツーピアゴシップを介するネットワークで実行されて、プレーヤ代替性を満たすようになぜ適応できるのかについての、いくつかの直観を提供しよう。具体的にするために、ネットワークは1千万人のユーザを有し、BBA★(またはBA★)の各ステップxが10,000人のプレーヤの委員会によって実行され、当該プレーヤは、秘密暗号くじによりランダムに選択されて、したがってステップxでメッセージを送信する権利を与えられていることを証明するクレデンシャルを有すると仮定する。所与のステップで送信された各メッセージはステップ数を明記し、その送信者によって電子署名され、その送信者がそのステップで話す権利を与えられていることを証明するクレデンシャルを含むと仮定する。
述べたように、非常に高次で、アルゴランドのラウンドは理想的には以下のように進行する。まず、ランダムに選択されたユーザであるリーダーが、新たなブロックを提案して、回付する。(このプロセスは、最初に少数の潜在的リーダーを選択し、次に、少なくともある程度の時間、1人の共通のリーダーが出現することを確保することを含む。)次に、ランダムに選択されたユーザの委員会が選択され、リーダーが提案したブロックに対してビザンチン合意に達する。(このプロセスは、BAプロトコルの各ステップが、個別に選択された委員会によって実行されることを含む。)そして、合意されたブロックに、委員会メンバーの所与の閾値(TH)が電子署名する。新たなブロックがどれかを誰もが確信するように、これらの電子署名を伝播する。(これには、署名者のクレデンシャルを回付することと、新たなブロックのハッシュだけを認証することと、そのハッシュが明確にされたら、誰もが当該ブロックを知ることを保証されることを確実にすることを含む。)
目的
理想的には、各ラウンドrについて、アルゴランドは次の性質を満たすべきである。
1.完璧な正当性.すべての誠実なユーザは、同じブロックBrに合意する。
2.完全性1.確率1で、ブロックBrは、誠実なユーザによって選ばれている。
「圧倒的確率で、hに近い完璧な正当性および完全性を保証する。」
しばらくの間、過度な時間および通信を無視すると、完璧な正当性は以下のように保証することができるであろう。ラウンドrの始まりで、各ユーザiは自分自身の候補ブロックBi rを提案する。すると、全ユーザは、候補ブロックのうちの1つだけに関してビザンチン合意に達する。序論に従い、採用するBAプロトコルは2/3の誠実な過半数を必要とし、プレーヤ代替性である。そのステップのそれぞれは、ランダムに選択された、検証者の小さな集合によって実行することができ、検証者は内部変数を一切共有しない。
ラウンドrの各ステップs>1は、検証者の小さな集合SVr,sによって実行される。ここでも、各検証者i∈SVr,sは、既にrよりも前にシステムのk回のラウンドにいたユーザの中から、かつ、ここでも特殊な数量Qr−1を介して、ランダムに選択される。具体的には、i∈PKr−kは、次の式が成り立つ場合、SVr,sの検証者である。
実施形態アルゴランド’1の場合:
(1)#good>2・#bad、かつ、
(2)#good+4・#bad<2n、ここで、nはSVr,sの期待濃度である。
実施形態アルゴランド’2の場合:
(1)#good>tH、かつ、
(2)#good+2#bad<2tH、ここで、tHは指定の閾値である。
ラウンドrのリーダーlrが誠実である場合、対応するブロックは次の形式である。
アルゴランド’1およびアルゴランド’2は、有意な程度の非同期性を有する。そうするのは、敵対者が、伝播されるメッセージの配信の予定を組むことに大きな自由度を有するからである。加えて、ラウンドのステップの総数に上限を設けるかどうかを問わず、実際に取られるステップの数による分散寄与率がある。
数量Qrは、敵対者にとって十分に操作不可能にすれば足りるが、理想としては、ランダムかつ独立しているべきであることを思い出していただきたい。
Brが空ブロックではない場合、
我々は、ラウンドr−1の始めにいる。したがって、Qr−2=PAYr−2は公開で知られ、敵対者は、自分が支配する潜在的リーダーが誰であるかを秘かに知る。敵対者がユーザの10%を支配し、非常に高い確率で、悪意のユーザwがラウンドr−1の潜在的リーダーであると仮定する。すなわち、H(SIGw(r−2,1,Qr−2))が非常に小さいので、誠実な潜在的リーダーが実際にラウンドr−1のリーダーになるということはとても起こりそうにないと仮定する。(我々は秘密暗号くじメカニズムにより潜在的リーダーを選んだため、敵対者は誰が誠実な潜在的リーダーかを知らないことを思い出していただきたい。)そのため、敵対者は、自分が望む支払集合PAY’を選び、それをラウンドr−1の正式な支払集合にさせるという羨ましい立場にいる。しかし、当該敵対者はさらに多くのことを行える。当該敵対者は、高い確率で、(*)自分の悪意のユーザのうちの1人をラウンドrのリーダーにもすることも確実にすることができるので、PAYrが何になるかを自由に選択することができる。(等々。少なくともしばらくの間、すなわち、これらの高確率イベントが現実に起こる限り。)保証するために(*)、敵対者は次のように行為する。PAY’を、敵対者がラウンドr−1について好む支払集合にさせる。次に、当該敵対者はH(PAY’)を計算して、いく人かの既に悪意のプレーヤzについて、SIGz(r,1,H(PAY’))は特に小さいかどうか、すなわち、非常に高い確率でzがラウンドrのリーダーになるのに十分に小さいかどうかをチェックする。そうである場合には、当該敵対者はwに、自分の候補ブロックをBi r−1=(r−1,PAY’,H(Br−2))にするように選ぶことを指示する。そうでなければ、当該敵対者は、他の2人の悪意のユーザxおよびyに、新たな支払
例えば、単純にしておくために(ただし極度に)、「第2ステップの時間が終了しそうなとき」、lrは異なる候補ブロックBiを各ユーザiに直接電子メール送信することができるであろう。このように、誰がステップ2の検証者であろうとも、全く異なるブロックを受信したことになる。
我々のプロトコルの実行は、無視できる確率を除き、フォークを生成することができないが、敵対者は、適法なブロックrが生成された後で、r番目のブロックでフォークを生成することはできるであろう。
大手TVネットワークのニュースアンカーを腐敗させて、クリントン長官が直近の大統領選挙に勝ったことを示すニュース映画を制作して、今日放送することを考えてみる。我々のほとんどは、それがいたずらであることに気づくであろう。しかし、昏睡状態から覚めた誰かは騙される可能性がある。
記号
・r≧0:現在のラウンド番号。
同期しないシステムでは、「ラウンドr−1の終わり」および「ラウンドrの始まり」という概念は慎重に定義する必要がある。数学的には、PKrおよびSrは初期ステータスS0およびブロックB1,...,Br−1から計算する。
我々は、s>1の場合、SVr,1には少なくとも1人の誠実なメンバーを必要とするが、各SVr,sには少なくとも誠実なメンバーの過半数を必要とするため、n1<<nであることに注意されたい。
厳密にいうと、「r−k」は「最大{0,r−k}」であるべきである。
ユーザiは、当該ユーザiが証明済みブロックの両方の部分を所有している(かつ、検証がうまくいく)場合にBrを知る。異なるユーザが見るCERTrは異なるかもしれないことに留意されたい。
パラメータΛは、単一の1MBブロックを伝播するために必要な時間に上限を設ける。
パラメータλは、ステップs>1で検証者ごとに1つの小さなメッセージを伝播するために必要な時間に上限を設ける。
我々は、Λ≦4λと仮定する。
・検証者の選択
各ラウンドrおよびステップs>1について、
ラウンドrの最初のステップについて、SVr,1およびσi r,1は同様に定義され、pはp1に置換される。SVr,1の検証者は潜在的リーダーである。
すべての潜在的リーダーj∈SVr,1について、H(σi r,1)≦H(σj r,1)の場合、ユーザi∈SVr,1は、ラウンドrのリーダーである。2人のプレーヤのクレデンシャルのハッシュが比較される場合は必ず、起こりそうにないタイのイベントでは、プロトコルは必ず、潜在的リーダー(の長期公開鍵)に従って辞書式順序でタイをブレークする。
定義上、プレーヤlrのクレデンシャルのハッシュ値は、PKr−kの全ユーザの中で最小でもある。潜在的リーダーは、他の潜在的リーダーのクレデンシャルを見なければ、自分がリーダーかどうかを秘かに決定することはできないことに留意されたい。
ハッシュ値はランダムで一様であるため、SVr,1が空ではない場合、lrは必ず存在し、少なくともhの確率で誠実である。パラメータn1は、各SVr,1が圧倒的確率で空ではないことを確保するのに十分に大きい。
空ではないブロックは形式
このラウンドで支払が発生していない場合、またはリーダーが悪意である場合には、空ではないブロックはまだ空の支払集合PAYrを含んでいるかもしれないことに留意されたい。しかし、空ではないブロックは、lrのアイデンティティであるそのクレデンシャル
・様々なパラメータ間の関係
−ラウンドrの検証者および潜在的リーダーはPKr−kのユーザから選択され、ここで、kは、敵対者がラウンドr−k−1に遡ってQr−1をFよりも良い確率で予測できないように選ばれる。そうでなければ、敵対者は、ラウンドr−kについて悪意のユーザを導入することができ、その全員が、ラウンドrで潜在的リーダー/検証者になり、敵対者が望むいくつかのステップsについて、SVr,sに悪意のリーダーまたは悪意の過半数を持つことに成功する。
−各ラウンドrのステップ1について、n1は、圧倒的確率で
−Hの出力は、256ビット長である。
−h=80%、n1=35。
−Λ=1分、かつ、λ=15秒。
プロトコルは、r=0で時刻0で始まる。「B−1」または「CERT−1」は存在しないので、統語論的に、B−1は、Q−1を指定するその3番目の成分を持つ公開パラメータであり、全ユーザは、時刻0でB−1を知っている。
このセクションでは、次の仮定の下で機能するアルゴランド’の1つのバージョンを構築する。
「ユーザの誠実な過半数」の仮定:各PKrにおいてユーザの2/3超が誠実である。
セクション8では、上記仮定を、所望の「マネーの誠実な過半数」の仮定に置き換える方法を示す。
・様々なパラメータ間の関係。
−ラウンドrの各ステップs>1について、nは圧倒的確率で、
hの値が1に近づくほど、nは小さくなる必要がある。具体的には、チェルノフ限界(の変型)を使用して、所望の条件が圧倒的確率で成り立つことを確実にする。
−mは、圧倒的確率でLr<m/3になるように選ばれる。
既に述べたように、我々は、検証者i∈SVr,sが、使用後直ちに破壊する一時的な秘密鍵ski r,sを使用して、一時的な公開鍵pki r,sに関連し、ラウンドrのステップsの自分のメッセージmi r,sに電子署名することを望む。したがって、pki r,sが実際にiによるmi r,sの署名を検証するために使用する鍵であることをすべてのユーザが検証することができることを確保する効率的な方法が必要である。アイデンティティベースの署名スキームの(我々が知る限りにおいて)新たな用途によってこれを行う。
この方法では、iは、例えば、{r’,...,r’+106}×{1,...,m+3}で、各ラウンドステップペア(r,s)の公開・秘密鍵のペア(pki r,s,ski r,s)を生成する。次に、これらの公開鍵を正規的に順序付けし、j番目の公開鍵をマークル木のj番目のリーフに格納し、ルート値Riを計算し、これを公表する。iが鍵pki r,sに関連するメッセージに署名したい場合、iは、実際の署名を提供するだけでなく、Riに関連するpki r,sの認証経路も提供する。この認証経路は、pki r,sがj番目のリーフに格納されていることも証明することに注意されたい。このアイデアから、詳細の残りを容易に埋めることができる。
前述のように、アルゴランド’1の1ラウンドは、たかだかm+3ステップを有する。
このステップでは、各潜在的リーダーiは自分の候補ブロックBi rを計算して、自分自身のクレデンシャルσi r,1と一緒に伝播する。
このステップでは、各検証者iは、li rをそのハッシュ化されたクレデンシャルが最小である潜在的リーダーに、Bi rをli rによって提案されるブロックになるように設定する。効率のために、我々はBrに対して直接ではなく、H(Br)に対して合意することを望むので、iは、初期値v’i=H(Bi r)で、BA★の最初のステップで伝播したであろうメッセージを伝播する。すなわち、iは、当然ながら、v’iに一時的に署名した後にv’iを伝播する。(すなわち、正しい一時的な公開鍵、この場合pki r,2に関連してそれに署名した後。)また当然、iは自分自身のクレデンシャルも伝送する。
このステップでは、各検証者i∈SVr,2はBA★の第2ステップを実行する。すなわち、各検証者は、GCの第2ステップで送ったであろう同じメッセージを送る。ここでも、iのメッセージは一時的に署名されて、iのクレデンシャルが添付される。(今後、検証者が自分のメッセージに一時的に署名して自分のクレデンシャルも伝播することを述べるのを省略する。)
このステップでは、すべての検証者i∈SVr,4はGCの出力(vi,gi)を計算し、BA★の第3ステップで、すなわち、gi=2の場合は初期ビット0で、そうでなければ1で、BBA★の第1ステップで送ったであろう同じメッセージに一時的に署名して送る。
このようなステップは、もし到達した場合、BA★のステップs−1に対応し、したがってBBA★のステップs−3に対応する。
A(終了条件0):s’−2≡0 mod 3、または
B(終了条件1):s’−2≡1 mod 3
かどうかを区別する。
ステップm+3の間に、前のステップs’でブロックBrが既に生成されたことをi∈SVr,m+3が見る場合、iは、ちょうど上で説明したように進める。
ラウンドrの各ステップsで、検証者i∈SVr,sは、s=1のケースのSIGi(Qr−1)だけでなく、自分のクレデンシャル
全ユーザi∈PKr−kのための命令:ユーザiは、Br−1を知るや否や、ラウンドrの自分自身のステップ1を始める。
実際上、ステップ1の大域的実行を短縮するために、(r,1)メッセージを選択的に伝播することが重要である。すなわち、システム内の全ユーザiについて、これまでに受信し検証が成功する第1(r,1)メッセージに関し(脚注11参照)、プレーヤiはそれを通常通りに伝播する。プレーヤがiを受信して検証が成功する他のすべての(r,1)メッセージについては、それが含むクレデンシャルのハッシュ値が、当該プレーヤiがそれまでに受信して検証が成功したすべての(r,1)メッセージに含まれるクレデンシャルのハッシュ値の中で最も小さい場合に限り、それを伝播する。また、ジョルジオ・ブラコス(Georgios Vlachos)が提案するように、各潜在的リーダーiも自分のクレデンシャルσi r,1を個別に伝播することが有用である。これらの小さなメッセージはブロックよりも高速で移動し、含まれるクレデンシャルが小さいハッシュ値を有する場合に、mj r,1の適時の伝播を確実にするのに対し、ハッシュ値が大きいものはすぐに消失させる。
すなわち、すべての署名が正当であり、ブロックおよびそのハッシュが両方とも有効である。ただし、iは、含まれる支払集合がその提案者にとって最大かどうかをチェックしない。
全ユーザi∈PKr−kのための命令:ユーザiは、Br−1を知るや否や、ラウンドrの自分自身のステップ2を始める。
本質的に、ユーザiはラウンドrのリーダーがユーザlであることを秘かに決定する。
ここでも、プレーヤlの署名およびハッシュはすべて検証が成功し、Bl rのPAYl rはラウンドrの有効な支払集合である。ただし、iは、PAYl rがlにとって最大かどうかはチェックしない。
メッセージmi r,2は、プレーヤiがv’iを次のブロックのハッシュとみなす、または次のブロックを空だとみなすことを示す。
全ユーザi∈PKr−kのための命令:ユーザiは、Br−1を知るや否や、ラウンドrの自分自身のステップ3を始める。
すなわち、iは、ESIGj(v’)および異なるESIGj(v”)をそれぞれ含む2つの有効なメッセージをプレーヤjから受信していない。ここで、またこれ以降、後で定義する終了条件を除き、誠実なプレーヤが所与の形式のメッセージを望む場合は必ず、互いに矛盾するメッセージは決してカウントされず、または有効と見なされない。
全ユーザi∈PKr−kのための命令:ユーザiは、Br−1を知るや否や、ラウンドrの自分自身のステップ4を始める。
(a)受信した有効なメッセージmj r,3すべての中で、その2/3超が形式(ESIGj(v’),σj r,3)であるような値v’≠⊥が存在する場合、
(b)そうでなければ、受信した有効なメッセージmj r,3すべての中で、その1/3超が形式(ESIGj(v’),σj r,3)であるような値v’≠⊥が存在する場合、
(c)それ以外の場合、
ケース(b)のv’は、存在する場合、一意でなければならないことは証明することができる。
全ユーザi∈PKr−kのための命令:ユーザiは、Br−1を知るや否や、ラウンドrの自分自身のステップsを始める。
(a)5≦s’≦s,s’−2≡0 mod 3、すなわち、ステップs’がコインを0に固定するステップであり、
(b)iは少なくとも
(c)iがv=H(Bj r)で有効なメッセージmj r,1=(Bj r,esigj(H(Bj r)),σj r,1)を受信した、
ようなストリングv≠⊥およびステップs’が存在する場合、iは何も伝播せずに、自分自身のステップs(また、実際にはラウンドr)の実行をすぐに停止し、Br=Bj rを設定し、自分自身のCERTrをサブステップ(b)のメッセージmj r,s’−1の集合になるように設定する(脚注18参照)。
プレーヤjからのこのようなメッセージは、プレーヤiが1について署名するjからのメッセージも受信した場合であってもカウントされる。終了条件1についても同様。分析で示されるように、これは、すべての誠実なユーザが時間λ以内に互いからBrを知ることを確保するために行われる。
ユーザiはここでBrを知り、自身のラウンドrを終わらせる。当該ユーザiはそれでも一般ユーザとしてメッセージの伝播を手伝うが、(r,s)検証者としては伝播を開始しない。具体的には、当該ユーザiは自分のCERTrですべてのメッセージの伝播を手伝っているが、これは我々のプロトコルにとって十分である。ユーザiはバイナリBAプロトコルについても
(a’)6≦s’≦s,s’−2≡1 mod 3、すなわち、ステップs’がコインを1に固定するステップであり、かつ、
(b’)iが少なくともtHの有効なメッセージmj r,s’−1=(ESIGj(1),ESIGj(vj),σj r,s’−1)を受信している(脚注19参照)、
ようなステップs’が存在する場合、iは何も伝播せずに、自分自身のステップs(また、実際にはラウンドr)の実行をすぐに停止し、Br=Bε rを設定し、自分自身のCERTrをサブステップ(b’)のメッセージmj r,s’−1の集合になるように設定する。
この場合、vjが何であるかは問題ではない。
viを、受信した有効なmj r,s−1すべての第2成分でvjの過半数票になるように設定する。
iはbiを次のように計算する。
受信した有効なmj r,s−1すべての2/3超が形式(ESIGj(0),ESIGj(vj),σj r,s−1)の場合、
そうでなければ、受信した有効なmj r,s−1すべての2/3超が形式(ESIGj(1),ESIGj(vj),σj r,s−1)の場合、
そうでなければ、
メッセージ
全ユーザi∈PKr−kのための命令:ユーザiは、Br−1を知るや否や、ラウンドrの自分自身のステップsを始める。
−
−終了条件0:コインを0に固定するステップと同じ命令。
−終了条件1:コインを0に固定するステップと同じ命令。
−そうでなければ、待機の終了時に、ユーザiは次のことを行う。
viを、受信した有効なmj r,s−1すべての第2成分でvjの過半数票になるように設定する。
iはbiを次のように計算する。
受信した有効なmj r,s−1すべての2/3超が形式(ESIGj(0),ESIGj(vj),σj r,s−1)の場合、
そうでなければ、受信した有効なmj r,s−1すべての2/3超が形式(ESIGj(1),ESIGj(vj),σj r,s−1)の場合、
そうでなければ、
メッセージ
全ユーザi∈PKr−kのための命令:ユーザiは、Br−1を知るや否や、ラウンドrの自分自身のステップsを始める。
−
−終了条件0:コインを0に固定するステップと同じ命令。
−終了条件1:コインを0に固定するステップと同じ命令。
−そうでなければ、待機の終了時に、ユーザiは次のことを行う。
−viを、受信した有効なmj r,s−1すべての第2成分でvjの過半数票になるように設定する。
iはbiを次のように計算する。
受信した有効なmj r,s−1すべての2/3超が形式(ESIGj(0),ESIGj(vj),σj r,s−1)の場合、
そうでなければ、受信した有効なmj r,s−1すべての2/3超が形式(ESIGj(1),ESIGj(vj),σj r,s−1)の場合、
そうでなければ、SVi r,s−1を、有効なメッセージmj r,s−1を受信した(r,s−1)検証者の集合にする。
メッセージ
全ユーザi∈PKr−kのための命令:ユーザiは、Br−1を知るや否や、ラウンドrの自分自身のステップm+3を始める。
圧倒的確率で、BBA★はこのステップの前に終了しており、このステップを完全性のために明記する。
−
−終了条件0:コインを0に固定するステップと同じ命令。
−終了条件1:コインを0に固定するステップと同じ命令。
−そうでなければ、待機の終了時に、ユーザiは次のことを行う。
メッセージmi r,m+3=(ESIGi(outi),ESIGi(H(Br)),σi r,m+3)を計算し、自分の一時的な秘密鍵ski r,m+3を破壊してから、Brを認定するためにmi r,m+3を伝播する(脚注21参照)。
ステップm+3からの証明書は、ESIGi(outi)を含まなければならないわけではない。一様性のためにのみこれを含めている。証明書はこれで、どのステップで生成されようとも一様なフォーマットを有する。
システム内の全ユーザiのための命令:ユーザiは、Br−1を知るや否や、自分自身のラウンドrを始め、ブロック情報を次のように待つ。
(a)s’−2≡0 mod 3で、5≦s’≦m+3、
(b)iが少なくともtHの有効なメッセージmj r,s’−1=(ESIGj(0),ESIGj(v),σj r,s’−1)を受信しており、かつ、
(c)iがv=H(Bj r)で有効なメッセージmj r,1=(Bj r,esigj(H(Bj r)),σj r,1)を受信した、
ようなストリングvおよびステップs’が存在する場合、iは自分自身のラウンドrの実行をすぐに停止し、Br=Bj rを設定し、自分自身のCERTrをサブステップ(b)のメッセージmj r,s’−1の集合になるように設定する。
(a’)s’−2≡1 mod 3で、6≦s’≦m+3、かつ、
(b’)iが少なくともtHの有効なメッセージmj r,s’−1=(ESIGj(1),ESIGj(vj),σj r,s’−1)を受信している、
ようなステップs’が存在する場合、iは自分自身のラウンドrの実行をすぐに停止し、Br=Bε rを設定し、自分自身のCERTrをサブステップ(b’)のメッセージmj r,s’−1の集合になるように設定する。
分析で使用する各ラウンドr≧0について以下の記号を採用する。
・Trを、第1の誠実なユーザがBr−1を知る時刻とする。
・Ir+1を、間隔[Tr+1,Tr+1+λ]とする。
定理5.1.
以下の性質は、各ラウンドr≧0について、圧倒的確率で成り立つ。
1.すべての誠実なユーザが同じブロックBrに合意する。
2.リーダーlrが誠実である場合、ブロックBrはlrによって生成され、Brは、時刻
3.リーダーlrが悪意の場合、Tr+1≦Tr+(6Lr+10)λ+Λおよびすべての誠実なユーザが時間間隔Ir+1でBrを知る。
4.Lrについてph=h2(1+h−h2)のとき、リーダーlrは少なくともphの確率で誠実である。
ブロックBrを生成する時間は、Tr+1−Trと定義される。すなわち、ある誠実なユーザがBrを知った初めてのときと、ある誠実なユーザがBr−1を知った初めてのときと、の差と定義される。ラウンドrのリーダーが誠実である場合、性質2の我々の主要定理は、h>2/3の正確な値が何であろうと、Brを生成するまさにその時間が8λ+Λ時間であることを保証する。リーダーが悪意の場合、ここでも、hの正確な値が何であろうと、性質3は、Brを生成する期待時間に、
たとえば、h=80%の場合、
性質1〜3を帰納法により証明する。当該性質1〜3がラウンドr−1について成り立つと仮定すると(一般性を損なうことなく、当該性質1〜3はr=0のとき自動的に「ラウンド−1」について成り立つ)、ラウンドrについてそれを証明する。
[完全性の補題] ラウンドr−1について性質1〜3が成り立つと仮定すると、リーダーlrが誠実な場合、圧倒的確率で、
・すべての誠実なユーザは、lrによって生成され、時刻
・Tr+1≦Tr+8λ+Λであり、すべての誠実なユーザは時間間隔Ir+1でBrを知る。
[健全性の補題]性質1〜3がラウンドr−1について成り立つと仮定すると、リーダーlrが悪意の場合、圧倒的確率で、すべての誠実なユーザは同じブロックBrに合意し、Tr+1≦Tr+(6Lr+10)λ+Λであり、すべての誠実なユーザは時間間隔Ir+1でBrを知る。
性質1〜3は、補題5.2および5.3をr=0および帰納ステップに適用することによって成り立つ。最後に、性質4を、セクション5.9で証明される次の補題として再び述べる。
rの前の各ラウンドについて性質1〜3があるとすると、Lrについてph=h2(1+h−h2)で、少なくともphの確率でリーダーlrは誠実である。
上記3つの補題を合わせると、定理5.1が成り立つ。
以下の補題は、帰納的仮説があるとして、ラウンドrに関するいくつかの重要な性質を述べており、上記3つの補題の証明で使用される。
性質1〜3はラウンドr−1について成り立つと仮定する。ラウンドrの各ステップs≧1および各誠実な検証者i∈HSVr,sについて、次のことが分かっている。
(a)αi r,s∈Irであり、
(b)プレーヤiが時間量ts待っていた場合、r>0についてはβi r,s∈[Tr+ts,Tr+λ+ts]で、r=0についてはβi r,s=tsであり、かつ、
(c)プレーヤiが時間量ts待っていた場合、iは、時刻βi r,sまでに、すべてのステップs’<sについて、すべての誠実な検証者j∈HSVr,s’によって送られたすべてのメッセージを受信している。
さらに、各ステップs≧3については、次のことが分かっている。
(d)2人の異なるプレーヤi,i’∈SVr,sは存在せず、同じ長さの2つの異なる値v,v’は存在しないので、どちらのプレーヤも時間量ts待ち、プレーヤiが受信するすべての有効なメッセージmj r,s−1の2/3超がvに関して署名しており、プレーヤi’が受信するすべての有効なメッセージmj r,s−1の2/3超がv’に関して署名している。
性質(a)は、プレーヤiが時間間隔IrでBr−1を知り、すぐに自分自身のステップsを始めるため、帰納的仮説から直接得られる。性質(b)は(a)から直接得られる。プレーヤiは行為する前に時間量ts待っているため、βi r,s=αi r,s+tsである。r=0についてはαi r,s=0であることに留意されたい。
補題5.2.
[完全性の補題、書き換え]
ラウンドr−1について性質1〜3が成り立つと仮定すると、リーダーlrが誠実な場合、圧倒的確率で、
・すべての誠実なユーザは、lrによって生成され、時刻
・Tr+1≦Tr+8λ+Λであり、すべての誠実なユーザは時間間隔Ir+1でBrを知る。
帰納的仮説および補題5.5によって、各ステップsおよび検証者i∈HSVr,sについて、αi r,s∈Irである。以下に、プロトコルをステップごとに分析する。
定義上、すべての誠実な検証者i∈HSVr,1は、所望のメッセージmi r,1を時刻βi r,1=αi r,1のときに伝播し、ここで、mi r,1=(Bi r,esigi(H(Bi r)),σi r,1)、Bi r=(r,PAYi r,SIGi(Qr−1),H(Br−1))であり、PAYi rはiが時刻αi r,1までに見たすべての支払の中の最大支払集合である。
誠実な検証者i∈HSVr,2を任意に決める。補題5.5によって、プレーヤiが時刻βi r,2=αi r,2+t2のときに待機を終えるとき、プレーヤiは、
誠実な検証者i∈HSVr,3を任意に決める。補題5.5によって、プレーヤiが時刻βi r,3=αi r,3+t3のときに待機を終えるとき、プレーヤiは、HSVr,2内の検証者によって送られたすべてのメッセージを受信している。
誠実な検証者i∈HSVr,4を任意に決める。補題5.5によって、プレーヤiが時刻βi r,4=αi r,4+t4のときに待機を終えるとき、プレーヤiは、HSVr,3内の検証者によって送られたすべてのメッセージを受信している。ステップ3と同様に、iが受信した有効な(r,3)メッセージのすべての2/3超は誠実な検証者からのものであり、形式
誠実な検証者i∈HSVr,5を任意に決める。補題5.5によって、プレーヤiは、時刻αi r,5+t5まで待っていた場合、HSVr,4内の検証者によって送られたすべてのメッセージを受信しているだろう。|HSVr,4|≧tHであることに留意されたい(脚注23参照)。また、HSVr,4内のすべての検証者は
厳密にいうと、これは非常に高い確率で起こるが、必ずしも圧倒的ではない。しかし、この確率はプロトコルの実行時間に少し影響するものの、その正当性には影響を与えない。h=80%のとき、確率1−10−8で|HSVr,4|≧tHになる。このイベントが発生しない場合、プロトコルは別の3ステップについて続行する。これが2ステップで発生しない確率は無視できる程度であるため、プロトコルはステップ8で終了する。すると、予想で、必要なステップ数はほぼ5である。
同様に、任意のステップs>5および任意の検証者i∈HSVr,sについて、プレーヤiは、時刻αi r,s+tsまで待っていた場合、HSVr,4内の検証者によって送られたすべてのメッセージを受信しているだろう。同じ分析により、プレーヤiは何も伝播せずに停止し、
ステップ5の分析を、一般の誠実なユーザiにほぼ何も変えずに適用する。実際、プレーヤiは自分自身のラウンドrを間隔Irで開始し、
補題5.3.
[健全性の補題、書き換え]
ラウンドr−1について性質1〜3が成り立つと仮定すると、リーダーlrが悪意の場合、圧倒的確率で、すべての誠実なユーザは同じブロックBrに合意し、Tr+1≦Tr+(6Lr+10)λ+Λで、すべての誠実なユーザは時間間隔Ir+1でBrを知る。
帰納的仮説および補題5.5によって、任意のステップs∈{2,3,4}および任意の誠実な検証者i∈HSVr,sについて、プレーヤiが時刻βi r,s=αi r,s+tsで行為するとき、ステップs’<sで、すべての誠実な検証者によって送られたすべてのメッセージを受信している。ステップ4について考えられる2つのケースを区別する。
どの検証者i∈HSVr,4もgi=2を設定しない。
この場合、定義上、すべての検証者i∈HSVr,4についてbi=1である。すなわち、当該すべての検証者はバイナリBAプロトコルで1に関する合意から始める。当該すべての検証者は自分のviに関して合意しないかもしれないが、これは、バイナリBAで述べる通り問題ではない。
この場合、次のことを証明する。
(1)全i∈HSVr,4についてgi≧1であり、
(2)全i∈HSVr,4についてvi=v’になるような値v’が存在し、かつ、
(3)v’=H(Bl r)になるような、ある検証者l∈SVr,1からの有効なメッセージml r,1が存在する。
ここでも2つのケースを区別する。
(E,a)i*は、5≦s’≦s*、かつ、s’−2≡0 mod 3で、同じvおよびs’について少なくともtH個の有効なメッセージmj r,s’−1=(ESIGj(0),ESIGj(v),σj r,s’−1)を収集または生成することができる、または、
(E.b)i*は、6≦s’≦s*、かつ、s’−2≡1 mod 3で、同じs’について少なくともtH個の有効なメッセージmj r,s’−1=(ESIGj(1),ESIGj(vj),σj r,s’−1)を収集または生成することができる。
lが悪意の場合、いく人かの誠実なユーザ/検証者がml r,1のために望ましい証明書を受信するときにまだ当該ml r,1を受信していないことを望んで、当該悪意のlは、ml r,1を遅れて送るかもしれない。しかし、検証者
は
検証者v’が停止した後のλ時間内にml r,1を受信している。現実には、誠実な(r,2)検証者のうちの半分より多くがml r,1の伝播を助けているため、それがすべての誠実なユーザに届くための実際の時間はΛよりも短い。
s*=s’−2またはs’−1の場合、すなわち、ステップs’の直前の、コインを0に固定するステップまたはコインを1に固定するステップの場合、4つのサブケースの分析により、ステップs’の誠実な検証者は、伝播せずに停止しているため、または同じビットbについて>2/3過半数を見ているため、それ以上コインを投げることはない。そのため、次の式になる。
補題5.4の証明が残っている。ラウンドrの検証者はPKr−kから選択され、数量Qr−1に従って選ばれることを思い出していただきたい。ルックバックパラメータkを導入する理由は、ラウンドr−kに戻って、敵対者が新たな悪意のユーザをPKr−kに追加することができる場合に、無視できる確率を除いて、数量Qr−1を敵対者が予測することができないことを確かにすることである。ハッシュ関数はランダムオラクルであり、Qr−1は、ラウンドrの検証者を選択するときのその入力の1つであることに留意されたい。したがって、悪意のユーザがPKr−kにいかに追加されようとも、敵対者の観点から、その各人は、必要な確率p(またはステップ1についてはp1)で、ラウンドrのステップでも検証者に選択される。より正確には、次の補題となる。
k=O(log1/2F)のとき、各ラウンドrについて、敵対者は圧倒的確率で、ラウンドr−kに戻ってQr−1をランダムオラクルに問い合わせなかった。
kは小さな整数であり、一般性を損なうことなく、プロトコルの最初のkラウンドは安全な環境で実行され、そのラウンドについて帰納的仮説が成り立つと仮定することができる。
すなわち、Hの出力の長さの指数関数。この確率はFよりもはるかに小さいことに留意されたい。
・P(k)(0,0)=1で、任意のx≧2についてP(k)(0,x)=1、かつ、
・任意のx≧2およびy≧2について、
例えば、パラメータの特定の選択肢によって提案されるように、h=80%。
rの前の各ラウンドについて性質1〜3であれば、Lrについてはph=h2(1+h−h2)で、リーダーlrは少なくともphの確率で誠実である。
補題5.6に従い、敵対者は、無視できる確率を除き、ラウンドr−kに戻ってQr−1を予測することはできない。これは、誠実なリーダーの確率が各ラウンドでhであるという意味ではないことに留意されたい。実際、Qr−1であれば、PKr−kのランダム順列の始めに存在する悪意のユーザの数によって、敵対者はQに対して2つ以上の選択肢を有することがあり、そのため、ラウンドr+1における悪意のリーダーの確率を高めることができる。ここでも、補題5.6のように、分析を簡潔にするために、ある非現実的なアドバンテージを敵対者に与えている。
このセクションでは、次の仮定の下に機能するアルゴランド’のバージョンを構築する。
「ユーザの誠実な過半数の仮定」:各PKrのユーザの2/3超が誠実である。
セクション8では、上記仮定を、所望の「マネーの誠実な過半数」に置き換える方法を示す。
記号
・
・様々なパラメータ間の関係。
−ラウンドrの各ステップs>1について、nは、圧倒的確率で、
上記2つの不等式は合わせて、|HSVr,s|>2|MSVr,s|を含意する。すなわち、選択された検証者の中に2/3の誠実な過半数がいる。
hの値が1に近づくほど、nは小さくなる必要がある。具体的には、チェルノフ限界(の変型)を使用して、所望の条件が圧倒的確率で成り立つことを確実にする。
− F=10−18。
− n≒4000、tH≒0.69n、k=70。
検証者i∈SVr,sが、使用後直ちに破壊する一時的な秘密鍵ski r,sを使用して、一時的な公開鍵pki r,sに関連し、ラウンドrのステップsの自分のメッセージmi r,sに電子署名をすることを思い出そう。ラウンドが取り得る可能なステップの数に所与の整数μによって上限が設けられる場合、実際に一時的な鍵をどのように取り扱うかは既に見てきた。例えば、アルゴランド’1で説明したように(μ=m+3の場合)、ラウンドr’からラウンドr’+106まで、自分の可能な一時的な鍵のすべてを取り扱うために、iはペア(PMK,SMK)を生成する。ここで、PMKはアイデンティティベースの署名スキームの公開マスター鍵であり、SMKはそれに対応する秘密マスター鍵である。ユーザiは、PMKを公表し、各可能な一時的な公開鍵の秘密鍵を生成するためにSMKを使用する(さらに、そうした後にSMKを破壊する)。関連するラウンドのiの一時的な公開鍵の集合はS={i}×{r’,...,r’+106}×{1,...,μ}である。(述べたように、ラウンドr’+106が近づくと、iは自分のペア(PMK,SMK)を「リフレッシュ」する。)
ラウンドrの各ステップsで、検証者i∈SVr,sは、ケースs=1のSIGi(Qr−1)だけでなく、自分のクレデンシャル
全ユーザi∈PKr−kのための命令:ユーザiは、CERTr−1を持つや否やラウンドrの自分のステップ1を始め、当該CERTr−1は、iがH(Br−1)およびQr−1を曖昧さなく計算できるようにする。
(a)iが自分自身でB0,...,Br−1を見てきた場合(どのBj=Bε jもCERTjでのそのハッシュ値から容易に導くことができ、そのため「見てきた」と想定される)、それまでに当該iに伝播されてきたラウンドrの支払を収集して、そこから最大支払集合PAYi rを計算する。
(b)iがまだすべてのB0,...,Br−1を見ていない場合、iは
(c)次に、iは自分の「候補ブロック」Bi r=(r,PAYi r,SIGi(Qr−1),H(Br−1))を計算する。
(c)最後に、iはメッセージmi r,1=(Bi r,esigi,(H(Bi r)),σi r,1)を計算して、自分の一時的な秘密鍵ski r,1を破壊してから、2つのメッセージmi r,1および(SIGi,(Qr−1),σi r,1)を別々に、しかし同時に伝播する(脚注28参照)。
iがリーダーのとき、SIGi(Qr−1)は、他者がQr=H(SIGi(Qr−1),r)を計算するのを許容する。
ステップ1およびラウンド全体の大域的実行を短縮するために、(r,1)メッセージを選択的に伝播することが重要である。すなわち、システム内の全ユーザjについて、以下のように伝播する。
すなわち、すべての署名が正当で、それが形式mi r,1である場合、ブロックとそのハッシュの両方が有効である。ただし、jは、含まれる支払集合がiにとって最大かどうかをチェックしない。
これは、iが悪意であることを意味する。
これを提案したジョルジオ・ブラコスに感謝する。
全ユーザi∈PKr−kのための命令:ユーザiは、CERTr−1を持つや否やラウンドrの自分のステップ2を始める。
本質的に、ユーザiは、ラウンドrのリーダーがユーザlであることを秘かに決定する。
当然、Br−1=Bε r−1であることをCERTr−1が示す場合、iは、CERTr−1を持った瞬間に既にBr−1を「受信」済みである。
ここでも、プレーヤlの署名およびハッシュは、すべて検証が成功し、Bl r内のPAYl rは、ラウンドrについて有効な支払集合である。ただし、iは、PAYl rがlにとって最大かどうかをチェックしない。Bl rが空の支払集合を含む場合、Bl rが有効かどうかを検証する前に、iがBr−1を見る必要は実際にはない。
メッセージmi r,2は、プレーヤiがv’iの最初の成分を次のブロックのハッシュであるとみなす、または次のブロックを空だとみなすことを示す。
全ユーザi∈PKr−kのための命令:ユーザiは、CERTr−1を持つや否やラウンドrの自分のステップ3を始める。
すなわち、iは、ESIGj(v)および異なる
全ユーザi∈PKr−kのための命令:ユーザiは、自分のステップ3を終えるや否やラウンドrの自分のステップ4を始める。
ステップ(b)がプロトコル内であるかどうかはその正当性に影響を与えない。しかし、ステップ(b)の存在は、十分に多くのステップ3検証者が「⊥に署名」した場合、ステップ4が2λより少ない時間で終了することを許す。
この場合のv’は、存在する場合、一意でなければならないことは証明できる。
全ユーザi∈PKr−kのための命令:ユーザiは、自分のステップs−1を終えるや否やラウンドrの自分のステップsを始める。
(a)5≦s’≦s,s’−2≡0 mod 3、すなわち、ステップs’は、コインを0に固定するステップであり、
(b)iは少なくともtH個の有効なメッセージmj r,s’−1=(ESIGj(0),ESIGj(v),σj r,s’−1)を受信しており(脚注41参照)、かつ、
(c)iは、jがvの第2成分のとき、有効なメッセージ(SIGj(Qr−1),σj r,1)を受信している場合、
iは待機を停止し、自分によるステップs(実際にはラウンドrの)の実行を、(r,s)検証者として何も伝播せずにすぐに終了し、H(Br)をvの最初の成分になるように設定する。さらに、自分自身のCERTrを、(SIGj(Qr−1),σj r,1)とともに、ステップ(b)のメッセージmj r,s’−1の集合に設定する(脚注42参照)。
プレーヤjからのこのようなメッセージは、プレーヤiが1について署名するjからのメッセージも受信している場合であってもカウントされる。終了条件1についても同様。分析で示しているように、このことは、すべての誠実なユーザが時間λ以内に互いにCERTrを知ることを確実にするためである。
ユーザiはこれでH(Br)を知り、自分自身のラウンドrを終わらせる。実際にブロックBrがユーザiに伝播されるまで待つだけでよく、これにはいくらか追加の時間がかかるかもしれない。ユーザiは一般ユーザとしてメッセージの伝播をなおも手伝うが、(r,s)検証者として伝播を開始しない。具体的には、自分のCERTr内のすべてのメッセージの伝播を手伝っており、これは我々のプロトコルにとって十分である。ユーザiはバイナリBAプロトコルについても
(a’)6≦s’≦s,s’−2≡1 mod 3、すなわち、ステップs’は、コインを1に固定するステップであり、かつ、
(b’)iは少なくともtH個の有効なメッセージmj r,s’−1=(ESIGj(1),ESIGj(vj),σj r,s’−1)を受信している場合(脚注43参照)、
iは待機を停止し、自分によるステップs(実際にはラウンドrの)の実行を、(r,s)検証者として何も伝播せずにすぐに終了し、Br=Bε rを設定する。さらに、自分自身のCERTrを、サブステップ(b’)のメッセージmj r,s’−1の集合になるように設定する。
この場合、vjが何であるかは問題ではない。
全ユーザi∈PKr−kのための命令:ユーザiは、自分のステップs−1を終えるや否やラウンドrの自分のステップsを始める。
1について署名するtH個の有効な(r,s−1)メッセージを受信することが、終了条件1を意味するであろうことに留意されたい。
全ユーザi∈PKr−kのための命令:ユーザiは、自分のステップs−1を終えるや否やラウンドrの自分のステップsを始める。
原則として、サブセクション6.2で検討したように、プロトコルは、あるラウンドで多くのステップを任意に取ることができる。述べたように、これが起こる場合、s>μのときユーザi∈SVr,sは、事前に生成した一時的な鍵の隠し場所を使い果たしており、一時的な鍵の「カスケード」によって自分の(r,s)メッセージmi r,sを認証しなければならない。したがって、iのメッセージは少し長くなり、これらの長くなったメッセージの伝送には少し多くの時間がかかる。したがって、所与のラウンドのそのように多くのステップの後、パラメータλの値は自動的にやや大きくなる。(しかし、一旦新たなブロックが生成されて、新たなラウンドが始まれば、元のλに戻る。)
システム内の全ユーザiのための命令: ユーザiは、CERTr−1を持つや否や自分のラウンドrを始める。
アルゴランド’2の分析は、アルゴランド’1の分析から容易に導き出せる。本質的に、アルゴランド’2では、圧倒的確率で、(a)すべての誠実なユーザは同じブロックBrに合意する。新たなブロックのリーダーは、少なくともph=h2(1+h−h2)の確率で誠実である。
述べたように、誠実なユーザは、オンラインであること、およびプロトコルを実行することを含め、自分の規定された命令のすべてに従う。誠実なユーザに対して要求する計算および帯域幅がかなり少量であるため、これは、アルゴランドでは大きな負担ではない。しかし、アルゴランドは、非常に多数の誠実なユーザがオフラインであることが許容される2つのモデルで機能するように簡単に修正できることを指摘したい。
述べたように、アルゴランド’1およびアルゴランド’2は、ルックバックパラメータkを選ぶ。ここで、適切に大きいkを選ぶことで継続的参加要件を取り除けるということを示そう。この要件は、極めて重要な性質、すなわち、基となるBAプロトコルBBA★が正規の誠実な過半数を有すること、を確保する。ここで、この性質を満たす代替の魅力的な方法を怠惰な誠実者がいかに提供するかを説明しよう。
ここで、最後に、ユーザの誠実な過半数の仮定を、はるかに意味深い「マネーの誠実な過半数」の仮定に置き換える方法を示す。基本的な考えは、(プルーフ・オブ・ステーク風に)「iが所有するマネーの金額に比例する重み(つまり、決定権)によって、SVr,sに所属しているユーザi∈PKr−kを選択すること」である(脚注45参照)。
継続的参加と置き換えるために、PKr−k−2,000というべきである。単純にするために、いずれにしても連続的参加を要求したいと望む人はいるかもしれないので、1少ないパラメータを表すのに、以前と同様にPKr−kを使用する。
次に最も単純な実施態様は、各公開鍵が、ある固定Mについて、マネーMの最高金額を所有するよう要求することであろう。値Mは、1つの鍵が、例えば、kラウンドの2以上のステップの検証者集合に属す確率を無視できる程度にするように、システム内のマネーの総額に対して十分に小さくする。そして、ラウンドrでマネーの金額ai (r)を所有する鍵i∈PKr−kが、
最後の実施態様は、「システムの金持ちの参加者に多くの鍵を所有させた」。
以下に述べる代替実施態様は、ステータスの概念を一般化し、各ユーザiをK+1コピー(i,v)からなると見なし、そのそれぞれが独立して検証者であるように選択され、ラウンドrのステップsで自分自身の一時的な鍵(pki,v r,s,ski,v r,s)を所有することになる。Kの値は、ラウンドrのiによって所有されるマネーの金額ai (r)に依存する。
ここで、このようなシステムがどのように機能するかをより詳細に見ていこう。
nを、各検証者集合の目標とする期待濃度とし、ai (r)を、ラウンドrでユーザiが所有するマネーの金額とする。Arを、ラウンドrでPKr−kのユーザが所有するマネーの総額、すなわち、
iを、K+1コピーを有するPKr−k内のユーザとする。
前の例と同様に、n=1K、ai (r)=370万、Ar=1B、そしてiは4つのコピー(i,1),...,(i,4)を有するとする。すると、最初の3つのコピーは自動的にSVr,sに属す。4番目のコピーについては、概念的に、アルゴランド’は独立してバイアスコインを転がし、それが表になる確率は0.7である。コピー(i,4)は、コイントスが表である場合、かつ、その場合にのみ選択される。
検証者がどのように選択され、当該検証者のクレデンシャルがラウンドrの各ステップでどのように計算されるかを説明してきたが、ラウンドの実行は既に説明したものと似ている。
フォークの確率を10−12または10−18まで減じて、それが発生する可能性がほとんどない中で、当該フォークを取り扱う必要は実際上ない。しかし、アルゴランドは、プルーフ・オブ・ワークの有無を問わず、様々なフォークの解決手順を採用することもできる。
このセクションは、すべてのブロックの改ざん防止性を保証し続けるブロックを構築するより良い方法を提案するだけでなく、個々のブロックの内容を証明し、より一般的には、ブロックチェーン全体を審査することなく、関心のある特定の数量を計算するためにブロックを使用する、より効率的な方法を可能にもする。
アルゴランドではラウンドを示すために上付き記号を使用することを思い出そう。しかし、このセクションは全体としてブロックチェーンに充てられており、そのため、r番目のブロックは、アルゴランドの意味でのr番目のラウンドに対応しないことがある。すなわち、上記「r」は単なるブロック番号であり、明確にするためにブロックBrに含まれる。
また、ブロックの上記一般構造は概念的なものである。例えば、ビットコインでは、Brは、対応する計算問題を解いた人であるブロック構築者の電子署名を含むことができる。アルゴランドでは、Brの認証、すなわち、マッチング証明書CERTXは別に提供することができる。しかし、Brの一体的な一部として提供することもできるであろう。この後者の場合、有効な証明書が多数あるかもしれないため、ラウンドrのリーダーlrは、すべてのラウンドr検証者への自分のメッセージの中に、前のラウンドの出力のための有効な証明書も含めて、各ラウンドrの証明書が何であるかに関しても合意に達するようにする。
ブロックチェーン全体は知らないが、Bzがその中の正当なブロックであることを知っている人、X、を考えてみる。すると、上記基本的な性質により、ある人はこのような人に対して、rがzよりも小さい場合、任意の個々のブロックBrも正当であることを証明することができる。すなわち、ある人は、「証拠」として、中間ブロックのすべてBr+1,...,Bz−1をXに提供し、XはさらにHを使用してrから先、z番目のブロックを再構築するまでブロックチェーンを再生成し、自分が知っているブロックBzと一致するかどうかをチェックする。そうなる場合、XはBrの正当性を確信する。実際、このように一見適法そうな証明を見つけることができる人は誰でも、実際上は発見するのは不可能な、ハッシュ関数Hでの衝突も見つけたはずである。
過去の個々のブロックの正確な内容を効率的に証明できる能力はかなり基本的なことであるため、我々は、新たなブロック構造を展開する。これらの構造では、ブロックチェーンと同様に、ブロックシーケンス全体の完全性は、はるかに短い値vによって簡潔に保証される。この値は、シーケンスの最後のブロックではない。それにもかかわらず、ブロックチェーンの基本的な性質は維持される。ブロックのうちの1つにおける変更は、vにおける変更を引き起こす。
別の効率性の問題が、ビットコイン、より一般的にはブロックチェーンに基づく支払システム、に影響を与える。すなわち、システムのステータス(すなわち、どの鍵が所与の時刻に何を所有するか)を再構築するには、(その時点までの)支払履歴全体を取得しなければならず、それは、行われる支払回数が非常に多い場合にはおそらく実行が困難である。
このような必要なものを得るためにも、ブロックツリーを使用する。
マークル木とは、n個の既知の値v0,...,vn−1を1つの値vによって認証し、各値viの真正性を個々にかつ効率的に検証できるようにする方法である。
述べてきたように、マークル木は、1つの値、つまりルートに格納されている値vεによって、任意の、および任意に多くの既知の値を効率的に認証する。実際、マークル木の1つのルート内容によってk個の値v0,...,vk−1を認証するためには、まず、木の最初のk個のリーフに格納するためにv0,...,vk−1を知り、他の適切なノードにeを格納してから、ルート値を含む、木の中の他のすべてのノードの内容を計算しなければならない。
ブロックツリーは、ブロックのシーケンスB0,B1,....のそれぞれに含まれる情報を保護する。この重要な性質は、ブロックチェーンと同様、前のブロックのハッシュを各ブロックにも格納することでは得られない。しかし、各ブロックは何らかの短い保護情報も格納して、所与のブロックBrの前のブロックBiの内容に加えられた変更がBrの保護情報も変更させることを保証する。ブロックツリーのこの保証は、ブロックチェーンが提供するものに匹敵する。主な利点は、新たな保護情報により、ブロックBrの保護情報を知る誰かに対して、BiとBrとの間のすべてのブロックを処理しなくても、任意のブロックBiの正確な内容を証明できることである。ブロックの数がとてつもなく多い可能性がある(またはそのようになる可能性がある)ため、これは大きな利点である。
簡潔にするために、INFOr=vrに設定しよう。概念上、2kが候補値vrの数に上限を設けるように、深さkの完全なバイナリツリーTから始める。値v0,v1...もそうなので、ブロックは順に生成される。新たな値viが生成されると、概念的にいうと、マークル木Tiを構築するために、当該値viはTのリーフiに格納され、その後、様々なストリングが計算されてTのノードに格納される。これらのストリングのうちの1つが、特殊なストリングeである。(Tiのノードxに出現するとき、ストリングeは、Tiに属すxの子孫が存在しないことを意味し、
ブロックツリーによるセキュリティおよび証明可能性
ブロックBiの一部である構造情報Siを構築するためには、マークル木Ti全体からの情報が必要になるように思えるだろう。結局、リーフiに格納されるINFOi、したがって値viは容易に入手可能であるが、viの認証経路authiは前の木のノードの内容を含み、これは原則的には容易に入手することはできない。Siを構築するためにTi−1全体を入手しなければならない場合、新たなブロックBiを構築することはあまりに効率的ではないかもしれない。
(a)H(INFOi)、
(b)固定ストリングe、
(c)Siのストリング、および、
(d)上記タイプの所定の形態のストリングでハッシュ化することによって得られるストリング。
ブロックツリーは、アルゴランド等の支払システムを含め、あらゆる種類のアプリケーションにおいてブロックのセキュアな取扱いを改善する。しかし、このようなシステムには、改善から大きな利益が得られるであろう別の側面、すなわち、ステータス情報がある。
ラウンドrの正式なステータスは、各現行の公開鍵xについて、xが所有する金額、および場合によっては追加情報Sr=...,(x,ax (r),...),...を明記するタプルのリストからなることを思い出そう。システム内の鍵が所有するマネーの金額は動的に変化するので、それをできるだけ効率的に追跡し続ける必要がある。
ステータスツリーSTrは、ラウンドr−1の終わりに、PがステータスSrの値を効率的に証明することを可能にする特殊な情報構造である。
・ユーザの集合PKrを計算し、
・少なくともnr=|PKr|のリーフを有するマークル木Trを構築し、当該マークル木Trの最初のn個のリーフはn人のユーザ全員のステータス情報を格納し、各リーフは1人のユーザの情報を格納する(他のリーフは、もしあれば、リーフが「空」であることを意味する特殊なストリングeを格納してもよい)し、および、
・好ましくは電子署名されているTrのルート値Rrを、少なくとも別のエンティティに利用できるようにする。
Pは、各ラウンドrで一からTrを計算する必要がない。
ここでも、PがブロックシーケンスB0,...,Br−1の全体を知っていると仮定する。すると、第2の方法では、Pは次のことを行う。
・ユーザの集合PKrを計算し、
・すべてのユーザi∈PKrのステータス情報(i,ai x)を計算し、
・n個のステータス情報ペアを最初のエントリーに従って(例、そのユーザの辞書式順序に従って)順序付けし、
・第1リーフがPKr内の第1ユーザのステータス情報を含み、第2リーフが第2ユーザのステータスを含む等のマークル木Trを構築し(追加リーフは、もしあれば、ストリングeを含む)、および、
・Trのルート値Rrに電子署名し、この署名を利用できるようにする。
これまでのようにTr−1を使用してTrを容易に構築するのは簡単ではない。
(a)h1=H(v010,v011)、
(b)h2=H(v00,h1)、
(c)h3=H(h1,v1)、
次に、h3が実際にルート値vεと一致するかどうかをチェックする。
ハッシュ化(a)は、v010が、どのようなノードがh1を格納していても、その0子に格納されていることを証明し、
ハッシュ化(b)は、h1が、どのようなノードがh2を格納していても、その1子に格納されていることを証明し、
ハッシュ化(c)は、h2が、どのようなノードがh3を格納していても、その0子に格納されていることを証明することに留意されたい。
探索木は、概念上、順序集合からの値をバイナリ(単純化のためにのみ!)ツリーのノードに動的に格納するデータ構造であることを思い出そう。通例、このようなツリーでは、ノードは1つの値を含む(または空である)。このようなデータ構造によって動的にサポートされる動作には、所与の値vの挿入、削除および探索を含む。(値vが存在しない場合には、例えば、返信される回答が⊥であるため、そのことも判定することができる。)
最悪の場合、各挿入はO(log n)基本ステップを取るため、この操作はたかだかO(n log n)基本ステップを取ることに留意されたい。(実際、Pは、ユーザをTrに挿入する前に当該ユーザをPKrで順序付けることによって、追加の効率をいくらか得たいかもしれない)。
すなわち、Pは、PKr内のユーザのステータス情報をTrに格納し、ユーザiに関するステータス情報に関して挿入/削除/探索のすべてを、ユーザiに関する挿入/削除/探索を介して行うことができるようにする。
(言い換えると、Trは、そのノードに格納される最初のエントリーを介して探索可能な平衡木である。)
バイナリツリーでは、各ノードはたかだか2つの子を有する。したがって、リーフのないノードxは1つしか子を持てないであろう。一般性を損なうことなく、これをxの左の子x0と仮定する。この場合、Pは概念上、右の子x1にxを与え、そこにストリングeを格納する。
xがリーフである場合、hvxは、xに格納されている値vxのハッシュである、すなわちhvx=H(vx)である。
xが、値vxを格納している深さdのノードである場合、hvx=H(hvx0,hvx1,H(vx))である。
最終的にTrのルートεに関連付けられているハッシュ値は、
この探索は、Trの、たかだかO(log n)ノードの内容の検索に関わり、検索された各内容は、その内容が次に検索される必要のあるノードを決定する。
である場合(すなわち、探索アルゴリズムが記号⊥/ストリングeを返す場合)、Vは、iがPKrのユーザではなかったことを確信する。
多くの人によって信頼される個人の証明者Pがいない場合、それを「構築」することが重要になってくる。
例えば、Bi r=(r,PAYr,SIGi(Qr−1),Rr,H(Br−1))。
実際、これらの検証者はそれまでのブロックシーケンスB0,...,Br−1を知っているため、身元確認されたリーダーによって提案されるブロックが採用されると仮定すると、ステータス情報がラウンドr後にどうなるかを判定することができる。
新たな正式なブロックは空、すなわちBr=Bε rであるかもしれないことに留意されたい。このような空のブロックは次の形式をとり、
代理検証者
ユーザiがSVr,sのメンバーとして選択される確率は、他のユーザがiに「投票する」マネーに基づくこともできる(例、ここでも、当該マネーに比例して)。ユーザUは、通常通り、自分が行う支払の授受のすべてを支配し続けたいかもしれない。しかし、当該ユーザUは、リーダーおよび/または検証者として行為する権利および義務を別のユーザiに委任したいかもしれない。この場合、またこの目的のためにのみ、このようなユーザUは、iを、リーダー/検証者に用の自分の代理人にしたいことを示すことがある。ユーザUは、実際に、リーダー/検証者としての義務を1人または複数人のユーザiに委託するかもしれない。しばらくの間、かつ、一般性を損なうことなく、Uが、リーダーおよび検証者用に1人の代理人iを持つことを選択すると仮定しよう。
当然、ここで、また他の場所でも、曖昧さおよびタイは、ある所定の方法でブレークされる。例えば、Uが自分のマネー全額を潜在的検証者iに投票することを示すUの署名と、iが自分のマネーの全額を異なる潜在的検証者jに投票することを示す別の署名とをPAYrが含む場合、Uの代理人の選択は無視されるか、または代わりに、対応する署名入りのステートメントが、jに対応するものに(例えば、辞書式順序で)先行する場合、Uは事実上iを選ぶ。
これまでは、アルゴランドで、各ユーザiが、あるラウンドrの検証者またはリーダーとして選択されることができるということであった。しかし、当業者によって、上記の点は制約ではないと容易に認識できる。実際、アルゴランドは、非許可でいつでも参加し、通常通り支払の授受(より一般的にはトランザクション)を行うことのできる集団ユーザと、ラウンドのリーダーと検証者とがその中から選択される、特殊クラスの潜在的検証者とを有することができる。これら2つの集合は重複することが可能であり(その場合、少なくとも一部の潜在的検証者は支払の授受を行うこともできる)、または別々であることが可能である(その場合、潜在的検証者は、選択された場合、リーダーまたは検証者としてのみ行為することができる)。ある意味では、前のセクションで述べたようにアルゴランドでは、各ユーザが潜在的検証者である。アルゴランドは、2つの別々のマネーの金額を有するユーザまたは潜在的検証者iも有する場合があり、そのうちの一方のみが、iがリーダーまたは検証者として選択されるために重要である。
このセクションでは、プライバシーとトレーサビリティとのバランスをとり、新たな種類のインセンティブを可能にし、銀行または他の外部エンティティに新しい非支配型の役割を与える、アルゴランドの許可型バージョンを論じる。この許可型バージョンは、以下に挙げる伝統的な概念に依拠する。
システムにユーザを登録する権限を有する、ある当事者Rの公開鍵pkが、公開で知られていると仮定する。すると、ユーザiの身元を確認し、公開鍵pkiが本当にiに属していることを検証した後、Rは、電子署名Ciを発行して、pkiがシステムの適法な公開鍵であるだけでなく、iに関する何らかの適切な追加情報infoiが成り立つことも証明してもよい。この場合、証明書は、本質的に次の形式である。
アルゴランドでは、各ユーザi∈PKrが、適切なエンティティR(例、予め指定された集合内の銀行)によって発行される電子署名Ciを有することを要求されることがある。ラウンドrの支払
・支払
また、証明書に失効日r=[t1,t2]がある場合、t2は、最も早い失効日よりも小さくなければならない。
・同時に、このような支払がPAYrに属する場合、それに対応するマネーの移転は無条件に実行される。
ユーザiの証明書Ciが一旦失効するか、またはその失効前に(iが「財務的に健全な状態」である限り)、Rは、Cよりも失効日が先の、新たな証明書C’iを発行することができる。
「無期限証明書は、ユーザをそのマネーから切り離すために使用することはできないが、他の目的を達成するためには実際に非常に価値がある。」
従来の小切手により行われる支払の支払人および受取人は、小切手を持つ誰によっても容易に身元を確認できる。したがって、小切手はマネーロンダリングまたは他の違法活動にとって理想的ではない。正規の登録機関によって発行される電子証明書をアルゴランドで使用して、ある所与のエンティティのみが、適切な状況に限り、iが望む支払をiが行うことを妨げずに、所与の公開鍵pkiの所有者iの身元を確認することができることを確実にすることができるであろう。簡単な例を挙げてみよう。
「突っ込んで」いうと、こうしたIiは、iの氏名と住所、iの写真、iの同意書の電子署名(デジタルであった場合)を含んでもよく、または、iは自分の署名入りの同意書と一緒に写真に写ることができ、さらに、Iiに入れるために写真をデジタル化する。銀行は、自行自体の保護および同様にiの保護のために、Iiが本当に正当であることの証拠となるiの署名も取得して保管することもできる。
例えば、最後のシナリオに注目すると、iが銀行Bから証明書Ci=SIGB(B,pki,EG(IDi))を一旦取得したら、異なる公開pk’iについて、iは別の証明書C’i=SIGB(B,pk’i,E’G(IDi))を取得することも可能であり、それについてBは、IDiがE’G(IDi)を復号化したものであることをもはや知らない。
アルゴランドにおける鍵の認定が、銀行の新たな役割である。銀行Bがその顧客のために容易に行うことのできる役割である。実際、Bは既に当該顧客を非常によく知っており、通例、彼らと随時コミュニケーションを取っている。顧客の中の一人の鍵iを認定することによって、Bは、単純だが価値ある(そして、場合によっては金銭的に報酬が得られる)サービスを行う。
さらに一歩踏み込むと、政府はアルゴランドにおいてマネーを印刷することも許される場合があり、それを、特に銀行に移転することもでき、または銀行が十分に規制されている場合には、一定のパラメータ内でアルゴランドマネーを生成することを銀行に許す場合がある。
まさにそれを行うための「代理人」メカニズムは、付録「??」に記載している。そのセクションは、特別に構築された通信ネットワークを用いたアルゴランドの実施態様に充てられている。しかし、そこに記載されている委託メカニズムは、基礎となるネットワークがどのようなものであろうとも採用することができる可能性がある。
登録権限機関が銀行であるかどうかを問わず、また法執行の懸念が処理されているかどうかを問わず、アルゴランドの許可型展開は、所与の鍵pkiが商店に属していることを(例、その証明書Ci内で)識別することを可能にする。
(1)全員が、商店に行われる支払の小さな割合のみの報酬を与え、なおかつ、
(2)検証者には、他のすべての支払も同様に処理することへのインセンティブが与えられる。
いくつか考えられる、アルゴランドの変型を論じてみる。
これまで、アルゴランドは、規定された誠実な過半数をSVrが有することを確認して、前のラウンドに依存する数量から、リーダーlrおよび検証者集合SVrを自動的に選択するものであった。しかし、検証者およびリーダーを選択する代替方法を指摘したい。
各SVrが誠実な過半数を有すると帰納的に仮定すると、SVr自体(またはより一般的にはrまでのラウンドの検証者の一部)にラウンドrの検証者集合および/またはリーダーを選択させることができるであろう。例えば、複数者によるセキュア計算によってそうすることができるであろう。誠実な過半数を有するように初期の検証者集合が選ばれると仮定すると、ブートストラッピングに頼る。すなわち、各検証者集合の誠実な過半数は、次の検証者集合の誠実な過半数を含意する。検証者集合は全ユーザの集合に対して小さいため、そのメンバーは、この選択を非常に素早く実施することができる。
所与のラウンドrの検証者集合SVrおよびリーダーlrは、ラウンドrに関連付けられているランダム値vrから、予め決められたやり方で、規定のユーザの集合PVr−kから選択することができる。具体的には、vrは、自然かつ公開のランダム値としてもよい。これによって、我々は、これが任意の所与の個人ではとても制御することができない、ランダムプロセスの広く利用できる結果であることを意味する。例えば、vrは、所与の時刻(例、ラウンドrの始まり、もしくは前のラウンドの所与の時刻)における様々な都市の気温、または所与の証券取引所で所与の時刻に売買される所与の有価証券の株数、等から構成してもよい。
SVrを選択する代替アプローチは、そのうちの少なくとも1人が誠実であることを保証するように選択された、1つまたは複数の特別なエンティティである、受託者に関わる。受託者は、支払集合PAYrの構築には関わることはできないが、検証者集合SVrおよび/またはリーダーlrを選ぶことができる。
アルゴランドは、より高度な暗号ツールからも利益を受けることができる。具体的には、以下の通りである。
しばしば、アルゴランドでは、データDのうちの数個が複数者によって電子署名されなければならない。よりコンパクトな認証済み記録を生成するために、組み合わせ可能な電子署名を使用することができる。このような署名では、複数の公開鍵、例えば、ΡΚ1、PK2およびPK3を1つの公開鍵PK=ΡΚ1,2,3に統合することができるであろう。また、異なる公開鍵に関連した同じデータDの署名は、対応する統合された公開鍵に関連して、1つの署名に統合することができる。例えば、SIG1(D)、SIG2(D)およびSIG3(D)は1つの電子署名s=SIG1,2,3(D)に変換することができるであろうが、これは、公開鍵PK1,2,3に関連して、誰によっても検証することができる。関連する公開鍵の識別子のコンパクトな記録、我々の例では、集合{1,2,3}にはsを添付することができるので、誰でも素早くΡΚ1、PK2およびPK3を収集してPK=PK1,2,3を計算し、PKに基づいてDの署名sを検証することができる。
署名が複数のデータを認証する場合、署名された項目のリスト全体を維持または送信しなければならないよりも、1つのデータの署名だけを抽出できる方が便利であろう。例えば、プレーヤは、認証されたPAYr全体ではなく、所与の支払P∈PAYrの認証記録を維持したいかもしれない。このために、まず、各支払P∈PAYrを個別のリーフに格納するマークル木を生成し、それからルートに電子署名することができる。この署名は、項目Pおよびその認証経路とともに、本質的にP単独の代替署名である。
後者の処理方法の1つの利点は、プレーヤが、lへの支払を配達証明付き電子メール(脚注53参照)によって、好ましくは送信者匿名で送信し、lが意図的にその支払の一部をPAYl rに含めないことにした場合に、lを罰する助けになり得る受信確認(レシート)を得られるようになることである。
例えば、米国特許第5666420号の軽量配達証明付き電子メールによる。
本明細書で説明するシステムのソフトウェア実装は、コンピュータ可読媒体に格納されるとともに1つまたは複数のプロセッサで実行される、実行可能コードを含むことができる。コンピュータ可読媒体は、非一時的なものとすることができ、コンピュータハードドライブ、ROM、RAM、フラッシュメモリ、CD−ROM、DVD−ROM、フラッシュドライブ、SDカード、および/もしくは、例えばユニバーサルシリアルバス(USB)インタフェースを有する他のドライブなどの携帯コンピュータ記憶媒体、ならびに/または実行可能コードを格納しプロセッサで実行することができる任意の他の適切な有形もしくは非一時的コンピュータ可読媒体もしくはコンピュータメモリであってもよい。本明細書で説明するシステムは、任意の適切なオペレーティングシステムとの関係で使用してもよい。
Claims (22)
- トランザクションがブロックに整理されるトランザクションシステムにおいて、エンティティが、前のブロックのシーケンスB0,B1,...,Br1に関連して、有効なトランザクションの新たなブロックBrを構築するための方法であって、
前記エンティティに、前記前のブロックから数量Qを求めさせることと、
Qと前記エンティティとに一意に関連付けられているストリングSを計算するために前記エンティティに秘密鍵を使用させることと、
前記エンティティに、Sから、S自体、Sの関数およびSのハッシュ値のうちの少なくとも1つである数量Tを計算させることと、
Tが所与の性質を有しているかどうかを前記エンティティに判定させることと、
Tが前記所与の性質を有している場合には、前記エンティティにBrに電子署名させて、Sおよび電子署名済みバージョンのBrを利用できるようにさせることと、
を含む、方法。 - 前記秘密鍵は、前記エンティティの公開鍵に対応する秘密署名鍵であり、Sは、前記エンティティによるQの電子署名である、請求項1に記載の方法。
- Tは、数であり、所与の数p未満である場合に前記性質を満たす、請求項1に記載の方法。
- Sは、BrからSを推論可能にすることによって利用できるようにされる、請求項2に記載の方法。
- 各ユーザは前記トランザクションシステムに残高を有し、各ユーザの前記残高に応じて各ユーザについてのpが変動する、請求項2に記載の方法。
- トランザクションがブロックに整理されて、ブロックが電子署名の集合によって承認されるトランザクションシステムにおいて、前のブロックのシーケンスをB0,...,Br−1として、エンティティがトランザクションの新たなブロックBrを承認する方法であって、
前記エンティティに前記前のブロックから数量Qを求めさせることと、
前記エンティティにQの電子署名Sを計算させることと、
前記エンティティに、Sから、S自体、Sの関数およびSのハッシュ値のうちの少なくとも1つである数量Tを計算させることと、
Tが所与の性質を有しているかどうかを前記エンティティに判定させることと、
Tが前記所与の性質を有している場合には、前記エンティティに、他者がSを利用できるようにさせることと、
を含む、方法。 - Tは、数のバイナリ展開であり、所定の閾値p未満である場合に前記所与の性質を満たし、前記エンティティは、Sも利用できるようにする、請求項6に記載の方法。
- 前記エンティティは前記トランザクションシステムに残高を有し、pは前記エンティティの残高に応じて変動する、請求項6に記載の方法。
- 前記エンティティは少なくとも1つの他のエンティティの授権代理人として行為する、請求項8に記載の方法。
- pは、前記エンティティの前記残高、および前記エンティティの前記残高と前記他のエンティティの残高との組み合わせのうちの少なくとも1つに依存する、請求項9に記載の方法。
- 前記他のユーザは前記ユーザに電子署名の権限を与える、請求項9に記載の方法。
- 前記エンティティは、Brがエンティティの所与の集合によって実行されたビザンチン合意プロトコルの出力である場合に限り、Brに電子署名する、請求項6に記載の方法。
- 前記エンティティのうちの特定の1つの電子署名が、前記前のブロックによって求められた、所与の性質を満たす数量を有する場合、前記エンティティのうちの前記特定の1つが前記エンティティの所与の集合に属す、請求項12に記載の方法。
- 生成されて電子署名されたブロックのシーケンスB0,...,Br−1にトランザクションが整理され、各ブロックBrが、保護されるべき何らかの情報INFOrを含むとともに保護情報Srを含むトランザクションシステムにおいて、ブロックの内容に対して、検出不能な改変がなされないようにする方法であって、前記方法は、
新たなブロックBiが生成される度に、バイナリツリーのリーフiにBiの情報INFOiを挿入することと、
マークル木Tiを得るために前記バイナリツリーをマークル化することと、
Tiのルートの内容RiおよびTiの前記リーフiの内容の認証経路を含むために、ブロックBiの前記保護情報Siを判定することと、
を含む、方法。 - 直前のブロックBi1のSi1の保護情報は格納され、前記保護情報Siは、所定のシーケンスで、Si1の前記値、INFOiの前記ハッシュおよび所与の値のうちの少なくとも1つを含む集合から値をハッシュ化することによって得る、請求項14に記載の方法。
- 第1のエンティティは、ブロックBzの前記保護情報Szを有する第2のエンティティに前記マークル木TzでINFOiの前記認証経路を受信させることによって、ブロックBzの直前の前記ブロックBrの前記情報INFOrが真正であることを前記第2のエンティティに対して証明する、請求項15に記載の方法。
- ユーザが残高を有し、電子署名された支払を介して互いにマネーを移転し、ユーザの初期集合の残高が既知である支払システムにおいて、第1番目のユーザ支払セットが第1番目の電子署名済みブロックB1に収集され、第2番目のユーザ支払セットが第2番目の電子署名済みブロックB2に収集されて、B1の後に利用できるようになる、等の場合、エンティティEが、ユーザiが第r番目のブロックBrの時点ですべての支払を行いかつ受領した後で前記ユーザiが利用できる残高aiに関する検証済み情報を提供する方法であって、前記方法は、
前記ブロックのシーケンスB0,...,Br−1に明記される情報から推論可能な情報から、すべてのユーザxについて金額axを計算することと、
利用できるようにされているr番目のブロックBrの時点での前記システム内のユーザの数nを計算することと、
前記ユーザxを所与の順番に並べることと、
各ユーザxについて、xが前記所与の順番の前記i番目のユーザである場合、少なくともn個のリーフを有するバイナリツリーTのリーフiにaxを格納し、前記木Tのマークル値を判定して、Tのルートで格納される値Rを計算し、Rを認証する電子署名Sを生成し、リーフiとTの前記ルートとの間の経路のノードの兄弟であるすべてのノードの内容を提供してTの任意のリーフiの内容の証明としてSを利用できるようにすることと、
を含む、方法。 - ユーザが残高を有し、電子署名された支払を介して互いにマネーを移転し、ユーザの初期集合の残高が既知である支払システムにおいて、第1番目のユーザ支払セットが第1番目の電子署名済みブロックB1に収集され、第2番目のユーザ支払セットが第2番目の電子署名済みブロックB2に収集されて、B1の後に利用できるようになる、等の場合、エンティティの集合Eが、ユーザiが第r番目のブロックBrの時点ですべての支払を行いかつ受領した後で前記ユーザiが利用できる前記残高aiを検証することを可能にする情報を提供する方法であって、前記方法は、
前記最初のr個のブロックの支払後の各ユーザiの前記残高を判定することと、
各ユーザの前記残高がTrの少なくとも1つのノードの保護されるべき値である、マークル平衡探索木Trを生成することと、
前記エンティティの集合の各メンバーに、Trの前記ルートの前記保護値hvεを含む情報の電子署名を生成させることと、
hvεの前記電子署名を提供して前記最初のr個の支払後の前記ユーザのうちの少なくとも1名の前記残高を証明することと、
を含む、方法。 - 前記エンティティの集合は、1つのエンティティから構成される、請求項18に記載の方法。
- 前記エンティティの集合は、その電子署名の値に基づいて選択される、請求項18に記載の方法。
- ユーザが残高を有し、電子署名された支払を介して互いにマネーを移転し、ユーザの初期集合の残高が既知である支払システムにおいて、第1番目のユーザ支払セットが第1番目の電子署名済みブロックB1に収集され、第2番目のユーザ支払セットが第2番目の電子署名済みブロックB2に収集されて、B1の後に利用できるようになる、等の場合、エンティティEが、ユーザiが第r番目のブロックBrの時点ですべての支払を行いかつ受領した後に前記ユーザiが利用できる前記残高aiを証明する方法であって、前記方法は、
各ユーザの前記残高がTrの少なくとも1つのノードの情報値であるマークル平衡探索木Trの前記ルートの前記保護情報hvεについて、エンティティの集合のメンバーの電子署名を取得することと、
前記ユーザiについて、認証経路、およびTrで探索するために所与の検索アルゴリズムを処理するすべてのノードの前記内容を計算することと、
別のエンティティがiの前記残高を検証することを可能にするために、前記認証経路と内容および前記電子署名を提供することと、
を含む、方法。 - 非一時的コンピュータ可読媒体に提供され、前述の請求項1乃至21のいずれか1項に記載の方法を実施する実行可能コードを含む、コンピュータソフトウェア。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021193208A JP2022031817A (ja) | 2016-05-04 | 2021-11-29 | 分散型トランザクション伝播および検証システム |
Applications Claiming Priority (43)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662331654P | 2016-05-04 | 2016-05-04 | |
US62/331,654 | 2016-05-04 | ||
US201662333340P | 2016-05-09 | 2016-05-09 | |
US62/333,340 | 2016-05-09 | ||
US201662343369P | 2016-05-31 | 2016-05-31 | |
US62/343,369 | 2016-05-31 | ||
US201662344667P | 2016-06-02 | 2016-06-02 | |
US62/344,667 | 2016-06-02 | ||
US201662346775P | 2016-06-07 | 2016-06-07 | |
US62/346,775 | 2016-06-07 | ||
US201662351011P | 2016-06-16 | 2016-06-16 | |
US62/351,011 | 2016-06-16 | ||
US201662353482P | 2016-06-22 | 2016-06-22 | |
US62/353,482 | 2016-06-22 | ||
US201662354195P | 2016-06-24 | 2016-06-24 | |
US62/354,195 | 2016-06-24 | ||
US201662363970P | 2016-07-19 | 2016-07-19 | |
US62/363,970 | 2016-07-19 | ||
US201662369447P | 2016-08-01 | 2016-08-01 | |
US62/369,447 | 2016-08-01 | ||
US201662378753P | 2016-08-24 | 2016-08-24 | |
US62/378,753 | 2016-08-24 | ||
US201662383299P | 2016-09-02 | 2016-09-02 | |
US62/383,299 | 2016-09-02 | ||
US201662394091P | 2016-09-13 | 2016-09-13 | |
US62/394,091 | 2016-09-13 | ||
US201662400361P | 2016-09-27 | 2016-09-27 | |
US62/400,361 | 2016-09-27 | ||
US201662403403P | 2016-10-03 | 2016-10-03 | |
US62/403,403 | 2016-10-03 | ||
US201662410721P | 2016-10-20 | 2016-10-20 | |
US62/410,721 | 2016-10-20 | ||
US201662416959P | 2016-11-03 | 2016-11-03 | |
US62/416,959 | 2016-11-03 | ||
US201662422883P | 2016-11-16 | 2016-11-16 | |
US62/422,883 | 2016-11-16 | ||
US201762455444P | 2017-02-06 | 2017-02-06 | |
US62/455,444 | 2017-02-06 | ||
US201762458746P | 2017-02-14 | 2017-02-14 | |
US62/458,746 | 2017-02-14 | ||
US201762459652P | 2017-02-16 | 2017-02-16 | |
US62/459,652 | 2017-02-16 | ||
PCT/US2017/031037 WO2017192837A1 (en) | 2016-05-04 | 2017-05-04 | Distributed transaction propagation and verification system |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021193208A Division JP2022031817A (ja) | 2016-05-04 | 2021-11-29 | 分散型トランザクション伝播および検証システム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2019519137A true JP2019519137A (ja) | 2019-07-04 |
JP2019519137A5 JP2019519137A5 (ja) | 2020-12-10 |
JP6986519B2 JP6986519B2 (ja) | 2021-12-22 |
Family
ID=60203556
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018557931A Active JP6986519B2 (ja) | 2016-05-04 | 2017-05-04 | 分散型トランザクション伝播および検証システム |
JP2021193208A Pending JP2022031817A (ja) | 2016-05-04 | 2021-11-29 | 分散型トランザクション伝播および検証システム |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021193208A Pending JP2022031817A (ja) | 2016-05-04 | 2021-11-29 | 分散型トランザクション伝播および検証システム |
Country Status (12)
Country | Link |
---|---|
US (1) | US20190147438A1 (ja) |
EP (2) | EP3452975A4 (ja) |
JP (2) | JP6986519B2 (ja) |
KR (2) | KR20220088507A (ja) |
CN (3) | CN115660675A (ja) |
AU (1) | AU2017260013A1 (ja) |
CA (1) | CA3020997A1 (ja) |
IL (2) | IL262638B (ja) |
MA (1) | MA44883A (ja) |
RU (1) | RU2018142270A (ja) |
SG (2) | SG11201809648QA (ja) |
WO (1) | WO2017192837A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7530175B2 (ja) | 2019-01-15 | 2024-08-07 | フィッシャー-ローズマウント システムズ,インコーポレイテッド | ブロックチェーンベースの自動化アーキテクチャサイバーセキュリティ |
JP7551222B2 (ja) | 2021-02-07 | 2024-09-17 | ▲騰▼▲訊▼科技(深▲セン▼)有限公司 | ブロックチェーンネットワークに基づくデータ処理方法、装置及びコンピュータ機器 |
Families Citing this family (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10762481B2 (en) * | 2017-03-21 | 2020-09-01 | The Toronto-Dominion Bank | Secure offline approval of initiated data exchanges |
US11240035B2 (en) * | 2017-05-05 | 2022-02-01 | Jeff STOLLMAN | Systems and methods for extending the utility of blockchains through use of related child blockchains |
JP2019012415A (ja) * | 2017-06-30 | 2019-01-24 | 株式会社bitFlyer | ネットワークにおける合意形成方法及び当該ネットワークを構成するノード |
US10855758B1 (en) * | 2017-08-04 | 2020-12-01 | EMC IP Holding Company LLC | Decentralized computing resource management using distributed ledger |
US11386498B1 (en) | 2017-09-06 | 2022-07-12 | State Farm Mutual Automobile Insurance Company | Using historical data for subrogation on a distributed ledger |
US11416942B1 (en) | 2017-09-06 | 2022-08-16 | State Farm Mutual Automobile Insurance Company | Using a distributed ledger to determine fault in subrogation |
US10872381B1 (en) | 2017-09-06 | 2020-12-22 | State Farm Mutual Automobile Insurance Company | Evidence oracles |
US10891694B1 (en) * | 2017-09-06 | 2021-01-12 | State Farm Mutual Automobile Insurance Company | Using vehicle mode for subrogation on a distributed ledger |
US10818121B2 (en) * | 2017-09-15 | 2020-10-27 | Panasonic Intellectual Property Corporation Of America | Electronic voting system and control method |
US10887090B2 (en) * | 2017-09-22 | 2021-01-05 | Nec Corporation | Scalable byzantine fault-tolerant protocol with partial tee support |
JP2020536473A (ja) * | 2017-09-28 | 2020-12-10 | アルゴランド インコーポレイテッド | メッセージ信任ブロックチェーン |
US10812275B2 (en) * | 2017-11-28 | 2020-10-20 | American Express Travel Related Services Company, Inc. | Decoupling and updating pinned certificates on a mobile device |
RU2020119312A (ru) * | 2017-12-19 | 2022-01-20 | Алгорэнд Инк. | Быстрые и стойкие к разделению цепочки блоков |
US10250708B1 (en) * | 2017-12-26 | 2019-04-02 | Akamai Technologies, Inc. | High performance distributed system of record |
US11977924B2 (en) * | 2017-12-26 | 2024-05-07 | Akamai Technologies, Inc. | High performance distributed system of record with distributed random oracle |
US11488433B2 (en) * | 2018-01-11 | 2022-11-01 | Mastercard International Incorporated | Method and system for public elections on a moderated blockchain |
WO2019147295A1 (en) * | 2018-01-29 | 2019-08-01 | Ubiquicorp Limited | Proof of majority block consensus method for generating and uploading a block to a blockchain |
CN108446376B (zh) * | 2018-03-16 | 2022-04-08 | 众安信息技术服务有限公司 | 数据存储方法与装置 |
US10855446B2 (en) * | 2018-04-24 | 2020-12-01 | Duvon Corporation | Autonomous exchange via entrusted ledger |
CN112929181B (zh) | 2018-05-08 | 2024-01-02 | 维萨国际服务协会 | 抗Sybil攻击身份的生成 |
TW202004626A (zh) * | 2018-05-18 | 2020-01-16 | 香港商泰德陽光有限公司 | 分散式金流稽核方法、裝置及系統 |
CN108923929B (zh) * | 2018-06-05 | 2021-07-23 | 上海和数软件有限公司 | 区块链节点共识方法、装置及计算机可读存储介质 |
JP7044364B2 (ja) * | 2018-06-15 | 2022-03-30 | 学校法人東京電機大学 | ノード、合意形成システム及び当選者決定方法 |
GB201811263D0 (en) * | 2018-07-10 | 2018-08-29 | Netmaster Solutions Ltd | A method and system for managing digital using a blockchain |
GB201811672D0 (en) * | 2018-07-17 | 2018-08-29 | Nchain Holdings Ltd | Computer-implemented system and method |
CN109242676B (zh) * | 2018-07-27 | 2023-10-27 | 创新先进技术有限公司 | 区块发布方法及装置、电子设备 |
US12020242B2 (en) * | 2018-08-07 | 2024-06-25 | International Business Machines Corporation | Fair transaction ordering in blockchains |
GB2576375A (en) * | 2018-08-17 | 2020-02-19 | Uvue Ltd | Transaction system and method of operation thereof |
GB201816936D0 (en) * | 2018-10-17 | 2018-11-28 | Nchain Holdings Ltd | Computer-implemented system and method |
CN109872142B (zh) * | 2019-02-21 | 2023-04-11 | 派欧云计算(上海)有限公司 | 一种基于可信第三方的数字资产交易方法及其存储介质 |
US11503036B2 (en) * | 2019-03-13 | 2022-11-15 | Nec Corporation | Methods of electing leader nodes in a blockchain network using a role-based consensus protocol |
TWI699986B (zh) * | 2019-03-14 | 2020-07-21 | 柯賓漢數位金融科技有限公司 | 區塊鏈產生方法及系統 |
CN110198213B (zh) * | 2019-04-01 | 2020-07-03 | 上海能链众合科技有限公司 | 一种基于秘密共享随机数共识算法的系统 |
US11569996B2 (en) * | 2019-05-31 | 2023-01-31 | International Business Machines Corporation | Anonymous rating structure for database |
US11734259B2 (en) * | 2019-05-31 | 2023-08-22 | International Business Machines Corporation | Anonymous database rating update |
CN110213038B (zh) * | 2019-06-03 | 2024-06-04 | 聂明 | 一种区块链形成共识的方法及系统 |
US10778452B2 (en) * | 2019-06-03 | 2020-09-15 | Alibaba Group Holding Limited | Blockchain ledger authentication |
US20220300953A1 (en) * | 2019-06-04 | 2022-09-22 | Algorand, Inc. | Auditing digital currency transactions |
KR102229923B1 (ko) * | 2019-06-18 | 2021-03-22 | 한국과학기술원 | 네트워크 상에서 합의된 데이터를 전송하는 방법 및 네트워크 상에서 합의된 데이터를 전송하기 위한 전자기기 |
CN110363528B (zh) * | 2019-06-27 | 2022-06-24 | 矩阵元技术(深圳)有限公司 | 协同地址的生成、交易签名方法及装置、存储介质 |
US10853341B2 (en) | 2019-06-28 | 2020-12-01 | Advanced New Technologies Co., Ltd. | Blockchain based hierarchical data storage |
CN110347684B (zh) * | 2019-06-28 | 2020-09-01 | 阿里巴巴集团控股有限公司 | 基于区块链的分级存储方法及装置、电子设备 |
CN110689345B (zh) * | 2019-09-06 | 2022-03-18 | 北京清红微谷技术开发有限责任公司 | 调整区块权重的无许可区块链共识方法、系统、p2p网络 |
CN110598482B (zh) * | 2019-09-30 | 2023-09-15 | 腾讯科技(深圳)有限公司 | 基于区块链的数字证书管理方法、装置、设备及存储介质 |
CN111292187B (zh) * | 2020-01-20 | 2023-08-22 | 深圳市万向信息科技有限公司 | 一种区块链记账人资格竞选方法 |
US11315193B1 (en) * | 2020-02-12 | 2022-04-26 | BlueOwl, LLC | Systems and methods for implementing a decentralized insurance platform using smart contracts and multiple data sources |
CN111090892B (zh) * | 2020-03-24 | 2021-04-30 | 吕晟珉 | 一种基于vrf和门限签名的区块链共识方法和装置 |
US10887104B1 (en) | 2020-04-01 | 2021-01-05 | Onu Technology Inc. | Methods and systems for cryptographically secured decentralized testing |
US11409907B2 (en) | 2020-04-01 | 2022-08-09 | Onu Technology Inc. | Methods and systems for cryptographically secured decentralized testing |
US20230188538A1 (en) * | 2020-05-12 | 2023-06-15 | Beijing Wodong Tianjun Information Technology Co., Ltd. | Communication Systems and Methods for Validation of a Transaction Via Consensus in A Distributed Network Environment |
CN115552868A (zh) * | 2020-05-12 | 2022-12-30 | 北京沃东天骏信息技术有限公司 | 用于在分布式通信中建立共识的系统和方法 |
CN111526217B (zh) * | 2020-07-03 | 2020-10-09 | 支付宝(杭州)信息技术有限公司 | 一种区块链中的共识方法和系统 |
JP2023537827A (ja) * | 2020-07-07 | 2023-09-06 | ライン プラス コーポレーション | ランダムサンプリングbft合意方法とシステム、およびコンピュータプログラム |
KR102603880B1 (ko) | 2021-01-08 | 2023-11-20 | 한국전자통신연구원 | 블록 합의 방법 및 트랜잭션 상태 관리 방법 |
CN112766854B (zh) * | 2021-01-22 | 2021-11-02 | 支付宝(杭州)信息技术有限公司 | 基于区块链的数字商品交易方法和装置 |
US11902451B2 (en) * | 2021-07-01 | 2024-02-13 | Fujitsu Limited | Cross-blockchain identity and key management |
CN113656500B (zh) * | 2021-08-18 | 2023-08-18 | 盐城市质量技术监督综合检验检测中心(盐城市产品质量监督检验所) | 一种面向抽样检测的区块链系统及其实现方法 |
KR20230090027A (ko) * | 2021-12-14 | 2023-06-21 | 한국전자통신연구원 | 블록체인 네트워크에서의 합의 노드 정보 동기화 장치 및 방법 |
CN114553423B (zh) * | 2022-04-27 | 2022-07-29 | 南京大学 | 一种去中心化量子拜占庭共识方法 |
CN115150103B (zh) * | 2022-08-29 | 2022-11-29 | 人民法院信息技术服务中心 | 基于区块链的数字凭证离线验证方法、装置及设备 |
CN116629871B (zh) * | 2023-07-21 | 2023-10-17 | 济南正浩软件科技有限公司 | 一种订单线上支付系统及支付方法 |
CN116996628B (zh) * | 2023-09-26 | 2023-12-08 | 宜兴启明星物联技术有限公司 | 一种网络数据传输防护方法 |
CN117252234B (zh) * | 2023-11-16 | 2024-03-01 | 之江实验室 | 一种基于非合作博弈的策略生成方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2013031124A1 (ja) * | 2011-08-26 | 2015-03-23 | パナソニック株式会社 | 端末装置、検証装置、鍵配信装置、コンテンツ再生方法、鍵配信方法及びコンピュータプログラム |
JP5858507B1 (ja) * | 2015-05-18 | 2016-02-10 | 株式会社Orb | 仮想通貨管理プログラム、及び仮想通貨管理方法 |
JP2017091149A (ja) * | 2015-11-09 | 2017-05-25 | 日本電信電話株式会社 | ブロックチェーン生成装置、ブロックチェーン生成方法、ブロックチェーン検証装置、ブロックチェーン検証方法およびプログラム |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7827401B2 (en) * | 1995-10-02 | 2010-11-02 | Corestreet Ltd. | Efficient certificate revocation |
CA2267042A1 (en) * | 1999-03-26 | 2000-09-26 | Rdm Corporation | Method and system for local electronic bill presentment and payment ebpp |
JP2002014929A (ja) * | 2000-04-26 | 2002-01-18 | Sony Corp | アクセス制御システム、アクセス制御方法、およびデバイス、アクセス制御サーバ、アクセス制御サーバ登録サーバ、データ処理装置、並びにプログラム記憶媒体 |
US20040199475A1 (en) * | 2001-04-27 | 2004-10-07 | Rivest Ronald L. | Method and system for micropayment transactions |
US7797457B2 (en) | 2006-03-10 | 2010-09-14 | Microsoft Corporation | Leaderless byzantine consensus |
CN102017510B (zh) * | 2007-10-23 | 2013-06-12 | 赵运磊 | 自封闭联合知识证明和Diffie-Hellman密钥交换方法与结构 |
CN101330386A (zh) * | 2008-05-19 | 2008-12-24 | 刘洪利 | 基于生物特征的认证系统及其身份认证方法 |
US20150220914A1 (en) * | 2011-08-18 | 2015-08-06 | Visa International Service Association | Electronic Wallet Management Apparatuses, Methods and Systems |
CN102957714B (zh) * | 2011-08-18 | 2015-09-30 | 招商银行股份有限公司 | 一种分布式计算机系统及运行方法 |
IL216162A0 (en) * | 2011-11-06 | 2012-02-29 | Nds Ltd | Electronic content distribution based on secret sharing |
US10354325B1 (en) * | 2013-06-28 | 2019-07-16 | Winklevoss Ip, Llc | Computer-generated graphical user interface |
FR3018370A1 (fr) * | 2014-03-07 | 2015-09-11 | Enrico Maim | Procede et systeme de generation automatique de crypto-monnaies |
US11270298B2 (en) | 2014-04-14 | 2022-03-08 | 21, Inc. | Digital currency mining circuitry |
US20160098723A1 (en) * | 2014-10-01 | 2016-04-07 | The Filing Cabinet, LLC | System and method for block-chain verification of goods |
GB201511964D0 (en) * | 2015-07-08 | 2015-08-19 | Barclays Bank Plc | Secure digital data operations |
GB201511963D0 (en) * | 2015-07-08 | 2015-08-19 | Barclays Bank Plc | Secure digital data operations |
CN105488675B (zh) * | 2015-11-25 | 2019-12-24 | 布比(北京)网络技术有限公司 | 一种区块链的分布式共享总账构建方法 |
-
2017
- 2017-05-04 WO PCT/US2017/031037 patent/WO2017192837A1/en unknown
- 2017-05-04 MA MA044883A patent/MA44883A/fr unknown
- 2017-05-04 KR KR1020227019913A patent/KR20220088507A/ko not_active Application Discontinuation
- 2017-05-04 US US16/096,107 patent/US20190147438A1/en not_active Abandoned
- 2017-05-04 JP JP2018557931A patent/JP6986519B2/ja active Active
- 2017-05-04 SG SG11201809648QA patent/SG11201809648QA/en unknown
- 2017-05-04 CA CA3020997A patent/CA3020997A1/en not_active Abandoned
- 2017-05-04 CN CN202211063028.0A patent/CN115660675A/zh active Pending
- 2017-05-04 CN CN201780029726.XA patent/CN109196538A/zh active Pending
- 2017-05-04 SG SG10202008168XA patent/SG10202008168XA/en unknown
- 2017-05-04 CN CN202011339616.3A patent/CN112541757A/zh active Pending
- 2017-05-04 AU AU2017260013A patent/AU2017260013A1/en not_active Abandoned
- 2017-05-04 EP EP17793332.2A patent/EP3452975A4/en not_active Withdrawn
- 2017-05-04 RU RU2018142270A patent/RU2018142270A/ru unknown
- 2017-05-04 KR KR1020187035067A patent/KR102409819B1/ko active IP Right Grant
- 2017-05-04 EP EP20201161.5A patent/EP3896638A1/en not_active Withdrawn
-
2018
- 2018-10-28 IL IL262638A patent/IL262638B/en unknown
-
2021
- 2021-11-29 JP JP2021193208A patent/JP2022031817A/ja active Pending
- 2021-12-23 IL IL289298A patent/IL289298A/en unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2013031124A1 (ja) * | 2011-08-26 | 2015-03-23 | パナソニック株式会社 | 端末装置、検証装置、鍵配信装置、コンテンツ再生方法、鍵配信方法及びコンピュータプログラム |
JP5858507B1 (ja) * | 2015-05-18 | 2016-02-10 | 株式会社Orb | 仮想通貨管理プログラム、及び仮想通貨管理方法 |
JP2017091149A (ja) * | 2015-11-09 | 2017-05-25 | 日本電信電話株式会社 | ブロックチェーン生成装置、ブロックチェーン生成方法、ブロックチェーン検証装置、ブロックチェーン検証方法およびプログラム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7530175B2 (ja) | 2019-01-15 | 2024-08-07 | フィッシャー-ローズマウント システムズ,インコーポレイテッド | ブロックチェーンベースの自動化アーキテクチャサイバーセキュリティ |
JP7551222B2 (ja) | 2021-02-07 | 2024-09-17 | ▲騰▼▲訊▼科技(深▲セン▼)有限公司 | ブロックチェーンネットワークに基づくデータ処理方法、装置及びコンピュータ機器 |
Also Published As
Publication number | Publication date |
---|---|
EP3452975A1 (en) | 2019-03-13 |
AU2017260013A2 (en) | 2020-12-10 |
IL262638A (en) | 2018-12-31 |
CN109196538A (zh) | 2019-01-11 |
RU2018142270A (ru) | 2020-06-04 |
CN115660675A (zh) | 2023-01-31 |
WO2017192837A1 (en) | 2017-11-09 |
IL289298A (en) | 2022-02-01 |
KR20220088507A (ko) | 2022-06-27 |
SG10202008168XA (en) | 2020-09-29 |
CA3020997A1 (en) | 2017-11-09 |
JP2022031817A (ja) | 2022-02-22 |
JP6986519B2 (ja) | 2021-12-22 |
US20190147438A1 (en) | 2019-05-16 |
IL262638B (en) | 2022-02-01 |
EP3896638A1 (en) | 2021-10-20 |
KR102409819B1 (ko) | 2022-06-16 |
RU2018142270A3 (ja) | 2020-08-20 |
CN112541757A (zh) | 2021-03-23 |
KR20190005915A (ko) | 2019-01-16 |
EP3452975A4 (en) | 2020-04-15 |
MA44883A (fr) | 2021-03-24 |
AU2017260013A1 (en) | 2018-12-20 |
SG11201809648QA (en) | 2018-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6986519B2 (ja) | 分散型トランザクション伝播および検証システム | |
Zaghloul et al. | Bitcoin and blockchain: Security and privacy | |
US11861606B2 (en) | Blockchain system for confidential and anonymous smart contracts | |
Wang et al. | A survey on consensus mechanisms and mining strategy management in blockchain networks | |
JP7203829B2 (ja) | ブロックチェーンでエンティティにより提供されるデータの通信、保存、及び処理のためのシステム及び方法 | |
Kaur et al. | Blockchain: A path to the future | |
Gayvoronskaya et al. | Blockchain | |
UA128523C2 (uk) | Спосіб генерування транзакції блокчейну і спосіб перевірки дійсності блока блокчейну | |
CN110298641B (zh) | 区块链的规则更新方法、装置、区块链节点及网络 | |
JP2020536473A (ja) | メッセージ信任ブロックチェーン | |
CN115485042A (zh) | 使用区块链的可证明公平的游戏 | |
CN116113921A (zh) | 区块链上的伪随机选择 | |
Li et al. | Cryptoeconomics: Economic Mechanisms Behind Blockchains | |
Clark et al. | Research perspectives and challenges for bitcoin and cryptocurrencies | |
TW202402009A (zh) | 所有權證明之技術 | |
JP2021507629A (ja) | 高速且つ分割耐性を有するブロックチェーン | |
Fekkes et al. | Comparing Bitcoin and Ethereum | |
EhabZaghloul et al. | Bitcoin and blockchain: Security and privacy | |
Yen | The Oracle Problem: Unlocking the Potential of Blockchain | |
KR102465466B1 (ko) | 블록체인의 오라클 문제를 보완한 did 기반의 사용자 인증 시스템 | |
KR102717970B1 (ko) | 분산 조정을 사용한 스마트 계약 실행 | |
RU2791865C2 (ru) | Способ генерирования транзакции блокчейна и способ проверки действительности блока блокчейна | |
Appelbaum | Consensus Mechanisms and Related Issues | |
Conley | The Geeq Project Technical Paper | |
Koscina | Security and optimization of blockchains and associated algorithms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190130 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190115 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20200129 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20200129 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200501 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201029 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210528 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210611 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20210903 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210930 |
|
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: 20211105 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211129 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6986519 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |