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

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

Info

Publication number
JP2019537348A
JP2019537348A JP2019521714A JP2019521714A JP2019537348A JP 2019537348 A JP2019537348 A JP 2019537348A JP 2019521714 A JP2019521714 A JP 2019521714A JP 2019521714 A JP2019521714 A JP 2019521714A JP 2019537348 A JP2019537348 A JP 2019537348A
Authority
JP
Japan
Prior art keywords
random number
account
transaction
blockchain
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019521714A
Other languages
English (en)
Other versions
JP6767580B2 (ja
Inventor
ウェンビン・ジャン
バオリ・マ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of JP2019537348A publication Critical patent/JP2019537348A/ja
Application granted granted Critical
Publication of JP6767580B2 publication Critical patent/JP6767580B2/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/38Payment protocols; Details thereof
    • 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/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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/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
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Power Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本開示の実装形態は、第1のアカウントからコンセンサスノードによって、トランザクション量のコミットメント値のデジタル署名されたコピー、第1のアカウントの公開鍵を使用して暗号化される第2の乱数、第2のアカウントの公開鍵を使用して暗号化される第3の乱数、1つまたは複数の範囲プルーフ、および1つまたは複数の選択された乱数に基づいて生成される値のセットを受信することを含む。コンセンサスノードは次いで、デジタル署名されたコピーに対応するデジタル署名を、デジタル署名を生成するために使用される秘密鍵に対応する第1のアカウントの公開鍵を使用して検証する。コンセンサスノードはまた、第1の乱数、第2の乱数、および第3の乱数が同じである場合、残高移動の量に基づいて第1のアカウントの残高および第2のアカウントの残高を更新する。

Description

準同型暗号を使用したブロックチェーンデータ保護に関する。
ブロックチェーンシステム、コンセンサスネットワーク、分散型台帳システムネットワーク、またはブロックチェーンとも呼ばれ得るブロックチェーンネットワークは、参加するエンティティが安全にかつ変更不可能にデータを記憶することを可能にする。ブロックチェーンはトランザクションの台帳システムとして記述されることが可能であり、台帳の複数のコピーがブロックチェーンネットワークにわたって記憶される。例示的なタイプのブロックチェーンには、パブリックブロックチェーン、パーミッションドブロックチェーン、およびプライベートブロックチェーンがあり得る。パブリックブロックチェーンは、そのブロックチェーンを使用してコンセンサスプロセスに参加することがすべてのエンティティに開かれている。パーミッションドブロックチェーンは、パブリックブロックチェーンに似ているが、加わるための許可を得たエンティティだけに開かれている。プライベートブロックチェーンは、読取りパーミッションおよび書込みパーミッションを中央集権的に制御する特定のエンティティだけに提供される。
ブロックチェーンは、参加者が暗号通貨を使用して商品および/またはサービスを購入/販売するために取引を行うことを可能にする、暗号通貨ネットワークにおいて使用される。一般的な暗号通貨にはビットコインがある。暗号通貨ネットワークでは、ユーザ間の取引を記録するために記録管理モデルが使用される。例示的な記録管理モデルには、未使用トランザクションアウトプット(UTXO: unspent transaction output)モデルおよびアカウント残高(account balance)モデルがある。UTXOモデルでは、各トランザクションは、前のトランザクションからのアウトプットを使用し、後のトランザクションにおいて使用され得る新しいアウトプットを生成する。ユーザの未使用のトランザクションが追跡され、ユーザの保有する残高がユーザのすべての未使用のトランザクションの合計として計算される。アカウント残高モデルでは、各ユーザのアカウント残高がグローバル状態として追跡される。各トランザクションに対して、使用するアカウントの残高がトランザクションの量以上であることを確実にするために、その残高が確認される。これは従来の銀行業と同等である。
ブロックチェーン台帳は一連のブロックを含み、その各々がネットワークにおいて実行される1つまたは複数のトランザクションを含む。各ブロックは台帳のページに類似していることがあるが、ブロックチェーン自体が台帳の完全なコピーである。個々のトランザクションが確認されてブロックに追加され、ブロックはブロックチェーンに追加される。ブロックチェーン台帳のコピーは、ネットワークの複数のノードにわたって複製される。このようにして、ブロックチェーンの状態についてグローバルな合意ができる。さらに、ブロックチェーンは、少なくともパブリックネットワークの場合には、すべてのノードが閲覧のために公開されている。ブロックチェーンユーザのプライバシーを保護するために、暗号化技術が実装され得る。
アカウントモデルのもとでは、トランザクションの双方の関係者がコミットする対象の値を隠すために、コミットメントスキームが使用され得る。コミットメントスキームは、関係者が選択または値をコミットし、関与する他の関係者にその値を後で伝えることの必要性から生じ得る。たとえば、対話型のPedersenコミットメントでは、関係者Aは、乱数rに基づいて生成されるコミットメント値PC(r,t)を送信することによって、トランザクション量tをコミットすることができる。コミットメント値が生成され、関係者Bは乱数rを得ることによってのみトランザクション量tを明らかにすることができる。
本開示の実装形態は、ユーザによる確認、対話、およびトランザクション量またはアカウント残高の暴露を伴わない、ブロックチェーントランザクションのプライバシーが保護された検証のための、コンピュータ実施方法を含む。より具体的には、本開示の実装形態は、トランザクション量、アカウント残高、または他のブロックチェーンノードへのコミットメントを生成するための乱数を明らかにすることなく、コミットメントスキームおよび準同型暗号に基づいて、ブロックチェーンユーザ間のトランザクションを承認することを対象とする。
いくつかの実装形態では、活動は、第1のアカウントから、第1の乱数に基づいて生成される第1のアカウントから第2のアカウントへ移されるべきトランザクション量のコミットメント値のデジタル署名されたコピー、第1のアカウントの公開鍵を使用して暗号化される第2の乱数、第2のアカウントの公開鍵を使用して暗号化される第3の乱数、1つまたは複数の範囲プルーフ、および1つまたは複数の選択された乱数に基づいて生成される値のセットを受信することと、デジタル署名されたコピーに対応するデジタル署名を、デジタル署名を生成するために使用される秘密鍵に対応する第1のアカウントの公開鍵を使用して検証することと、トランザクション量が0より大きく第1のアカウントの残高以下であることを1つまたは複数の範囲プルーフが証明していると決定することと、値のセットに基づいて第1の乱数、第2の乱数、および第3の乱数が同じであるかどうかを決定することと、第1の乱数、第2の乱数、および第3の乱数が同じである場合、残高移動の量に基づいて第1のアカウントの残高および第2のアカウントの残高を更新することとを含む。他の実装形態は、対応するシステムと、装置と、コンピュータ記憶デバイスに符号化される、方法の活動を実行するように構成されるコンピュータプログラムとを含む。
これらおよび他の実装形態は各々、以下の特徴のうちの1つまたは複数を任意選択で含み得る。コミットメント値が、準同型であるコミットメントスキームを使用して生成される。コミットメントスキームが、Pedersenコミットメントスキームである。第2の乱数および第3の乱数が、HE(a+b)=HE(a)*HE(b)かつHE(ab)=HE(b)aという線形の性質を有する決定論的準同型暗号(HE)スキームに基づいて暗号化され、aおよびbがHEのために使用されるプレーンテキストである。選択された乱数がr1およびt1によって表され、選択された乱数がr2およびt2を生成するために使用され、r2=r1+xr、t2=t1+xtであり、r1およびt1が1つまたは複数の選択された乱数を表し、rが第1の乱数であり、tが残高移動の量であり、xがハッシュ値である。値のセットがさらにT1、T1'、およびT1''に基づいて生成され、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''をハッシュ化することに基づいて生成される。第1の乱数、第2の乱数、および第3の乱数が、決定論的HEの性質に基づいて同じであると決定される。第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)およびHE_A(r2)がそれぞれ、第1のアカウントの公開鍵を使用してrおよびr2のHEに基づいて生成され、HE_B(r)およびHE_B(r2)が第2のアカウントの公開鍵を使用してrおよびr2のHEに基づいて生成される。T、T'、およびT''が、トランザクション量tの暗号文を形成する。第1のアカウントの残高および第2のアカウントの残高を更新することが、準同型暗号に基づいて実行される。
本開示はまた、1つまたは複数のプロセッサによって実行されると、本明細書で提供される方法の実装形態に従って1つまたは複数のプロセッサに動作を実行させる命令が記憶された、1つまたは複数のプロセッサに結合される1つまたは複数の非一時的コンピュータ可読記憶媒体を提供する。
本開示はさらに、本明細書で提供される方法を実施するためのシステムを提供する。システムは、1つまたは複数のプロセッサと、1つまたは複数のプロセッサによって実行されると1つまたは複数のプロセッサに本明細書で提供される方法の実装形態に従って動作を実行させる命令が記憶された、1つまたは複数のプロセッサに結合されるコンピュータ可読記憶媒体とを含む。
本開示による方法は、本明細書で説明される態様および特徴の任意の組合せを含み得ることを理解されたい。すなわち、本開示による方法は、本明細書で特に説明される態様および特徴の組合せに限定されず、提供される態様および特徴の任意の組合せも含む。
本開示の1つまたは複数の実装形態の詳細は、添付の図面および以下の説明に記載される。本開示の他の特徴および利点が、説明および図面から、ならびに特許請求の範囲から明らかになるであろう。
本開示の実装形態を実行するために使用され得る例示的な環境の図である。 本開示の実装形態による例示的な概念のアーキテクチャの図である。 本開示の実装形態による、準同型暗号に基づくブロックチェーントランザクションのプライバシーが保護された承認の例示的な方法の図である。 本開示の実装形態による、準同型暗号に基づく例示的なブロックチェーントランザクションの図である。 本開示の実装形態による、準同型暗号に基づくブロックチェーントランザクションのプライバシーが保護された承認の別の例示的な方法の図である。 本開示の実装形態による、準同型暗号に基づく別の例示的なブロックチェーントランザクションの図である。 本開示の実装形態に従って実行され得る例示的なプロセスの図である。 本開示の実装形態に従って実行され得る別の例示的なプロセスの図である。
様々な図における同様の参照記号は同様の要素を示す。
本開示の実装形態は、ユーザによる確認、対話、およびトランザクション量またはアカウント残高の暴露を伴わない、ブロックチェーントランザクションのプライバシーが保護された検証のための、コンピュータ実施方法を含む。より具体的には、本開示の実装形態は、トランザクション量、アカウント残高、または他のブロックチェーンノードへのコミットメントを生成するための乱数を明らかにすることなく、コミットメントスキームおよび準同型暗号(HE)に基づいて、ブロックチェーンユーザ間のトランザクションを承認することを対象とする。
本開示の、および上で紹介された実装形態のさらなる背景を提供すると、コンセンサスネットワーク(たとえば、ピアツーピアノードからなる)、分散型台帳システム、または単にブロックチェーンとも呼ばれ得る、ブロックチェーンネットワークは、参加するエンティティが安全かつ変更不可能にトランザクションを行いデータを記憶することを可能にする。ブロックチェーンは、パブリックブロックチェーン、プライベートブロックチェーン、またはコンソーシアムブロックチェーンとして提供され得る。本開示の実装形態は、参加するエンティティの間で公開されているパブリックブロックチェーンに関して、本明細書でさらに詳細に説明される。しかしながら、本開示の実装形態はあらゆる適切なタイプのブロックチェーンにおいて実現され得ることが企図される。
パブリックブロックチェーンでは、コンセンサスプロセスはコンセンサスネットワークのノードによって制御される。たとえば、数百、数千、さらには数百万ものエンティティがパブリックブロックチェーンに参加することができ、それらの各々がパブリックブロックチェーンの中の少なくとも1つのノードを運用する。したがって、パブリックブロックチェーンは、参加するエンティティに関して公開のネットワークであると見なされ得る。いくつかの例では、ブロックが有効となりブロックチェーンに追加されるには、過半数のエンティティ(ノード)がそれぞれのブロックに署名しなければならない。例示的なパブリックブロックチェーンには、ピアツーピア支払ネットワーク(暗号通貨ネットワーク)であるビットコインネットワークにおいて使用されるブロックチェーンがある。ブロックチェーンという用語は一般にビットコインネットワークに関して言及されるが、本明細書では、ブロックチェーンは、ビットコインネットワークに特に言及することなく分散型台帳を全般的に指す。
一般に、パブリックブロックチェーンはパブリックトランザクションをサポートする。パブリックトランザクションはブロックチェーン内のノードのすべてと共有され、ブロックチェーン台帳はすべてのノードにわたって複製される。すなわち、すべてのノードがブロックチェーンに関して完全にコンセンサスのとれた状態にある。コンセンサス(たとえば、ブロックチェーンへのブロックの追加に対する合意)を達成するために、ブロックチェーンネットワーク内でコンセンサスプロトコルが実装される。例示的なコンセンサスプロトコルには、限定はされないが、ビットコインネットワークにおいて実装されるプルーフオブワーク(POW)がある。
本開示の実装形態は、上記の背景に鑑みてここでさらに詳細に説明される。より具体的には、上で紹介されたように、本開示の実装形態は、トランザクション量、アカウント残高、または他のブロックチェーンノードへのコミットメントを生成するための乱数を明らかにすることなく、コミットメントスキームおよびHEに基づいて、ブロックチェーンユーザ間のトランザクションを承認することを対象とする。
本開示の実装形態によれば、ブロックチェーントランザクションは、トランザクションアカウント残高、トランザクション量、またはコミットメントを生成するために使用される乱数を明らかにすることなく、コミットメントに基づいて承認されブロックチェーン(台帳)に記録され得る。乱数を使用してトランザクション量のコミットメントを生成するために、Pedersenコミットメント(PC)などのコミットメントスキームが使用され得る。トランザクション量および乱数は、確率的または決定論的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に示されない)、およびコンセンサスノードとも呼ばれるブロックチェーンノード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 (12)

  1. ブロックチェーンネットワークのコンセンサスノードによって実行されるコンピュータ実施方法であって、
    第1のアカウントから、第1の乱数に基づいて生成される前記第1のアカウントから第2のアカウントへ移されるべきトランザクション量のコミットメント値のデジタル署名されたコピー、前記第1のアカウントの公開鍵を使用して暗号化される第2の乱数、前記第2のアカウントの公開鍵を使用して暗号化される第3の乱数、1つまたは複数の範囲プルーフ、および1つまたは複数の選択された乱数に基づいて生成される値のセットを受信するステップと、
    前記デジタル署名されたコピーに対応するデジタル署名を、前記デジタル署名を生成するために使用される秘密鍵に対応する前記第1のアカウントの公開鍵を使用して検証するステップと、
    前記トランザクション量が0より大きく、かつ前記第1のアカウントの残高以下であることを、前記1つまたは複数の範囲プルーフが証明していると決定するステップと、
    値の前記セットに基づいて、前記第1の乱数、前記第2の乱数、および前記第3の乱数が同じであるかどうかを決定するステップと、
    前記第1の乱数、前記第2の乱数、および前記第3の乱数が同じである場合、前記残高移動の前記量に基づいて前記第1のアカウントの前記残高および前記第2のアカウントの残高を更新するステップとを備える、コンピュータ実施方法。
  2. 前記コミットメント値が、準同型であるコミットメントスキームを使用して生成される、請求項1に記載のコンピュータ実施方法。
  3. 前記コミットメントスキームがPedersenコミットメントスキームである、請求項2に記載のコンピュータ実施方法。
  4. 前記第2の乱数および前記第3の乱数が、HE(a+b)=HE(a)*E(b)かつHE(ab)=HE(b)aという線形の性質を有する決定論的準同型暗号(HE)スキームに基づいて暗号化され、aおよびbがHEに使用されるプレーンテキストである、請求項1に記載のコンピュータ実施方法。
  5. 前記選択された乱数がr1およびt1によって表され、前記選択された乱数がr2およびt2を生成するために使用され、r2=r1+xr、t2=t1+xtであり、r1およびt1が前記1つまたは複数の選択された乱数を表し、rが前記第1の乱数であり、tが前記残高移動の前記量であり、xがハッシュ値である、請求項4に記載のコンピュータ実施方法。
  6. 値の前記セットがさらに、T1、T1'、およびT1''に基づいて生成され、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''をハッシュ化することに基づいて生成される、請求項5に記載のコンピュータ実施方法。
  7. 前記第1の乱数、前記第2の乱数、および前記第3の乱数が、決定論的HEの性質に基づいて同じであると決定される、請求項6に記載のコンピュータ実施方法。
  8. gr2ht2=TxT1、HE_A(r2)=T'xT1'、かつHE_B(r2)=T''xT1''である場合、前記第1の乱数、前記第2の乱数、および前記第3の乱数が同じであると決定され、T=grht、T'=HE_A(r)、かつT''=HE_B(r)であり、HE_A(r)およびHE_A(r2)がそれぞれ、前記第1のアカウントの前記公開鍵を使用してrおよびr2のHEに基づいて生成され、HE_B(r)およびHE_B(r2)が、前記第2のアカウントの前記公開鍵を使用してrおよびr2のHEに基づいて生成される、請求項6に記載のコンピュータ実施方法。
  9. T、T'、およびT''が、前記トランザクション量tの暗号文を形成する、請求項1に記載のコンピュータ実施方法。
  10. 前記第1のアカウントの前記残高および前記第2のアカウントの残高を更新することが準同型暗号に基づいて実行される、請求項1に記載のコンピュータ実施方法。
  11. 前記1つまたは複数のプロセッサによって実行されると、請求項1から10のうちの1つまたは複数の方法に従って前記1つまたは複数のプロセッサに動作を実行させる命令が記憶された、1つまたは複数のプロセッサに結合される、非一時的コンピュータ可読記憶媒体。
  12. コンピューティングデバイスと、
    前記コンピューティングデバイスによって実行されると、請求項1から10のうちの1つまたは複数の方法に従って前記コンピューティングデバイスに動作を実行させる命令が記憶された、前記コンピューティングデバイスに結合される、コンピュータ可読記憶デバイスとを備える、システム。
JP2019521714A 2018-11-07 2018-11-07 準同型暗号を使用したブロックチェーンデータ保護 Active JP6767580B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/114421 WO2019072269A2 (en) 2018-11-07 2018-11-07 PROTECTION OF BLOCK CHAIN DATA USING A HOMOMORPHIC ENCRYPTION

Publications (2)

Publication Number Publication Date
JP2019537348A true JP2019537348A (ja) 2019-12-19
JP6767580B2 JP6767580B2 (ja) 2020-10-14

Family

ID=66100026

Family Applications (1)

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

Country Status (16)

Country Link
US (1) US10615960B2 (ja)
EP (1) EP3545640B1 (ja)
JP (1) JP6767580B2 (ja)
KR (1) KR102348768B1 (ja)
CN (1) CN110546667B (ja)
AU (1) AU2018348319B2 (ja)
BR (1) BR112019008151A2 (ja)
CA (1) CA3041161C (ja)
ES (1) ES2876926T3 (ja)
MX (1) MX2019004662A (ja)
PH (1) PH12019500877A1 (ja)
PL (1) PL3545640T3 (ja)
RU (1) RU2708344C1 (ja)
SG (1) SG11201903552PA (ja)
TW (1) TWI718585B (ja)
WO (1) WO2019072269A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020512572A (ja) * 2018-12-21 2020-04-23 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited 汎用アカウントモデルおよび準同型暗号化に基づいたブロックチェーンデータ保護

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10880275B2 (en) 2017-01-20 2020-12-29 Enveil, Inc. Secure analytics using homomorphic and injective format-preserving encryption
US10693627B2 (en) 2017-01-20 2020-06-23 Enveil, Inc. Systems and methods for efficient fixed-base multi-precision exponentiation
US11196541B2 (en) 2017-01-20 2021-12-07 Enveil, Inc. Secure machine learning analytics using homomorphic encryption
US11507683B2 (en) 2017-01-20 2022-11-22 Enveil, Inc. Query processing with adaptive risk decisioning
US10790960B2 (en) 2017-01-20 2020-09-29 Enveil, Inc. Secure probabilistic analytics using an encrypted analytics matrix
US11777729B2 (en) 2017-01-20 2023-10-03 Enveil, Inc. Secure analytics using term generation and homomorphic encryption
EP3628113B1 (en) * 2018-05-08 2023-08-23 Visa International Service Association Sybil-resistant identity generation
CN109359971B (zh) 2018-08-06 2020-05-05 阿里巴巴集团控股有限公司 区块链交易方法及装置、电子设备
CN112651740A (zh) * 2018-08-30 2021-04-13 创新先进技术有限公司 区块链交易方法及装置、电子设备
US10902133B2 (en) 2018-10-25 2021-01-26 Enveil, Inc. Computational operations in enclave computing environments
US10817262B2 (en) 2018-11-08 2020-10-27 Enveil, Inc. Reduced and pipelined hardware architecture for Montgomery Modular Multiplication
EP3568826B1 (en) 2018-12-29 2021-09-29 Advanced New Technologies Co., Ltd. System and method for information protection
DE102019002732A1 (de) * 2019-04-15 2020-10-15 Giesecke+Devrient Gesellschaft mit beschränkter Haftung Verfahren zum direkten Übertragen von elektronischen Münzdatensätzen zwischen Endgeräten sowie Bezahlsystem
US11444776B2 (en) * 2019-05-01 2022-09-13 Kelce S. Wilson Blockchain with daisy chained records, document corral, quarantine, message timestamping, and self-addressing
CN113139873A (zh) * 2019-08-30 2021-07-20 创新先进技术有限公司 在区块链中并发执行交易的方法和装置
EP3861676A1 (en) * 2019-10-21 2021-08-11 Google LLC Verifiable consent for privacy protection
CN110766400B (zh) * 2019-10-22 2023-01-13 全链通有限公司 基于区块链的交易记录处理方法、记账节点及介质
CN111078787B (zh) * 2019-11-11 2023-07-21 重庆邮电大学 一种基于随机数映射的区块链共识方法
CN111104968B (zh) * 2019-12-02 2023-04-18 北京理工大学 一种基于区块链的安全svm训练方法
CN113055177B (zh) * 2019-12-27 2022-08-16 深圳市迅雷网络技术有限公司 区块链系统及数值信息传输方法、系统、装置、介质
CN113128999B (zh) * 2019-12-31 2024-04-12 航天信息股份有限公司 一种区块链隐私保护方法及装置
CN113065951A (zh) * 2020-01-02 2021-07-02 苏州同济区块链研究院有限公司 基于区块链的交易方法、系统、装置、设备及介质
WO2020098834A2 (en) 2020-02-03 2020-05-22 Alipay (Hangzhou) Information Technology Co., Ltd. Blockchain-based trustable gurantees
WO2020098833A2 (en) 2020-02-03 2020-05-22 Alipay (Hangzhou) Information Technology Co., Ltd. Blockchain-based trustable gurantees
WO2020098837A2 (en) 2020-02-03 2020-05-22 Alipay (Hangzhou) Information Technology Co., Ltd. Blockchain-based trustable guarantees
WO2020098835A2 (en) 2020-02-03 2020-05-22 Alipay (Hangzhou) Information Technology Co., Ltd. Blockchain-based trustable gurantees
WO2020098838A2 (en) 2020-02-03 2020-05-22 Alipay (Hangzhou) Information Technology Co., Ltd. Blockchain-based trustable gurantees
CN113826134B (zh) 2020-02-03 2024-05-28 支付宝(杭州)信息技术有限公司 基于区块链的可信保函
CN111523891B (zh) * 2020-04-23 2023-11-24 腾讯科技(深圳)有限公司 基于区块链的信息加密方法、装置、设备及存储介质
EP3844654B1 (en) 2020-06-08 2023-05-17 Alipay Labs (Singapore) Pte. Ltd. Blockchain-based document registration for custom clearance
EP3844699A4 (en) 2020-06-08 2021-08-18 Alipay Labs (Singapore) Pte. Ltd. BLOCKCHAIN-BASED PROCESSING OF IMPORT CLEARANCE DATA
EP3844655B1 (en) 2020-06-08 2023-05-03 Alipay Labs (Singapore) Pte. Ltd. Managing user authorizations for blockchain-based custom clearance services
CN111989663A (zh) 2020-06-08 2020-11-24 支付宝实验室(新加坡)有限公司 基于区块链的智能合约池
CN111936995A (zh) 2020-06-08 2020-11-13 支付宝实验室(新加坡)有限公司 海关清关数据的分布式存储
EP3841507B1 (en) 2020-06-08 2023-04-26 Alipay Labs (Singapore) Pte. Ltd. User management of blockchain-based custom clearance service platform
US20220083683A1 (en) * 2020-09-11 2022-03-17 Transparent Financial Systems, Inc. Distributed self-governing computer network to correlate blockchain and private computer system transactions method, apparatus, and system
US11601258B2 (en) 2020-10-08 2023-03-07 Enveil, Inc. Selector derived encryption systems and methods
US11588617B2 (en) * 2020-11-01 2023-02-21 The Toronto-Dominion Bank Validating confidential data using homomorphic computations
CN113159762B (zh) * 2021-01-28 2024-04-09 武汉天喻信息产业股份有限公司 基于Paillier和博弈论的区块链交易方法
CN112769542B (zh) * 2021-04-12 2021-06-11 富算科技(上海)有限公司 基于椭圆曲线的乘法三元组生成方法、装置、设备及介质
CN113821789B (zh) * 2021-09-26 2023-06-23 北京邮电大学 基于区块链的用户密钥生成方法、装置、设备及介质
CN114092242A (zh) * 2021-11-03 2022-02-25 支付宝(杭州)信息技术有限公司 基于范围证明实现隐私交易的方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016051122A1 (en) * 2014-09-30 2016-04-07 Kabushiki Kaisha Toshiba Homomorphic based method for distributing data from one or more metering devices to two or more third parties
US20160162897A1 (en) * 2014-12-03 2016-06-09 The Filing Cabinet, LLC System and method for user authentication using crypto-currency transactions as access tokens
WO2018015177A1 (en) * 2016-07-22 2018-01-25 NEC Laboratories Europe GmbH Method for secure ledger distribution and computer system using secure distributed ledger technology
CN108021821A (zh) * 2017-11-28 2018-05-11 北京航空航天大学 多中心区块链交易隐私保护系统及方法
WO2018087836A1 (ja) * 2016-11-09 2018-05-17 株式会社日立製作所 ブロックチェーン取引システムおよびブロックチェーン取引方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8744077B2 (en) * 2008-10-28 2014-06-03 International Business Machines Corporation Cryptographic encoding and decoding of secret data
CN102598576B (zh) * 2009-10-29 2014-09-17 三菱电机株式会社 数据处理装置
US8630422B2 (en) * 2009-11-10 2014-01-14 International Business Machines Corporation Fully homomorphic encryption method based on a bootstrappable encryption scheme, computer program and apparatus
US8861716B2 (en) * 2010-03-30 2014-10-14 International Business Machines Corporation Efficient homomorphic encryption scheme for bilinear forms
US8731199B2 (en) * 2012-09-28 2014-05-20 Sap Ag Zero knowledge proofs for arbitrary predicates over data
FR3001848B1 (fr) * 2013-02-01 2015-01-09 Morpho Procede de chiffrement homomorphe pour le ou exclusif et calcul securise d'une distance de hamming
US10083310B1 (en) * 2013-03-13 2018-09-25 Hrl Laboratories, Llc System and method for mobile proactive secure multi-party computation (MPMPC) using commitments
US9875370B2 (en) * 2015-03-26 2018-01-23 Microsoft Technology Licensing, Llc Database server and client for query processing on encrypted data
US11062303B2 (en) * 2015-06-08 2021-07-13 Blockstream Corporation Cryptographically concealing amounts transacted on a ledger while preserving a network's ability to verify the transaction
CN106548330B (zh) * 2016-10-27 2018-03-16 上海亿账通区块链科技有限公司 基于区块链的交易验证方法及系统
CN106571905B (zh) * 2016-11-02 2019-05-17 南京邮电大学 一种数值型数据同态保序加密方法
CN106549749B (zh) * 2016-12-06 2019-12-24 杭州趣链科技有限公司 一种基于加法同态加密的区块链隐私保护方法
WO2018115567A1 (en) * 2016-12-19 2018-06-28 Nokia Technologies Oy Method and apparatus for private data transfer between parties
CN106845960B (zh) * 2017-01-24 2018-03-20 上海壹账通区块链科技有限公司 基于区块链的安全交易方法及系统
US10277395B2 (en) * 2017-05-19 2019-04-30 International Business Machines Corporation Cryptographic key-generation with application to data deduplication
CN107294698B (zh) * 2017-07-25 2019-11-26 西安电子科技大学 单密文同态计算的全同态加密方法
CN108764874B (zh) * 2018-05-17 2021-09-07 深圳前海微众银行股份有限公司 基于区块链的匿名转账方法、系统及存储介质
CN111833186A (zh) * 2018-09-20 2020-10-27 创新先进技术有限公司 基于区块链的交易方法、装置和节点设备
CN110326013A (zh) * 2018-11-07 2019-10-11 阿里巴巴集团控股有限公司 在账户模型下支持公开交易和私有交易的区块链系统
CA3041160C (en) * 2018-11-07 2022-11-29 Alibaba Group Holding Limited Blockchain data protection based on account note model with zero-knowledge proof
RU2727161C1 (ru) * 2018-11-07 2020-07-21 Алибаба Груп Холдинг Лимитед Защита данных цепочек блоков с использованием гомоморфного шифрования

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016051122A1 (en) * 2014-09-30 2016-04-07 Kabushiki Kaisha Toshiba Homomorphic based method for distributing data from one or more metering devices to two or more third parties
US20160162897A1 (en) * 2014-12-03 2016-06-09 The Filing Cabinet, LLC System and method for user authentication using crypto-currency transactions as access tokens
WO2018015177A1 (en) * 2016-07-22 2018-01-25 NEC Laboratories Europe GmbH Method for secure ledger distribution and computer system using secure distributed ledger technology
WO2018087836A1 (ja) * 2016-11-09 2018-05-17 株式会社日立製作所 ブロックチェーン取引システムおよびブロックチェーン取引方法
CN108021821A (zh) * 2017-11-28 2018-05-11 北京航空航天大学 多中心区块链交易隐私保护系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
FRANCA, B. F., HOMOMORPHIC MINI-BLOCKCHAIN SCHEME, JPN6020019192, 2015, ISSN: 0004281146 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020512572A (ja) * 2018-12-21 2020-04-23 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited 汎用アカウントモデルおよび準同型暗号化に基づいたブロックチェーンデータ保護
US11063769B2 (en) 2018-12-21 2021-07-13 Advanced New Technologies Co., Ltd. Blockchain data protection based on generic account model and homomorphic encryption

Also Published As

Publication number Publication date
KR20200054129A (ko) 2020-05-19
US10615960B2 (en) 2020-04-07
AU2018348319A1 (en) 2020-05-21
WO2019072269A3 (en) 2019-09-12
TWI718585B (zh) 2021-02-11
KR102348768B1 (ko) 2022-01-06
CA3041161C (en) 2021-10-12
AU2018348319B2 (en) 2020-10-01
JP6767580B2 (ja) 2020-10-14
CN110546667B (zh) 2023-08-18
BR112019008151A2 (pt) 2019-09-10
CA3041161A1 (en) 2019-04-18
PL3545640T3 (pl) 2021-10-18
EP3545640B1 (en) 2021-04-07
CN110546667A (zh) 2019-12-06
EP3545640A4 (en) 2020-01-08
US20190253235A1 (en) 2019-08-15
PH12019500877A1 (en) 2019-12-02
MX2019004662A (es) 2019-08-21
RU2708344C1 (ru) 2019-12-05
TW202019123A (zh) 2020-05-16
ES2876926T3 (es) 2021-11-15
EP3545640A2 (en) 2019-10-02
SG11201903552PA (en) 2019-05-30
WO2019072269A2 (en) 2019-04-18

Similar Documents

Publication Publication Date Title
JP7123208B2 (ja) 準同型暗号を使用したブロックチェーンデータ保護
JP6767580B2 (ja) 準同型暗号を使用したブロックチェーンデータ保護
KR102213414B1 (ko) 일반 계정 모델 및 동형 암호화 기반의 블록 체인 데이터 보호
RU2733223C1 (ru) Защита данных цепочек блоков на основе общей модели на основе счетов и гомоморфного шифрования
JP6830530B2 (ja) アカウントモデルの下でパブリックおよびプライベートトランザクションをサポートするブロックチェーンシステム
JP2020503718A (ja) ゼロ知識証明を用いたアカウント注釈モデルに基づくブロックチェーンデータの保護
KR102266206B1 (ko) 합의 노드와 클라이언트 노드 간의 통신을 관리하는 방법
JP2020504920A (ja) ワークフローに基づくブロックチェーンネットワーク上での非公開のトランザクションの管理

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190531

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200318

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200828

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200917

R150 Certificate of patent or registration of utility model

Ref document number: 6767580

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250