JP2020515087A - ブロックチェーン機密トランザクション内の暗号化されたトランザクション情報の復元 - Google Patents

ブロックチェーン機密トランザクション内の暗号化されたトランザクション情報の復元 Download PDF

Info

Publication number
JP2020515087A
JP2020515087A JP2019521791A JP2019521791A JP2020515087A JP 2020515087 A JP2020515087 A JP 2020515087A JP 2019521791 A JP2019521791 A JP 2019521791A JP 2019521791 A JP2019521791 A JP 2019521791A JP 2020515087 A JP2020515087 A JP 2020515087A
Authority
JP
Japan
Prior art keywords
transaction
client node
confidential
blockchain
encrypted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019521791A
Other languages
English (en)
Other versions
JP2020515087A5 (ja
JP6811317B2 (ja
Inventor
ジェン・リュウ
リチュン・リ
シャン・イン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of JP2020515087A publication Critical patent/JP2020515087A/ja
Publication of JP2020515087A5 publication Critical patent/JP2020515087A5/ja
Application granted granted Critical
Publication of JP6811317B2 publication Critical patent/JP6811317B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • H04L9/3221Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • 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
    • G06Q2220/00Business processing using cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

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

Abstract

本開示の実施形態は、クライアントノードによって、ある数のクライアントノードによって合意された閾値秘密分散法に従って、秘密鍵を取得するステップと、暗号コミットメントスキームをトランザクションデータに適用することによってクライアントノードの機密トランザクションの1つまたは複数のコミットメント値を生成するステップと、秘密鍵を使用してトランザクションデータを暗号化することによって機密トランザクションの暗号化されたトランザクション情報を生成するステップと、ブロックチェーンネットワークのコンセンサスノードに、実行のために機密トランザクションの内容を送信するステップであって、機密トランザクションの内容は、1つまたは複数のコミットメント値と、暗号化されたトランザクション情報と、トランザクションデータの1つまたは複数のゼロ知識証明とを含む、ステップとを含む。

Description

ブロックチェーン機密トランザクション内の暗号化されたトランザクション情報の復元に関する。
コンセンサスネットワークおよび/またはブロックチェーンネットワークとも称することができる分散型台帳システム(DLS)は、参加エンティティが安全かつ変更不可能な形でデータを記憶することを可能にする。DLSは、いかなる特定のユーザケース(例えば、暗号通貨)を指すわけではなく、ブロックチェーンネットワークと一般には称される。例示的なタイプのブロックチェーンネットワークは、パブリックブロックチェーンネットワーク、プライベートブロックチェーンネットワーク、およびコンソーシアムブロックチェーンネットワークを含み得る。パブリックブロックチェーンネットワークは、DLSを使用し、コンセンサスプロセスに参加するように、すべてのエンティティに対してオープンとなっている。プライベートブロックチェーンネットワークは、特定のエンティティに提供されており、読込みおよび書込みの許可を中央集権的に制御する。コンソーシアムブロックチェーンネットワークは、エンティティの選抜グループに提供されており、コンセンサスプロセスを制御し、アクセス制御レイヤを含む。
ブロックチェーンは、暗号通貨ネットワークにおいて使用されており、物品を売買するための取引および/または暗号通貨を使用したサービスを参加者が実施することを可能にする。共通の暗号通貨は、Bitcoinを含む。暗号通貨ネットワークにおいては、レコードキーピングモデルは、ユーザ間のトランザクションを記録するために使用される。例示的なレコードキーピングモデルは、未使用トランザクションアウトプット(UTXO)モデル、およびアカウントモデル(アカウントベースモデルまたはアカウント/残高モデルとも称する)を含む。
UTXOモデルにおいては、チェーン上のアセットは、トランザクションの形式となっている。各トランザクションは、以前のトランザクションからのアウトプットを使用し、以後のトランザクションにおいて使用され得る新規アウトプットを生成する。ユーザの未使用トランザクションはトラッキングされ、ユーザが使用する必要がある残高は未使用トランザクションの合計として算出される。各トランザクションは、インプットとして1つまたは複数の未使用アウトプット(且つ未使用アウトプットのみ)を取り込み、1つまたは複数のアウトプットを有することができる。未使用アウトプットのみがさらなるトランザクションにおいて使用され得るという要件は、二重支払および不正行為を防ぐために必要である。UTXOモデルは、トランザクションの検証および証明機能をサポートするが、スマートコントラクトに関するサポートは不得手である。
アカウントモデルは、Ethereumによって採用されている。アカウントモデルは、レコードキーピングを行い、従来の銀行のようにアカウント残高を管理する。このモデルの下では、アカウントは、アドレスおよび対応するアカウント残高を有し得る。チェーン上のアセットは、アカウントの残高として表される。各送金トランザクションは、送金されたアセットのアカウントアドレスおよび着金したアセットのアカウントアドレスを有し得る。トランザクション金額は、アカウントの残高に関して直接更新される。送金アカウントがトランザクションに対する支払いをするのに十分な残高を有していることを各トランザクションが確認するだけでよいため、アカウントモデルは効率的である。トランザクションの検証および証明機能をサポートすることに加えて、アカウントモデルは、スマートコントラクト、特に、状態情報を必要とするまたは複数の関係者が関与するスマートコントラクトを完全にサポートし得る。
本開示の実施形態は、ブロックチェーン技術(ブロックチェーン機密トランザクション、または単に、機密トランザクションと称する)に基づいた機密トランザクションのためのコンピュータ実施方法を含む。より詳細には、本開示の実施形態は、ブロックチェーン機密トランザクション内の暗号化されたトランザクション情報を復元することを目的としている。
いくつかの実施形態においては、アクションは、クライアントノードによって、ある数のクライアントノードによって合意された閾値秘密分散法に従って、秘密鍵を取得するステップと、暗号コミットメントスキームをトランザクションデータに適用することによってクライアントノードの機密トランザクションの1つまたは複数のコミットメント値を生成するステップと、秘密鍵を使用してトランザクションデータを暗号化することによって機密トランザクションの暗号化されたトランザクション情報を生成するステップと、ブロックチェーンネットワークのコンセンサスノードに、実行のために機密トランザクションの内容を送信するステップであって、機密トランザクションの内容は、1つまたは複数のコミットメント値と、暗号化されたトランザクション情報と、トランザクションデータの1つまたは複数のゼロ知識証明とを含む、ステップとを含む。
いくつかの実施形態においては、動作は、ブロックチェーンネットワークのコンセンサスノードによって、クライアントノードの機密トランザクションの内容を受信するステップであって、機密トランザクションの内容は、機密トランザクションのトランザクションデータに暗号コミットメントスキームを適用することによってクライアントノードによって生成された機密トランザクションの1つまたは複数のコミットメント値と、クライアントノードの秘密鍵を使用してトランザクションデータを暗号化することによって生成される暗号化されたトランザクション情報であって、秘密鍵は、ある数のクライアントノードとの閾値秘密分散法に従ってクライアントノードによって取得される、暗号化されたトランザクション情報と、トランザクションデータの1つまたは複数のゼロ知識証明とを含む、ステップと、ブロックチェーンネットワークのコンセンサスノードによって、機密トランザクションの内容に基づいて機密トランザクションが正当なものであることを検証するステップと、ブロックチェーンネットワークのコンセンサスノードによって、ブロックチェーンネットワークのブロックチェーン上に暗号化されたトランザクション情報を記憶するステップとを含む。
いくつかの実施形態においては、動作は、特定のクライアントノードによって、ブロックチェーンネットワークのコンセンサスノードから、特定のクライアントノードの機密トランザクションの暗号化されたトランザクション情報を受信するステップであって、暗号化されたトランザクション情報は、ブロックチェーンネットワーク内の少なくとも1つのブロックチェーンに記憶されており、特定のクライアントノードは、暗号化されたトランザクション情報を復号するように構成される秘密鍵へのアクセスを有しておらず、特定のクライアントノードは、秘密鍵を以前発行されていた、ステップと、特定のクライアントノードによって、ある数のクライアントノードによって合意された閾値秘密分散法に従って、ブロックチェーンネットワーク上のある数のクライアントノードのうちの少なくとも閾値の数のクライアントノードから秘密鍵を復元するステップと、特定のクライアントノードによって、復元した秘密鍵を使用して暗号化されたトランザクション情報から特定のクライアントノードの機密トランザクションのトランザクションデータを復号するステップとを含む。
他の実施形態は、対応する、システムと、装置と、コンピュータストレージデバイス上に符号化された、方法のアクションを行うように構成される、コンピュータプログラムとを含む。
これらおよび他の実施形態の各々は、以下の特徴の1つまたは複数を必要に応じて含み得る。
下記の特徴のいずれかと組み合わせることが可能な第1の特徴としては、機密トランザクションのトランザクションデータは、機密トランザクションの前のクライアントノードのアカウント残高または機密トランザクションのトランザクション金額の一方または両方を含む。
上記または下記の特徴のいずれかと組み合わせることが可能な第2の特徴としては、トランザクションデータの1つまたは複数のゼロ知識証明は、トランザクションデータの値がそれぞれの範囲内にあるという1つまたは複数のゼロ知識範囲証明を含む。
上記または下記の特徴のいずれかと組み合わせることが可能な第3の特徴としては、暗号コミットメントスキームは、Pedersenコミットメントスキームを含み、暗号コミットメントスキームをトランザクションデータに適用することによってクライアントノードの機密トランザクションの1つまたは複数のコミットメント値を生成するステップは、トランザクションデータおよびトランザクションデータに対応する乱数に基づいてクライアントノードの機密トランザクションの1つまたは複数のコミットメント値を生成するステップを含み、機密トランザクションの暗号化されたトランザクション情報を生成するステップは、秘密鍵を使用してトランザクションデータおよびトランザクションデータに対応する乱数を暗号化することによって機密トランザクションの暗号化されたトランザクション情報を生成するステップを含む。
上記または下記の特徴のいずれかと組み合わせることが可能な第4の特徴としては、閾値秘密分散法は、Shamirの秘密分散法を含む。
上記または下記の特徴のいずれかと組み合わせることが可能な第5の特徴としては、機密トランザクションの内容に基づいて機密トランザクションが正当なものであることを検証するステップは、コミットメントスキームに基づいて1つまたは複数のコミットメント値が正しいと決定するステップと、トランザクションデータの1つまたは複数のゼロ知識証明を検証するステップとを含む。
上記または下記の特徴のいずれかと組み合わせることが可能な第6の特徴としては、トランザクションデータの1つまたは複数のゼロ知識証明を検証するステップは、機密トランザクションの前のクライアントノードのアカウント残高がゼロより大きいと決定するステップと、機密トランザクションのトランザクション金額が機密トランザクションの前のクライアントノードのアカウント残高以下であると決定するステップとを含む。
上記または下記の特徴のいずれかと組み合わせることが可能な第7の特徴としては、暗号コミットメントスキームは、準同型であり、方法は、コミットメントスキームの準同型に基づいて機密トランザクションの後のクライアントノードのアカウント残高を更新するステップをさらに含む。
上記または下記の特徴のいずれかと組み合わせることが可能な第8の特徴としては、秘密鍵を使用して暗号化されたトランザクション情報から特定のクライアントノードの機密トランザクションのトランザクションデータを復号するステップは、秘密鍵を使用して機密トランザクションの送金金額を復元するステップを含む。
上記または下記の特徴のいずれかと組み合わせることが可能な第9の特徴としては、秘密鍵を使用して暗号化されたトランザクション情報から特定のクライアントノードの機密トランザクションのトランザクションデータを復号するステップは、秘密鍵を使用して機密トランザクションの送金金額および送金金額に対応する乱数の両方を復元するステップであって、送金金額および乱数は、特定のクライアントノードの機密トランザクションのトランザクション情報を秘匿するためにPedersenコミットメントスキームにおいて使用される、ステップを含む。
本開示はまた、1つまたは複数のプロセッサに結合されるとともに命令を記憶した1つまたは複数の非一時的コンピュータ可読記憶媒体であって、1つまたは複数のプロセッサによって実行されると、命令は、1つまたは複数のプロセッサに、本明細書で提供した方法の実施形態に従って動作を行わせる、非一時的コンピュータ可読記憶媒体を提供している。
本開示は、本明細書で提供した方法を実施するためのシステムをさらに提供している。システムは、1つまたは複数のプロセッサと、1つまたは複数のプロセッサに結合されるとともに命令を記憶したコンピュータ可読記憶媒体であって、1つまたは複数のプロセッサによって実行されると、命令は、1つまたは複数のプロセッサに、本明細書で提供した方法の実施形態に従って動作を行わせる、コンピュータ可読記憶媒体とを含む。
本開示による方法が本明細書に記載の態様と特徴との任意の組合せを含み得ることは諒解されよう。すなわち、本開示による方法は、特に本明細書に記載の態様と特徴との組合せに限定されるわけではなく、提供した態様と特徴との任意の組合せも含む。
本開示についての1つまたは複数の実施形態の詳細を添付の図面および以下の説明に記載している。本開示についての他の特徴および利点が、説明および図面から、および特許請求の範囲から明らかとなるであろう。
本開示の実施形態を実行するために使用され得る例示的な環境を示す図である。 本開示の実施形態による、例示的な概念的機構を示す図である。 本開示の実施形態による、機密トランザクションを準備するための例示的なプロセス300を示す図である。 本開示の実施形態による、機密トランザクションのトランザクション情報の例示的な復元プロセス400を示す図である。 本開示の実施形態による、実行され得る例示的なプロセスを示す図である。
様々な図面における類似の参照記号は類似の要素を示す。
本開示の実施形態は、ブロックチェーン技術に基づいた機密トランザクションのためのコンピュータ実施方法を含む。より詳細には、本開示の実施形態は、ブロックチェーン機密トランザクション内の暗号化されたトランザクション情報を復元することを目的としている。
いくつかの実施形態においては、アクションは、クライアントノードによって、ある数のクライアントノードによって合意された閾値秘密分散法に従って、秘密鍵を取得するステップと、暗号コミットメントスキームをトランザクションデータに適用することによってクライアントノードの機密トランザクションの1つまたは複数のコミットメント値を生成するステップと、秘密鍵を使用してトランザクションデータを暗号化することによって機密トランザクションの暗号化されたトランザクション情報を生成するステップと、ブロックチェーンネットワークのコンセンサスノードに、実行のために機密トランザクションの内容を送信するステップであって、機密トランザクションの内容は、1つまたは複数のコミットメント値と、暗号化されたトランザクション情報と、トランザクションデータの1つまたは複数のゼロ知識証明とを含む、ステップとを含む。
いくつかの実施形態においては、動作は、ブロックチェーンネットワークのコンセンサスノードによって、クライアントノードの機密トランザクションの内容を受信するステップであって、機密トランザクションの内容は、機密トランザクションのトランザクションデータに暗号コミットメントスキームを適用することによってクライアントノードによって生成された機密トランザクションの1つまたは複数のコミットメント値と、クライアントノードの秘密鍵を使用してトランザクションデータを暗号化することによって生成される暗号化されたトランザクション情報であって、秘密鍵は、ある数のクライアントノードとの閾値秘密分散法に従ってクライアントノードによって取得される、暗号化されたトランザクション情報と、トランザクションデータの1つまたは複数のゼロ知識証明とを含む、ステップと、ブロックチェーンネットワークのコンセンサスノードによって、機密トランザクションの内容に基づいて機密トランザクションが正当なものであることを検証するステップと、ブロックチェーンネットワークのコンセンサスノードによって、ブロックチェーンネットワークのブロックチェーン上に暗号化されたトランザクション情報を記憶するステップとを含む。
いくつかの実施形態においては、動作は、特定のクライアントノードによって、ブロックチェーンネットワークのコンセンサスノードから、特定のクライアントノードの機密トランザクションの暗号化されたトランザクション情報を受信するステップであって、暗号化されたトランザクション情報は、ブロックチェーンネットワーク内の少なくとも1つのブロックチェーンに記憶されており、特定のクライアントノードは、暗号化されたトランザクション情報を復号するように構成される秘密鍵へのアクセスを有しておらず、特定のクライアントノードは、秘密鍵を以前発行されていた、ステップと、特定のクライアントノードによって、ある数のクライアントノードによって合意された閾値秘密分散法に従って、ブロックチェーンネットワーク上のある数のクライアントノードのうちの少なくとも閾値の数のクライアントノードから秘密鍵を復元するステップと、特定のクライアントノードによって、復元した秘密鍵を使用して暗号化されたトランザクション情報から特定のクライアントノードの機密トランザクションのトランザクションデータを復号するステップとを含む。
本開示の実施形態についてのさらなる状況をあげるとすれば、および上述したように、コンセンサスネットワーク(例えば、ピア・ツー・ピアノードで構成される)およびブロックチェーンネットワークとも称することができる分散型台帳システム(DLS)は、参加エンティティが安全かつ変更不可能な形で取引を実施しデータを記憶することを可能にする。ブロックチェーンという用語は、Bitcoinといった暗号通貨ネットワークと一般的に関連深いが、本明細書では、いかなる特定のユースケースを指すわけではなく一般的にDLSを指すために、ブロックチェーンを使用している。上述したように、ブロックチェーンネットワークは、パブリックブロックチェーンネットワーク、プライベートブロックチェーンネットワーク、またはコンソーシアムブロックチェーンネットワークとして提供され得る。
パブリックブロックチェーンネットワークにおいては、コンセンサスプロセスは、コンセンサスネットワークのノードによって制御される。例えば、数百、数千、さらには数百万のエンティティがパブリックブロックチェーンネットワークに協力し得るし、その各々がパブリックブロックチェーンネットワーク内の少なくとも1つのノードを管理する。それゆえ、パブリックブロックチェーンネットワークを、参加エンティティに対するパブリックネットワークとみなすことができる。いくつかの例においては、ブロックを有効とするためにおよびブロックチェーンネットワークのブロックチェーン(分散型台帳)に追加するために、大部分のエンティティ(ノード)はブロックごとに記帳する必要がある。例示的なパブリックブロックチェーンネットワークは、ピア・ツー・ピア決済ネットワークであるBitcoinネットワークを含む。Bitcoinネットワークは、ブロックチェーンと称する分散型台帳を活用する。しかしながら、上述したように、ブロックチェーンという用語は、Bitcoinネットワークを特に指すわけではなく分散型台帳を一般的に指すために使用される。
一般に、パブリックブロックチェーンネットワークは、パブリックトランザクションをサポートする。パブリックトランザクションは、パブリックブロックチェーンネットワーク内のノードのすべてと共有され、グローバルブロックチェーンに記憶されている。グローバルブロックチェーンは、すべてのノードにわたって複製されるブロックチェーンである。すなわち、すべてのノードは、グローバルブロックチェーンに関して完全ステータスコンセンサスとなる。コンセンサス(例えば、ブロックチェーンへのブロックの追加に対する合意)を得るために、コンセンサスプロトコルがパブリックブロックチェーンネットワークにおいて実施される。例示的なコンセンサスプロトコルは、限定を意図したものではないが、Bitcoinネットワークにおいて実施されるプルーフ・オブ・ワーク(POW)を含む。
一般に、プライベートブロックチェーンネットワークは、特定のエンティティに提供されており、読込みおよび書込みの許可を中央集権的に制御する。エンティティは、どのノードがブロックチェーンネットワークに参加することができるかを制御する。それゆえ、プライベートブロックチェーンネットワークは、誰がネットワークに参加することができるかについての制約、およびそれらの参加のレベル(例えば、あるトランザクションに限定)についての制約を設定している、許可型ネットワークと一般的には称される。(例えば、既存の参加者が新規エンティティの追加について表決する、監督機関が許可を制御することができるといった)様々なタイプのアクセス制御機構を使用することができる。
一般に、コンソーシアムブロックチェーンネットワークは、参加エンティティの間でプライベートなものとなっている。コンソーシアムブロックチェーンネットワークにおいては、コンセンサスプロセスは権限を与えられたノードのセットによって制御され、1つまたは複数のノードがそれぞれのエンティティ(例えば、金融機関、保険会社)によって管理される。例えば、十(10)のコンソーシアムエンティティ(例えば、金融機関、保険会社)がコンソーシアムブロックチェーンネットワークを管理してもよく、その各々がコンソーシアムブロックチェーンネットワーク内の少なくとも1つのノードを管理する。それゆえ、コンソーシアムブロックチェーンネットワークを、参加エンティティに対するプライベートネットワークとみなすことができる。いくつかの例においては、ブロックを有効とするためにおよびブロックチェーンに追加するために、各エンティティ(ノード)はブロックごとに記帳する必要がある。いくつかの例においては、ブロックを有効とするためにおよびブロックチェーンに追加するために、少なくともエンティティ(ノード)のサブセット(例えば、少なくとも7つのエンティティ)はブロックごとに記帳する必要がある。
本開示の実施形態を、コンソーシアムブロックチェーンネットワークを参照して本明細書ではさらに詳細に説明する。しかしながら、本開示の実施形態を任意の適切なタイプのブロックチェーンネットワークにおいて実現することができることは念頭に置かれたい。
本開示の実施形態は、上記の事情を考慮して本明細書ではさらに詳細に説明する。より詳細には、および上述したように、本開示の実施形態は、ブロックチェーン機密トランザクションを管理することを目的としている。
ブロックチェーンは、パブリックまたはプライベートピア・ツー・ピアネットワーク内のトランザクションを記録する、改竄耐性のある、共有デジタル台帳である。台帳はネットワーク内のすべてのメンバノードに分散されており、ネットワークにおいて生じるアセットトランザクションの履歴はブロックに恒久的に記録される。台帳が参加エンティティに対して完全に公になっているため、ブロックチェーン台帳自体は、プライバシー保護機能を有しておらず、アセットトランザクションの内容のプライバシーを保護する追加の技術を必要とする。
ブロックチェーンのためのプライバシー保護のための技法は、機密トランザクションを実現してトランザクションの内容のプライバシーを保護するための技法を含み得る。機密トランザクションにおいては、トランザクションの内容は、いかなる他の部外者も対象外であり、トランザクションの参加者によってのみアクセス可能または知るところとなる。例えば、機密トランザクションは、トランザクションに参加する2人の関係者のみが取引される金額に関与することができ、外部の監視者がこの情報を知ることを防ぐ。機密トランザクションを実現するためのそのような技法が、例えば、MONEROおよびZCASHにおいて、使用されている。
ブロックチェーンのためのプライバシー保護のための技法はまた、あるトランザクションに対する関係者の識別情報を保護するための技法を含んでいてもよく、例えば、ステルスアドレスまたはリングシグニチャ機構を使用して実現され得る。
プライバシー保護が(例えば、機密トランザクションとの関連で)ブロックチェーンに追加されている場合には、Pedersenコミットメントスキームなどのコミットメントスキームが、クライアントノードのあるトランザクション情報を秘匿または暗号化するために使用され得る。トランザクション情報は、例えば、トランザクションの前のユーザのアカウント残高、トランザクション金額、および/または他の情報を含み得る。例えば、クライアントノード(クライアント、ユーザ、関係者、またはトランザクションの参加者とも称する)は、Pedersenコミットメントスキームに従ってトランザクション前のアカウント残高aおよび対応する乱数rを裏付けまたはコミットし得る。クライアントノードは、値aおよび乱数rを保存し得る。コミットメントに対応するaまたはrが失われると、アカウント内の残高はクライアントノードによって使用することができなくなる。例えば、aおよびrの両方が失われるケースにおいては、クライアントノードは、残高aも残高に対応する乱数rも分からなくなる。aではなくrのみが失われるケースにおいては、クライアントノードは、残高tを把握することはできるが、残高の使用にはrの操作が関与するためその残高を使用することはできない。aが失われるケースにおいては、クライアントは、彼または彼女の残高が分からなくなる。クライアントノードは、クライアントノードの演算能力が限られている場合には、平文金額を修復または復元することができない。
トランザクションの情報を秘匿または暗号化するためにコミットメントスキーム(例えば、Pedersenコミットメント)を使用する際における上述した問題を解決するために例示的な技法を説明する。説明した技法は、そのようなトランザクション情報が失われるケースにおいてクライアントノードが元の平文トランザクション情報(例えば、コミットされた値aおよび/または乱数r)を復元することを可能およびより容易にし得る。
説明した技法は、ブロックチェーン機密トランザクションにおいて秘匿されたトランザクション情報(例えば、失われてしまったコミットされたトランザクション値a)を復元するための復元スキームを含む。いくつかの実施形態においては、説明した技法は、ブロックチェーンネットワーク内の1つまたは複数のブロックチェーンに秘匿されたトランザクション情報を記憶することを含む。いくつかの実施形態においては、ブロックチェーンに記憶されている機密トランザクションの秘匿されたトランザクション情報を暗号化することはできない。暗号化の前の情報を平文情報と称し得る。暗号化の後にその結果として生じる情報を暗号化情報または暗号文情報と称し得る。
いくつかの実施形態においては、クライアントノードは、秘密鍵を使用して暗号化トランザクションデータまたは暗号文トランザクションデータにあるトランザクションデータ(すなわち、平文トランザクションデータ)を暗号化し得る。例えば、クライアントノードは、秘密鍵を使用してPedersenコミットメントに従って平文値(例えば、アカウント情報)および平文値に対応する乱数の両方を暗号化し得る。その結果として生じる機密トランザクションの暗号化されたトランザクション情報(例えば、暗号化された乱数および暗号化された平文値)は、トランザクションの内容の一部として含まれ、ブロックチェーンネットワークによって実行のために送信され得る。1つまたは複数のブロックチェーンノードは、例えばブロックチェーンネットワーク内の1つまたは複数のブロックチェーンに、暗号化されたトランザクション情報を記憶し得る。クライアントノードは、1つまたは複数のブロックチェーンノードからクライアントノードに対応する暗号化されたトランザクション情報を読み出し、秘密鍵を使用して暗号化されたトランザクション情報から平文トランザクションデータを復号し得る。
いくつかの実施形態においては、クライアントノードは、平文トランザクションデータおよび/または秘密鍵を失う場合がある。例えば、クライアントノードがクライアントノードのデータストレージ上にローカルに平文トランザクションデータおよび/または秘密鍵を保存している場合には、クライアントノードは、データストレージが占有されるとまたは損傷すると、平文トランザクションデータおよび/または秘密鍵を失う可能性がある。説明した技法は、平文トランザクションデータおよび/または秘密鍵を復元することに役立ち得る。
いくつかの実施形態においては、セキュアなマルチパーティ計算(MPC)のために閾値秘密分散法(例えば、Shamirの秘密分散法)に従ってクライアントノードの秘密鍵を保証することができる。例えば、クライアントノードの暗号化コミットメントに対応するプライベート秘密鍵が、すべての数の参加者(例えば、Shamirの秘密分散法のn個の参加者)間で取り決めおよび生成され得る。秘密鍵は、複数のパーツに分割し、それぞれ、すべての数の参加者によって保存され得る、それによって、クライアントノードの秘密鍵の漏洩を回避している。クライアントノードが秘密鍵を失ったケースにおいては、クライアントノードは、n個のうちの少なくともk個の参加者から秘密鍵の少なくとも閾値の数のパーツ(例えば、k個のパーツ)を受信することによって、Shamirの秘密分散法に従って秘密鍵を復元することができる。それゆえ、クライアントノードは、秘密鍵を使用して暗号化されたトランザクション情報から平文トランザクションデータを復号するために、秘密鍵を復元し、秘密鍵を使用することができる。
説明した技法は、秘密鍵および機密トランザクションの平文トランザクションデータを復元することに役立ち得る。説明した技法は、クライアントノードがそれらのハードウェアを使用して(例えば、ハードウェアベースのウォレットに)それらの秘密鍵をバックアップする、ハードウェアベースのバックアップスキームに依存するものではない。説明した技法は、トランザクションデータがブロックチェーンネットワーク内の1つまたは複数のブロックチェーン上に記憶されるときの強化されたセキュリティおよびトランザクションデータのロバスト性を提供し得る。説明した技法は、ハードウェアベースのウォレットまたはソフトウェアベースのウォレットの実施形態にかかわらず、その秘密鍵へのクライアントノードアクセスを提供し得る。説明した技法は、追加のまたは異なる利点を達成し得る。
図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は、コンソーシアムブロックチェーンネットワークに参加する2つ以上のエンティティの間で行われるトランザクションに関連付けられた情報を記憶する。
図3は、本開示の実施形態による、機密トランザクションを準備するための例示的なプロセス300を示す図である。クライアントノードA302、B304、C306、およびD308は、閾値秘密分散法(閾値鍵分散法とも称する)の参加者を表している。閾値秘密分散法は、複数の関係者による鍵のセキュリティ管理の問題を解決する。例示的な秘密分散法としては、Shamirの秘密分散法(Shamir(k,n)と表される)は、秘密鍵をn個のパーツに分割し、それぞれ、n個のパーツをn個の参加者に割り当てる。各参加者は、秘密鍵についての一意な割り当てを有する。元の秘密鍵を再構築するためには、最小または閾値の数のパーツが必要となる。閾値スキームにおいては、この最小の数kは、パーツの総数n未満である。換言すれば、秘密鍵の少なくともk個のパーツを収集すれば、元の秘密鍵を復元することができる。Shamirアルゴリズムは、例えばLagrangian差分アルゴリズムまたは他の方法を使用して、秘密鍵を復元することができる。
ここで、Shamir(k,n)は、平文mが暗号化されn個のパーツに分割されており、平文mを復元するために少なくともk個のパーツが必要となることを意味する。図3に示しているように、クライアントノードA302は、鍵Akeyを生成し、Akeyを4個のパーツに分解し得る。クライアントノードA302は、1個のパーツを保持し、それぞれのパーツをクライアントノードB304、C306、およびD308の各々に与え得る。
いくつかの実施形態においては、クライアントノードA302の観点からすれば、310において、クライアントノードA302が、上述したようにShamir(k,n)と表されるShamirの秘密分散法に従って、秘密鍵Akeyを取り決めおよび取得し得る。kおよびnの値は、セキュリティおよび複雑度の検討に基づいて例えばクライアントノードA302または別の関係者によって、決定され得る。図3に示した例においては、クライアントノードA302、B304、C306、およびD308のすべてがShamirの秘密分散法の参加者であるように、nは4となり得る。この場合には、クライアントノードA302がすべての参加者クライアントノードA302、B304、C306、およびD308のうちの少なくとも2または3個の参加者から秘密鍵Akeyを復元することができるように、kは2または3となり得る。別の例としては、クライアントノードA302がShamirの秘密分散法のすべての参加者のうちの少なくとも4個の参加者から秘密鍵Akeyを復元できるように、kは4となり得るしnは4より大きくなり得る。
いくつかの実施形態においては、クライアントノードA302は、図1および図2において説明したように、第1のクライアントまたはエンティティに対応するコンピューティングシステム106、108の一例である。クライアントノードA302は、ブロックチェーンネットワーク350を介したトランザクションのための対応するアカウント(例えば、パブリックアカウントまたはプライベートアカウント)を有する。ブロックチェーンネットワーク350は、複数のコンセンサスノード(図3中のブロックチェーンノード312など)を含み得る。いくつかの実施形態においては、クライアントノードB304、C306、およびD308は、ブロックチェーンネットワーク350のクライアントノードであってもなくてもよい。換言すれば、クライアントノードA302は、ブロックチェーンネットワーク350から独立した形で秘密鍵を取得し得る。例えば、クライアントノードA302は、ブロックチェーンネットワーク350以外の通信を介してクライアントノードB304、C306、およびD308から秘密鍵を取得し得る。
いくつかの実施形態においては、クライアントノードA302は、トランザクション情報がクライアントノードA302およびクライアントノードB304によってのみ閲覧可能またさもなければ知るところとなるが他の関係者(例えば、クライアントノードC306もしくはD308、またはブロックチェーンネットワーク350内のブロックチェーンノード312)によっては閲覧可能またさもなければ知るところとならないように、別のクライアントノード(例えば、クライアントノードB304)との機密トランザクションを行い得る。
320において、クライアントノードA302が、金額tをクライアントノードB304に送金する機密トランザクションを作成する。いくつかの実施形態においては、クライアントノードA302は、ローカルで機密トランザクションの内容を構築し、機密トランザクションの内容をブロックチェーンネットワーク350(例えば、ブロックチェーンネットワーク350内の1つまたは複数のブロックチェーンノード312)に送信し得る。
いくつかの実施形態においては、機密トランザクションは、トランザクションデータ(例えば、トランザクションの前のアカウント残高、およびトランザクション金額)を秘匿するために、コミットメントスキームに基づいて構築され得る。例示的なコミットメントスキームは、限定を意図したものではないが、Pedersenコミットメント(PC)を含む。例えば、クライアントノードA302は、PCを使用してトランザクション金額tおよび乱数rに基づいてコミットメント値を生成する。例えば、コミットメント値は、PC(t)=rG+tHに従って取得することができる暗号文を含む、ここで、GおよびHは楕円曲線の生成元であり得るし、PC(t)は曲線の点についてのスカラ乗算であり、tはコミットされることになる値である。PCコミットメントスキームは準同型を有し、すなわち、PC(t1)+PC(t2)=PC(t1+t2)である。暗号文PC(t)の所持者は、乱数rを使用することによってトランザクション金額tを検証することができる。PCを参照して、本開示の実施形態を本明細書ではさらに詳細に説明しているが、本開示の実施形態が任意の適切なコミットメントスキームを使用して実現することができることは念頭に置かれたい。
例示的な機密トランザクションにおいて、クライアントノードA302は、トランザクション前のアカウント残高aおよび送金金額tをコミットし得る。いくつかの実施形態においては、クライアントノードA302は、トランザクション前のアカウント残高aおよび対応する乱数raに基づいてPCを使用してコミットメント値PC(a)を生成し得る。同様に、クライアントノードA302は、トランザクション前のアカウント残高tおよび対応する乱数rtに基づいてPCを使用してコミットメント値PC(t)を生成し得る。いくつかの実施形態においては、クライアントノードA302はまた、トランザクション後の残高a-tが0以上となるような十分な資金をそれが有していることをコミットし得る。例えば、クライアントノードA302は、例えば、PCの準同型の特性を前提としたコミットメント値PC(a)およびPC(t)に基づいて、コミットメント値PC(a-t)を生成し得る。コミットメント値は、機密トランザクションの内容に含まれ得る。
いくつかの実施形態においては、機密トランザクションの内容は、送信関係者が送信している情報が正当なものであることを受信関係者が確認することができるように、1つまたは複数のゼロ知識証明を含み得る。ゼロ知識証明は、確認される情報についての実際の知識がなくとも受信関係者がこれを行うことを可能にする。ゼロ知識証明は、Proof(a-t>0)、Proof(t>0)、およびProof(a>0)などといった範囲証明、または他のタイプの証明を含み得る。ゼロ知識証明は、受信関係者(例えば、クライアントノードB)が、金額が送金される元となる残高aを知らずともまたは送金金額tさえ知らずとも、送信関係者(例えば、クライアントノードA)が送金するのに十分な資金を有している(すなわち、a-t>0)ことおよび送金金額がゼロより大きいことを確認することを可能にする。
いくつかの実施形態においては、各Pedersenコミットメントに関して、乱数rおよび金額tは、暗号化されたトランザクション情報M=Akey(r,t)を得るために、秘密鍵Akeyを使用して暗号化され得る。暗号化されたトランザクション情報Mは、機密トランザクションの内容の一部として含まれ得る。
いくつかの実施形態においては、例示的な機密トランザクションの内容は、トランザクション上のAのデジタルシグニチャなどといった他のトランザクション関連情報を含み得る。
トランザクションの内容を生成した後に、クライアントノードA302は、機密トランザクションの内容をブロックチェーンネットワーク350(例えば、ブロックチェーンネットワーク350内の1つまたは複数のブロックチェーンノード312)に送信し得る。330において、ブロックチェーンネットワーク350が、機密トランザクションを実行し得る。いくつかの実施形態においては、機密トランザクションは、ブロックチェーンネットワーク350内のブロックチェーンノード312の各々によって実行され得る。例えば、ブロックチェーンノード312の各々は、例えば、機密トランザクションの内容に含まれるコミットメント値およびゼロ知識証明のうちの1つまたは複数を検証することによって、機密トランザクションの内容が正規のものであるかどうかを決定し得る。例えば、ブロックチェーンノード312の各々は、PC(a)=PC(t)+PC(a-t)、すなわち、インプットされたトランザクション値がアウトプットされたトランザクション値に等しいことを検証することによって、コミットメント値を検証し得る。ブロックチェーンノード312の各々は、例えば、Bulletproof、MoneroのRingCTアルゴリズム、または任意の他の適切なアルゴリズムに基づいて、ゼロ知識証明を検証し得る。
いくつかの実施形態においては、コミットメント値およびゼロ知識証明の検証が済んだ後に、ブロックチェーンノード312の各々は、トランザクションを記録し、クライアントノードA302およびクライアントノードB304のアカウントを更新することができる。例えば、トランザクション後には、クライアントノードA302はアカウント残高a-tを有し、クライアントノードB304はアカウント残高b+tを有する。いくつかの実施形態においては、クライアントノードA302とクライアントノードB304とのトランザクション後の残高は、コミットメントスキームの準同型に起因してコミットメント値の直接的な操作によって反映され得る。例えば、クライアントノードA302は、この時点では、トランザクション後のアカウント残高のコミットメント値PC(a-t)=PC(a)-PC(t)を有し得る。クライアントノードB304は、この時点では、トランザクション後のアカウント残高のコミットメント値PC(b+t)=PC(b)+PC(t)を有し得る。
いくつかの実施形態においては、ブロックチェーンノード312の各々は、暗号化されたトランザクション情報を記録または記憶し得る。例えば、コミットメントPC(a)、Ma=Akey(ra,a)に対応する暗号化されたトランザクション情報と、コミットメントPC(t)、Mt=Akey(rt,t)に対応する暗号化されたトランザクション情報とを、各ブロックチェーンノード312によってブロックチェーンに記録し得る、ここで、raおよびrtは、それぞれ、金額aおよびtに対応する乱数を表す。
図4は、本開示の実施形態による、機密トランザクションのトランザクション情報の例示的な復元プロセス400を示す図である。例えば、クライアントノードA302がその鍵Akeyを失ったケースにおいては、その結果、その対応するブロックチェーンアカウント上の金額が分からなくなる。クライアントノードA302は、例示的な復元プロセス400を使用してクライアントノードA302のアカウント金額を復元することができる。
410において、クライアントノードA302が、例えばブロックチェーンノード312からダウンロードすることによってまたはブロックチェーンノード312と同期することによって、Pedersenコミットメント(例えば、Ma=Akey(ra,a)およびMt=Akey(rt,t))の下で暗号化されたトランザクション情報を取得する。いくつかの実施形態においては、クライアントノードA302は、Pedersenコミットメントの下で暗号化されたトランザクション情報のローカルコピーを保存し得る。
420において、クライアントノードA302が、例えば、Shamir秘密分散法に従って、例えばブロックチェーンネットワーク350の鍵Akeyを復元するために、クライアントノードB304、C306、およびD308と通信し得る。
復元した鍵Akeyを用いて、430において、クライアントノードA302が、クライアントノードA302のアカウントの各Pedersenコミットメントに対応する暗号化されたトランザクション情報(例えば、Ma=Akey(ra,a)およびMt=Akey(rt,t))を復号し得る。その後、クライアントノードA302は、復元した鍵Akeyを使用して暗号化されたトランザクション情報(例えば、Ma=Akey(ra,a)およびMt=Akey(rt,t))を復号し、平文トランザクション情報ra、a、rt、およびtを取得し得る。
図5は、本開示の実施形態による、実行され得る例示的なプロセス500を図示している。いくつかの実施形態においては、例示的なプロセス500は、1つまたは複数のコンピューティングデバイスを使用して実行される1つまたは複数のコンピュータ実行可能プログラムを使用して行われ得る。概要説明を明確にするために、以下の説明では、本説明においては他の図に則して方法500を一般的に説明している。例えば、図3および図4を参照して説明したように、クライアントノード510はクライアントノードC306およびクライアントノードD312を含み得るし、ブロックチェーンノード520はブロックチェーンノード312であり得るし、クライアントノードA530はクライアントノードA302であり得るし、クライアントノードB540はクライアントノードB304であり得る。しかしながら、必要に応じて、例えば、任意の適切なシステム、環境、ソフトウェア、およびハードウェア、またはシステムと、環境と、ソフトウェアと、ハードウェアとの組合せによって、方法500を行い得ることを理解されよう。いくつかの実施形態においては、方法500の様々なステップは、並行して、組み合わせて、繰り返して、または任意の順序で実行され得る。
512において、ある数の(例えば、n個の)クライアントノード510が、ブロックチェーンネットワークのクライアントノード(例えば、クライアントノードA530)のための秘密鍵を生成する。いくつかの実施形態においては、秘密鍵は、すべての数のクライアントノード510によって合意された閾値秘密分散法に従ってすべての数の(例えば、n個の)クライアントノード510によって取り決めまたさもなければ生成され得る。いくつかの実施形態においては、閾値秘密分散法は、Shamirの秘密分散法を含む。
514において、ある数のクライアントノード510が、秘密鍵をクライアントノードA530に発行し得る。秘密鍵は、クライアントノードA530の機密トランザクションのトランザクション情報を暗号化および復号するためにクライアントノードA530によって使用され得る。
532において、クライアントノードA530が、すべての数のクライアントノード510(例えば、秘密分散法のすべての数の参加者)によって合意された閾値秘密分散法に従って秘密鍵を取得する。クライアントノードA530は、クライアントノードA530の秘密鍵を使用してクライアントノードA530の機密トランザクションのトランザクションデータを暗号化し得る。クライアントノードA530の機密トランザクションは、例えば、クライアントノードA530のアカウントからクライアントノードB540のアカウントへの資金の金額の送金などといった、機密トランザクション535であり得る。クライアントノードA530は、トランザクションの参加者(すなわち、本例においてはクライアントノードA530およびクライアントノードB540)を除く他のエンティティによる調査からトランザクションデータのプライバシーを保護するとともにトランザクションデータを秘匿するように、機密トランザクションの内容を構築し得る。いくつかの実施形態においては、クライアントノードA530は、閾値秘密分散法に従って取得した秘密鍵を使用してコミットメントスキームに基づいて機密トランザクションのトランザクションデータを秘匿し得る。
いくつかの実施形態においては、機密トランザクションのトランザクションデータは、機密トランザクションの前のクライアントノードA530のアカウント残高または機密トランザクションのトランザクション金額の一方または両方を含む。いくつかの実施形態においては、機密トランザクションのトランザクションデータは、追加のトランザクション情報(例えば、トランザクションの時間、トランザクションの関係者、アセットタイプ(例えば、株式証券または他のタイプ))を含み得る。
534において、クライアントノードA530が、機密トランザクションのトランザクションデータに暗号コミットメントスキームを適用することによってクライアントノードA530の機密トランザクションの1つまたは複数のコミットメント値を生成する。いくつかの実施形態においては、暗号コミットメントスキームは、Pedersenコミットメントスキームまたは別のタイプのコミットメントスキームなどといった準同型暗号コミットメントスキームを含む。
536において、クライアントノードA530が、クライアントノードA530の秘密鍵を使用してトランザクションデータを暗号化することによって機密トランザクションの暗号化されたトランザクション情報を生成する、ここで、暗号化されたトランザクション情報は、秘密鍵を使用したクライアントノードA530による復号を可能にするように構成される。
いくつかの実施形態においては、暗号コミットメントスキームは、Pedersenコミットメントスキームを含む。この場合には、暗号コミットメントスキームをトランザクションデータに適用することによってクライアントノードの機密トランザクションの1つまたは複数のコミットメント値を生成するステップは、トランザクションデータおよびトランザクションデータに対応する乱数に基づいてクライアントノードの機密トランザクションの1つまたは複数のコミットメント値を生成するステップを含み、機密トランザクションの暗号化されたトランザクション情報を生成するステップは、クライアントノードA530の秘密鍵を使用してトランザクションデータおよびトランザクションデータに対応する乱数を暗号化することによって機密トランザクションの暗号化されたトランザクション情報を生成するステップを含む。
538において、クライアントノードA530が、例えば機密トランザクションの内容をブロックチェーンノード520(例えば、ブロックチェーンネットワークのコンセンサスノード)に送信することによって、実行のためにブロックチェーンネットワークに機密トランザクションの内容を送信する。いくつかの実施形態においては、機密トランザクションの内容は、暗号コミットメントスキームを機密トランザクションのトランザクションデータに適用することによってクライアントノードA530によって生成された機密トランザクションの1つまたは複数のコミットメント値と、秘密鍵を使用してトランザクションデータを暗号化することによってクライアントノードA530によって生成された暗号化されたトランザクション情報と、トランザクションデータの1つまたは複数のゼロ知識証明とを含み得る。
いくつかの実施形態においては、トランザクションデータの1つまたは複数のゼロ知識証明は、トランザクションデータの値がそれぞれの範囲内にあるという1つまたは複数のゼロ知識範囲証明を含む。例えば、1つまたは複数のゼロ知識範囲証明は、機密トランザクションの前のクライアントノードA530のアカウント残高がゼロより大きいというゼロ知識範囲証明と、機密トランザクションのトランザクション金額がゼロより大きいというゼロ知識範囲証明と、トランザクション金額が機密トランザクションの前のクライアントノードA530のアカウント残高以下であるというゼロ知識範囲証明とを含み得る。
いくつかの実施形態においては、機密トランザクションの内容は、クライアントノードA530のデジタルシグニチャをさらに含む。いくつかの実施形態においては、機密トランザクションの内容は、追加のまたは異なる情報を含み得る。
522において、機密トランザクションの内容を受信する際に、ブロックチェーンノード520が、例えば機密トランザクションの内容に基づいて機密トランザクションが正当なものであることを検証することによって、機密トランザクションを実行し得る。いくつかの実施形態においては、機密トランザクションの内容に基づいて機密トランザクションが正当なものであることを検証することは、コミットメントスキームおよび/または1つまたは複数のゼロ知識証明に基づいて1つまたは複数のコミットメント値が正しいと決定すること、または、例えば図3を参照して説明したようなアルゴリズムに従ってトランザクションデータの1つまたは複数のゼロ知識証明を検証することのうちの1つまたは複数を含み得る。
524において、機密トランザクションが正当なものであることを検証した後に、ブロックチェーンノード520が、機密トランザクションによってもたらされるアカウント情報(例えば、クライアントノードA530およびクライアントノードB540のアカウント残高)を更新し得る。いくつかの実施形態においては、暗号コミットメントスキームは、準同型であり、ブロックチェーンノード520は、例えば図3を参照して説明した技法または他の技法に従って、コミットメントスキームの準同型に基づいてアカウント情報を更新し得る。
526において、ブロックチェーンノード520が、ブロックチェーンネットワークのブロックチェーン上に暗号化されたトランザクション情報を記憶し得る。いくつかの実施形態においては、暗号化されたトランザクション情報は、ブロックチェーンネットワークの2個以上/すべてのコンセンサスノードに記憶され得る、そのため、クライアントノードA530が秘密鍵を失うケースにおけるクライアントノードA530の暗号化されたトランザクション情報についてのロバストなバックアップを提供している。加えて、ブロックチェーンネットワークのブロックチェーンに暗号化されたトランザクション情報を記憶することは、ローカルまたはシングルポイントストレージスキームに対するクライアントノードA530の依存を低減または排除することができ、暗号化されたトランザクション情報へのクライアントノードA530のアクセスについてのセキュリティおよび信頼性を改善している。
528において、クライアントノードA530が、ブロックチェーンノード520(例えば、ブロックチェーンネットワークのコンセンサスノード)から暗号化されたトランザクション情報を読み出しまたさもなければ取得し得る。暗号化されたトランザクション情報は、ブロックチェーンネットワーク内の少なくとも1つのブロックチェーンに記憶されている。クライアントノードA530は、秘密鍵を使用して暗号化されたトランザクション情報から平文トランザクション情報を復号し得る。
542において、クライアントノードA530が、暗号化されたトランザクション情報を復号するように構成される秘密鍵へのアクセスをそれが失っているまたさもなければ有しておらず、秘密鍵がクライアントノードA530に以前発行されていたと決定する。
544において、いくつかの実施形態においては、そのような決定に応答して、クライアントノードA530が、例えばブロックチェーンネットワーク内のすべての数のクライアントノードのうちの少なくとも閾値の数のクライアントノードから秘密鍵の少なくとも閾値の数のパーツを復元することによって、複数のクライアントノードによって合意された閾値秘密分散法(例えばShamirの秘密分散法)に従って、ブロックチェーンネットワーク内のすべての数の(例えば、n個の)クライアントノードのうちの少なくとも閾値の数の(例えば、k個の)クライアントノードから秘密鍵を復元する。
546において、クライアントノードA530が、復元した秘密鍵を使用して暗号化されたトランザクション情報からクライアントノードA530の機密トランザクションのトランザクションデータ(例えば、平文トランザクションデータ)を復号する。いくつかの実施形態においては、秘密鍵を使用して暗号化されたトランザクション情報から特定のクライアントノードの機密トランザクションのトランザクションデータを復号するステップは、秘密鍵を使用して機密トランザクションの送金金額を復元するステップを含む。いくつかの実施形態においては、秘密鍵を使用して暗号化されたトランザクション情報から特定のクライアントノードの機密トランザクションのトランザクションデータを復号するステップは、秘密鍵を使用して機密トランザクションの送金金額および送金金額に対応する乱数の両方を復元するステップであって、送金金額および乱数は、特定のクライアントノードの機密トランザクションのトランザクション情報を秘匿するためにPedersenコミットメントスキームにおいて使用される、ステップを含む。
説明した特徴は、デジタル電子回路の形式で、またはコンピュータハードウェア、ファームウェア、ソフトウェアの形式で、またはそれらの組合せで実装され得る。装置は、プログラマブルプロセッサによる実行のために情報媒体に有形に具現化されたコンピュータプログラム製品の形式で(例えば、機械可読ストレージデバイスの形式で)実装されてもよく、方法のステップは、入力データに対する処理をして出力を生成することによって説明した実施形態の機能を行う命令についてのプログラムを実行するプログラマブルプロセッサによって行われ得る。説明した特徴は、データストレージシステムからデータおよび命令を受信するとともにデータストレージシステムにデータおよび命令を送信するために結合された少なくとも1つのプログラマブルプロセッサ、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスを含むプログラマブルシステム上で実行可能な1つまたは複数のコンピュータプログラムの形式で有利に実装され得る。コンピュータプログラムは、あるアクティビティを行うためにコンピュータにおいて直接的または間接的に使用され得る、または、ある結果をもたらし得る、命令のセットである。コンピュータプログラムは、コンパイル型またはインタプリタ型言語を含むプログラミング言語の任意の形式で書かれてもよく、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境における使用に適した他のユニットとして、ということを含む任意の形式で、デプロイされ得る。
命令についてのプログラムの実行に適したプロセッサは、例として、汎用および特殊用途マイクロプロセッサの両方、および任意の種類のコンピュータの単一プロセッサまたはマルチプルプロセッサの1つを含む。一般的に、プロセッサは、リードオンリーメモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信することになる。コンピュータの要素は、命令を実行するためのプロセッサと、命令およびデータを記憶するための1つまたは複数のメモリとを含み得る。一般的に、コンピュータはまた、データファイルを記憶するための1つまたは複数のマスストレージデバイスを含み得る、またはそのようなデバイスと通信するように動作可能なように結合されてもよく、そのようなデバイスは、内蔵型ハードディスクおよびリムーバブルディスクなどの磁気ディスク、光磁気ディスク、および光ディスクを含む。コンピュータプログラム命令およびデータを有形に具現化するのに適したストレージデバイスは、例として、EPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイス、内蔵型ハードディスクおよびリムーバブルディスクなどの磁気ディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含む、すべての形式の不揮発性メモリを含む。プロセッサおよびメモリは、特定用途向け集積回路(ASIC)によって補完または組み込まれていてもよい。
クライアントとのインタラクションを提供するために、前記特徴は、クライアントノードA302に情報を表示するための陰極線管(CRT)または液晶ディスプレイ(LCD)モニタなどの表示デバイスと、クライアントがコンピュータに入力を提供し得るキーボードおよびマウスまたはトラックボールなどのポインティングデバイスとを有するコンピュータ上で実装され得る。
前記特徴は、データサーバなどのバックエンドコンポーネントを含む、または、アプリケーションサーバもしくはインターネットサーバなどのミドルウェアコンポーネントを含む、または、グラフィッククライアントインターフェースを有するクライアントコンピュータもしくはインターネットブラウザなどのフロントエンドコンポーネントを含む、または、それらの任意の組合せを含む、コンピュータシステムの形式で実装され得る。システムのコンポーネントは、通信ネットワークなどのデジタルデータ通信の任意の形式または媒体によって接続され得る。通信ネットワークの例としては、例えば、ローカルエリアネットワーク(LAN)と、ワイドエリアネットワーク(WAN)とを含み、コンピュータとネットワークとがインターネットを形成する。
コンピュータシステムは、クライアントとサーバとを含み得る。クライアントノードA302とサーバとは、一般的に互いにリモートにあり、通常は上述したようなネットワークを介してやりとりする。クライアントノードA302とサーバとの関係は、それぞれのコンピュータ上で動作し互いにクライアントサーバ関係を有するコンピュータプログラムによって生まれる。
加えて、図に示したロジックフローは、望ましい結果を得るために図示した特定の順序または一連の順序を必要としていない。加えて、他のステップが提供されてもよいし、またはステップが説明したフローから除去されてもよいし、他のコンポーネントが説明したシステムに追加されても削除されてもよい。それゆえ、他の実施形態も特許請求の範囲の範囲内にある。
多くの本開示の実施形態を説明してきた。しかしながら、本開示の精神および範囲から逸脱しない限り様々な変更をしてもよいことは理解されよう。それゆえ、他の実施形態も特許請求の範囲の範囲内にある。
102 コンソーシアムブロックチェーンネットワーク
106 コンピューティングシステム
108 コンピューティングシステム
110 ネットワーク
202 エンティティレイヤ
204 ホステッドサービスレイヤ
206 ブロックチェーンネットワークレイヤ
208 トランザクション管理システム
210 インターフェース
212 ブロックチェーンネットワーク
214 ノード
216 ブロックチェーン
302 クライアントノードA
304 クライアントノードB
306 クライアントノードC
308 クライアントノードD
312 ブロックチェーンノード
350 ブロックチェーンネットワーク
510 クライアントノード
520 ブロックチェーンノード
530 クライアントノードA
540 クライアントノードB

Claims (18)

  1. ブロックチェーン機密トランザクションに参加するクライアントノードのコンピュータ実施方法であって、前記方法は、
    クライアントノードによって、複数のクライアントノードによって合意された閾値秘密分散法に従って、秘密鍵を取得するステップと、
    暗号コミットメントスキームをトランザクションデータに適用することによって前記クライアントノードの機密トランザクションの1つまたは複数のコミットメント値を生成するステップと、
    前記秘密鍵を使用して前記トランザクションデータを暗号化することによって前記機密トランザクションの暗号化されたトランザクション情報を生成するステップと、
    ブロックチェーンネットワークのコンセンサスノードに、実行のために前記機密トランザクションの内容を送信するステップであって、前記機密トランザクションの前記内容は、
    前記1つまたは複数のコミットメント値と、
    前記暗号化されたトランザクション情報と、
    前記トランザクションデータの1つまたは複数のゼロ知識証明と
    を含む、ステップと
    を含む、方法。
  2. 前記機密トランザクションの前記トランザクションデータは、前記機密トランザクションの前の前記クライアントノードのアカウント残高または前記機密トランザクションのトランザクション金額の一方または両方を含む、請求項1に記載の方法。
  3. 前記トランザクションデータの前記1つまたは複数のゼロ知識証明は、前記トランザクションデータの値がそれぞれの範囲内にあるという1つまたは複数のゼロ知識範囲証明を含む、請求項1に記載の方法。
  4. 前記暗号コミットメントスキームは、Pedersenコミットメントスキームを含み、
    暗号コミットメントスキームをトランザクションデータに適用することによって前記クライアントノードの機密トランザクションの1つまたは複数のコミットメント値を生成するステップは、前記トランザクションデータおよび前記トランザクションデータに対応する乱数に基づいて前記クライアントノードの前記機密トランザクションの前記1つまたは複数のコミットメント値を生成するステップを含み、
    前記機密トランザクションの暗号化されたトランザクション情報を生成するステップは、前記秘密鍵を使用して前記トランザクションデータおよび前記トランザクションデータに対応する乱数を暗号化することによって前記機密トランザクションの暗号化されたトランザクション情報を生成するステップを含む、請求項1に記載の方法。
  5. 前記閾値秘密分散法は、Shamirの秘密分散法を含む、請求項1に記載の方法。
  6. ブロックチェーンネットワークのコンセンサスノードのコンピュータ実施方法であって、前記方法は、
    ブロックチェーンネットワークのコンセンサスノードによって、クライアントノードの機密トランザクションの内容を受信するステップであって、前記機密トランザクションの前記内容は、
    前記機密トランザクションのトランザクションデータに暗号コミットメントスキームを適用することによって前記クライアントノードによって生成された前記機密トランザクションの1つまたは複数のコミットメント値と、
    前記クライアントノードの秘密鍵を使用して前記トランザクションデータを暗号化することによって生成される暗号化されたトランザクション情報であって、秘密鍵は、複数のクライアントノードとの閾値秘密分散法に従って前記クライアントノードによって取得される、暗号化されたトランザクション情報と、
    前記トランザクションデータの1つまたは複数のゼロ知識証明と
    を含む、ステップと、
    前記ブロックチェーンネットワークの前記コンセンサスノードによって、前記機密トランザクションの前記内容に基づいて前記機密トランザクションが正当なものであることを検証するステップと、
    前記ブロックチェーンネットワークの前記コンセンサスノードによって、前記ブロックチェーンネットワークのブロックチェーン上に前記暗号化されたトランザクション情報を記憶するステップと
    を含む、方法。
  7. 前記機密トランザクションの前記トランザクションデータは、前記機密トランザクションの前の前記クライアントノードのアカウント残高または前記機密トランザクションのトランザクション金額のうちの1つまたは複数を含む、請求項6に記載の方法。
  8. 前記トランザクションデータの前記1つまたは複数のゼロ知識証明は、前記トランザクションデータの値がそれぞれの範囲内にあるという1つまたは複数のゼロ知識範囲証明を含む、請求項6に記載の方法。
  9. 前記機密トランザクションの前記内容に基づいて前記機密トランザクションが正当なものであることを検証するステップは、
    前記コミットメントスキームに基づいて前記1つまたは複数のコミットメント値が正しいと決定するステップと、
    前記トランザクションデータの前記1つまたは複数のゼロ知識証明を検証するステップと
    を含む、請求項6に記載の方法。
  10. 前記トランザクションデータの前記1つまたは複数のゼロ知識証明を検証するステップは、
    前記機密トランザクションの前の前記クライアントノードのアカウント残高がゼロより大きいと決定するステップと、
    前記機密トランザクションのトランザクション金額が前記機密トランザクションの前の前記クライアントノードのアカウント残高以下であると決定するステップと
    を含む、請求項9に記載の方法。
  11. 前記暗号コミットメントスキームは、準同型であり、前記方法は、前記コミットメントスキームの準同型に基づいて前記機密トランザクションの後の前記クライアントノードのアカウント残高を更新するステップをさらに含む、請求項6に記載の方法。
  12. 前記閾値秘密分散法は、Shamirの秘密分散法を含む、請求項6に記載の方法。
  13. ブロックチェーン機密トランザクション内の暗号化されたトランザクション情報を復元するためのコンピュータ実施方法であって、前記方法は、
    特定のクライアントノードによって、ブロックチェーンネットワークのコンセンサスノードから、前記特定のクライアントノードの機密トランザクションの暗号化されたトランザクション情報を受信するステップであって、前記暗号化されたトランザクション情報は、前記ブロックチェーンネットワーク内の少なくとも1つのブロックチェーンに記憶されており、前記特定のクライアントノードは、前記暗号化されたトランザクション情報を復号するように構成される秘密鍵へのアクセスを有しておらず、前記特定のクライアントノードは、前記秘密鍵を以前発行されていた、ステップと、
    前記特定のクライアントノードによって、複数のクライアントノードによって合意された閾値秘密分散法に従って、前記ブロックチェーンネットワーク上の前記複数のクライアントノードのうちの少なくとも閾値の数のクライアントノードから前記秘密鍵を復元するステップと、
    前記特定のクライアントノードによって、前記復元した秘密鍵を使用して前記暗号化されたトランザクション情報から前記特定のクライアントノードの前記機密トランザクションのトランザクションデータを復号するステップと
    を含む、方法。
  14. 前記閾値秘密分散法は、Shamirの秘密分散法を含む、請求項13に記載の方法。
  15. 前記秘密鍵を使用して前記暗号化されたトランザクション情報から前記特定のクライアントノードの前記機密トランザクションのトランザクションデータを復号するステップは、前記秘密鍵を使用して前記機密トランザクションの送金金額を復元するステップを含む、請求項13に記載の方法。
  16. 前記秘密鍵を使用して前記暗号化されたトランザクション情報から前記特定のクライアントノードの前記機密トランザクションのトランザクションデータを復号するステップは、前記秘密鍵を使用して前記機密トランザクションの送金金額および前記送金金額に対応する乱数の両方を復元するステップであって、前記送金金額および前記乱数は、前記特定のクライアントノードの前記機密トランザクションのトランザクション情報を秘匿するためにPedersenコミットメントスキームにおいて使用される、ステップを含む、請求項11に記載の方法。
  17. 1つまたは複数のプロセッサに結合されるとともに命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記1つまたは複数のプロセッサによって実行されると、前記命令は、前記1つまたは複数のプロセッサに、請求項1から16のいずれか一項またはいくつかに記載の方法に従って動作を行わせる、非一時的コンピュータ可読記憶媒体。
  18. コンピューティングデバイスと、
    前記コンピューティングデバイスに結合されるとともに命令を記憶したコンピュータ可読ストレージデバイスであって、前記コンピューティングデバイスによって実行されると、前記命令は、前記コンピューティングデバイスに、請求項1から16のいずれか一項またはいくつかに記載の方法に従って動作を行わせる、コンピュータ可読ストレージデバイスと
    を含む、システム。
JP2019521791A 2018-11-07 2018-11-07 ブロックチェーン機密トランザクション内の暗号化されたトランザクション情報の復元 Active JP6811317B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/114322 WO2019072262A2 (en) 2018-11-07 2018-11-07 RECOVERING CHILLED TRANSACTION INFORMATION IN CONFIDENTIAL BLOCK CHAIN TRANSACTIONS

Publications (3)

Publication Number Publication Date
JP2020515087A true JP2020515087A (ja) 2020-05-21
JP2020515087A5 JP2020515087A5 (ja) 2020-09-03
JP6811317B2 JP6811317B2 (ja) 2021-01-13

Family

ID=66100043

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019521791A Active JP6811317B2 (ja) 2018-11-07 2018-11-07 ブロックチェーン機密トランザクション内の暗号化されたトランザクション情報の復元

Country Status (13)

Country Link
US (3) US11055709B2 (ja)
EP (1) EP3549306A4 (ja)
JP (1) JP6811317B2 (ja)
KR (1) KR102208891B1 (ja)
CN (1) CN110291756B (ja)
AU (1) AU2018347186B2 (ja)
BR (1) BR112019008168A2 (ja)
CA (1) CA3041156A1 (ja)
MX (1) MX2019004655A (ja)
RU (1) RU2726157C1 (ja)
SG (1) SG11201903562QA (ja)
WO (1) WO2019072262A2 (ja)
ZA (1) ZA201902557B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024013923A1 (ja) * 2022-07-14 2024-01-18 富士通株式会社 証明生成プログラム、証明生成方法、情報処理装置

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10757154B1 (en) 2015-11-24 2020-08-25 Experian Information Solutions, Inc. Real-time event-based notification system
CN110383319B (zh) 2017-01-31 2023-05-26 益百利信息解决方案公司 大规模异构数据摄取和用户解析
US10735183B1 (en) 2017-06-30 2020-08-04 Experian Information Solutions, Inc. Symmetric encryption for private smart contracts among multiple parties in a private peer-to-peer network
CN109241016B (zh) * 2018-08-14 2020-07-07 阿里巴巴集团控股有限公司 多方安全计算方法及装置、电子设备
KR102208891B1 (ko) 2018-11-07 2021-01-29 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. 블록체인 기밀 트랜잭션에서 암호화된 트랜잭션 정보 복구
KR102180991B1 (ko) 2018-11-07 2020-12-17 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. 블록 체인 기밀 거래의 규제
US11151558B2 (en) 2018-12-12 2021-10-19 American Express Travel Related Services Company, Inc Zero-knowledge proof payments using blockchain
US11620403B2 (en) * 2019-01-11 2023-04-04 Experian Information Solutions, Inc. Systems and methods for secure data aggregation and computation
CN110224985B (zh) * 2019-05-07 2022-07-08 平安科技(深圳)有限公司 数据处理的方法及相关装置
CN110264196B (zh) * 2019-05-20 2021-04-23 创新先进技术有限公司 结合代码标注与用户类型的有条件的收据存储方法和节点
US11764950B2 (en) * 2019-05-22 2023-09-19 Salesforce, Inc. System or method to implement right to be forgotten on metadata driven blockchain using shared secrets and consensus on read
EP3991353A1 (en) * 2019-06-26 2022-05-04 Koninklijke Philips N.V. Zero-knowledge contingent payments protocol for granting access to encrypted assets
WO2021009390A1 (es) 2019-07-18 2021-01-21 Allfunds Bank, S.A.U Disposición de cadenas de bloques con una transacción restringida
US11018856B2 (en) * 2019-09-11 2021-05-25 Guardtime Sa Auditable system and methods for secret sharing
CN110601834B (zh) * 2019-09-30 2023-02-10 深圳市迅雷网络技术有限公司 一种共识方法、装置、设备及可读存储介质
WO2021064043A1 (en) 2019-09-30 2021-04-08 Coinfirm Limited A method for secure transferring of information through a network between an origin virtual asset service provider and a destination virtual asset service provider
CN111050317B (zh) * 2019-12-07 2022-08-02 江西理工大学 一种基于联盟区块链的智能交通数据安全共享方法
CN110991655B (zh) * 2019-12-17 2021-04-02 支付宝(杭州)信息技术有限公司 多方联合进行模型数据处理的方法及装置
CN111161075B (zh) * 2019-12-31 2024-04-05 深圳市迅雷网络技术有限公司 区块链交易数据证明监管方法、系统及相关设备
CN111160908B (zh) * 2019-12-31 2023-11-17 深圳市迅雷网络技术有限公司 基于区块链的供应链交易隐私保护系统、方法及相关设备
CN111339569B (zh) * 2020-02-26 2023-05-26 百度在线网络技术(北京)有限公司 区块链数据处理方法、装置、电子设备和介质
CN113496434A (zh) * 2020-04-03 2021-10-12 山东浪潮质量链科技有限公司 一种监管方法、设备及介质
US11909859B2 (en) * 2020-06-02 2024-02-20 Sap Se Removing access to blockchain data
CN111695902A (zh) * 2020-06-16 2020-09-22 深圳点链科技有限公司 基于区块链的互联方法、装置及计算机存储介质
US11641665B2 (en) 2020-09-09 2023-05-02 Self Financial, Inc. Resource utilization retrieval and modification
US20220075877A1 (en) 2020-09-09 2022-03-10 Self Financial, Inc. Interface and system for updating isolated repositories
US11636467B2 (en) * 2020-09-14 2023-04-25 Visa International Service Association System, method, and computer program product for secured, encrypted transaction processing
CN112865959B (zh) * 2020-12-30 2022-05-31 杭州趣链科技有限公司 分布式节点设备的共识方法、节点设备及分布式网络
CN113225189B (zh) * 2021-01-05 2024-02-02 上海零数众合信息科技有限公司 一种基于量子抗性的环形保密业务方法
CN113225324B (zh) * 2021-04-26 2022-10-04 安徽中科晶格技术有限公司 区块链匿名账户创建方法、系统、设备及存储介质
CN113141377B (zh) * 2021-05-14 2023-05-02 南京慧链和信数字信息科技研究院有限公司 一种基于区块链的数据安全管理系统
CN113438070B (zh) * 2021-05-25 2023-07-21 中国科学院计算技术研究所 基于capss的区块链密钥恢复方法及系统
CN113438072B (zh) * 2021-06-09 2022-04-08 北京理工大学 一种基于派生链的区块链隐蔽通信方法
CN113645020A (zh) * 2021-07-06 2021-11-12 北京理工大学 一种基于安全多方计算的联盟链隐私保护方法
CN113793146A (zh) * 2021-08-02 2021-12-14 杭州复杂美科技有限公司 一种平行链同步交易的验证方法、设备及储存介质
KR102467441B1 (ko) * 2021-10-28 2022-11-17 (주)씨큐하이 텐더민트 bft를 이용한 비정형 데이터의 암호화 방법, 장치 및 컴퓨터-판독가능 기록매체

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160358165A1 (en) * 2015-06-08 2016-12-08 Blockstream Corporation Cryptographically concealing amounts transacted on a ledger while preserving a network's ability to verify the transaction
WO2018109010A1 (en) * 2016-12-15 2018-06-21 Luxembourg Institute Of Science And Technology (List) P2p network data distribution and retrieval using blockchain log

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06293245A (ja) 1993-04-08 1994-10-21 Takata Kk 助手席用エアバッグ装置
CA2305249A1 (en) 2000-04-14 2001-10-14 Branko Sarcanin Virtual safe
US7356516B2 (en) 2002-06-13 2008-04-08 Visa U.S.A. Inc. Method and system for facilitating electronic dispute resolution
EP1622301B1 (en) * 2002-09-17 2007-06-27 Errikos Pitsos Methods and system for providing a public key fingerprint list in a PK system
US8156029B2 (en) * 2005-02-24 2012-04-10 Michael Gregory Szydlo Process for verifiably communicating risk characteristics of an investment portfolio
CN115358746A (zh) 2013-09-20 2022-11-18 维萨国际服务协会 包括消费者认证的安全远程支付交易处理
US9787647B2 (en) 2014-12-02 2017-10-10 Microsoft Technology Licensing, Llc Secure computer evaluation of decision trees
US20160162897A1 (en) 2014-12-03 2016-06-09 The Filing Cabinet, LLC System and method for user authentication using crypto-currency transactions as access tokens
US20170048209A1 (en) 2015-07-14 2017-02-16 Fmr Llc Crypto Key Recovery and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems
US20180191503A1 (en) 2015-07-14 2018-07-05 Fmr Llc Asynchronous Crypto Asset Transfer and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems
EP3259724B1 (en) * 2016-02-23 2021-03-24 Nchain Holdings Limited Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
US10992649B2 (en) 2016-04-01 2021-04-27 Consensys Software Inc. Systems and methods for privacy in distributed ledger transactions
WO2017173271A1 (en) 2016-04-01 2017-10-05 Jpmorgan Chase Bank, N.A. Systems and methods for providing data privacy in a private distributed ledger
DE102016206916B4 (de) * 2016-04-22 2023-07-06 Bundesdruckerei Gmbh Elektronisches Verfahren zur kryptographisch gesicherten Überweisung eines Betrags einer Kryptowährung
CN107438002B (zh) 2016-05-27 2022-02-11 索尼公司 基于区块链的系统以及系统中的电子设备和方法
WO2017218983A1 (en) 2016-06-16 2017-12-21 The Bank Of New York Mellon Distributed, centrally authored block chain network
JP6663809B2 (ja) 2016-07-07 2020-03-13 株式会社日立製作所 監査装置、監査機能付匿名送金方法及びプログラム
CN107666388B (zh) * 2016-07-28 2019-11-01 郑珂威 基于完全同态加密方法的区块链信息加密方法
US10657526B2 (en) 2016-10-28 2020-05-19 International Business Machines Corporation System and method to dynamically setup a private sub-blockchain based on agility of transaction processing
JP6293245B1 (ja) 2016-11-25 2018-03-14 株式会社三井住友銀行 強化されたセキュリティを有する取引相互監視システム
CN106549749B (zh) * 2016-12-06 2019-12-24 杭州趣链科技有限公司 一种基于加法同态加密的区块链隐私保护方法
US10158479B2 (en) * 2017-02-06 2018-12-18 Northern Trust Corporation Systems and methods for generating, uploading and executing code blocks within distributed network nodes
CN106982205B (zh) 2017-03-01 2020-05-19 中钞信用卡产业发展有限公司杭州区块链技术研究院 基于区块链的数字资产处理方法和装置
TW201837815A (zh) 2017-03-28 2018-10-16 泰德陽光有限公司 分散式稽核方法、裝置及其系統
US10742393B2 (en) 2017-04-25 2020-08-11 Microsoft Technology Licensing, Llc Confidentiality in a consortium blockchain network
CN107566337B (zh) 2017-07-26 2019-08-09 阿里巴巴集团控股有限公司 一种区块链节点间的通信方法及装置
US10924466B2 (en) 2017-07-28 2021-02-16 SmartAxiom, Inc. System and method for IOT security
CN108418783B (zh) 2017-09-01 2021-03-19 矩阵元技术(深圳)有限公司 一种保护区块链智能合约隐私的方法、介质
US10361859B2 (en) 2017-10-06 2019-07-23 Stealthpath, Inc. Methods for internet communication security
CN107833135A (zh) 2017-10-30 2018-03-23 中山大学 一种基于区块链的公平电子投票协议
CN108021821A (zh) * 2017-11-28 2018-05-11 北京航空航天大学 多中心区块链交易隐私保护系统及方法
CN108418689B (zh) 2017-11-30 2020-07-10 矩阵元技术(深圳)有限公司 一种适合区块链隐私保护的零知识证明方法和介质
US11057225B2 (en) 2017-12-07 2021-07-06 International Business Machines Corporation Enforcing compute equity models in distributed blockchain
US11238449B2 (en) 2017-12-18 2022-02-01 Nec Corporation Efficient validation of transaction policy compliance in a distributed ledger system
US10938557B2 (en) 2018-03-02 2021-03-02 International Business Machines Corporation Distributed ledger for generating and verifying random sequence
CN108492105A (zh) 2018-03-07 2018-09-04 物数(上海)信息科技有限公司 基于区块链的资产交易监管方法、系统、设备及存储介质
CN108712261B (zh) * 2018-05-10 2021-02-26 杭州智块网络科技有限公司 一种基于区块链的密钥生成方法、装置及介质
CN108764874B (zh) * 2018-05-17 2021-09-07 深圳前海微众银行股份有限公司 基于区块链的匿名转账方法、系统及存储介质
CN108769173B (zh) * 2018-05-21 2021-11-09 阿里体育有限公司 运行智能合约的区块链实现方法及设备
US10171992B1 (en) 2018-06-22 2019-01-01 International Business Machines Corporation Switching mobile service provider using blockchain
KR102180991B1 (ko) 2018-11-07 2020-12-17 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. 블록 체인 기밀 거래의 규제
KR102208891B1 (ko) 2018-11-07 2021-01-29 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. 블록체인 기밀 트랜잭션에서 암호화된 트랜잭션 정보 복구

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160358165A1 (en) * 2015-06-08 2016-12-08 Blockstream Corporation Cryptographically concealing amounts transacted on a ledger while preserving a network's ability to verify the transaction
WO2018109010A1 (en) * 2016-12-15 2018-06-21 Luxembourg Institute Of Science And Technology (List) P2p network data distribution and retrieval using blockchain log

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024013923A1 (ja) * 2022-07-14 2024-01-18 富士通株式会社 証明生成プログラム、証明生成方法、情報処理装置

Also Published As

Publication number Publication date
EP3549306A4 (en) 2020-01-01
RU2726157C1 (ru) 2020-07-09
CA3041156A1 (en) 2019-04-18
WO2019072262A3 (en) 2019-08-29
CN110291756B (zh) 2023-07-14
US20200184471A1 (en) 2020-06-11
US11429962B2 (en) 2022-08-30
BR112019008168A2 (pt) 2019-09-10
SG11201903562QA (en) 2019-05-30
WO2019072262A2 (en) 2019-04-18
KR20200054125A (ko) 2020-05-19
CN110291756A (zh) 2019-09-27
EP3549306A2 (en) 2019-10-09
MX2019004655A (es) 2019-08-12
US11232442B2 (en) 2022-01-25
KR102208891B1 (ko) 2021-01-29
AU2018347186A1 (en) 2020-05-21
JP6811317B2 (ja) 2021-01-13
AU2018347186B2 (en) 2020-09-03
ZA201902557B (en) 2020-12-23
US11055709B2 (en) 2021-07-06
US20210334795A1 (en) 2021-10-28
US20190251558A1 (en) 2019-08-15

Similar Documents

Publication Publication Date Title
US11429962B2 (en) Recovering encrypted transaction information in blockchain confidential transactions
CA3041168C (en) Regulating blockchain confidential transactions
TWI706275B (zh) 用於資訊保護的系統和方法
KR102248154B1 (ko) 정보 보호를 위한 시스템 및 방법
KR102150814B1 (ko) 정보 보호를 위한 시스템 및 방법
US11080694B2 (en) System and method for information protection
JP6880255B2 (ja) ブロックチェーン機密トランザクションの管理
JP2020512572A (ja) 汎用アカウントモデルおよび準同型暗号化に基づいたブロックチェーンデータ保護

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190619

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200722

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200722

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200803

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200924

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201214

R150 Certificate of patent or registration of utility model

Ref document number: 6811317

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250