JP6808057B2 - 汎用アカウントモデルおよび準同型暗号化に基づいたブロックチェーンデータ保護 - Google Patents

汎用アカウントモデルおよび準同型暗号化に基づいたブロックチェーンデータ保護 Download PDF

Info

Publication number
JP6808057B2
JP6808057B2 JP2019540590A JP2019540590A JP6808057B2 JP 6808057 B2 JP6808057 B2 JP 6808057B2 JP 2019540590 A JP2019540590 A JP 2019540590A JP 2019540590 A JP2019540590 A JP 2019540590A JP 6808057 B2 JP6808057 B2 JP 6808057B2
Authority
JP
Japan
Prior art keywords
transaction
node
random number
commitment
blockchain
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
JP2019540590A
Other languages
English (en)
Other versions
JP2020512572A (ja
JP2020512572A5 (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 アドバンスド ニュー テクノロジーズ カンパニー リミテッド
Publication of JP2020512572A publication Critical patent/JP2020512572A/ja
Publication of JP2020512572A5 publication Critical patent/JP2020512572A5/ja
Application granted granted Critical
Publication of JP6808057B2 publication Critical patent/JP6808057B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • 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/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • 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/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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

汎用アカウントモデルおよび準同型暗号化に基づいたブロックチェーンデータ保護にかんする。
ブロックチェーンシステム、コンセンサスネットワーク、分散型台帳システムネットワーク、またはブロックチェーンとも称され得る、ブロックチェーンネットワークは、関与エンティティが安全かつ変更不可能な形でデータを記憶することを可能にする。ブロックチェーンはトランザクションの台帳として説明することができ、ブロックチェーンの複数のコピーがブロックチェーンネットワークにわたって記憶される。例示的なタイプのブロックチェーンは、パブリックブロックチェーン、コンソーシアムブロックチェーン、およびプライベートブロックチェーンを含み得る。パブリックブロックチェーンは、ブロックチェーンを使用し、コンセンサスプロセスに関与するように、すべてのエンティティに対してオープンとなっている。コンソーシアムブロックチェーンは、コンセンサスプロセスがある組織または機関などの事前に選択されたノードのセットによって制御されるブロックチェーンである。プライベートブロックチェーンは、読込みパーミッションおよび書込みパーミッションを中央集権的に制御する特定のエンティティに対して提供されるものである。
ブロックチェーンは、様々なレコードキーピングモデルを使用してユーザ間のトランザクションを記録することを可能にしている。例示的なレコードキーピングモデルは、未使用トランザクションアウトプット(UTXO)モデルとアカウント残高モデルとを含む。UTXOモデルにおいては、各トランザクションは、以前のトランザクションからのアウトプットを使用し、以後のトランザクションにおいて使用され得る新たなアウトプットを生成する。ユーザの未使用トランザクションはトラッキングされ、支出するのに利用可能な残高は未使用トランザクションの合計として算出される。アカウント残高モデルにおいては、各ユーザのアカウント残高は大域状態としてトラッキングされる。各トランザクションについては、支出アカウントの残高をチェックして、それがトランザクション金額より大きいまたはトランザクション金額と等しいことを確認する。このことは、従来の銀行業務と類似している。
ブロックチェーンは、その各々がネットワークにおいて実行される1つまたは複数のトランザクションを含む一連のブロックを含む。各ブロックは台帳のページに相当し得る一方で、ブロックチェーンそのものは台帳と完全に瓜二つである。個々のトランザクションが確認されるとともにブロックに追加され、ブロックはブロックチェーンに追加される。ブロックチェーンのコピーがネットワークのノードにわたって複製される。このように、ブロックチェーンの状態に対してグローバルコンセンサスが存在している。さらに、ブロックチェーンは、少なくともパブリックネットワークのケースにおいては、確かめられるようにすべてのノードに対してオープンとなっている。ブロックチェーンユーザのプライバシーを保護するために、暗号化技術が施されている。
アカウント残高モデルの下では、コミットメントスキームは、トランザクションの関係者の双方がコミットする秘匿化された値に対して使用され得る。コミットメントスキームは、選択肢または値をコミットするという関係者にとっての必要性から生じており、その値を関与している他の関係者に後ほど通信し得る。例えば、インタラクティブPedersenコミットメント(PC)スキームにおいては、第1のユーザは、乱数値rに基づいて生成されたコミットメント値PC(t, r)を送信することによってトランザクション金額tをコミットし得る。コミットメント値が生成されると、第2のユーザのみが、乱数rを取得することによってトランザクション金額tを明らかにすることができる。トランザクション金額が有効であることを保証するために、範囲証明が、トランザクション金額がゼロ以上かつアカウント残高以下であることを証明するべく生成される。
いくつかのケースにおいては、複数のトランザクションがユーザからなされ得る。範囲証明がアカウントの残りの残高と関連付けられているため、複数のトランザクションはブロックチェーンにおいてシーケンシャルに検証される必要がある。そのため、対応する範囲証明は、各トランザクション後のアカウントの残りの残高と正確に関連付けられ得る。しかしながら、シーケンシャルに複数のトランザクションを検証することは多大な時間を必要とし得る。特に時間的制約のあるタスクにとって、トランザクションのパラレル検証を可能とするレコードキーピングモデルが有利なものとなり得る。
本明細書の実施形態は、ブロックチェーントランザクションの非インタラクティブプライバシー保護型検証のためのコンピュータ実施方法を含む。より詳細には、本明細書の実施形態は、コミットメントを生成するために、トランザクション金額、アカウント残高、または乱数などのプライバシー情報を、他のブロックチェーンノードに公開することなく、コミットメントスキームおよび準同型暗号化に基づいて、パラレルにブロックチェーンノードのアカウントに関連付けられた複数のトランザクションの有効性を確認することを可能とするコンピュータ実施方法を目的としている。
いくつかの実施形態においては、アクションは、トランザクションに関連付けられたトランザクションデータを受信するステップであって、トランザクションデータは、複数のアセットを表すデータ、トランザクションの第1の乱数とトランザクション金額とを秘匿化している第1のコミットメント、第2の乱数と複数のアセットの総額からトランザクション金額を差し引くことに基づいて算出された残金とを秘匿化している第2のコミットメント、線形決定論的暗号化(HE)スキームに基づいて第2のノードの公開鍵によって双方が暗号化されているトランザクション金額および第3の乱数、線形決定論的HEスキームに基づいて第1のノードの公開鍵によって双方が暗号化されている残金および第4の乱数、1つまたは複数の範囲証明、ゼロ知識証明(ZKP)、ならびに第1のノードの公開鍵に対応する秘密鍵に基づいて生成された電子署名を含む、ステップと、第1のノードの公開鍵に基づいて電子署名を検証するステップと、トランザクション金額と残金との各々がゼロより大きいまたはゼロと等しいことを1つまたは複数の範囲証明が証明していると決定するステップと、複数のアセットの総額がトランザクション金額と残金との合計と等しいと決定するステップと、第1の乱数が第3の乱数と等しく、第2の乱数が第4の乱数と等しく、第1のコミットメントにおいて秘匿化されているトランザクション金額が第2のノードの公開鍵によって暗号化されたトランザクション金額と等しいと決定することによって、ZKPに基づいて、トランザクションが有効であると決定するステップとを含む。他の実施形態は、対応する、システムと、装置と、コンピュータストレージデバイス上に符号化された、方法のアクションを行うように構成される、コンピュータプログラムとを含む。
これらおよび他の実施形態の各々は、次の特徴のうちの1つまたは複数を必要に応じて含み得る。トランザクションは、第1のノードに関連付けられたアカウントと第2のノードに関連付けられたアカウントとの間で行われ、方法は、トランザクションが有効であると決定した後に、トランザクション金額と残金とに基づいて、第1のノードのアカウントと第2のノードのアカウントとを更新するステップであって、複数のアセットの各々は、アセットタイプ、コミットメントにおいて秘匿化されているアセット額面、およびコミットメントを生成するために使用された乱数のうちの1つまたは複数に関連付けられる、ステップと、複数のアセットの各々が同一のアセットタイプに関連付けられていると決定するステップとをさらに含み、第1のコミットメント、第2のコミットメント、およびアセット額面を秘匿化しているコミットメントは、準同型であるコミットメントスキームに基づいて生成され、複数のアセットの総額がトランザクション金額と残金との合計と等しいと決定するステップは、コミットメントスキームの準同型に基づいて行われ、線形決定論的HEスキームは、確率的HEスキームに関連付けられた乱数を固定数に変更することに基づいて確率的HEスキームから導出され、ZKPは、第5の乱数と第6の乱数とを秘匿化しているコミットメントを含み、第5の乱数と第6の乱数との暗号文は、線形決定論的HEスキームに基づいて、第2のアカウントの公開鍵によって暗号化され、第5の乱数と第6の乱数との暗号文は、線形決定論的HEスキームに基づいて、第1のアカウントの公開鍵によって暗号化され、ZKPは、トランザクションが線形決定論的HEの特性に基づいて有効であると決定するために生成および使用され、トランザクションが有効であると決定するステップは、ブロックチェーンネットワークの外部を経由し、第1のノードと第2のノードとの間のインタラクションを用いることなく、ZKPに基づいて行われる。
本明細書はまた、1つまたは複数のプロセッサに結合されているとともに命令を記憶している1つまたは複数の非一時的コンピュータ可読記憶媒体を提供しており、命令は、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、本明細書で提供した方法の実施形態に従った動作を行わせる。
本明細書は、本明細書で提供した方法を実施するためのシステムをさらに提供している。システムは、1つまたは複数のプロセッサと、1つまたは複数のプロセッサに結合されるとともに命令を記憶しているコンピュータ可読記憶媒体であって、1つまたは複数のプロセッサによって実行されると、命令は、1つまたは複数のプロセッサに、本明細書で提供した方法の実施形態による動作を行わせる、コンピュータ可読記憶媒体とを含む。
本明細書において説明した発明特定事項の実施形態は、特定の利点または技術的効果を実現するために実施され得る。例えば、本明細書の実施形態は、ブロックチェーンノードのアカウント残高およびトランザクション金額がトランザクションの間は非公開となるようにすることを可能にする。資金移動の受領側は、トランザクションを確認することまたは乱数を使用してコミットメントを検証することをする必要がないため、トランザクションの有効性確認は、非インタラクティブであり得る。ブロックチェーンノードは、HEおよびコミットメントスキームに基づいてトランザクションの有効性を確認してゼロ知識証明を可能にし得る。
説明した方法論は、様々なモバイルコンピューティングデバイスのアカウント/データセキュリティの向上を可能にしている。アカウントの残高およびランザクション金額は、HEに基づいて暗号化され、コミットメントスキームによって秘匿化され得る。そのため、コンセンサスノードは、アカウントの実際のアカウント残高を公開することなく、HEの特性に基づいてトランザクション後に台帳においてアカウント残高を更新することができる。トランザクションを確認するために受領側に乱数を送信する必要がないため、データ漏洩のリスクを低減することができ、乱数を管理するために使用するために必要なコンピューティングリソースおよびメモリリソースをより少なくしている。
本明細書による方法が本明細書に記載の態様と特徴との任意の組合せを含み得ることは諒解されよう。すなわち、本明細書による方法は、特に本明細書に記載の態様と特徴との組合せに限定されるわけではなく、提供した態様と特徴との任意の組合せも含む。
本明細書の1つまたは複数の実施形態の詳細を添付の図面および以下の説明に記載している。本明細書の他の特徴および利点が、説明および図面から、および特許請求の範囲から明らかとなるであろう。
本明細書の実施形態を実行するために使用され得る環境の例を示す図である。 本明細書の実施形態による、概念的機構の例を示す図である。 準同型暗号化に基づいたブロックチェーントランザクションのプライバシー保護された有効性確認のプロセスの例を示す図である。 本明細書の実施形態による、ブロックチェーントランザクションの例を示す図である。 準同型暗号化に基づいたブロックチェーントランザクションのプライバシー保護された有効性確認のプロセスの別の例を示す図である。 本明細書の実施形態により行われ得る方法の例を示す図である。 本明細書の実施形態により行われ得る方法の別の例を示す図である。 本明細書の実施形態によるプロセスを行い得るブロックチェーンノードの例を示す図である。
様々な図面における類似の参照記号は類似の要素を示す。
本明細書の実施形態は、ブロックチェーントランザクションの非インタラクティブプライバシー保護型検証のためのコンピュータ実施方法を含む。より詳細には、本明細書の実施形態は、コミットメントを生成するために、トランザクション金額、アカウント残高、または乱数などのプライバシー情報を、他のブロックチェーンノードに公開することなく、コミットメントスキームおよび準同型暗号化に基づいて、パラレルにブロックチェーンノードのアカウントに関連付けられた複数のトランザクションの有効性を確認することを可能とするコンピュータ実施方法を目的としている。いくつかの実施形態においては、アクションは、トランザクションに関連付けられたトランザクションデータを受信するステップであって、トランザクションデータは、複数のアセットを表すデータ、トランザクションの第1の乱数とトランザクション金額とを秘匿化している第1のコミットメント、第2の乱数と複数のアセットの総額からトランザクション金額を差し引くことに基づいて算出された残金とを秘匿化している第2のコミットメント、線形決定論的準同型暗号化(HE)スキームに基づいて第2のノードの公開鍵によって双方が暗号化されているトランザクション金額および第3の乱数、線形決定論的HEスキームに基づいて第1のノードの公開鍵によって双方が暗号化されている残金および第4の乱数、1つまたは複数の範囲証明、ゼロ知識証明(ZKP)、ならびに第1のノードの公開鍵に対応する秘密鍵に基づいて生成された電子署名を含む、ステップと、第1のノードの公開鍵に基づいて電子署名を検証するステップと、トランザクション金額と残金との各々がゼロより大きいまたはゼロと等しいことを1つまたは複数の範囲証明が証明していると決定するステップと、複数のアセットの総額がトランザクション金額と残金との合計と等しいと決定するステップと、第1の乱数が第3の乱数と等しく、第2の乱数が第4の乱数と等しく、第1のコミットメントにおいて秘匿化されているトランザクション金額が第2のノードの公開鍵によって暗号化されたトランザクション金額と等しいと決定することによって、ZKPに基づいて、トランザクションが有効であると決定するステップとを含む。他の実施形態は、対応する、システムと、装置と、コンピュータストレージデバイス上に符号化された、方法のアクションを行うように構成される、コンピュータプログラムとを含む。
本明細書の実施形態についてのさらなる状況をあげるとすれば、上述したように、コンセンサスネットワーク(例えば、ピア・ツー・ピアノードで構成される)およびブロックチェーンネットワークとも称することができる分散型台帳システム(DLS)は、関与エンティティが安全かつ変更不可能な形でトランザクションを実施しデータを記憶することを可能にする。ブロックチェーンは、任意の特定のユースケースを指すわけではなくDLSを一般的に指すために本明細書では使用している。
ブロックチェーンは、トランザクションが変更不可能となる方法でトランザクションを記憶するデータ構造であり、後ほど検証することができる。ブロックチェーンは、1つまたは複数のブロックを含む。チェーン内の各ブロックは、前のブロックの暗号ハッシュを含めることによって、チェーン内のその直前にある前のブロックに連結される。各ブロックはまた、タイムスタンプ、それ自身の暗号ハッシュ、および1つまたは複数のトランザクションを含む。ブロックチェーンネットワークのノードによって既に検証されているトランザクションは、ハッシュ化され、Merkleツリーに符号化される。Merkleツリーは、ツリーのリーフノードにおけるデータがハッシュ化され、ツリーの各ブランチにおけるすべてのハッシュがブランチのルートにおいて連結されるデータ構造である。このプロセスは、ツリー全体のルートまでツリーの上方へと進行し続け、ツリー全体のルートは、ツリー内のすべてのデータを表すハッシュを記憶している。ツリーに記憶されているトランザクションであることを意味するハッシュは、それがツリーの構造と一致しているかどうかを決定することによって素早く検証され得る。
ブロックチェーンが、トランザクションを記憶するためのデータ構造であるのに対して、ブロックチェーンネットワークは、1つまたは複数のブロックチェーンを管理、更新、および維持するコンピューティングノードのネットワークである。上述したように、ブロックチェーンネットワークは、パブリックブロックチェーンネットワーク、プライベートブロックチェーンネットワーク、またはコンソーシアムブロックチェーンネットワークとして提供され得る。
パブリックブロックチェーンにおいては、コンセンサスプロセスは、コンセンサスネットワークのノードによって制御される。例えば、数百、数千、さらには数百万のエンティティは、その各々がパブリックブロックチェーン内の少なくとも1つのノードを管理するパブリックブロックチェーンに関与し得る。それゆえ、パブリックブロックチェーンを、関与エンティティに対するパブリックネットワークとみなすことができる。いくつかの例においては、大部分のエンティティ(ノード)は、ブロックを有効にしてブロックチェーンに追加するために、ブロックごとに署名する必要がある。例示的なパブリックブロックチェーンネットワークは、ブロックチェーンと称する分散型台帳を活用する特定のピア・ツー・ピア支払ネットワークを含む。しかしながら、上述したように、ブロックチェーンという用語は、任意の特定のブロックチェーンネットワークを特に指すわけではなく分散型台帳を一般的に指すために使用される。
一般に、パブリックブロックチェーンは、パブリックトランザクションをサポートする。パブリックトランザクションは、ブロックチェーン内のノードのすべてに共有され、ブロックチェーンは、すべてのノードにわたって複製される。すなわち、すべてのノードは、ブロックチェーンに関するコンセンサスの完全状態にある。コンセンサス(例えば、ブロックチェーンへのブロックの追加に対する合意)を得るために、コンセンサスプロトコルがブロックチェーンネットワークにおいて実施される。例示的なコンセンサスプロトコルは、プルーフ・オブ・ワーク(POW)、プルーフ・オブ・ステーク(POS)、およびプルーフ・オブ・オーソリティ(POA)を含むがこれらに限定されない。非限定的な例として、POWをここではさらに参照する。
本明細書の実施形態は、ブロックチェーントランザクションの非インタラクティブプライバシー保護型検証のためのコンピュータ実施方法を含む。より詳細には、本明細書の実施形態は、コミットメントを生成するために、トランザクション金額、アカウント残高、または乱数などのプライバシー情報を、他のブロックチェーンノードに公開することなく、コミットメントスキームおよび準同型暗号化に基づいて、パラレルにブロックチェーンノードのアカウントに関連付けられた複数のトランザクションの有効性を確認することを可能とするコンピュータ実施方法を目的としている。
本明細書の実施形態によれば、ブロックチェーンノードは、レコードキーピング方法としてパラレルトランザクション検証をサポートし得る汎用アカウントモデルを使用し得る。アカウント残高モデルと比較して、汎用アカウントモデルを採用しているブロックチェーンノードは、アカウント残高の代わりに複数のアセットのレコードを管理し得る。複数のアセットの各々は、アセットタイプ、アセットID、またはアセット額面のうちの少なくとも1つに関連付けられ得る。汎用アカウントモデルの下でのアセットは、貨幣資産または固定資産などの任意の形式またはタイプであり得る。貨幣資産は、実際の通貨または暗号通貨を含み得る。いくつかの実施形態においては、固定資産は、貨幣金額に関連付けられた貨幣資産に変換され得る。その後、貨幣金額は、ブロックチェーンネットワークのアカウント間でトランザクションを行うために使用され得る。例示を目的として、本明細書の実施形態において説明したアセットが、同一のタイプの通貨に変換され、汎用アカウントモデルの下でのブロックチェーンアカウントに保存されると仮定する。
データプライバシーを保護するために、ブロックチェーンユーザアカウントに関連付けられたトランザクション金額または貨幣金額情報を公開することなく、コミットメントに基づいてトランザクションをブロックチェーン(台帳)に記録することができる。コミットメントスキームは、乱数を使用してトランザクション金額のコミットメントを生成するために使用され得る。例示的なコミットメントスキームは、PCスキームを含むがこれに限定されない。トランザクション金額がコミットメントにおいて秘匿化されているため、1つまたは複数の範囲証明は、トランザクション金額がブロックチェーンユーザアカウントの額面を超過していないことを証明するために使用される。
アカウント残高モデルの下では、範囲証明は、アカウント残高に関連付けられる。2つ以上のトランザクションがなされたもののトランザクションのすべてがブロックチェーンにおいて有効性が確認されるとともに記録されているわけではない場合には、範囲証明は、不正確なアカウント残高に関連付けられることになり得る、したがって、無効となり得る。対して、汎用アカウントモデルの下では、アカウントの額面は、複数のアセットの合計として算出され得る。トランザクション金額がブロックチェーンユーザアカウント間で送金されることになる場合には、トランザクション金額より大きいまたはトランザクション金額と等しい総計額を有する複数のアセットの少なくとも一部が、トランザクション金額を負担するために使用され得る。さらなる送金は、残りのアセットが送金されることになる金額より大きい総計額を有しているという条件の下でなされ得る。そのトランザクションがブロックチェーンにおいて有効性が確認されるとともに記録されているわけではない場合でさえも、残りのアセットの総計額がトランザクション金額より大きいまたはトランザクション金額と等しいことを示す範囲証明は、まだ有効であり得る。したがって、2つ以上のトランザクション検証が、汎用アカウントモデルの下ではパラレルに行われ得る。
本明細書の実施形態によれば、ブロックチェーントランザクションは、トランザクションアカウント残高、トランザクション金額、またはコミットメントを生成するために使用された乱数を公開することなく、コミットメントに基づいて、ブロックチェーン(台帳)に対して有効性が確認されるとともに記録され得る。PCスキームなどのコミットメントスキームが、乱数に基づいてトランザクション金額のコミットメントを生成するために使用され得る。トランザクション金額および乱数は、確率的または線形決定論的HEを使用して暗号化され得る。トランザクション金額および乱数はまた、使用されるHEスキームの特性に基づいてトランザクションの有効性を確認するためにZKPとして値のセットを生成するために使用され得る。トランザクション金額のコミットメント、暗号化されたトランザクション金額および乱数、ならびにZKPが、アカウント残高、トランザクション金額、または乱数を公開することなく、トランザクションが有効であるかどうかを検証するためにブロックチェーンノードによって使用され得る。
図1は、本明細書の実施形態を実行するために使用され得る環境100の例を図示している。いくつかの例においては、例示的な環境100は、エンティティがパブリックブロックチェーン102に慣用することを可能にする。例示的な環境100は、コンピューティングシステム106、108、およびネットワーク110を含む。いくつかの例においては、ネットワーク110は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、またはその組合せを含み、ウェブサイト、ユーザデバイス(例えば、コンピューティングデバイス)、およびバックエンドシステムを接続する。いくつかの例においては、ネットワーク110は、有線および/または無線通信リンクを介してアクセスされ得る。
図示した例においては、コンピューティングシステム106、108の各々は、パブリックブロックチェーン102内のノードとして関与を可能にする任意の適切なコンピューティングシステムを含み得る。例示的なコンピューティングデバイスは、限定を意図したものではないが、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピューティングデバイス、およびスマートフォンを含む。いくつかの例においては、コンピューティングシステム106、108は、パブリックブロックチェーン102とやりとりするための1つまたは複数のコンピュータ実施サービスをホストする。例えば、コンピューティングシステム106は、第1のエンティティが1つまたは複数の他のエンティティ(例えば、他のユーザ)とのトランザクションを管理するために使用するトランザクション管理システムなどといった、第1のエンティティ(例えば、ユーザA)のコンピュータ実施サービスをホストすることができる。コンピューティングシステム108は、第2のエンティティが1つまたは複数の他のエンティティ(例えば、他のユーザ)とのトランザクションを管理するために使用するトランザクション管理システムなどといった、第2のエンティティ(例えば、ユーザB)のコンピュータ実施サービスをホストすることができる。図1の例においては、パブリックブロックチェーン102を、ノードのピア・ツー・ピアネットワークとして表しており、コンピューティングシステム106、108は、パブリックブロックチェーン102に関与する、第1のエンティティおよび第2のエンティティのノードをそれぞれ提供する。
図2は、本明細書の実施形態による、概念的機構200の例を図示している。例示的な概念的機構200は、エンティティレイヤ202、ホステッドサービスレイヤ204、およびパブリックブロックチェーンレイヤ206を含む。図示した例においては、エンティティレイヤ202は、3つのエンティティEntity_1(E1)、Entity_2(E2)、およびEntity_3(E3)を含み、各エンティティは、それぞれのトランザクション管理システム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とユーザノードBとのアカウントレコードは複数のアセットとして管理されている。額面の送金などのトランザクションがユーザノードA302からユーザノードBへとなされ得る。ユーザノードA302は、トランザクション金額以上の総額を有する1つまたは複数のアカウントアセットを選択して、トランザクションを負担し得る。1つまたは複数のアセットの総額とトランザクション金額との間の差額は、ユーザノードA302に残されたトランザクションの残金とみなされ得る。
アカウントプライバシーを保護するために、ユーザノードA302は、トランザクションを負担するために使用されるアセットの額面のコミットメントを生成し得る。ユーザノードA302はまた、トランザクションのトランザクション金額のコミットメントを生成し得る。ユーザノードA302はまた、HEを使用してトランザクション金額、残金、およびコミットメントを生成するために使用された乱数を暗号化し得る。トランザクションの有効性を検証するために、ブロックチェーンノード304は、コミットメントにおいて秘匿化されているトランザクション金額、残金、および乱数と、ZKPに基づいてHEによって暗号化されているトランザクション金額、残金、および乱数とを比較し得る。トランザクション金額、残金、および乱数が一致している場合には、トランザクションは、ブロックチェーンノード304によって有効であると決定される。プロセス300についてのさらなる詳細を図3についての以下の記載において説明する。
306において、ユーザノードA302は、トランザクション金額をユーザノードBに送金するために複数のアセットを選択する。ユーザノードA302およびユーザノードBは、ブロックチェーンコンセンサスノードまたはコンセンサスプロセスに関与することなくブロックチェーンネットワークを使用しているユーザノードであり得る。前述したように、ユーザノードA302は、汎用アカウントモデルを使用してレコードを管理し得る。アカウント残高モデルの下でレコードについてのアカウント残高を管理する代わりに、ユーザノードA302のアカウントの額面は、それが処理するアセットの総額によって評価され得る。ユーザノードA302は、トランザクション金額を負担するのに十分な額面を有している複数のアセットを選択し得る。例えば、トランザクション金額が7.5米ドルである場合には、ユーザノードA302は、それぞれ5米ドル、2米ドル、および1米ドルの価値がある3つのアセットを選択して、トランザクション金額を負担し得る。
いくつかの実施形態においては、各アセットは、対応するアセットを識別するトランザクションアドレスまたはアセットIDに関連付けられ得る。アセットIDは、アセット情報のハッシュであり得る。k個の選択したアセットのアセットIDは、ID1, ..., IDkと表され得る。
308において、ユーザノードA302は、複数のアセットの総額およびトランザクション金額に基づいて残金を算出する。アセットがトランザクション金額より大きい総額を有するように選択されているため、残金は、トランザクション金額が差し引かれた選択したアセットの総額として算出され得る。トランザクション金額を表すためにtを使用するとともに残金を表すためにt0を使用すれば、残金の計算は、t0=a1+...+ak-tと表され得る、ここで、a1, ..., akは、それぞれ、トランザクション金額tを負担するためにユーザノードA302によって選択されたk個のアセットのアセット額面である。
310において、ユーザノードA302は、トランザクション金額に対応する乱数および残金に対応する乱数を生成する。トランザクション金額tに対応する乱数は、rと表され得る。残金t0に対応する乱数は、r0と表され得る。いくつかの実施形態においては、複数の乱数は、アセット額面のコミットメントを作成するために生成され得る。例えば、a1, ..., akがアセット額面であると仮定すると、アセット額面に対応する乱数は、ra1, … , rakと表され得る。
いくつかの実施形態においては、乱数r0は、ランダムに生成される代わりに算出され得る。計算は、r0=ra1+...+rak-rと表され得る、ここで、rはトランザクション金額tについてのコミットメントを作成するために生成された乱数である。算出した乱数r0を使用することによって、ユーザノードA302は、送金したアセットの総額が受領したアセットの総額と等しいことを証明するために追加のZKPを生成する必要がない。いくつかの実施形態においては、別の乱数r'が、ZKPを支援するために、r'=r1+…+rk-r-r0として計算され得る。
312において、ユーザノードA302は、トランザクション金額と残金とのコミットメントを生成し、確率的HEに基づいて対応する乱数を暗号化する。いくつかの実施形態においては、PCなどの準同型コミットメントスキームが、コミットメントを生成するために使用され得る。非限定的な例としてPCを使用して、トランザクション金額tのPCは、乱数rを使用して生成され得るし、PC(r, t)=grhtと表され得る、ここで、gおよびhは楕円曲線の生成元であり得るし、PC(r, t)は曲線の点についてのスカラ乗算である。同様に、残金t0のPCは、PC(r0, t0)=gr0ht0と表され得る。
乱数rは、Okamoto-Uchiyama(OU)暗号化スキームなどの確率的HEスキームに基づいてユーザノードBの公開鍵を使用して暗号化され得る。Boneh-Goh-Nissimなどの他のHEスキームも使用され得ることは理解されよう。非限定的な例としてOUを使用すれば、乱数は、OUB(r, t)=urvtまたは単にOUB(t)と表され得る乱数としてトランザクション金額tを処理することによってOUに基づいて暗号化され得る、ここで、uはv=un mod nかつn=p×qという条件を満足する(Z/nZ)*の元であり、pおよびqは2つの素数である。確率的OUは、OU(a+b)=OU(a)×OU(b)であるという特性を満足し得る、ここで、aおよびbはOUに対して使用される平文である。
乱数r0は、ユーザノードA302の公開鍵を使用して暗号化され得る。乱数は、OUA(r0, t0)と表され得る乱数として残金t0を処理することによってOUに基づいて暗号化され得る。
その後、トランザクション金額の暗号文がT=(PC(t, r), OUB(r, t))と表され得るし、残金の暗号文がT0=(PC(t0, r0), OUA(r0, t0))と表され得る。同様に、k個の選択したアセットの暗号文がTi=(PC(ti, ri), OUA(ri, ti))と表され得る、ここで、i=1, ..., kである。
314において、ユーザノードA302は、1つまたは複数の範囲証明を生成する。いくつかの実施形態においては、第1の範囲証明であるRP1は、トランザクション金額t≧0であることを示すために生成され得る。第2の範囲証明であるRP2は、残金t0≧0である、または、換言すれば、複数のアセットの総額がトランザクション金額以上であることを示すために生成され得る。
316において、ユーザノードA302は、ZKPを生成する。ZKPは、PCにおいて秘匿化されている乱数およびトランザクション金額(r, t)がOUB(r, t)において暗号化されている乱数およびトランザクション金額と同一であることと、PCにおいて秘匿化されている乱数およびトランザクション金額(r0, t0)がOUA(r0, t0)において暗号化されている乱数およびトランザクション金額と同一であることとを示すために使用され得る。ZKPを生成するために、2つの乱数t'1およびr'1が選択され得る。2つの乱数は、P=PC(t'1, r'1)、P'=OUB(r'1, t'1)、P''=OUA(r'1, t'1)である3つの値を生成するために使用され得る。3つの値は、その後、x=Hash(P, P', P'')と表されるハッシュを生成するために使用され得る。ハッシュ値xは、t'2=t'1+xt、r'2=r'1+xr、t'3=t'1+xt、およびr'3=r'1+xr0を計算するために使用され得る。ZKPは、その後、(P, P', t'2, r'2, P'', t'3, r'3)と表され得る。
318において、ユーザノードA302は、トランザクションデータを署名するために秘密鍵を使用して電子署名を生成する。いくつかの実施形態においては、トランザクションデータは、k個の選択したアセット(ID1, ..., IDk)のアセットID、トランザクション金額(T)の暗号文、残金(T0)の暗号文、範囲証明(RP1およびRP2)、乱数r'、およびZKPを含み得る。
320において、ユーザノードA302は、トランザクションデータの電子的に署名されたコピーをブロックチェーンネットワークに提示する。
322において、ブロックチェーンノード304は、電子署名を検証する。電子署名の検証は、トランザクションデータがユーザノードA302によって送信されていることを保証するために行われ得る。いくつかの実施形態においては、ブロックチェーンノード304は、トランザクションが既に行われているかを検証することができる二重支払い対策機構を含む。既に行われている場合には、ブロックチェーンノード304は、トランザクションを拒否し得る。
324において、ブロックチェーンノード304は、選択したアセットがユーザノードAのアカウントに関連付けられているかを検証する。検証は、アセットのアセットIDに基づき得る。
326において、ブロックチェーンノード304は、選択した複数のアセットの総額がトランザクション金額と残金との合計と等しいことを検証する。換言すれば、ブロックチェーンは、a1+...+ak=t+t0であることを検証する。前述したように、汎用アカウントモデルの下では、アセットは、データプライバシーを保護するためにPCとしてブロックチェーン上で管理され得る。PCの準同型に基づけば、PC(ra1, a1)×...×PC(rak, ak)=PC(ra1+...+rak, a1+...+ak)であり、PC(r, t)×PC(r0, t0)=PC(r+r0, t+t0)である。したがって、PC(ra1, a1)×...×PC(rak, ak)=PC(r, t)×PC(r0, t0)×gr'であることを示すことによって、a1+...+ak=t+t0であることを証明することができる。
328において、ブロックチェーンノード304は、1つまたは複数の範囲証明を検証する。
330において、ブロックチェーンノード304は、ZKPを検証する。上述したように、ZKPは、ユーザノードBの公開鍵を使用して暗号化されたトランザクション金額に対応する乱数がPCによって秘匿化されている対応する乱数と同一かどうか、およびユーザノードA302の公開鍵を使用して暗号化された残金に対応する乱数がPCによって秘匿化されている対応する乱数と同一かどうかを検証するために生成され得る。いくつかの実施形態においては、ZKPを検証するために、ブロックチェーンノード304は、x=Hash(P, P', P'')としてハッシュ値xをまず算出し得る。ブロックチェーンノード304は、その後、PC(t'2, r'2)=P×PC(t, r)x、OUB(r'2, t'2)=P'×OUB(r, t)x、PC(t'3, r'3)=P×PC(t0, r0)x、およびOUA(r'3, t'3)=P''×OUA(r0, t0)xのすべてが真であるかどうかを検証し得る。すべてが真である場合には、例示的なプロセス300は332に進む。さもなければ、ブロックチェーンノード304は、トランザクションを拒否し得る。
332において、ブロックチェーンノード304は、ユーザノードA302およびユーザノードBのアカウントを更新する。ユーザノードA302およびユーザノードBのアカウントは汎用アカウントモデルの下ではレコードとしてアセットを管理しているため、トランザクション後に、ユーザノードA302から送金された複数のアセットがユーザノードA302のアカウントから除去され得る。残金は、ユーザノードA302のアカウントに戻され追加され得る。トランザクション金額および対応するアセットIDが、新たなアセットとしてユーザノードBのアカウントに追加され得る。いくつかの実施形態においては、更新は、ユーザノードA302およびユーザノードBの対応するアカウントによって保持されているアセットリストを更新することに基づいて行われ得る。いくつかの実施形態においては、更新は、トランザクション金額と残金との暗号文をユーザノードA302およびユーザノードBによって保持されている暗号化されたアセット額面に追加することに基づいて行われ得る。アカウントの更新を図4を参照してさらに詳細にここで説明する。
図4は、本明細書の実施形態による、ブロックチェーントランザクション400の例を図示している。例示的なブロックチェーントランザクション400に示しているように、ユーザノードA402は、トランザクション金額tをユーザノードB404に送金している。トランザクション前には、ユーザノードA402は、(ID1, T1)、(ID2, T2)、(IDn, Tn)を含むn個のアセットを有している。
例として図3を参照して本明細書に記載した、コミットメントスキーム、暗号化スキーム、およびトランザクションを使用して、ユーザノードA402は、ID, ID2, …, IDkといったk個の選択したアセットのアセットIDを含む、トランザクションデータ408を生成し得る。トランザクションデータ408は、T0、T、RP1、RP2、r'、およびZKPをさらに含み得る。トランザクションデータ408を生成した後に、ユーザノードA402は、コンセンサスのために、その電子署名を追加して、電子的に署名されたトランザクションデータをブロックチェーンネットワーク406に提示し得る。
トランザクション後には、k個の選択したアセットを、ユーザアセットA402のアカウントから除去し得る。残金は、ユーザノードA402に戻され追加され得る。したがって、ユーザノードA402は、(IDk+1, Tk+1)、(IDk+2, Tk+2)、…、(IDn, Tn)、(ID0, T0)と表されるアセットを有し得る、ここで、ID0は残金t0のアセットIDを表す。
トランザクション前には、ユーザノードB404は、(ID1', T1')、(ID2', T2')、(IDm', Tm')と表されるm個のアセットを有している。トランザクション後には、トランザクション金額が、ユーザノードB404に追加され得る。ユーザノードB404は、(ID1', T1')、(ID2', T2')、(IDm', Tm')、(IDt, T)と表されるアセットを有し得る、ここで、IDtはトランザクション金額tのアセットIDを表す。
図5は、HEに基づいたブロックチェーントランザクションのプライバシー保護された有効性確認のプロセス500の例を図示している。高次においては、例示的なプロセス500は、ユーザノードA502と、ユーザノードB(図5には図示せず)と、コンセンサスノードとも称するブロックチェーンノード504とによって行われる。ユーザノードA502のアカウントおよびユーザノードBのアカウントの双方は、汎用アカウントモデルに基づき得る。額面の送金などのトランザクションがユーザノードA502からユーザノードBへとなされ得る。ユーザノードA502は、トランザクション金額以上の総額を有する1つまたは複数のアカウントアセットを選択して、トランザクションを負担し得る。1つまたは複数のアセットの総額とトランザクション金額との間の差額は、ユーザノードA502に残されたトランザクションの残金とみなされ得る。
アカウントプライバシーを保護するために、ユーザノードA502は、PCなどのコミットメントスキームを使用して、トランザクションを負担するために使用されるアセットの額面およびトランザクションの金額のコミットメントを生成し得る。ユーザノードA502はまた、線形決定論的HEを使用して、コミットメントを生成するために使用された乱数を暗号化し得る。線形決定論的HEは、HE(s+t)=HE×HE(t)かつHE(kt)=HE(t)kという特性を有し得る。トランザクションの有効性を検証するために、ブロックチェーンノード504は、コミットメントにおいて秘匿化されている乱数とZKPに基づいてHEによって暗号化されている乱数とを比較し得る。乱数が一致している場合には、トランザクションは、ブロックチェーンノード504によって有効であると決定され得る。例示的なプロセス500についてのさらなる詳細を図5についての以下の記載において説明する。
506において、ユーザノードA502は、トランザクション金額をユーザノードBに送金するために複数のアセットを選択する。ユーザノードA502およびユーザノードBは、ブロックチェーンコンセンサスノード、またはコンセンサスプロセスに関与することなくブロックチェーンネットワークを使用しているユーザノードであり得る。ユーザノードA502は、トランザクション金額を負担するのに十分な額面を有している複数のアセットを選択し得る。
いくつかの実施形態においては、各アセットは、対応するアセットを識別するトランザクションアドレスまたはアセットIDに関連付けられ得る。アセットIDは、アセット情報のハッシュであり得る。k個の選択したアセットのアセットIDは、ID1, ..., IDkと表され得る。
508において、ユーザノードA502は、複数のアセットの総額およびトランザクション金額に基づいて残金を算出する。アセットがトランザクション金額より大きい総額を有するように選択されているため、残金は、トランザクション金額が差し引かれた選択したアセットの総額として算出され得る。トランザクション金額を表すためにtを使用するとともに残金を表すためにt0を使用すれば、残金の計算は、t0=a1+...+ak-tと表され得る、ここで、a1, ..., akは、それぞれ、トランザクション金額tを負担するためにユーザノードA502によって選択されたk個のアセットのアセット額面である。
510において、ユーザノードA502は、トランザクション金額に対応する乱数および残金に対応する乱数を生成する。トランザクション金額tに対応する乱数は、rと表され得る。残金t0に対応する乱数は、r0と表され得る。いくつかの実施形態においては、複数の乱数は、アセット額面のコミットメントを作成するために生成され得る。例えば、a1, ..., akがアセット額面であると仮定すると、アセット額面に対応する乱数は、ra1, … , rakと表され得る。
いくつかの実施形態においては、乱数r0は、ランダムに生成される代わりに算出され得る。上記算出では、r0=ra1+...+rak-rと表され得る、ここで、rはトランザクション金額tについてのコミットメントを作成するために生成された乱数である。r0を算出することによって、ユーザノードA502は、送金したアセットの総額が受領したアセットの総額と等しいことを示すために追加のZKPを生成する必要がない。いくつかの実施形態においては、乱数r'は、r'=r1+…+rk-r-r0として算出され得る。
512において、ユーザノードA502は、トランザクション金額と残金とのコミットメントを生成し、決定論的HEに基づいて対応する乱数を暗号化する。いくつかの実施形態においては、PCなどの準同型コミットメントスキームが、コミットメントを生成するために使用され得る。非限定的な例としてPCを使用して、トランザクション金額tのPCは、乱数rを使用して生成され得るし、PC(r, t)=grhtと表され得る、ここで、gおよびhは楕円曲線の生成元であり得るし、PC(r, t)は曲線の点についてのスカラ乗算である。同様に、残金t0のPCは、PC(r0, t0)=gr0ht0と表され得る。
乱数rは、線形決定論的HEに基づいてユーザノードBの公開鍵を使用して暗号化され得る。線形決定論的HEは、HEスキームにおける乱数を0もしくは1または他の適切な数に調整することによって、Paillier、Benaloh、OU、Naccache-Stern、Boneh-Goh-Nissim、Damgard-Jurik、または等確率的HEなどといった確率的HEから得られ得る。暗号化された乱数は、HE(r)と表され得る。
乱数r0は、ユーザノードAの公開鍵を使用して暗号化され得る。乱数は、線形決定論的HEに基づいて暗号化され得る。暗号化された乱数は、HE(r0)と表され得る。
その後、トランザクション金額tの暗号文がT=(grht, HEB(r))と表され得るし、残金の暗号文がT0=(gr0ht0, HEA(r0))と表され得る。同様に、k個の選択したアセットの暗号文がTi=(grihti, HE(ri))と表され得る、ここで、i=1, ..., kである。
514において、ユーザノードA502は、1つまたは複数の範囲証明を生成する。いくつかの実施形態においては、第1の範囲証明であるRP1は、トランザクション金額t≧0であることを示すために生成され得る。第2の範囲証明であるRP2は、残金t0≧0である、または、換言すれば、複数のアセットの総額がトランザクション金額以上であることを示すために生成され得る。
516において、ユーザノードA502は、ZKPを生成する。ZKPは、PCにおいて秘匿化されている乱数(r, t)がHE(r)において暗号化されている乱数と同一であることと、PCにおいて秘匿化されている乱数(r0, t0)がHE(r0)において暗号化されている乱数と同一であることとを示すために使用され得る。ZKPを生成するために、2つの乱数t'1およびr'1が選択され得る。2つの乱数は、P=gr'1ht'1、P'=HEB(r'1)、P''=HEA(r'1)である3つの値を生成するために使用され得る。3つの値は、その後、x=Hash(P, P', P'')と表されるハッシュを生成するために使用され得る。ハッシュ値xは、t'2=t'1+xt、r'2=r'1+xr、t'3=t'1+xt、およびr'3=r'1+xr0を計算するために使用され得る。ZKPは、その後、(P, P', t'2, r'2, P'', t'3, r'3)と表され得る。
518において、ユーザノードA502は、トランザクションデータを署名するために秘密鍵を使用して電子署名を生成する。いくつかの実施形態においては、トランザクションデータは、k個の選択したアセット(ID1, ..., IDk)のアセットID、トランザクション金額(T)の暗号文、残金(T0)の暗号文、範囲証明(RP1およびRP2)、乱数r'、およびZKPを含み得る。
520において、ユーザノードA502は、トランザクションデータの電子的に署名されたコピーをブロックチェーンネットワークに提示する。
522において、ブロックチェーンノード504は、電子署名を検証する。電子署名の検証は、トランザクションデータがユーザノードA502によって送信されていることを保証するために行われ得る。いくつかの実施形態においては、ブロックチェーンノード504は、トランザクションが既に行われているかどうかを検証することができる二重支払い対策機構を含む。既に行われている場合には、ブロックチェーンノード504は、トランザクションを拒否し得る。
524において、ブロックチェーンノード504は、選択したアセットがユーザノードAのアカウントに関連付けられているかどうかを検証する。検証は、アセットのアセットIDに基づき得る。
526において、ブロックチェーンノード504は、選択した複数のアセットの総額がトランザクション金額と残金との合計と等しいことを検証する。換言すれば、ブロックチェーンノード504は、a1+...+ak=t+t0であることを検証する。前述したように、汎用アカウントモデルの下では、アセットは、データプライバシーを保護するためにPCとしてブロックチェーン上で管理され得る。PCの準同型に基づけば、PC(ra1, a1)×...×PC(rak, ak)=PC(ra1+...+rak, a1+...+ak)であり、PC(r, t)×PC(r0, t0)=PC(r+r0, t+t0)である。したがって、PC(ra1, a1)×...×PC(rak, ak)=PC(r, t)×PC(r0, t0)×gr'であることを示すことによって、a1+...+ak=t+t0であることを証明することができる。
528において、ブロックチェーンノード504は、1つまたは複数の範囲証明を検証する。
530において、ブロックチェーンノード504は、ZKPを検証する。前述したように、ZKPは、ユーザノードBの公開鍵を使用して暗号化されたトランザクション金額に対応する乱数がPCによって秘匿化されている対応する乱数と同一かどうか、およびユーザノードA502の公開鍵を使用して暗号化された残金に対応する乱数がPCによって秘匿化されている対応する乱数と同一かどうかを検証するために生成され得る。いくつかの実施形態においては、ZKPを検証するために、ブロックチェーンノード504は、x=Hash(P, P', P'')としてハッシュ値xをまず算出し得る。ブロックチェーンノード504は、その後、gr'2ht'2=P×(grht)x、HEB(r')=P'×HE(r)x、gr'3ht'3=P×(gr0ht0)x、およびHEA(r'3)=P''×HEA(r0)xのすべてが真であるかどうかを検証し得る。各々が真である場合には、例示的なプロセス500は532に進む。さもなければ、ブロックチェーンノード504は、トランザクションを拒否し得る。
532において、ブロックチェーンノード504は、ユーザノードA502およびユーザノードBのアカウントを更新する。ユーザノードA502およびユーザノードBのアカウントは汎用アカウントモデルの下ではレコードとしてアセットを管理しているため、トランザクション後に、ユーザノードA502から送金された複数のアセットがユーザノードA502のアカウントから除去され得る。残金は、ユーザノードA502のアカウントに戻され追加され得る。トランザクション金額および対応するアセットIDが、新たなアセットとしてユーザノードBのアカウントに追加され得る。いくつかの実施形態においては、更新は、ユーザノードA502およびユーザノードBの対応するアカウントによって保持されているアセットリストを更新することに基づいて行われ得る。いくつかの実施形態においては、更新は、トランザクション金額と残金との暗号文をユーザノードA502およびユーザノードBによって保持されている暗号化されたアセット額面に追加することに基づいて行われ得る。例示的なブロックチェーントランザクション400および対応するアカウントの更新は、図4の記載において説明している。
図6は、本明細書の実施形態により行われ得るプロセス600の例を図示している。提示を明確にするために、以下の説明は、本説明における他の図に即して方法600を一般的に説明している。しかしながら、例示的なプロセス600が、例えば、任意のシステム、環境、ソフトウェア、およびハードウェアによって、または、必要に応じて、システムと、環境と、ソフトウェアと、ハードウェアとの組合せによって、行われ得ることは理解されよう。いくつかの実施形態においては、例示的なプロセス600のステップは、並列して、組み合わせて、ループして、または任意の順序で動作され得る。
602において、コンセンサスノードは、トランザクションに関連付けられたトランザクションデータを受信する。いくつかの例においては、トランザクションデータは、複数のアセットを表すデータ、トランザクションの第1の乱数とトランザクション金額とを秘匿化している第1のコミットメント、第2の乱数と複数のアセットの総額からトランザクション金額を差し引くことに基づいて算出された残金とを秘匿化している第2のコミットメント、確率的HEスキームに基づいて第2のノードの公開鍵によって双方が暗号化されているトランザクション金額および第3の乱数、確率的HEスキームに基づいて第1のノードの公開鍵によって双方が暗号化されている残金および第4の乱数、1つまたは複数の範囲証明、ZKP、ならびに第1のノードの公開鍵に対応する秘密鍵に基づいて生成された電子署名を含む。
いくつかの実施形態においては、複数のアセットの各々は、アセットタイプ、コミットメントにおいて秘匿化されているアセット額面、およびコミットメントを生成するために使用された乱数のうちの1つまたは複数に関連付けられる。いくつかの実施形態においては、コンセンサスノードは、複数のアセットの各々が同一のアセットタイプに関連付けられていると決定する。いくつかの実施形態においては、第1のコミットメント、第2のコミットメント、およびアセット額面を秘匿化しているコミットメントは、準同型であるコミットメントスキームに基づいて生成される。
いくつかの実施形態においては、第3の乱数は、乱数としてトランザクション金額を処理することによって確率的HEスキームに基づいて暗号化され、第4の乱数は、乱数として残金を処理することによって確率的HEスキームに基づいて暗号化される。いくつかの実施形態においては、第1のコミットメントと第2のコミットメントとがPedersenコミットメントスキームに基づいて生成され、確率的HEスキームはOU暗号化スキームである。
いくつかの実施形態においては、ZKPは、第5の乱数および第6の乱数を秘匿化しているPedersenコミットメントを含み、第5の乱数と第6の乱数との暗号文は、OU暗号化スキームに基づいて、第2のアカウントの公開鍵によって暗号化され、第5の乱数と第6の乱数との暗号文は、OU暗号化スキームに基づいて、第1のアカウントの公開鍵によって暗号化される。
604において、コンセンサスノードは、第1のノードの公開鍵に基づいて電子署名を検証する。
606において、コンセンサスノードは、トランザクション金額と残金との各々がゼロより大きいまたはゼロと等しいことを1つまたは複数の範囲証明が証明していると決定する。
608において、コンセンサスノードは、複数の手形の総額がトランザクション金額と残金との合計と等しいと決定する。いくつかの実施形態においては、複数のアセットの総額がトランザクション金額と残金との合計と等しいと決定するステップは、コミットメントスキームの準同型に基づいて行われる。
610において、コンセンサスノードは、第1の乱数が第3の乱数と等しく、第2の乱数が第4の乱数と等しく、第1のコミットメントにおいて秘匿化されているトランザクション金額が第2のノードの公開鍵によって暗号化されたトランザクション金額と等しいと決定することによって、ZKPに基づいて、トランザクションが有効であると決定する。
いくつかの実施形態においては、トランザクションは、第1のノードに関連付けられたアカウントと第2のノードに関連付けられたアカウントとの間で行われ、方法は、トランザクションが有効であると決定した後に、トランザクション金額と残金とに基づいて、第1のノードに関連付けられたアカウントと第2のノードに関連付けられたアカウントとを更新するステップをさらに含む。いくつかの実施形態においては、ZKPは、トランザクションが確率的HEの特性に基づいて有効であると決定するために生成および使用される。いくつかの実施形態においては、トランザクションが有効であると決定するステップは、ブロックチェーンネットワークの外部を経由し、第1のノードと第2のノードとの間のインタラクションを用いることなく、ZKPに基づいて行われる。
図7は、本明細書の実施形態により行われ得る例示的なプロセス700を図示している。提示を明確にするために、以下の説明は、本説明における他の図に即して方法700を一般的に説明している。しかしながら、例示的なプロセス700が、例えば、任意のシステム、環境、ソフトウェア、およびハードウェアによって、または、必要に応じて、システムと、環境と、ソフトウェアと、ハードウェアとの組合せによって、行われ得ることは理解されよう。いくつかの実施形態においては、例示的なプロセス700のステップは、並列して、組み合わせて、ループして、または任意の順序で動作され得る。
702において、コンセンサスノードは、トランザクションに関連付けられたトランザクションデータを受信する。いくつかの例においては、トランザクションデータは、複数のアセットを表すデータ、トランザクションの第1の乱数とトランザクション金額とを秘匿化している第1のコミットメント、第2の乱数と複数のアセットの総額からトランザクション金額を差し引くことに基づいて算出された残金とを秘匿化している第2のコミットメント、線形決定論的HEスキームに基づいて第2のノードの公開鍵によって双方が暗号化されているトランザクション金額および第3の乱数、線形決定論的HEスキームに基づいて第1のノードの公開鍵によって双方が暗号化されている残金および第4の乱数、1つまたは複数の範囲証明、ZKP、ならびに第1のノードの公開鍵に対応する秘密鍵に基づいて生成された電子署名を含む。
いくつかの実施形態においては、複数のアセットの各々は、アセットタイプ、コミットメントにおいて秘匿化されているアセット額面、およびコミットメントを生成するために使用された乱数のうちの1つまたは複数に関連付けられる。いくつかの実施形態においては、コンセンサスノードは、複数のアセットの各々が同一のアセットタイプに関連付けられていると決定する。いくつかの実施形態においては、第1のコミットメント、第2のコミットメント、およびアセット額面を秘匿化しているコミットメントは、準同型であるコミットメントスキームに基づいて生成される。
いくつかの実施形態においては、線形決定論的HEスキームは、確率的HEスキームに関連付けられた乱数を固定数に変更することに基づいて確率的HEスキームから導出される。
いくつかの実施形態においては、ZKPは、第5の乱数と第6の乱数とを秘匿化しているコミットメントを含み、第5の乱数と第6の乱数との暗号文は、線形決定論的HEスキームに基づいて、第2のアカウントの公開鍵によって暗号化され、第5の乱数と第6の乱数との暗号文は、線形決定論的HEスキームに基づいて、第1のアカウントの公開鍵によって暗号化される。
704において、コンセンサスノードは、第1のノードの公開鍵に基づいて電子署名を検証する。
706において、コンセンサスノードは、トランザクション金額と残金との各々がゼロより大きいまたはゼロと等しいことを1つまたは複数の範囲証明が証明していると決定する。
708において、コンセンサスノードは、複数の手形の総額がトランザクション金額と残金との合計と等しいと決定する。いくつかの実施形態においては、複数のアセットの総額がトランザクション金額と残金との合計と等しいと決定するステップは、コミットメントスキームの準同型に基づいて行われる。
710において、コンセンサスノードは、第1の乱数が第3の乱数と等しく、第2の乱数が第4の乱数と等しく、第1のコミットメントにおいて秘匿化されているトランザクション金額が第2のノードの公開鍵によって暗号化されたトランザクション金額と等しいと決定することによって、ZKPに基づいて、トランザクションが有効であると決定する。
いくつかの実施形態においては、トランザクションは、第1のノードに関連付けられたアカウントと第2のノードに関連付けられたアカウントとの間で行われ、方法は、トランザクションが有効であると決定した後に、トランザクション金額と残金とに基づいて、第1のノードに関連付けられたアカウントと第2のノードに関連付けられたアカウントとを更新するステップをさらに含む。いくつかの実施形態においては、ZKPは、トランザクションが線形決定論的HEの特性に基づいて有効であると決定するために生成および使用される。いくつかの実施形態においては、トランザクションが有効であると決定するステップは、ブロックチェーンネットワークの外部を経由し、第1のノードと第2のノードとの間のインタラクションを用いることなく、ZKPに基づいて行われる。
図8は、本明細書の実施形態によるプロセスを行い得るブロックチェーンノード800の例を図示している。高次においては、ブロックチェーンノード800は、受信ユニット802、検証ユニット804、第1の決定ユニット806、第2の決定ユニット808、および第3の決定ユニット810を含む。
いくつかの実施形態においては、受信ユニット802は、トランザクションに関連付けられたトランザクションデータを受信するように動作可能である。いくつかの例においては、トランザクションデータは、複数のアセットを表すデータ、トランザクションの第1の乱数とトランザクション金額とを秘匿化している第1のコミットメント、第2の乱数と複数のアセットの総額からトランザクション金額を差し引くことに基づいて算出された残金とを秘匿化している第2のコミットメント、確率的HEスキームに基づいて第2のノードの公開鍵によって双方が暗号化されているトランザクション金額および第3の乱数、確率的HEスキームに基づいて第1のノードの公開鍵によって双方が暗号化されている残金および第4の乱数、1つまたは複数の範囲証明、ZKP、ならびに第1のノードの公開鍵に対応する秘密鍵に基づいて生成された電子署名を含む。
いくつかの実施形態においては、受信ユニット802は、トランザクションに関連付けられたトランザクションデータを受信するように動作可能である、ここで、トランザクションデータは、複数のアセットを表すデータ、トランザクションの第1の乱数とトランザクション金額とを秘匿化している第1のコミットメント、第2の乱数と複数のアセットの総額からトランザクション金額を差し引くことに基づいて算出された残金とを秘匿化している第2のコミットメント、線形決定論的HEスキームに基づいて第2のノードの公開鍵によって双方が暗号化されているトランザクション金額および第3の乱数、線形決定論的HEスキームに基づいて第1のノードの公開鍵によって双方が暗号化されている残金および第4の乱数、1つまたは複数の範囲証明、ZKP、ならびに第1のノードの公開鍵に対応する秘密鍵に基づいて生成された電子署名を含む。
いくつかの実施形態においては、複数のアセットの各々は、アセットタイプ、コミットメントにおいて秘匿化されているアセット額面、およびコミットメントを生成するために使用された乱数のうちの1つまたは複数に関連付けられる。いくつかの実施形態においては、ブロックチェーンノード800は、複数のアセットの各々が同一のアセットタイプに関連付けられていると決定する。いくつかの実施形態においては、第1のコミットメント、第2のコミットメント、およびアセット額面を秘匿化しているコミットメントは、準同型であるコミットメントスキームに基づいて生成される。いくつかの実施形態においては、線形決定論的HEスキームは、確率的HEスキームに関連付けられた乱数を固定数に変更することに基づいて確率的HEスキームから導出される。
いくつかの実施形態においては、第3の乱数は、乱数としてトランザクション金額を処理することによって確率的HEスキームに基づいて暗号化され、第4の乱数は、乱数として残金を処理することによって確率的HEスキームに基づいて暗号化される。いくつかの実施形態においては、第1のコミットメントと第2のコミットメントとがPedersenコミットメントスキームに基づいて生成され、確率的HEスキームはOU暗号化スキームである。
いくつかの実施形態においては、ZKPは、第5の乱数および第6の乱数を秘匿化しているPedersenコミットメントを含み、第5の乱数と第6の乱数との暗号文は、OU暗号化スキームに基づいて、第2のアカウントの公開鍵によって暗号化され、第5の乱数と第6の乱数との暗号文は、OU暗号化スキームに基づいて、第1のアカウントの公開鍵によって暗号化される。いくつかの実施形態においては、ZKPは、第5の乱数と第6の乱数とを秘匿化しているコミットメントを含み、第5の乱数と第6の乱数との暗号文は、線形決定論的HEスキームに基づいて、第2のアカウントの公開鍵によって暗号化され、第5の乱数と第6の乱数との暗号文は、線形決定論的HEスキームに基づいて、第1のアカウントの公開鍵によって暗号化される。
検証ユニット804は、第1のノードの公開鍵に基づいて電子署名を検証するように動作可能である。
第1の決定ユニット806は、トランザクション金額と残金との各々がゼロより大きいまたはゼロと等しいことを1つまたは複数の範囲証明が証明していると決定するように動作可能である。
第2の決定ユニット808は、複数の手形の総額がトランザクション金額と残金との合計と等しいと決定するように動作可能である。いくつかの実施形態においては、複数のアセットの総額がトランザクション金額と残金との合計と等しいと決定するステップは、コミットメントスキームの準同型に基づいて行われる。
第3の決定ユニット810は、第1の乱数が第3の乱数と等しく、第2の乱数が第4の乱数と等しく、第1のコミットメントにおいて秘匿化されているトランザクション金額が第2のノードの公開鍵によって暗号化されたトランザクション金額と等しいと決定することによって、ZKPに基づいて、トランザクションが有効であると決定するように動作可能である。
いくつかの実施形態においては、トランザクションは、第1のノードに関連付けられたアカウントと第2のノードに関連付けられたアカウントとの間で行われ、ブロックチェーンノード800は、トランザクションが有効であると第3の決定ユニット810が決定した後に、トランザクション金額と残金とに基づいて、第1のノードに関連付けられたアカウントと第2のノードに関連付けられたアカウントとを更新するように動作可能である、更新ユニットを含み得る。いくつかの実施形態においては、ZKPは、トランザクションが確率的HEの特性に基づいて有効であると決定するために生成および使用される。いくつかの実施形態においては、ZKPは、トランザクションが線形決定論的HEの特性に基づいて有効であると決定するために生成および使用される。いくつかの実施形態においては、トランザクションが有効であると決定するステップは、ブロックチェーンネットワークの外部を経由し、第1のノードと第2のノードとの間のインタラクションを用いることなく、ZKPに基づいて行われる。
本明細書において説明した発明特定事項の実施形態は、特定の利点または技術的効果を実現するために実施され得る。例えば、本明細書の実施形態は、ブロックチェーンノードのアカウント残高およびトランザクション金額がトランザクションの間は非公開となるようにすることを可能にする。資金移動の受領側は、トランザクションを確認することまたは乱数を使用してコミットメントを検証することをする必要がないため、トランザクションの有効性確認は、非インタラクティブであり得る。ブロックチェーンノードは、HEおよびコミットメントスキームに基づいてトランザクションの有効性を確認してゼロ知識証明を可能にし得る。
説明した方法論は、様々なモバイルコンピューティングデバイスのアカウント/データセキュリティの向上を可能にしている。アカウントの残高およびランザクション金額は、HEに基づいて暗号化され、コミットメントスキームによって秘匿化され得る。そのため、コンセンサスノードは、アカウントの実際のアカウント残高を公開することなく、HEの特性に基づいてトランザクション後に台帳においてアカウント残高を更新することができる。トランザクションを確認するために受領側に乱数を送信する必要がないため、データ漏洩のリスクを低減することができ、乱数を管理するために使用するために必要なコンピューティングリソースおよびメモリリソースをより少なくしている。
本明細書において説明した実施形態および動作は、本明細書において開示した構造またはそれらのうちの1つまたは複数の組合せを含む、デジタル電子回路の形式で、またはコンピュータソフトウェア、ファームウェア、またはハードウェアの形式で実装され得る。動作は、1つまたは複数のコンピュータ可読記憶デバイス上に記憶されるまたは他のソースから受信されるデータに対してデータ処理装置によって行われる動作として実装され得る。データ処理装置、コンピュータ、またはコンピューティングデバイスは、例として、プログラマブルプロセッサ、コンピュータ、システム・オン・チップ、または前述したもののうちの複数もしくは組合せを含む、処理データのための装置、デバイス、マシンを含み得る。装置は、例えば、中央処理ユニット(CPU)、フィールドプログラマブルゲートアレイ(FPGA)、または特定用途向け集積回路(ASIC)といった、特殊用途ロジック回路を含み得る。装置はまた、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム(例えばオペレーティングシステムもしくはオペレーティングシステムの組合せ)、クロスプラットフォームランタイム環境、仮想マシン、またはそれらのうちの1つもしくは複数の組合せを構成するコードといった、当該コンピュータプログラムのための実行環境を作成するコードを含み得る。装置および実行環境は、ウェブサービス、分散コンピューティング、およびグリッドコンピューティングインフラなどといった、様々な異なるコンピューティングモデルインフラを実現し得る。
コンピュータプログラム(例えば、プログラム、ソフトウェア、ソフトウェアアプリケーション、ソフトウェアモジュール、ソフトウェアユニット、スクリプト、またはコードとしても知られる)は、コンパイル型またはインタプリタ型言語、宣言型または手続き型言語を含む、任意の形式のプログラミング言語で書かれ得るし、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、オブジェクト、もしくはコンピューティング環境における使用に適した他のユニットとしてといったことを含む、任意の形式でデプロイされ得る。プログラムは、他のプログラムまたはデータを保持しているファイルの一部(例えば、マークアップ言語ドキュメントに記憶されている1つまたは複数のスクリプト)に、当該のプログラム専用の単一のファイルに、または複数の協調ファイル(例えば、1つまたは複数のモジュール、サブプログラム、またはコードの一部を記憶するファイル)に記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または、1つのサイトに位置しもしくは複数のサイトにわたって分散され、通信ネットワークによって相互接続された、複数のコンピュータ上で実行され得る。
コンピュータプログラムの実行のためのプロセッサは、例として、汎用および特殊用途マイクロプロセッサの両方、ならびに任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般的に、プロセッサは、リードオンリーメモリもしくはランダムアクセスメモリまたはその両方から命令およびデータを受信することになる。コンピュータの必須の要素は、命令に従ってアクションを行うためのプロセッサと、命令およびデータを記憶するための1つまたは複数のメモリデバイスとである。一般的に、コンピュータはまた、データを記憶するための1つまたは複数のマスストレージデバイスを含むことになる、または、そのようなマスストレージデバイスからデータを受信もしくはそのようなマスストレージデバイスにデータを送信もしくはその両方を行うことが動作可能なように結合されることになる。コンピュータは、例えば、モバイルデバイス、携帯情報端末(PDA)、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブルストレージデバイスといった、別のデバイスに組み込まれ得る。コンピュータプログラム命令およびデータを記憶するのに適したデバイスは、例として、半導体メモリデバイス、磁気ディスク、および光磁気ディスクといった、不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、殊用途ロジック回路によって補完され得る、またはそれに組み込まれ得る。
モバイルデバイスは、ハンドセット、ユーザ機器(UE)、モバイル電話(例えば、スマートフォン)、タブレット、ウェアラブルデバイス(例えば、スマートウォッチおよびスマートメガネ)、人体内部の埋め込みデバイス(例えば、バイオセンサ、人工内耳)、または他のタイプのモバイルデバイスを含み得る。モバイルデバイスは、様々な通信ネットワーク(以下で説明)と無線で(例えば、無線周波数(RF)信号を使用して)通信し得る。モバイルデバイスは、モバイルデバイスの現在の環境の特性を決定するためのセンサを含み得る。センサは、カメラ、マイクロフォン、近接センサ、GPSセンサ、モーションセンサ、加速度計、照度センサ、水分センサ、ジャイロスコープ、コンパス、気圧計、指紋センサ、顔認識システム、RFセンサ(例えば、Wi-Fiおよびセルラ無線)、熱センサ、または他のタイプのセンサを含み得る。例えば、カメラは、可動または固定レンズ、フラッシュ、画像センサ、および画像プロセッサを有する、前面または背面カメラを含み得る。カメラは、顔および/または虹彩認識のために細部をキャプチャすることが可能なメガピクセルカメラであり得る。データプロセッサ、およびメモリに記憶されているまたはリモートでアクセスされる認証情報とともに、カメラは、顔認識システムを形成し得る。顔認識システム、または、例えば、マイクロフォン、モーションセンサ、加速度計、GPSセンサ、もしくはRFセンサといった、1つまたは複数のセンサが、ユーザ認証のために使用され得る。
ユーザとのインタラクションを提供するために、実施形態は、例えば、ユーザに情報を表示するための液晶ディスプレイ(LCD)または有機発光ダイオード(OLED)/仮想現実(VR)/拡張現実(AR)ディスプレイと、ユーザがコンピュータに入力を提供することを可能にするタッチスクリーン、キーボード、およびポインティングデバイスといった、表示デバイスと入力デバイスとを有するコンピュータ上で実施され得る。同様に他の種類のデバイスをユーザとのインタラクションを提供するために使用し得るし、例えば、ユーザに提供されるフィードバックは、例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックといった任意の形式の感覚フィードバックであり得るし、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形式で受信され得る。加えて、コンピュータは、ユーザによって使用されるデバイスにドキュメントを送信することおよびユーザによって使用されるデバイスからドキュメントを受信することによって、例えば、ユーザのクライアントデバイス上のウェブブラウザから受信した要求に応答してウェブブラウザにウェブページを送信することによって、ユーザとのインタラクションを行い得る。
実施形態は、任意の形式または媒体の有線または無線デジタルデータ通信(またはその組合せ)、例えば、通信ネットワークによって相互接続されたコンピューティングデバイスを使用して実施され得る。相互接続されたデバイスの例としては、通信ネットワークを介して通常はやりとりする、一般的に互いにリモートに存在するクライアントとサーバとがある。例えば、モバイルデバイスといった、クライアントは、購入、売却、支払、贈与、送付、もしくは貸付のトランザクションを行うもしくはこれらを許可するサーバとのトランザクションを、またはそのようなサーバを介したトランザクションを、それ自身で実行し得る。そのようなトランザクションは、アクションとレスポンスとが時間的にほぼ同じであるリアルタイムであり得る。例えば、個人が、アクションとレスポンスとが実質的に同時に知覚し、個人のアクションの後のレスポンスについての時間差が1ミリ秒(ms)または1秒(s)未満である、またはレスポンスは、システムの処理限界を考慮しつつも意図的な遅延は有していない。
通信ネットワークの例としては、ローカルエリアネットワーク(LAN)、無線アクセスネットワーク(RAN)、メトロポリタンエリアネットワーク(MAN)、およびワイドエリアネットワーク(WAN)を含む。通信ネットワークは、インターネット、別の通信ネットワーク、または通信ネットワークの組合せのすべてまたは一部を含み得る。情報は、ロング・ターム・エボリューション(LTE)、5G、IEEE802、インターネットプロトコル(IP)、または他のプロトコルもしくはプロトコルの組合せを含む、様々なプロトコルおよび標準に準拠した通信ネットワーク上で送信され得る。通信ネットワークは、接続されたコンピューティングデバイス間で、音声、ビデオ、生体、もしくは認証データ、または他の情報を送信し得る。
別個の実施形態として説明した特徴を、組合せで、単一の実施形態で実施し得る一方で、単一の実施形態として説明した特徴を、複数の実施形態で、別々に、または任意の適切なサブコンビネーションで実施し得る。特定の順序で説明および主張した動作は、その特定の順序を必要とするものとして理解されるべきではないし、図示した動作のすべてを行う必要があると理解すべきではない(いくつかの動作がオプションであり得る)。必要に応じて、マルチタスク処理または並列処理(またはマルチタスク処理と並列処理との組合せ)が行われ得る。
110 ネットワーク
208 トランザクション管理
208 トランザクション管理
208 トランザクション管理
210 ブロックチェーンインターフェース
210 ブロックチェーンインターフェース
210 ブロックチェーンインターフェース
302 ユーザノードA
304 ブロックチェーンノード
402 ユーザノードA
404 ユーザノードB
406 ブロックチェーンネットワーク
408 トランザクションデータ:
502 ユーザノードA
504 ブロックチェーンノード
802 受信ユニット
804 検証ユニット
806 第1の決定ユニット
808 第2の決定ユニット
810 第3の決定ユニット

Claims (11)

  1. ブロックチェーンネットワーク内の第1のノードと第2のノードとの間のトランザクションの有効性を確認するためのコンセンサスノードによって行われるコンピュータ実施方法であって、前記方法は、
    前記トランザクションに関連付けられたトランザクションデータを受信するステップであって、前記トランザクションデータは、複数のアセットを表すデータ、前記トランザクションの第1の乱数とトランザクション金額とを秘匿化している第1のコミットメント、第2の乱数と前記複数のアセットの総額から前記トランザクション金額を差し引くことに基づいて算出された残金とを秘匿化している第2のコミットメント、線形決定論的準同型暗号化(HE)スキームに基づいて前記第2のノードの公開鍵によって双方が暗号化されている前記トランザクション金額および第3の乱数、前記線形決定論的HEスキームに基づいて前記第1のノードの公開鍵によって双方が暗号化されている前記残金および第4の乱数、1つまたは複数の範囲証明、ゼロ知識証明(ZKP)、ならびに前記第1のノードの前記公開鍵に対応する秘密鍵に基づいて生成された電子署名を含む、ステップと、
    前記第1のノードの前記公開鍵に基づいて前記電子署名を検証するステップと、
    前記トランザクション金額と前記残金との各々がゼロより大きいまたはゼロと等しいことを前記1つまたは複数の範囲証明が証明していると決定するステップと、
    前記複数のアセットの前記総額が前記トランザクション金額と前記残金との合計と等しいと決定するステップと、
    前記第1の乱数が前記第3の乱数と等しく、前記第2の乱数が前記第4の乱数と等しく、前記第1のコミットメントにおいて秘匿化されている前記トランザクション金額が前記第2のノードの前記公開鍵によって暗号化された前記トランザクション金額と等しいと決定することによって、前記ZKPに基づいて、前記トランザクションが有効であると決定するステップと
    を含む、コンピュータ実施方法。
  2. 前記トランザクションは、前記第1のノードに関連付けられたアカウントと前記第2のノードに関連付けられたアカウントとの間で行われ、前記方法は、前記トランザクションが有効であると決定した後に、前記トランザクション金額と前記残金とに基づいて、前記第1のノードに関連付けられた前記アカウントと前記第2のノードに関連付けられた前記アカウントとを更新するステップをさらに含む、請求項1に記載のコンピュータ実施方法。
  3. 前記複数のアセットの各々は、アセットタイプ、コミットメントにおいて秘匿化されているアセット額面、および前記コミットメントを生成するために使用された乱数のうちの1つまたは複数に関連付けられる、請求項1に記載のコンピュータ実施方法。
  4. 前記複数のアセットの各々が同一のアセットタイプに関連付けられていると決定するステップをさらに含む、請求項3に記載のコンピュータ実施方法。
  5. 前記第1のコミットメント、前記第2のコミットメント、および前記アセット額面を秘匿化している前記コミットメントは、準同型であるコミットメントスキームに基づいて生成され、前記複数のアセットの前記総額が前記トランザクション金額と前記残金との前記合計と等しいと決定するステップは、前記コミットメントスキームの準同型に基づいて行われる、請求項3に記載のコンピュータ実施方法。
  6. 前記線形決定論的HEスキームは、確率的HEスキームに関連付けられた乱数を固定数に変更することに基づいて前記確率的HEスキームから導出される、請求項1に記載のコンピュータ実施方法。
  7. 前記ZKPは、第5の乱数と第6の乱数とを秘匿化しているコミットメントを含み、前記第5の乱数と前記第6の乱数との暗号文は、前記線形決定論的HEスキームに基づいて、前記第2のノードの前記公開鍵によって暗号化され、前記第5の乱数と前記第6の乱数との暗号文は、前記線形決定論的HEスキームに基づいて、前記第1のノードの前記公開鍵によって暗号化される、請求項1に記載のコンピュータ実施方法。
  8. 前記ZKPは、前記トランザクションが前記線形決定論的HEスキームの特性に基づいて有効であると決定するために生成および使用される、請求項1に記載のコンピュータ実施方法。
  9. 前記トランザクションが有効であると決定するステップは、前記ブロックチェーンネットワークの外部を経由し、前記第1のノードと前記第2のノードとの間のインタラクションを用いることなく、前記ZKPに基づいて行われる、請求項1に記載のコンピュータ実施方法。
  10. 1つまたは複数のコンピュータに結合されているとともに、請求項1から9のうちの1つまたは複数に記載の方法による動作を行うように、前記1つまたは複数のコンピュータによって実行可能な命令で構成される、非一時的コンピュータ可読記憶媒体。
  11. 1つまたは複数のコンピュータと、
    前記1つまたは複数のコンピュータに結合されているとともに、請求項1から9のうちの1つまたは複数に記載の方法による動作を行うように、前記1つまたは複数のコンピュータによって実行可能な命令で構成される、1つまたは複数のコンピュータ可読メモリと
    を含む、システム。
JP2019540590A 2018-12-21 2018-12-21 汎用アカウントモデルおよび準同型暗号化に基づいたブロックチェーンデータ保護 Active JP6808057B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/122573 WO2019072302A2 (en) 2018-12-21 2018-12-21 BLOCK CHAIN DATA PROTECTION BASED ON A GENERIC ACCOUNT MODEL AND A HOMOMORPHIC ENCRYPTION

Publications (3)

Publication Number Publication Date
JP2020512572A JP2020512572A (ja) 2020-04-23
JP2020512572A5 JP2020512572A5 (ja) 2020-12-03
JP6808057B2 true JP6808057B2 (ja) 2021-01-06

Family

ID=66100042

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019540590A Active JP6808057B2 (ja) 2018-12-21 2018-12-21 汎用アカウントモデルおよび準同型暗号化に基づいたブロックチェーンデータ保護

Country Status (16)

Country Link
US (2) US10790987B2 (ja)
EP (1) EP3560144B1 (ja)
JP (1) JP6808057B2 (ja)
KR (1) KR102193551B1 (ja)
CN (1) CN110402561B (ja)
AU (1) AU2018347202B2 (ja)
BR (1) BR112019014629A2 (ja)
CA (1) CA3050600C (ja)
ES (1) ES2880458T3 (ja)
MX (1) MX2019008738A (ja)
PH (1) PH12019501716A1 (ja)
PL (1) PL3560144T3 (ja)
RU (1) RU2733223C1 (ja)
SG (1) SG11201906751YA (ja)
WO (1) WO2019072302A2 (ja)
ZA (1) ZA201904936B (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10873568B2 (en) 2017-01-20 2020-12-22 Enveil, Inc. Secure analytics using homomorphic and injective format-preserving encryption and an encrypted analytics matrix
US11777729B2 (en) 2017-01-20 2023-10-03 Enveil, Inc. Secure analytics using term generation and homomorphic encryption
US10693627B2 (en) 2017-01-20 2020-06-23 Enveil, Inc. Systems and methods for efficient fixed-base multi-precision exponentiation
US11507683B2 (en) 2017-01-20 2022-11-22 Enveil, Inc. Query processing with adaptive risk decisioning
US10644876B2 (en) * 2017-01-20 2020-05-05 Enveil, Inc. Secure analytics using homomorphic encryption
US11196541B2 (en) 2017-01-20 2021-12-07 Enveil, Inc. Secure machine learning analytics using homomorphic encryption
WO2019216949A1 (en) * 2018-05-08 2019-11-14 Visa International Service Association Sybil-resistant identity generation
US11184437B2 (en) 2018-05-24 2021-11-23 Dapper Labs Inc. Decentralized computation system architecture based on node specialization
US11139956B2 (en) 2018-05-24 2021-10-05 Dapper Labs Inc. Decentralized computation system architecture based on node specialization
CN109359971B (zh) * 2018-08-06 2020-05-05 阿里巴巴集团控股有限公司 区块链交易方法及装置、电子设备
CN109359974B (zh) * 2018-08-30 2020-10-30 创新先进技术有限公司 区块链交易方法及装置、电子设备
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
CN109614820A (zh) * 2018-12-06 2019-04-12 山东大学 基于零知识证明的智能合约认证数据隐私保护方法
KR102213414B1 (ko) 2018-12-21 2021-02-09 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. 일반 계정 모델 및 동형 암호화 기반의 블록 체인 데이터 보호
CA3044907C (en) 2018-12-29 2022-05-03 Alibaba Group Holding Limited Blockchain-based system and method for concealing sender and receiver identities
US10795644B2 (en) 2019-01-08 2020-10-06 Moac Blockchain Tech Inc Decentralized random number generator
CN110223063B (zh) * 2019-05-07 2023-06-20 平安科技(深圳)有限公司 基于零知识证明的供应链数据管理方法及装置
US10790990B2 (en) 2019-06-26 2020-09-29 Alibaba Group Holding Limited Ring signature-based anonymous transaction
CN112488703A (zh) * 2019-06-26 2021-03-12 创新先进技术有限公司 基于环签名的匿名交易方法及装置
FR3099017B1 (fr) * 2019-07-16 2021-08-06 Idemia Identity & Security France Procédé de vérification d’une transaction dans une base de données de type chaîne de blocs
CN110505084B (zh) * 2019-08-01 2022-06-10 江苏万链区块链技术研究院有限公司 一种区块链打包节点共识推举方法
CN110827028B (zh) * 2019-11-07 2023-08-29 湖北邮电规划设计有限公司 一种基于区块链的数据采集交易系统和方法
CN110839028B (zh) * 2019-11-14 2022-04-05 南京邮电大学 一种雾协助工业物联网的隐私保护方法
CN110958110B (zh) * 2019-12-09 2023-04-07 趣派(海南)信息科技有限公司 一种基于零知识证明的区块链隐私数据管理方法和系统
CN110991655B (zh) * 2019-12-17 2021-04-02 支付宝(杭州)信息技术有限公司 多方联合进行模型数据处理的方法及装置
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities
CN111444541B (zh) * 2020-03-27 2022-09-09 苏州链原信息科技有限公司 用于生成数据均值零知识证明的方法、设备及存储介质
CN111401875B (zh) * 2020-05-29 2020-09-01 支付宝(杭州)信息技术有限公司 基于账户模型的区块链转账方法及装置
EP4226573A1 (en) 2020-10-05 2023-08-16 Redcom Laboratories, Inc. Zkmfa: zero-knowledge based multi-factor authentication system
US11601258B2 (en) 2020-10-08 2023-03-07 Enveil, Inc. Selector derived encryption systems and methods
JPWO2022153377A1 (ja) * 2021-01-13 2022-07-21
CN112910933B (zh) * 2021-05-07 2021-07-13 鹏城实验室 认证方法、认证设备以及验证设备
WO2022236406A1 (en) * 2021-05-14 2022-11-17 Dapper Labs, Inc. Decentralized computation system based on node specialization
CN113268777B (zh) * 2021-05-21 2023-05-12 中国联合网络通信集团有限公司 基于区块链的投标信息的处理方法及模块、电子设备
CN113592650B (zh) * 2021-07-29 2023-10-24 成都质数斯达克科技有限公司 基于区块链智能合约的交易方法、装置和设备
KR102401485B1 (ko) * 2021-12-30 2022-05-24 주식회사 디사일로 동형 암호화된 데이터 처리 방법 및 시스템
US20230245112A1 (en) * 2022-02-02 2023-08-03 International Business Machines Corporation Non-interactive token certification and verification
JP2024044220A (ja) 2022-09-20 2024-04-02 富士通株式会社 電力取引プログラム、電力取引方法および電力取引装置
CN118446762B (zh) * 2024-07-08 2024-10-11 北京天弘瑞智科技有限公司 基于账户管理的费用计算管理方法及系统

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5394116A (en) 1993-12-29 1995-02-28 At&T Corp. Fractional phase shift ring oscillator arrangement
IT1284718B1 (it) 1996-07-31 1998-05-21 Cselt Centro Studi Lab Telecom Dispositivo e procedimento per allineare temporalmente segnali numerici, ad esempio un segnale di orologio ed un flusso di dati.
FR2800220B1 (fr) 1999-10-26 2002-02-15 France Telecom Procede de transaction electronique securisee
US20090327141A1 (en) * 2007-04-18 2009-12-31 Rabin Michael O Highly efficient secrecy-preserving proofs of correctness of computation
US20090177591A1 (en) * 2007-10-30 2009-07-09 Christopher Thorpe Zero-knowledge proofs in large trades
US10157269B2 (en) 2010-05-06 2018-12-18 John K. Thomas Verification system for secure transmission in a distributed processing network
US8667292B2 (en) * 2011-05-19 2014-03-04 Microsoft Corporation Privacy-preserving metering with low overhead
EP2590126A1 (en) 2011-11-01 2013-05-08 Nederlandse Organisatie voor toegepast -natuurwetenschappelijk onderzoek TNO Recommender system for providing recommendations to groups of users
US8731199B2 (en) * 2012-09-28 2014-05-20 Sap Ag Zero knowledge proofs for arbitrary predicates over data
WO2015009765A1 (en) * 2013-07-15 2015-01-22 Visa International Service Association Secure remote payment transaction processing
US20150242825A1 (en) 2014-02-24 2015-08-27 Peter Burton Mills Generation, storage, and validation of encrypted electronic currency
WO2016049406A1 (en) 2014-09-26 2016-03-31 Technicolor Usa, Inc. Method and apparatus for secure non-interactive threshold signatures
US10257173B2 (en) 2014-10-22 2019-04-09 Openeye Scientific Software, Inc. Secure comparison of information
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
RU2015145232A (ru) 2015-10-21 2017-05-03 Дмитрий Сергеевич Ермолаев Способ учёта и хранения временных учётных единиц в одноуровневых средах на блокчейн
EP3405862B1 (en) 2016-01-19 2020-11-18 Priv8Pay, Inc. Network node authentication
US10846984B2 (en) 2016-02-24 2020-11-24 Uplay1 Casino crypto currency systems and methods
US10046228B2 (en) * 2016-05-02 2018-08-14 Bao Tran Smart device
US9635000B1 (en) 2016-05-25 2017-04-25 Sead Muftic Blockchain identity management system based on public identities ledger
CN107438002B (zh) * 2016-05-27 2022-02-11 索尼公司 基于区块链的系统以及系统中的电子设备和方法
JP6663809B2 (ja) * 2016-07-07 2020-03-13 株式会社日立製作所 監査装置、監査機能付匿名送金方法及びプログラム
WO2018087836A1 (ja) * 2016-11-09 2018-05-17 株式会社日立製作所 ブロックチェーン取引システムおよびブロックチェーン取引方法
CN106549749B (zh) * 2016-12-06 2019-12-24 杭州趣链科技有限公司 一种基于加法同态加密的区块链隐私保护方法
US10243731B2 (en) 2017-01-27 2019-03-26 Accenture Global Solutions Limited Hardware blockchain acceleration
KR101879353B1 (ko) 2017-01-31 2018-07-17 권양호 가상화폐 중개 서비스 시스템 및 방법
US10832230B2 (en) * 2017-04-04 2020-11-10 International Business Machines Corporation Scalable and distributed shared ledger transaction management
US10277395B2 (en) * 2017-05-19 2019-04-30 International Business Machines Corporation Cryptographic key-generation with application to data deduplication
CN107274159B (zh) * 2017-06-09 2024-07-12 北京泛融科技有限公司 一种基于区块并发执行算法的记账系统及方法
US10761877B2 (en) * 2017-07-21 2020-09-01 Intel Corporation Apparatuses, methods, and systems for blockchain transaction acceleration
CN108418783B (zh) 2017-09-01 2021-03-19 矩阵元技术(深圳)有限公司 一种保护区块链智能合约隐私的方法、介质
CN107656812A (zh) * 2017-09-27 2018-02-02 咪咕文化科技有限公司 区块链处理方法、系统、节点设备、终端和存储介质
US10833861B2 (en) * 2017-11-28 2020-11-10 International Business Machines Corporation Protection of confidentiality, privacy and ownership assurance in a blockchain based decentralized identity management system
CN108021821A (zh) 2017-11-28 2018-05-11 北京航空航天大学 多中心区块链交易隐私保护系统及方法
EP3718069B1 (en) * 2017-11-30 2024-04-17 Visa International Service Association Blockchain system for confidential and anonymous smart contracts
CN108418689B (zh) 2017-11-30 2020-07-10 矩阵元技术(深圳)有限公司 一种适合区块链隐私保护的零知识证明方法和介质
CN111989893B (zh) 2018-01-19 2022-04-26 Qed-It系统有限公司 用于生成和链接零知识证明的方法、系统和计算机可读装置
US20190229921A1 (en) * 2018-01-22 2019-07-25 Allen Pulsifer Private Multi-Secret Cryptographic Transaction System
EP3522064B1 (en) 2018-02-02 2021-12-22 Università Degli Studi Di Trento A method and apparatus for distributed, privacy-preserving and integrity-preserving exchange, inventory and order book
US20190251527A1 (en) 2018-02-14 2019-08-15 Christopher Walter Surdak System, Method, and Computer Program Product for a Distributed, Cryptographically Secured Proof-of-Intent Transaction Network
CN108764874B (zh) * 2018-05-17 2021-09-07 深圳前海微众银行股份有限公司 基于区块链的匿名转账方法、系统及存储介质
CN108985933A (zh) * 2018-06-29 2018-12-11 联动优势科技有限公司 一种记账方法及装置
CN109035029A (zh) * 2018-07-27 2018-12-18 阿里巴巴集团控股有限公司 基于区块链的资产转移方法及装置、电子设备
CN109039648B (zh) * 2018-08-03 2021-09-03 克洛斯比尔有限公司 一种区块链的创建方法、设备及可读存储介质
SG11201903552PA (en) * 2018-11-07 2019-05-30 Alibaba Group Holding Ltd Blockchain data protection using homomorphic encryption
KR102213414B1 (ko) * 2018-12-21 2021-02-09 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. 일반 계정 모델 및 동형 암호화 기반의 블록 체인 데이터 보호

Also Published As

Publication number Publication date
PL3560144T3 (pl) 2021-10-25
SG11201906751YA (en) 2019-08-27
AU2018347202A1 (en) 2020-07-09
EP3560144B1 (en) 2021-05-05
WO2019072302A3 (en) 2019-10-03
CA3050600C (en) 2020-11-17
BR112019014629A2 (pt) 2021-07-20
MX2019008738A (es) 2019-09-09
KR20200079217A (ko) 2020-07-02
JP2020512572A (ja) 2020-04-23
WO2019072302A2 (en) 2019-04-18
PH12019501716A1 (en) 2020-03-02
EP3560144A2 (en) 2019-10-30
CA3050600A1 (en) 2019-04-18
US20200366503A1 (en) 2020-11-19
ES2880458T3 (es) 2021-11-24
US20190280880A1 (en) 2019-09-12
CN110402561B (zh) 2021-11-23
RU2733223C1 (ru) 2020-09-30
CN110402561A (zh) 2019-11-01
KR102193551B1 (ko) 2020-12-23
EP3560144A4 (en) 2020-03-04
ZA201904936B (en) 2022-01-26
AU2018347202B2 (en) 2021-01-07
US11063769B2 (en) 2021-07-13
US10790987B2 (en) 2020-09-29

Similar Documents

Publication Publication Date Title
JP6808057B2 (ja) 汎用アカウントモデルおよび準同型暗号化に基づいたブロックチェーンデータ保護
JP6811334B2 (ja) 汎用アカウントモデルおよび準同型暗号に基づくブロックチェーンデータ保護
KR102215245B1 (ko) 준동형 암호화를 사용하는 블록체인 데이터 보호
JP6767580B2 (ja) 準同型暗号を使用したブロックチェーンデータ保護
CN110419055B (zh) 基于利用零知识证明的账户票据模型的区块链数据保护

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201023

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20201023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201030

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20201106

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201208

R150 Certificate of patent or registration of utility model

Ref document number: 6808057

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250