JP6830530B2 - アカウントモデルの下でパブリックおよびプライベートトランザクションをサポートするブロックチェーンシステム - Google Patents

アカウントモデルの下でパブリックおよびプライベートトランザクションをサポートするブロックチェーンシステム Download PDF

Info

Publication number
JP6830530B2
JP6830530B2 JP2019521710A JP2019521710A JP6830530B2 JP 6830530 B2 JP6830530 B2 JP 6830530B2 JP 2019521710 A JP2019521710 A JP 2019521710A JP 2019521710 A JP2019521710 A JP 2019521710A JP 6830530 B2 JP6830530 B2 JP 6830530B2
Authority
JP
Japan
Prior art keywords
user node
account
transaction
private
public
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
JP2019521710A
Other languages
English (en)
Other versions
JP2020501406A (ja
JP2020501406A5 (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 JP2020501406A publication Critical patent/JP2020501406A/ja
Publication of JP2020501406A5 publication Critical patent/JP2020501406A5/ja
Application granted granted Critical
Publication of JP6830530B2 publication Critical patent/JP6830530B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/108Remote banking, e.g. home banking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • 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/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • 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
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Finance (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、アカウントモデルの下でパブリックおよびプライベートトランザクションをサポートするブロックチェーンシステムに関する。
ブロックチェーンシステム、コンセンサスネットワーク、分散型台帳システム(DLS)ネットワーク、またはブロックチェーンとも呼ばれ得るブロックチェーンネットワークは、参加するエンティティが安全にかつ変更不可能にデータを記憶することを可能にする。ブロックチェーンはトランザクションの台帳として記述されることが可能であり、ブロックチェーンの複数のコピーがブロックチェーンネットワークにわたって記憶される。例示的なタイプのブロックチェーンには、パブリックブロックチェーンおよびプライベートブロックチェーンがあり得る。パブリックブロックチェーンは、そのブロックチェーンを使用してコンセンサスプロセスに参加することがすべてのエンティティに開かれている。プライベートブロックチェーンは、読取りパーミッションおよび書込みパーミッションを集中的に制御する特定のエンティティに提供される。
ブロックチェーンは、参加者が暗号通貨を使用して商品および/またはサービスを購入/販売するために取引を行うことを可能にする、暗号通貨ネットワークにおいて使用される。一般的な暗号通貨にはビットコインがある。暗号通貨ネットワークでは、ユーザ間の取引を記録するために記録管理モデルが使用される。例示的な記録管理モデルには、未使用トランザクションアウトプット(UTXO: unspent transaction output)モデルおよびアカウント残高(account balance)モデルがある。UTXOモデルでは、各トランザクションは、前のトランザクションからのアウトプットを使用し、後のトランザクションにおいて使用され得る新しいアウトプットを生成する。ユーザの未使用のトランザクションが追跡され、使用のためにユーザが有する残高が未使用のトランザクションの合計として計算される。アカウント残高モデルでは、各ユーザのアカウント残高がグローバル状態として追跡される。各トランザクションに対して、使用するアカウントの残高がトランザクションの量以上であることを確実にするために、その残高が確認される。これは従来の銀行業と同等である。
ブロックチェーンは一連のブロックを含み、その各々がネットワークにおいて実行される1つまたは複数のトランザクションを含む。各ブロックは台帳のページに類似していることがあるが、ブロックチェーン自体が台帳の完全なコピーである。個々のトランザクションが確認されてブロックに追加され、ブロックはブロックチェーンに追加される。ブロックチェーンのコピーは、ネットワークの複数のノードにわたって複製される。このようにして、ブロックチェーンの状態についてグローバルな合意ができる。さらに、ブロックチェーンは、少なくともパブリックネットワークの場合には、すべてのノードが閲覧のために公開されている。ブロックチェーンユーザのプライバシーを保護するために暗号化技術が実装される。
本開示の実施形態は、ブロックチェーンネットワークのアカウント残高モデルの下でパブリックトランザクションおよびプライベートトランザクションのプライバシーを保護するためのコンピュータ実装方法を含む。より詳細には、本開示の実施形態は、ブロックチェーンネットワーク内のアカウント残高モデルの下でプライベートトランザクションおよびパブリックトランザクションを可能にすることを対象とする。このようにして、また本明細書でさらに詳細に説明されるように、ユーザは、各トランザクションがブロックチェーンネットワーク内のパブリックトランザクションであるかプライベートトランザクションであるかどうかを自由に選ぶことができる。
いくつかの実施形態では、動作は、トランザクションデータおよびトランザクションデータのデジタル署名を、ブロックチェーンネットワークのコンセンサスノードによって受信するステップであって、トランザクションデータは、コミットメント値、乱数、および第1のユーザノードのパブリックアカウントまたはプライベートアカウントのうちの一方から第2のユーザノードのパブリックアカウントまたはプライベートアカウントのうちの一方に移動されるべきトランザクション量を含み、デジタル署名は、第1のユーザノードの秘密鍵を使用してトランザクションデータをデジタル署名することによって生成され、コミットメント値は、コミットメントスキームを使用して乱数およびトランザクション量に基づいて生成される、ステップと、第1のユーザノードの公開鍵を使用してトランザクションデータのデジタル署名を検証するステップと、コミットメント値が乱数およびコミットメントスキームに基づいて正しく、かつトランザクション量がトランザクション量の移動前の第1のユーザノードのパブリックアカウントまたはプライベートアカウントのうちの一方の残高以下である場合、トランザクション量が有効であると決定するステップとを含む。他の実施形態は、対応するシステム、装置、およびコンピュータストレージデバイス上に符号化された方法の動作を実行するように構成されたコンピュータプログラムを含む。
これらの実施形態および他の実施形態はそれぞれ、以下の特徴の1つまたは複数を随意に含み得る。
第1の特徴は、後述の特徴のいずれかと組み合わせることができ、パブリックアカウントがコンセンサスノードによって閲覧可能なパブリック残高を有し、プライベートアカウントがそれぞれのユーザノードの秘密鍵を使用して閲覧可能なプライベート残高を有する。
第2の特徴は、前述または後述の特徴のいずれかと組み合わせることができ、トランザクション量が第1のユーザノードに関連付けられたパブリックアカウントから第2のユーザノードに関連付けられたプライベートアカウントへのものである。
第3の特徴は、前述または後述の特徴のいずれかと組み合わせることができ、トランザクション量が第1のユーザノードのプライベートアカウントから第2のユーザノードのパブリックアカウントへのものであり、方法が、トランザクション量が第1のユーザノードのプライベートアカウントの残高以下であることを証明する範囲証明を、第1のユーザノードから受信するステップをさらに含み、トランザクション量が範囲証明に基づいて第1のユーザノードのプライベートアカウントの残高以下である場合、移動が有効であると決定される。
第4の特徴は、前述または後述の特徴のいずれかと組み合わせることができ、移動が有効である場合、トランザクション量に基づいて、第1のユーザノードのパブリックアカウントまたはプライベートアカウントのうちの一方の残高と、第2のユーザノードのパブリックアカウントまたはプライベートアカウントのうちの一方の残高とを更新するステップをさらに含む
第5の特徴は、前述または後述の特徴のいずれかと組み合わせることができ、プライベートアカウントの残高が、トランザクション量のコミットメント値とコミットメントスキームを使用して生成されたプライベートアカウントの残高のコミットメントとに基づいて更新される。
第6の特徴は、前述または後述の特徴のいずれかと組み合わせることができ、コミットメントスキームが準同型である。
本開示はさらに、本明細書で提供される方法を実施するためのシステムを提供する。システムは、1つまたは複数のプロセッサと、1つまたは複数のプロセッサによって実行されると1つまたは複数のプロセッサに本明細書で提供される方法の実施形態に従って動作を実行させる命令が記憶された、1つまたは複数のプロセッサに結合されるコンピュータ可読記憶媒体とを含む。
本開示による方法は、本明細書で説明される態様および特徴の任意の組合せを含み得ることを理解されたい。すなわち、本開示による方法は、本明細書で特に説明される態様および特徴の組合せに限定されず、提供される態様および特徴の任意の組合せも含む。
本開示の1つまたは複数の実施形態の詳細は、添付の図面および以下の説明に記載される。本開示の他の特徴および利点が、説明および図面から、ならびに特許請求の範囲から明らかになるであろう。
本開示の実施形態を実行するために使用され得る例示的な環境の図である。 本開示の実施形態による例示的な概念のアーキテクチャの図である。 本開示の実施形態による、ブロックチェーントランザクションの例示的な検証プロセスを示す図である。 本開示の実施形態による、パブリックアカウントからプライベートアカウントアへの例示的なブロックチェーントランザクションを示す図である。 本開示の実施形態による、プライベートアカウントからパブリックアカウントへの例示的なブロックチェーントランザクションを示す図である。 本開示の実施形態にしたがって実行され得る例示的な方法を示す図である。
様々な図面における同様の記号は、同様の要素を示す。
本開示の実施形態は、ブロックチェーンネットワークのアカウント残高モデル(本明細書ではアカウントモデルとしても記載される)の下でパブリックトランザクションおよびプライベートトランザクションのプライバシーを保護するためのコンピュータ実装形態を含む。より詳細には、本開示の実施形態は、ブロックチェーンネットワーク内のアカウント残高モデルの下でプライベートトランザクションおよびパブリックトランザクションを可能にすることを対象とする。このようにして、また本明細書にさらに詳細に説明されるように、ユーザは、各トランザクションがブロックチェーンネットワーク内のパブリックトランザクションであるかプライベートトランザクションであるかどうかを自由に選ぶことができる。いくつかの実施形態では、動作は、トランザクションデータおよびトランザクションデータのデジタル署名を、ブロックチェーンネットワークのコンセンサスノードによって受信するステップであって、トランザクションデータは、コミットメント値、乱数、および第1のユーザノードのパブリックアカウントまたはプライベートアカウントのうちの一方から第2のユーザノードのパブリックアカウントまたはプライベートアカウントのうちの一方に移動されるべきトランザクション量を含み、デジタル署名は、第1のユーザノードの秘密鍵を使用してトランザクションデータをデジタル署名することによって生成され、コミットメント値は、コミットメントスキームを使用して乱数およびトランザクション量に基づいて生成される、ステップと、第1のユーザノードの公開鍵を使用してトランザクションデータのデジタル署名を検証するステップと、コミットメント値が乱数およびコミットメントスキームに基づいて正しく、かつトランザクション量がトランザクション量の移動前の第1のユーザノードのパブリックアカウントまたはプライベートアカウントのうちの一方の残高以下である場合、トランザクション量が有効であると決定するステップとを含む。
本開示の、および上で紹介された実施形態のさらなる背景を提供すると、コンセンサスネットワーク(例えば、ピアツーピアノードからなる)、分散型台帳システム、または単にブロックチェーンとも呼ばれ得る、ブロックチェーンネットワークは、参加するエンティティが安全かつ変更不可能にトランザクションを行いデータを記憶することを可能にする。ブロックチェーンは、パブリックブロックチェーン、プライベートブロックチェーン、またはコンソーシアムブロックチェーンとして提供され得る。本開示の実施形態は、参加するエンティティの間で公開されているパブリックブロックチェーンに関して、本明細書でさらに詳細に説明される。しかしながら、本開示の実施形態はあらゆる適切なタイプのブロックチェーンにおいて実現され得ることが企図される。
パブリックブロックチェーンでは、コンセンサスプロセスはコンセンサスネットワークのノードによって制御される。例えば、数百、数千、さらには数百万ものエンティティがパブリックブロックチェーンに参加することができ、それらの各々がパブリックブロックチェーンの中の少なくとも1つのノードを運用する。したがって、パブリックブロックチェーンは、参加するエンティティに関して公開のネットワークであると見なされ得る。いくつかの例では、ブロックが有効となりブロックチェーンに追加されるには、過半数のエンティティ(ノード)がそれぞれのブロックに署名しなければならない。例示的なパブリックブロックチェーンには、ピアツーピア支払ネットワーク(暗号通貨ネットワーク)であるビットコインネットワークにおいて使用されるブロックチェーンがある。ブロックチェーンという用語は一般にビットコインネットワークに関して言及されるが、本明細書では、ブロックチェーンは、ビットコインネットワークに特に言及することなく分散型台帳を全般的に指す。
一般に、パブリックブロックチェーンはパブリックトランザクションをサポートする。パブリックトランザクションはブロックチェーン内のノードのすべてと共有され、ブロックチェーンはすべてのノードにわたって複製される。すなわち、すべてのノードがブロックチェーンに関して完全にコンセンサスのとれた状態にある。コンセンサス(例えば、ブロックチェーンへのブロックの追加に対する合意)を達成するために、ブロックチェーンネットワーク内でコンセンサスプロトコルが実装される。例示的なコンセンサスプロトコルには、限定はされないが、ビットコインネットワークにおいて実装されるプルーフオブワーク(POW)がある。
本開示の実施形態は、上述の文脈の観点で本明細書にさらに詳細に説明される。より詳細には、上に紹介したように、本開示の実施形態は、ブロックチェーンネットワーク内のアカウント残高モデルの下でプライベートトランザクションおよびパブリックトランザクションを可能にすることを対象とする。このようにして、本明細書にさらに詳細に説明するように、ユーザは、各トランザクションがブロックチェーンネットワーク内のパブリックトランザクションであるかプライベートトランザクションであるかどうかを自由に選ぶことができる。
本開示の実施形態では、アカウントモデルに基づくアカウント構造は、パブリックアカウント間のトランザクション、プライベートアカウント間のトランザクション、およびパブリックアカウントとプライベートアカウント間のトランザクションを可能にする。適切なプライバシー保護スキームが様々なアカウントタイプのために実装され得る。このようにして、ユーザ(例えば、ネットワーク内のノード)は、プライバシーの選好に基づいて、パブリックアカウントを使用してトランザクションを実行するか、プライベートアカウントを使用してトランザクションを実行するかを選択できる。
パブリックアカウントは、コンセンサスノードによって閲覧可能なアカウント残高を有し得る。プライベートアカウントは、アカウントの所有者(ユーザ)の秘密鍵を使用して閲覧可能なアカウント残高を有し得る。プライベートアカウント残高は、準同型暗号化を使用して暗号化されるか、または準同型を有するコミットメントスキームによりによるコミットされ得る。そのため、プライベートアカウント残高は、ブロックチェーンネットワーク内の他のノードによって決定されることができない。プライベートアカウントとの間で行われたトランザクション量もまた、準同型暗号化に基づいてプライベートアカウント残高を更新するためにコミットメントスキームに基づいて隠され得る。
図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のためのブロックチェーンまたはDLSインターフェース210を含む。いくつかの例では、それぞれのトランザクション管理システム208は、通信プロトコル(例えば、ハイパーテキスト転送プロトコルセキュア(HTTPS))を使用してネットワーク(例えば、図1のネットワーク110)を通じてそれぞれのDLSインターフェース210と通信する。いくつかの例では、各DLSインターフェース210は、それぞれのトランザクション管理システム208とブロックチェーンレイヤ206との間の通信接続を提供する。より具体的には、各DLSインターフェース210は、それぞれのエンティティがブロックチェーンレイヤ206のブロックチェーンネットワーク212に記録されるトランザクションを行うことを可能にする。いくつかの例では、DLSインターフェース210とブロックチェーンレイヤ206との間の通信は、リモートプロシージャコール(RPC)を使用して行われる。いくつかの例では、DLSインターフェース210は、それぞれのトランザクション管理システム208のためのブロックチェーンノードを「ホスト」する。例えば、DLSインターフェース210は、ブロックチェーンネットワーク212へのアクセスのためにアプリケーションプログラミングインターフェース(API)を提供する。
本明細書で説明されるように、ブロックチェーンネットワーク212は、ブロックチェーン216に情報を変更不可能に記録する複数のノード214を含む、ピアツーピアネットワークとして提供される。単一のブロックチェーン216が概略的に図示されるが、ブロックチェーン216の複数のコピーが提供され、ブロックチェーン212にわたって維持される。例えば、各ノード214はブロックチェーン216のコピーを記憶する。いくつかの実施形態では、ブロックチェーン216は、パブリックブロックチェーンに参加する2つ以上のエンティティの間で実行されるトランザクションと関連付けられる情報を記憶する。
本開示は、コミットスキームに基づいてブロックチェーンネットワーク内のアカウント残高モデルの下でプライベートトランザクションおよびパブリックトランザクションが実行され得るようにできる方法を開示する。このように、ユーザは、各トランザクションまたはトランザクションのために使用されるアカウントがパブリックまたはプライベートであるかどうかを自由に選ぶことができる。
図3は、本開示の実施形態による、ブロックチェーントランザクションの例示的な検証プロセス300を示すスイムレーン図である。例示的な検証プロセス300を示す目的は、ユーザノードB(図3に図示せず)への資金移動トランザクションがユーザノードA302によって実行されると仮定し、トランザクションが検証のためにブロックチェーンノード304へユーザノードA302によって提出される。ユーザノードA302およびユーザノードBの各々は、パブリックアカウントとプライベートアカウントを有し得る。パブリックアカウントの残高はブロックチェーンネットワーク内のすべてのノードによって閲覧可能である。プライベートアカウントの残高は、秘密鍵を使用してアカウント所有者(ユーザ)によってのみ閲覧可能である。本開示の実施形態では、ユーザノードは、パブリックアカウントまたはプライベートアカウントを使用してパブリックにまたはプライベートにトランザクションを実行するかどうかを選択できる。
306において、ユーザノードA302は、トランザクション量tおよび乱数rに基づいてコミットメント値を生成できる。コミットメント値は、準同型コミットメントスキームによって生成され得る。例示的な準同型コミットメントスキームは、限定ではなく、ペダーセンコミットメント(PC)を含む。本開示の実施形態はPCを参照して本明細書にさらに詳細に説明されるが、本開示の実施形態は、任意の適切なコミットメントスキームを使用して実現され得ることが企図される。
PCを使用すると、例えば、コミットメント値は、PC(t)=rG+tHと表すことができる暗号テキストであり、ここで、GとHは楕円曲線のジェネレータであり、PC(t)は曲線点のスカラー乗算であり、tがコミットされる値である。PCコミットメントスキームは、準同型、すなわち、PC(t1)+PC(t2)=PC(t1+t2)である。暗号テキストPC(t)の保有者は、乱数rを使用することによってトランザクション量tを検証できる。308において、ユーザノードA302は、秘密鍵を使用して、コミットメント値PC(t)、トランザクション量t、および乱数rにデジタル署名する。310において、ユーザノードA302は、コミットメント値PC(t)、トランザクション量t、乱数r、およびデジタル署名をブロックチェーンノード304に提出する。
いくつかの実施形態では、トランザクション量tは、ユーザノードA302のプライベートアカウントから送信され得る。プライベートアカウントの場合、アカウントがトランザクション量tを移動するのに十分な残高を有するかどうかは、ブロックチェーンの他のノードによって直接検証できない。そのような場合、ユーザノードA302は、トランザクション量tがゼロ以上であり、かつユーザノードA302のプライベートアカウントの残高以下であることを示すために1つまたは複数の範囲証明を生成できる。
312において、ブロックチェーンノード304は、ユーザノードA302の公開鍵を使用して、コミットメント値PC(r,t)のデジタル署名、トランザクション量t、および乱数rを検証する。デジタル署名が正しい場合、例示的な検証プロセス300は314に進む。
314において、ブロックチェーンノード304は、コミットメント値PC(t)が正しいか、かつトランザクション量tが有効であるかどうかを検証する。PC(t)が正しいかどうかを検証するために、受信された乱数rおよびトランザクション量tを使用して、PC’(r,t)として示されるPCを生成できる。PC’(r,t)が受信したコミットメントPC(r,t)に等しい場合、そのコミットメントPC(r,t)はトランザクション量tの正しいコミットメントであることが検証される。いくつかの実施形態では、ブロックチェーンノード304は、1つまたは複数の範囲証明に基づいて、トランザクション量tが0以上であり、かつトランザクション量の移動元のユーザノードA302のアカウントのアカウント残高以下である場合、トランザクション量tが有効であることを検証できる。
316において、ブロックチェーンノード304は、ブロックチェーン上のユーザノードA302およびユーザノードBの残高を更新し、ブロックチェーンネットワーク内の残りのノードにブロックチェーンをブロードキャストする。パブリックアカウントトランザクションの場合、トランザクション量は、トランザクションタイプに基づいてパブリックアカウントの残高から直接差し引かれるか、またはパブリックアカウントの残高に加算され得る。プライベートアカウントトランザクションについては、トランザクション量tは、PC(t)としてPCを使用してコミットされるとともに、PC(s)としてPCを使用してコミットされるプライベートアカウント残高sから差し引かれるか、またはプライベートアカウント残高sに追加され得る。PCは準同型であるので、PC(s)±PC(t)=PC(s±t)である。パブリックアカウントおよびプライベートアカウントの残高の更新の詳細は、図4および図5を参照して本明細書にさらに詳細に説明される。
図4は、本開示の実施形態による、パブリックアカウントからプライベートアカウントへの例示的なトランザクション400を示すブロック図を示す。トランザクション例400に示されるように、トランザクションの前に、ユーザノードA402は、パブリックアカウント残高u、およびPCを使用してコミットされPC(v)として表されるプライベートアカウント残高vを有する。ユーザノードB406は、パブリックアカウント残高x、およびPCを使用してコミットされPC(y)として表されるプライベートアカウント残高yを有する。ユーザノードA402は、コミットメント値PC(t)のデジタル署名されたコピー、トランザクション量t、およびコミットメント値に対応する乱数aをブロックチェーンネットワーク408に送信することによって、ユーザノードAのパブリックアカウントからユーザノードB406のプライベートアカウントへのトランザクションを提出できる。トランザクション量tのコミットメント値PC(t)が、図3の例示的なプロセス300などの検証プロセスを使用して検証された後、ユーザノードA402とユーザノードB406のアカウントが更新され得る。トランザクションがブロックチェーンネットワーク408によって検証された後、トランザクション量tがユーザノードA402のパブリックアカウントから差し引かれ、ユーザノードB406のプライベートアカウントに追加される。トランザクションの後、ユーザノードA400は、パブリックアカウント残高u-t、およびプライベートアカウント残高PC(v)を有する。ユーザノードB406は、パブリックアカウント残高xとプライベートアカウント残高PC(y+t)を有する。
図5は、本開示の実施形態による、プライベートアカウントからパブリックアカウントへの例示的なトランザクション500を示すブロック図を示す。例示的なトランザクション500に示されるように、トランザクションの前に、ユーザノードA502は、パブリックアカウント残高uと、PCを使用してコミットされ、PC(v)として表されるプライベートアカウント残高vとを有する。ユーザノードB506は、パブリックアカウント残高xと、PCを使用してコミットされ、PC(y)として表されるプライベートアカウント残高yとを有する。ユーザノードA502は、コミットメント値PC(t)のデジタル署名されたコピー、トランザクション量t、コミットメント値に対応する乱数a、および1つまたは複数の範囲証明を送信することによって、ユーザノードA502のプライベートアカウントからユーザノードB506のパブリックアカウントへのトランザクションを提出できる。1つまたは複数の範囲証明は、ブロックチェーンネットワーク508に対して0≦t≦vであることを証明するために使用され得る。トランザクション量tのコミットメント値PC(t)が、図3の例示的なプロセス300のような検証プロセスを使用して検証された後、ユーザノードA502およびユーザノードB506のアカウントが更新され得る。トランザクションがブロックチェーンネットワーク508によって検証された後、トランザクション量tがユーザノードAのプライベートアカウントから差し引かれ、ユーザノードBのパブリックアカウント506に追加される。トランザクション後、ユーザノードA502は、パブリックアカウント残高uおよびプライベートアカウント残高PC(v-t)を有する。ユーザノードB504は、パブリックアカウント残高x+tおよびプライベートアカウント残高PC(y)を有する。
図6は、本開示の実施形態にしたがって実行され得る例示的な方法600を示す。提示を明快にするために、以降の説明は、本明細書の他の図面の文脈において例示的な方法600を概略的に説明する。しかしながら、例示的な方法600が、必要に応じて、例えば、任意のシステム、環境、ソフトウェア、およびハードウェア、あるいは任意のシステム、環境、ソフトウェア、およびハードウェアの組み合わせによって実行され得ることが理解されるであろう。いくつかの実施形態では、例示的な方法600の様々なステップは、並列に、組み合わせて、ループして、あるいは任意の順序で実行され得る。
602において、ブロックチェーンネットワークのコンセンサスノードは、トランザクションデータおよびトランザクションデータのデジタル署名を受信する。いくつかの実施形態では、トランザクションデータは、コミットメント値、乱数、および第1のユーザノードのパブリックアカウントまたはプライベートアカウントのうちの1つから第2のユーザノードのパブリックアカウントまたはプライベートアカウントのうちの1つに移動されるべきトランザクション量を含む。デジタル署名は、第1のユーザノードの秘密鍵を使用して、トランザクションデータにデジタル署名することによって生成される。コミットメント値は、コミットメントスキームを使用して乱数とトランザクション量に基づいて生成される。いくつかの実施形態では、コミットメントスキームは準同型である。いくつかの実施形態では、トランザクション量は、第1のユーザノードに関連付けられたパブリックアカウントから第2のユーザノードに関連付けられたプライベートアカウントへのものである。いくつかの実施形態では、トランザクション量は、第1のユーザノードに関連付けられたプライベートアカウントから第2のユーザノードのパブリックアカウントへのものである。このような場合、コンセンサスノードは、トランザクション量が第1のユーザノードのプライベートアカウントの残高以下であることを証明するための範囲証明を第1のユーザノードから受信することもできる。
604において、コンセンサスノードは、第1のユーザノードの公開鍵を使用してトランザクションデータのデジタル署名を検証する。
606において、コンセンサスノードは、コミットメント値が乱数およびコミットメントスキームに基づいて正しい場合、トランザクション量が有効であると決定する。コンセンサスノードはまた、トランザクション量がトランザクション量の移動前の第1のユーザノードのパブリックアカウントまたはプライベートアカウントのうちの一方の残高以下であると決定する。いくつかの実施形態では、トランザクション量は、第1のユーザノードのプライベートアカウントから第2のユーザノードのパブリックアカウントへのものである。そのような場合、残高移動が有効であると決定することは、範囲証明に基づいて、トランザクション量が第1のユーザノードに関連付けられたプライベートアカウントの残高以下であるかどうかを判定することも含む。
いくつかの実施形態では、例示的な方法600はまた、第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)を含む。通信ネットワークは、インターネット、別の通信ネットワーク、または通信ネットワークの組合せの、すべてもしくは一部分を含み得る。情報は、LTE(Long Term Evolution)、5G、IEEE 802、インターネットプロトコル(IP)、または他のプロトコルもしくはプロトコルの組合せを含む、様々なプロトコルおよび規格に従って通信ネットワーク上で送信され得る。通信ネットワークは、接続されたコンピューティングデバイス間で、音声データ、ビデオデータ、バイオメトリックデータ、または認証データ、または他の情報を送信することができる。
別個の実施形態として説明される特徴は、組合せで、単一の実施形態で実装され得るが、単一の実施形態として説明される特徴は、複数の実施形態で、別々に、または任意の適切な部分組合せで実装され得る。特定の順序で説明され特許請求される動作は、特定の順序が実行されなければならないこと、またはすべての図示される動作が実行されなければならないことを要求するものとして理解されるべきではない(いくつかの動作は任意選択であり得る)。適宜、マルチタスキングまたは並列処理(またはマルチタスキングと並列処理の組合せ)が実行され得る。
110 ネットワーク
208 トランザクション管理システム
210 DLSインターフェース
302 ユーザノードA
304 ユーザノードB

Claims (6)

  1. アカウントモデルに基づくブロックチェーントランザクションを検証するためのコンピュータ実装方法であって、
    トランザクションデータおよび前記トランザクションデータのデジタル署名を、ブロックチェーンネットワークのコンセンサスノードによって受信するステップであって、前記トランザクションデータは、暗号化されたトランザクション量、乱数、および第1のユーザノードのパブリックアカウントから第2のユーザノードのプライベートアカウントに、または前記第1のユーザノードのプライベートアカウントから前記第2のユーザノードのパブリックアカウントに、移動されるべき暗号化されていないトランザクション量を含み、各パブリックアカウントは残高を含み、各プライベートアカウントは暗号化された残高を含み、前記デジタル署名は、前記第1のユーザノードの秘密鍵を使用して前記トランザクションデータをデジタル署名することによって生成され、前記暗号化されたトランザクション量は、コミットメントスキームを使用して前記乱数および前記暗号化されていないトランザクション量に基づいて生成される、ステップと、
    前記第1のユーザノードの公開鍵を使用して前記トランザクションデータの前記デジタル署名を検証するステップと、
    前記コミットメントスキームを使用して前記乱数および前記暗号化されていないトランザクション量に基づいて第2の暗号化されたトランザクション量を生成するステップと、
    前記第2の暗号化されたトランザクション量が前記受信された暗号化されたトランザクション量に等しいと決定するステップと、
    前記トランザクションが前記第1のユーザノードの前記パブリックアカウントから前記第2のユーザノードの前記プライベートアカウントへのものであるとき、前記暗号化されていないトランザクション量が移動前の前記第1のユーザノードの前記パブリックアカウントの残高以下であること、あるいは、前記トランザクションが前記第1のユーザノードの前記プライベートアカウントから前記第2のユーザノードの前記パブリックアカウントへのものであるとき、前記暗号化されていないトランザクション量が移動前の前記第1のユーザノードの前記プライベートアカウントの暗号化された残高の暗号化されていない値以下であることを決定するステップと、
    前記トランザクションが前記第1のユーザノードの前記パブリックアカウントから前記第2のユーザノードの前記プライベートアカウントへのものであるとき、前記第1のユーザノードの前記パブリックアカウントの前記残高から前記暗号化されていないトランザクション量を差し引いて、前記受信した暗号化されたトランザクション量を前記第2のユーザノードの前記プライベートアカウントの暗号化された残高に追加する、あるいは、前記トランザクションが前記第1のユーザノードの前記プライベートアカウントから前記第2のユーザノードの前記パブリックアカウントへのものであるとき、前記第1のユーザノードの前記プライベートアカウントの暗号化された残高から前記受信した暗号化されたトランザクション量を差し引いて、前記暗号化されていないトランザクション量を前記第2のユーザノードの前記パブリックアカウントの残高に追加するステップと
    を含み、
    前記第1のユーザノードが、前記第1のユーザノードの前記パブリックアカウントおよび前記第1のユーザノードの前記プライベートアカウントの両方を有し、
    前記第1のユーザノードに関連付けられるユーザが、前記第1のユーザノードの前記パブリックアカウントまたは前記第1のユーザノードの前記プライベートアカウントを使用して前記トランザクションを実行するかどうかを選択する、コンピュータ実装方法。
  2. 前記第1のユーザノードまたは前記第2のユーザノードの前記パブリックアカウントの前記残高が、前記コンセンサスノードによって閲覧可能であり、前記第1のユーザノードまたは前記第2のユーザノードの前記プライベートアカウントの前記暗号化された残高の前記暗号化されていない値が、それぞれのユーザノードの秘密鍵を使用して閲覧可能である、請求項1に記載のコンピュータ実装方法。
  3. 前記トランザクションが前記第1のユーザノードの前記プライベートアカウントから前記第2のユーザノードの前記パブリックアカウントへのものであり、前記方法が、
    前記暗号化されていないトランザクション量が前記第1のユーザノードの前記プライベートアカウントの前記暗号化された残高の前記暗号化されていない値以下であることを証明する範囲証明を、前記第1のユーザノードから受信するステップをさらに含み、
    前記暗号化されていないトランザクション量が前記範囲証明に基づいて前記第1のユーザノードの前記プライベートアカウントの前記暗号化された残高の前記暗号化されていない値以下である場合、前記移動が有効であると決定される、請求項1または2に記載のコンピュータ実装方法。
  4. 前記コミットメントスキームが準同型である、請求項1〜3のいずれか一項に記載のコンピュータ実装方法。
  5. 1つまたは複数のプロセッサに結合されるとともに命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記命令は、前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに請求項1から4の1つまたは複数の方法に記載の動作を実行させる、非一時的コンピュータ可読記憶媒体。
  6. コンピューティングデバイスと、
    前記コンピューティングデバイスに結合されるとともに命令を記憶したコンピュータ可読記憶媒体とを備えるシステムであって、前記命令は、前記コンピューティングデバイスによって実行されると、前記コンピューティングデバイスに請求項1から4の1つまたは複数の方法に記載の動作を実行させる、システム。
JP2019521710A 2018-11-07 2018-11-07 アカウントモデルの下でパブリックおよびプライベートトランザクションをサポートするブロックチェーンシステム Active JP6830530B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/114401 WO2019072265A2 (en) 2018-11-07 2018-11-07 BLOCK CHAIN SYSTEM SUPPORTING PUBLIC AND PRIVATE TRANSACTIONS WITH ACCOUNT MODELS

Publications (3)

Publication Number Publication Date
JP2020501406A JP2020501406A (ja) 2020-01-16
JP2020501406A5 JP2020501406A5 (ja) 2020-07-02
JP6830530B2 true JP6830530B2 (ja) 2021-02-17

Family

ID=66100009

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019521710A Active JP6830530B2 (ja) 2018-11-07 2018-11-07 アカウントモデルの下でパブリックおよびプライベートトランザクションをサポートするブロックチェーンシステム

Country Status (14)

Country Link
US (1) US20190244195A1 (ja)
EP (1) EP3542332A4 (ja)
JP (1) JP6830530B2 (ja)
KR (1) KR102151894B1 (ja)
CN (1) CN110326013A (ja)
AU (1) AU2018348318B2 (ja)
BR (1) BR112019008171A2 (ja)
CA (1) CA3041157C (ja)
MX (1) MX2019004672A (ja)
PH (1) PH12019500893A1 (ja)
RU (1) RU2727552C1 (ja)
SG (1) SG11201903563WA (ja)
WO (1) WO2019072265A2 (ja)
ZA (1) ZA201902552B (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019216949A1 (en) * 2018-05-08 2019-11-14 Visa International Service Association Sybil-resistant identity generation
CN109377215B (zh) 2018-08-06 2020-04-21 阿里巴巴集团控股有限公司 区块链交易方法及装置、电子设备
SG11201903552PA (en) * 2018-11-07 2019-05-30 Alibaba Group Holding Ltd Blockchain data protection using homomorphic encryption
ES2833552T3 (es) 2018-11-27 2021-06-15 Advanced New Technologies Co Ltd Sistema y método para la protección de información
EP3549303B1 (en) 2018-11-27 2021-05-26 Advanced New Technologies Co., Ltd. System and method for information protection
KR102150814B1 (ko) * 2018-11-27 2020-09-02 알리바바 그룹 홀딩 리미티드 정보 보호를 위한 시스템 및 방법
US10700850B2 (en) 2018-11-27 2020-06-30 Alibaba Group Holding Limited System and method for information protection
US11127002B2 (en) 2018-11-27 2021-09-21 Advanced New Technologies Co., Ltd. System and method for information protection
SG11201902773VA (en) 2018-11-27 2019-05-30 Alibaba Group Holding Ltd System and method for information protection
CN110084600B (zh) * 2019-04-29 2021-08-27 百度在线网络技术(北京)有限公司 决议事务请求的处理、验证方法、装置、设备及介质
US10536537B1 (en) * 2019-06-13 2020-01-14 Accenture Global Solutions Limited Multi-source deterministic oracle management
US10790990B2 (en) 2019-06-26 2020-09-29 Alibaba Group Holding Limited Ring signature-based anonymous transaction
CN110533402B (zh) * 2019-08-22 2023-01-03 珠海得分金融科技有限公司 一种异构系统的记账共识方法及系统
CN110766400B (zh) * 2019-10-22 2023-01-13 全链通有限公司 基于区块链的交易记录处理方法、记账节点及介质
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities
CN111538757B (zh) * 2020-04-13 2022-02-11 支付宝(杭州)信息技术有限公司 数据存储方法、查询方法、装置、服务器及介质
US11853291B2 (en) * 2020-07-06 2023-12-26 International Business Machines Corporation Privacy preserving architecture for permissioned blockchains
CN114511317A (zh) * 2020-10-23 2022-05-17 陈兆伸 会计记录的区块链公共账本化处理系统与方法
CN113222758A (zh) * 2021-05-08 2021-08-06 华中科技大学 以隐私为前提的联盟链交易信息监管方法、系统、终端
CN113505138B (zh) * 2021-09-06 2021-12-21 支付宝(杭州)信息技术有限公司 区块链系统中状态证明及执行区块的方法及装置
CN113570373B (zh) * 2021-09-23 2022-02-11 北京理工大学 一种基于区块链的可追责交易方法及系统

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7434726B2 (en) * 2006-05-15 2008-10-14 Pitney Bowes Inc. Method and system for postdating of financial transactions
US8296568B2 (en) * 2009-10-27 2012-10-23 Google Inc. Systems and methods for authenticating an electronic transaction
CA2792555C (en) * 2010-04-09 2019-06-18 Visa International Service Association System and method for securely validating transactions
WO2012067214A1 (ja) * 2010-11-15 2012-05-24 日本電気株式会社 情報処理装置、情報処理方法、及び、プログラム
US11080701B2 (en) * 2015-07-02 2021-08-03 Royal Bank Of Canada Secure processing of electronic payments
US11394773B2 (en) * 2014-06-19 2022-07-19 Jim Austin Joseph Cryptographic currency block chain based voting system
EP3767878A1 (en) * 2015-03-27 2021-01-20 Black Gold Coin, Inc. A system and a method for personal identification and verification
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
US11562353B2 (en) * 2015-11-24 2023-01-24 Mastercard International Incorporated Method and system for gross settlement by use of an opaque blockchain
WO2017207717A1 (en) * 2016-06-01 2017-12-07 Brand New Ideas B.V. Validating blockchain transactions regarding real money
CN106911470B (zh) * 2017-01-23 2020-07-07 北京航空航天大学 一种比特币交易隐私增强方法
CN106910072A (zh) * 2017-02-15 2017-06-30 捷德(中国)信息科技有限公司 数字货币管理方法和系统
KR102407187B1 (ko) * 2017-04-05 2022-06-10 삼성에스디에스 주식회사 블록체인 기반 전자 화폐 자동 충전 방법 및 그 시스템
US10102265B1 (en) * 2017-04-12 2018-10-16 Vijay K. Madisetti Method and system for tuning blockchain scalability for fast and low-cost payment and transaction processing
EP3718069B1 (en) * 2017-11-30 2024-04-17 Visa International Service Association Blockchain system for confidential and anonymous smart contracts
CN108335103B (zh) * 2017-12-28 2021-06-11 中国人民银行数字货币研究所 一种基于数字货币的扣款方法和系统
CN108389046B (zh) * 2018-02-07 2020-08-28 西安交通大学 一种电子商务中基于区块链技术的隐私保护交易方法
CN108764874B (zh) * 2018-05-17 2021-09-07 深圳前海微众银行股份有限公司 基于区块链的匿名转账方法、系统及存储介质

Also Published As

Publication number Publication date
CN110326013A (zh) 2019-10-11
SG11201903563WA (en) 2019-05-30
CA3041157C (en) 2020-09-08
EP3542332A2 (en) 2019-09-25
KR102151894B1 (ko) 2020-09-03
US20190244195A1 (en) 2019-08-08
AU2018348318B2 (en) 2020-05-21
JP2020501406A (ja) 2020-01-16
ZA201902552B (en) 2022-05-25
EP3542332A4 (en) 2020-01-22
CA3041157A1 (en) 2019-04-18
RU2727552C1 (ru) 2020-07-22
KR20200054124A (ko) 2020-05-19
PH12019500893A1 (en) 2019-11-25
BR112019008171A2 (pt) 2019-09-10
MX2019004672A (es) 2019-08-21
WO2019072265A3 (en) 2019-08-22
WO2019072265A2 (en) 2019-04-18

Similar Documents

Publication Publication Date Title
JP6830530B2 (ja) アカウントモデルの下でパブリックおよびプライベートトランザクションをサポートするブロックチェーンシステム
US10664835B2 (en) Blockchain data protection using homomorphic encryption
JP6767580B2 (ja) 準同型暗号を使用したブロックチェーンデータ保護
JP6817429B2 (ja) ゼロ知識証明を用いたアカウント注釈モデルに基づくブロックチェーンデータの保護
KR102213414B1 (ko) 일반 계정 모델 및 동형 암호화 기반의 블록 체인 데이터 보호
EP3560144B1 (en) Blockchain data protection based on generic account model and homomorphic encryption
JP6810259B2 (ja) ワークフローに基づくブロックチェーンネットワーク上での非公開のトランザクションの管理

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190613

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200522

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200522

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200729

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200828

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

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210126

R150 Certificate of patent or registration of utility model

Ref document number: 6830530

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250