JP7123208B2 - 準同型暗号を使用したブロックチェーンデータ保護 - Google Patents

準同型暗号を使用したブロックチェーンデータ保護 Download PDF

Info

Publication number
JP7123208B2
JP7123208B2 JP2021065216A JP2021065216A JP7123208B2 JP 7123208 B2 JP7123208 B2 JP 7123208B2 JP 2021065216 A JP2021065216 A JP 2021065216A JP 2021065216 A JP2021065216 A JP 2021065216A JP 7123208 B2 JP7123208 B2 JP 7123208B2
Authority
JP
Japan
Prior art keywords
random number
amount
account
balance
same
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021065216A
Other languages
English (en)
Other versions
JP2021140156A (ja
Inventor
バオリ・マ
ウェンビン・ジャン
Original Assignee
アドバンスド ニュー テクノロジーズ カンパニー リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アドバンスド ニュー テクノロジーズ カンパニー リミテッド filed Critical アドバンスド ニュー テクノロジーズ カンパニー リミテッド
Priority to JP2021065216A priority Critical patent/JP7123208B2/ja
Publication of JP2021140156A publication Critical patent/JP2021140156A/ja
Application granted granted Critical
Publication of JP7123208B2 publication Critical patent/JP7123208B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3676Balancing accounts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • G06Q20/38215Use of certificates or encrypted proofs of transaction rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3823Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic 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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • H04L9/3221Cryptographic 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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Power Engineering (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、準同型暗号を使用したブロックチェーンデータ保護に関する。
ブロックチェーンシステム、コンセンサスネットワーク、分散型台帳システムネットワーク、またはブロックチェーンとも呼ばれ得るブロックチェーンネットワークは、参加するエンティティが安全にかつ変更不可能にデータを記憶することを可能にする。ブロックチェーンはトランザクションの台帳システムとして記述されることが可能であり、台帳の複数のコピーがブロックチェーンネットワークにわたって記憶される。例示的なタイプのブロックチェーンには、パブリックブロックチェーン、パーミッションドブロックチェーン、およびプライベートブロックチェーンがあり得る。パブリックブロックチェーンは、そのブロックチェーンを使用してコンセンサスプロセスに参加することがすべてのエンティティに開かれている。パーミッションドブロックチェーンは、パブリックブロックチェーンに似ているが、加わるための許可を得たエンティティだけに開かれている。プライベートブロックチェーンは、読取りパーミッションおよび書込みパーミッションを集中的に制御する特定のエンティティだけに提供される。
ブロックチェーンは、参加者が暗号通貨を使用して商品および/またはサービスを購入/販売するために取引を行うことを可能にする、暗号通貨ネットワークにおいて使用される。一般的な暗号通貨にはビットコインがある。暗号通貨ネットワークでは、ユーザ間の取引を記録するために記録管理モデルが使用される。例示的な記録管理モデルには、未使用トランザクションアウトプット(UTXO: Unspent Transaction Output)モデルおよびアカウント残高(Account Balance)モデルがある。UTXOモデルでは、各トランザクションは、前のトランザクションからのアウトプットを使用し、後のトランザクションにおいて使用され得る新しいアウトプットを生成する。ユーザの未使用のトランザクションが追跡され、ユーザの保有する残高がユーザのすべての未使用のトランザクションの合計として計算される。アカウント残高モデルでは、各ユーザのアカウント残高がグローバル状態として追跡される。各トランザクションに対して、使用するアカウントの残高がトランザクションの量以上であることを確実にするために、その残高が確認される。これは従来の銀行業と同等である。
ブロックチェーン台帳は一連のブロックを含み、その各々がネットワークにおいて実行される1つまたは複数のトランザクションを含む。各ブロックは台帳のページに類似していることがあるが、ブロックチェーン自体が台帳の完全なコピーである。個々のトランザクションが確認されてブロックに追加され、ブロックはブロックチェーンに追加される。ブロックチェーン台帳のコピーは、ネットワークの複数のノードにわたって複製される。このようにして、ブロックチェーンの状態についてグローバルな合意ができる。さらに、ブロックチェーンは、少なくともパブリックネットワークの場合には、すべてのノードが閲覧のために公開されている。ブロックチェーンユーザのプライバシーを保護するために、暗号化技術が実装され得る。
アカウントモデルのもとでは、トランザクションの双方の関係者がコミットする対象の値を隠すために、コミットメントスキームが使用され得る。コミットメントスキームは、関係者が選択または値をコミットし、関与する他の関係者にその値を後で伝えることの必要性から生じ得る。たとえば、対話型のペダーセンコミットメントでは、関係者Aは、乱数rに基づいて生成されるコミットメント値(Commitment Value)PC(r,t)を送信することによって、トランザクション量tをコミットすることができる。コミットメント値が生成され、関係者Bは乱数rを得ることによってのみトランザクション量tを明らかにすることができる。
本開示の実装形態は、ユーザによる確認、対話、およびトランザクション量またはアカウント残高の暴露を伴わない、ブロックチェーントランザクションのプライバシーが保護された検証のための、コンピュータ実装方法を含む。より具体的には、本開示の実装形態は、トランザクション量、アカウント残高、または他のブロックチェーンノードへのコミットメントを生成するための乱数を明らかにすることなく、コミットメントスキームおよび準同型暗号(Homomorphic Encryption)に基づいて、ブロックチェーンユーザ間のトランザクションを承認することを対象とする。
いくつかの実装形態では、活動は、第1のアカウントから、第1の乱数に基づいて生成される第1のアカウントから第2のアカウントへ移されるべきトランザクション量の第1の量のコミットメント値のデジタル署名されたコピー、第1のアカウントの公開鍵を使用して暗号化される残高移動の第1の量および第1の乱数、第2のアカウントの公開鍵を使用して暗号化される残高移動の第2の量および第2の乱数、1つまたは複数のレンジプルーフ、ならびに1つまたは複数の選択された乱数に基づいて生成される値のセットを受信することと、デジタル署名されたコピーに対応するデジタル署名を、デジタル署名を生成するために使用される秘密鍵に対応する第1のアカウントの公開鍵を使用して検証することと、残高移動の量が0より大きく第1のアカウントの残高以下であることを1つまたは複数のレンジプルーフが証明すると決定することと、値のセットに基づいて、第1の量と第2の量が同じであるかどうか、および第1の乱数と第2の乱数が同じであるかどうかを決定することと、第1の量と第2の量が同じであり、第1の乱数と第2の乱数が同じである場合、残高移動の第1の量に基づいて第1のアカウントの残高および第2のアカウントの残高を更新することとを含む。他の実装形態は、対応するシステムと、装置と、コンピュータ記憶デバイスに符号化される、方法の活動を実行するように構成されるコンピュータプログラムとを含む。
これらのおよび他の実装形態は各々、以下の特徴のうちの1つまたは複数を任意選択で含み得る。コミットメント値が、準同型であるコミットメントスキームを使用して生成される。コミットメントスキームが、ペダーセンコミットメントスキームである。残高移動の第1の量および第1の乱数が、確率論的準同型暗号(HE)アルゴリズム(Probabilistic Homomorphic Encryption (HE) Algorithm)に基づいて第1のアカウントの公開鍵を使用して暗号化され、残高移動の第2の量および第2の乱数が、確率論的HEアルゴリズムに基づいて第2のアカウントの公開鍵を使用して暗号化される。確率論的HEアルゴリズムが、岡本-内山HEアルゴリズム(Okamoto-Uchiyama HE Algorithm)である。選択された乱数が、r*、t*、z1*、およびz2*によって表され、選択された乱数が、a、b、c、およびdを生成するために使用され、a=r*+xr、b=t*+xt、c=z1*+xz1、かつd=z2*+xz2であり、rが第1の乱数であり、tが残高移動の第1の量であり、xがハッシュ値である。値のセットがさらに、C、D、およびEに基づいて生成され、C=gr*ht*、D=u2r*v2z1*、E=u2t*v2z2*であり、g、h、u2、およびv2が楕円曲線のジェネレータであり、xがC、D、およびEをハッシュすることに基づいて生成される。確率論的HEの性質に基づいて、第1の量および第2の量が同じであると決定され、第1の乱数および第2の乱数が同じであると決定される。gahb=CTx、u2av2c=DZ_B1x、かつu2bv2d=EZ_B2xである場合、第1の量および第2の量が同じであると決定され、第1の乱数および第2の乱数が同じであると決定され、T=grhtが残高移動の量のコミットメント値であり、Z_B1=u2rv2z1、Z_B2=u2tv2z2であり、z1およびz2が、確率論的HEスキームに基づいて、残高移動の第2の量および第2の乱数を暗号化するために使用される乱数である。第1のアカウントの残高および第2のアカウントの残高を更新することが、HEに基づいて実行される。
本開示はまた、1つまたは複数のプロセッサによって実行されると、本明細書で提供される方法の実装形態に従って1つまたは複数のプロセッサに動作を実行させる命令が記憶された、1つまたは複数のプロセッサに結合される1つまたは複数の非一時的コンピュータ可読記憶媒体を提供する。
本開示はさらに、本明細書で提供される方法を実施するためのシステムを提供する。システムは、1つまたは複数のプロセッサと、1つまたは複数のプロセッサによって実行されると1つまたは複数のプロセッサに本明細書で提供される方法の実装形態に従って動作を実行させる命令が記憶された、1つまたは複数のプロセッサに結合されるコンピュータ可読記憶媒体とを含む。
本開示による方法は、本明細書で説明される態様および特徴の任意の組合せを含み得ることを理解されたい。すなわち、本開示による方法は、本明細書で特に説明される態様および特徴の組合せに限定されず、提供される態様および特徴の任意の組合せも含む。
本開示の1つまたは複数の実装形態の詳細は、添付の図面および以下の説明に記載される。本開示の他の特徴および利点が、説明および図面から、ならびに特許請求の範囲から明らかになるであろう。
本開示の実装形態を実行するために使用され得る例示的な環境の図である。 本開示の実装形態による例示的な概念のアーキテクチャの図である。 本開示の実装形態による、準同型暗号に基づくブロックチェーントランザクションのプライバシーが保護された承認の例示的な方法の図である。 本開示の実装形態による、準同型暗号に基づく例示的なブロックチェーントランザクションの図である。 本開示の実装形態による、準同型暗号に基づくブロックチェーントランザクションのプライバシーが保護された承認の別の例示的な方法の図である。 本開示の実装形態による、準同型暗号に基づく別の例示的なブロックチェーントランザクションの図である。 本開示の実装形態に従って実行され得る例示的なプロセスの図である。 本開示の実装形態に従って実行され得る別の例示的なプロセスの図である。
様々な図における同様の参照記号は同様の要素を示す。
本開示の実装形態は、ユーザによる確認、対話、およびトランザクション量またはアカウント残高の暴露を伴わない、ブロックチェーントランザクションのプライバシーが保護された検証のための、コンピュータ実装方法を含む。より具体的には、本開示の実装形態は、トランザクション量、アカウント残高、または他のブロックチェーンノードへのコミットメントを生成するための乱数を明らかにすることなく、コミットメントスキームおよび準同型暗号(HE)に基づいて、ブロックチェーンユーザ間のトランザクションを承認することを対象とする。
本開示の、および上で紹介された実装形態のさらなる背景を提供すると、コンセンサスネットワーク(たとえば、ピアツーピアノードからなる)、分散型台帳システム、または単にブロックチェーンとも呼ばれ得る、ブロックチェーンネットワークは、参加するエンティティが安全かつ変更不可能にトランザクションを行いデータを記憶することを可能にする。ブロックチェーンは、パブリックブロックチェーン、プライベートブロックチェーン、またはコンソーシアムブロックチェーンとして提供され得る。本開示の実装形態は、参加するエンティティの間で公開されているパブリックブロックチェーンに関して、本明細書でさらに詳細に説明される。しかしながら、本開示の実装形態はあらゆる適切なタイプのブロックチェーンにおいて実現され得ることが企図される。
パブリックブロックチェーンでは、コンセンサスプロセスはコンセンサスネットワークのノードによって制御される。たとえば、数百、数千、さらには数百万ものエンティティがパブリックブロックチェーンに参加することができ、それらの各々がパブリックブロックチェーンの中の少なくとも1つのノードを運用する。したがって、パブリックブロックチェーンは、参加するエンティティに関して公開のネットワークであると見なされ得る。いくつかの例では、ブロックが有効となりブロックチェーンに追加されるには、過半数のエンティティ(ノード)がそれぞれのブロックに署名しなければならない。例示的なパブリックブロックチェーンには、ピアツーピア支払ネットワーク(暗号通貨ネットワーク)であるビットコインネットワークにおいて使用されるブロックチェーンがある。ブロックチェーンという用語は一般にビットコインネットワークに関して言及されるが、本明細書では、ブロックチェーンは、ビットコインネットワークに特に言及することなく分散型台帳を全般的に指す。
一般に、パブリックブロックチェーンはパブリックトランザクションをサポートする。パブリックトランザクションはブロックチェーン内のノードのすべてと共有され、ブロックチェーン台帳はすべてのノードにわたって複製される。すなわち、すべてのノードがブロックチェーンに関して完全にコンセンサスのとれた状態にある。コンセンサス(たとえば、ブロックチェーンへのブロックの追加に対する合意)を達成するために、ブロックチェーンネットワーク内でコンセンサスプロトコルが実装される。例示的なコンセンサスプロトコルには、限定はされないが、ビットコインネットワークにおいて実装されるプルーフオブワーク(POW)がある。
本開示の実装形態は、上記の背景に鑑みてここでさらに詳細に説明される。より具体的には、上で紹介されたように、本開示の実装形態は、トランザクション量、アカウント残高、または他のブロックチェーンノードへのコミットメントを生成するための乱数を明らかにすることなく、コミットメントスキームおよびHEに基づいて、ブロックチェーンユーザ間のトランザクションを承認することを対象とする。
本開示の実装形態によれば、ブロックチェーントランザクションは、トランザクションアカウント残高、トランザクション量、またはコミットメントを生成するために使用される乱数を明らかにすることなく、コミットメントに基づいて承認されブロックチェーン(台帳)に記録され得る。乱数を使用してトランザクション量のコミットメントを生成するために、ペダーセンコミットメント(PC)などのコミットメントスキームが使用され得る。トランザクション量および乱数は、確率的(probabilistic)または決定論的(deterministic)HEを使用して暗号化され得る。トランザクション量および乱数はまた、HEの性質に基づいてトランザクションを承認するためのプルーフとしての値のセットを生成するために使用され得る。トランザクションのコミットメント、暗号化されたトランザクション量、暗号化された乱数、およびプルーフは、アカウント残高、トランザクション量、または乱数が明らかにされることなくトランザクションが有効であるかどうかを検証するために、ブロックチェーンノードによって使用され得る。
図1は、本開示の実装形態を実行するために使用され得る例示的な環境100を図示する。いくつかの例では、例示的な環境100は、エンティティがパブリックブロックチェーン102に参加することを可能にする。例示的な環境100は、コンピューティングシステム106、108、およびネットワーク110を含む。いくつかの例では、ネットワーク110は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、またはこれらの組合せを含み、ウェブサイト、ユーザデバイス(たとえば、コンピューティングデバイス)、およびバックエンドシステムを接続する。いくつかの例では、ネットワーク110は有線および/またはワイヤレス通信リンクを通じてアクセスされ得る。
図示される例では、コンピューティングシステム106、108は各々、パブリックブロックチェーン102の中のノードとしての参加を可能にする、任意の適切なコンピューティングシステムを含み得る。例示的なコンピューティングデバイスには、限定はされないが、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピューティングデバイス、およびスマートフォンがある。いくつかの例では、コンピューティングシステム106、108は、パブリックブロックチェーン102と対話するための、1つまたは複数のコンピュータで実施されるサービスをホストする。たとえば、コンピューティングシステム106は、第1のエンティティ(たとえば、ユーザA)が1つまたは複数の他のエンティティ(たとえば、他のユーザ)とのトランザクションを管理するために使用するトランザクション管理システムなどの、第1のエンティティのコンピュータで実施されるサービスをホストすることができる。コンピューティングシステム108は、第2のエンティティ(たとえば、ユーザB)が1つまたは複数の他のエンティティ(たとえば、他のユーザ)とのトランザクションを管理するために使用するトランザクション管理システムなどの、第2のエンティティのコンピュータで実施されるサービスをホストすることができる。図1の例では、パブリックブロックチェーン102はノードのピアツーピアネットワークとして表され、コンピューティングシステム106、108はそれぞれ、パブリックブロックチェーン102に参加する第1のエンティティおよび第2のエンティティのノードを提供する。
図2は、本開示の実装形態による例示的な概念のアーキテクチャ200を図示する。例示的な概念のアーキテクチャ200は、エンティティレイヤ202、ホストされたサービスレイヤ204、およびパブリックブロックチェーンレイヤ206を含む。図示される例では、エンティティレイヤ202は、Entity_1(E1)、Entity_2(E2)、およびEntity_3(E3)という3つのエンティティを含み、各エンティティがそれぞれのトランザクション管理システム208をもつ。
図示される例では、ホストされるサービスレイヤ204は、各トランザクション管理システム208のためのブロックチェーンインターフェース210を含む。いくつかの例では、それぞれのトランザクション管理システム208は、通信プロトコル(たとえば、ハイパーテキスト転送プロトコルセキュア(HTTPS))を使用してネットワーク(たとえば、図1のネットワーク110)を通じてそれぞれのブロックチェーンインターフェース210と通信する。いくつかの例では、各ブロックチェーンインターフェース210は、それぞれのトランザクション管理システム208とブロックチェーンレイヤ206との間の通信接続を提供する。より具体的には、各ブロックチェーンインターフェース210は、それぞれのエンティティがブロックチェーンレイヤ206のブロックチェーンネットワーク212に記録されるトランザクションを行うことを可能にする。いくつかの例では、ブロックチェーンインターフェース210とブロックチェーンレイヤ206との間の通信は、リモートプロシージャコール(RPC)を使用して行われる。いくつかの例では、ブロックチェーンインターフェース210は、それぞれのトランザクション管理システム208のためのブロックチェーンノードを「ホスト」する。たとえば、ブロックチェーンインターフェース210は、ブロックチェーンネットワーク212へのアクセスのためにアプリケーションプログラミングインターフェース(API)を提供する。
本明細書で説明されるように、ブロックチェーンネットワーク212は、ブロックチェーン216に情報を変更不可能に記録する複数のノード214を含む、ピアツーピアネットワークとして提供される。単一のブロックチェーン216が概略的に図示されるが、ブロックチェーン216の複数のコピーが提供され、ブロックチェーン212にわたって維持される。たとえば、各ノード214はブロックチェーン216のコピーを記憶する。いくつかの実装形態では、ブロックチェーン216は、パブリックブロックチェーンに参加する2つ以上のエンティティの間で実行されるトランザクションと関連付けられる情報を記憶する。
図3は、本開示の実装形態による、HEに基づくブロックチェーントランザクションのプライバシーが保護された承認の例示的な方法300を図示する。高水準において、例示的な方法300が、ユーザノードA302、ユーザノードB(図3に示されない)、およびコンセンサスノード(Consensus Node)とも呼ばれるブロックチェーンノード304によって実行される。価値の移動などのトランザクションが、ユーザノードA302からユーザノードBへ行われ得る。アカウントのプライバシーを保護するために、ユーザノードA302は、乱数rに基づいて、PCなどのコミットメントスキームを使用してトランザクション量tのコミットメントを生成することができる。PCを使用して生成されるコミットメントは、PC(r,t)として表現され得る。ユーザノードA302はまた、ユーザノードBの公開鍵に基づくHEを使用して乱数を暗号化することができる。これはHE(r)として表現され得る。(PC(r,t),HE(r))として表現される、トランザクション量tの暗号文がユーザノードBに送信され得る。暗号文を受信した後で、ユーザノードBは秘密鍵を使用して乱数rを復号することができる。ユーザノードBは、トランザクション量tを復号するために乱数rを使用することができる。トランザクションの有効性を証明するために、ブロックチェーンノード304は、コミットメントの中の乱数を、HEを使用して暗号化された乱数と比較することができる。これらの乱数が一致する場合、トランザクションは、トランザクションデータの知識なしでブロックチェーンノード304によって有効であると決定される。例示的な方法300のさらなる詳細が図3の以下の説明において論じられる。
306において、ユーザノードA302は、第1の乱数に基づいてトランザクション量のコミットメント値を生成し、HEに基づいてユーザノードA302の公開鍵を使用して第2の乱数を暗号化し、ユーザノードBの公開鍵を使用して第3の乱数を暗号化する。第1の乱数、第2の乱数、および第3の乱数は、コミットメントスキームを使用してトランザクション量tのコミットメントを生成するために使用されるのと同じ乱数rであり得る。いくつかの実装形態では、コミットメントスキームは、PCなどの二重指数形式を有し得る。非限定的な例としてPCを使用すると、第1の乱数rによって生成されるコミットメント値をPC(r,t)=grhtとして表現することができ、ここでgおよびhは楕円曲線のジェネレータであってよく、PC(r,t)は曲線点のスカラー乗算であり、tはコミットされるトランザクション量である。岡本-内山(OU)HEおよびBoneh-Goh-Nissim HEなどのHEに基づく他のコミットメントスキームも、コミットメント値を生成するために使用され得ることを理解されたい。
ユーザノードA302の公開鍵を使用して暗号化される第2の乱数rの暗号化は、HE_A(r)と表現され得る。ユーザノードBの公開鍵を使用して暗号化される第3の乱数rの暗号化は、HE_B(r)と表現され得る。
いくつかの実装形態では、公開鍵HE暗号は、乱数をある一定の値に設定することによって、Paillier HE、Benaloh HE、OU HE、Naccache-Stern HE、Damgard-Jurik HE、またはBoneh-Goh-Nissim HEなどの確率論的HEスキームから得ることができる決定論的HEであり得る。いくつかの実装形態では、HE(a+b)=HE(a)+HE(b)かつHE(ab)=HE(b)aという線形の性質を満たし、aおよびbがHEのために使用されるプレーンテキストである決定論的HEスキームが、本開示のために使用され得る。
いくつかの例では、T=PC(r,t)、T'=HE_A(r)、かつT''=HE_B(r)であり、トランザクション量の暗号文は(T,T',およびT'')として表現され得る。例示的な条件が満たされる場合、トランザクションは有効であると決定され得る。第1に、トランザクション量tが0以上であり、ユーザノードA302のアカウント残高s_A以下である。第2に、トランザクションがユーザノードA302によって認可されることを証明するために、トランザクションがユーザノードA302の秘密鍵によってデジタル署名される。第3に、コミットメントPC(r,t)の中の乱数rが、それぞれユーザノードA302およびユーザノードBの公開鍵を使用して暗号文HE_A(r)およびHE_B(r)において暗号化されるrと同じである。
いくつかの実装形態では、暗号文はまた、(PC(r',t'),HE_A(r'))として表現され得る送信される量(t')の暗号文、および(PC(r'',t''),HE_B(r''))として表現され得る受信される量(t'')の暗号文として分離され得る。そのような場合、送信される量t'はまた、トランザクションを承認するために、受信される量t'と同じであると決定される必要がある。
308において、ユーザノードA302は、1つまたは複数のレンジプルーフを生成する。いくつかの実装形態では、レンジプルーフは、トランザクション量tが0以上であることを示すためのレンジプルーフRP1と、トランザクション量tがユーザノードAのアカウント残高以下であることを示すためにレンジプルーフRP2とを含み得る。
310において、ユーザノードA302は、1つまたは複数の選択された乱数に基づいてHEを使用して値のセットを生成する。Pfと表記される値のセットは、コミットメントPC(r,t)の中の乱数rが、それぞれユーザノードA302およびユーザノードBの公開鍵を使用して暗号文HE_A(r)およびHE_B(r)において暗号化されるrと同じであることを証明するために使用される、プルーフを含み得る。いくつかの実装形態では、2つの乱数r1およびt1を、(T1,T1',T1'')として表記されるt1の暗号文の別のセットを計算するために選択することができ、ここでT1=gr1ht1、T1'=HE_A(r1)、T1''=HE_B(r1)である。2つの追加のプルーフr2およびt2を、r2=r1+xr、t2=t1+xtとして計算することができ、ここでxはT1、T1'、およびT1''のハッシュである。値のセットはPf=(T1,T1',T1'',r2,t2)と表記され得る。
312において、ユーザノードA302は、暗号文(T,T',T'')、暗号文(T1,T1',T1'')、r2、t2、レンジプルーフRP1およびRP2、ならびにユーザノードA302およびユーザノードBの公開鍵をデジタル署名するために、その秘密鍵を使用する。ユーザノードA302によって追加されるデジタル署名は、ユーザノードA302によってトランザクションが認可されることを示すために使用され得る。デジタル署名されるコピーは、314においてブロックチェーンネットワークに提出される。
316において、ブロックチェーンノード304は、ユーザノードA302の公開鍵を使用してデジタル署名を検証する。ブロックチェーンノード304は、ブロックチェーンネットワークにおけるトランザクションの有効性を証明できるコンセンサスノードであり得る。ブロックチェーンノード304が公開鍵を使用してユーザノードA302のデジタル署名を検証できない場合、デジタル署名は正しくないと決定することができ、トランザクションを拒否することができる。いくつかの実装形態では、ブロックチェーンノード304は、二重使用防止機構も含み得る。ブロックチェーンノード304は、トランザクションがすでに実行または記録されているかどうかを検証することができる。トランザクションがすでに実行されている場合、トランザクションは拒絶され得る。それ以外の場合、トランザクションの承認は進行することができる。
318において、ブロックチェーンノード304は、1つまたは複数のレンジプルーフを検証する。たとえば、レンジプルーフRP1を、トランザクション量tが0以上であることを証明するために使用することができ、レンジプルーフRP2を、トランザクション量tがユーザノードA302のアカウント残高以下であることを証明するために使用することができる。
320において、ブロックチェーンノード304は、値のセットに基づいて、第1の乱数、第2の乱数、および第3の乱数が同じであると決定する。いくつかの実装形態では、この決定は、上で論じられたように、例示的な条件gr2ht2=TxT1、HE_A(r2)=T'xT1'、およびHE_B(r2)=T''xT1''が真であるかどうかを、決定論的HEの性質に基づいて決定することを含む。真である場合、コミットメントの中の乱数は、ユーザノードA302およびユーザノードBの公開鍵を使用して準同型暗号化される乱数と同じであり、トランザクションが有効であることが示され得る。
322において、ブロックチェーンノード304は、ユーザノードA302およびユーザノードBのアカウント残高を更新する。残高更新は、ユーザノードA302またはユーザノードBのいずれのアカウント残高も明らかにすることなく、HEの性質に基づいて実行され得る。アカウント残高の更新は、図4に関して本明細書でさらに詳細に説明される。
図4は、本開示の実装形態による、HEに基づく例示的なブロックチェーントランザクション400を図示する。例示的なブロックチェーントランザクション400において示されるように、ユーザノードA402はトランザクション量tをユーザノードB406に移す。トランザクションの前、ユーザノードA402はs_Aというアカウント残高を有し、ユーザノードB406はs_Bというアカウント残高を有する。
例として図3を参照して本明細書で説明される暗号化スキームおよびトランザクションプロセスを使用すると、PCに基づく乱数r_Aを使用してアカウント残高s_Aを暗号化することができ、HEに基づいて乱数r_Aを暗号化することができる。アカウント残高s_Aの暗号文を、(S_A,S'_A)=(gr_Ahs_A,HE_A(r_A))として表現することができ、ここでgおよびhはアカウント残高s_AのPCを生成するための楕円曲線のジェネレータであり得る。同様に、ユーザノードB406のアカウント残高s_Bは、PCに基づく乱数r_Bを使用して暗号化され得る。アカウント残高s_Bの暗号文は、(S_B,S'_B)=(gr_Bhs_B,HE_A(r_B))として表現され得る。
404において、ユーザノードA402は、トランザクションを承認するために使用されるプルーフにデジタル署名を追加し、ブロックチェーンネットワーク408にデジタル署名されたコピーを提出することができる。図3を参照して上で説明されたように、プルーフは、トランザクション量の暗号文(T,T',T'')、1つまたは複数のレンジプルーフ(RP1,RP2)、および他のプルーフ(T1,T1',T1'',r2,t2)を含み得る。
トランザクションの後、ユーザノードA402のアカウント残高をs_A-t'として表現することができ、ユーザノードB406のアカウント残高をs_B+t''として表現することができ、ここでt'はユーザノードA402によって送信される量であり、t''はユーザノードBによって受信される量である。トランザクションの後のユーザノードA402のアカウント残高の暗号文を(S_A/T,S'_A/T')として表現することができ、トランザクションの後のユーザノードB406のアカウント残高の暗号文を(S_B*T,S'_B*T'')として表現することができる。S_A、S'_A、S_B、S'_B、T、T'、T''は各々、二重指数形式のHEを使用して暗号化され、加算および減算はプレーンテキスト値に対する復号を伴わずに、暗号化された形式で実行され得る。
図5は、本開示の実装形態による、HEに基づくブロックチェーントランザクションのプライバシーが保護された承認の別の例示的な方法500を図示する。高水準において、例示的な方法500は、ユーザノードA502、ユーザノードB(図5に示されない)、およびコンセンサスノードと呼ばれ得るブロックチェーンノード504によって実行される。価値の移動などのトランザクションが、ユーザノードA502からユーザノードBへ行われ得る。アカウントのプライバシーを保護するために、ユーザノードA502は、乱数rに基づくPCなどのコミットメントスキームを使用して、トランザクション量tのコミットメントを生成することができる。PCを使用して生成されるコミットメントは、PC(r,t)として表現され得る。ユーザノードA502はまた、OUなどの二重指数形式を有するHEを使用して、トランザクション量tおよび乱数rを暗号化することができる。
トランザクション量tの暗号文は、ブロックチェーンネットワークに提出され得る。暗号文を受信した後で、ブロックチェーンノード504は、PCに秘匿されている乱数rがOUにおいて暗号化される乱数rと一致するかどうかを、ユーザノードA502およびユーザノードBのそれぞれの公開鍵を使用して決定することができる。さらに、ブロックチェーンノード504は、PCに秘匿されているトランザクション量tがOUにおいて暗号化されるトランザクション量tと一致するかどうかを、ユーザノードA502およびユーザノードBのそれぞれの公開鍵を使用して決定することができる。乱数とトランザクション量の両方が一致する場合、トランザクションデータの知識なしで、トランザクションは有効であるとブロックチェーンノード504によって決定され得る。
506において、ユーザノードA502は、第1の乱数に基づいて第1のトランザクション量のコミットメント値を生成し、第1のトランザクション量および第1の乱数はユーザノードA502の公開鍵を使用して暗号化される。第2のトランザクション量および第2の乱数は、ユーザノードBの公開鍵を使用して暗号化される。第1のトランザクション量および第2のトランザクション量は同じ量tであり得る。第1の乱数および第2の乱数は、コミットメントスキームを使用してトランザクション量tのコミットメントを生成するために使用されるのと同じ乱数rであり得る。いくつかの実装形態では、コミットメントスキームは、PCなどの二重指数形式を有し得る。例としてPCを使用すると、第1の乱数rによって生成されるコミットメント値をPC(r,t)=grhtとして表現することができ、ここでgおよびhは楕円曲線のジェネレータであってよく、PC(r,t)は曲線点のスカラー乗算であり、tはコミットされるトランザクション量である。OU HEおよびBoneh-Goh-Nissim HEなどのHEに基づく他のコミットメントスキームも、コミットメント値を生成するために使用され得ることを理解されたい。
ユーザノードA502はまた、ユーザノードA502の公開鍵を使用して第1の乱数および第1のトランザクション量を暗号化し、ユーザノードBの公開鍵を使用して第2の乱数および第2のトランザクション量を暗号化することができる。いくつかの実装形態では、乱数およびトランザクション量の暗号化は、OUなどの確率論的HEに基づき得る。例としてOUを使用すると、ユーザノードA502の公開鍵を使用した第1の乱数および第1のトランザクション量の暗号化を、それぞれOU_A(r)=u1rv1y1、OU_A(t)=u1tv1y2として表現することができ、ここでu1およびv1は楕円曲線のジェネレータであり、y1およびy2はOU_A(r)およびOU_A(t)を生成するために使用される乱数である。暗号化された第2の乱数および第2のトランザクション量を、それぞれOU_B(r)=u2rv2z1、OU_B(t)=u2tv2z2として表現することができ、ここでu2およびv2は楕円曲線のジェネレータであり、z1およびz2はそれぞれOU_B(r)およびOU_B(t)を生成するために使用される乱数である。確率論的OUはOU(a+b)=OU(a)*OU(b)という性質を満たし、ここでaおよびbはOUに使用されるプレーンテキストである。
トランザクション量tの暗号文は、(PC(r,t),OU_A(r),OU_A(t),OU_B(r),OU_B(t))として表現され得る。以下の例示的な条件が満たされる場合、トランザクションは有効であると決定され得る。第1に、トランザクション量tが0以上であり、ユーザノードA502のアカウント残高s_A以下である。第2に、トランザクションがユーザノードA502によって認可されることを証明するために、トランザクションがユーザノードA502の秘密鍵を使用してデジタル署名される。第3に、コミットメントPC(r,t)の中の乱数rが、それぞれユーザノードA502およびユーザノードBの公開鍵を使用して暗号文OU_A(r)およびOU_B(r)において暗号化されるrと同じである。第4に、コミットメントPC(r,t)の中のトランザクション量tが、それぞれユーザノードA502およびユーザノードBの公開鍵を使用して暗号文OU_A(r)およびOU_B(r)において暗号化されるtと同じである。
いくつかの実装形態では、暗号文はまた、(PC(r',t'),OU_A(r'),OU_A(t'))として表現され得る送信される量(t')の暗号文、および(PC(r'',t''),OU_B(r''),OU_B(t''))として表現され得る受信される量(t'')の暗号文として分離され得る。そのような場合、送信される量t'はまた、トランザクションを承認するために、受信される量t'に等しいと決定される必要がある。
508において、ユーザノードA502は、1つまたは複数のレンジプルーフを生成する。いくつかの実装形態では、レンジプルーフは、トランザクション量tが0以上であることを示すためのレンジプルーフRP1と、トランザクション量tがユーザノードAのアカウント残高以下であることを示すためにレンジプルーフRP2とを含み得る。
510において、ユーザノードA502は、1つまたは複数の選択された乱数に基づいてHEを使用して値のセットを生成する。Pfと表記される値のセットは、コミットメントPC(r,t)の中の乱数rが暗号文OU_A(r)およびOU_B(r)において暗号化されるrと同じであり、コミットメントPC(r,t)の中のトランザクション量tが暗号文OU_A(r)およびOU_B(r)において暗号化されるtと同じであることを証明するために使用される、プルーフを含み得る。いくつかの実装形態では、4つの乱数r*、t*、z1*、およびz2*を、(C,D,E)と表記される暗号文の別のセットを計算するために選択することができ、ここでC=gr*ht*、D=u2r*v2z1*およびE=u2t*v2z2*であり、g、h、u2、およびv2は楕円曲線のジェネレータである。4つの追加のプルーフa、b、c、およびdをa=r*+xr、b=t*+xt、c=z1*+xz1、およびd=z2*+xz2として計算することができ、xはg、h、u2、v2、C、D、およびEのハッシュ関数である。そうすると値のセットは、Pf=(C,D,E,a,b,c,d)と表記され得る。
512において、ユーザノードA502は、暗号文(PC(r,t),OU_A(r),OU_A(t),OU_B(r),OU_B(t))、レンジプルーフRP1およびRP2、ならびに値Pfのセットをデジタル署名するために、その秘密鍵を使用する。ユーザノードA502によって追加されるデジタル署名は、トランザクションがユーザノードA502によって認可されることを示すために使用され得る。デジタル署名されるコピーは、514においてブロックチェーンネットワークに提出される。
516において、ブロックチェーンノード504は、ユーザノードA502の公開鍵を使用してデジタル署名を検証する。ブロックチェーンノード504は、ブロックチェーンネットワーク上でトランザクションの有効性を証明できるコンセンサスノードであり得る。ブロックチェーンノード504がユーザノードAの公開鍵を使用してデジタル署名を検証できない場合、デジタル署名は正しくないと決定することができ、トランザクションを拒否することができる。いくつかの実装形態では、ブロックチェーンノード504は、二重使用防止機構も含み得る。ブロックチェーンノード504は、トランザクションがすでに実行または記録されているかどうかを検証することができる。トランザクションがすでに実行されている場合、トランザクションは拒絶され得る。それ以外の場合、トランザクションの承認は進行することができる。
518において、ブロックチェーンノード504は、1つまたは複数のレンジプルーフを検証する。たとえば、レンジプルーフRP1を、トランザクション量tが0以上であることを証明するために使用することができ、レンジプルーフRP2を、トランザクション量tがユーザノードA502のアカウント残高以下であることを証明するために使用することができる。
520において、ブロックチェーンノード504は、第1のトランザクション量が第2のトランザクション量と同じであるかどうか、および第1の乱数が第2の乱数と同じであるかを、値のセットに基づいて決定する。いくつかの実装形態では、この決定は、gahb=CTx、u2av2c=DZ_B1x、かつu2bv2d=EZ_B2xであるかどうかを決定することを含み、T=grhtは第1のトランザクション量tのコミットメント値であり、Z_B1=u2rv2z1、Z_B2=u2tv2z2であり、z1およびz2は確率論的HEスキームに基づいて第2のトランザクション量および第2の乱数を暗号化するために使用される乱数である。真である場合、コミットメントの中の乱数およびトランザクション量は、それぞれユーザノードA502およびユーザノードBの公開鍵を使用して準同型暗号化される乱数およびトランザクション量と同じであり、トランザクションが有効であることが示され得る。
522において、ブロックチェーンノード504は、ユーザノードA502およびユーザノードBのアカウント残高を更新する。アカウント残高更新は、ユーザノードA502および/またはユーザノードBのアカウント残高を明らかにすることなく、HEの性質に基づいて実行され得る。
図6は、本開示の実装形態による、HEに基づく別の例示的なブロックチェーントランザクション600を図示する。例示的なトランザクション600において示されるように、ユーザノードA602はトランザクション量tをユーザノードB606に移す。トランザクションの前、ユーザノードA602はs_Aというアカウント残高を有し、ユーザノードB606はs_Bというアカウント残高を有する。
いくつかの例では、アカウント残高s_Aは、図5を参照して本明細書で説明される暗号化スキームおよびトランザクションプロセスを使用して、PCに基づく乱数r_Aを使用して秘匿され得る。乱数r_Aおよびアカウント残高は、OUに基づいて暗号化され得る。アカウント残高s_Aの暗号文を、(S_A,R_A,Q_A)=(gr_Ahs_A,OU_A(r_A),OU_A(s_A))として表現することができ、ここでgおよびhはアカウント残高s_AのPCを生成するための楕円曲線のジェネレータであり得る。同様に、ユーザノードB606のアカウント残高s_Bは、PCに基づく乱数r_Bを使用して暗号化され得る。アカウント残高s_Bの暗号文は、(S_B,S'_B)=(gr_Bhs_B,OU_B(r_B),OU_B(s_B))として表現され得る。
604において、ユーザノードA602は、トランザクションを承認するために使用されるプルーフにデジタル署名を追加し、ブロックチェーンネットワーク608にデジタル署名されたコピーを提出することができる。図5を参照して本明細書で説明されたように、プルーフは、トランザクション量の暗号文(PC(r,t),OU_A(r),OU_A(t),OU_B(r),OU_B(t))、1つまたは複数のレンジプルーフ(RP1,RP2)、および他のプルーフ(C,D,E,a,b,c,d)を含み得る。
トランザクションの後、ユーザノードA602のアカウント残高をs_A-tとして表現することができ、ユーザノードB606のアカウント残高をs_B+tとして表現することができる。トランザクションの後のユーザノードA602のアカウント残高の暗号文を(S_A/T,R_A/Y_A1,Q_A/Y_A2)として表現することができ、ここでY_A1=OU_A(r)かつY_A2=OU_A(t)である。トランザクションの後のユーザノードB606のアカウント残高の暗号文を(S_B*T,R_B*Z_B1,Q_B*Z_B2)として表現することができ、ここでZ_B1=OU_B(r)かつZ_B2=OU_B(t)である。S_A、S_B、R_A、R_B、Q_A、Q_B、Y_A1、Y_A2、Z_B1、Z_B2、およびTは、二重指数形式のHEを使用して暗号化されるので、加算および減算はプレーンテキスト値を復号することなく、暗号化された形式で実行され得る。
図7は、本開示の実装形態に従って実行され得る例示的なプロセス700を図示する。提示を明確にするために、以下の説明は全般に、この説明では他の図面の文脈で方法700を説明する。しかしながら、例示的なプロセス700は、たとえば、任意のシステム、環境、ソフトウェア、およびハードウェア、またはシステム、環境、ソフトウェア、およびハードウェアの組合せによって、適宜実行され得る。いくつかの実装形態では、例示的なプロセス700のステップは、並列に、組合せで、ループで、または任意の順序で行われ得る。
702において、コンセンサスノードは、第1のアカウントから、第1の乱数に基づいて生成される第1のアカウントから第2のアカウントへ移されるべきトランザクション量のコミットメント値のデジタル署名されたコピーを受信する。コンセンサスノードはまた、第1のアカウントから、第1のアカウントの公開鍵を使用して暗号化される第2の乱数、第2のアカウントの公開鍵を使用して暗号化される第3の乱数、1つまたは複数のレンジプルーフ、および1つまたは複数の選択された乱数に基づくHEを使用して生成される値のセットを受信することができる。いくつかの実装形態では、コミットメント値は、コミットメントスキームに基づくHEを使用して生成される。いくつかの実装形態では、第2の乱数および第3の乱数は、決定論的HEスキームに基づいて暗号化される。
いくつかの実装形態では、値のセットは(T1,T1',T1'',r2,t2)によって表現され、ここでr2=r1+xr、t2=t1+xtであり、r1およびt1は1つまたは複数の選択された乱数を表し、rは第1の乱数を表し、tは残高移動の量を表す。いくつかの例では、T1=gr1ht1、T1'=HE_A(r1)、T1''=HE_B(r1)であり、ここでgおよびhは楕円曲線のジェネレータであり、HE_A(r1)は第1のアカウントの公開鍵を使用してr1のHEに基づいて生成され、HE_B(r1)は第2のアカウントの公開鍵を使用してr1のHEに基づいて生成される。いくつかの例では、xはT1、T1'、およびT1''をハッシュ化することに基づいて生成される。
704において、コンセンサスノードは、デジタル署名されたコピーに対応するデジタル署名を、デジタル署名を生成するために使用される秘密鍵に対応する第1のアカウントの公開鍵を使用して検証する。
706において、コンセンサスノードは、残高移動の量が0より大きく、かつ第1のアカウントの残高以下であることを、1つまたは複数のレンジプルーフが証明するかどうかを決定する。
708において、コンセンサスノードは、値のセットに基づいて、第1の乱数、第2の乱数、および第3の乱数が同じであるかどうかを決定する。いくつかの実装形態では、第1の乱数、第2の乱数、および第3の乱数は、gr2ht2=TxT1、HE_A(r2)=T'xT1'、かつHE_B(r2)=T''xT1'である場合同じであると決定され、ここでT=grhtは残高移動の量のコミットメント値であり、T'=HE_A(r)であり、かつT''=HE_B(r)であり、HE_A(r)は第1のアカウントの公開鍵を使用してrのHEに基づいて生成され、HE_B(r)は第2のアカウントの公開鍵を使用してrのHEに基づいて生成され、HE_A(r2)は第1のアカウントの公開鍵を使用してr2のHEに基づいて生成され、HE_B(r2)は第2のアカウントの公開鍵を使用してr2のHEに基づいて生成され、xはg、h、T1、T1'、およびT1''をハッシュ化することに基づいて生成される。いくつかの実装形態では、T、T'、およびT''は、トランザクション量tの量の暗号文を形成する。
710において、コンセンサスノードは、第1の乱数、第2の乱数、および第3の乱数が同じである場合、トランザクション量に基づいて第1のアカウントの残高および第2のアカウントの残高を更新する。いくつかの実装形態では、第1のアカウントの残高および第2のアカウントの残高を更新することはHEに基づいて実行される。
図8は、本開示の実装形態に従って実行され得る別の例示的なプロセス800を図示する。提示を明確にするために、以下の説明は全般に、この説明では他の図面の文脈で例示的なプロセス800を説明する。しかしながら、例示的なプロセス800は、たとえば、任意のシステム、環境、ソフトウェア、およびハードウェア、またはシステム、環境、ソフトウェア、およびハードウェアの組合せによって、適宜実行され得る。いくつかの実装形態では、例示的なプロセス800のステップは、並列に、組合せで、ループで、または任意の順序で行われ得る。
802において、コンセンサスノードは、第1のアカウントから、第1のアカウントから第2のアカウントへ移動する第1のトランザクション量のコミットメント値のデジタル署名されたコピーを受信する。いくつかの例では、コミットメント値のデジタル署名されたコピーは、第1の乱数に基づいて生成される。コンセンサスノードはまた、第1のアカウントの公開鍵を使用して暗号化される第1のトランザクション量および第1の乱数、第2のアカウントの公開鍵を使用して暗号化される残高移動の第2の量および第2の乱数、1つまたは複数のレンジプルーフ、ならびに1つまたは複数の選択された乱数に基づくHEを使用して生成される値のセットを受信する。いくつかの実装形態では、コミットメント値はPCスキームを使用して生成される。いくつかの実装形態では、残高移動の第1の量および第1の乱数は、確率論的HEアルゴリズムに基づいて第1のアカウントの公開鍵を使用して暗号化される。いくつかの例では、残高移動の第2の量および第2の乱数は、確率論的HEアルゴリズムに基づいて第2のアカウントの公開鍵を使用して暗号化される。いくつかの実装形態では、確率論的HEアルゴリズムは岡本-内山HEアルゴリズムである。
いくつかの実装形態では、値のセットは(C,D,E,a,b,c,d)によって表現され、ここでa=r*+xr、b=t*+xt、c=z1*+xz1、かつd=z2*+xz2であり、r*、t*、z1*、およびz2*は1つまたは複数の選択された乱数を表し、rは第1の乱数を表し、tは残高移動の第1の量を表し、C=gr*ht*、D=u2r*v2z1*、E=u2t*v2z2*であり、g、h、u2、およびv2は楕円曲線のジェネレータであり、xはC、D、およびEをハッシュ化することに基づいて生成される。
804において、コンセンサスノードは、デジタル署名されたコピーに対応するデジタル署名を、デジタル署名を生成するために使用される秘密鍵に対応する第1のアカウントの公開鍵を使用して検証する。
806において、コンセンサスノードは、残高移動の量が0より大きく、かつ第1のアカウントの残高以下であることを、1つまたは複数のレンジプルーフが証明するかどうかを決定する。
808において、コンセンサスノードは、第1の量が第2の量と同じであるかどうか、および第1の乱数および第2の乱数が同じであるかを、値のセットに基づいて決定する。いくつかの実装形態では、gahb=CTx、u2av2c=DZ_B1x、かつu2bv2d=EZ_B2xである場合、第1の量および第2の量は同じであると決定され、第1の乱数および第2の乱数は同じであると決定され、ここでT=grhtは残高移動の量のコミットメント値であり、Z_B1=u2rv2z1、Z_B2=u2tv2z2である。いくつかの例では、z1およびz2は、第2のトランザクション量を暗号化するために使用される乱数および確率論的HEスキームに基づく第2の乱数である。
810において、コンセンサスノードは、第1の量および第2の量が同じであり、第1の乱数および第2の乱数が同じである場合、残高移動の第1の量に基づいて第1のアカウントの残高および第2のアカウントの残高を更新する。いくつかの実装形態では、第1のアカウントの残高および第2のアカウントの残高を更新することはHEに基づいて実行される。
本明細書で説明される主題の実装形態は、特定の利点または技術的な効果を実現するように実装され得る。たとえば、本開示の実装形態は、アカウント残高およびブロックチェーンノードのトランザクション量がトランザクションの間に非公開であることを可能にする。資金移動の受領者は、トランザクションを確認すること、またはコミットメントを検証するために乱数を使用することが必要ではなく、トランザクションの承認は非相互的であり得る。ブロックチェーンノードは、HEおよびコミットメントスキームに基づいてトランザクションを承認して、知識なしのプルーフを可能にできる。
説明される方法は、様々なモバイルコンピューティングデバイスのアカウント/データセキュリティの向上を可能にする。アカウントの残高およびトランザクション量は、HEに基づいて暗号化され、コミットメントスキームによって秘匿され得る。したがって、コンセンサスノードは、アカウントの実際のアカウント残高を明らかにすることなく、HEの性質に基づいてトランザクションの後の台帳のアカウント残高を更新することができる。トランザクションを確認するために乱数を受領者に送信する必要がないので、データ漏洩のリスクを減らすことができ、乱数を管理するために使用することが必要なコンピューティングリソースおよびメモリリソースがより少なくなる。
本明細書で説明される実装形態および動作は、本明細書で説明される構造もしくはそれらのうちの1つまたは複数の組合せを含めて、デジタル電子回路で、またはコンピュータソフトウェア、ファームウェア、もしくはハードウェアで実装され得る。動作は、1つまたは複数のコンピュータ可読記憶デバイスに記憶される、または他のソースから受信されるデータに対して、データ処理装置によって実行される動作として実施され得る。データ処理装置、コンピュータ、またはコンピューティングデバイスは、前述の1つのプログラマブルプロセッサ、1つのコンピュータ、1つのシステムオンチップ、またはこれらの複数、または組合せを例として含む、データを処理するための装置、デバイス、および機械を包含し得る。装置は、専用論理回路、たとえば、中央処理装置(CPU)、フィールドプログラマブルゲートアレイ(FPGA)、または特定用途向け集積回路(ASIC)を含み得る。装置はまた、対象のコンピュータプログラムのための実行環境を作り出すコード、たとえば、プロセッサファームウェア、プロトロルスタック、データベース管理システム、オペレーティングシステム(たとえば、1つのオペレーティングシステムまたはオペレーティングシステムの組合せ)、クロスプラットフォームランタイム環境、仮想マシン、またはこれらの1つまたは複数の組合せを構成するコードを含み得る。装置および実行環境は、ウェブサービス、分散コンピューティングおよびグリッドコンピューティングインフラストラクチャなどの、様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。
コンピュータプログラム(たとえば、プログラム、ソフトウェア、ソフトウェアアプリケーション、ソフトウェアモジュール、ソフトウェアユニット、スクリプト、またはコードとしても知られている)は、コンパイル型またはインタプリタ型言語、宣言型または手続き型言語を含む、任意の形式のプログラミング言語で書かれてよく、スタンドアロンプログラムとして、または、モジュール、コンポーネント、サブルーチン、オブジェクト、もしくはコンピューティング環境において使用するのに適した他のユニットを含む、任意の形式で展開されてよい。プログラムは、他のプログラムもしくはデータ(たとえば、マークアップ言語ドキュメントに記憶される1つまたは複数のスクリプト)を保持するファイルの一部分、対象のプログラムに専用の単一のファイル、または複数の協調的なファイル(たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの部分を記憶するファイル)に記憶され得る。コンピュータプログラムは、1つの場所に位置する、または、複数の場所に分散され通信ネットワークによって相互接続される、1つのコンピュータまたは複数のコンピュータ上で実行され得る。
コンピュータプログラムの実行のためのプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、読取り専用メモリまたはランダムアクセスメモリまたは両方から、命令およびデータを受信する。コンピュータの不可欠な要素は、命令に従って活動を実行するためのプロセッサ、ならびに、命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータは、データを記憶するための1つまたは複数のマスストレージデバイスも含み、または、そのマスストレージデバイスからデータを受信し、もしくはそこへデータを移し、もしくはその両方を行うように、動作可能に結合される。コンピュータは、別のデバイス、たとえば、モバイルデバイス、携帯情報端末(PDA)、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブル記憶デバイスに埋め込まれ得る。コンピュータプログラム命令およびデータを記憶するのに適したデバイスは、例として、半導体メモリデバイス、磁気ディスク、および磁気光学ディスクを含む、不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、専用の論理回路によって補完されても、またはそれに組み込まれてもよい。
モバイルデバイスは、ハンドセット、ユーザ機器(UE)、携帯電話(たとえば、スマートフォン)、タブレット、ウェアラブルデバイス(たとえば、スマートウォッチおよびスマート眼鏡)、人体に埋め込まれたデバイス(たとえば、バイオセンサ、人工内耳)、または他のタイプのモバイルデバイスを含み得る。モバイルデバイスは、様々な通信ネットワーク(以下で説明される)にワイヤレスに(たとえば、高周波(RF)信号を使用して)通信することができる。モバイルデバイスは、モバイルデバイスの現在の環境の特性を決定するためのセンサを含み得る。センサは、カメラ、マイクロフォン、近接センサ、GPSセンサ、モーションセンサ、加速度計、周辺光センサ、水分センサ、ジャイロスコープ、コンパス、気圧計、指紋センサ、顔認識システム、RFセンサ(たとえば、Wi-Fiおよびセルラー無線)、温度センサ、または他のタイプのセンサを含み得る。たとえば、カメラは、可動レンズまたは固定レンズ、フラッシュ、イメージセンサ、およびイメージプロセッサを伴う、前面カメラまたは後面カメラを含み得る。カメラは、顔認識および/または虹彩認識のための詳細を捉えることが可能なメガピクセルカメラであり得る。カメラは、データプロセッサ、およびメモリに記憶されるまたはリモートでアクセスされる認証情報とともに、顔認識システムを形成することができる。顔認識システムまたは1つまたは複数のセンサ、たとえば、マイクロフォン、モーションセンサ、加速度計、GPSセンサ、またはRFセンサは、ユーザ認証のために使用され得る。
ユーザとの対話を提供するために、実装形態は、ディスプレイデバイスおよび入力デバイス、たとえば、ユーザに情報を表示するための液晶ディスプレイ(LCD)または有機発光ダイオード(OLED)/仮想現実(VR)/拡張現実(AR)ディスプレイ、ならびに、ユーザがそれによってコンピュータに入力を提供できるタッチスクリーン、キーボード、およびポインティングデバイスを有する、コンピュータ上で実装され得る。他の種類のデバイスも、ユーザとの対話を提供するために使用され得る。たとえば、ユーザに提供されるフィードバックは任意の種類の感覚的なフィードバック、たとえば視覚的なフィードバック、聴覚的なフィードバック、または触覚的なフィードバックであってよく、ユーザからの入力は、音響入力、発話入力、または触覚入力を含む、任意の形式で受け取られ得る。加えて、コンピュータは、ドキュメントを送信してユーザによって使用されるデバイスからドキュメントを受信することによって、たとえば、ウェブブラウザから受信された要求に応答してユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。
実装形態は、有線またはワイヤレスデジタルデータ通信(またはそれらの組合せ)の任意の形式もしくは媒体、たとえば通信ネットワークによって相互接続されるコンピューティングデバイスを使用して実装され得る。相互接続されたデバイスの例は、一般に互いから離れており典型的には通信ネットワークを介して対話する、クライアントおよびサーバである。クライアント、たとえばモバイルデバイスは、たとえば、購入、売却、支払、贈与、送付、もしくは貸付のトランザクションの実行、またはこれらの認可を行うサーバと、またはサーバを通じて、自身でトランザクションを実行することができる。そのようなトランザクションは、活動と応答が時間的に近くなるようにリアルタイムであり得る。たとえば、ある個人は、活動および応答が実質的に同時に発生することを知覚し、その個人の活動に続く応答の時間差が1ミリ秒(ms)未満もしくは1秒(s)未満であり、または応答にシステムの処理制約を考慮した意図的な遅延がない。
通信ネットワークの例は、ローカルエリアネットワーク(LAN)、無線アクセスネットワーク(RAN)、メトロポリタンエリアネットワーク(MAN)、およびワイドエリアネットワーク(WAN)を含む。通信ネットワークは、インターネット、別の通信ネットワーク、または通信ネットワークの組合せの、すべてもしくは一部分を含み得る。情報は、Long Term Evolution(LTE)、5G、IEEE 802、インターネットプロトコル(IP)、または他のプロトコルもしくはプロトコルの組合せを含む、様々なプロトコルおよび規格に従って通信ネットワーク上で送信され得る。通信ネットワークは、接続されたコンピューティングデバイス間で、音声データ、ビデオデータ、バイオメトリックデータ、または認証データ、または他の情報を送信することができる。
別個の実装形態として説明される特徴は、組合せで、単一の実装形態で実装され得るが、単一の実装形態として説明される特徴は、複数の実装形態で、別々に、または任意の適切な部分組合せで実装され得る。特定の順序で説明され特許請求される動作は、特定の順序が実行されなければならないこと、またはすべての図示される動作が実行されなければならないことを要求するものとして理解されるべきではない(いくつかの動作は任意選択であり得る)。適宜、マルチタスキングまたは並列処理(またはマルチタスキングと並列処理の組合せ)が実行され得る。
100 例示的な環境
102 パブリックブロックチェーン
106 コンピューティングシステム
108 コンピューティングシステム
110 ネットワーク
202 エンティティレイヤ
204 ホストされたサービスレイヤ
206 パブリックブロックチェーンレイヤ
208 トランザクション管理システム
210 ブロックチェーンインターフェース
212 ブロックチェーンネットワーク
214 ノード
216 ブロックチェーン
302 ユーザノードA
304 ブロックチェーンノード
402 ユーザノードA
406 ユーザノードB
408 ブロックチェーンネットワーク
502 ユーザノードA
504 ブロックチェーンノード
608 ブロックチェーンネットワーク

Claims (13)

  1. ブロックチェーンネットワークのコンセンサスノードによって実施されるコンピュータ実装方法であって、
    第1のアカウントから、
    第1のアカウントから第2のアカウントへの残高移動の第1の量のコミットメント値のデジタル署名されたコピーであって、前記第1の量のコミットメント値は、第1の乱数に基づいて生成され、前記残高移動の前記第1の量および前記第1の乱数が、確率論的準同型暗号(HE)アルゴリズムに基づき前記第1のアカウントの第1の公開鍵を使用して暗号化される、前記残高移動の第1の量のコミットメント値のデジタル署名されたコピーと、
    前記確率論的HEアルゴリズムに基づき前記第2のアカウントの公開鍵を使用して暗号化される前記残高移動の第2の量および第2の乱数と、
    1つまたは複数の選択された乱数に基づいて生成される値のセットと
    を受信するステップと、
    前記デジタル署名されたコピーに対応するデジタル署名を、前記デジタル署名を生成するために使用される秘密鍵に対応する前記第1のアカウントの第2の公開鍵を使用して検証するステップと、
    前記暗号化された第1および第2の量、前記暗号化された第1および第2の乱数、ならびに値の前記セットに基づいて、前記第1の量と前記第2の量が同じであるかどうか、および、前記第1の乱数と前記第2の乱数が同じであるかどうかを前記確率論的HEアルゴリズムの性質を用いて決定するステップと、
    前記第1の量と前記第2の量が同じであり、前記第1の乱数と前記第2の乱数が同じであるとの決定に応答して、前記残高移動の前記第1の量に基づいて前記第1のアカウントの前記残高および前記第2のアカウントの残高を更新するステップと
    を備え、
    前記選択された乱数がr*、t*、z1*、およびz2*によって表され、前記選択された乱数がa、b、c、d、C、D、およびEを生成するために使用され、a=r*+xr、b=t*+xt、c=z1*+xz1、d=z2*+xz2、C=gr*ht*、D=u2r*v2z1*、かつE=u2t*v2z2*であり、rが前記第1の乱数であり、tが前記残高移動の前記第1の量であり、z1およびz2が、前記第2の量および前記第2の乱数を暗号化するために使用される乱数であり、xは、C、D、E、およびgをハッシュすることに基づいて生成されるハッシュ値であり、g、h、u2、およびv2が楕円曲線のジェネレータであり、
    gahb=CTx、u2av2c=DZ_B1x、かつu2bv2d=EZ_B2xである場合、前記第1の量と前記第2の量が同じであると決定され、かつ前記第1の乱数と前記第2の乱数が同じであると決定され、T=grhtが前記残高移動の量のコミットメント値であり、Z_B1=u2rv2z1、Z_B2=u2tv2z2である、コンピュータ実装方法。
  2. 前記コミットメント値が、準同型であるコミットメントスキームを使用して生成される、請求項1に記載のコンピュータ実装方法。
  3. 前記コミットメントスキームがペダーセンコミットメントスキームである、請求項2に記載のコンピュータ実装方法。
  4. 前記確率論的HEアルゴリズムが、岡本-内山HEアルゴリズムである、請求項1に記載のコンピュータ実装方法。
  5. 値の前記セットがC、D、およびEに基づいてさらに生成される、請求項1に記載のコンピュータ実装方法。
  6. 前記第1のアカウントの前記残高および前記第2のアカウントの残高を更新するステップが、HEに基づき行われる、請求項1に記載のコンピュータ実装方法。
  7. 複数の動作を実行するためにコンピュータシステムにより実行可能な1つまたは複数の命令を記録したコンピュータ可読記録媒体であって、前記複数の動作が、
    第1のアカウントから、
    第1のアカウントから第2のアカウントへの残高移動の第1の量のコミットメント値のデジタル署名されたコピーであって、前記第1の量のコミットメント値は、第1の乱数に基づいて生成され、前記残高移動の前記第1の量および前記第1の乱数が、確率論的準同型暗号(HE)アルゴリズムに基づき前記第1のアカウントの第1の公開鍵を使用して暗号化される、前記残高移動の第1の量のコミットメント値のデジタル署名されたコピーと、
    前記確率論的HEアルゴリズムに基づき前記第2のアカウントの公開鍵を使用して暗号化される前記残高移動の第2の量および第2の乱数と、
    1つまたは複数の選択された乱数に基づいて生成される値のセットと
    を受信する動作と、
    前記デジタル署名されたコピーに対応するデジタル署名を、前記デジタル署名を生成するために使用される秘密鍵に対応する前記第1のアカウントの第2の公開鍵を使用して検証する動作と、
    前記暗号化された第1および第2の量、前記暗号化された第1および第2の乱数、ならびに値の前記セットに基づいて、前記第1の量と前記第2の量が同じであるかどうか、および、前記第1の乱数と前記第2の乱数が同じであるかどうかを前記確率論的HEアルゴリズムの性質を用いて決定する動作と、
    前記第1の量と前記第2の量が同じであり、前記第1の乱数と前記第2の乱数が同じであるとの決定に応答して、前記残高移動の前記第1の量に基づいて前記第1のアカウントの前記残高および前記第2のアカウントの残高を更新する動作と
    を含み、
    前記選択された乱数がr*、t*、z1*、およびz2*によって表され、前記選択された乱数がa、b、c、d、C、D、およびEを生成するために使用され、a=r*+xr、b=t*+xt、c=z1*+xz1、d=z2*+xz2、C=gr*ht*、D=u2r*v2z1*、かつE=u2t*v2z2*であり、rが前記第1の乱数であり、tが前記残高移動の前記第1の量であり、z1およびz2が、前記第2の量および前記第2の乱数を暗号化するために使用される乱数であり、xは、C、D、E、およびgをハッシュすることに基づいて生成されるハッシュ値であり、g、h、u2、およびv2が楕円曲線のジェネレータであり
    gahb=CTx、u2av2c=DZ_B1x、かつu2bv2d=EZ_B2xである場合、前記第1の量と前記第2の量が同じであると決定され、かつ前記第1の乱数と前記第2の乱数が同じであると決定され、T=grhtが前記残高移動の量のコミットメント値であり、Z_B1=u2rv2z1、Z_B2=u2tv2z2である、コンピュータ可読記録媒体。
  8. 前記コミットメント値が、準同型であるコミットメントスキームを使用して生成される、請求項7に記載のコンピュータ可読記録媒体。
  9. 前記コミットメントスキームがペダーセンコミットメントスキームである、請求項8に記載のコンピュータ可読記録媒体。
  10. 前記確率論的HEアルゴリズムが、岡本-内山HEアルゴリズムである、請求項7に記載のコンピュータ可読記録媒体。
  11. 値の前記セットがC、D、およびEに基づいてさらに生成される、請求項7に記載のコンピュータ可読記録媒体。
  12. gahb=CTx、u2av2c=DZ_B1x、かつu2bv2d=EZ_B2xである場合、前記第1の量と前記第2の量が同じであると決定され、前記第1の乱数と前記第2の乱数が同じであると決定され、T=grhtが前記残高移動の前記量の前記コミットメント値であり、Z_B1=u2rv2z1、Z_B2=u2tv2z2である、請求項8に記載のコンピュータ可読記録媒体。
  13. システムであって、
    1つまたは複数のコンピュータと、
    前記1つまたは複数のコンピュータに結合された1つまたは複数のコンピュータ可読メモリとを備え、
    前記1つまたは複数のコンピュータ可読メモリは、複数の動作を実行するために前記1つまたは複数のコンピュータにより実行可能な命令を記録し、前記複数の動作は、
    第1のアカウントから、
    第1のアカウントから第2のアカウントへの残高移動の第1の量のコミットメント値のデジタル署名されたコピーであって、前記第1の量のコミットメント値は、第1の乱数に基づいて生成され、前記残高移動の前記第1の量および前記第1の乱数が、確率論的準同型暗号(HE)アルゴリズムに基づき前記第1のアカウントの第1の公開鍵を使用して暗号化される、前記残高移動の第1の量のコミットメント値のデジタル署名されたコピーと、
    前記確率論的HEアルゴリズムに基づき前記第2のアカウントの公開鍵を使用して暗号化される前記残高移動の第2の量および第2の乱数と、
    1つまたは複数の選択された乱数に基づいて生成される値のセットと
    を受信する動作と、
    前記デジタル署名されたコピーに対応するデジタル署名を、前記デジタル署名を生成するために使用される秘密鍵に対応する前記第1のアカウントの第2の公開鍵を使用して検証する動作と、
    前記暗号化された第1および第2の量、前記暗号化された第1および第2の乱数、ならびに値の前記セットに基づいて、前記第1の量と前記第2の量が同じであるかどうか、および、前記第1の乱数と前記第2の乱数が同じであるかどうかを前記確率論的HEアルゴリズムの性質を用いて決定する動作と、
    前記第1の量と前記第2の量が同じであり、前記第1の乱数と前記第2の乱数が同じであるとの決定に応答して、前記残高移動の前記第1の量に基づいて前記第1のアカウントの前記残高および前記第2のアカウントの残高を更新する動作と
    を含み、
    前記選択された乱数がr*、t*、z1*、およびz2*によって表され、前記選択された乱数がa、b、c、d、C、D、およびEを生成するために使用され、a=r*+xr、b=t*+xt、c=z1*+xz1、d=z2*+xz2、C=gr*ht*、D=u2r*v2z1*、かつE=u2t*v2z2*であり、rが前記第1の乱数であり、tが前記残高移動の前記第1の量であり、z1およびz2が、前記第2の量および前記第2の乱数を暗号化するために使用される乱数であり、xは、C、D、E、およびgをハッシュすることに基づいて生成されるハッシュ値であり、g、h、u2、およびv2が楕円曲線のジェネレータであり
    gahb=CTx、u2av2c=DZ_B1x、かつu2bv2d=EZ_B2xである場合、前記第1の量と前記第2の量が同じであると決定され、かつ前記第1の乱数と前記第2の乱数が同じであると決定され、T=grhtが前記残高移動の量のコミットメント値であり、Z_B1=u2rv2z1、Z_B2=u2tv2z2である、システム。
JP2021065216A 2018-11-07 2021-04-07 準同型暗号を使用したブロックチェーンデータ保護 Active JP7123208B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021065216A JP7123208B2 (ja) 2018-11-07 2021-04-07 準同型暗号を使用したブロックチェーンデータ保護

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019521681A JP2020502864A (ja) 2018-11-07 2018-11-07 準同型暗号を使用したブロックチェーンデータ保護
PCT/CN2018/114344 WO2019072264A2 (en) 2018-11-07 2018-11-07 PROTECTION OF BLOCK CHAIN DATA USING A HOMOMORPHIC ENCRYPTION
JP2021065216A JP7123208B2 (ja) 2018-11-07 2021-04-07 準同型暗号を使用したブロックチェーンデータ保護

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2019521681A Division JP2020502864A (ja) 2018-11-07 2018-11-07 準同型暗号を使用したブロックチェーンデータ保護

Publications (2)

Publication Number Publication Date
JP2021140156A JP2021140156A (ja) 2021-09-16
JP7123208B2 true JP7123208B2 (ja) 2022-08-22

Family

ID=66100057

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019521681A Pending JP2020502864A (ja) 2018-11-07 2018-11-07 準同型暗号を使用したブロックチェーンデータ保護
JP2021065216A Active JP7123208B2 (ja) 2018-11-07 2021-04-07 準同型暗号を使用したブロックチェーンデータ保護

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2019521681A Pending JP2020502864A (ja) 2018-11-07 2018-11-07 準同型暗号を使用したブロックチェーンデータ保護

Country Status (17)

Country Link
US (1) US10664835B2 (ja)
EP (1) EP3545483B1 (ja)
JP (2) JP2020502864A (ja)
KR (1) KR102215245B1 (ja)
CN (1) CN110073633B (ja)
AU (1) AU2018348317B2 (ja)
BR (1) BR112019008148B1 (ja)
CA (1) CA3041200C (ja)
ES (1) ES2881319T3 (ja)
MX (1) MX2019004656A (ja)
PH (1) PH12019500898B1 (ja)
PL (1) PL3545483T3 (ja)
RU (1) RU2727161C1 (ja)
SG (1) SG11201903553VA (ja)
TW (1) TWI695613B (ja)
WO (1) WO2019072264A2 (ja)
ZA (1) ZA201902554B (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11777729B2 (en) 2017-01-20 2023-10-03 Enveil, Inc. Secure analytics using term generation and homomorphic encryption
US11507683B2 (en) 2017-01-20 2022-11-22 Enveil, Inc. Query processing with adaptive risk decisioning
US11196541B2 (en) 2017-01-20 2021-12-07 Enveil, Inc. Secure machine learning analytics using homomorphic encryption
US10790960B2 (en) 2017-01-20 2020-09-29 Enveil, Inc. Secure probabilistic analytics using an encrypted analytics matrix
US10873568B2 (en) 2017-01-20 2020-12-22 Enveil, Inc. Secure analytics using homomorphic and injective format-preserving encryption and an encrypted analytics matrix
US10972251B2 (en) 2017-01-20 2021-04-06 Enveil, Inc. Secure web browsing via homomorphic encryption
CN112929181B (zh) * 2018-05-08 2024-01-02 维萨国际服务协会 抗Sybil攻击身份的生成
US10902133B2 (en) 2018-10-25 2021-01-26 Enveil, Inc. Computational operations in enclave computing environments
EP3545640B1 (en) * 2018-11-07 2021-04-07 Advanced New Technologies Co., Ltd. Blockchain data protection using homomorphic encryption
US10817262B2 (en) 2018-11-08 2020-10-27 Enveil, Inc. Reduced and pipelined hardware architecture for Montgomery Modular Multiplication
DE102019002731A1 (de) 2019-04-15 2020-10-15 Giesecke+Devrient Gesellschaft mit beschränkter Haftung Gerät zum direkten Übertragen von elektronischen Münzdatensätzen an ein anderes Gerät sowie Bezahlsystem
CN110020541B (zh) * 2019-04-19 2020-11-03 北京理工大学 一种基于区块链的隐私保护的声誉评价方法及***
CN110224985B (zh) * 2019-05-07 2022-07-08 平安科技(深圳)有限公司 数据处理的方法及相关装置
CN110276684B (zh) * 2019-05-20 2021-04-23 创新先进技术有限公司 结合交易类型和事件函数类型的收据存储方法和节点
CN110348231B (zh) * 2019-06-18 2020-08-14 阿里巴巴集团控股有限公司 实现隐私保护的数据同态加解密方法及装置
US10778410B2 (en) 2019-06-18 2020-09-15 Alibaba Group Holding Limited Homomorphic data encryption method and apparatus for implementing privacy protection
CN110730187A (zh) * 2019-10-22 2020-01-24 全链通有限公司 基于区块链的交易验证方法、记账节点及介质
CN110827121B (zh) * 2019-10-22 2023-08-18 全链通有限公司 基于区块链的电子投标方法、设备及存储介质
CN110768979B (zh) * 2019-10-22 2021-12-24 吕春芳 一种基于蚂蚁算法的区块链大数据处理方法及***
CN110830452A (zh) * 2019-10-22 2020-02-21 全链通有限公司 基于区块链的电子投标方法、设备及存储介质
CN110766407A (zh) * 2019-10-22 2020-02-07 全链通有限公司 基于区块链的交易验证方法、记账节点及介质
US11328080B2 (en) 2019-11-18 2022-05-10 Frostbyte, Llc Cryptographic key management
CN111194066B (zh) * 2020-01-10 2022-02-11 中国联合网络通信集团有限公司 一种基站联盟方法及装置
EP3794484B1 (en) 2020-02-03 2024-04-17 Alipay (Hangzhou) Information Technology Co., Ltd. Blockchain-based trustable guarantees
WO2020098837A2 (en) 2020-02-03 2020-05-22 Alipay (Hangzhou) Information Technology Co., Ltd. Blockchain-based trustable guarantees
CN111417945B (zh) 2020-02-03 2022-06-17 支付宝(杭州)信息技术有限公司 基于区块链的可信保函
WO2020098836A2 (en) 2020-02-03 2020-05-22 Alipay (Hangzhou) Information Technology Co., Ltd. Blockchain-based trustable gurantees
EP3799644B1 (en) 2020-02-03 2022-11-02 Alipay (Hangzhou) Information Technology Co., Ltd. Blockchain-based trustable guarantees
SG11202012925RA (en) 2020-02-03 2021-01-28 Alipay Hangzhou Inf Tech Co Ltd Blockchain-based trustable guarantees
CN111160913B (zh) * 2020-04-02 2020-07-17 支付宝(杭州)信息技术有限公司 区块链账户余额的存证、恢复方法及装置
SG11202102583UA (en) 2020-06-08 2021-04-29 Alipay Labs Singapore Pte Ltd Blockchain-based document registration for custom clearance
EP3841491B1 (en) 2020-06-08 2023-08-02 Alipay Labs (Singapore) Pte. Ltd. Blockchain-based smart contract pools
SG11202103081RA (en) 2020-06-08 2021-04-29 Alipay Labs Singapore Pte Ltd Distributed storage of custom clearance data
CN111868725B (zh) 2020-06-08 2024-05-24 支付宝实验室(新加坡)有限公司 基于区块链处理进口海关清关数据
SG11202103063PA (en) 2020-06-08 2021-04-29 Alipay Labs Singapore Pte Ltd Managing user authorizations for blockchain-based custom clearance services
SG11202102366SA (en) 2020-06-08 2021-04-29 Alipay Labs Singapore Pte Ltd User management of blockchain-based custom clearance service platform
DE102020004122A1 (de) 2020-07-08 2022-01-13 Giesecke+Devrient Gesellschaft mit beschränkter Haftung Bezahlsystem, münzregister, teilnehmereinheit, transaktionsregister, überwachungsregister und verfahren zum bezahlen mit elektronischen münzdatensätzen
US11601258B2 (en) 2020-10-08 2023-03-07 Enveil, Inc. Selector derived encryption systems and methods
CN113627911A (zh) * 2021-09-03 2021-11-09 杭州复杂美科技有限公司 一种基于区块链匿名收发红包的方法、设备及储存介质
CN117726421B (zh) * 2024-02-07 2024-06-21 湖南三湘银行股份有限公司 一种应用于银行的权益管理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003141380A (ja) 2001-10-30 2003-05-16 Nippon Telegr & Teleph Corp <Ntt> 電子マッチング方法、その装置のプログラム及びその記録媒体
US20160358165A1 (en) 2015-06-08 2016-12-08 Blockstream Corporation Cryptographically concealing amounts transacted on a ledger while preserving a network's ability to verify the transaction
US20170134158A1 (en) 2015-11-09 2017-05-11 CertSIGN S.A. Fully Homomorphic Encryption from Monoid Algebras
US20180025435A1 (en) 2016-07-22 2018-01-25 Nec Europe Ltd. Method for secure ledger distribution and computer system using secure distributed ledger technology

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7434726B2 (en) * 2006-05-15 2008-10-14 Pitney Bowes Inc. Method and system for postdating of financial transactions
JP5578754B2 (ja) 2007-01-22 2014-08-27 日本電信電話株式会社 暗号変換方法および装置、並びにプログラム
US20090327141A1 (en) * 2007-04-18 2009-12-31 Rabin Michael O Highly efficient secrecy-preserving proofs of correctness of computation
US20120296829A1 (en) * 2010-01-22 2012-11-22 International Business Machines Corporation Unlinkable Priced Oblivious Transfer with Rechargeable Wallets
US8861716B2 (en) 2010-03-30 2014-10-14 International Business Machines Corporation Efficient homomorphic encryption scheme for bilinear forms
US20120317034A1 (en) * 2011-06-13 2012-12-13 Microsoft Corporation Transparent virtual currency using verifiable tokens
US10096008B2 (en) * 2012-09-10 2018-10-09 Mastercard International Incorporated Methods and systems for processing electronic disbursements
EP3251046B1 (fr) * 2015-01-30 2021-03-24 Enrico Maim Systèmes et procédés pour la gestion d'engagements en réseau d'entités sécurisées
US10791123B2 (en) * 2015-11-25 2020-09-29 Yaron Gvili Selectivity in privacy and verification with applications
US10333715B2 (en) * 2016-11-14 2019-06-25 International Business Machines Corporation Providing computation services with privacy
WO2018115567A1 (en) * 2016-12-19 2018-06-28 Nokia Technologies Oy Method and apparatus for private data transfer between parties
CN106910072A (zh) * 2017-02-15 2017-06-30 捷德(中国)信息科技有限公司 数字货币管理方法和***
CN107240018A (zh) * 2017-07-25 2017-10-10 成都励睿德企业管理有限公司 一种用于支付区块链网络中交易费用的方法和***
CN108418783B (zh) * 2017-09-01 2021-03-19 矩阵元技术(深圳)有限公司 一种保护区块链智能合约隐私的方法、介质
CN108021821A (zh) * 2017-11-28 2018-05-11 北京航空航天大学 多中心区块链交易隐私保护***及方法
US11257077B2 (en) * 2017-11-30 2022-02-22 Visa International Service Association Blockchain system for confidential and anonymous smart contracts
CN108335106A (zh) * 2018-01-24 2018-07-27 深圳壹账通智能科技有限公司 基于区块链的零知识多账本兑换转账方法、装置及存储介质
CN108377189B (zh) * 2018-05-09 2021-01-26 深圳壹账通智能科技有限公司 区块链上用户通信加密方法、装置、终端设备及存储介质
CN108632293B (zh) * 2018-05-16 2021-08-06 山东建筑大学 基于区块链技术的建筑设备物联网***与方法
CN108764874B (zh) * 2018-05-17 2021-09-07 深圳前海微众银行股份有限公司 基于区块链的匿名转账方法、***及存储介质
CN109584055B (zh) * 2018-09-20 2020-07-03 阿里巴巴集团控股有限公司 基于区块链的交易方法、装置和汇出方设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003141380A (ja) 2001-10-30 2003-05-16 Nippon Telegr & Teleph Corp <Ntt> 電子マッチング方法、その装置のプログラム及びその記録媒体
US20160358165A1 (en) 2015-06-08 2016-12-08 Blockstream Corporation Cryptographically concealing amounts transacted on a ledger while preserving a network's ability to verify the transaction
US20170134158A1 (en) 2015-11-09 2017-05-11 CertSIGN S.A. Fully Homomorphic Encryption from Monoid Algebras
US20180025435A1 (en) 2016-07-22 2018-01-25 Nec Europe Ltd. Method for secure ledger distribution and computer system using secure distributed ledger technology

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
安坂祐紀 ほか,プライバシーを考慮したブロックチェーンの取引者間事前合意プロトコル,コンピュータセキュリティシンポジウム2018論文集,日本,一般社団法人情報処理学会,2018年10月15日,Vol.2018, No.2,pp.850-856,情報処理学会シンポジウムシリーズ

Also Published As

Publication number Publication date
RU2727161C1 (ru) 2020-07-21
AU2018348317A1 (en) 2020-05-21
BR112019008148A2 (pt) 2019-09-10
EP3545483A2 (en) 2019-10-02
US20190251554A1 (en) 2019-08-15
MX2019004656A (es) 2019-08-12
ES2881319T3 (es) 2021-11-29
CA3041200A1 (en) 2019-04-18
CN110073633A (zh) 2019-07-30
ZA201902554B (en) 2019-12-18
PH12019500898A1 (en) 2019-11-11
CA3041200C (en) 2020-07-14
JP2020502864A (ja) 2020-01-23
CN110073633B (zh) 2023-03-31
EP3545483A4 (en) 2020-01-08
SG11201903553VA (en) 2019-05-30
US10664835B2 (en) 2020-05-26
TW202019121A (zh) 2020-05-16
WO2019072264A2 (en) 2019-04-18
KR102215245B1 (ko) 2021-02-16
AU2018348317B2 (en) 2020-05-28
BR112019008148B1 (pt) 2021-08-10
PL3545483T3 (pl) 2021-10-25
TWI695613B (zh) 2020-06-01
JP2021140156A (ja) 2021-09-16
PH12019500898B1 (en) 2019-11-11
WO2019072264A3 (en) 2019-08-22
EP3545483B1 (en) 2021-04-28
KR20200054128A (ko) 2020-05-19

Similar Documents

Publication Publication Date Title
JP7123208B2 (ja) 準同型暗号を使用したブロックチェーンデータ保護
JP6767580B2 (ja) 準同型暗号を使用したブロックチェーンデータ保護
CN111602161B (zh) 基于通用账户模型和同态加密的区块链数据保护
CN110402561B (zh) 基于通用账户模型和同态加密的区块链数据保护
JP6830530B2 (ja) アカウントモデルの下でパブリックおよびプライベートトランザクションをサポートするブロックチェーンシステム
JP2020503718A (ja) ゼロ知識証明を用いたアカウント注釈モデルに基づくブロックチェーンデータの保護
KR102266206B1 (ko) 합의 노드와 클라이언트 노드 간의 통신을 관리하는 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210510

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220809

R150 Certificate of patent or registration of utility model

Ref document number: 7123208

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150