JP2024098060A - 複数のストレージノードにわたる大きいブロックチェーンのセキュアな記憶を可能にする、コンピュータにより実現されるシステム及び方法 - Google Patents
複数のストレージノードにわたる大きいブロックチェーンのセキュアな記憶を可能にする、コンピュータにより実現されるシステム及び方法 Download PDFInfo
- Publication number
- JP2024098060A JP2024098060A JP2024081503A JP2024081503A JP2024098060A JP 2024098060 A JP2024098060 A JP 2024098060A JP 2024081503 A JP2024081503 A JP 2024081503A JP 2024081503 A JP2024081503 A JP 2024081503A JP 2024098060 A JP2024098060 A JP 2024098060A
- Authority
- JP
- Japan
- Prior art keywords
- node
- secret
- point
- nodes
- group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000004044 response Effects 0.000 claims abstract description 15
- 238000004891 communication Methods 0.000 claims description 14
- 230000006870 function Effects 0.000 description 27
- 125000004122 cyclic group Chemical group 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000013515 script Methods 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005315 distribution function Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000135 prohibitive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000010200 validation analysis Methods 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/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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30029—Logical and Boolean instructions, e.g. XOR, NOT
-
- 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
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- 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/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- 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/3271—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 challenge-response
-
- 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/3297—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 time stamps, e.g. generation of time stamps
-
- 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/40—Network security protocols
-
- 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
-
- 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
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Finance (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Power Engineering (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Storage Device Security (AREA)
Abstract
【課題】 複数のストレージノードにわたる大きいブロックチェーンのセキュアな記憶を提供する。【解決手段】 (i)ストレージノードが公開ブロックチェーンを維持することに対して報酬を与えられることを可能にし、(ii)プルーフオブブロックチェーンストレージ(PoBS)スキームを用いてブロックチェーンの完全性を立証するプロトコルが説明される。このプロトコルは、チャレンジレスポンス方法を使用してリモートのサーバに記憶されたデータファイルが損なわれていないかを暗号でチェックする方法を提供する。このプロトコルは、中間者攻撃に対して安全にされる。悪意のあるピアは、データを記憶している第三者にチャレンジを渡してレスポンスを返すことができない。該スキームは、公に立証可能でもある。【選択図】 図1
Description
本明細書は、概して、ブロックチェーンネットワークのノードにおける実装に適したコンピュータにより実現される方法及びシステムに関する。多数のトランザクション及び大きいトランザクションブロックを扱うための修正されたブロックチェーンノード構造、ネットワークアーキテクチャ、及びプロトコルが説明される。本発明は、これに限られないが、ビットコインブロックチェーンで使用するのに特に適する。
本文献では、用語「ブロックチェーン」を用いて、電子的なコンピュータベースの分散台帳の全ての形態を含める。これらには、ブロックチェーン及びトランザクションチェーン技術、許可あり(permissioned)及び許可なし(un-permissioned)台帳、共有台帳、及びこれらの変形が含まれるが、これらに限られない。ブロックチェーン技術の最も広く知られている適用はビットコイン(登録商標)台帳であるが、他のブロックチェーン実装が提案され、開発されている。本明細書では、簡便さ及び例示の目的でビットコインが参照されることがあるが、本発明はビットコインブロックチェーンでの使用に限定されず、代替的なブロックチェーンの実装及びプロトコルが本発明の範囲内に入ることに留意されたい。
ブロックチェーンは合意に基づく電子台帳であり、これは、ブロックから構成されるコンピュータベースの非中央集権的な分散システムとして実現され、同様に、ブロックはトランザクション及び他の情報から構成される。ビットコインの場合、各トランザクションは、ブロックチェーンシステム内の参加者間のデジタル資産の制御の移転を符号化するデータ構造であり、少なくとも1つのインプット及び少なくとも1つのアウトプットを含む。各ブロックは前のブロックのハッシュを含み、それにより、ブロックが一緒にチェーン化されて、ブロックチェーンの開始以降にそれに書き込まれた全てのトランザクションの永続的で改変不可能なレコードを作成する。トランザクションは、そのインプット及びアウトプットに埋め込まれたスクリプトとして知られる小さいプログラムを含み、これは、トランザクションのアウトプットに如何にして及び誰がアクセスできるかを指定する。ビットコインプラットフォームでは、これらのスクリプトはスタックベースのスクリプト言語を使用して書かれる。
トランザクションがブロックチェーンに書き込まれるためには、それは「検証され」なければならない。いくつかのネットワークノードが、マイナーとして動作し、作業を実行して各トランザクションが有効であることを保証し、無効なトランザクションはネットワークから拒否される。例えば、ノードにインストールされたソフトウェアクライアントは、未使用トランザクションアウトプット(unspent transaction、UTXO)を参照するトランザクションに対してこの検証作業を実行する。検証は、そのロック及びロック解除スクリプトを実行することにより行われてもよい。ロック及びロック解除スクリプトの実行がTRUEの評価である場合、及び特定の他の条件が満たされる場合、トランザクションは有効であり、トランザクションはブロックチェーンに書き込まれてもよい。ゆえに、トランザクションがブロックチェーンに書き込まれるためには、それは、i)トランザクションを受信したノードにより検証され、トランザクションが検証された場合、ノードはそれをネットワーク内の他のノードに中継する、ii)マイナーにより構築された新しいブロックに追加される、iii)マイニングされる、すなわち過去のトランザクションの公開台帳に追加される、がなされなければならない。トランザクションは、十分な数のブロックがブロックチェーンに追加されてトランザクションを事実上不可逆にしたとき、確認されたと考えられる。
ブロックチェーン技術は、暗号通貨実装の使用に対して最も広く知られているが、デジタル起業家は、新しいシステムを実現するために、ビットコインが基礎とする暗号セキュリティシステムとブロックチェーンに記憶できるデータとの双方の使用を探求し始めている。ブロックチェーンが暗号通貨で表される支払いに純粋に限定されない自動化されたタスク及び処理に使用できる場合、かなり有利であろう。このような解決策は、その適用においてより多目的に使用できると同時に、ブロックチェーンの利点(例えば、イベントの永続的な改ざん防止のレコード、分散処理等)を利用することができる。
研究の1つの分野は、「スマートコントラクト」の実装のためのブロックチェーンの使用である。これらは、マシン読取可能な契約又は同意の条件の履行を自動化するように設計されたコンピュータプログラムである。自然言語で書かれる従来の契約と異なり、スマートコントラクトは、インプットを処理して結果を生成することができるルールを含むマシン実行可能プログラムであり、これは次いで、これら結果に依存してアクションを実行させることができる。
ブロックチェーン関連の関心のある別の領域は、ブロックチェーンを介して実世界のエンティティを表現及び移転するための「トークン」(又は「カラードコイン(coloured coins)」)の使用である。潜在的に機密又は秘密のアイテムは、認識可能な意味又は値を有さないトークンにより表現できる。ゆえに、トークンは、実世界のアイテムがブロックチェーンから参照されることを可能にする識別子として機能する。
ブロックチェーンベースの暗号通貨の健全性を測定するための重要な要素の1つは、ブロックチェーンを実際に記憶しているノードの数である。ブロックチェーンは、秒あたりのトランザクション数に従って成長する。しかし、暗号通貨が普及すると、秒あたりの支払い数は増加し、ブロックチェーンの成長率も増加する。次いで、記憶コストが法外に高くなる。
ゆえに、1つの技術的な問題は、ブロックチェーンネットワークがかなり大きいブロックチェーンを記憶するよう適合されるように、ブロックチェーンネットワークを再構成する方法である。さらなる技術的な問題は、ブロックチェーンネットワーク上のすべてのノードにそのようなかなり大きいブロックチェーンを記憶することを求めずに、これを達成する方法である。また、さらなる技術的な問題は、専門化されたストレージノードが、それらがそのようなかなり大きいブロックチェーンの少なくとも一部分を記憶していることを証明できるように、ブロックチェーンネットワークを再構成する方法である。また、さらなる技術的な問題は、専門化されたストレージノードがそのようなかなり大きいブロックチェーンの少なくとも一部分を記憶するよう動機づけされるように、ブロックチェーンネットワークを再構成する方法である。
本発明の一目的は、本明細書に記載される技術的解決策を提供することにより、これらの技術的問題に対処することである。詳細には、本明細書は、(i)ストレージノードが公開ブロックチェーンを維持することに対して報酬を与えられることを可能にし、(ii)プルーフオブブロックチェーンストレージ(PoBS)スキームを用いてブロックチェーンの完全性を立証するプロトコルを説明する。このプロトコルは、チャレンジレスポンス方法を使用してリモートのサーバに記憶されたデータファイルが損なわれていないかを暗号でチェックする方法を提供する。このプロトコルは、中間者攻撃に対して安全にされる。悪意のあるピアは、データを記憶している第三者にチャレンジを渡してレスポンスを返すことができない。該スキームは、公に立証可能でもある。
本発明の実施形態は、様々な形式で提供できる。例えば、コンピュータ実行可能命令を含むコンピュータ読取可能記憶媒体を提供でき、該コンピュータ実行可能命令は、実行されたときに、本明細書に記載される方法を実行するように1つ以上のプロセッサを構成する。また、インターフェースデバイスと、インターフェースデバイスに結合された1つ以上のプロセッサと、1つ以上のプロセッサに結合されたメモリであり、該メモリは、コンピュータ実行可能命令を記憶し、該コンピュータ実行可能命令は、実行されたとき、本明細書に記載される方法を実行するように1つ以上のプロセッサを構成する、メモリと、を含む電子デバイスを提供できる。さらに、ブロックチェーンネットワークのノードを提供でき、ノードは、本明細書に記載される方法を実行するように構成される。
本発明のこれら及び他の態様が、本明細書に記載した実施形態から明らかであり、それらを参照して明らかにされるであろう。次に、本発明の一実施形態が、単なる例として、添付の図面を参照して説明される。
プルーフオブブロックチェーンストレージ(PoBS)プロトコルのステップ1を例示する図を示す。
プルーフオブブロックチェーンストレージ(PoBS)プロトコルにおけるステップ3を例示する図を示す。
分布関数f(T)を釣鐘状曲線の形式で示す。
プルーフオブブロックチェーンストレージ(PoBS)プロトコルで使用されるトランザクションの一例を示す。
プルーフオブブロックチェーンストレージ(PoBS)プロトコルにおけるランダムオラクルの使用を示す。
発明の概要セクションに記載されるように、ブロックチェーンは、秒あたりのトランザクション数に従って成長する。しかし、暗号通貨が普及すると、秒あたりの支払い数は増加し、ブロックチェーンの成長率も増加する。次いで、記憶コストが法外に高くなる。
(i)ストレージノードが公開ブロックチェーンを維持することに対して報酬を与えられることを可能にし、(ii)プルーフオブブロックチェーンストレージ(Proof-of-Blockchain Storage、PoBS)スキームを用いてブロックチェーンの完全性を立証するプロトコルを我々は説明する。このプロトコルは、チャレンジレスポンス方法を使用してリモートのサーバに記憶されたデータファイルが損なわれていないかを暗号でチェックする方法を提供する。このプロトコルは、中間者攻撃に対して安全にされる。悪意のあるピアは、データを記憶している第三者にチャレンジを渡してレスポンスを返すことができない。該スキームは、公に立証可能でもある。
システムが提供され、(例えば)マイナーにより実行され、これにおいて、(例えば)毎分、各マイナーがブロックチェーンからランダムに取引をサンプリングする(マイナーは必ずしも同期されない)。
ブロックチェーンネットワークのノードのための、コンピュータにより実現される方法が提供され、当該コンピュータにより実現される方法は、
ブロックチェーンから、プルーフオブストレージがチャレンジされる(challenged)べき1つ以上のトランザクションを選択するステップであり、上記選択された1つ以上のトランザクションはトランザクション深さを有する、ステップと、
プルーフオブストレージがチャレンジされるべき上記1つ以上の選択されたブロックチェーントランザクションを示すプルーフオブブロックチェーンストレージトランザクションと、上記1つ以上の選択されたトランザクションを記憶するストレージノードによりロック解除できるプルーフオブブロックチェーンストレージ報酬とを作成するステップと、
上記プルーフオブブロックチェーンストレージトランザクションを上記ブロックチェーンネットワーク上の1つ以上のストレージノードに送信するステップと、
を含む。
ブロックチェーンから、プルーフオブストレージがチャレンジされる(challenged)べき1つ以上のトランザクションを選択するステップであり、上記選択された1つ以上のトランザクションはトランザクション深さを有する、ステップと、
プルーフオブストレージがチャレンジされるべき上記1つ以上の選択されたブロックチェーントランザクションを示すプルーフオブブロックチェーンストレージトランザクションと、上記1つ以上の選択されたトランザクションを記憶するストレージノードによりロック解除できるプルーフオブブロックチェーンストレージ報酬とを作成するステップと、
上記プルーフオブブロックチェーンストレージトランザクションを上記ブロックチェーンネットワーク上の1つ以上のストレージノードに送信するステップと、
を含む。
本方法は、ブロックチェーンネットワーク上のマイナーがブロックチェーンネットワーク上のストレージノードにチャレンジして、これらがブロックチェーン又はその少なくとも一部を記憶していることを証明できる手段を提供する。
上記1つ以上の選択されたブロックチェーントランザクションは、上記ブロックチェーンにおける上記1つ以上のトランザクションの深さに対応するトランザクション深さdを有し、上記プルーフオブブロックチェーンストレージ報酬は、上記トランザクション深さdに従って設定でき、それにより、上記トランザクション深さdがより大きいほど上記報酬がより大きい。
この特徴は、ストレージノードがブロックチェーンのうちより多くを記憶するよう奨励し、なぜならば、これらは、より深いトランザクションを記憶することに対してより大きい報酬を受けるからである。
上記1つ以上のブロックチェーントランザクションは上記ブロックチェーンからランダムに選択できる。ブロックチェーントランザクションのリストが選択されてもよい。ランダムな選択を導入することは、システムのセキュリティを増大させることに役立つ。セキュリティは、上記1つ以上のトランザクションが上記ブロックチェーン上で複数の確認(confirmations)を受信した1つ以上のブロックから選択されることを保証することにより、さらに向上する。
上記プルーフオブブロックチェーンストレージトランザクションは、上記ブロックチェーン上に記憶されるべき新たにマイニングされたブロックに関連づけられたデータを含むことができる。上記新たにマイニングされたブロックに関連づけられた上記データは、例えば、上記新たにマイニングされたブロックのブロックヘッダデータであり得る。そのようなものとして、マイナーは、それらがストレージノード上への記憶の準備ができた新たにマイニングされたブロックを有するとき、ブロックチェーン上のストレージノードにチャレンジすることができ、チャレンジは、記憶されるべき新たにマイニングされたブロックに関連づけられる。
新たにマイニングされたブロックに関連づけられた上記データは、上記ブロックチェーンから選択された上記1つ以上のブロックチェーントランザクションに関連づけられたデータと組み合わせられ得る。例えば、上記新たにマイニングされたブロックに関連づけられた上記データは、XOR演算又は連結により、上記ブロックチェーンから選択された上記1つ以上のブロックチェーントランザクションに関連づけられた上記データと組み合わせられ得る。さらに、上記プルーフオブブロックチェーンストレージトランザクションは、
上記1つ以上の選択されたブロックチェーントランザクションに関連づけられたデータの暗号関数、
上記1つ以上の選択されたブロックチェーントランザクションに関連づけられたデータと組み合わせられた新たにマイニングされたブロックに関連づけられたデータの暗号関数、
のうち1つを含むことができる。
上記1つ以上の選択されたブロックチェーントランザクションに関連づけられたデータの暗号関数、
上記1つ以上の選択されたブロックチェーントランザクションに関連づけられたデータと組み合わせられた新たにマイニングされたブロックに関連づけられたデータの暗号関数、
のうち1つを含むことができる。
このような特徴は、報酬をロック解除するために1つ以上の選択されたブロックチェーントランザクションを所有するストレージノードにより算出できる暗号関数をセットアップする。
上記プルーフオブブロックチェーンストレージトランザクションは、上記ブロックチェーンネットワーク上の上記1つ以上のストレージノードに関連づけられた1つ以上のブロックチェーンネットワークアドレスをさらに含む。これらのアドレスは、認定されたブロックチェーンネットワークアドレスでもよく、認定は、(後により詳細に説明されるように)システムのセキュリティを増大させるために、秘密鍵シェアスキームを介して達成される。
当該方法は、上記1つ以上の選択されたブロックチェーントランザクションの識別番号を含むチャレンジプレフィックスを生成するステップ、をさらに含むことができ、上記チャレンジプレフィックス及び上記プルーフオブブロックチェーンストレージトランザクションは、上記ブロックチェーンネットワーク上の上記1つ以上のストレージノードに送信できる。チャレンジプレフィックスは、1つ以上のストレージノードにより、そのブロックチェーンのコピーから1つ以上の選択されたブロックチェーントランザクションを識別及び抽出するために使用できる。システムのセキュリティをさらに増大させるために、ランダムオラクルが使用されて、上記チャレンジプレフィックス、及び、上記1つ以上の選択されたブロックチェーントランザクションに関連づけられたデータの暗号関数と上記1つ以上の選択されたブロックチェーントランザクションに関連づけられたデータと組み合わせられた新たにマイニングされたブロックに関連づけられたデータの暗号関数とのうち1つを生成することができる。上記チャレンジプレフィックスは、完全性及び認証に対するデジタル署名を添えられてもよく、あるいは、チャレンジプレフィックスメッセージが、非トランザクションフィールドでストレージノードに送信されてもよい。
上記プルーフオブブロックチェーンストレージトランザクションを受信すると、上記1つ以上のストレージノードは、それらノードに記憶された上記1つ以上の選択されたブロックチェーントランザクションにアクセスし、上記報酬をロック解除するために上記1つ以上の選択されたブロックチェーントランザクションを使用することができる。例えば、前に説明された例に続き、上記報酬は、
上記1つ以上の選択されたブロックチェーントランザクションに関連づけられたデータの暗号関数、
上記1つ以上の選択されたブロックチェーントランザクションに関連づけられたデータと組み合わせられた新たにマイニングされたブロックに関連づけられたデータの暗号関数、
のうち1つを算出することによりロック解除できる。
上記1つ以上の選択されたブロックチェーントランザクションに関連づけられたデータの暗号関数、
上記1つ以上の選択されたブロックチェーントランザクションに関連づけられたデータと組み合わせられた新たにマイニングされたブロックに関連づけられたデータの暗号関数、
のうち1つを算出することによりロック解除できる。
コンピュータ実行可能命令を含むコンピュータ読取可能記憶媒体が提供されてもよく、上記コンピュータ実行可能命令は、実行されたときに、本明細書に記載の方法を実行するように1つ以上のプロセッサを構成する。
電子デバイスがさらに提供されてもよく、当該電子デバイスは、
インターフェースデバイスと、
上記インターフェースデバイスに結合された1つ以上のプロセッサと、
上記1つ以上のプロセッサに結合されたメモリであり、上記メモリは、コンピュータ実行可能命令を記憶し、上記コンピュータ実行可能命令は、実行されたときに、本明細書に記載の方法を実行するように上記1つ以上のプロセッサを構成する、メモリと、
を含む。
インターフェースデバイスと、
上記インターフェースデバイスに結合された1つ以上のプロセッサと、
上記1つ以上のプロセッサに結合されたメモリであり、上記メモリは、コンピュータ実行可能命令を記憶し、上記コンピュータ実行可能命令は、実行されたときに、本明細書に記載の方法を実行するように上記1つ以上のプロセッサを構成する、メモリと、
を含む。
またさらに、ブロックチェーンネットワークのノードが提供でき、当該ノードは、本明細書に記載の方法を実行するように構成される
次に、プルーフオブブロックチェーンストレージプロトコルの一例が説明される。このセクションでは、我々は、
と書いて、元xが集合Xからランダムにサンプリングされることを表す。我々は時に、y:=A(x)と書いて、インプットxに対するアルゴリズムAの実行の決定的結果を表す。文字列連結は縦棒(||)で表される。XOR演算はシンボル(
)で表される。ブロックチェーントランザクションの集合はシンボルBで表される。
[各マイナーにより実行されるプロトコル]
1.時間τにおいて、ランダムに選ばれたトランザクションの集合がブロックチェーンから選定される(図1)。トランザクションのリストがローカルに記憶される(GenList機能)。
2.新しいブロックの成功裏のマイニングにおいて、成功したマイナーは多くのチャレンジを作成する(GenChal機能)。チャレンジ収益、すなわち$R:=GetRew(d)が算出され、dはトランザクション深さ(transaction depth)である。
3.マイナーは、プルーフオブストレージ(proof of storage)に関連づけられたチャレンジを含むコインベーストランザクションを含む新たにマイニングされたブロックデータをブロードキャストする(図2)。
1.時間τにおいて、ランダムに選ばれたトランザクションの集合がブロックチェーンから選定される(図1)。トランザクションのリストがローカルに記憶される(GenList機能)。
2.新しいブロックの成功裏のマイニングにおいて、成功したマイナーは多くのチャレンジを作成する(GenChal機能)。チャレンジ収益、すなわち$R:=GetRew(d)が算出され、dはトランザクション深さ(transaction depth)である。
3.マイナーは、プルーフオブストレージ(proof of storage)に関連づけられたチャレンジを含むコインベーストランザクションを含む新たにマイニングされたブロックデータをブロードキャストする(図2)。
次に、PoBS構築で使用される機能を我々は定義する。
前処理(PrePROCESSING):トランザクション深さdに対して演算するPoBS報酬関数Rewを設定する。トランザクションTがブロックチェーン内でより深いほど、PoBS報酬はより高い。
GetReward機能:
Rewを報酬関数とする。深さdを受信すると、
GetReward(d):
1.Return Rew(d)
Rewを報酬関数とする。深さdを受信すると、
GetReward(d):
1.Return Rew(d)
セットアップ(SETUP):(i)新たにマイニングされたもののブロックヘッダHeadと、(ii)確認されたトランザクションのリストLと、を保持するマイナーMを所与として、Mは、チャレンジChalを生成し、該チャレンジは、とりわけ、Mが所有の証明(proof of possession)を望む特定のトランザクションT∈Lを示す。トランザクションは、複数の確認を受けたブロックに記録される。
GenChal機能:
前に定義されたように、Headをブロックヘッダとし、Lを確認されたトランザクションのリストとし、Hを暗号ハッシュ関数とする。dをトランザクションの深さ(ブロック又はその後の確認の数)とする。GenChal(Head,L)機能は、以下のように定義される。
GenChal(Head,L):
前に定義されたように、Headをブロックヘッダとし、Lを確認されたトランザクションのリストとし、Hを暗号ハッシュ関数とする。dをトランザクションの深さ(ブロック又はその後の確認の数)とする。GenChal(Head,L)機能は、以下のように定義される。
GenChal(Head,L):
上記では、分布関数f(T)の形状を我々は示さなかったことに留意されたい。関数は一様であってもよく、あるいは釣鐘状曲線に従ってもよい(図3参照)。
コインベースTXの準備(PREPARE COINBASE TX):Mは、コインベーストランザクションを、Chalとストレージノードの受領者ビットコインアドレスとを使用して完了する。例示の目的で、簡素な例が図4に与えられる。
チャレンジ(CHALLENGE):Mは、トランザクション識別番号を含むチャレンジプレフィックスpref=Tidを生成する。そのメッセージは、(i)完全性及び認証に対するデジタル署名を添えられてもよく、あるいは(ii)非トランザクションフィールドに、例えば、OP_RETURNの後に含まれもよい。Mは、pref及びchalをストレージノードSに送信する。Chalを受信すると、サーバは、彼/彼女が資金をロック解除することを可能にするH(Head||T)を計算する。
上述された手法は、プロトコルにランダムオラクル(random oracle)を追加することからの恩恵を受けることもできる。ランダムオラクルは、あらゆるクエリに対して、(正直者を表す)ランダムに選ばれたレスポンスで応答するオラクルである。このシナリオでは、マイナーMは、ブロックヘッダHeadについてランダムオラクル(RO)にクエリする。Headを受信すると、ROは、あらゆるクエリに対して、真にランダムなレスポンスH(Head||T)、pref=Tidで応答する(図5参照)。
[認定されたビットコインアドレス]
さらに、認定されたビットコインアドレスを使用して、セキュリティの目的でマイナーとストレージノードとの間の共謀を防止することを我々は提案する。この点に関して、非中央集権的なピアツーピアシステムにおける挑戦の1つは、ノードが信頼ベースでネットワーク内の別のノードと通信できることを保証することである。いくつかの実装のネットワークアーキテクチャが進化したとき、いくつかのノードは、より専門化されたタスクを引き受ける可能性があり、他のノードは、(前に記載されたような)特定のデータのソースとして又は特定の機能の実行者としてこれらの専門化されたノードに依存する可能性がある。ノードが、情報のために又は正当なソースとして別のノードに依存しようとする場合、それは、そのノードと通信するために信頼された関係を確立できる必要がある。複数のノードが異なる役割を有する可能性がある場合、ノードの役割を決定及び立証するメカニズムを有することが有利である。さらに、ノードが違法又は悪意があることが判明した場合、他のノードがそれを覚えておき、そのようなノードからの将来の通信を無視することが可能であるべきである。ピアツーピアシステムでは、中央の権限を課すことによりシステムのピアツーピアの性質を妥協することなく、これらの問題を解決することが挑戦である。
さらに、認定されたビットコインアドレスを使用して、セキュリティの目的でマイナーとストレージノードとの間の共謀を防止することを我々は提案する。この点に関して、非中央集権的なピアツーピアシステムにおける挑戦の1つは、ノードが信頼ベースでネットワーク内の別のノードと通信できることを保証することである。いくつかの実装のネットワークアーキテクチャが進化したとき、いくつかのノードは、より専門化されたタスクを引き受ける可能性があり、他のノードは、(前に記載されたような)特定のデータのソースとして又は特定の機能の実行者としてこれらの専門化されたノードに依存する可能性がある。ノードが、情報のために又は正当なソースとして別のノードに依存しようとする場合、それは、そのノードと通信するために信頼された関係を確立できる必要がある。複数のノードが異なる役割を有する可能性がある場合、ノードの役割を決定及び立証するメカニズムを有することが有利である。さらに、ノードが違法又は悪意があることが判明した場合、他のノードがそれを覚えておき、そのようなノードからの将来の通信を無視することが可能であるべきである。ピアツーピアシステムでは、中央の権限を課すことによりシステムのピアツーピアの性質を妥協することなく、これらの問題を解決することが挑戦である。
ゆえに、自律的な専門化されたノードのグループから要求ノードへのクレデンシャルのセキュアな配布を管理する方法及びデバイスを提供できる。クレデンシャルのセキュアな配布は、秘密シェア(secret share)と、ノードのいずれも再構築又は所有しないグループ秘密鍵とを使用してもよい。クレデンシャルは、要求ノードの識別子と、秘密点(secret point)とを含み、ノードは、該秘密点を、複数の専門化されたノードの各々により提供される秘密点の部分から組み立て、秘密点は、グループ秘密鍵と、要求ノードの識別子のマップツーポイント(map-to-point)ハッシュとに基づく。ノードは、いくつかの実装においてブロックチェーンノードであってもよい。
2つのノードが、自律的な専門化されたノードのグループにより認定されているとして、グループを伴うこと又は中央集権的な認定管理者若しくは承認者を伴うことなく互いを認証することができる。この方法は、第1のノード及び第2のノードがそのそれぞれの識別子及び秘密点を伴う双線形ペアリング演算を使用して同じ鍵を導出することを伴ってもよい。秘密点及び識別子がグループ秘密鍵を使用してグループから取得されたという条件で、双線形ペアリング演算は、2つのノードの各々における同じ鍵の生成をもたらし、それにより、そのそれぞれのクレデンシャルを認証し、2つのノード間の信頼された通信を可能にする。
ノードは、専門化されたノードのグループからクレデンシャルを取得することができ、専門化されたノードの各々は、グループ秘密鍵の秘密鍵シェアを有する。この方法は、ノードから複数の専門化されたノードにクレデンシャルの要求を送信することであり、ノードは識別子を有する、ことと、複数の専門化されたノード内の各ノードから、識別子とそのノードの秘密鍵シェアとからそのノードにより生成された秘密点の一部分を受信することと、秘密点の受信部分を組み合わせることにより秘密点を生成することと、を含んでもよく、秘密点は、グループ秘密鍵に識別子のマップツーポイントハッシュを掛けたもの(times)であり、クレデンシャルは、識別子及び秘密点である。専門化されたノード又はノードのいずれも、グループ秘密鍵の完全なコピーを取得するよう求められなくてもよい。
いくつかの実装において、要求を送信することは、複数の専門化されたノードの各々に別個の要求を送信することを含んでもよい。識別子は、ノードを識別する識別子文字列と、専門化されたノードのグループの役割を識別する役割文字列とを含んでもよい。いくつかの場合、識別子は、クレデンシャルの満了時間をさらに含み、いくつかのさらなる場合、要求を送信することは、識別子文字列を送信することを含み、受信することは、識別子を受信することを含む。
いくつかの実装において、秘密点を生成することは、秘密点の受信部分を組み合わせることを含む。組み合わせることは、いくつかの例示的な実装において合計することを含んでもよい。
いくつかの実装において、秘密点は秘密シェアを使用して生成され、グループ秘密鍵に基づく。これらの場合のいくつかにおいて、秘密シェアは、グループ秘密鍵を再構築することなく、ラグランジュ補間と複数の専門化されたノードの秘密鍵シェアとを使用する。
第1のノードが第2のノードとの信頼された通信を確立するために、コンピュータにより実現される方法をさらに提供でき、第2のノードは、第2のノード識別子及び第2の秘密点を有し、第2の秘密点は、グループ秘密鍵に第2のノード識別子のマップツーポイントハッシュを掛けたものであり、グループ秘密鍵は、クレデンシャルを付与するように構成されたノードのグループに関連づけられる。この方法は、ノードのグループから第1の秘密点を取得することであり、第1の秘密点は、グループ秘密鍵に第1のノード識別子のマップツーポイントハッシュを掛けたものである、ことと、第1のノード識別子を第2のノードに送信することと、第2のノード識別子を受信することと、第2のノード識別子のマップツーポイントハッシュを用い及び第1の秘密点を用いて双線形ペアリング演算を使用して第1のセッション鍵を生成することと、第1のセッション鍵が、第2の秘密点を用い及び第1のノード識別子のマップツーポイントハッシュを用いて双線形ペアリング演算を使用して第2のノードにより生成された第2のセッション鍵と一致することを確認することと、を含んでもよい。
いくつかの実装において、第1のセッション鍵を生成する双線形ペアリング演算動作は、式:
KA=e(H1(idB),sA)、及び
KA=e(sB,H1(idA))
のうち一方により特徴づけられてもよく、第2のセッション鍵を生成する双線形ペアリング演算は、式のうち他方により特徴づけられ、e()は、双線形ペアリング演算であり、H1()は、マップツーポイントハッシュであり、idA及びidBは、第1のノード識別子及び第2のノード識別子の各ノード識別子であり、sA及びsBは、第1の秘密点及び第2の秘密点の各秘密点である。
KA=e(H1(idB),sA)、及び
KA=e(sB,H1(idA))
のうち一方により特徴づけられてもよく、第2のセッション鍵を生成する双線形ペアリング演算は、式のうち他方により特徴づけられ、e()は、双線形ペアリング演算であり、H1()は、マップツーポイントハッシュであり、idA及びidBは、第1のノード識別子及び第2のノード識別子の各ノード識別子であり、sA及びsBは、第1の秘密点及び第2の秘密点の各秘密点である。
いくつかの実装において、第1の秘密点を取得することは、ノードのグループ内の複数のノードの各々から、第1の秘密点のそれぞれの部分を取得することと、グループ秘密鍵を再構築することなく、それぞれの部分を組み合わせて第1の秘密点を形成することとを含む。
いくつかの実装において、確認することは、第1のノードから第2のノードに、第1のセッション鍵で暗号化されたチャレンジを送信することと、チャレンジに対するレスポンスを受信することと、レスポンスに基づいて、第2のノードが第2のセッション鍵を使用してチャレンジを有効に復号したと決定することと、を含む。
いくつかの実装において、送信することは、第1のノンスを送信することをさらに含み、受信することは、第2のノンス及び算出されたC0値を受信することをさらに含み、C0値は、第2のセッション鍵、第1のノンス、及び第2のノンスの連結のハッシュを含む。これらの場合のいくつかにおいて、連結は、第1のノード識別子及び第2のノード識別子をさらに含む。これらの場合のいくつかにおいて、生成することは、第1のセッション鍵、第1のノンス、及び第2のノンスの連結のハッシュを含む算出されたC1値を生成することを含み、確認することは、算出されたC0値が算出されたC1値に一致することを確認することを含む。
いくつかの実装において、第2の秘密点は、グループ秘密鍵に第2のノード識別子のマップツーポイントハッシュを掛けたものである。
いくつかの実装において、第1の秘密点及び第2の秘密点は各々、秘密シェアリングを使用して第1のノード及び第2のノードにそれぞれ、ノードのグループにより提供される。
例えば、ノードのグループ内の各ノードは、秘密鍵kのシェアkiを含むことができる。秘密シェアリングが、秘密kがn人のプレーヤ間で分割される閾値暗号システムで使用され、それにより、少なくともt+1人の参加者が、kを再構築するために協働するよう求められる。秘密kのうち任意のt個の断片についての知識は、後者の秘密kを未確定のままにする。
秘密シェアリングは、多項式補間に基づき、秘密は、有限体Fの元であると仮定される。このスキームは、ディーラー(ディーラー無しバージョンも存在する)、n人の参加者の集合U1,・・・,Unを含む。そのプロトコルでは、任意のランダムな秘密がt次多項式f(x)におけるf(0)として記憶され、ノードiのみがそのシェアf(xi)を算出することができる。n個のノードのうちt+1個が協働した場合、それらは、ラグランジュ多項式補間を使用してf(x1),f(x2),・・・,f(xn)に対応する(鍵kの)そのシェアk1,k2,・・・,knを用いて、f(x)上のいかなる点も再構築することができる。ラグランジュ多項式補間は、次数tを有する関数f(x)がt+1個の点p={(x1,f(x1)),(x2,f(x2)),・・・,(xt+1,f(xt+1))}を用いて再構築できることを提供し、
であり、
である。bi,p(xi)=1であり、bi,p(xj)=0であることに留意する。この点で、biは補間係数である。
ディーラー無しシェア分配を伴う一実装において、
1.各ノードiは、誰もが知るxiを割り当てられる。各xiは、一意である必要がある。
2.各ノードiは、次数tを有するランダムな多項式fi(x)を生成する。
3.各ノードiは、あらゆる他のノードに、多項式上のそのそれぞれの点fi(xj)mod nを秘密に送信する(受領者の公開鍵で暗号化される)。
4.各ノードiは、すべてのその受信したf1(xi),f2(xi),・・・fp(xi)、すべてのmod n(nは、基礎体Fnの特性である(Fnは、GF(n)、z/nzで表されることもある))を合計して、多項式上のシェアf(x) mod nであるki=f(xi) mod nを形成する。
1.各ノードiは、誰もが知るxiを割り当てられる。各xiは、一意である必要がある。
2.各ノードiは、次数tを有するランダムな多項式fi(x)を生成する。
3.各ノードiは、あらゆる他のノードに、多項式上のそのそれぞれの点fi(xj)mod nを秘密に送信する(受領者の公開鍵で暗号化される)。
4.各ノードiは、すべてのその受信したf1(xi),f2(xi),・・・fp(xi)、すべてのmod n(nは、基礎体Fnの特性である(Fnは、GF(n)、z/nzで表されることもある))を合計して、多項式上のシェアf(x) mod nであるki=f(xi) mod nを形成する。
ノードのグループのうちのノードが、要求ノードのための秘密点sAを生成するよう協働する。秘密点sAは、巡回群G1内であり、その重要性は、ハンドシェイク及びペアリングに関する以下の説明から明らかになる。秘密点は、
sA=k・H1(idA)
として識別子に関連し、idAは、要求ノード504の識別子である。クレデンシャルは、いくつかの実装において(idA,sA)であると考えられてもよい。H1は、以下でより詳細に説明されるように、マップツーポイントハッシュ関数である。
sA=k・H1(idA)
として識別子に関連し、idAは、要求ノード504の識別子である。クレデンシャルは、いくつかの実装において(idA,sA)であると考えられてもよい。H1は、以下でより詳細に説明されるように、マップツーポイントハッシュ関数である。
グループ秘密鍵kを再構築することなく秘密点を生成するために、ノードのグループは、秘密シェア参加(Secret Share Joining)の形式を使用して、sAを生成することにおいて協働する。要求ノードは、ノードのグループのうち少なくともt+1個のノードにクレデンシャル要求を送信する。これらのノードは各々、要求ノードにsAの一部分を提供する。詳細には、秘密点sAの各シェアsAiがノードiにより決定され、要求ノードに送信され、次いで、要求ノードは、それらを秘密点sAに組み立てる(すなわち、それらを組み合わせる)。いくつかの例において、シェアsAiは、これらを合計することにより組み合わせられ、秘密点sAを取得する。
次に、クレデンシャルのグループベースの分散生成のための一例示的な処理が説明される。処理は、要求ノードにより実行される。これは、要求ノードがインデックスiを1に設定することで開始する。次いで、要求ノードは、ノードiからのクレデンシャルを要求する。ノードiは、本明細書に記載のクレデンシャル付与手順の実装を実行するように構成されたノードのグループ内の専門化されたノードである。ノードiは、グループ秘密鍵シェアkiの一部分を使用して、秘密点sAのi番目の部分を決定する。その部分は、sAiとして参照されてもよい。
要求ノードはi番目のノードから部分sAiを受信し、すなわち、それは部分的なクレデンシャルを受信する。受信ノードは、インデックスiがt+1であるかどうかを評価する。そうである場合、受信ノードは、t+1個の部分的クレデンシャルを受信したが、そうでない場合、それは、秘密点sAを再構築するためにさらなる部分的なクレデンシャルを依然として必要とする。iがまだt+1に等しくない場合、それは1だけ増分され、処理は戻って、ノードのグループ内の別のノードからのさらなる部分的なクレデンシャルを要求する。iがt+1に等しい場合、動作712において、要求ノードは秘密点sAを組み立てる。
ノードのグループ内のノードの協働作業を通してクレデンシャルを取得すると、中央の権限に依存すること又は検証/認証のためにグループに戻ることなく、クレデンシャルをチェック又は検証するメカニズムを有することが有利である。その方法で、同じノードグループからの、有効なクレデンシャルを有すると主張する2つのノードが、発行されたクレデンシャルを協働的に立証及び検証するノードのグループを有することに関連づけられた時間遅延及び通信オーバーヘッドの負担なく、互いのクレデンシャルを検証することができる。
概観として、グループ秘密鍵kが有限体のメンバである、すなわちk∈Zqであることを考える。クレデンシャルを取得した要求ノードは、該クレデンシャルを、その識別子idAと巡回群G1内の秘密点sAとの形式で有する。この例示的な実施形態において、識別子(又は「仮名(pseudonym)」)idAは、(Alice||role||expiration time)であり、||は、2つの文字列の連結を示し、roleは、ノードのグループ及び/又はその機能若しくは役割に関連づけられた文字列又は他の英数字識別子である。要求ノードは、その識別子を誰にでも明らかにすることができるが、sAを秘密にする。
別の要求ノードが、(Bob||role||expiration time)としての識別子idBと、秘密点sBとを取得する。
秘密点sAは、sA=k・H1(idA)により与えられ、秘密点sBは、sB=k・H1(idB)により与えられることに留意する。
AliceとBobが互いに信頼された通信を確立したい、すなわち、これらのうち一方又は双方が他方のクレデンシャルを立証したいとき、この2つのノードは、その秘密点を開示することなく、そのそれぞれの識別子/仮名を交換する。
次いで、ノードAliceが、セッション鍵KAを、
KA=e(H1(Bob||role||expiration time),sA)
を計算することにより生成する。e()は、双線形写像、すなわちペアリング演算であり、ノードBobは、セッション鍵KBを、
KB=e(sB,H1(Alice||role||expiration time))
を計算することにより算出する。
KA=e(H1(Bob||role||expiration time),sA)
を計算することにより生成する。e()は、双線形写像、すなわちペアリング演算であり、ノードBobは、セッション鍵KBを、
KB=e(sB,H1(Alice||role||expiration time))
を計算することにより算出する。
演算H1()は、以下でさらに説明されるように、マップツーポイント関数である。ペアリングの特性に起因して、2つの鍵は同じであり、すなわちKA=KBである。チャレンジ値を送信し、それのレスポンスを得ることにより、2つのノードは、プロトコルが成功したこと、すなわち、2つのノードが各々、同じ役割を示す同じノードグループにより発行されたクレデンシャルを保持していることを立証することができる。あるいは、一方の当事者が、他方に何らかのコンテンツを送信することができ、これは、ハンドシェイクが成功した場合、及びその場合に限り、成功裏に復号される。
この例におけるペアリング演算は、sA及びsBがこの場合には同じ巡回群G1からであることに依存する。他の場合に、この2つは、別のアーベル群内の値を
e:G1×G2→GT
としてとる2つのアーベル群として関連する、異なる巡回群G1及びG2からであってもよく、G1、G2、及びGTは、同じ位数の巡回群である。
e:G1×G2→GT
としてとる2つのアーベル群として関連する、異なる巡回群G1及びG2からであってもよく、G1、G2、及びGTは、同じ位数の巡回群である。
公開であるクレデンシャルの生成において特定のパラメータが存在する。これらは、処理において任意のノードにより生成され、他のノードと共有されてもよい。Eが、体Fq上のn個の点を含む楕円曲線であるという仮定から開始し、qが、2及び3に対し相対的に素な素数のべきである場合、公開パラメータは、以下:
params=(p,G1,G2,GT,g1,g2,e,H1,H2)
を含んでもよく、g1(resp.g2)は、双線形写像e(.,.)を有する素数位数pの群G1(resp.G2)の生成元である。G1は、互いに素なr、qを有する位数rのE(Fq)の巡回部分群である。そして、e(g1,g2)は、位数pを同様に有するGTを生成する。H1及びH2は、それぞれ、G1及びG2に関するマップツーポイントハッシュである。上述したように、いくつかの実装において、及び本明細書に記載した例の多くにおいて、G1のみが使用されてもよく、これは、同じマップツーポイントハッシュ関数H1が秘密点sA及びsBの双方に使用されることを意味する。
params=(p,G1,G2,GT,g1,g2,e,H1,H2)
を含んでもよく、g1(resp.g2)は、双線形写像e(.,.)を有する素数位数pの群G1(resp.G2)の生成元である。G1は、互いに素なr、qを有する位数rのE(Fq)の巡回部分群である。そして、e(g1,g2)は、位数pを同様に有するGTを生成する。H1及びH2は、それぞれ、G1及びG2に関するマップツーポイントハッシュである。上述したように、いくつかの実装において、及び本明細書に記載した例の多くにおいて、G1のみが使用されてもよく、これは、同じマップツーポイントハッシュ関数H1が秘密点sA及びsBの双方に使用されることを意味する。
いくつかの楕円曲線暗号システムにおいて、ハッシュアルゴリズムは、有限体の元であるパスワード又は他の文字列を、所与の楕円曲線の点に写像するために使用される。これらは、マップツーポイントハッシュである。より正確には、マップツーポイントハッシュ関数H1は、インプットにメッセージをとって点P∈E(K)を返す変換である。より詳細には、H1は、点P∈E(K)[r]を返し、E(K)[r]は、G1により生成されたE(K)の部分群である。このスキームにおいて、基礎体Fqから曲線への1対1の写像が存在する。これは、f(H(m))を使用してハッシュすることを可能にし、Hは、古典的なハッシュ関数であり、H(m)∈Fqである。
次に、互いのクレデンシャルを検証することにより信頼された通信チャネルを確立する際の、2つのノードA及びB間のメッセージフローが説明される。この例示的な実装において、ノードAは、その識別子idAをノードBに提供する。識別子idAは公に利用可能であり、いくつかの場合には別のソースからノードBにより取得されてもよい。これから、ノードBは、ノードAの識別子と、ノードBにより保持される秘密点sBと、クレデンシャルを発行したノードのグループにより規定されるマップツーポイントハッシュ関数H1とを使用して、セッション鍵KBを生成することができる。セッション鍵KBは、ノードのグループにより同様に規定されるペアリング演算e()、すなわち、
KB=e(sB,H1(Alice||role||expiration time))
を使用して生成され、この例において、ノードBの識別子idBは、(Alice||role||expiration time)である。
KB=e(sB,H1(Alice||role||expiration time))
を使用して生成され、この例において、ノードBの識別子idBは、(Alice||role||expiration time)である。
ノードBは、その識別子idBをノードAを提供し、次いで、ノードAは、ノードBの識別子、その秘密点sA、並びに同じペアリング演算及びマップツーハッシュ関数、すなわち、
KA=e(H1(Bob||role||expiration time),sA)
を使用して、セッション鍵KAを同様に生成することができる。
KA=e(H1(Bob||role||expiration time),sA)
を使用して、セッション鍵KAを同様に生成することができる。
秘密点が、同じグループ秘密鍵kとそれぞれのノードA及びBの識別子とを使用してノードのグループにより適法に協働的に生成された場合、ペアリング演算は、KA=KBの結果をもたらすはずである。これは、任意数の方法でテストしてもよい。この例示的な実装において、ノードAは、セッション鍵KAで暗号化されたチャレンジをノードBに送信する。ノードBは、そのセッション鍵KBを使用してチャレンジを復号しようとし、チャレンジに対するレスポンスを送信する。レスポンスは、セッション鍵KBにより暗号化されてもよい。これに基づいて、双方のノードは、これらが同じセッション鍵を有することを確かめることができる。そのセッション鍵は、2つのノード間の通信を暗号化するために使用されてもよい。別の実装において、セッション鍵は、別の鍵のセットアップにつながる通信を暗号化するために使用されてもよい。さらに別の実装において、2つのノード間の通信は、上述の手順に単に依存して互いのクレデンシャルを検証/認証し、2つのノード間の通信は、暗号化されないか、あるいはノードの通常の公開・秘密鍵ペアを使用して暗号化される。
次に、別の例示的な実装が説明される。この例では、ノードAは、ランダムノンスnonceAを生成することで開始する。それは、その識別子idA及びそのノンスをノードBに送信する。ノードBは、その独自のノンスnonceBを生成する。ノードBは、次いで、この例では、ペアリング演算の結果とノンスを含む他のデータとのハッシュである値C0を生成する。この例では、値C0は、
C0=H(e(sB,H1(idA))||idA||idB||nonceA||nonceB)
により与えられてもよく、Hは、文字列から文字列への衝突耐性ハッシュ関数である。一例において、Hは、SHA‐256である。
C0=H(e(sB,H1(idA))||idA||idB||nonceA||nonceB)
により与えられてもよく、Hは、文字列から文字列への衝突耐性ハッシュ関数である。一例において、Hは、SHA‐256である。
ノードBは、次いで、ノードAにリプライし、その識別子idB、そのノンスnonceB、及び値C0を提供する。ノードAは、次いで、同様の算出を実行して値C1を取得する。値C1は、この例では、
C1=H(e(H1(idB),sA)||idA||idB||nonceA||nonceB)
として表される。
C1=H(e(H1(idB),sA)||idA||idB||nonceA||nonceB)
として表される。
C0に対するC1の式内の引数における唯一の差は、ペアリング演算であることに留意されたい。したがって、双線形ペアリング演算が、ノードA及びノードBのクレデンシャルが同じノードグループから取得されたことを確認した場合、2つの値は一致するはずである。ノードAは、それらが一致することを立証することができ、そうである場合、C1をノードBに送信し、ノードBもまた、それらが一致することを立証する。一実装において、値C0=C1は、次いで、ノードA及びノードBの間の通信を暗号化するためのセッション鍵として使用される。いくつかの実装において、ノードは、通常の公開鍵・秘密鍵のペアに単に依存して通信を暗号化し、上述の動作は、認証のためのものであり、セッション鍵を確立するためのものではない。
いくつかの例示的な実装において、値C0及びC1を形成するために連結及びハッシュされるデータ又は文字列は、他のデータ又は文字列を含んでもよく、あるいは上記の例示的な文字列のうちいくつかを除外してもよい。例えば、一実装において、値C0とC1は、識別子idA及びidBの連結を含まなくてもよい。しかしながら、ハッシュ及びノンスが中間者攻撃から通信を保護するのに役立つことは理解されるであろう。
上述の実施形態は、発明を限定するのでなく例示しており、当業者は、別記の特許請求の範囲により定義される発明の範囲から逸脱することなく多くの代替的な実施形態を設計可能であることに留意されたい。例えば、トランザクションはビットコインを移転し得るが、ユーザは本明細書に記載される方法及びシステムを使用して情報、コントラクト、及びトークンなどの他のリソースを代わりに交換してもよいことが理解されるべきである。トークンは、トークンに関連づけられたスマートコントラクトに従った資産又はリソースを表し、それにより、トークンの制御は資産又はリソースの制御を与える。スマートコントラクト自体はブロックチェーン外に記憶されてもよく、あるいは、それは1つ以上のトランザクション内部に記憶されてもよい。
特許請求の範囲においては、括弧内に付されたいかなる参照符号も、特許請求の範囲を限定するものと解釈されてはならない。用語「含んでいる」及び「含む」などは、任意の請求項又は明細書全体に列挙されたもの以外の要素又はステップの存在を除外しない。本明細書において、「含む」は、「含める、又は、からなる」ことを意味し、「含んでいる」は、「含めている、又は、からなっている」ことを意味する。要素の単数の参照は、そのような要素の複数の参照を除外するものではなく、その逆もまた同様である。発明は、いくつかの区別可能な要素を含むハードウェアを用いて、及び適切にプログラムされたコンピュータを用いて実現されてもよい。いくつかの手段を列挙するデバイスクレームにおいては、これらの手段のうちいくつかは、1つ及び同じアイテムのハードウェアにより具現化されてもよい。特定の手段が相互に異なる従属請求項に記載されているという単なる事実は、これらの手段の組み合わせが利するように使用できないことを示すものではない。
Claims (12)
- 第1のノードが第2のノードとの信頼された通信を確立するためのコンピュータにより実現される方法であって、前記第2のノードは、第2のノード識別子及び第2の秘密点を有し、前記第2の秘密点は、グループ秘密鍵に前記第2のノード識別子のマップツーポイントハッシュを掛けたものであり、前記グループ秘密鍵は、クレデンシャルを付与するように構成されたノードのグループに関連づけられ、
当該方法は:
前記ノードのグループから第1の秘密点を取得することであって、前記第1の秘密点は、前記グループ秘密鍵に第1のノード識別子のマップツーポイントハッシュを掛けたものである、ことと;
前記第1のノード識別子を前記第2のノードに送信することと;
前記第2のノード識別子を受信することと;
前記第2のノード識別子のマップツーポイントハッシュを用い及び前記第1の秘密点を用いて双線形ペアリング演算を使用して第1のセッション鍵を生成することと;
前記第1のセッション鍵が、前記第2の秘密点を用い及び前記第1のノード識別子のマップツーポイントハッシュを用いて前記双線形ペアリング演算を使用して前記第2のノードにより生成された第2のセッション鍵と一致することを確認することと、を含む、
方法。 - 前記第1のセッション鍵を生成するための前記双線形ペアリング演算は、式:
KA=e(H1(idB),sA)、及び
KA=e(sB,H1(idA))
のうち一方により特徴づけられ、前記第2のセッション鍵を生成するための前記双線形ペアリング演算は、前記の式のうちの他方により特徴づけられ、e()は、前記双線形ペアリング演算であり、H1()は、前記マップツーポイントハッシュであり、idA及びidBは、前記第1のノード識別子及び前記第2のノード識別子の各ノード識別子であり、sA及びsBは、前記第1の秘密点及び前記第2の秘密点の各秘密点である、
請求項1に記載の方法。 - 前記第1の秘密点を取得することは、前記ノードのグループ内の複数のノードの各々から、前記第1の秘密点のそれぞれの部分を取得することと、前記グループ秘密鍵を再構築することなく、前記それぞれの部分を組み合わせて前記第1の秘密点を形成することとを含む、請求項1に記載の方法。
- 確認することは、前記第1のノードから前記第2のノードに、前記第1のセッション鍵で暗号化されたチャレンジを送信することと、前記チャレンジに対するレスポンスを受信することと、前記レスポンスに基づいて、前記第2のノードが前記第2のセッション鍵を使用して前記チャレンジを有効に復号したと決定することと、を含む、請求項1に記載の方法。
- 送信することは、第1のノンスを送信することをさらに含み、受信することは、第2のノンス及び算出されたC0値を受信することをさらに含み、前記C0値は、前記第2のセッション鍵、前記第1のノンス、及び前記第2のノンスの連結のハッシュを含む、請求項1に記載の方法。
- 前記連結は、前記第1のノード識別子及び前記第2のノード識別子をさらに含む、請求項5に記載の方法。
- 生成することは、前記第1のセッション鍵、前記第1のノンス、及び前記第2のノンスの連結のハッシュを含む算出されたC1値を生成することを含み、確認することは、算出されたC0値が算出されたC1値に一致することを確認することを含む、請求項1に記載の方法。
- 前記第2の秘密点は、前記グループ秘密鍵に前記第2のノード識別子の前記マップツーポイントハッシュを掛けたものである、請求項1に記載の方法。
- 前記第1の秘密点及び前記第2の秘密点は各々、秘密シェアリングを使用して前記第1のノード及び前記第2のノードにそれぞれ、前記ノードのグループにより提供される、請求項1に記載の方法。
- コンピュータ実行可能命令を含むコンピュータ読取可能記憶媒体であって、前記コンピュータ実行可能命令は、実行されたときに、請求項1乃至9のうちいずれか1項に記載の方法を実行するように1つ以上のプロセッサを構成する、コンピュータ読取可能記憶媒体。
- インターフェースデバイスと、
前記インターフェースデバイスに結合された1つ以上のプロセッサと、
前記1つ以上のプロセッサに結合されたメモリであり、前記メモリは、コンピュータ実行可能命令を記憶し、前記コンピュータ実行可能命令は、実行されたときに、請求項1乃至9のうちいずれか1項に記載の方法を実行するように前記1つ以上のプロセッサを構成する、メモリと、
を含む電子デバイス。 - ブロックチェーンネットワークのノードであって、請求項1乃至9のうちいずれか1項に記載の方法を実行するように構成される、ノード。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1711867.0 | 2017-07-24 | ||
GBGB1711867.0A GB201711867D0 (en) | 2017-07-24 | 2017-07-24 | Computer-implemented system and method |
PCT/IB2018/055237 WO2019021106A1 (en) | 2017-07-24 | 2018-07-16 | COMPUTER-IMPLEMENTED SYSTEM AND METHOD FOR SECURE STORAGE OF A LARGE BLOCK CHAIN ON A PLURALITY OF STORAGE NODES |
JP2020502349A JP7190481B2 (ja) | 2017-07-24 | 2018-07-16 | 複数のストレージノードにわたる大きいブロックチェーンのセキュアな記憶を可能にする、コンピュータにより実現されるシステム及び方法 |
JP2022194142A JP7493014B2 (ja) | 2017-07-24 | 2022-12-05 | 複数のストレージノードにわたる大きいブロックチェーンのセキュアな記憶を可能にする、コンピュータにより実現されるシステム及び方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022194142A Division JP7493014B2 (ja) | 2017-07-24 | 2022-12-05 | 複数のストレージノードにわたる大きいブロックチェーンのセキュアな記憶を可能にする、コンピュータにより実現されるシステム及び方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024098060A true JP2024098060A (ja) | 2024-07-19 |
Family
ID=59771651
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020502349A Active JP7190481B2 (ja) | 2017-07-24 | 2018-07-16 | 複数のストレージノードにわたる大きいブロックチェーンのセキュアな記憶を可能にする、コンピュータにより実現されるシステム及び方法 |
JP2022194142A Active JP7493014B2 (ja) | 2017-07-24 | 2022-12-05 | 複数のストレージノードにわたる大きいブロックチェーンのセキュアな記憶を可能にする、コンピュータにより実現されるシステム及び方法 |
JP2024081503A Pending JP2024098060A (ja) | 2017-07-24 | 2024-05-20 | 複数のストレージノードにわたる大きいブロックチェーンのセキュアな記憶を可能にする、コンピュータにより実現されるシステム及び方法 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020502349A Active JP7190481B2 (ja) | 2017-07-24 | 2018-07-16 | 複数のストレージノードにわたる大きいブロックチェーンのセキュアな記憶を可能にする、コンピュータにより実現されるシステム及び方法 |
JP2022194142A Active JP7493014B2 (ja) | 2017-07-24 | 2022-12-05 | 複数のストレージノードにわたる大きいブロックチェーンのセキュアな記憶を可能にする、コンピュータにより実現されるシステム及び方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20200213125A1 (ja) |
EP (2) | EP4068183A1 (ja) |
JP (3) | JP7190481B2 (ja) |
KR (1) | KR102580509B1 (ja) |
CN (2) | CN110959163B (ja) |
GB (1) | GB201711867D0 (ja) |
SG (1) | SG11201912220VA (ja) |
WO (1) | WO2019021106A1 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113765657B (zh) * | 2017-08-28 | 2023-10-24 | 创新先进技术有限公司 | 一种密钥数据处理方法、装置及服务器 |
GB201715423D0 (en) * | 2017-09-22 | 2017-11-08 | Nchain Holdings Ltd | Computer-implemented system and method |
US10929473B2 (en) | 2018-09-27 | 2021-02-23 | Palo Alto Research Center Incorporated | Integrated index blocks and searching in blockchain systems |
CN112232817B (zh) * | 2018-10-25 | 2024-12-27 | 蚂蚁链技术有限公司 | 基于区块链的交易处理方法及装置、电子设备 |
CN109768866B (zh) * | 2019-03-05 | 2021-03-30 | 同济大学 | 基于椭圆曲线数字签名的区块链智能合约不可拆分签名方法 |
CN110445852B (zh) * | 2019-07-29 | 2021-12-10 | 杭州复杂美科技有限公司 | 通证发放方法、设备和存储介质 |
US11057188B2 (en) * | 2019-08-19 | 2021-07-06 | International Business Machines Corporation | Database service token |
US11228452B2 (en) * | 2019-09-16 | 2022-01-18 | Cisco Technology, Inc. | Distributed certificate authority |
CN111510309B (zh) * | 2020-04-08 | 2022-05-10 | 深圳大学 | 区块链数据传输方法、装置、设备及计算机可读存储介质 |
KR102276527B1 (ko) * | 2020-11-11 | 2021-07-13 | (주)소셜인프라테크 | 오브젝트의 정보 변경 방지를 위한 오브젝트 발행 시스템 |
CN114785509A (zh) * | 2021-01-20 | 2022-07-22 | 杭州链网科技有限公司 | 一种基于区块链的可信计算存储方法 |
CN114049213B (zh) * | 2021-11-15 | 2024-07-09 | 深圳前海鸿泰源兴科技发展有限公司 | 一种信息化金融数据分析系统与分析方法 |
CN114362917B (zh) * | 2021-12-28 | 2024-04-30 | 安徽师范大学 | 移动群智感知中安全可验证的数据真值发现方法 |
WO2024090461A1 (ja) * | 2022-10-27 | 2024-05-02 | 株式会社ZK Corporation | 鍵システム、電子錠装置、電子鍵装置、および情報通信システム |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014085882A (ja) * | 2012-10-24 | 2014-05-12 | Nippon Telegr & Teleph Corp <Ntt> | 情報処理装置、ストレージサーバ、ストレージシステム、バックアップ方法、およびバックアッププログラム |
US9922339B2 (en) * | 2013-03-15 | 2018-03-20 | Google Llc | Randomized reward system for stored value transactions |
AU2015236575A1 (en) * | 2014-03-22 | 2016-09-15 | Retailmenot, Inc. | Caching geolocated offers |
US20150363772A1 (en) * | 2014-06-16 | 2015-12-17 | Bank Of America Corporation | Cryptocurrency online vault storage system |
US10565588B2 (en) * | 2015-03-12 | 2020-02-18 | International Business Machines Corporation | Cryptographic methods implementing proofs of work in systems of interconnected nodes |
GB2531828A (en) * | 2015-03-24 | 2016-05-04 | Intelligent Energy Ltd | An energy resource network |
EP3234878A1 (en) * | 2015-10-14 | 2017-10-25 | Cambridge Blockchain, LLC | Systems and methods for managing digital identities |
US20170140408A1 (en) * | 2015-11-16 | 2017-05-18 | Bank Of America Corporation | Transparent self-managing rewards program using blockchain and smart contracts |
WO2017091530A1 (en) * | 2015-11-24 | 2017-06-01 | Gartland & Mellina Group | Blockchain solutions for financial services and other transaction-based industries |
US10079682B2 (en) * | 2015-12-22 | 2018-09-18 | Gemalto Sa | Method for managing a trusted identity |
US20170236120A1 (en) * | 2016-02-11 | 2017-08-17 | Oracle International Corporation | Accountability and Trust in Distributed Ledger Systems |
EP4254220A3 (en) * | 2016-02-12 | 2023-11-29 | Royal Bank Of Canada | Methods and systems for digital reward processing |
BR112018016826A2 (pt) * | 2016-02-23 | 2018-12-26 | Nchain Holdings Ltd | método e sistema de controle implementados por blockchain |
US11488120B2 (en) * | 2016-02-23 | 2022-11-01 | nChain Holdings Limited | Methods and systems for the efficient transfer of entities on a blockchain |
EP4235552A3 (en) * | 2016-02-23 | 2023-09-13 | nChain Licensing AG | Methods and systems for efficient transfer of entities on a peer-to-peer distributed ledger using the blockchain |
GB2561725A (en) * | 2016-02-23 | 2018-10-24 | Nchain Holdings Ltd | Blockchain-implemented method for control and distribution of digital content |
EP3424179B1 (en) * | 2016-03-04 | 2022-02-16 | Ping Identity Corporation | Method and system for authenticated login using static or dynamic codes |
KR101701131B1 (ko) * | 2016-04-28 | 2017-02-13 | 주식회사 라피 | 이종간 블록체인 연결을 이용한 데이터 기록/검증 방법 및 시스템 |
US10333705B2 (en) * | 2016-04-30 | 2019-06-25 | Civic Technologies, Inc. | Methods and apparatus for providing attestation of information using a centralized or distributed ledger |
KR102050129B1 (ko) * | 2016-05-03 | 2019-11-28 | 안규태 | 블록 검증을 위한 복수의 일방향 함수를 지원하는 블록 체인 |
US10291627B2 (en) * | 2016-10-17 | 2019-05-14 | Arm Ltd. | Blockchain mining using trusted nodes |
US10387684B2 (en) * | 2016-12-09 | 2019-08-20 | International Business Machines Corporation | Interlocked blockchains to increase blockchain security |
US20180189781A1 (en) * | 2017-01-05 | 2018-07-05 | The Toronto-Dominion Bank | Real-time approval and execution of data exchanges between computing systems |
EP3563553B1 (en) * | 2017-02-24 | 2022-02-16 | NEC Corporation | Method for signing a new block in a decentralized blockchain consensus network |
US10762481B2 (en) * | 2017-03-21 | 2020-09-01 | The Toronto-Dominion Bank | Secure offline approval of initiated data exchanges |
US10467586B2 (en) * | 2017-03-23 | 2019-11-05 | International Business Machines Corporation | Blockchain ledgers of material spectral signatures for supply chain integrity management |
US11887115B2 (en) * | 2017-04-17 | 2024-01-30 | Jeff STOLLMAN | Systems and methods to validate transactions for inclusion in electronic blockchains |
US20180330386A1 (en) * | 2017-05-09 | 2018-11-15 | Heonsu Kim | Proof of ownership device and methods for using the same |
US10762506B1 (en) * | 2017-05-11 | 2020-09-01 | United Services Automobile Association | Token device for distributed ledger based interchange |
US11924322B2 (en) * | 2017-05-16 | 2024-03-05 | Arm Ltd. | Blockchain for securing and/or managing IoT network-type infrastructure |
US10397328B2 (en) * | 2017-05-17 | 2019-08-27 | Nec Corporation | Method and system for providing a robust blockchain with an integrated proof of storage |
US10601900B2 (en) * | 2017-05-24 | 2020-03-24 | Red Hat, Inc. | Supporting distributed ledgers in a micro-services environment |
US11030681B2 (en) * | 2017-07-21 | 2021-06-08 | International Business Machines Corporation | Intermediate blockchain system for managing transactions |
CN112154626B (zh) * | 2018-05-14 | 2024-08-23 | 区块链控股有限公司 | 使用区块链执行原子交换的计算机实现的系统和方法 |
US12175462B2 (en) * | 2020-02-21 | 2024-12-24 | International Business Machines Corporation | Resolution of conflicting data |
US20230297983A1 (en) * | 2022-03-18 | 2023-09-21 | Capital One Services, Llc | Systems and methods for granting smart contracts |
-
2017
- 2017-07-24 GB GBGB1711867.0A patent/GB201711867D0/en not_active Ceased
-
2018
- 2018-07-16 EP EP22160306.1A patent/EP4068183A1/en active Pending
- 2018-07-16 CN CN201880048438.3A patent/CN110959163B/zh active Active
- 2018-07-16 WO PCT/IB2018/055237 patent/WO2019021106A1/en unknown
- 2018-07-16 JP JP2020502349A patent/JP7190481B2/ja active Active
- 2018-07-16 US US16/634,085 patent/US20200213125A1/en active Pending
- 2018-07-16 EP EP18755311.0A patent/EP3659082B1/en active Active
- 2018-07-16 KR KR1020207002988A patent/KR102580509B1/ko active IP Right Grant
- 2018-07-16 SG SG11201912220VA patent/SG11201912220VA/en unknown
- 2018-07-16 CN CN202410266680.5A patent/CN118337410A/zh active Pending
-
2022
- 2022-12-05 JP JP2022194142A patent/JP7493014B2/ja active Active
-
2024
- 2024-05-20 JP JP2024081503A patent/JP2024098060A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4068183A1 (en) | 2022-10-05 |
JP7190481B2 (ja) | 2022-12-15 |
JP2020528691A (ja) | 2020-09-24 |
CN110959163B (zh) | 2024-04-02 |
EP3659082A1 (en) | 2020-06-03 |
JP2023024499A (ja) | 2023-02-16 |
WO2019021106A1 (en) | 2019-01-31 |
JP7493014B2 (ja) | 2024-05-30 |
SG11201912220VA (en) | 2020-02-27 |
KR102580509B1 (ko) | 2023-09-21 |
US20200213125A1 (en) | 2020-07-02 |
CN110959163A (zh) | 2020-04-03 |
CN118337410A (zh) | 2024-07-12 |
GB201711867D0 (en) | 2017-09-06 |
KR20200034728A (ko) | 2020-03-31 |
EP3659082B1 (en) | 2022-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7493014B2 (ja) | 複数のストレージノードにわたる大きいブロックチェーンのセキュアな記憶を可能にする、コンピュータにより実現されるシステム及び方法 | |
TWI840358B (zh) | 用以使用區塊鏈來執行基元式互換之電腦實施系統及方法 | |
US11979493B2 (en) | Methods and systems to establish trusted peer-to-peer communications between nodes in a blockchain network | |
CN108885741B (zh) | 一种实现区块链上交换的令牌化方法及系统 | |
JP2019507510A (ja) | 情報及び階層的で決定性の暗号化鍵のセキュアな交換のための共通秘密の決定 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240520 |