JP6817429B2 - ゼロ知識証明を用いたアカウント注釈モデルに基づくブロックチェーンデータの保護 - Google Patents

ゼロ知識証明を用いたアカウント注釈モデルに基づくブロックチェーンデータの保護 Download PDF

Info

Publication number
JP6817429B2
JP6817429B2 JP2019521800A JP2019521800A JP6817429B2 JP 6817429 B2 JP6817429 B2 JP 6817429B2 JP 2019521800 A JP2019521800 A JP 2019521800A JP 2019521800 A JP2019521800 A JP 2019521800A JP 6817429 B2 JP6817429 B2 JP 6817429B2
Authority
JP
Japan
Prior art keywords
transaction
account
commitment
blockchain
annotations
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
JP2019521800A
Other languages
English (en)
Other versions
JP2020503718A (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 JP2020503718A publication Critical patent/JP2020503718A/ja
Application granted granted Critical
Publication of JP6817429B2 publication Critical patent/JP6817429B2/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • 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/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • G06Q20/0658Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed locally
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Power Engineering (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)
  • Devices For Executing Special Programs (AREA)

Description

本開示は、ゼロ知識証明を用いたアカウント注釈モデルに基づくブロックチェーンデータの保護に関する。
ブロックチェーンシステム、コンセンサスネットワーク、分散型台帳システムネットワーク、またはブロックチェーンとも呼ばれ得るブロックチェーンネットワークは、参加するエンティティが安全にかつ変更不可能にデータを記録することを可能にする。ブロックチェーンは、トランザクションの台帳として記述されることが可能であり、ブロックチェーンの複数のコピーがブロックチェーンネットワークにわたって記録される。例示的なタイプのブロックチェーンには、パブリックブロックチェーン、コンソーシアムブロックチェーン、およびプライベートブロックチェーンがあり得る。パブリックブロックチェーンは、そのブロックチェーンを使用しコンセンサスプロセスに参加するためにすべてのエンティティに対して開かれている。コンソーシアムブロックチェーンは、コンセンサスプロセスがいくつかの組織または機関などのノードの事前に選択されたセットによって制御される、ブロックチェーンである。プライベートブロックチェーンは、読取りパーミッションおよび書込みパーミッションを集中的に制御する特定のエンティティだけに提供される。
ブロックチェーンは、参加者が暗号通貨を使用して商品/サービスを購入/販売するためにトランザクションを行うことを可能にする、暗号通貨ネットワークにおいて使用される。一般的な暗号通貨にはビットコインがある。暗号通貨ネットワークでは、ユーザ間のトランザクションを記録するために記録管理モデルが使用される。例示的な記録管理モデルには未使用トランザクションアウトプット(UTXO: unspent transaction output)モデルおよびアカウント残高(account balance)モデルがある。UTXOモデルでは、各トランザクションは、前のトランザクションからのアウトプットを使用し、後のトランザクションにおいて使用され得る新しいアウトプットを生成する。ユーザの未使用のトランザクションが追跡され、ユーザが使わなければならない残高が未使用のトランザクションの合計として計算される。アカウント残高モデルでは、各ユーザのアカウント残高がグローバル状態として追跡される。各トランザクションに対して、使用するアカウントの残高がトランザクションの量以上であることを確実にするために、その残高が確認される。これは従来の銀行業と同等である。
ブロックチェーンは一連のブロックを含み、その各々がネットワークにおいて実行される1つまたは複数のトランザクションを含む。各ブロックは台帳のページに類似していることがあるが、ブロックチェーン自体が台帳の完全なコピーである。個々のトランザクションが確認されてブロックに追加され、ブロックはブロックチェーンに追加される。ブロックチェーンのコピーは、ネットワークの複数のノードにわたって複製される。このようにして、ブロックチェーンの状態についてグローバルな合意が存在する。さらに、ブロックチェーンは、少なくともパブリックネットワークの場合には、すべてのノードによる閲覧のために公開されている。ブロックチェーンユーザのプライバシーを保護するために、暗号化技術が実装される。
アカウント残高モデルのもとでは、トランザクションの双方の関係者がコミットする対象の値を隠すために、コミットメントスキームが使用され得る。コミットメントスキームは、関係者が選択または値をコミットし、関与する他の関係者にその値を後で伝えることの必要性から生じ得る。たとえば、対話型のペダーセンコミットメント(PC)スキームでは、第1のユーザは、乱数rに基づいて生成されるコミットメント値PC(t,r)を送信することによって、トランザクション量tをコミットすることができる。コミットメント値が生成され、第2のユーザは乱数rを得ることによってのみトランザクション量tを明らかにすることができる。トランザクション量が有効であることを確実にするために、トランザクション量が0以上でありアカウント残高以下であることを証明するための、レンジプルーフが作成され得る。
いくつかの場合、あるユーザから複数のトランザクションが行われ得る。レンジプルーフはアカウントの残高と関連付けられるので、複数のトランザクションがブロックチェーンにおいて順番に検証されることが重要である。したがって、対応するレンジプルーフは、各トランザクションの後でアカウントの残高と正しく関連付けられ得る。
本開示の実装形態は、アカウント注釈モデルに基づくゼロ知識証明を用いた、ブロックチェーントランザクションの非対話型のプライバシーを保護する検証のためのコンピュータで実行される方法を含む。より具体的には、本開示の実装形態は、アカウント注釈モデルのもとでブロックチェーンアカウント間のトランザクションを承認することを対象とする。いくつかの実装形態では、アカウント注釈モデルでは、アカウント残高が注釈の集合体として記録される。本開示の実装形態によれば、トランザクションの承認は、トランザクション量、注釈値、またはコミットメントを生成するための乱数を明らかにすることなく、コミットメントスキームおよび公開鍵暗号化スキームまたは統合暗号化スキームに基づいて実行され得る。
いくつかの実装形態では、活動は、第1のアカウントから、対応する複数の注釈を特定する複数の注釈識別子(ID)、複数の注釈の少なくとも一部分によって支払われる第1のアカウントと第2のアカウントとの間のトランザクションのトランザクション量のコミットメント、複数の注釈の合計値からトランザクション量を差し引くことによる変化のコミットメント、第2のアカウントの公開鍵によって暗号化されるトランザクション量のコミットメントを生成するために使用される第1の乱数、第2のアカウントの公開鍵によって暗号化されるトランザクション量、第1のアカウントの公開鍵によって暗号化される変化のコミットメントを生成するために使用される第2の乱数、第1のアカウントの公開鍵によって暗号化される変化、1つまたは複数のレンジプルーフ、および1つまたは複数の選択された乱数に基づいて生成されるゼロ知識証明の、デジタル署名されたコピーを受信することと、第1のアカウントの公開鍵を使用して、デジタル署名されたコピーに対応するデジタル署名を検証することと、トランザクション量および変化が0以上であることを1つまたは複数のレンジプルーフが証明すると決定することと、複数の注釈の合計値がトランザクション量および変化の合計に等しいと決定することと、コミットメントの中のトランザクション量が暗号化されるトランザクション量と同じであるかどうか、およびトランザクション量のコミットメントを生成するために使用される乱数が第1の乱数と同じであるかどうかを決定することと、コミットメントの中のトランザクション量が暗号化されるトランザクション量と同じであり、かつトランザクション量のコミットメントを生成するために使用される乱数が第1の乱数と同じである場合、複数の注釈、トランザクション量、および変化に基づいて、第1のアカウントおよび第2のアカウントを更新することとを含む。他の実装形態は、対応するシステムと、装置と、コンピュータ記録デバイスに符号化される、方法の活動を実行するように構成されるコンピュータプログラムとを含む。
これらのおよび他の実装形態は各々、任意選択で、以下の特徴のうちの1つまたは複数を含むことがあり、それらの特徴とは、複数の注釈の各々が、注釈タイプ、注釈値のコミットメント、公開鍵暗号化または統合暗号化によって暗号化される注釈値、および公開鍵暗号化または統合暗号化によって暗号化されるコミットメントを生成するために使用される乱数のうちの1つまたは複数を含むこと、複数の注釈の各々が同じ注釈タイプを有すると決定すること、トランザクション量のコミットメント、変化のコミットメント、および注釈値のコミットメントが準同型であるコミットメントスキームを使用して生成されること、複数の注釈の合計値がトランザクション量および変化の合計に等しいかどうかを決定することが、各注釈値のコミットメントの合計と、トランザクション量のコミットメントと変化のコミットメントの合計とを比較することに基づくこと、複数の注釈IDの各々が、トランザクションアドレスと、トランザクション出力における対応する注釈の順序を示すインデックス番号とを含み、トランザクションアドレスがトランザクションのトランザクション情報をハッシュすることによって生成されること、複数の注釈IDの各々が第1のアカウントと関連付けられると決定すること、第1の乱数およびトランザクション量がPaillier暗号化または岡本-内山暗号化に基づいて第2のアカウントの公開鍵によって暗号化されること、コミットメントの中のトランザクション量が暗号化されるトランザクション量と同じであるかどうか、およびトランザクション量のコミットメントを生成するために使用される乱数が第1の乱数と同じであるかどうかを決定することが、ブロックチェーンネットワークの外側の第1のアカウントと第2のアカウントとの間の対話なしでゼロ知識証明に基づくことである。
本開示はまた、1つまたは複数のプロセッサによって実行されると、本明細書で提供される方法の実装形態に従って1つまたは複数のプロセッサに動作を実行させる命令が記録された、1つまたは複数のプロセッサに結合される1つまたは複数の非一時的コンピュータ可読記録媒体を提供する。
本開示はさらに、本明細書で提供される方法を実施するためのシステムを提供する。システムは、1つまたは複数のプロセッサと、1つまたは複数のプロセッサによって実行されると1つまたは複数のプロセッサに本明細書で提供される方法の実装形態に従って動作を実行させる命令が記録された、1つまたは複数のプロセッサに結合されるコンピュータ可読記録媒体とを含む。
本開示による方法は、本明細書で説明される態様および特徴の任意の組合せを含み得ることを了解されたい。すなわち、本開示による方法は、本明細書で特に説明される態様および特徴の組合せに限定されず、提供される態様および特徴の任意の組合せも含む。
本開示の1つまたは複数の実装形態の詳細は、添付の図面および以下の説明に記載される。本開示の他の特徴および利点が、説明および図面から、ならびに特許請求の範囲から明らかになるであろう。
本開示の実装形態を実行するために使用され得る例示的な環境の図である。 本開示の実装形態による例示的な概念のアーキテクチャの図である。 本開示の実装形態による、アカウント注釈モデルに基づくブロックチェーントランザクションのプライバシーが保護された承認の例示的なプロセスの図である。 本開示の実装形態による、アカウント注釈モデルに基づく例示的なブロックチェーントランザクションの図である。 本開示の実装形態に従って実行され得る例示的なプロセスの図である。
様々な図における同様の参照記号は同様の要素を示す。
本開示の実装形態は、アカウント注釈モデルに基づくゼロ知識証明を用いた、ブロックチェーントランザクションの非対話型のプライバシーが保護される検証のためのコンピュータで実行される方法を含む。より具体的には、本開示の実装形態は、アカウント注釈モデルのもとでブロックチェーンアカウント間のトランザクションを承認することを対象とする。いくつかの実装形態では、アカウント注釈モデルでは、アカウント残高が注釈の集合体として記録される。本開示の実装形態によれば、トランザクションの承認は、トランザクション量、注釈値、またはコミットメントを生成するための乱数を明らかにすることなく、コミットメントスキームおよび公開鍵暗号化スキームまたは統合暗号化スキームに基づいて実行され得る。いくつかの実装形態では、活動は、第1のアカウントから、対応する複数の注釈を特定する複数の注釈識別子(ID)、複数の注釈の少なくとも一部分によって支払われる第1のアカウントと第2のアカウントとの間のトランザクションのトランザクション量のコミットメント、複数の注釈の合計値からトランザクション量を差し引くことによる変化のコミットメント、第2のアカウントの公開鍵によって暗号化されるトランザクション量のコミットメントを生成するために使用される第1の乱数、第2のアカウントの公開鍵によって暗号化されるトランザクション量、第1のアカウントの公開鍵によって暗号化される変化のコミットメントを生成するために使用される第2の乱数、第1のアカウントの公開鍵によって暗号化される変化、1つまたは複数のレンジプルーフ、および1つまたは複数の選択された乱数に基づいて生成されるゼロ知識証明の、デジタル署名されたコピーを受信することと、第1のアカウントの公開鍵を使用して、デジタル署名されたコピーに対応するデジタル署名を検証することと、トランザクション量および変化が0以上であることを1つまたは複数のレンジプルーフが証明すると決定することと、複数の注釈の合計値がトランザクション量および変化の合計に等しいと決定することと、コミットメントの中のトランザクション量が暗号化されるトランザクション量と同じであるかどうか、およびトランザクション量のコミットメントを生成するために使用される乱数が第1の乱数と同じであるかどうかを決定することと、コミットメントの中のトランザクション量が暗号化されるトランザクション量と同じであり、かつトランザクション量のコミットメントを生成するために使用される乱数が第1の乱数と同じである場合、複数の注釈、トランザクション量、および変化に基づいて、第1のアカウントおよび第2のアカウントを更新することとを含む。
本開示の、および上で紹介された実装形態のさらなる文脈を提供すると、コンセンサスネットワーク(たとえば、ピアツーピアノードからなる)、分散型台帳システム、または単にブロックチェーンとも呼ばれ得る、ブロックチェーンネットワークは、参加するエンティティが安全かつ変更不可能にトランザクションを行いデータを記録することを可能にする。ブロックチェーンは、パブリックブロックチェーン、プライベートブロックチェーン、またはコンソーシアムブロックチェーンとして提供され得る。本開示の実装形態は、参加するエンティティの間で公開されているパブリックブロックチェーンに関して、本明細書でさらに詳細に説明される。しかしながら、本開示の実装形態はあらゆる適切なタイプのブロックチェーンにおいて実現され得ることが企図される。
パブリックブロックチェーンでは、コンセンサスプロセスはコンセンサスネットワークのノードによって制御される。たとえば、数百、数千、さらには数百万ものエンティティがパブリックブロックチェーンに参加することができ、それらの各々がパブリックブロックチェーンの中の少なくとも1つのノードを運用する。したがって、パブリックブロックチェーンは、参加するエンティティに関して公開のネットワークであると見なされ得る。いくつかの例では、ブロックが有効となりブロックチェーンに追加されるには、過半数のエンティティ(ノード)がそれぞれのブロックに署名しなければならない。例示的なパブリックブロックチェーンには、ピアツーピア支払ネットワーク(暗号通貨ネットワーク)であるビットコインネットワークにおいて使用されるブロックチェーンがある。ブロックチェーンという用語は一般にビットコインネットワークに関して言及されるが、本明細書では、ブロックチェーンは、ビットコインネットワークに特に言及することなく分散型台帳を全般的に指す。
一般に、パブリックブロックチェーンはパブリックトランザクションをサポートする。パブリックトランザクションはブロックチェーン内のノードのすべてと共有され、ブロックチェーンはすべてのノードにわたって複製される。すなわち、すべてのノードがブロックチェーンに関して完全にコンセンサスのとれた状態にある。コンセンサス(たとえば、ブロックチェーンへのブロックの追加に対する合意)を達成するために、ブロックチェーンネットワーク内でコンセンサスプロトコルが実装される。例示的なコンセンサスプロトコルには、限定はされないが、ビットコインネットワークにおいて実装されるプルーフオブワーク(POW)がある。
本開示の実装形態は、上記の文脈に鑑みて本明細書でさらに詳細に説明される。より具体的には、上で紹介されたように、本開示の実装形態は、アカウント注釈モデルのもとでブロックチェーンアカウント間のトランザクションを承認することを対象とし、アカウント残高は注釈の集合体として記録される。いくつかの実施形態では、本明細書でさらに詳細に説明されるように、トランザクションの承認は、トランザクション量、注釈値、またはコミットメントを生成するための乱数を明らかにすることなく、コミットメントスキームおよびHEに基づいて実行され得る。
本開示の実装形態によれば、ブロックチェーンノードは、アカウント注釈モデルを記録方法として使用することができる。アカウント残高モデルと比較すると、アカウント注釈モデルを採用するブロックチェーンノードは、アカウント残高の代わりに複数の注釈の記録をとる。複数の注釈の各々が、注釈タイプおよび注釈値と関連付けられる。注釈タイプは、注釈と関連付けられる通貨または資産のタイプであり得る。通貨のタイプは、現実の通貨または暗号通貨の任意のタイプであり得る。注釈値は、対応する注釈値を用いて注釈の額面値を示すことができる。
データのプライバシーを保護するために、トランザクションは、ブロックチェーンユーザアカウントと関連付けられるトランザクション量または金銭の量の情報を明らかにすることなく、コミットメントに基づいてブロックチェーン(台帳)に記録され得る。乱数を使用してトランザクション量のコミットメントを生成するために、コミットメントスキームが使用され得る。例示的なコミットメントスキームには、限定はされないが、ペダーセンコミットメント(PC)スキームがある。トランザクション量はコミットメントの中に秘匿されるので、ブロックチェーンユーザアカウントの値をトランザクション量が超えないことを証明するために、1つまたは複数のレンジプルーフが使用され得る。
アカウント残高モデルのもとでは、レンジプルーフがアカウント残高と関連付けられる。2つ以上のトランザクションが行われるが、すべてのトランザクションがブロックチェーン上で承認され記録されるのではない場合、レンジプルーフは正しくないアカウント残高と関連付けられることがあり、したがって無効であることがある。それと比較して、アカウント注釈モデルのもとでは、アカウント値は複数の注釈の合計によって計算される。あるトランザクション量がブロックチェーンユーザアカウント間で移動されるべきであるとき、合成値がそのトランザクション量以上である複数の注釈の一部分が、その移動を行うために使用され得る。追加の移動は、移動されるべき量よりも大きい合成値を残りの注釈が有するという条件のもとで行われ得る。したがって、トランザクションがブロックチェーン上で承認され記録されない場合であっても、残りの注釈の合成値がトランザクション量以上であることを示すレンジプルーフは、それでも有効であり得る。
ユーザA(ノード)とユーザB(ノード)との間のトランザクションを承認するために、たとえば、トランザクション量および乱数は、ユーザBの公開鍵に基づいて公開鍵暗号化スキーム(たとえば、EIGamal)または統合暗号化スキーム(たとえば、ECIES)を使用して、ユーザAによって暗号化され得る。トランザクション量および乱数はまた、トランザクションを承認するためのゼロ知識証明(ZKP)を生成するために使用され得る。トランザクションのコミットメント、暗号化されたトランザクション量、暗号化された乱数、およびZKPは、トランザクションが有効であるかどうかを検証するために、ブロックチェーンノードによって使用され得る。承認プロセスの間、アカウント残高、トランザクション量、または乱数は、明らかにされる必要がなく、またはユーザBに送信される必要がない。
図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は、本開示の実装形態による、アカウント注釈モデルに基づくブロックチェーントランザクションのプライバシーが保護された承認の例示的な方法300を図示する。高水準において、例示的な方法300が、ユーザノードA302、ユーザノードB(図3に示されない)、およびコンセンサスノードとも呼ばれるブロックチェーンノード304によって実行される。ユーザノードA302のアカウントとユーザノードBのアカウントの両方が、アカウント注釈モデルに基づく。すなわち、ユーザノードA302およびユーザノードBの通貨が複数の注釈として保持される。価値の移動などのトランザクションが、ユーザノードA302からユーザノードBへと行われ得る。ユーザノードA302は、トランザクション量をカバーするようにそのアカウントから注釈のセットを選択することができる。注釈のセットの合計値とトランザクション量との差は、ユーザノードA302の変化として計算され得る。
アカウントのプライバシーを保護するために、ユーザノードA302は、乱数rに基づいて、PCなどのコミットメントスキームを使用して、トランザクション量tのコミットメントを生成することができる。ユーザノードA302は、ユーザノードBの公開鍵に基づいて公開鍵暗号化スキームまたは統合暗号化スキームを使用して、トランザクション量および乱数を暗号化することができる。ユーザノードA302はまた、ユーザノードAの公開鍵に基づいて公開鍵暗号化スキームまたは統合暗号化スキームを使用して、変化および変化に対応する乱数を暗号化することができる。トランザクションの有効性を検証するために、ブロックチェーンノード304は、ZKPに基づいてコミットメントの中の対応するトランザクション量および乱数を用いて、暗号化されたトランザクション量および乱数を検証することができる。トランザクション量および乱数が一致する場合、トランザクションは、ブロックチェーンノード304によって有効であると決定される。例示的な方法300のさらなる詳細が図3の以下の説明において論じられる。
306において、ユーザノードA302は、トランザクション量をユーザノードBに移動させるための複数の注釈を選択する。ユーザノードA302およびユーザノードBは、ブロックチェーンコンセンサスノード、またはコンセンサスプロセスに参加することなくブロックチェーンネットワークを使用するユーザノードであり得る。前に論じられたように、ユーザノードA302は、記録をとるためにアカウント注釈モデルを使用することができる。アカウント残高モデルのもとでアカウント残高の記録をとる代わりに、ユーザノードA302のアカウント値は、その注釈の合計値によって測られる。ユーザノードA302は、トランザクション量をカバーするのに十分な複数の注釈を自身が持つ注釈から選択することができる。たとえば、トランザクション量が7.5ビットコインである場合、ユーザノードA302は、トランザクション量をカバーするために、それぞれ5ビットコイン、2ビットコイン、および1ビットコインの価値がある3つの注釈を選択することができる。
いくつかの実装形態では、各注釈は、注釈の通貨または資産のタイプを特定する注釈タイプを有し得る。各注釈は、トランザクションIDおよびインデックス番号を含む注釈IDも有し得る。トランザクションIDは、トランザクション情報のハッシュであり得る。インデックスは、トランザクション出力における対応する注釈の順序を示し得る。たとえば、5ビットコイン、2ビットコイン、および1ビットコインという注釈量をもつ3つの注釈を送信するとき、2ビットコインの注釈は、2というインデックス番号をもつ2番目のトランザクション出力であり得る。いくつかの例では、k個の注釈が選択され、それらの注釈タイプおよび注釈IDは、NoteType1、NoteIda1、...、NoteTypek、NoteIdakとして表され得る。いくつかの例では、同じタイプの注釈は、トランザクション量の移動を実行するために選択され得る。いくつかの場合、変化に対応する注釈IDおよびトランザクション量は、トランザクションが作製される前に取得されることが可能ではない。そのような場合、前記注釈IDは、コンセンサスおよび契約更新を実行できるブロックチェーン契約に基づいて生成され得る。
308において、ユーザノードA302は、複数の注釈の合計値およびトランザクション量に基づいて変化を計算する。注釈はトランザクション量より大きい合計値を有するように選択されるので、変化は、選択された注釈の合計値からトランザクション量を差し引いたものとして計算され得る。トランザクション量を表すためにtを使用し、変化を表すためにt0を使用すると、変化の計算をt0=a1+...+ak-tとして表すことができ、ここでa1、...、akは、トランザクション量tをカバーするために、ユーザノードA302によって選択されるk個の注釈の注釈値である。
310において、ユーザノードA302は、複数の注釈に対応する複数の乱数を生成し、変化に対応する乱数を計算する。複数の乱数が、注釈値のコミットメントを生み出すために生成され得る。たとえば、a1、...、akは注釈値であり、注釈値に対応する乱数をra1、...、rakとして表現することができる。注釈のコミットメントは、PC(ra1、a1)、...、PC(rak、ak)として表現され得る。
いくつかの実装形態では、乱数r0は、変化t0に対応するように計算され得る。この計算を、r0=ra1+...+rak-rと表現することができ、ここでrは、トランザクション量tのためのコミットメントを生み出すために生成される乱数である。r0を計算することによって、ユーザノードA302は、移動される注釈の合計値が受け取られる注釈の合計値に等しいことを示すために、追加のZKPを生成する必要がない。
312において、ユーザノードA302は、トランザクション量および変化のコミットメントと公開鍵暗号化された暗号文とを生成する。データのプライバシーを保護するために、注釈値、トランザクション量、および変化を含む金銭的な値は、コミットメントスキームに基づいてコミットメントによって秘匿され得る。ブロックチェーンは、記録としてコミットメントを保持することができる。いくつかの実装形態では、PCなどの準同型なコミットメントスキームが、コミットメントを生成するために使用され得る。非限定的な例としてPCを使用すると、T=PC(r,t)=grhtとして表現され得るトランザクションtのPCは、乱数rを使用することによって生成されることが可能であり、ここでgおよびhは楕円曲線のジェネレータであってよく、PC(r,t)は曲線点のスカラー乗算である。藤崎-岡本コミットメントスキームなどのHEに基づく他のコミットメントスキームも、コミットメント値を生成するために使用され得ることを理解されたい。
トランザクション量および乱数はまた、ユーザノードBの公開鍵を使用して暗号化され得る。この暗号化は、PaillierもしくはElGamalアルゴリズムなどの公開鍵暗号化スキーム、またはECIESなどの統合暗号化スキームに基づき得る。したがって、ユーザノードBは、トランザクション量および乱数を明らかにするために、その対応する公開鍵を使用することができる。公開鍵暗号化される乱数およびトランザクション量を、それぞれPB=E(PkB,r)、QB=E(PkB,t)と表現することができ、ここでPkBはユーザノードBの公開鍵を表す。
同様に、変化のコミットメントをT0=PC(r0,t0)と表現することができる。乱数r0および変化量t0を、それぞれPA=E(PkA,r0)、QA=E(PkA,t0)として表現されるユーザノードA302の公開鍵としても暗号化することができ、ここでPkAはユーザノードA302の公開鍵を表す。
314において、ユーザノードA302は、1つまたは複数のレンジプルーフを生成する。いくつかの実装形態では、第1のレンジプルーフRP1が、トランザクション量t≧0であることを示すために生成され得る。第2のレンジプルーフRP2は、変化t0≧0であることを示すために生成されることがあり、言い換えると、複数の注釈の合計値はトランザクション量以上である。
316において、ユーザノードA302はZKPを生成する。いくつかの実装形態では、ZKPは、PBおよびQBに含まれる乱数rおよびトランザクション量tが、コミットメントTに含まれる対応する乱数およびトランザクション量に等しいことを証明するために使用され得る。いくつかの実装形態では、ZKPは、zero-knowledge succinct non-interactive argument of knowledge (zk-SNARK)を使用して生成され得る。
318において、ユーザノードA302は、トランザクションデータのデジタル署名を生成するために秘密鍵を使用する。いくつかの実装形態では、トランザクションデータは、NoteType1、NoteIda1、...、NoteTypek、NoteIdak; T0、T、PB、QB、PA、QA、RP1、RP2、およびZKPを含み得る。
320において、ユーザノードA302は、ブロックチェーンネットワークにトランザクションデータのデジタル署名されたコピーを提出する。
322において、ブロックチェーンノード304はデジタル署名を検証する。デジタル署名の検証は、トランザクションデータがユーザノードA302によって送信されることを確実にできる。
324において、ブロックチェーンノード304は、複数の注釈の注釈タイプを検証する。言い換えると、ブロックチェーンノード304は、NoteType1〜NoteTypekが同じであることを検証する。
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)であることを示すことによって、a1+...+ak=t+t0であることが証明され得る。
328において、ブロックチェーンノード304は、1つまたは複数のレンジプルーフを検証する。
330において、ブロックチェーンノード304はZKPを検証し、ZKPの検証が成功する場合、ユーザノードBの公開鍵を使用して暗号化されるトランザクション量および乱数は、PCによって秘匿される対応するトランザクション量および乱数と同じであることが証明される。上で論じられたように、ZKPはzk-SNARKを使用して生成され得る。
いくつかの実装形態では、ZKPはSigmaプロトコルにも基づいて生成され得る。例としてPaillier公開鍵暗号化を使用すると、PBおよびQBを、それぞれPB=E(PkB,r)=uryn、QB=E(Pk,t)=utznとして表現することができ、ここでuおよびnは公開鍵であり、yおよびzは乱数である。
Sigmaプロトコルに基づいてZKPを生成するために、ユーザノードA302は、3つの暗号文C、D、およびEを計算するために、4つの追加の乱数r*、t*、y*、およびz*を生成することができる。C、D、およびEは、C=gr*ht*、D=ur*y*n、およびE=ut*z*nとして表現され得る。ハッシュされた値xは、x=Hash(T,PB,QB,g,h,u,n,C,D,E)として表現され得る、T、PB、QB、g、h、u、n、C、D、およびEをハッシュすることによって計算され得る。4つの追加の暗号文a、b、c、およびdは、a=r*+xr、b=t*+xt、c=y*yx、d=z*zxとして計算され得る。最後に、ZKPはZKP=(C,D,E,a,b,c,d)として形成され得る。
ZKPを検証するために、ブロックチェーンノード304はまず、x=Hash(T,PB,QB,g,h,u,n,C,D,E)を計算することができる。ブロックチェーンノード304は、gahb=CTxであるかどうか、uacn=DPxであるかどうか、およびubdn=EQxであるかどうかを検証することができる。そうである場合、ZKPは検証され、ユーザノードBの公開鍵を使用して暗号化されるトランザクション量および乱数は、PCによって秘匿される対応するトランザクション量および乱数と同じであることが証明される。
別の例では、OU公開鍵暗号化が、トランザクション量および乱数を暗号化するために使用され得る。PBおよびQBをそれぞれ、PB=E(PkB,r)=urvy、QB=E(Pk,t)=utvzとして表現することができ、ここでu、v、およびnは公開鍵であり、r、y、およびzは乱数である。
Sigmaプロトコルに基づいてZKPを生成するために、ユーザノードA302は、3つの暗号文C、D、およびEを計算するために、4つの追加の乱数r*、t*、y*、およびz*を生成することができる。暗号文C、D、およびEは、C=gr*ht*、D=ur*v*y、およびE=ut*v*zとして計算され得る。ハッシュされた値xは、x=Hash(T,PB,QB,g,h,u,v,n,C,D,E)として表現され得る、T、PB、QB、g、h、u、v、n、C、D、およびEをハッシュすることによって計算され得る。4つの追加の暗号文a、b、c、およびdは、a=r*+xr、b=t*+xt、c=y*+xy、d=z*+xzとして計算され得る。最後に、ZKPはZKP=(C,D,E,a,b,c,d)として形成され得る。
ZKPを検証するために、ブロックチェーンノード304は、x=Hash(T,PB,QB,g,h,u,v,n,C,D,E)を計算することができる。ブロックチェーンノード304は、gahb=CTxであるかどうか、uavc=DPxであるかどうか、およびubvd=EQxであるかどうかを検証することができる。そうである場合、ZKPは検証され、ユーザノードBの公開鍵を使用して暗号化されるトランザクション量および乱数は、PCによって秘匿される対応するトランザクション量および乱数と同じであることが証明される。
332において、ブロックチェーンノード304は、複数の注釈がユーザノードA302に属することを検証する。検証は、注釈ID、NoteIDaiに基づくことがあり、ここでi=1,...,kである。
334において、ブロックチェーンノード304は、ユーザノードA302およびユーザノードBのアカウントを更新する。ユーザノードA302およびユーザノードBのアカウントはアカウント注釈モデルのもとで記録として注釈を保持するので、トランザクションの後で、ユーザノードA302から移動される複数の注釈が、ユーザノードA302のアカウントから除去され得る。変化はユーザノードAのアカウントへと戻るように加算され得る。トランザクション量、ならびに対応する注釈タイプおよび注釈IDは、ユーザノードBのアカウントに新しい注釈として加算され得る。アカウントの更新は、図4を参照して本明細書においてさらに詳細に説明される。
図4は、本開示の実装形態による、アカウント注釈モデルに基づく例示的なブロックチェーントランザクション400を図示する。例示的なブロックチェーントランザクション400において示されるように、ユーザノードA402はトランザクション量tをユーザノードB404に移す。トランザクションの前に、ユーザノードA402は、NoteIda1、PC(ra1,a1)、E(PkA,ra1)、E(PkA,a1); NoteIda2、PC(ra2,a2)、E(PkA,ra2)、E(PKA,a2); ... ; NoteIdam、PC(ram,am)、E(PkA,ram)、E(PKA,am)を含むm個の注釈を有する。
図3を参照して例として本明細書で説明されるコミットメントスキーム、暗号化スキーム、およびトランザクションプロセスを使用すると、ユーザノードA402はトランザクションデータ408を生成し、トランザクションデータ408は、k個の選択された注釈の注釈IDと、NoteType1、NoteIda1、...、NoteTypek、NoteIdakとして表されるそれらのタイプとを含み得る。トランザクションデータ408はさらに、T0、T、PB、QB、PA、QA、RP1、RP2、およびZKPを含み得る。トランザクションデータ408が生成された後で、ユーザノードA402は、デジタル署名を追加し、合意のためにデジタル署名されたトランザクションデータをブロックチェーンネットワーク406に提出することができる。
トランザクションの後で、k個の選択された注釈が、ユーザノードA402のアカウントから除去され得る。変化がユーザノードA402へ戻るように加算され得る。したがって、ユーザノードA402は、NoteIda(k+1)、PC(ra(k+1),a(k+1))、E(PkA,ra(k+1))、E(PkA,a(k+1))、...、NoteIdam、PC(ram,am)、E(PkA,ram)、E(PkA,am)、NoteIda(m+1)、PC(r0,t0)、E(PkA,r0)、E(PkA,t0)として表される注釈を有することができ、NoteIda(m+1)は変化t0の注釈IDを表す。
トランザクションの前に、ユーザノードB404は、NoteIdb1、PC(rb1,b1)、E(PkB,rb1)、E(PkB,b1); NoteIdb2、PC(rb2,b2)、E(PkB,rb2)、E(PkB,b2); ... ; NoteIdbm、PC(rbm,bm)、E(PkB,rbm)、E(PkB,bm)として表され得る、m個の注釈を有する。トランザクションの後で、トランザクション量がユーザノードB404に加算され得る。ユーザノードB404は、NoteIdb1、PC(rb1,b1)、E(PkB,rb1)、E(PkB,b1)、...、NoteIdbm、PC(rbm,bm)、E(PkB,rbm)、E(PkB,bm)、NoteIdb(m+1)、PC(r,t)、E(PkB,r)、E(PkB,t)として表される注釈を有することができ、NoteIdb(m+1)はトランザクション量tの注釈IDを表す。
図5は、本開示の実装形態に従って実行され得る例示的なプロセス500を図示する。提示を明確にするために、以下の説明は全般に、この説明では他の図面の文脈で例示的なプロセス500を説明する。しかしながら、例示的なプロセス500は、たとえば、任意のシステム、環境、ソフトウェア、およびハードウェア、またはシステム、環境、ソフトウェア、およびハードウェアの組合せによって、適宜実行され得ることが理解されるであろう。いくつかの実装形態では、例示的なプロセス500の様々なステップは、並列に、組合せで、ループで、または任意の順序で行われ得る。
502において、コンセンサスノードは、第1のアカウントから、対応する複数の注釈を特定する複数の注釈IDのデジタル署名されたコピーを受信する。いくつかの例では、コンセンサスノードはさらに、複数の注釈の少なくとも一部分によって支払われる、第1のアカウントと第2のアカウントとの間のトランザクションのトランザクション量のコミットメントを受信することができる。いくつかの例では、コンセンサスノードはさらに、複数の注釈の合計値からトランザクション量を差し引くことによって、変化のコミットメントを受信することができる。いくつかの例では、コンセンサスノードはさらに、第2のアカウントの公開鍵によって暗号化されるトランザクション量のコミットメントを生成するために使用される第1の乱数と、第2のアカウントの公開鍵によって暗号化されるトランザクション量とを受信することができる。いくつかの例では、コンセンサスノードはさらに、第1のアカウントの公開鍵によって暗号化される変化のコミットメントを生成するために使用される第2の乱数、第1のアカウントの公開鍵によって暗号化される変化、1つまたは複数のレンジプルーフ、および1つまたは複数の選択された乱数に基づいて生成されるゼロ知識証明を受信することができる。
いくつかの実装形態では、複数の注釈の各々が、注釈タイプ、注釈値のコミットメント、公開鍵暗号化スキームまたは統合暗号化スキームによって暗号化される注釈値、および公開鍵暗号化スキームまたは統合暗号化スキームによって暗号化されるコミットメントを生成するために使用される乱数のうちの1つまたは複数を含む。いくつかの実装形態では、トランザクション量のコミットメント、変化のコミットメント、および注釈値のコミットメントが、準同型であるコミットメントスキームを使用して生成される。いくつかの実装形態では、複数の注釈IDの各々は、トランザクションアドレスと、トランザクション出力における対応する注釈の順序を示すインデックス番号とを含み、トランザクションアドレスは、トランザクションのトランザクション情報をハッシュすることによって生成される。いくつかの実装形態では、第1の乱数およびトランザクション量は、EIGamal、ECIESなどの暗号化スキームに基づいて、第2のアカウントの公開鍵によって暗号化される。
504において、コンセンサスノードは、デジタル署名されたコピーに対応するデジタル署名を、第1のアカウントの公開鍵を使用して検証する。
506において、コンセンサスノードは、トランザクション量および変化が0以上であることを1つまたは複数のレンジプルーフが証明すると決定する。
508において、コンセンサスノードは、複数の注釈の合計値がトランザクション量と変化の合計に等しいと決定する。いくつかの実装形態では、複数の注釈の合計値がトランザクション量および変化の合計に等しいかどうかを決定することは、各注釈値のコミットメントの合計と、トランザクション量のコミットメントと変化のコミットメントの合計とを比較することに基づく。
510において、コンセンサスノードは、コミットメントの中のトランザクション量が暗号化されるトランザクション量と同じであるかどうか、およびトランザクション量のコミットメントを生成するために使用される乱数が第1の乱数と同じであるかどうかを決定する。いくつかの実装形態では、コンセンサスノードはさらに、複数の注釈の各々が同じ注釈タイプを有すると決定する。いくつかの実装形態では、コンセンサスノードはさらに、複数の注釈IDの各々が第1のアカウントと関連付けられると決定する。いくつかの実装形態では、コミットメントの中のトランザクション量が暗号化されるトランザクション量と同じであるかどうか、および、トランザクション量のコミットメントを生成するために使用される乱数が第1の乱数と同じであるかどうかを決定することは、ブロックチェーンネットワークの外側の第1のアカウントと第2のアカウントとの間の対話なしで、ゼロ知識証明に基づく。
512において、コンセンサスノードは、コミットメントの中のトランザクション量が暗号化されるトランザクション量と同じであり、かつトランザクション量のコミットメントを生成するために使用される乱数が第1の乱数と同じである場合、複数の注釈、トランザクション量、および変化に基づいて、第1のアカウントおよび第2のアカウントを更新する。
本明細書で説明される主題の実装形態は、特定の利点または技術的な効果を実現するように実装され得る。たとえば、本開示の実装形態は、アカウント残高およびブロックチェーンノードのトランザクション量がトランザクションの間に非公開であることを可能にする。資金移動の受領者は、トランザクションを確認すること、またはコミットメントを検証するために乱数を使用することが必要ではなく、トランザクションの承認は非相互的であり得る。ブロックチェーンノードは、公開鍵暗号化スキームおよびコミットメントスキームに基づいてトランザクションを承認して、ゼロ知識証明を可能にできる。
説明される方法は、様々なモバイルコンピューティングデバイスのアカウント/データセキュリティの向上を可能にする。アカウントの残高およびトランザクション量は、コミットメントスキームによって秘匿され得る。したがって、コンセンサスノードは、アカウントの実際のアカウント残高を明らかにすることなく、トランザクションの後の台帳のアカウント残高を更新することができる。トランザクションを確認するために乱数を受領者に送信する必要がないので、データ漏洩のリスクを減らすことができ、乱数を管理するために使用することが必要なコンピューティングリソースおよびメモリリソースがより少なくなる。
本明細書で説明される実装形態および動作は、本明細書で開示される構造もしくはそれらのうちの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)、または他のプロトコルもしくはプロトコルの組合せを含む、様々なプロトコルおよび規格に従って通信ネットワーク上で送信され得る。通信ネットワークは、接続されたコンピューティングデバイス間で、音声データ、ビデオデータ、バイオメトリックデータ、または認証データ、または他の情報を送信することができる。
別個の実装形態として説明される特徴は、組合せで、単一の実装形態で実装され得るが、単一の実装形態として説明される特徴は、複数の実装形態で、別々に、または任意の適切な部分組合せで実装され得る。特定の順序で説明され特許請求される動作は、特定の順序が実行されなければならないこと、またはすべての図示される動作が実行されなければならないことを要求するものとして理解されるべきではない(いくつかの動作は任意選択であり得る)。適宜、マルチタスキングまたは並列処理(またはマルチタスキングと並列処理の組合せ)が実行され得る。
102 パブリックブロックチェーン
106 コンピューティングシステム
108 コンピューティングシステム
110 ネットワーク
202 エンティティレイヤ
204 ホストされたサービスレイヤ
206 パブリックブロックチェーンレイヤ
208 トランザクション管理システム
210 ブロックチェーンインターフェース
212 ブロックチェーンネットワーク
214 ノード
216 ブロックチェーン
302 ユーザノードA
304 ブロックチェーンノード
406 ブロックチェーンネットワーク

Claims (11)

  1. ブロックチェーンネットワークのコンセンサスノードによって行われる、コンピュータで実行される方法であって、
    第1のアカウントから、対応する複数の注釈を特定する複数の注釈識別子(ID)、前記複数の注釈の少なくとも一部分によって支払われる前記第1のアカウントと第2のアカウントとの間のトランザクションのトランザクション量のコミットメント、前記複数の注釈の合計値から前記トランザクション量を差し引くことによる変化のコミットメント、前記第2のアカウントの公開鍵によって暗号化される前記トランザクション量の前記コミットメントを生成するために使用される第1の乱数、前記第2のアカウントの前記公開鍵によって暗号化される前記トランザクション量、前記第1のアカウントの前記公開鍵によって暗号化される前記変化の前記コミットメントを生成するために使用される第2の乱数、前記第1のアカウントの前記公開鍵によって暗号化される前記変化、1つまたは複数のレンジプルーフ、および1つまたは複数の選択された乱数に基づいて生成されるゼロ知識証明の、デジタル署名されたコピーを受信するステップと、
    前記デジタル署名されたコピーに対応するデジタル署名を、前記第1のアカウントの前記公開鍵を使用して検証するステップと、
    前記トランザクション量および前記変化が0以上であることを前記1つまたは複数のレンジプルーフが証明すると決定するステップと、
    前記複数の注釈の前記合計値が前記トランザクション量と前記変化の合計に等しいと決定するステップと、
    前記コミットメントの中の前記トランザクション量が暗号化される前記トランザクション量と同じであるかどうか、および前記トランザクション量の前記コミットメントを生成するために使用される乱数が前記第1の乱数と同じであるかどうかを決定するステップと、
    前記コミットメントの中の前記トランザクション量が暗号化される前記トランザクション量と同じであり、かつ前記トランザクション量の前記コミットメントを生成するために使用される前記乱数が前記第1の乱数と同じである場合、前記複数の注釈、前記トランザクション量、および前記変化に基づいて、前記第1のアカウントおよび前記第2のアカウントを更新するステップとを備える、
    コンピュータで実行される方法。
  2. 前記複数の注釈の各々が、注釈タイプ、注釈値のコミットメント、公開鍵暗号化または統合暗号化によって暗号化される前記注釈値、および前記公開鍵暗号化または前記統合暗号化によって暗号化される前記コミットメントを生成するために使用される乱数のうちの1つまたは複数を含む、
    請求項1に記載のコンピュータで実行される方法。
  3. 前記複数の注釈の各々が同じ注釈タイプを有すると決定するステップをさらに備える、
    請求項2に記載のコンピュータで実行される方法。
  4. 前記トランザクション量の前記コミットメント、前記変化の前記コミットメント、および前記注釈値の前記コミットメントが、準同型であるコミットメントスキームを使用して生成される、
    請求項2に記載のコンピュータで実行される方法。
  5. 前記複数の注釈の前記合計値が前記トランザクション量および前記変化の前記合計に等しいかどうかを決定するステップが、
    各注釈値の前記コミットメントの合計と、前記トランザクション量の前記コミットメントと前記変化の前記コミットメントの合計とを比較することに基づく、
    請求項4に記載のコンピュータで実行される方法。
  6. 前記複数の注釈IDの各々が、トランザクションアドレスと、トランザクション出力における前記対応する注釈の順序を示すインデックス番号とを含み、前記トランザクションアドレスが、前記トランザクションのトランザクション情報をハッシュすることによって生成される、
    請求項1に記載のコンピュータで実行される方法。
  7. 前記複数の注釈IDの各々が前記第1のアカウントと関連付けられると決定するステップをさらに備える、
    請求項1に記載のコンピュータで実行される方法。
  8. 前記第1の乱数および前記トランザクション量が、Paillier暗号化または岡本-内山暗号化に基づいて前記第2のアカウントの公開鍵によって暗号化される、
    請求項1に記載のコンピュータで実行される方法。
  9. 前記コミットメントの中の前記トランザクション量が暗号化される前記トランザクション量と同じであるかどうか、および、前記トランザクション量の前記コミットメントを生成するために使用される乱数が前記第1の乱数と同じであるかどうかを決定するステップが、
    前記ブロックチェーンネットワークの外側の前記第1のアカウントと前記第2のアカウントとの間の対話なしで、ゼロ知識証明に基づく、
    請求項1に記載のコンピュータで実行される方法。
  10. 1つまたは複数のプロセッサに結合され、かつ前記1つまたは複数のプロセッサによって実行されると、請求項1から9のいずれか一項に記載の方法に従った動作を前記1つまたは複数のプロセッサに実行させる命令が記録された、
    非一時的コンピュータ可読記録媒体。
  11. コンピューティングデバイスと、
    前記コンピューティングデバイスに結合され、かつ前記コンピューティングデバイスによって実行されると、請求項1から9のいずれか一項に記載の方法に従った動作を前記コンピューティングデバイスに実行させる命令が記録されたコンピュータ可読記録デバイスとを備える、
    システム。
JP2019521800A 2018-11-07 2018-11-07 ゼロ知識証明を用いたアカウント注釈モデルに基づくブロックチェーンデータの保護 Active JP6817429B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/114420 WO2019072268A2 (en) 2018-11-07 2018-11-07 BLOCK CHAIN DATA PROTECTION BASED ON A TICKET MODEL FROM ACCOUNTS USING ZERO KNOWLEDGE PROOF

Publications (2)

Publication Number Publication Date
JP2020503718A JP2020503718A (ja) 2020-01-30
JP6817429B2 true JP6817429B2 (ja) 2021-01-20

Family

ID=66100031

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019521800A Active JP6817429B2 (ja) 2018-11-07 2018-11-07 ゼロ知識証明を用いたアカウント注釈モデルに基づくブロックチェーンデータの保護

Country Status (17)

Country Link
US (1) US20190251553A1 (ja)
EP (2) EP3542336B1 (ja)
JP (1) JP6817429B2 (ja)
KR (1) KR102215773B1 (ja)
CN (1) CN110419055B (ja)
AU (1) AU2018347190B2 (ja)
BR (1) BR112019008160B1 (ja)
CA (1) CA3041160C (ja)
ES (1) ES2863559T3 (ja)
MX (1) MX2019004658A (ja)
PH (1) PH12019500890A1 (ja)
PL (1) PL3542336T3 (ja)
RU (1) RU2729595C1 (ja)
SG (1) SG11201903586SA (ja)
TW (1) TW202018572A (ja)
WO (1) WO2019072268A2 (ja)
ZA (1) ZA201902549B (ja)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11777729B2 (en) 2017-01-20 2023-10-03 Enveil, Inc. Secure analytics using term generation and homomorphic encryption
US11196541B2 (en) 2017-01-20 2021-12-07 Enveil, Inc. Secure machine learning analytics using homomorphic encryption
US10972251B2 (en) 2017-01-20 2021-04-06 Enveil, Inc. Secure web browsing via 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
US10873568B2 (en) 2017-01-20 2020-12-22 Enveil, Inc. Secure analytics using homomorphic and injective format-preserving encryption and an encrypted analytics matrix
CN109325747B (zh) * 2018-08-30 2020-06-09 阿里巴巴集团控股有限公司 基于区块链的汇款方法及装置
US10902133B2 (en) 2018-10-25 2021-01-26 Enveil, Inc. Computational operations in enclave computing environments
EP3545640B1 (en) * 2018-11-07 2021-04-07 Advanced New Technologies Co., Ltd. Blockchain data protection using homomorphic encryption
US10817262B2 (en) 2018-11-08 2020-10-27 Enveil, Inc. Reduced and pipelined hardware architecture for Montgomery Modular Multiplication
US10721217B2 (en) 2018-11-08 2020-07-21 Accenture Global Solutions Limited Cryptographic datashare control for blockchain
CN110473105B (zh) * 2019-08-20 2024-01-16 深圳市迅雷网络技术有限公司 一种区块链交易结算方法、***及相关设备
CN113065951A (zh) * 2020-01-02 2021-07-02 苏州同济区块链研究院有限公司 基于区块链的交易方法、***、装置、设备及介质
EP3794484B1 (en) 2020-02-03 2024-04-17 Alipay (Hangzhou) Information Technology Co., Ltd. Blockchain-based trustable guarantees
SG11202012925RA (en) 2020-02-03 2021-01-28 Alipay Hangzhou Inf Tech Co Ltd Blockchain-based trustable guarantees
CN111417945B (zh) 2020-02-03 2022-06-17 支付宝(杭州)信息技术有限公司 基于区块链的可信保函
SG11202013213UA (en) * 2020-02-03 2021-01-28 Alipay Hangzhou Inf Tech Co Ltd Blockchain-Based Trustable Guarantees
EP3799644B1 (en) 2020-02-03 2022-11-02 Alipay (Hangzhou) Information Technology Co., Ltd. Blockchain-based trustable guarantees
WO2020098836A2 (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
US11483154B2 (en) * 2020-02-19 2022-10-25 International Business Machines Corporation Artificial intelligence certification of factsheets using blockchain
CN111523892B (zh) * 2020-04-23 2021-07-27 深圳前海微众银行股份有限公司 一种区块链的跨链交易方法及装置
SG11202102366SA (en) 2020-06-08 2021-04-29 Alipay Labs Singapore Pte Ltd User management of blockchain-based custom clearance service platform
EP3841491B1 (en) 2020-06-08 2023-08-02 Alipay Labs (Singapore) Pte. Ltd. Blockchain-based smart contract pools
CN111868725B (zh) 2020-06-08 2024-05-24 支付宝实验室(新加坡)有限公司 基于区块链处理进口海关清关数据
SG11202103063PA (en) 2020-06-08 2021-04-29 Alipay Labs Singapore Pte Ltd Managing user authorizations for blockchain-based custom clearance services
SG11202102583UA (en) 2020-06-08 2021-04-29 Alipay Labs Singapore Pte Ltd Blockchain-based document registration for custom clearance
SG11202103081RA (en) 2020-06-08 2021-04-29 Alipay Labs Singapore Pte Ltd Distributed storage of custom clearance data
CN111861714A (zh) * 2020-07-23 2020-10-30 浙江永旗区块链科技有限公司 企业票据拆分方法及***
DE102020119569B3 (de) 2020-07-24 2021-12-09 Infineon Technologies Ag Bereitstellen einer kryptografischen Information
CN114338028A (zh) * 2020-09-28 2022-04-12 华为技术有限公司 门限签名方法、装置、电子设备和可读存储介质
US11700125B2 (en) 2020-10-05 2023-07-11 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
CN112287040B (zh) * 2020-10-30 2022-11-04 深圳前海微众银行股份有限公司 一种基于区块链的权益合并方法、装置、设备及介质
CN112436944B (zh) * 2020-11-06 2023-04-07 深圳前海微众银行股份有限公司 一种基于pow的区块链共识方法及装置
IT202000026488A1 (it) 2020-11-09 2021-02-09 Primecash S R L Metodo e sistema innovativo per pagamenti con denaro digitale e applicazione sulla blockchain
CN112487468B (zh) * 2020-12-21 2023-11-03 暨南大学 基于区块链的可追踪的完全匿名电子投票方法及***
CN112633890B (zh) * 2020-12-22 2024-04-05 深圳前海微众银行股份有限公司 一种基于区块链的隐匿权益证明的验证方法及装置
CN112734423A (zh) * 2020-12-31 2021-04-30 杭州趣链科技有限公司 一种基于区块链的交易方法及终端设备
JPWO2022153377A1 (ja) * 2021-01-13 2022-07-21
CN112749967A (zh) * 2021-01-19 2021-05-04 矩阵元技术(深圳)有限公司 交易数据的处理方法、装置、用户终端和服务器
CN113037492B (zh) * 2021-02-04 2023-07-25 精英数智科技股份有限公司 传感器数据处理方法及装置
CN113630411B (zh) * 2021-08-05 2022-04-05 华中农业大学 一种对联盟区块链上多方隐私保护数据审计的方法及装置
CN113627910A (zh) * 2021-09-03 2021-11-09 杭州复杂美科技有限公司 一种区块链匿名红包发送方法、设备及储存介质
CN113627911A (zh) * 2021-09-03 2021-11-09 杭州复杂美科技有限公司 一种基于区块链匿名收发红包的方法、设备及储存介质
CN113570373B (zh) * 2021-09-23 2022-02-11 北京理工大学 一种基于区块链的可追责交易方法及***
CN113988865B (zh) * 2021-12-29 2022-03-29 国网电子商务有限公司 电力结算隐私保护方法及装置
CN115660679B (zh) * 2022-10-14 2023-07-14 重庆移通学院 一种基于哈希锁定的去中心化安全交易方法
CN116633548A (zh) * 2023-04-03 2023-08-22 北京熠智科技有限公司 加密过程监管方法、装置、***及存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5999625A (en) * 1997-02-27 1999-12-07 International Business Machines Corporation Method for electronic payment system with issuer control
EP2151947A1 (en) * 2008-08-05 2010-02-10 Irdeto Access B.V. Signcryption scheme based on elliptic curve cryptography
JP2010039890A (ja) * 2008-08-07 2010-02-18 Hitachi Ltd 認証端末、認証サーバ、認証システム、認証方法および認証プログラム
US8515058B1 (en) * 2009-11-10 2013-08-20 The Board Of Trustees Of The Leland Stanford Junior University Bootstrappable homomorphic encryption method, computer program and apparatus
WO2015042548A1 (en) * 2013-09-20 2015-03-26 Visa International Service Association Secure remote payment transaction processing including consumer authentication
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
US10693658B2 (en) * 2016-02-12 2020-06-23 Visa International Service Association Methods and systems for using digital signatures to create trusted digital asset transfers
JP6663809B2 (ja) * 2016-07-07 2020-03-13 株式会社日立製作所 監査装置、監査機能付匿名送金方法及びプログラム
CN106911470B (zh) * 2017-01-23 2020-07-07 北京航空航天大学 一种比特币交易隐私增强方法
US20200134586A1 (en) * 2017-04-18 2020-04-30 Tbcasoft, Inc. Anonymity and traceability of digital property transactions on a distributed transaction consensus network
US20190108517A1 (en) * 2017-10-06 2019-04-11 Allocrypt, Llc Digital currency for performing cash-equivalent transactions
CN107862216B (zh) * 2017-10-13 2021-04-06 布比(北京)网络技术有限公司 用于匿名跨链交易的隐私保护方法、装置和存储介质
CN107888375A (zh) * 2017-11-08 2018-04-06 深圳市携网科技有限公司 一种基于区块链技术的电子证据保全***及方法
CN108021821A (zh) * 2017-11-28 2018-05-11 北京航空航天大学 多中心区块链交易隐私保护***及方法
CN108418689B (zh) * 2017-11-30 2020-07-10 矩阵元技术(深圳)有限公司 一种适合区块链隐私保护的零知识证明方法和介质
CN108764874B (zh) * 2018-05-17 2021-09-07 深圳前海微众银行股份有限公司 基于区块链的匿名转账方法、***及存储介质

Also Published As

Publication number Publication date
US20190251553A1 (en) 2019-08-15
KR20200054131A (ko) 2020-05-19
CN110419055A (zh) 2019-11-05
TW202018572A (zh) 2020-05-16
BR112019008160B1 (pt) 2021-08-24
KR102215773B1 (ko) 2021-02-17
CN110419055B (zh) 2023-08-22
SG11201903586SA (en) 2019-05-30
PL3542336T3 (pl) 2021-07-12
CA3041160A1 (en) 2019-04-18
RU2729595C1 (ru) 2020-08-11
WO2019072268A2 (en) 2019-04-18
JP2020503718A (ja) 2020-01-30
EP3542336B1 (en) 2021-01-27
AU2018347190B2 (en) 2020-10-22
ES2863559T3 (es) 2021-10-11
CA3041160C (en) 2022-11-29
AU2018347190A1 (en) 2020-05-21
EP3542336A2 (en) 2019-09-25
EP3829104A1 (en) 2021-06-02
EP3542336A4 (en) 2019-11-20
WO2019072268A3 (en) 2019-08-22
BR112019008160A2 (pt) 2019-09-10
EP3829104B1 (en) 2022-07-06
MX2019004658A (es) 2019-08-12
PH12019500890A1 (en) 2019-11-25
ZA201902549B (en) 2019-12-18

Similar Documents

Publication Publication Date Title
JP6817429B2 (ja) ゼロ知識証明を用いたアカウント注釈モデルに基づくブロックチェーンデータの保護
KR102213414B1 (ko) 일반 계정 모델 및 동형 암호화 기반의 블록 체인 데이터 보호
JP6767580B2 (ja) 準同型暗号を使用したブロックチェーンデータ保護
TWI695613B (zh) 使用同態加密的區塊鏈資料保護
CN110402561B (zh) 基于通用账户模型和同态加密的区块链数据保护
JP6830530B2 (ja) アカウントモデルの下でパブリックおよびプライベートトランザクションをサポートするブロックチェーンシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190621

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201030

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201224

R150 Certificate of patent or registration of utility model

Ref document number: 6817429

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250