[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2019537744A - 情報保護用のシステム及び方法 - Google Patents

情報保護用のシステム及び方法 Download PDF

Info

Publication number
JP2019537744A
JP2019537744A JP2019520982A JP2019520982A JP2019537744A JP 2019537744 A JP2019537744 A JP 2019537744A JP 2019520982 A JP2019520982 A JP 2019520982A JP 2019520982 A JP2019520982 A JP 2019520982A JP 2019537744 A JP2019537744 A JP 2019537744A
Authority
JP
Japan
Prior art keywords
transaction
recipient
key
commitment
blinding factor
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
JP2019520982A
Other languages
English (en)
Other versions
JP6724249B2 (ja
JP2019537744A5 (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 JP2019537744A publication Critical patent/JP2019537744A/ja
Publication of JP2019537744A5 publication Critical patent/JP2019537744A5/ja
Application granted granted Critical
Publication of JP6724249B2 publication Critical patent/JP6724249B2/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/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/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/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
    • H04L9/0841Key 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 involving Diffie-Hellman or related key agreement 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • 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/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/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)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • Business, Economics & Management (AREA)
  • Power Engineering (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

コンピュータ実装された方法は、トランザクションコミットメント値を取得するべく、トランザクションのトランザクション金額をコミットメント方式によってコミットするステップであって、コミットメント方式は、少なくともトランザクションブラインディングファクタを有する、ステップと、対称キーペアの第1キーを生成するステップと、トランザクションブラインディングファクタ及びトランザクション金額tの組合せを第1キーによって暗号化するステップと、トランザクションの受領者と関連する受領者ノードがトランザクションを検証するべく、トランザクションコミットメント値T及び暗号化済みの組合せを受領者ノードに送信するステップと、を有する。
【選択図】図3A

Description

本開示は、一般に、情報保護用の方法及び装置に関する。
プライバシーは、様々なユーザーの間における通信及びデータ転送にとって重要である。保護を伴うことなしには、ユーザーは、アイデンティティの盗難、違法な転送、又はその他の潜在的な損失のリスクに晒されることになる。このリスクは、通信及び転送がオンラインで実装されている際には、オンライン情報のフリーアクセスに起因し、更に増大する。
本開示の様々な実施形態は、情報保護用のシステム、方法、及び一時的ではないコンピュータ可読媒体を含む。
一態様によれば、情報保護用のコンピュータ実装された方法は、トランザクションコミットメント値Tを取得するべく、トランザクションのトランザクション金額tをコミットメント方式によってコミットするステップであって、コミットメント方式は、少なくともトランザクションブラインディングファクタr_tを有する、ステップと、対称キーペアの第1キーを生成するステップと、トランザクションブラインディングファクタr_t及びトランザクション金額tの組合せを第1キーによって暗号化するステップと、トランザクションの受領者と関連する受領者ノードがトランザクションを検証するべく、トランザクションコミットメント値T及び暗号化済みの組合せを受領者ノードに送信するステップと、を有する。
いくつかの実施形態においては、第1キーを生成するステップは、Diffie−Hellman(DH)キー交換プロトコルの下において、トランザクションの送信者のプライベートキーSK_A及び受領者のパブリックキーPK_Bに基づいて、第1キーを生成するステップを有する。
いくつかの実施形態においては、コミットメント方式は、少なくともトランザクションブラインディングファクタr_tに基づいた、且つ、トランザクション金額tが、コミット済みの値である状態における、Pedersenコミットメントを有する。
いくつかの実施形態においては、トランザクションブラインディングファクタr_t及びトランザクション金額tの組合せは、トランザクションブラインディングファクタr_tとトランザクション金額tの連結を有する。
いくつかの実施形態においては、トランザクションの受領者と関連する受領者ノードがトランザクションを検証するべく、トランザクションコミットメント値T及び暗号化済みの組合せを受領者ノードに送信するステップは、トランザクションコミットメント値T及び暗号化済みの組合せをトランザクションの受領者と関連する受領者ノードに送信し、これにより、受領者ノードが、トランザクションの受領者のプライベートキーSK_B及び送信者のパブリックキーPK_Aに基づいて対称キーペアの第2キーを生成し、トランザクションブラインディングファクタr_t及びトランザクション金額tを取得するべく暗号化済みの組合せを受領者によって生成された第2キーによって暗号解読し、且つ、少なくともトランザクションコミットメント値T、トランザクションブラインディングファクタr_t、及びトランザクション金額tに基づいてトランザクションを検証する、ようにするステップを有する。
いくつかの実施形態においては、受領者ノードが、少なくともトランザクションコミットメント値T、トランザクションブラインディングファクタr_t、及びトランザクション金額tに基づいてトランザクションを検証するようにするステップは、受領者ノードが、トランザクションコミットメント値Tがトランザクション金額tのコミットメント方式にマッチングしていないとトランザクションブラインディングファクタr_tに基づいて判定することに応答して、トランザクションを拒絶し、且つ、トランザクションコミットメント値Tがトランザクション金額tのコミットメント方式にマッチングしているとトランザクションブラインディングファクタr_tに基づいて判定することに応答して、受領者署名SIGBを生成して送信者と関連する送信者に返すべくトランザクションに署名することにより、トランザクションを承認する、ようにするステップを有する。
いくつかの実施形態においては、暗号化済みの組合せを受領者と関連する受領者ノードに送信する前に、方法は、変化コミットメント値Yを取得するべくトランザクションの変化yをコミットメント方式によってコミットするステップであって、コミットメント方式は、少なくとも変化ブラインディングファクタr_yを有し、変化yは、トランザクションのために利用される送信者の1つ又は複数の資産(アセット)からトランザクション金額tを差し引いたものである、ステップと、送信者のプライベートキーSK_A及び送信者のパブリックキーPK_Aに基づいて別のキーを生成するステップと、変化ブラインディングファクタr_y及び変化yの別の組合せを別のキーによって暗号化するステップと、を更に有する。
いくつかの実施形態においては、方法は、受領者署名SIGBの受け取りに応答して、送信者署名SIGAを生成するべくトランザクションに署名することによってトランザクションを承認するステップと、ブロックチェーンネットワーク内の1つ又は複数のノードがトランザクションを検証するべく、暗号化済みの組合せ、暗号化済みの別の組合せ、トランザクションコミットメント値T、変化コミットメント値Y、送信者署名SIGA、及び受領者署名SIGBを有するトランザクションを1つ又は複数のノードにサブミットするステップと、を更に有する。
いくつかの実施形態においては、ブロックチェーンネットワーク内の1つ又は複数のノードがトランザクションを検証するべく、暗号化済みの組合せ、暗号化済みの別の組合せ、トランザクションコミットメント値T、変化コミットメント値Y、送信者署名SIGA、及び受領者署名SIGBを有するトランザクションを1つ又は複数のノードにサブミットするステップは、暗号化済みの組合せ、暗号化済みの別の組合せ、トランザクションコミットメント値T、変化コミットメント値Y、送信者署名SIGA、及び受領者署名SIGBを有するトランザクションをブロックチェーンネットワーク内の1つ又は複数のノードにサブミットし、これにより、1つ又は複数のノードが、トランザクションの検証の成功に応答して、トランザクション金額tを受領者に発行し、トランザクションのために利用される1つ又は複数の資産を除去し、且つ、変化yを送信者に発行するようにするステップを有する。
別の態様によれば、一時的ではないコンピュータ可読ストレージ媒体は、プロセッサが動作を実行するようにするべく、プロセッサによって実行される命令を保存しており、動作は、トランザクションコミットメント値Tを取得するべくトランザクションのトランザクション金額tをコミットメント方式によってコミットするステップであって、コミットメント方式は、少なくともトランザクションブラインディングファクタr_tを有する、ステップと、対称キーペアの第1キーを生成するステップと、トランザクションブラインディングファクタr_t及びトランザクション金額tの組合せを第1キーによって暗号化するステップと、トランザクションの受領者と関連する受領者ノードがトランザクションを検証するべく、トランザクションコミットメント値T及び暗号化済みの組合せを受領者ノードに送信するステップと、を有する。
別の態様によれば、情報保護用のシステムは、プロセッサと、プロセッサに結合された一時的ではないコンピュータ可読ストレージ媒体と、を有し、ストレージ媒体は、システムが動作を実行するようにするべく、プロセッサによって実行される命令を保存しており、動作は、トランザクションコミットメント値Tを取得するべくトランザクションのトランザクション金額tをコミットメント方式によってコミットするステップであって、コミットメント方式は、少なくともトランザクションブラインディングファクタr_tを有する、ステップと、対称キーペアの第1キーを生成するステップと、トランザクションブラインディングファクタr_t及びトランザクション金額tの組合せを第1キーによって暗号化するステップと、トランザクションの受領者と関連する受領者ノードがトランザクションを検証するべく、トランザクションコミットメント値T及び暗号化済みの組合せを受領者ノードに送信するステップと、を有する。
別の態様によれば、情報保護用のコンピュータ実装された方法は、トランザクションコミットメント値Tを取得するべくトランザクションのトランザクション金額tをコミットメント方式によってコミットするステップであって、コミットメント方式は、少なくともトランザクションブラインディングファクタr_tを有する、ステップと、対称キーペアの第1キーを生成するステップと、トランザクションブラインディングファクタr_t及びトランザクション金額tの組合せを第1キーによって暗号化するステップと、トランザクションの受領者と関連する受領者ノードが、受領者のプライベートキーSK_B及び送信者のパブリックキーPK_Aに基づいて対称キーペアの第2キーを生成し、トランザクションブラインディングファクタr_t及びトランザクション金額tを取得するべく暗号化済みの組合せを受領者ノードによって生成された第2暗号化キーによって暗号解読し、且つ、少なくともトランザクションコミットメント値T、トランザクションブラインディングファクタr_t、及びトランザクション金額tに基づいてトランザクションを検証するべく、トランザクションコミットメント値T及び暗号化済みの組合せを受領者ノードに送信するステップと、を有する。
別の態様によれば、一時的ではないコンピュータ可読ストレージ媒体は、プロセッサが動作を実行するようにするべく、プロセッサによって実行される命令を保存しており、動作は、トランザクションコミットメント値Tを取得するべくトランザクションのトランザクション金額tをコミットメント方式によってコミットするステップであって、コミットメント方式は、少なくともトランザクションブラインディングファクタr_tを有する、ステップと、対称キーペアの第1キーを生成するステップと、トランザクションブラインディングファクタr_t及びトランザクション金額tを第1キーによって暗号化するステップと、トランザクションの受領者と関連する受領者ノードが、受領者のプライベートキーSK_B及び送信者のパブリックキーPK_Aに基づいて対称キーペアの第2キーを生成し、トランザクションブラインディングファクタr_t及びトランザクション金額tを取得するべく暗号化済みの組合せを受領者ノードによって生成された第2キーによって暗号解読し、且つ、少なくともトランザクションコミットメント値T、トランザクションブラインディングファクタr_t、及びトランザクション金額tに基づいてトランザクションを検証するべく、トランザクションコミットメント値T及び暗号化済みの組合せを受領者ノードに送信するステップと、を有する。
別の態様によれば、情報保護用のシステムは、プロセッサと、プロセッサに結合された一時的ではないコンピュータ可読ストレージ媒体と、を有し、ストレージ媒体は、システムが動作を実行するようにするべく、プロセッサによって実行される命令を保存しており、動作は、トランザクションコミットメント値Tを取得するべくトランザクションのトランザクション金額tをコミットメント方式によってコミットするステップであって、コミットメント方式は、少なくともトランザクションブラインディングファクタr_tを有する、ステップと、対称キーペアの第1キーを生成するステップと、トランザクションブラインディングファクタr_t及びトランザクション金額tの組合せを第1キーによって暗号化するステップと、トランザクションの受領者と関連する受領者ノードが、受領者のプライベートキーSK_B及び送信者のパブリックキーPK_Aに基づいて対称キーペアの第2キーを生成し、トランザクションブラインディングファクタr_t及びトランザクション金額tを取得するべく暗号化済みの組合せを受領者ノードによって生成された第2キーによって暗号解読し、且つ、少なくともトランザクションコミットメント値T、トランザクションブラインディングファクタr_t、及びトランザクション金額tに基づいてトランザクションを検証するべく、トランザクションコミットメント値T及び暗号化済みの組合せを受領者ノードに送信するステップと、を有する。
別の態様によれば、情報保護用のコンピュータ実装された方法は、トランザクションコミットメント値Tを取得するべくトランザクションのトランザクション金額tをコミットメント方式によってコミットするステップであって、コミットメント方式は、少なくともトランザクションブラインディングファクタr_tを有する、ステップと、対称キーペアの第1キーを生成するステップと、トランザクションブラインディングファクタr_t及びトランザクション金額tの組合せを第1キーによって暗号化するステップと、トランザクションの受領者と関連する受領者ノードが、受領者のプライベートキーSK_B及び送信者のパブリックキーPK_Aに基づいて対称キーペアの第2キーを生成し、トランザクションブラインディングファクタr_t及びトランザクション金額tを取得するべく暗号化済みの組合せを受領者ノードによって生成された第2キーによって暗号解読し、且つ、少なくともトランザクションコミットメント値T、トランザクションブラインディングファクタr_t、及びトランザクション金額tに基づいてトランザクションを検証するべく、トランザクションコミットメント値T及び暗号化済みの組合せを受領者ノードに送信するステップと、を有する。
別の態様によれば、一時的ではないコンピュータ可読ストレージ媒体は、プロセッサが動作を実行するようにするべく、プロセッサによって実行される命令を保存しており、動作は、トランザクションコミットメント値Tを取得するべくトランザクションのトランザクション金額tをコミットメント方式によってコミットするステップであって、コミットメント方式は、少なくともトランザクションブラインディングファクタr_tを有する、ステップと、対称キーペアの第1キーを生成するステップと、トランザクションブラインディングファクタr_t及びトランザクション金額tの組合せを第1キーによって暗号化するステップと、トランザクションの受領者と関連する受領者ノードが、受領者のプライベートキーSK_B及び送信者のパブリックキーPK_Aに基づいて対称キーの第2キーを生成し、トランザクションブラインディングファクタr_t及びトランザクション金額tを取得するべく暗号化済みの組合せを受領者ノードによって生成された第2キーによって暗号解読し、且つ、少なくともトランザクションコミットメント値T、トランザクションブラインディングファクタr_t、及びトランザクション金額tに基づいてトランザクションを検証するべく、トランザクションコミットメント値T及び暗号化済みの組合せを受領者ノードに送信するステップと、を有する。
別の態様によれば、情報保護用のシステムは、プロセッサと、プロセッサに結合された一時的ではないコンピュータ可読ストレージ媒体と、を有し、ストレージ媒体は、システムが動作を実行するようにするべく、プロセッサによって実行される命令を保存しており、動作は、トランザクションコミットメント値Tを取得するべくトランザクションのトランザクション金額tをコミットメント方式によってコミットするステップであって、コミットメント方式は、少なくともトランザクションブラインディングファクタr_tを有する、ステップと、対称キーペアの第1キーを生成するステップと、トランザクションブラインディングファクタr_t及びトランザクション金額tの組合せを第1キーによって暗号化するステップと、トランザクションの受領者と関連する受領者ノードが、受領者のプライベートキーSK_B及び送信者のパブリックキーPK_Aに基づいて対称キーペアの第2キーを生成し、トランザクションブラインディングファクタr_t及びトランザクション金額tを取得するべく暗号化済みの組合せを受領者ノードによって生成された第2キーによって暗号解読し、且つ、少なくともトランザクションコミットメント値T、トランザクションブラインディングファクタr_t、及びトランザクション金額tに基づいてトランザクションを検証するべく、トランザクションコミットメント値T及び暗号化済みの組合せを受領者ノードに送信するステップと、を有する。
別の態様によれば、情報保護用のコンピュータ実装された方法は、対称キーペアの第1キーによって暗号化されたトランザクションブラインディングファクタr_t及びトランザクション金額tの組合せを取得し、且つ、トランザクションコミットメント値Tを取得するステップであって、トランザクション金額tは、トランザクションコミットメント値Tを取得するべく、トランザクションの送信者と関連する送信者ノードにより、コミットメント方式によってコミットされ、コミットメント方式は、少なくともトランザクションブラインディングファクタr_tを有する、ステップと、対称キーペアの第2キーを生成するステップと、トランザクションブラインディングファクタr_t及びトランザクション金額tを取得するべく取得済みの組合せをトランザクションの受領者と関連する受領者ノードによって生成された第2キーによって暗号解読するステップと、少なくともトランザクションコミットメント値T、トランザクションブラインディングファクタr_t、及びトランザクション金額tに基づいてトランザクションを検証するステップと、を有する。
別の態様によれば、一時的ではないコンピュータ可読ストレージ媒体は、プロセッサが動作を実行するようにするべく、プロセッサによって実行される命令を保存しており、動作は、対称キーペアの第1キーによって暗号化されたトランザクションブラインディングファクタr_t及びトランザクション金額tの組合せを取得し、且つ、トランザクションコミットメント値Tを取得するステップであって、トランザクション金額tは、トランザクションコミットメント値Tを取得するべく、トランザクションの送信者と関連する送信者ノードにより、コミットメント方式によってコミットされ、コミットメント方式は、少なくともトランザクションブラインディングファクタr_tを有する、ステップと、対称キーペアの第2キーを生成するステップと、トランザクションブラインディングファクタr_t及びトランザクション金額tを取得するべく取得済みの組合せをトランザクションの受領者と関連する受領者ノードによって生成された第2キーによって暗号解読するステップと、少なくともトランザクションコミットメント値T、トランザクションブラインディングファクタr_t、及びトランザクション金額tに基づいてトランザクションを検証するステップと、を有する。
別の態様によれば、情報保護用のシステムは、プロセッサと、プロセッサに結合された一時的ではないコンピュータ可読ストレージ媒体と、を有し、ストレージ媒体は、システムが動作を実行するようにするべく、プロセッサによって実行される命令を保存しており、動作は、対称キーペアの第1キーによって暗号化されたトランザクションブラインディングファクタr_t及びトランザクション金額tの組合せを取得し、且つ、トランザクションコミットメント値Tを取得するステップであって、トランザクション金額tは、トランザクションコミットメント値Tを取得するべく、トランザクションの送信者と関連する送信者ノードにより、コミットメント方式によってコミットされ、コミットメント方式は、少なくともトランザクションブラインディングファクタr_tを有する、ステップと、対称キーペアの第2キーを生成するステップと、トランザクションブラインディングファクタr_t及びトランザクション金額tを取得するべく取得済みの組合せをトランザクションの受領者と関連する受領者ノードによって生成された第2キーによって暗号解読するステップと、少なくともトランザクションコミットメント値T、トランザクションブラインディングファクタr_t、及びトランザクション金額tに基づいてトランザクションを検証するステップと、を有する。
本明細書において開示されているシステム、方法、及び一時的ではないコンピュータ可読媒体のこれらの及びその他の特徴のみならず、動作の方法及び構造の関係する要素の機能及び部品の組合せ及び製造の経済については、同一の参照符号が様々な図において対応する部分を表記している、そのすべてが本明細書の一部分を形成する、添付図面を参照した以下の説明及び添付の請求項を検討することにより、更に明らかとなろう。但し、図面は、例示及び説明を目的としたものに過ぎず、且つ、本発明の限定の定義となることを意図したものではないことを明白に理解されたい。
本技術の様々な実施形態の特定の特徴については、添付の請求項において具体的に記述されている。技術の特徴及び利点については、本発明の原理が利用されている例示用の実施形態について記述する以下の詳細な説明を参照することにより、更に十分に理解することが可能であり、且つ、添付図面は、以下のとおりである。
様々な実施形態による、情報保護用の例示用のシステムを示す。 様々な実施形態による、トランザクションの開始及び検証用の例示用のステップを示す。 様々な実施形態による、情報保護用の例示用の方法のフローチャートを示す。 様々な実施形態による、情報保護用の例示用の方法のフローチャートを示す。 様々な実施形態による、情報保護用の例示用の方法のフローチャートを示す。 様々な実施形態による、情報保護用の例示用の方法のフローチャートを示す。 本明細書において記述されている実施形態のいずれかが実装されうる例示用のコンピュータシステムのブロック図を示す。
ブロックチェーンは、一般に分散型の台帳と呼称される、分散型のデータベースとして見なされてもよく、その理由は、動作が、ネットワーク内の様々なノード(例えば、演算装置)によって実行されているからである。任意の情報が、ブロックチェーン内に書き込まれてもよく、保存されてもよく、且つ、これから読み取られてもよい。だれもが、ノードとなるように、サーバーをセットアップすることができると共に、ブロックチェーンネットワークに加入することできる。任意のノードが、ブロックを現時点のブロックチェーンに追加するためのハッシュ計算などの、複雑な演算を実行することにより、ブロックチェーンを維持するための演算パワーを提供できると共に、追加されたブロックは、様々なタイプのデータ又は情報を収容することができる。追加されたブロック用の演算パワーを提供したノードには、トークン(例えば、デジタル通貨単位)によって報いることができる。ブロックチェーンは、中央ノードを有していないことから、それぞれのノードは、等しく、且つ、ブロックチェーンデータベース全体を保持している。
ノードは、例えば、ブロックチェーンネットワークをサポートすると共にその円滑な稼働を維持する演算装置又は大規模なコンピュータシステムである。フルノード及び軽量ノードという、2つのタイプのノードが存在している。フルノードは、ブロックチェーンの完全な複写を維持している。ブロックチェーンネットワーク上のフルノードは、自身が受け取るトランザクション及びブロックを検証し、且つ、トランザクションのコンセンサス検証を提供するべく、それらを接続されているピアに中継している。その一方で、軽量ノードは、ブロックチェーンの一部分をダウンロードするのみである。例えば、軽量ノードは、デジタル通貨トランザクションのために使用されている。軽量ノードは、取引の実行を所望する際には、フルノードに対して通信することになる。
この分散化プロパティは、制御された位置における管理センタの出現の防止を支援することができる。例えば、ビットコインブロックチェーンの維持は、稼働エリア内のビットコインソフトウェアの通信ノードのネットワークによって実行されている。本開示においては、例として、ビットコイン及びイーサリアムなどの、1つ又は複数のブロックチェーン又はデジタル通貨を使用することとする。当業者は、本開示において開示されている技術的解決策は、その他のタイプのブロックチェーン及びデジタル通貨を使用することが可能であり、或いは、これらに適用されうることを理解するであろう。即ち、従来の意味おける銀行、機関、又は管理者の代わりに、ビットコインソフトウェアを実行するコンピュータサーバーの形態において、複数の仲介者が存在している。これらのコンピュータサーバーは、インターネットを介して接続されたネットワークを形成しており、この場合には、だれもが、ネットワークに潜在的に加入することができる。ネットワークによって受け入れられるトランザクションは、「ユーザーAがZビットコインをユーザーBに送信することを所望している」という形態を有していてもよく、この場合に、トランザクションは、容易に入手可能なソフトウェアアプリケーションを使用することにより、ネットワークにブロードキャストされる。コンピュータサーバーは、これらの経済的なトランザクションを検証し、そのレコードを台帳の自身の複写に追加し、且つ、次いで、これらの台帳への追加をネットワークのその他のサーバーにブロードキャストするように動作可能であるビットコインサーバーとして機能する。
ブロックチェーンの維持は、「マイニング(mining)」と呼称され、且つ、このような維持を実行した者は、上述のように、新しく生成されたビットコイン及びトランザクション料金によって報われる。例えば、ノードは、ブロックチェーンネットワークが合意した規則の組に基づいて、トランザクションが有効であるかどうかを判定することができる。マイナー(miner)は、任意の大陸に位置していてもよく、且つ、それぞれのトランザクションの有効性を検証すると共にそのトランザクションをブロックチェーンに追加することにより、支払を処理することができる。このような検証は、複数のマイナーによって提供されるコンセンサスを介して実現されており、且つ、システマチックな共謀が存在していないことを仮定している。この結果、すべてのデータが一貫性を有することになり、その理由は、演算が有効となるには、特定の要件を充足しなければならず、且つ、ブロックチェーンが一貫性を有することを保証するために、すべてのノードが同期化されることになるからである。従って、データをブロックチェーンノードの分散型システム内において一貫性を有する方式によって保存することができる。
マイニングプロセスを通じて、資産移転などのトランザクションが、ネットワークノードにより、検証され、且つ、ブロックチェーンのブロックの成長するチェーンに追加される。ブロックチェーン全体を調査することにより、検証は、例えば、支払パーティが移転資産に対するアクセスを有しているかどうか、資産が以前に使用されているかどうか、移転金額が正しいかどうかなどを含むことができる。例えば、送信者によってサインオフされた仮想的なトランザクション(例えば、UTXO(Unspent Transaction Output)モデルの下のビットコインのトランザクション、アカウント/残高モデルの下のイーサリアムコインのトランザクション)においては、提案されたトランザクションをマイニングのためにブロックチェーンネットワークにブロードキャストすることができる。マイナーは、トランザクションが、ブロックチェーン履歴に従って実行される適格性を有しているかどうかをチェックする必要がある。送信者のワレット残高が、既存のブロックチェーン履歴に従って、十分な資金を有している場合には、トランザクションは、有効であると見なされ、且つ、ブロックに追加することができる。検証されたら、これらの資産移転は、ブロックチェーンに追加される次のブロック内に包含することができる。
ブロックは、データベースレコードによく似ている。データを書き込むたびに、ブロックが生成される。これらのブロックは、相互接続されたネットワークとなるように、暗号法を使用することにより、リンク及び保護されている。それぞれのブロックは、以前のブロックに接続されており、この点も、「ブロックチェーン」の由来である。それぞれのブロックは、通常、以前のブロックの暗号学的ハッシュ、生成時刻、及び実際のデータを含んでいる。例えば、それぞれのブロックは、現時点のブロックの特徴値を記録するためのブロックヘッダと、実際のデータ(例えば、トランザクションデータ)を記録するためのボディと、という2つの部分を含む。ブロックのチェーンは、ブロックヘッダを介してリンクされている。それぞれのブロックヘッダは、バージョン、以前のブロックのハッシュ、マークルルート、タイムスタンプ、難易度ターゲット、及びノンスなどの、複数の特徴値を含むことができる。以前のブロックのハッシュは、以前のブロックのアドレスのみならず、以前のブロックの内部のデータのハッシュをも含んでおり、これにより、ブロックチェーンは、不変性を有している。ノンスとは、含まれている際に、規定された数のリーディングゼロビットを有するハッシュをもたらす数である。
マイニングのために、新しいブロックのコンテンツのハッシュがノードによって取得される。新しいストリングを取得するべく、ノンス(例えば、ランダムストリング)がハッシュに付加される。新しいストリングが再度ハッシュ化される。次いで、最終的なハッシュが難易度ターゲット(例えば、レベル)と比較され、且つ、最終的なハッシュが実際に難易度ターゲット未満であるかどうかが判定される。難易度ターゲット未満ではない場合には、ノンスが変更され、且つ、プロセスが再度繰り返される。難易度ターゲット未満である場合には、ブロックがチェーンに追加され、且つ、パブリック台帳が更新され、且つ、追加について警告される。成功的な追加の責任を担ったノードは、例えば、それ自体に対する報酬トランザクションを新しいブロック内に追加することにより、ビットコインによって報いられる(コインベース生成と呼称される)。
即ち、すべての出力「Y」について、大きな最小エントロピーを有する分布からkが選択された場合には、H(k|x)=Yとなるような、入力xを見出すことが可能であり、この場合に、Kは、ノンスであり、xは、ブロックのハッシュであり、Yは、難易度ターゲットであり、且つ、「|」は、連結を表記している。暗号学的ハッシュが基本的にランダムであることを理由として、その出力をその入力から予測しえないという意味において、例えば、1、次いで2、次いで3、以下同様、という、1つずつ整数を試みるという、ノンスを見出す1つの既知の方法しか存在しておらず、これは、ブルートフォースと呼称される場合がある。リーディングゼロの数が大きいほど、平均で、必須のノンスYを見出すのに所要する時間が長くなる。一例においては、ビットコインシステムは、ノンスを見出すための平均時間が約10分となるように、リーディングゼロの数を常に調節している。この結果、演算ハードウェアの処理能力が時間と共に増大するのに伴って、年々、ビットコインプロトコルは、マイニングが常に実装のために約10分の持続時間を所要するようにするべく、更に多くのリーディングゼロビットを単純に必要とすることになる。
上述のように、ハッシュ化は、ブロックチェーンのための重要な礎石である。ハッシュアルゴリズムは、任意の長さのメッセージを固定長のメッセージダイジェストに圧縮するための関数として理解することができる。より一般的に使用されているのは、MD5及びSHAである。いくつかの実施形態においては、ブロックチェーンのハッシュ長は、256ビットであり、これは、オリジナルのコンテンツとは無関係に、256ビットの2進数が最終的に算出されることを意味している。そして、オリジナルコンテンツが異なっている限り、対応するハッシュが一意であることを保証することができる。例えば、「123」というストリングのハッシュは、a8fdc205a9f19cc1c7507a60c4f01b13d11d7fd0(16進数)であり、これは、2進に変換された際に256ビットを有しており、且つ、このハッシュを有しているのは、「123」のみである。ブロックチェーン内のハッシュアルゴリズムは、不可逆的であり、即ち、順方向(「123」からa8fdc205a9f19cc1c7507a60c4f01b1c7507a60c4f01b13d11d7fd0へ)の計算は容易であるが、逆方向の計算は、すべての演算リソースが動員された場合にも、実行不能である。従って、ブロックチェーンのそれぞれのブロックのハッシュは、一意である。
更には、ブロックのコンテンツが変化した場合には、そのハッシュも変化することになる。ブロックとハッシュは、1対1の対応関係にあり、且つ、それぞれのブロックのハッシュは、具体的には、ブロックヘッダについて算出されている。即ち、長いストリングを形成するべく、ブロックヘッダの特徴値が接続され、且つ、このストリングについて、ハッシュが算出される。例えば、「Hash=SHA256(block header)」が、ブロックハッシュの計算式であり、SHA256は、ブロックヘッダに適用されるブロックチェーンハッシュアルゴリズムである。ハッシュは、ブロックボディではなく、ブロックヘッダによって一意に判定されている。上述のように、ブロックヘッダは、現時点のブロックのハッシュ及び以前のブロックのハッシュを含む、多数のコンテンツを収容している。これは、現時点のブロックのコンテンツが変化した場合に、或いは、以前のブロックのハッシュが変化した場合に、その結果、現時点のブロック内のハッシュの変化が生じることを意味している。ハッカーがブロックを変更した場合には、そのブロックのハッシュが変化する。この結果、後のブロックが変更済みのブロックに接続するためには、ハッカーは、すべての後続のブロックを変更しなければならず、その理由は、次のブロックが、以前のブロックのハッシュを含まなければならないからである。さもなければ、変更済みのブロックは、ブロックチェーンから切り離されることになる。設計上の理由から、ハッシュ計算には、時間を所要し、且つ、ハッカーがネットワーク全体の演算パワーの51%超を支配していない限り、複数のブロックを短期間で変更することは、ほとんど不可能である。従って、ブロックチェーンは、その独自の信頼性を保証しており、且つ、データは、一旦書き込まれたら、改竄することができない。
マイナーが新しいブロックのハッシュ(即ち、適格性を有する署名又は解)を見出したら、マイナーは、この署名をすべてのその他のマイナー(ブロックチェーンのノード)にブロードキャストする。次いで、その他のマイナーは、自身の順番において、解が送信者のブロックの問題に対応しているかどうかを検証する(即ち、ハッシュ入力が、その署名を実際に結果的にもたらすかどうかを判定する)。解が有効である場合には、その他のマイナーは、解を確認することになり、且つ、新しいブロックがブロックチェーンに追加されうることに合意することになる。従って、新しいブロックに関するコンセンサスに到達することになる。これは、「プルーフオブワーク(proof of work)」とも呼称されている。コンセンサスに到達したブロックは、いまや、ブロックチェーンに追加することが可能であり、且つ、その署名と共に、ネットワーク上のすべてのノードにブロードキャストされる。ノードは、ブロックの内部のトランザクションが、その時点において、現時点のワレット残高(トランザクション履歴)と正しく対応している限り、ブロックを受け付けることになり、且つ、そのブロックをそのトランザクションデータに保存することになる。また、新しいブロックがこのブロックに追加されるたびに、この追加が、その前のブロックの別の「確認」としてカウントされている。例えば、トランザクションがブロック502内において含まれており、且つ、ブロックチェーンの長さが507ブロックである場合には、これは、トランザクションが、(ブロック507〜502に対応する)5回の確認を有することを意味している。トランザクションが有する確認が多いほど、攻撃者による変更が困難になる。
いくつかの実施形態においては、例示用のブロックチェーン資産システムは、パブリックキー暗号法を利用しており、この場合には、1つのパブリックキー及び1つのプライベートキーという、2つの暗号キーが生成される。パブリックキーは、アカウント番号であると考えることが可能であり、且つ、プライベートキーは、所有権証明書であると考えることができる。例えば、ビットコインワレットは、パブリック及びプライベートキーの集合体である。特定の資産アドレスと関連する資産(例えば、デジタル通貨、現金資産、株式、エクイティ、債券)の所有権は、そのアドレスに属するプライベートキーの知識によって実証することができる。例えば、しばしば、「ビットコインクライアントソフトウェア」と呼称される、ビットコインワレットソフトウェアは、所与のユーザーがビットコインの取引を実行することを許容している。ワレットプログラムは、プライベートキーを生成及び保存すると共に、ビットコインネットワーク上においてピアと通信している。
ブロックチェーントランザクションにおいて、支払者と被支払者は、そのパブリック暗号キーにより、ブロックチェーン内において識別されている。例えば、大部分の現代のビットコイン移転は、1つのパブリックキーから異なるパブリックキーへのものである。実際には、これらのキーのハッシュが、ブロックチェーン内において使用されており、且つ、「ビットコインアドレス」と呼称されている。原則的に、仮想的な攻撃者である人物Sは、その名称の代わりに、ユーザーのビットコインアドレスを使用することにより、「人物Aが人物Sに100ビットコインを支払う」というような、トランザクションをブロックチェーン台帳に単純に追加することにより、人物Aからお金を盗みうるであろう。ビットコインプロトコルは、すべての移転が支払者のプライベートキーによってデジタル署名されることを必要とすることにより、この種の盗難を防止しており、且つ、ブロックチェーン台帳に追加することができるのは、署名済みの移転のみである。人物Sは、人物Aの署名を偽造することができないことから、人物Sは、「人物Aが人物Sに200ビットコインを支払う」に等しい、エントリをブロックチェーンに追加することにより、人物Aを騙すことができない。同時に、だれもが、人物Aの署名を彼/彼女のパブリックキーを使用することによって検証することが可能であり、且つ、従って、彼/彼女は、彼/彼女が支払者であるすべてのトランザクションをブロックチェーン内において認可している。
ビットコイントランザクションのコンテキストにおいては、いくつかのビットコインをユーザーBに移転するべく、ユーザーAは、トランザクションに関する情報を含むレコードをノードを通じて構築することができる。レコードは、ユーザーAの署名キー(プライベートキー)によって署名されてもよく、且つ、ユーザーAのパブリック検証キー及びユーザーBのパブリック検証キーを含む。署名は、トランザクションがユーザーから到来したことを確認するべく使用されており、且つ、トランザクションが、発行の後に、だれかによって変更されることをも防止している。レコードは、新しいブロック内において同じ時間ウィンドウにおいて発生したその他のレコードとバンドルされた状態において、フルノードにブロードキャストすることができる。レコードを受け取った際に、フルノードは、ブロックチェーンシステム内においてそれまでに発生したすべてのトランザクションの台帳にレコードを内蔵すること、上述のマイニングプロセスを通じて以前に受け付けられたブロックチェーンに新しいブロックを追加すること、に関して機能することができると共に、ネットワークのコンセンサス規則に照らして追加されたブロックを検証することができる。
UTXO(Unspent Transaction Output)モデル及びアカウント/残高モデルは、ブロックチェーントランザクションを実装するための2つの例示用のモデルである。UTXOは、ブロックチェーンオブジェクトモデルである。UTXOの下においては、資産は、新しいトランザクションにおいて入力として使用されうる、未使用のブロックチェーントランザクションの出力によって表されている。例えば、移転対象であるユーザーAの資産は、UTXOの形態を有することができる。資産を使用(取引)するには、ユーザーAは、プライベートキーによってサインオフしなければならない。ビットコインは、UTXOモデルを使用したデジタル通貨の一例である。有効なブロックチェーントランザクションのケースにおいては、更なるトランザクションを実現するべく、未使用の出力を使用することができる。いくつかの実施形態においては、二重使用及び不正行為を防止するべく、更なるトランザクションにおいて使用されうるのは、未使用の出力のみである。これを理由として、ブロックチェーンに対する入力は、トランザクションが発生した際に削除される一方で、同時に、出力がUTXOの形態で生成されている。これらの未使用のトランザクション出力は、将来のトランザクションを目的として、(例えば、デジタル通貨ワレットを有する人物などのプライベートキーの保持者によって)使用することができる。
その一方で、アカウント/残高モデル(或いは、アカウントに基づいたトランザクションモデルとも呼称される)は、それぞれのアカウントの残高をグローバルな状態として追跡している。使用するトランザクション金額以上であることを確認するべく、アカウントの残高がチェックされている。以下、イーサリアムにおいてアカウント/残高モデルが機能している方式の一例を提供する。
1.アリスは、5イーサをマイニングを通じて取得する。これは、システム内においては、アリスが5イーサを有していると記録される。
2.アリスは、ボブに1イーサを付与することを所望しており、従って、システムは、まず、1イーサをアリスのアカウントから控除し、従って、アリスは、いまや、4イーサを有している。
3.次いで、システムは、ボブのアカウントを1イーサだけ増大させる。システムは、ボブが、当初、2イーサを有していたことを知っており、従って、ボブの残高は、3イーサに増大される。
イーサリアムにおける記録の維持は、銀行におけるものに類似しうる。よく似たものが、ATM/デビットカードの使用である。銀行は、それぞれのデビットカードが有している金額を追跡しており、且つ、ボブがお金を使う必要がある際に、銀行は、トランザクションを承認する前に、ボブが十分な残高を有していることを確認するべく、その記録をチェックしている。
ブロックチェーン及びその他の類似の台帳は、完全にパブリック状態にあることから、ブロックチェーン自体は、プライバシー保護を有してはいない。P2Pネットワークのパブリック特性は、その使用者が名称によって識別されない一方で、個人及び企業に対するトランザクションのリンキングが可能であることを意味している。例えば、国境に跨った送金においては、或いは、サプライチェーンにおいては、トランザクション金額は、極めて高度なレベルのプライバシー保護値を有しており、その理由は、トランザクション金額情報により、トランザクションパーティの特定の場所及びアイデンティティを推定することができるからである。トランザクションの主題は、例えば、お金、トークン、デジタル通貨、契約、証書、医療の記録、顧客の詳細、株式、債券、エクイティ、又はデジタルの形態において記述されうる任意のその他の資産を有することができる。UTXOモデルは、例えば、Monero及びゼロ知識暗号法Zcashにおけるリング署名を通じて、匿名性をトランザクション金額に提供しうるが、トランザクション金額は、アカウント/残高モデルの下においては、保護されていない状態に留まっている。従って、本開示によって対処されている技術的問題は、トランザクション金額のプライバシーなどの、オンライン情報を保護する方式である。このようなトランザクションは、アカウント/残高モデルの下のものであってもよい。
いくつかの既存の技術は、トランザクション金額を暗号化するべく、且つ、アカウント/残高モデルを置換するべく、Pedersenコミットメント方式を使用することを提案している。この方式の下においては、送信者は、トランザクション金額及びトランザクション金額のPedersenコミットメントに対応するランダム数をブロックチェーンとは切り離された状態の保護されたチャネルを通じて被支払者に送信している。被支払者は、ランダム数がトランザクションコミットメントとマッチングしているかどうかを検証し、且つ、ローカルな保存を実行している。例えば、アカウント/残高モデルの下においては、アカウントは、マージされるのではなく、集計される、資産を維持するためのワレット(アカウント)として取り扱うことができる。それぞれの資産は、1つの資産タイプ(例えば、暗号通貨)に対応していてもよく、且つ、アカウントの残高は、資産値の合計である。同一タイプの資産でさえ、マージされない。トランザクションにおいては、移転資産の受領者を規定することができると共に、トランザクションに資金供給するべく、対応する資産をワレットから除去することができる。ブロックチェーンノードは、支払ワレットが、トランザクションをカバーするための十分な1つ又は複数の資産を有していることを検証し、且つ、次いで、ノードが、支払ワレットから移転される資産を削除し、且つ、対応する資産を受領者ワレットに追加している。
但し、このような方式には、限界が依然として存在している。第1に、この方式は、ランダム数及び暗号化済みのアカウント残高に対応するプレーンテキスト残高を管理するために、ユーザーが永続的な保存をローカルに維持することを必要としていると共に、管理の実装が複雑であり、第2には、単一のローカルノード内におけるブラインディングファクタ(例えば、ランダム数)及び「Pedersen資産」に対応するプレーンテキスト残高の保存が失われやすい又は破壊されやすい一方で、アカウント残高の頻繁な変化に起因して、マルチノードのバックアップ保存の実現が困難である。
本開示において提示されているシステム及び方法は、上述の限界を克服することができると共に、コミットメント方式におけるトランザクション金額、資産値、及びブラインディングファクタ用の安定したプライバシー保護を実現することができる。これを目的として、ランダム数及びプレーンテキスト残高を暗号化/暗号解読し、これにより、便利な管理を提供するべく、Diffie−Hellman(DH)キー交換プロトコルによって取得された対称キーを使用することができる。更には、ブロックチェーン内において暗号化済みの情報を保存することにより、コミットメント方式におけるトランザクション金額、資産値、及びブラインディングファクタが、容易に失われない、又は改竄されない、ことが保証されている。
本開示の図について説明する前に、まずは、Pedersenコミットメント及びDiffie−Hellman(DH)キー交換プロトコルについて説明する。
いくつかの実施形態においては、コミットメント方式(例えば、Pedersenコミットメント)は、特定の値a(例えば、トランザクション金額、資産値、キーパラメータ)を以下のように暗号化することができる。
PC(a)=r×G+a×H
ここで、rは、隠蔽を提供するランダムなブラインディングファクタであり(或いは、この代わりに、バインディングファクタとも呼称される)、G及びHは、楕円曲線の公的に合意されたジェネレータ/ベースポイントであると共に、ランダムに選択されてもよく、snは、コミットメントの値であり、且つ、C(sn)は、コミットメントとして利用されると共に相手方に付与される曲線値であり、且つ、Hは、別の曲線ポイントである。即ち、G及びHは、ノードにとって既知のパラメータであってよい。Hの「隠し事はない(nothing up my sleeve)」生成は、H=Hash(G)により、ベースポイントGを1つのポイントから別のものにマッピングするハッシュ関数によってハッシュ化することにより、生成することができる。H及びGは、所与のシステムのパブリックパラメータ(例えば、楕円曲線上のランダムに生成されたポイント)である。以上は、楕円曲線の形態におけるPedersenコミットメントの一例を提供しているが、この代わりに、Pedersenコミットメント又はその他のコミットメント方式の様々なその他の形態を使用することができる。
コミットメント方式は、データの秘密性を維持する一方で、データがデータの送信者によって後から変更されえないように、データにコミットしている。コミットメント値(例えば、PC(a))しか知らない場合には、彼らは、コミットされている基礎をなすデータ値(例えば、a)を判定することできない。データ(例えば、a)及びブラインディングファクタ(例えば、r)の両方は、(例えば、イニシエータノードにより)後から明かしてもよく、これにより、コミットメントの受領者(例えば、コンセンサスノード)は、コミットメントを実行することが可能であり、且つ、コミットされているデータが、明かされたデータとマッチングしていることを検証することができる。ブラインディングファクタが存在している理由は、これなしには、だれかがデータの推定を試みうるからである。
コミットメント方式は、コミットされた値が、プライベートな状態に留まる一方で、コミットしているパーティがコミットメントプロセスの必要なパラメータを明かした際には後の時点において明かされうるように、送信者(コミットしているパーティ)が値(例えば、a)に対してコミットするための1つの方法である。強力なコミットメント方式は、情報隠蔽型及び演算拘束型の両方であってもよい。隠蔽とは、所与の値aとその値のコミットメントであるPC(a)が関係付け不能であるという概念を意味している。即ち、PC(a)は、aに関するなんらの情報をも明らかにすることがない。PC(a)、G、及びHが判明している状態においても、ランダム数rに起因して、aを知ることは、ほとんど不可能である。コミットメント方式は、2つの異なる値が同一のコミットメントを結果的にもたらしうるそれなりの方法が存在していない場合には、拘束型である。Pedersenコミットメントは、離散対数の仮定の下において、完全に隠蔽型であり、且つ、演算拘束型である。更には、r、G、H、及びPC(a)が判明している状態において、PC(a)=r×G+a×Hであるかどうかを判定することにより、PC(a)を検証することができる。
Pedersenコミットメントは、コミットメントが加算可能であり、且つ、コミットメントの組の合計は、(ブラインディングファクタの合計として設定されたブラインディングファクタを有する)データの合計に対するコミットメントと同一である、という更なるプロパティを有しており、即ち、PC(r,data)+PC(r,data)==PC(r+r,data+data);PC(r,data)−PC(r,data)==0である。換言すれば、コミットメントは、加算を維持し、且つ、可換性が適用される、即ち、Pedersenコミットメントは、基礎をなすデータが、まるで暗号化されていないかのように、数学的に操作されうる、という点において、加法的に準同形である。
一実施形態においては、入力値を暗号化するべく使用されるPedersenコミットメントは、楕円曲線ポイントを使用することにより、構築することができる。従来、楕円曲線暗号法(EEC:Elliptic Curve Cryptography)パブキーは、グループ用のジェネレータ(G)を秘密キー(r)によって乗算することにより、生成されており、即ち、Pub=rGである。結果は、33バイトアレイとしてシリアライズすることができる。ECCパブリックキーは、Pedersenコミットメントとの関係において上述の加法的に準同形であるというプロパティを順守することができる。即ち、Pub1+Pub2=(r1+r2(mod n))Gである。
入力値のPedersenコミットメントは、だれもが第1ジェネレータGとの関係における第2ジェネレータHの離散対数(或いは、逆もまた然り)を知らないように、グループ用の更なるジェネレータ(以下の式におけるH)を選択することにより、生成されてもよく、これは、だれもが、rG=Hとなるようなxを知らないことを意味している。これは、例えば、Gの暗号学的ハッシュを使用してHを選択することにより、実現されてもよく、即ち、H=to_point(SHA256(ENCODE(G)))である。
2つのジェネレータG及びHが付与された場合に、入力値を暗号化するための例示用のコミットメント方式は、commitment=rG+aHとして定義することができる。ここで、rは、秘密のブラインディングファクタであってもよく、且つ、aは、コミットされている入力値であってよい。従って、snがコミットされる場合に、上述のコミットメント方式であるPC(a)=r×G+a×Hを得ることができる。Pedersenコミットメントは、情報理論的にプライベートであり、任意のコミットメントについて、任意の金額がそのコミットメントとマッチングするようにすることになるなんらかのブラインディングファクタが存在している。Pedersenコミットメントは、任意のマッピングを演算することができないという点において、偽のコミットメントに対して演算的に安全でありうる。
値をコミットしたパーティ(ノード)は、コミットメント方程式を完成させるオリジナルの値a及びファクタrを開示することにより、コミットメントを公開することができる。次いで、値PC(a)の公開を所望するパーティは、共有されているオリジナルの値が、実際に、当初受け取られたコミットメントPC(a)にマッチングしていることを検証するべく、コミットメントを再度演算することになる。従って、情報タイプ情報を一意の連番にマッピングし、且つ、次いで、これをPedersenコミットメントによって暗号化することにより、資産タイプ情報を保護することができる。コミットメントを生成する際に選択されるランダム数rが、だれかがコミットメント値PC(a)に従ってコミットされた資産タイプのタイプを推定することをほとんど不可能にしている。
いくつかの実施形態においては、Diffie−Hellman(DH)キー交換は、パブリックチャネル上において暗号キーを安全に交換するための方法として使用することができる。指数キー交換とも呼称されるDHキー交換は、決して直接的に送信されることがないコンポーネントに基づいて暗号解読キーを生成するべく特定の累乗に累乗された数を使用するデジタル暗号化の方法であり、これにより、暗号解読志望者のタスクが数学的に不可能なものとなっている。
Diffie−Hellman(DH)キー交換を実装した一例においては、二人のエンドユーザーであるアリス及びボブは、プライベートであると彼らが認知しているチャネル上において通信しつつ、pが素数であり、且つ、qがpのジェネレータとなるように、正の整数p及びqについて相互に合意している。ジェネレータqは、p未満の正の整数乗に累乗された際に、任意の2つのこのような整数について、同一の結果を決して生成しない数である。pの値は、大きくてもよいが、qの値は、通常、小さい。即ち、qは、pを法とする原始根である。
アリス及びボブがp及びqについてプライベートに合意したら、彼らは、正の整数であるパーソナルキーa及びbを選択するが、これらは、いずれも、pを法とする素数未満であり、且つ、いずれも、ランダムに生成することができる。いずれのユーザーも、自身のパーソナルキーをだれにも明かすことがなく、且つ、理想的には、彼らは、これらの数を記憶しており、従って、これらを書き留めたり、或いは、これらをどこかに保存したりしない。次に、アリス及びボブは、次式に従って、自身のパーソナルキーに基づいて、パブリックキーであるa及びbを演算すする。
=q mod p、及び、
=q mod p
二人のユーザーは、インターネット又は企業内のワイドエリアネットワーク(WAN:Wide Area Network)などの、安全ではないと仮定される通信媒体上において、自身のパブリックキーa及びbを共有することができる。これらのパブリックキーから、いずれかのユーザーにより、自身の独自のパーソナルキーに基づいて、数k1を生成することができる。
アリスは、k1=(b mod pという式を使用することにより、k1を演算する。
ボブは、k1=(a mod pという式を使用することにより、k1を演算する。
k1の値は、上述の2つの式のいずれかに従って同一であることが判明する。但し、k1の計算において重要であるパーソナルキーa及びbは、パブリック媒体上において通信されてはいない。p、q、a、及びbによっても、a及びbを算出することは依然として非常に困難である。これは、大きな、且つ、明らかにランダムな、数であることから、潜在的なハッカーは、数百万回の試みを実施するための強力なコンピュータの支援を有する場合にも、k1を正しく推定する可能性をほとんど有してはいない。従って、二人のユーザーは、理論的には、暗号解読キーであるk1を使用することにより、自身が選択した暗号化方法により、パブリック媒体上においてプライベートに通信することができる。
Diffe−Hellman(DH)キー交換を実装した別の例においては、すべての計算は、通常は、大きな素数を法とする乗法的グループ(例えば、古典的なDHの場合)又は楕円曲線グループ(例えば、楕円曲線Diffie−Hellmanの場合)などである、Diffie−Hellman問題が困難であると考えられる、十分なサイズを有する離散グループ内において発生している。
取引を実行する2つのパーティの場合には、それぞれのパーティがプライベートキーa又はbを選択する。
それぞれのパーティが、対応するパブリックキーaG又はbGを算出する。
それぞれのパーティが、パブリックキーaG又はbGをその他のパーティに送信する。
それぞれのパーティが、新しい共有された秘密であるa(bG)=b(aG)を算出するべく、受け取ったパブリックキーを自身の独自のプライベートキーと共に使用するが、これらは、対称キーペアの対称キーと呼称される場合がある。
後述するように、この例示用の方法は、対称キーであるabG及びbaGを生成するべく、使用することができる。このキー交換の結果が、共有された秘密であり、これは、次いで、対称暗号化方式のキーの組を導出するべく、キー導出関数(例えば、ランダム数と資産値の連結などの、両方のパーティにとって既知であるその他の入力を使用する暗号化関数E())と共に使用することができる。或いは、この代わりに、例えば、パブリックキーg及びg並びに共有されているキーgab又はgbaの生成によるものなどの、様々なその他の演算方法を使用することもできる。
トランザクションにおいては、ユーザープライバシーを保護するべく、情報保護が重要であり、且つ、トランザクション金額は、保護を欠いた情報の1つのタイプである。図1は、様々な実施形態による情報保護用の例示用のシステム100を示している。図示のように、ブロックチェーンネットワークは、複数のノード(例えば、サーバーやコンピュータなどの内部において実装されたフルノード)を有する。ある種のブロックチェーンプラットフォーム(例えば、NEO)の場合には、特定レベルの投票権を有するフルノードがコンセンサスノードと呼称される場合があり、これらは、トランザクション検証の責任を担っている。本開示においては、フルノード、コンセンサスノード、又はその他の等価なノードがトランザクションを検証することができる。
また、図1に示されているように、ユーザーA及びユーザーBは、トランザクションを実行するべく軽量ノードとして機能する、ラップトップ及び携帯電話機などの、対応する装置を使用することもできる。例えば、ユーザーAは、ユーザーAのアカウント内のなんらかの資産をユーザーBのアカウントに移転することにより、ユーザーBとの間において取引を実行することを所望しうる。ユーザーA及びユーザーBは、トランザクションのための適切なブロックチェーンソフトウェアがインストールされている対応する装置を使用することができる。ユーザーAの装置は、受領者ノードBと呼称されるユーザーBの装置との間においてトランザクションを開始するイニシエータノードAと呼称することができる。ノードAは、ノード1との間の通信を通じてブロックチェーンにアクセスすることができると共に、ノードBは、ノード2との間の通信を通じてブロックチェーンにアクセスすることができる。例えば、ノードA及びノードBは、ブロックチェーンへのトランザクションの追加を要求するべく、トランザクションをノード1及びノード2を通じてブロックチェーンにサブミットすることができる。ブロックチェーンとは切り離された状態において、ノードA及びノードBは、その他の通信のチャネル(例えば、ノード1及び2を経由しない通常のインターネット通信)を有することができる。
図1のノードのそれぞれは、プロセッサと、ノード(例えば、プロセッサ)が本明細書において記述されている情報保護用の様々なステップを実行するようにするべく、プロセッサによって実行される命令を保存する一時的はないコンピュータ可読ストレージ媒体と、を有することができる。それぞれのノードには、その他のノード及び/又はその他の装置と通信するべく、ソフトウェア(例えば、トランザクションプログラム)及びハードウェア(例えば、配線、無線接続)をインストールすることができる。ノードのハードウェア及びソフトウェアの更なる詳細については、図5を参照して後述する。
図2は、様々な実施形態による、送信者ノードA、受領者ノードB、及び1つ又は複数の検証ノードの間におけるトランザクション及び検証用の例示用のステップを示している。以下において提示されている動作は、例示となることを意図したものである。実装形態に応じて、例示用のステップは、様々な順序において、或いは、並行的に、実行される、更に多くの数の、更に少ない数の、或いは、代替的な、ステップを含むことができる。
様々な実施形態においては、トランザクションパーティ(送信者ノードA及び受領者ユーザーB)のアカウントは、アカウント/残高モデルのために構成されている。ユーザーA及びユーザーBは、自身のラップトップや携帯電話機などのような、1つ又は複数の装置を介して、トランザクションを実行するべく、以下のステップを実行することができる。装置には、様々なステップを実行するべく、適切なソフトウェア及びハードウェアをインストールすることができる。それぞれのアカウントは、暗号学的なプライベートキー(秘密キー)−パブリックキーのペアと関連付けることができる。プライベートキーは、SK=xとして表記されてもよく、且つ、パブリックキーは、PK=xGとして表記されてもよく、ここで、Gは、グループのジェネレータである。それぞれのアカウントは、それぞれが(V=PC(r,v),E(K,r,v))として表記される、様々な資産を収容していてもよく、ここで、vは、資産の額面価額を表し、Vは、額面価額vのPedersenコミットメントを表し、rは、ブラインディングファクタ(例えば、ランダム数)であり、PC()は、Pedersenコミットメントアルゴリズムであり、E()は、暗号化アルゴリズム(例えば、対称キー暗号化アルゴリズム)であり、且つ、Kは、暗号化キーである。一例においては、それぞれの資産は、(V=PC(r,v),E(K,r||v))として表記され、この場合に、||は、連結を表している。また、それぞれの資産は、資産のソース情報などの、列挙されているもの以外の情報を含むこともできる。
一例においては、ユーザーAが、ブロックチェーン検証されたトランザクションにおいて、ユーザーBに対する金額tの取引を成功的に実行する前の、Aのアカウント及びBのアカウントのアドレス及び資産は、以下のとおりである。
Aのアカウントの場合(アカウントA):
アドレス:(SK_A=a,PK_A=aG)
それぞれ、値a_1〜a_mの資産A_1〜A_mは、次のように表記される。
(A_1=PC(r_{a_1},a_1),E(K_A,r_{a_1}||a_1)),
(A_2=PC(r_{a_2},a_2),E(K_A,r_{a_2}||a_2)),
...
(A_m=PC(r_{a_m},a_m),E(K_A,r_{a_m}||a_m))
Bのアカウントの場合(アカウントB):
アドレス:(SK_B=b,PK_B=bG)
それぞれ、値b_1〜b_nの資産B_1〜B_nは、次のように表記される。
(B_1=PC(r_{b_1},b_1),E(K_B,r_{b_1}||b_1)),
(B_2=PC(r_{b_2},b_2),E(K_B,r_{b_2}||b_2)),
...
(B_n=PC(r_{b_n},b_n),E(K_B,r_{b_n}||b_n))
いくつかの実施形態においては、キー生成は、アカウント/残高モデルの下において、それぞれのアカウントごとに、ecp256k1という楕円曲線に基づいたものであってよい。例えば、イーサリアムのecp256k1上において、1〜2256−1の間の任意の数が、有効なプライベートキーSKであってよい。良好なライブラリは、十分なランダム性を考慮することにより、プライベートキーを生成する。イーサリアムは、プライベートキーSKの長さが256ビットとなることを必要としている。パブリックキーの生成は、ECC暗号法のグループ動作を使用することにより、実行される。パブリックキーPKを導出するべく、プライベートキーをGによって乗算することができる。パブリックキーPKを導出するべく使用される乗算は、ECC乗算(楕円曲線ポイント乗算)であり、これは、通常の乗算とは異なっている。Gは、ECC暗号法のドメインパラメータの1つであるジェネレータポイントである。Gは、ecp256k1の固定値を有することができる。アドレスは、例えば、パブリックキーPKのハッシュの最後の20バイトであってよい。
いくつかの実施形態においては、ステップ201において、ノードAは、ノードBとの間においてトランザクションを開始することができる。例えば、ユーザーA及びユーザーBは、トランザクション金額tをユーザーAのアカウントAからユーザーBのアカウントBにネゴシエートすることができる。アカウントA及びアカウントBは、本明細書において記述されている「ワレット」に対応しうる。アカウントAは、1つ又は複数の資産を有することができる。資産は、例えば、お金、トークン、デジタル通貨、契約、証書、医療の記録、顧客の詳細、株式、債券、エクイティ、又はデジタルの形態において記述されうる任意のその他の資産を有することができる。アカウントBは、1つ又は複数の資産を有していてもよく、或いは、資産を有していなくてもよい。それぞれの資産は、ブロックチェーンのブロック内において保存されている様々なブロックチェーン情報と関連付けられていてもよく、ブロックチェーン情報は、例えば、資産タイプを表すNoteType、資産の一意の識別情報を表すNoteID、資産値のコミットメント(例えば、Pedersenコミットメント)値を表すコミットメント値、ランダム数及び資産値の暗号化などを有する。
アカウントAとの関係において記述されているように、いくつかの実施形態においては、A_1〜A_mは、それぞれ、資産値a_1〜a_m及びランダム数r_1〜r_mに対応している。ランダム数r_1〜r_mに基づいて、ノードAは、暗号化済みのコミットメント値を取得するべく、アカウントA内の資産値をコミットメント方式(例えば、Pedersenコミットメント)に対してコミットすることができる。例えば、暗号化済みのコミットメント値は、PC_1〜PC_mであってよく、この場合に、PC_i=PC(r_{a_i},a_i)=r_{a_i}×G+a_i×Hであり、この場合に、G及びHは、既知のパラメータであり、且つ、iは、1〜mである。第1フィールドであるPC(...)に加えて、それぞれの資産は、上述のように、第2フィールドE(...)とも関連付けられている。第2フィールドであるE(...)は、キーK_Aによって暗号化された対応するランダム数の暗号化及び資産値の暗号化を表すことができる。例えば、暗号化は、E(K_A, r_{a_i}||a_i))であってよい。それぞれの資産ごとのPC(...)及びE(...)は、以前のトランザクションから継承されてもよい。同一のメカニズムが、アカウントB及びその資産に適用されてもよい。
いくつかの実施形態においては、K_Aは、様々なタイプの暗号化キーを有することができる。例えば、K_Aは、更に後述するaPK_A=aaGであってもよく、且つ、K_Bは、更に後述するaPK_B=abGであってもよく、ここで、a、b、及びGは、ECC乗算によって乗算することができる。
いくつかの実施形態においては、トランザクション金額tを充足するべく、ユーザーAは、少なくともtだけ、アカウントAからの1つ又は複数の資産の集計された値を利用してもよい。例えば、図1を参照すれば、ノードAは、このトランザクションのために、資産A_1及びA_2を選択することができる。ノードAは、資産PC(r_1,a_1)及びPC(r_2,a_2)をノード1から読み取ることができる。ランダム数r_1及びr_2がノードAに既知である状態において、ノードAは、a_1及びa_2の合計がトランザクション金額t未満ではないことを保証するために、資産値a_1及びa_2を取得するべく、読み取られた資産PC(r_1,a_1)及びPC(r_2,a_2)を暗号解読することができる。様々なレートに基づいて、アカウント内において、異なる資産を互いに交換することができる。
いくつかの実施形態においては、tを超過する、選択された資産値の金額は、存在している場合には、変化としてyに設定されている。例えば、ノードAは、変化y=a_1+a_2−tを判定することができる。ノードAは、t及びyのPedersenコミットメントを生成するべく、ランダム数r_t及びr_yをブラインディングファクタとして選択してもよく、即ち、T=PC(r_t,t)であり、Y=PC(r_y,y)である。即ち、ノードAは、tのランダム数r_t及びyのランダム数r_yを生成することができる。ノードAは、コミットメント値T=(PC(r_t,t)を取得するべく、t及びr_tをコミットメント方式(例えば、準同形暗号化)に対してコミットすることが可能であり、且つ、コミットメント値Y=(PC(r_y,y)を取得するべく、y及びr_yをコミットメント方式(例えば、準同形暗号化)に対してコミットすることができる。
更には、いくつかの実施形態においては、ノードAは、対称キーペアの第1キーaPK_B=abGを生成すると共に、別のキーaPK_A=aaGを生成している。ノードAは、暗号化E(abG,r_t||t)を付与する、(r_t||t)を暗号化するべく、第1キーabGを使用し、且つ、暗号化E(aaG,r_y||y)を付与する、(r_y||y)を暗号化するべく、キーaaGを使用する。図3A及び図3Bは、この例に準拠したものでありうる。ノードAによる暗号化E(abG,r_t||t)の取得の代替肢として、ユーザーAは、トランザクション情報と共に、r_t及びtをノードBに送信し、これにより、ノードBが、(r_t||t)を暗号化するべく、対称キーペアの第2キーb*PK_A=baGを生成するようにしてもよい。ノードBは、ノードAによる検証を許容するべく、暗号化をノードAに送信することになろう。図4A及び図4Bは、この例に準拠したものでありうる。本開示の様々な例において、連結が使用されているが、暗号化関数又はその他の動作のために、入力、出力、又はその他のパラメータの代替的な組合せを使用することができる。
更には、いくつかの実施形態においては、ノードAは、PC(r,t)の値及びPC(r,y)の値が、それぞれ、有効な範囲内にあるかどうかをブロックチェーンノードに対して証明するべく、範囲証明RPを生成することができる。例えば、PC(r,t)の有効な値を得るべく、トランザクション金額tは、有効範囲[0,2−1]内にあってよく、且つ、PC(r,y)の有効な値を得るべく、変化yは、有効範囲[0,2−1]内にあってよい。一実施形態においては、ノードAは、ブロックチェーンノード(例えば、コンセンサスノード)が後のステップにおいてトランザクション金額t及び変化yが有効な範囲内にあるかどうかを範囲証明に基づいて検証するべく、(r_y,y,Y,r_t,t,T)に関係する範囲証明RPを生成するために、ブロック証明技法を使用することができる。範囲証明は、例えば、BulletproofやBorromeanリング署名などを有することができる。
ステップ202において、ノードAは、トランザクション情報を(例えば、ブロックチェーンとは切り離された、保護されたチャネルを通じて)ノードBに送信することができる。送信されるトランザクション情報は、例えば、コミットメント値T=PC(r_t,t)、コミットメント値Y=PC(r_y,y)、暗号化E(abG,r_t||t)、暗号化E(aaG,r_y||y)、範囲証明RPなどを有することができる。コミットメント値Y=PC(r_y,y)、暗号化E(aaG,r_y||Y)、及び範囲証明RPは、任意選択であってよく、その理由は、ノードBは、アカウントAに返送される変化に注意しなくてもよいからである。いくつかの実施形態においては、ブロックチェーンとは切り離された通信チャネルを介した送信は、トランザクション情報がブロックチェーン内に記録されることを防止することが可能であると共に、送信者ノードA及び受領者ノードB以外のノードがトランザクション情報を取得することを防止することができる。E(aaG,r_y||y)は、ノードBに送信される必要はないであろうが、ユーザーAが変化Yを使用するために将来において必要とされる場合があり、その理由は、変化をアカウントAに返す必要があるからである。
ステップ203において、ノードBは、ランダム数r_t、トランザクション金額t、及びコミットメント値Tを検証することができる。いくつかの実施形態においては、ノードBは、対称キーペアの第2キーbPk_A=baGを生成することができると共に、暗号化E(abG,r_t||t)を暗号解読してr_t||tを取得するべく、第2キーbaGを使用することができる。r_t||tから、ノードBは、r_t及びtを取得することができると共に、次いで、r_t及びtがT=PC(r_t,t)とマッチングしているかどうかを検証することができる。即ち、ノードBは、Pedersenコミットメントアルゴリズムに従って、ランダム数r_t及びトランザクション金額tに基づいて、コミットメント値T=PC(r_t,t)が正しいかどうかを検証することができる。マッチング/検証に失敗した場合には、ノードBは、トランザクションを拒絶してもよく、且つ、マッチング/検証に成功した場合には、ノードBは、ステップ204において、ノードAに回答するべく、トランザクションに署名することができる。
ステップ204において、ノードBは、署名SIGBを生成するべく、ユーザーBのプライベートキーSK_Bによってトランザクションに署名することができる。署名は、楕円曲線デジタル署名アルゴリズム(ECDSA:Elliptic Curve Digital Signature Algorithm)などの、デジタル署名アルゴリズム(DSA:Digital Signature Algorithm)に準拠したものであってよく、これにより、署名の受信者は、署名されたデータを認証するべく、署名者のパブリックキーによって署名を検証することができる。署名SIGBは、受領者ノードBがトランザクションに合意していることを通知している。
ステップ205において、ノードBは、署名SIGBと共に、署名済みのトランザクションをノードAに返送することができる。
ステップ206において、SIGBの検証に失敗した場合には、ノードAは、トランザクションを拒絶することができる。SIGBの検証に成功した場合には、ノードAは、署名SIGAを生成するべく、ユーザーAのプライベートキーSK_Aによってトランザクションに署名することができる。同様に、この署名も、デジタル署名アルゴリズム(DSA)に準拠したものであってもよい。一実施形態においては、ノードAは、署名SIGAを生成するべく、ユーザーAのプライベートキーにより、(E(abG, r_t||t);E(aaG,r_y||y);Y;T;RP)に署名することができる。
ステップ207において、ノードAは、トランザクションをブロックチェーンにサブミットし、これにより、ブロックチェーンノードが、トランザクションを検証し、且つ、トランザクションをブロックチェーンに追加しうるかどうかを判定する、ようにすることができる。一実施形態においては、ノードAは、トランザクションを実行するべく、ノード1を介して、トランザクション(E(abG,r_t||t);E(aaG,r_y||y);Y;T;RP;SIGA;SIGB)をブロックチェーンにサブミットすることができる。トランザクションは、更なるパラメータを有していてもよく、或いは、列挙されたパラメータのすべてを有していなくてもよい。トランザクションは、検証のために、ブロックチェーン内の1つ又は複数のノード(例えば、コンセンサスノード)にブロードキャストすることができる。検証に成功した場合には、トランザクションは、ブロックチェーンに追加される。検証に失敗した場合には、トランザクションは、ブロックチェーンへの追加が拒絶される。
ステップ208〜213において、1つ又は複数ノード(例えば、コンセンサスノード)は、サブミットされたトランザクションの署名、範囲証明、及びその他の情報を検証している。検証に失敗した場合には、ノードは、トランザクションを拒絶する。検証に成功した場合には、ノードは、トランザクションを受け付け、ユーザーAのアカウント及びユーザーBのアカウントを別個に更新する。
いくつかの実施形態においては、トランザクションを実行するべく、様々なブロックチェーンノードにより、トランザクション情報を検証することができる。トランザクション情報は、トランザクションアドレスTXID、1つ又は複数の署名、入力、及び出力を有することができる。TXIDは、トランザクションコンテンツのハッシュを有することができる。署名は、送信者及び受領者による暗号キー署名を有することができる。入力は、ブロックチェーン内の送信者のアカウントのアドレスやトランザクションのために送信者のブロックチェーンアカウントから利用される1つ又は複数の資産などを有することができる。出力は、ブロックチェーン内の受領者のアカウントのアドレス、1つ又は複数の受領者資産の1つ又は複数の資産タイプ、1つ又は複数の受領者資産の1つ又は複数のコミットメント値などを有することができる。入力及び出力は、表の形態におけるインデックス付けされた情報を有することができる。いくつかの実施形態においては、NoteID値の値は、「TXID+出力における資産のインデックス」であってよい。
いくつかの実施形態においては、ブロックチェーンの1つ又は複数のノードは、サブミットされたトランザクション(E(abG,r_t||t);E(aaG,r_y||y);Y;T;RP;SIGA;SIGB)を検証することができる。
ステップ208において、ノードは、トランザクションが、二重使用防止メカニズム又はリプレイ攻撃防止メカニズムを使用することにより、実行されたかどうかを検証することができる。トランザクションが実行されている場合には、ノードは、トランザクションを拒絶してもよく、さもなければ、方法は、ステップ209に進むことができる。
ステップ209において、ノードは、(例えば、それぞれ、Aのパブリックキー及びBのパブリックキーに基づいて)署名SIGA及びSIGBをチェックすることができる。署名のいずれかが誤っている場合には、ノードは、トランザクションを拒絶してもよく、さもなければ、方法は、ステップ210に進むことができる。
任意選択のステップ210において、ノードは、資産タイプが一貫性を有するかどうかを検証することができる。例えば、ノードは、A_1〜A_2のNoteType内の資産タイプが、トランザクション金額tの1つ又は複数の資産タイプと一貫性を有しているかどうかを検証することができる。資産タイプのいずれかが一貫性を有していない場合には、ノードは、トランザクションを拒絶してもよく、さもなければ、方法は、ステップ211に進むことができる。いくつかの実施形態においては、ワレット内のオリジナルの資産タイプが、交換レートに基づいて別のタイプに変換済みであってもよく、従って、このステップがスキップされてもよい。
ステップ211において、ノードは、PC(r,t)の値及びPC(r,y)の値を検証するべく、範囲証明RPをチェックすることができる。一実施形態においては、ノードは、トランザクション金額tがゼロ以上であるかどうか、並びに、変化yがゼロ以上であるかどうか、を検証するべく、範囲証明RPをチェックすることができる。検証に失敗した場合には、ノードは、トランザクションを拒絶してもよく、さもなければ、方法は、ステップ212に進むことができる。
ステップ212において、ノードは、トランザクションの入力と出力が一貫性を有しているかどうかをチェックすることができる。チェックに失敗した場合には、ノードは、トランザクションを拒絶してもよく、さもなければ、方法は、ステップ213に進むことができる。
ステップ213において、ノードは、ノードAがトランザクションのために利用される1つ又は複数の資産を有しているかどうかを検証することができる。一実施形態においては、ノードは、アカウントAに対応する情報などの、ブロックチェーン内において保存されている情報に基づいて、この検証を実行することができる。情報は、すべての資産の以前のトランザクション情報を有することができる。従って、ノードは、アカウントAがトランザクション用の取引用資産を有しているかどうかを判定することができる。判定が、「いいえ」である場合には、ノードは、トランザクションを拒絶してもよく、さもなければ、方法は、ステップ214に進むことができる。
ステップ214において、ノードは、アカウントA及びアカウントBを更新することができる。例えば、ノードは、金額tの取引用の資産をアカウントAから除去することができると共に、これをアカウントBに追加することができる。準同形のプロパティに基づいて、Y=(PC(r_y,y)であり、且つ、ノード1は、r_yを知っていると共にブロックチェーンからのコミットメント値Yにアクセスしうることから、ノード1は、資産値yを取得するべくYを暗号解読することが可能であると共に、これをアカウントAに返すことができる。ノード2は、ステップ202において、ノード1からランダム数r_tを取得し、且つ、ブロックチェーンからコミットメント値Tを取得することができる。従って、ノード2は、資産値tを取得するべくTを暗号解読することが可能であり、且つ、これをアカウントBに追加することができる。
一例においては、アカウントA及びアカウントBへの更新の後に、アカウントAは、利用された資産に対する変化yを受け取ると共に、その利用されていない資産を受け取っている。例えば、利用された資産は、アカウントAに返された変化yを有するトランザクションにおいて除去されたA_1及びA_2であってもよく、且つ、利用されていない資産は、A_3、...、A_mである。アカウントBは、トランザクション金額tを受け取ると共に、そのオリジナルの資産(例えば、B_1、...、B_n)を受け取る。Aのアカウント及びBのアカウント内の資産は、以下のとおりである。
Aのアカウント(アカウントA)の場合に、更新済みの資産は、次式のように表記される。
(Y=PC(r_y,y),E(aaG,r_y||y)),
...
(A_m=PC(r_{a_m},a_m),E(K_A,r_{a_m}||a_m))
Bのアカウント(アカウントB)の場合に、更新済みの資産は、次式のように表記される。
(B_1=PC(r_{b_1},b_1),E(K_B,r_{b_1}||b_1)),
(B_2=PC(r_{b_2},b_2),E(K_B,r_{b_2}||b_2)),
...
(B_n=PC(r_{b_n},b_n),E(K_B,r_{b_n}||b_n)),
(T=PC(r_t,t),E(abG,r_t||t))
本開示は、それぞれ、送信者及び受領者を示すべく、ノードA/ユーザーA及びノードB/ユーザーBを使用しているが、送信者及び受領者は、同一のノード/ユーザーであってもよい。例えば、トランザクションの変化y(アカウントA内の利用された合計資産−トランザクション金額)は、トランザクションの送信者に返送することができる。従って、本明細書において記述されているノードBによって実行される様々なステップは、この代わりに、ノードAによって実行されてもよい。
図3Aは、本開示の様々な実施形態による情報保護用の例示用の方法300のフローチャートを示している。方法300は、図1のシステム100の1つ又は複数のコンポーネント(例えば、ノードA、ノード1、ノードA及びノード1の組合せ)によって実装することができる。方法300は、プロセッサと、システム又は装置(例えば、プロセッサ)が方法300を実行するようにするべく、プロセッサによって実行される命令を保存する一時的ではないコンピュータ可読ストレージ媒体(例えば、メモリ)と、を有するシステム又は装置(例えば、コンピュータ、サーバー)によって実装することができる。以下において提示されている方法300の動作は、例示となることを意図したものである。実装形態に応じて、例示用の方法300は、様々な順序において、或いは、並行して、実行される、更に多くの数の、更に少ない数の、或いは、代替的な、ステップを含むことができる。
ブロック301は、トランザクションコミットメント値Tを取得するべく、トランザクションのトランザクション金額tをコミットメント方式によってコミットするステップを有しており、コミットメント方式は、少なくともトランザクションブラインディングファクタr_tを有する。例えば、上述のように、T=PC(r_t,t)である。いくつかの実施形態においては、コミットメント方式は、少なくともトランザクションブラインディングファクタr_tに基づいた、且つ、トランザクション金額tが、コミット済みの値である状態における、Pedersenコミットメントを有する。
ブロック302は、対称キーペアの第1キーを生成するステップを有する。例えば、上述のように、SK_A=aであり、PK_B=bGであり、且つ、第1キーは、aPK_B=abGであってもよい。いくつかの実施形態においては、第1キー及び第2キーを生成するステップは、Diffie−Hellman(DH)キー交換プロトコルの下において、トランザクションの送信者のプライベートキーSK_A及び受領者のパブリックキーPK_Bに基づいて、第1キー及び第2キーを生成するステップを有する。
ブロック303は、トランザクションブラインディングファクタr_t及びトランザクション金額tの組合せ(例えば、連結)を第1キーによって暗号化するステップを有する。例えば、上述のように、ノードAは、暗号化E(abG,r_t||t)を付与する(r_t||t)を暗号化するべく、第1キーabGを使用することができる。
ブロック304は、受領者ノードがトランザクションを検証するべく、トランザクションコミットメント値T及び暗号化済みの組合せをトランザクションの受領者と関連する受領者ノードに送信するステップを有する。いくつかの実施形態においては、トランザクションの受領者と関連する受領者ノードがトランザクションを検証するべく、トランザクションコミットメント値T及び暗号化済みの組合せを受領者ノードに送信するステップは、トランザクションコミットメント値T及び暗号化済みの組合せをトランザクションの受領者と関連する受領者ノードに送信し、これにより、受領者ノードが、受領者のプライベートキーSK_B及び送信者のパブリックキーPK_Aに基づいて対称キーペアの第2キーを生成し、トランザクションブラインディングファクタr_t及びトランザクション金額tを取得するべく暗号化済みの組合せを受領者ノードによって生成された第2キーによって暗号解読し、且つ、少なくともトランザクションコミットメント値T、トランザクションブラインディングファクタr_t、及びトランザクション金額tに基づいてトランザクションを検証するようにするステップを有する。例えば、ステップ203を参照されたい。例えば、上述のように、受領者ノードは、第2キーbPK_A=baGを独立的に生成してもよい。キーabG及びbaGは、対称であり、且つ、等しい。即ち、受領者ノードは、第1キーabGを送信者ノードから受け取らなくてもよく、且つ、その代わりに、受領者ノードは、abGの等価物として、第2キーbaGを独立的に生成している。
いくつかの実施形態においては、受領者ノードが、少なくともトランザクションコミットメント値T、トランザクションブラインディングファクタr_t、及びトランザクション金額tに基づいてトランザクションを検証するようにするステップは、受領者ノードが、トランザクションコミットメント値Tがトランザクション金額tのコミットメント方式とマッチングしていないとトランザクションブラインディングファクタr_tに基づいて判定することに応答して、トランザクションを拒絶し、且つ、トランザクションコミットメント値Tがトランザクション金額tのコミットメント方式とマッチングしているとトランザクションブラインディングファクタr_tに基づいて判定することに応答して、受領者署名SIGBを生成して送信者と関連する送信者ノードに返すべくトランザクションに署名することにより、トランザクションを承認するようにするステップを有する。
いくつかの実施形態においては、暗号化済みの組合せを受領者と関連する受領者ノードに送信するステップ(ブロック304)の前に、方法は、変化コミットメント値Yを取得するべくトランザクションの変化yをコミットメント方式によってコミットするステップであって、コミットメント方式は、少なくとも変化ブラインディングファクタr_yを有し、変化yは、トランザクションのために利用される送信者の1つ又は複数の資産からトランザクション金額tを差し引いたものである、ステップと、送信者のプライベートキーSK_A及び送信者のパブリックキーPK_Aに基づいて別のキーを生成するステップと、変化ブラインディングファクタr_y及び変化yの別の組合せを別のキーによって暗号化するステップと、を更に有する。例えば、上述のように、Y=PC(r_y,y)であり、PK_A=aであり、且つ、ノードAは、キーaPK_A=aaGを生成してもよく、且つ、(r_y||y)を暗号化するべく、キーaaGを使用してもよく、この結果、E(aaG,r_y||y)が得られる。
いくつかの実施形態においては、方法は、受領者署名SIGBの受け取りに応答して、送信者署名SIGAを生成するべくトランザクションに署名することにより、トランザクションを承認するステップと、ブロックチェーンネットワーク内の1つ又は複数のノードがトランザクションを検証するべく、暗号化済みの組合せ、暗号化済みの別の組合せ、トランザクションコミットメント値T、変化コミットメント値Y、送信者署名SIGA、及び受領署名SIGBを有するトランザクションを1つ又は複数のノードにサブミットするステップと、を更に有する。更なる詳細については、ステップ208〜213を参照して上述したとおりである。
いくつかの実施形態においては、ブロックチェーンネットワーク内の1つ又は複数のノードがトランザクションを検証するべく、暗号化済みの組合せ、暗号化済みの別の組合せ、トランザクションコミットメント値T、変化コミットメント値y、送信者署名SIGA、及び受領者署名SIGBを有するトランザクションを1つ又は複数のノードにサブミットするステップは、暗号化済みの組合せ、暗号化済みの別の組合せ、トランザクションコミットメント値T、変化コミットメント値Y、送信者署名SIGA、及び受領者署名SIGBを有するトランザクションをブロックチェーンネットワーク内の1つ又は複数のノードにサブミットし、これにより、1つ又は複数のノードが、トランザクションの検証の成功に応答して、トランザクション金額tを受領者に発行し、トランザクションのために利用された1つ又は複数の資産を除去し、且つ、変化yを送信者に発行するようにするステップを有する。更なる詳細については、ステップ214を参照して上述したとおりである。
図3Bは、本開示の様々な実施形態による情報保護用の例示用の方法400のフローチャートを示している。方法400は、図1のシステム100の1つ又は複数のコンポーネント(例えば、ノードB、ノード2、ノードB及びノード2の組合せなど)によって実装することができる。方法400は、プロセッサと、システム又は装置(例えば、プロセッサ)が方法400を実行するようにするべく、プロセッサによって実行される命令を保存する一時的ではないコンピュータ可読ストレージ媒体(例えば、メモリ)と、を有するシステム又は装置(例えば、コンピュータ、サーバー)によって実装することができる。以下において提示されている方法400の動作は、例示となることを意図したものである。実装形態に応じて、例示用の方法400は、様々な順序において、或いは、並行して、実行される、更に多くの数の、更に少ない数の、或いは、代替的な、ステップを含むことができる。
ブロック401は、対称キーペアの第1キーによって暗号化されたトランザクションブラインディングファクタr_t及びトランザクション金額tの組合せを取得するステップと、トランザクションコミットメント値Tを取得するステップと、を有する。トランザクション金額tは、トランザクションコミットメント値Tを取得するべく、トランザクションの送信者と関連する送信者ノードにより、コミットメント方式によってコミットされ、コミットメント方式は、少なくともトランザクションブラインディングファクタr_tを有する。いくつかの実施形態においては、第1キーは、トランザクションの送信者のプライベートキーSK_A及びトランザクションの受領者のパブリックキーPK_Bに基づいて、送信者ノードによって生成されている。
ブロック402は、対称キーペアの第2キーを生成するステップを有する。いくつかの実施形態においては、対称キーペアの第2キーを生成するステップは、Diffie−Hellman(DH)キー交換プロトコルの下において、トランザクションの受領者のプライベートキーSK_B及び送信者のパブリックキーPK_Aに基づいて対称キーペアの第2キーを生成するステップを有する。
ブロック403は、トランザクションブラインディングファクタr_t及びトランザクション金額tを取得するべく、受領者と関連する受領者ノードによって生成された第2キーにより、取得された組合せを暗号解読するステップを有する。
ブロック404は、少なくともトランザクションコミットメント値T、トランザクションブラインディングファクタr_t、及びトランザクション金額tに基づいてトランザクションを検証するステップを有する。
ノードAにおける(r_t||t)などの組合せ(r_t,t)を暗号化するステップの代わりに、ノードAは、(r_t,t)をノードBに送信し、これにより、図4A及び図4Bを参照して後述するように、ノードBが組合せ(r_t,t)を暗号化するようにしてもよい。図1〜図3のその他のステップ及び説明は、同様に、図4A及び図4Bにも適用しうる。
図4Aは、本開示の様々な実施形態による情報保護用の例示用の方法440のフローチャートを示している。方法440は、図1のシステム100の1つ又は複数のコンポーネント(例えば、ノードA、ノード1、ノードA及びノード1の組合せ)によって実装することができる。方法440は、プロセッサと、システム又は装置(例えば、プロセッサ)が方法440を実行するようにするべく、プロセッサによって実行される命令を保存する一時的ではないコンピュータ可読ストレージ媒体(例えば、メモリ)と、を有するシステム又は装置(例えば、コンピュータ、サーバー)によって実装することができる。以下において提示されている方法440の動作は、例示となることを意図したものである。実装形態に応じて、例示用の方法440は、様々な順序において、或いは、並行して、実行される、更に多くの数の、更に少ない数の、或いは、代替的な、ステップを含むことができる。
ブロック441は、トランザクションコミットメント値Tを取得するべく、トランザクションのトランザクション金額tをコミットメント方式によってコミットするステップを有しており、コミットメント方式は、少なくともトランザクションブラインディングファクタr_tを有する。
ブロック442は、受領者ノードが、トランザクションを検証するべく、且つ、トランザクションブラインディングファクタr_t及びトランザクション金額tを対称キーペアの第2キーによって暗号化するべく、トランザクション金額t、トランザクションブラインディングファクタr_t、及びトランザクションコミットメント値Tをトランザクションの受領者と関連する受領者ノードに送信するステップを有する。例えば、ノードBは、T=(PC(r_t,t)であるかどうかを検証することができると共に、ノードBは、E(baG,r_t||t)を取得するべく、キーbaGによって組合せを暗号化することができる。
ブロック443は、受領者ノードから、トランザクションブラインディングファクタr_t及びトランザクション金額tの暗号化済みの組合せ(例えば、E(baG,r_t||t)を取得するステップを有する。
ブロック444は、暗号化済みの組合せを暗号解読してトランザクションを検証するべく、対称キーペアの第1キーを生成するステップを有する。例えば、ノードAは、E(baG,r_t||t)を暗号解読するべく、第1キーabGを生成することができると共に、r_t及びtが正しいかどうかを検証することができる。r_t及びtが送信者及び受領者ノードによって相互に検証されたら、トランザクションを検証するためにブロックチェーンにサブミットすることができる。
図4Bは、本開示の様々な実施形態による情報保護用の例示用の方法450のフローチャートを示している。方法450は、図1のシステム100の1つ又は複数のコンポーネント(例えば、ノードB、ノード2、ノードB及びノード2の組合せなど)によって実装することができる。方法450は、プロセッサと、システム又は装置(例えば、プロセッサ)が方法450を実行するようにするべく、プロセッサによって実行される命令を保存する一時的ではないコンピュータ可読ストレージ媒体(例えば、メモリ)と、を有するシステム又は装置(例えば、コンピュータ、サーバー)によって実装することができる。以下において提示されている方法450の動作は、例示となることを意図したものである。実装形態に応じて、例示用の方法450は、様々な順序において、或いは、並行して、実行される、更に多くの数の、更に少ない数の、或いは、代替的な、ステップを含むことができる。
ブロック451は、トランザクションのトランザクション金額t、トランザクションブラインディングファクタr_t、及びトランザクションコミットメント値Tを取得するステップを有する。
ブロック452は、取得されたトランザクション金額t、取得されたトランザクションブラインディングファクタr_t、及び取得されたトランザクションコミットメント値Tに基づいて、トランザクションを検証するステップを有する。
ブロック453は、トランザクションの検証の成功に応答して、暗号化済みの組合せ(例えば、E(baG,r_t||t))を取得するべく、トランザクションブラインディングファクタr_t及びトランザクション金額tを対称キーペアの第2キーによって暗号化するステップを有する。
ブロック454は、暗号化済みの組合せをトランザクションの送信者と関連する送信者ノードに送信するステップを有する。
図示のように、演算技術の様々な改善を通じて、トランザクション金額のプライバシーを保護することができる。例えば、アカウント構造は、資産値のPedersenコミットメントと関連する第1フィールド(例えば、第1フィールドは、PC(r_{a_i},a_i)であり、iは、1〜mである)及びPedersenコミットメント及び資産値用のランダム数と関連する第2フィールド(例えば、第2フィールドは、E(...)である)などの、1つ又は複数のフィールドを有する。また、第1フィールド及び第2フィールドは、トランザクションステップにおいても使用され、且つ、ブロックチェーン内において保存されている。
別の例の場合には、対称キーは、それぞれのPedersenコミットメント及び対応する資産値のランダム数を暗号化するべく、且つ、暗号化済みのランダム数及び資産値を含むトランザクションをブロックチェーン内において保存するべく、使用されている。この方式は、このようなランダム数のローカル管理を不要としており、且つ、分散型の且つ一貫性を有するブロックチェーン保存に基づいてセキュリティを促進している。
更には、DHキー交換プロトコル又は代替プロトコルの下においては、直接的な通信が存在していない場合にも、ユーザーA及びユーザーBは、コミットメント及び資産値のランダム数を暗号化/暗号解読するべく、共通秘密(対称キーペアabG及びbaG)を共有している。対称キーペアは、対応するアカウントのパブリック−プライベートキーペアから取得されていることから、暗号化キーの更なる追加を伴うことなしに、ブロックチェーンを通じて、コミットメントのランダム数を効果的に保存することができる。
更に別の例の場合には、トランザクションの既存の資産が新しい資産及びトランザクションに照らしてバランスしており、且つ、それぞれの新しい資産の値が妥当な範囲内にある、ことを証明するべく、範囲証明が使用されている。更には、トランザクションパーティは、コミットされた値が取引資産の値とマッチングしているかどうかを検証するべく、コミットされたランダム数及び新しい資産の値を保護されたブロックチェーンとは切り離されたチャネルを通じて受領者に送信することができる。
従って、Pedersenコミットメントのランダム数は、破壊のリスクを伴うことなしに、且つ、更なるキー管理の負担の生成を伴うことなしに、便利に管理することができる。従って、トランザクションのプライバシーを完全に保護することが可能であり、且つ、トランザクション金額を秘密として維持することができる。
本明細書において記述されている技法は、1つ又は複数の特殊目的演算装置によって実装される。特殊目的演算装置は、デスクトップコンピュータシステム、サーバーコンピュータシステム、携帯型コンピュータシステム、ハンドヘルド装置、ネットワーキング装置、又は技法を実装するべく配線接続された且つ/又はプログラムのロジックを内蔵する任意のその他の装置又は装置の組合せであってもよい。1つ又は複数の演算装置は、一般に、オペレーティングシステムソフトウェアによって制御及び調整されている。従来のオペレーティングシステムは、その他のものに加えて、実行のためにコンピュータプロセスを制御及びスケジューリングし、メモリ管理を実行し、ファイルシステム、ネットワーキング、入出力サービスを提供し、且つ、グラフィカルユーザーインターフェイス(「GUI:Graphical User Interface」)などの、ユーザーインターフェイス機能を提供している。
図5は、本明細書において記述されている実施形態の任意のものが実装されうるコンピュータシステム500を示すブロック図である。システム500は、本明細書において記述されているノードの任意のものの内部において実装することができると共に、情報保護方法用の対応するステップを実行するように構成することができる。コンピュータシステム500は、バス502又は情報を伝達するためのその他の通信メカニズムと、情報を処理するべくバス502と結合された1つ又は複数のハードウェアプロセッサ504と、を含む。1つ又は複数のハードウェアプロセッサ504は、例えば、1つ又は複数の汎用マイクロプロセッサであってよい。
また、コンピュータシステム500は、1つ又は複数のプロセッサ504によって実行される情報及び命令を保存するべくバス502に結合された、ランダムアクセスメモリ(RAM:Random Access Memory)、キャッシュ、及び/又はその他のダイナミックストレージ装置などの、メインメモリ506を含む。また、メインメモリ506は、1つ又は複数のプロセッサ504によって実行される命令の実行の際に、一時的変数又はその他の中間情報を保存するべく、使用することもできる。このような命令は、1つ又は複数のプロセッサ504からアクセス可能であるストレージ媒体内において保存された際に、コンピュータシステム500を命令の内部において規定された動作を実行するべくカスタマイズされた特殊目的機械に変換する。コンピュータシステム500は、読み出し専用メモリ(ROM:Read Only Memory)508又は1つ又は複数のプロセッサ504用のスタティックな情報及び命令を保存するべくバス502に結合されたその他のスタティックストレージ装置を更に含む。磁気ディスク、光ディスク、又はUSBサムドライブ(Flashドライブ)などのような、ストレージ装置510が、情報及び命令を保存するべく、提供され、且つ、バス502に結合されている。
コンピュータシステム500は、コンピュータシステムとの組合せにおいて、コンピュータシステム500が特殊目的機械となるようにする又はプログラムする、カスタマイズされた配線接続されたロジック、1つ又は複数のASIC又はFPGA、ファームウェア、及び/又はプログラムロジックを使用することにより、本明細書において記述されている技法を実装することができる。一実施形態によれば、本明細書において記述されている動作、方法、及びプロセスは、1つ又は複数のプロセッサ504がメインメモリ506内において含まれている1つ又は複数の命令の1つ又は複数のシーケンスを実行することに応答して、コンピュータシステム500によって実行されている。このような命令は、ストレージ装置510などの別のストレージ媒体からメインメモリ506内に読み込むことができる。メインメモリ506内において含まれている命令のシーケンスを実行することにより、1つ又は複数のプロセッサ504は、本明細書において記述されているプロセスステップを実行する。代替実施形態においては、ソフトウェア命令の代わりに、或いは、これとの組合せおいて、配線接続された回路を使用することができる。
メインメモリ506、ROM508、及び/又はストレージ510は、一時的ではないストレージ媒体を含むことができる。本明細書において使用されている「一時的ではない媒体(non−transitory media)」という用語及び類似の用語は、機械が特定の方式で稼働するようにする、データ及び/又は命令を保存する媒体を意味しており、媒体は、一時的な信号を除外している。このような一時的ではない媒体は、不揮発性の媒体及び/又は揮発性の媒体を有することができる。不揮発性の媒体は、例えば、ストレージ装置510などの、光又は磁気ディスクを含む。揮発性の媒体は、メインメモリ506などの、ダイナミックメモリを含む。一時的ではない媒体の一般的な形態は、例えば、フロッピーディスク、フレキシブルディスク、半導体ドライブ、磁気テープ又は任意のその他の磁気データストレージ媒体、CD−ROM、任意のその他の光データストレージ媒体、孔のパターンを有する任意の物理的媒体、RAM、PROM、EPROM、FLASH−EPROM、NVRAM、任意のその他のメモリチップ又はカートリッジ、及びこれらのもののネットワーク接続されたバージョンを含む。
また、コンピュータシステム500は、バス502に結合されたネットワークインターフェイス518を含む。ネットワークインターフェイス518は、1つ又は複数のローカルネットワークに接続された1つ又は複数のネットワークリンクに対する双方向データ通信結合を提供している。例えば、ネットワークインターフェイス518は、統合型サービスデジタルネットワーク(ISDN:Integrated Services Ditital Network)カード、ケーブルモデム、衛星モデム、又は電話線の対応するタイプに対してデータ通信接続を提供するモデムであってもよい。別の例として、ネットワークインターフェイス518は、互換性を有するローカルエリアネットワーク(LAN:Local Area Network)(或いは、WANと通信するためのWANコンポーネント)に対してデータ通信接続を提供するべく、LANカードであってもよい。また、無線リンクを実装することもできる。任意のこのような実装形態においては、ネットワークインターフェイス518は、様々なタイプの情報を表すデジタルデータストリームを搬送する電気、電磁、又は光信号を送信及び受信している。
コンピュータシステム500は、1つ又は複数のネットワーク、ネットワークリンク、及びネットワークインターフェイス518を通じて、メッセージを送信することが可能であり、且つ、プログラムコードを含むデータを受信することができる。インターネットの例においては、サーバーは、要求されたアプリケーションプログラムのコードをインターネット、ISP、ローカルネットワーク、及びネットワークインターフェイス518を通じて送信することができよう。
受け取られたコードは、受け取られるのに伴って、1つ又は複数のプロセッサ504によって実行されてもよく、且つ/又は、後で実行するべく、ストレージ装置510又はその他の不揮発性のストレージ内において保存されてもよい。
以上の節において記述されているプロセス、方法、及びアルゴリズムのそれぞれは、1つ又は複数のコンピュータシステム又はコンピュータハードウェアを有するコンピュータプロセスによって実行されるコードモジュールとして実施されてもよく、且つ、これにより、完全に又は部分的に、自動化されてもよい。プロセス及びアルゴリズムは、アプリケーション固有の回路において、部分的に又は完全に実装されてもよい。
上述の様々な特徴及びプロセスは、互いに独立的に使用されてもよく、或いは、様々な方式によって組み合わせられてもよい。すべての可能な組合せ及びサブ組合せは、本開示の範囲に含まれることが意図されている。これに加えて、特定の方法又はプロセスブロックは、いくつかの実装形態においては、省略されてもよい。また、本明細書において記述されている方法及びプロセスは、任意の特定のシーケンスに限定されるものではなく、且つ、これらに関係するブロック及び状態は、適するその他のシーケンスにおいて実行することができる。例えば、記述されているブロック又は状態は、具体的に開示されているもの以外の順序において実行されてもよく、或いは、複数のブロック又は状態が、単一のブロック又は状態において組み合わせられてもよい。例示用のブロック又は状態は、連続的に、並行して、或いは、なんらかのその他の方式により、実行されてもよい。ブロック又は状態は、開示されている例示用の実施形態に追加されてもよく、或いは、これから除去されてもよい。本明細書において記述されている例示用のシステム及びコンポーネントは、記述されているものとは異なる方式により、構成されてもよい。例えば、要素は、開示されている例示用の実施形態に追加されてもよく、これから除去されてもよく、或いは、これらとの比較において再構成されてもよい。
本明細書において記述されている例示用の方法の様々な動作は、少なくとも部分的に、アルゴリズムにより、実行されてもよい。アルゴリズムは、メモリ(例えば、上述の一時的ではないコンピュータ可読ストレージ媒体)内において保存されたプログラムコード又は命令に含まれていてもよい。このようなアルゴリズムは、機械学習アルゴリズムを有することができる。いくつかの実施形態においては、機械学習アルゴリズムは、機能を実行するように明示的にコンピュータをプログラミングすることはできないが、機能を実行する予測モデルを生成するべく、トレーニングデータから学習することができる。
本明細書において記述されている例示用の方法の様々な動作は、少なくとも部分的に、関連する動作を実行するように、(例えば、ソフトウェアによって)一時的に構成された、或いは、永久的に構成された、1つ又は複数のプロセッサによって実行することができる。一時的に構成されているのか又は永久的に構成されているのかとは無関係に、このようなプロセッサは、本明細書において記述されている1つ又は複数の動作又は機能を実行するべく動作する、プロセッサ実装されたエンジンを構成することができる。
同様に、本明細書において記述されている方法は、少なくとも部分的にプロセッサ実装されてもよく、この場合に、特定の1つ又は複数のプロセッサは、ハードウェアの一例である。例えば、方法の動作のうちの少なくともいくつかは、1つ又は複数のプロセッサ又はプロセッサ実装されたエンジンによって実行されてもよい。更には、1つ又は複数のプロセッサは、「クラウド演算」環境内において、或いは、「ソフトウェアアズアサービス(Saas:Software as a service)」として、関連する動作の実行をサポートするように動作することもできる。例えば、動作のうちの少なくともいくつかは、これらの動作がネットワーク(例えば、インターネット)を介して、且つ、1つ又は複数の適切なインターフェイス(例えば、アプリケーションプログラムインターフェイス(API:Application Program Interface))を介して、アクセス可能である状態において、(プロセッサを含む機械の例としての)コンピュータのグループによって実行されてもよい。
特定の動作の実行は、単一の機械内に存在するのみならず、いくつかの機械に跨って配備された、プロセッサに跨って分散させられてもよい。いくつかの例示用の実施形態においては、プロセッサ又はプロセッサ実装されたエンジンは、単一の地理的場所内(例えば、自宅環境内、オフィス環境内、又はサーバーファーム内)において配置されてもよい。その他の例示用の実施形態においては、プロセッサ又はプロセッサ実装されたエンジンは、いくつかの地理的場所に跨って分散させられてもよい。
本明細書の全体を通じて、複数のインスタンスにより、単一のインスタンスとして記述されているコンポーネント、動作、又は構造を実装することができる。1つ又は複数の方法の個々の動作が、別個の動作として図示及び記述されているが、個々の動作のうちの1つ又は複数が同時に実行されてもよく、従って、動作が図示の順序において実行されることを必要としているものは、なにもない。例示用の構成において別個のコンポーネントとして提示されている構造及び機能は、組み合わせられた構造又はコンポーネントとして実装されてもよい。同様に、単一のコンポーネントとして提示されている構造及び機能も、別個のコンポーネントとして実装されてもよい。これらの及びその他の変更、変形、追加、及び改善は、本明細書における主題の範囲に含まれる。
以上、特定の例示用の実施形態を参照し、主題の概要について説明したが、本開示の実施形態のより広い範囲を逸脱することなしに、これらの実施形態に対して様々な変更及び変形を実施することができる。本主題のこのような実施形態は、本明細書においては、利便を目的としてのみ、且つ、複数が実際に開示されている場合に、本出願の範囲を任意の単一の開示又は概念に自発的に限定する意図を伴うことなしに、個々に又は集合的に、「発明」という用語のみにより、参照されている場合がある。「発明を実施するための形態」は、限定の意味において解釈されてはならず、且つ、様々な実施形態の範囲は、添付の請求項に許される均等物の完全な範囲と共に、添付の請求項によってのみ定義される。

Claims (23)

  1. 情報保護用のコンピュータ実装された方法であって、
    トランザクションコミットメント値Tを取得するべく、トランザクションのトランザクション金額tをコミットメント方式によってコミットするステップであって、前記コミットメント方式は、少なくともトランザクションブラインディングファクタr_tを有する、ステップと、
    対称キーペアの第1キーを生成するステップと、
    前記トランザクションブラインディングファクタr_t及び前記トランザクション金額tの組合せを前記第1キーによって暗号化するステップと、
    前記トランザクションの受領者ノードが前記トランザクションを検証するべく、前記トランザクションコミットメント値T及び暗号化済みの組合せを前記受領者と関連する受領者ノートに送信するステップと、
    を有する方法。
  2. 前記第1キーを生成するステップは、Diffie−Hellman(DH)キー交換プロトコルの下において、前記トランザクションの送信者のプライベートキーSK_A及び前記受領者のパブリックキーPK_Bに基づいて前記第1キーを生成するステップを有する請求項1に記載の方法。
  3. 前記コミットメント方式は、少なくとも前記トランザクションブラインディングファクタr_tに基づいた、且つ、前記トランザクション金額tが、コミット済みの値である状態における、Pedersenコミットメントを有する請求項1に記載の方法。
  4. 前記トランザクションブラインディングファクタr_t及び前記トランザクション金額tの前記組合せは、前記トランザクションブラインディングファクタr_t及び前記トランザクション金額tの連結を有する請求項1に記載の方法。
  5. 前記トランザクションの前記受領者と関連する前記受領者ノードが前記トランザクションを検証するべく、前記トランザクションコミットメント値T及び前記暗号化済みの組合せを前記受領者ノードに送信するステップは、
    前記トランザクションコミットメント値T及び前記暗号化済みの組合せを前記トランザクションの前記受領者と関連する前記受領者ノードに送信し、これにより、前記受領者ノードが、
    前記トランザクションの前記受領者のプライベートキーSK_B及び送信者のパブリックキーPK_Aに基づいて前記対称キーペアの第2キーを生成し、
    前記トランザクションブラインディングファクタr_t及び前記トランザクション金額tを取得するべく、前記受領者によって生成された前記第2キーによって前記暗号化済みの組合せを暗号解読し、且つ、
    少なくとも前記トランザクションコミットメント値T、前記トランザクションブラインディングファクタr_t、及び前記トランザクション金額tに基づいて、前記トランザクションを検証する、
    ようにするステップを有する請求項1に記載の方法。
  6. 前記受領者ノードが、少なくとも前記トランザクションコミットメント値T、前記トランザクションブラインディングファクタr_t、及び前記トランザクション金額tに基づいて前記トランザクションを検証するようにするステップは、前記受領者ノードが、
    前記トランザクションコミットメント値Tが前記トランザクション金額tの前記コミットメント方式とマッチングしていないと前記トランザクションブラインディングファクタr_tに基づいて判定することに応答して、前記トランザクションを拒絶し、且つ、
    前記トランザクションコミットメント値Tが前記トランザクション金額tの前記コミットメント方式とマッチングしていると前記トランザクションブラインディングファクタr_tに基づいて判定することに応答して、受領者署名SIGBを生成して前記送信者と関連する送信者ノードに返すべく前記トランザクションに署名することにより、前記トランザクションを承認する、
    ようにするステップを有する請求項5に記載の方法。
  7. 前記暗号化済みの組合せを前記受領者と関連する前記受領者ノードに送信する前に、
    変化コミットメント値Yを取得するべく、前記トランザクションの変化yを前記コミットメント方式によってコミットするステップであって、前記コミットメント方式は、少なくとも変化ブラインディングファクタr_tを有し、前記変化yは、前記トランザクションのために利用される前記送信者の1つ又は複数の資産から前記トランザクション金額tを差し引いたものである、ステップと、
    前記送信者のプライベートキーSK_A及び前記送信者の前記パブリックキーPK_Aに基づいて別のキーを生成するステップと、
    前記変化ブラインディングファクタr_y及び前記変化yの別の組合せを前記別のキーによって暗号化するステップと、
    を更に有する請求項6に記載の方法。
  8. 前記受領者署名SIGBの受け取りに応答して、送信者署名SIGAを生成するべく前記トランザクションに署名することにより、前記トランザクションを承認するステップと、
    ブロックチェーンネットワーク内の1つ又は複数のノードが前記トランザクションを検証するべく、前記暗号化済みの組合せ、前記暗号化済みの別の組合せ、前記トランザクションコミットメント値T、前記変化コミットメント値Y、前記送信者署名SIGA、及び前記受領者署名SIGBを有する前記トランザクションを前記1つ又は複数のノードにサブミットするステップと、
    を更に有する請求項7に記載の方法。
  9. 前記ブロックチェーンネットワーク内の前記1つ又は複数のノードが前記トランザクションを検証するべく、前記暗号化済みの組合せ、前記暗号化済みの別の組合せ、前記トランザクションコミットメント値T、前記変化コミットメント値Y、前記送信者署名SIGA、及び前記受領者署名SIGBを有する前記トランザクションを前記1つ又は複数のノードにサブミットするステップは、
    前記暗号化済みの組合せ、前記暗号化済みの別の組合せ、前記トランザクションコミットメント値T、前記変化コミットメント値Y、前記送信者署名SIGA、及び前記受領者署名SIGBを有する前記トランザクションを前記ブロックチェーンネットワーク内の前記1つ又は複数のノードにサブミットし、これにより、前記1つ又は複数のノードが、前記トランザクションの検証の成功に応答して、前記トランザクション金額tを前記受領者に発行し、前記トランザクションのために利用された前記1つ又は複数の資産を除去し、且つ、前記変化yを前記送信者に発行するようにするステップ、
    を有する請求項8に記載の方法。
  10. プロセッサが動作を実行するようにするべく、前記プロセッサによって実行される命令を保存する一時的ではないコンピュータ可読ストレージ媒体であって、
    前記動作は、
    トランザクションコミットメント値Tを取得するべく、トランザクションのトランザクション金額tをコミットメント方式によってコミットするステップであって、前記コミットメント方式は、少なくともトランザクションブラインディングファクタr_tを有する、ステップと、
    対称キーペアの第1キーを生成するステップと、
    前記トランザクションブラインディングファクタr_t及び前記トランザクション金額tの組合せを前記第1キーによって暗号化するステップと、
    前記トランザクションの受領者と関連する受領者ノードが前記トランザクションを検証するべく、前記トランザクションコミットメント値T及び前記暗号化済みの組合せを前記受領者ノードに送信するステップと、
    を有する、ストレージ媒体。
  11. 前記第1キーを生成するステップは、Diffie−Hellman(DH)キー交換プロトコルの下において、前記トランザクションの送信者のプライベートキーSK_A及び前記受領者のパブリックキーPK_Bに基づいて前記第1キーを生成するステップを有する請求項10に記載のストレージ媒体。
  12. 前記コミットメント方式は、少なくとも前記トランザクションブラインディングファクタr_tに基づいた、且つ、前記トランザクション金額tが、コミット済みの値である状態における、Pedersenコミットメントを有する請求項10に記載のストレージ媒体。
  13. 前記トランザクションブラインディングファクタr_t及び前記トランザクション金額tの前記組合せは、前記トランザクションブラインディングファクタr_t及び前記トランザクション金額tの連結を有する請求項10に記載のストレージ媒体。
  14. 前記トランザクションの前記受領者と関連する前記受領者ノードが前記トランザクションを検証するべく、前記トランザクションコミットメント値T及び前記暗号化済みの組合せを前記受領者ノードに送信するステップは、前記トランザクションコミットメント値T及び前記暗号化済みの組合せを前記トランザクションの前記受領者と関連する前記受領者ノードに送信し、これにより、前記受領者ノードが、
    前記トランザクションの前記受領者のプライベートキーSK_B及び送信者のパブリックキーPK_Aに基づいて前記対称キーペアの第2キーを生成し、
    前記トランザクションブラインディングファクタr_t及び前記トランザクション金額tを取得するべく、前記受領者ノードによって生成された前記第2キーによって前記暗号化済みの組合せを暗号解読し、且つ、
    少なくとも前記トランザクションコミットメント値T、前記トランザクションブラインディングファクタr_t、及び前記トランザクション金額Tに基づいて前記トランザクションを検証する、
    ようにするステップを有する請求項10に記載のストレージ媒体。
  15. 前記受領者ノードが、少なくとも前記トランザクションコミットメント値T、前記トランザクションブラインディングファクタr_t、及び前記トランザクション金額tに基づいて前記トランザクションを検証するようにするステップは、前記受領者ノードが、
    前記トランザクションコミットメント値Tが前記トランザクション金額tの前記コミットメント方式とマッチングしていないと前記トランザクションブラインディングファクタr_tに基づいて判定することに応答して、前記トランザクションを拒絶し、且つ、
    前記トランザクションコミットメント値Tが前記トランザクション金額tの前記コミットメント方式とマッチングしていると前記トランザクションブラインディングファクタr_tに基づいて判定することに応答して、受領者署名SIGBを生成して前記送信者と関連する送信者ノードに返すべく前記トランザクションに署名することにより、前記トランザクションを承認する、
    ようにするステップを有する請求項14に記載のストレージ媒体。
  16. 前記暗号化済みの組合せを前記受領者と関連する前記受領者ノードに送信する前に、前記動作は、
    変化コミットメント値Yを取得するべく、前記トランザクションの変化yを前記コミットメント方式によってコミットするステップであって、前記コミットメント方式は、少なくとも変化ブラインディングファクタr_yを有し、前記変化yは、前記トランザクションのために利用される前記送信者の1つ又は複数の資産から前記トランザクション金額tを差し引いたものである、ステップと、
    前記送信者のプライベートキーSK_A及び前記送信者の前記パブリックキーPK_Aに基づいて別のキーを生成するステップと、
    前記変化ブラインディングファクタr_y及び前記変化yの別の組合せを前記別のキーによって暗号化するステップと、
    を更に有する請求項15に記載のストレージ媒体。
  17. 前記動作は、
    前記受領者署名SIGBの受け取りに応答して、送信者署名SIGAを生成するべく前記トランザクションに署名することにより、前記トランザクションを承認するステップと、
    ブロックチェーンネットワーク内の1つ又は複数のノードが前記トランザクションを検証するべく、前記暗号化済みの組合せ、前記暗号化済みの別の組合せ、前記トランザクションコミットメント値T、前記変化コミットメント値Y、前記送信者署名SIGA、及び前記受領者署名SIGBを有する前記トランザクションを前記1つ又は複数のノードにサブミットするステップと、
    を更に有する請求項16に記載のストレージ媒体。
  18. 前記ブロックチェーンネットワーク内の前記1つ又は複数のノードが前記トランザクションを検証するべく、前記暗号化済みの組合せ、前記暗号化済みの別の組合せ、前記トランザクションコミットメント値T、前記変化コミットメント値Y、前記送信者署名SIGA、及び前記受領者署名SIGBを有する前記トランザクションを前記1つ又は複数のノードにサブミットするステップは、
    前記暗号化済みの組合せ、前記暗号化済みの別の組合せ、前記トランザクションコミットメント値T、前記変化コミットメント値Y、前記送信者署名SIGA、及び前記受領者署名SIGBを有する前記トランザクションを前記ブロックチェーンネットワーク内の前記1つ又は複数のノードにサブミットし、これにより、前記1つ又は複数のノードが、前記トランザクションの検証の成功に応答して、前記トランザクション金額tを前記受領者に発行し、前記トランザクションのために利用された前記1つ又は複数の資産を除去し、且つ、前記変化yを前記送信者に発行する、ようにするステップ
    を有する請求項17に記載のストレージ媒体。
  19. 情報保護用のシステムであって、
    プロセッサと、
    前記プロセッサに結合された一時的ではないコンピュータ可読ストレージ媒体と、
    を有し、
    前記ストレージ媒体は、前記システムが動作を実行するようにするべく、前記プロセッサによって実行される命令を保存しており、
    前記動作は、
    トランザクションコミットメント値Tを取得するべく、トランザクションのトランザクション金額tをコミットメント方式によってコミットするステップであって、前記コミットメント方式は、少なくともトランザクションブラインディングファクタr_tを有する、ステップと、
    対称キーペアの第1キーを生成するステップと、
    前記トランザクションブラインディングファクタr_t及び前記トランザクション金額tの組合せを前記第1キーによって暗号化するステップと、
    前記トランザクションの受領者と関連する受領者ノードが前記トランザクションを検証するべく、前記トランザクションコミットメント値T及び前記暗号化済みの組合せを前記受領者ノードに送信するステップと、
    を有する、システム。
  20. 情報保護用のコンピュータ実装された方法であって、
    対称キーペアの第1キーによって暗号化されたトランザクションブラインディングファクタr_t及びトランザクション金額tの組合せを取得し、且つ、トランザクションコミットメント値Tを取得するステップであって、前記トランザクション金額tは、前記トランザクションコミットメント値Tを取得するべく、トランザクションの送信者と関連する送信者ノードにより、コミットメント方式によってコミットされ、前記コミットメント方式は、少なくとも前記トランザクションブラインディングファクタr_tを有する、ステップと、
    前記対称キーペアの第2キーを生成するステップと、
    前記トランザクションブラインディングファクタr_t及び前記トランザクション金額tを取得するべく、前記トランザクションの受領者と関連する受領者ノードによって生成された前記第2キーによって前記取得された組合せを暗号解読するステップと、
    少なくとも前記トランザクションコミットメント値T、前記トランザクションブラインディングファクタr_t、及び前記トランザクション金額tに基づいて前記トランザクションを検証するステップと、
    を有する方法。
  21. 前記対称キーペアの前記第2キーを生成するステップは、Diffie−Hellman(DH)キー交換プロトコルの下において前記受領者のプライベートキーSK_B及び前記送信者のパブリックキーPK_Aに基づいて前記対称キーペアの前記第2キーを生成するステップを有し、且つ、
    前記コミットメント方式は、少なくとも前記トランザクションブラインディングファクタr_tに基づいた、且つ、前記トランザクション金額tが、コミット済みの値である状態における、Pedersenコミットメントを有する請求項20に記載の方法。
  22. プロセッサが動作を実行するようにするべく、前記プロセッサによって実行される命令を保存する一時的ではないコンピュータ可読ストレージ媒体であって、
    前記動作は、
    対称キーペアの第1キーによって暗号化されたトランザクションブラインディングファクタr_t及びトランザクション金額tの組合せを取得し、且つ、トランザクションコミットメント値Tを取得するステップであって、前記トランザクション金額tは、前記トランザクションコミットメント値Tを取得するべく、トランザクションの送信者と関連する送信者ノードにより、コミットメント方式によってコミットされ、前記コミットメント方式は、少なくとも前記トランザクションブラインディングファクタr_tを有する、ステップと、
    前記対称キーペアの第2キーを生成するステップと、
    前記トランザクションブラインディングファクタr_t及び前記トランザクション金額tを取得するべく前記トランザクションの受領者と関連する受領者ノードによって生成された前記第2キーによって前記取得済みの組合せを暗号解読するステップと、
    少なくとも前記トランザクションコミットメント値T、前記トランザクションブラインディングファクタr_t、及び前記トランザクション金額tに基づいて前記トランザクションを検証するステップと、
    を有する、ストレージ媒体。
  23. 情報保護用のシステムであって、
    プロセッサと、
    前記プロセッサに結合された一時的ではないコンピュータ可読ストレージ媒体と、
    を有し、
    前記ストレージ媒体は、前記システムが動作を実行するようにするべく、前記プロセッサによって実行される命令を保存しており、
    前記動作は、
    対称キーペアの第1キーによって暗号化されたトランザクションブラインディングファクタr_t及びトランザクション金額tの組合せを取得し、且つ、トランザクションコミットメント値Tを取得するステップであって、前記トランザクション金額tは、前記トランザクションコミットメント値Tを取得するべく、トランザクションの送信者と関連する送信者ノードによってコミットメント方式によってコミットされ、前記コミットメント方式は、少なくとも前記トランザクションブラインディングファクタr_tを有する、ステップと、
    前記対称キーペアの第2キーを生成するステップと、
    前記トランザクションブラインディングファクタr_t及び前記トランザクション金額tを取得するべく、前記トランザクションの受領者と関連する受領者ノードによって生成された前記第2キーによって前記取得済みの組合せを暗号解読するステップと、
    少なくとも前記トランザクションコミットメント値T、前記トランザクションブラインディングファクタr_t、及び前記トランザクション金額tに基づいて前記トランザクションを検証するステップと、
    を有する、システム。
JP2019520982A 2018-11-27 2018-11-27 情報保護用のシステム及び方法 Active JP6724249B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/117552 WO2019072276A2 (en) 2018-11-27 2018-11-27 INFORMATION PROTECTION SYSTEM AND METHOD

Publications (3)

Publication Number Publication Date
JP2019537744A true JP2019537744A (ja) 2019-12-26
JP2019537744A5 JP2019537744A5 (ja) 2020-04-30
JP6724249B2 JP6724249B2 (ja) 2020-07-15

Family

ID=66100013

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019520982A Active JP6724249B2 (ja) 2018-11-27 2018-11-27 情報保護用のシステム及び方法

Country Status (18)

Country Link
US (2) US11277389B2 (ja)
EP (2) EP3549303B1 (ja)
JP (1) JP6724249B2 (ja)
KR (1) KR102170346B1 (ja)
CN (1) CN109937557B (ja)
AU (1) AU2018327218B2 (ja)
BR (1) BR112019007727A2 (ja)
CA (1) CA3040601C (ja)
ES (1) ES2875581T3 (ja)
MX (1) MX379839B (ja)
MY (1) MY193900A (ja)
PH (1) PH12019500556A1 (ja)
PL (1) PL3549303T3 (ja)
RU (1) RU2719423C1 (ja)
SG (1) SG11201902778UA (ja)
TW (1) TWI706275B (ja)
WO (1) WO2019072276A2 (ja)
ZA (1) ZA201902470B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7686057B1 (ja) 2023-12-25 2025-05-30 ジクリプト インコーポレイテッド ペデルセンコミットを活用したリザーブコントラクト方法およびペデルセンコミット基盤ゼロ知式証明アルゴリズムを活用したリザーブ検証方法

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201805633D0 (en) * 2018-04-05 2018-05-23 Nchain Holdings Ltd Computer implemented method and system
CN111768304A (zh) 2018-08-06 2020-10-13 阿里巴巴集团控股有限公司 区块链交易方法及装置、电子设备
BR112019008058A2 (pt) 2018-11-27 2019-11-12 Alibaba Group Holding Ltd sistema e método para proteção de informações
ES2859569T3 (es) 2018-11-27 2021-10-04 Advanced New Technologies Co Ltd Sistema y método para la protección de información
ES2863552T3 (es) 2018-11-27 2021-10-11 Alibaba Group Holding Ltd Sistema y método para protección de información
JP6724249B2 (ja) 2018-11-27 2020-07-15 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited 情報保護用のシステム及び方法
US10700850B2 (en) 2018-11-27 2020-06-30 Alibaba Group Holding Limited System and method for information protection
BR112019007907A2 (pt) 2018-11-27 2019-11-12 Alibaba Group Holding Ltd sistema e método para proteção de informações
US10764029B1 (en) * 2019-04-02 2020-09-01 Carey Patrick Atkins Asymmetric Encryption Algorithm
AU2019207310A1 (en) 2019-04-26 2020-11-12 Advanced New Technologies Co., Ltd. Anti-replay attack authentication protocol
GB2588072A (en) 2019-05-24 2021-04-21 Nchain Holdings Ltd Malleability of transactions for inclusion in a blockchain
GB201907344D0 (en) 2019-05-24 2019-07-10 Nchain Holdings Ltd Multi-input transactions
GB2587773A (en) * 2019-05-24 2021-04-14 Nchain Holdings Ltd Streaming portions of data over a side channel
CN110399735A (zh) * 2019-06-21 2019-11-01 深圳壹账通智能科技有限公司 加密数据大小关系证明方法、装置、设备及存储介质
CN112150281B (zh) * 2019-06-28 2023-09-26 北京国盾量子信息技术有限公司 一种数字货币的交易方法、装置及系统
CN111030821B (zh) * 2019-08-27 2022-07-12 杭州云象网络技术有限公司 一种基于双线性映射技术的联盟链的加密方法
CN110706101B (zh) * 2019-08-30 2021-06-29 创新先进技术有限公司 在区块链中并发执行交易的方法和装置
CN110545279A (zh) * 2019-09-05 2019-12-06 国网区块链科技(北京)有限公司 兼具隐私和监管功能的区块链交易方法、装置及系统
CN112465500A (zh) 2019-09-09 2021-03-09 本田技研工业株式会社 用于在区块链内保护私钥交易的系统和方法
CN110781503B (zh) * 2019-09-18 2022-05-17 深圳壹账通智能科技有限公司 数据调用方法、装置及计算机可读存储介质
JP7372527B2 (ja) * 2019-09-26 2023-11-01 富士通株式会社 通信中継プログラム、中継装置、及び通信中継方法
CN112769548B (zh) * 2019-11-05 2022-09-20 深圳市迅雷网络技术有限公司 一种区块链数值信息传输方法、系统、装置及计算机介质
CN110580418B (zh) * 2019-11-08 2020-04-07 支付宝(杭州)信息技术有限公司 基于区块链账户的隐私数据查询方法及装置
CN110933045A (zh) * 2019-11-08 2020-03-27 中国电子科技网络信息安全有限公司 一种基于承诺的区块链数字资产隐私保护方法
CN113055178B (zh) * 2019-12-27 2022-08-16 深圳市迅雷网络技术有限公司 区块链系统及数值信息传输方法、系统、装置、介质
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities
CN111340489B (zh) * 2020-02-21 2023-11-14 数据通信科学技术研究所 可监管的交易接收者保护方法和装置
CN111523894A (zh) * 2020-05-06 2020-08-11 杭州复杂美科技有限公司 数据延时公布方法、设备和存储介质
CN111600703B (zh) * 2020-05-12 2023-08-04 京东科技信息技术有限公司 基于sm2的签名方法、系统、电子设备及存储介质
CN111709738B (zh) * 2020-05-18 2023-08-01 杜晓楠 区块链系统中隐藏交易金额的方法、计算机可读存储介质和区块链系统
EP3844655B1 (en) * 2020-06-08 2023-05-03 Alipay Labs (Singapore) Pte. Ltd. Managing user authorizations for blockchain-based custom clearance services
SG11202102583UA (en) 2020-06-08 2021-04-29 Alipay Labs Singapore Pte Ltd Blockchain-based document registration for custom clearance
SG11202102366SA (en) 2020-06-08 2021-04-29 Alipay Labs Singapore Pte Ltd User management of blockchain-based custom clearance service platform
SG11202103226UA (en) 2020-06-08 2021-04-29 Alipay Labs Singapore Pte Ltd Blockchain-based smart contract pools
SG11202103081RA (en) 2020-06-08 2021-04-29 Alipay Labs Singapore Pte Ltd Distributed storage of custom clearance data
SG11202102402QA (en) 2020-06-08 2021-04-29 Alipay Labs Singapore Pte Ltd Blockchain-based import custom clearance data processing
CN113014384B (zh) * 2021-03-16 2022-07-15 平安付科技服务有限公司 基于dh密钥交换算法的数据比较方法、装置、计算机设备及存储介质
US20220368683A1 (en) * 2021-05-14 2022-11-17 Verizon Patent And Licensing Inc. Systems and methods for collaborative blockchain establishment for blockchain-based secure key exchange
US11849032B2 (en) * 2021-05-14 2023-12-19 Verizon Patent And Licensing Inc. Systems and methods for blockchain-based secure key exchange
US11748333B2 (en) 2021-06-30 2023-09-05 Dropbox, Inc. Verifying data consistency using verifiers in a content management system for a distributed key-value database
CN113706150B (zh) * 2021-10-27 2022-02-08 深圳前海微众银行股份有限公司 一种区块确认方法及装置
CN114565382B (zh) * 2022-03-01 2025-04-25 江苏幺贰凌玖科技服务有限公司 一种交易账户匿名支付方法及系统
JP2024022912A (ja) * 2022-08-08 2024-02-21 富士通株式会社 情報秘匿化プログラム、情報秘匿化方法及び情報管理装置
JP2024024554A (ja) * 2022-08-09 2024-02-22 富士通株式会社 対価分配プログラム、対価分配方法及び情報管理装置
CN115955315B (zh) * 2022-12-27 2024-08-23 浙江吉利控股集团有限公司 环机密交易的签名验证方法、系统、设备及可读存储介质
CN115809482B (zh) * 2023-02-01 2023-05-16 上海金仕达软件科技股份有限公司 基于随机数混淆的数据聚合计算方法、装置、介质及设备
CN116389164B (zh) * 2023-05-26 2023-09-12 建信金融科技有限责任公司 数据的检测方法及装置
CN118316605B (zh) * 2024-06-07 2024-11-01 浪潮软件科技有限公司 一种多方安全通信方法及装置
CN119903555A (zh) * 2025-03-31 2025-04-29 华泽中熙(北京)科技发展有限公司 一种用于商品供应平台的多方隐私数据求交方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000299683A (ja) * 1999-02-10 2000-10-24 Nippon Telegr & Teleph Corp <Ntt> 複数公開鍵保存方法、その装置およびそのプログラム記録媒体
JP2007226777A (ja) * 2006-01-25 2007-09-06 Matsushita Electric Ind Co Ltd 端末装置、サーバ装置及びデジタルコンテンツ配信システム
JP2010135928A (ja) * 2008-12-02 2010-06-17 Nippon Telegr & Teleph Corp <Ntt> ビットコミットメント検証システム、ビットコミットメント装置、検証装置、ビットコミットメント検証方法、ビットコミットメント方法、検証方法、ビットコミットメントプログラム、検証プログラム
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
WO2017145016A1 (en) * 2016-02-23 2017-08-31 nChain Holdings Limited Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
JP2018055203A (ja) * 2016-09-26 2018-04-05 Gmoインターネット株式会社 データ管理システム、情報処理装置、プログラム、データ管理方法、データ構造

Family Cites Families (130)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4926480A (en) 1983-08-22 1990-05-15 David Chaum Card-computer moderated systems
US7107246B2 (en) * 1998-04-27 2006-09-12 Esignx Corporation Methods of exchanging secure messages
JP2000207466A (ja) 1999-01-18 2000-07-28 Nippon Telegr & Teleph Corp <Ntt> 電子商取引文書を媒介とした電子商取引方法および電子商取引手段、ならびにプログラムを記録した記録媒体。
AU2001250824A1 (en) 2000-03-10 2001-09-24 Absolutefuture, Inc. Method and system for coordinating secure transmission of information
US7716484B1 (en) * 2000-03-10 2010-05-11 Rsa Security Inc. System and method for increasing the security of encrypted secrets and authentication
WO2001080479A1 (en) 2000-04-14 2001-10-25 Wu Wen Delayed commitment scheme to prevent attacks based on compromised certificates
EP1205889A1 (en) * 2000-11-10 2002-05-15 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Returning of change in an electronic payment system
US7181017B1 (en) 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
US7509498B2 (en) 2001-06-29 2009-03-24 Intel Corporation Digital signature validation
GB2378282A (en) 2001-07-31 2003-02-05 Hewlett Packard Co Automated multivariate negotiation using convertable undeniable signatures
CN1572099A (zh) 2001-10-19 2005-01-26 松下电器产业株式会社 设备鉴别系统和设备鉴别方法
JP2007510947A (ja) 2003-11-03 2007-04-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 多数当事者の効率的な乗算のための方法及び装置
US8156029B2 (en) 2005-02-24 2012-04-10 Michael Gregory Szydlo Process for verifiably communicating risk characteristics of an investment portfolio
ATE534089T1 (de) 2005-05-10 2011-12-15 Dts Ltd Transaktionsverfahren und verifikationsverfahren
JP4435076B2 (ja) 2005-11-18 2010-03-17 フェリカネットワークス株式会社 携帯端末,データ通信方法,およびコンピュータプログラム
US7725446B2 (en) 2005-12-19 2010-05-25 International Business Machines Corporation Commitment of transactions in a distributed system
TW200820108A (en) 2006-05-24 2008-05-01 Ibm Method for automatically validating a transaction, electronic payment system and computer program
US20090177591A1 (en) 2007-10-30 2009-07-09 Christopher Thorpe Zero-knowledge proofs in large trades
US20090281949A1 (en) 2008-05-12 2009-11-12 Appsware Wireless, Llc Method and system for securing a payment transaction
US8543091B2 (en) 2008-06-06 2013-09-24 Ebay Inc. Secure short message service (SMS) communications
US8281131B2 (en) 2008-08-28 2012-10-02 International Business Machines Corporation Attributes in cryptographic credentials
US8744077B2 (en) 2008-10-28 2014-06-03 International Business Machines Corporation Cryptographic encoding and decoding of secret data
MX2011006772A (es) 2008-12-23 2011-08-03 Mtn Mobile Money Sa Pty Ltd Metodo y sistema para procesar de manera segura una transaccion.
US8762741B2 (en) 2009-01-29 2014-06-24 Microsoft Corporation Privacy-preserving communication
US8825555B2 (en) 2010-06-30 2014-09-02 International Business Machines Corporation Privacy-sensitive sample analysis
US8527777B2 (en) 2010-07-30 2013-09-03 International Business Machines Corporation Cryptographic proofs in data processing systems
US8661240B2 (en) 2011-04-29 2014-02-25 International Business Machines Corporation Joint encryption of data
US20120317034A1 (en) 2011-06-13 2012-12-13 Microsoft Corporation Transparent virtual currency using verifiable tokens
US9858401B2 (en) 2011-08-09 2018-01-02 Biogy, Inc. Securing transactions against cyberattacks
RU2582540C2 (ru) 2011-09-29 2016-04-27 Амазон Текнолоджис, Инк. Формирование ключа в зависимости от параметра
JP5364141B2 (ja) 2011-10-28 2013-12-11 楽天株式会社 携帯端末、店舗端末、送信方法、受信方法、決済システム、決済方法、プログラムおよびコンピュータ読み取り可能な記憶媒体
EP2634738A1 (en) 2012-03-02 2013-09-04 Alcatel Lucent Decentralized electronic transfer system
FR2993382B1 (fr) 2012-07-13 2015-07-03 Oberthur Technologies Entite electronique securisee pour l'autorisation d'une transaction
GB201310084D0 (en) 2013-06-06 2013-07-17 Mastercard International Inc Improvements to electronic authentication systems
US9853819B2 (en) 2013-08-05 2017-12-26 Guardtime Ip Holdings Ltd. Blockchain-supported, node ID-augmented digital record signature method
US11055707B2 (en) 2014-06-24 2021-07-06 Visa International Service Association Cryptocurrency infrastructure system
KR20160024185A (ko) 2014-08-25 2016-03-04 아이보 (주) SE(Secure element)를 이용한 암호화폐 관리 시스템 및 그 방법
GB201419016D0 (en) 2014-10-24 2014-12-10 Visa Europe Ltd Transaction Messaging
AU2016242888A1 (en) 2015-03-31 2017-11-16 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
CN107851284A (zh) 2015-04-06 2018-03-27 比特记号公司 用于分散式所有权记录和鉴定的系统和方法
US9397985B1 (en) 2015-04-14 2016-07-19 Manifold Technology, Inc. System and method for providing a cryptographic platform for exchanging information
US10026082B2 (en) 2015-05-21 2018-07-17 Mastercard International Incorporated Method and system for linkage of blockchain-based assets to fiat currency accounts
US9870562B2 (en) 2015-05-21 2018-01-16 Mastercard International Incorporated Method and system for integration of market exchange and issuer processing for blockchain-based transactions
US11080665B1 (en) * 2015-06-08 2021-08-03 Blockstream Corporation Cryptographically concealing amounts and asset types for independently verifiable transactions
CA2990656A1 (en) 2015-06-30 2017-01-05 Visa International Service Association Mutual authentication of confidential communication
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
US20170085555A1 (en) 2015-07-14 2017-03-23 Fmr Llc Point-to-Point Transaction Guidance Apparatuses, Methods and Systems
WO2017079652A1 (en) 2015-11-05 2017-05-11 Pulsifer Allen Cryptographic transactions system
WO2017091530A1 (en) 2015-11-24 2017-06-01 Gartland & Mellina Group Blockchain solutions for financial services and other transaction-based industries
CA3006495A1 (en) 2015-11-30 2017-06-08 Shapeshift Ag Digital asset zero-custody switch
US10013573B2 (en) 2015-12-16 2018-07-03 International Business Machines Corporation Personal ledger blockchain
US11354658B2 (en) 2016-02-11 2022-06-07 Mastercard International Incorporated Method and system for offline blockchain exchanges
US20170243193A1 (en) 2016-02-18 2017-08-24 Skuchain, Inc. Hybrid blockchain
SG10202112185TA (en) 2016-02-23 2021-12-30 Nchain Holdings Ltd Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
EP3420669B1 (en) 2016-02-23 2021-03-24 Nchain Holdings Limited Cryptographic method and system for secure extraction of data from a blockchain
WO2017147696A1 (en) 2016-02-29 2017-09-08 Troy Jacob Ronda Systems and methods for distributed identity verification
EP4195128A1 (en) 2016-04-11 2023-06-14 nChain Licensing AG A method for secure peer-to-peer communication on a blockchain
CN107306183B (zh) 2016-04-22 2021-12-21 索尼公司 客户端、服务端、方法和身份验证系统
KR101780635B1 (ko) 2016-04-28 2017-09-21 주식회사 코인플러그 인증 정보의 생성, 등록, 파기 방법 및 인증 지원 서버
US10046228B2 (en) 2016-05-02 2018-08-14 Bao Tran Smart device
US10447478B2 (en) 2016-06-06 2019-10-15 Microsoft Technology Licensing, Llc Cryptographic applications for a blockchain system
KR101802655B1 (ko) 2016-06-10 2017-11-29 인하대학교 산학협력단 원격 서버를 이용한 안전한 소프트웨어 기반 일회용 비밀번호 생성 방법
US11062366B2 (en) 2016-06-24 2021-07-13 Raise Marketplace Inc. Securely processing exchange items in a data communication system
US20180006823A1 (en) 2016-07-01 2018-01-04 Qualcomm Incorporated Multi-hop secure content routing based on cryptographic partial blind signatures and embedded terms
KR101795695B1 (ko) 2016-07-14 2017-12-01 주식회사 코인플러그 메신저 서비스를 통하여 송수신하는 데이터에 대한 기록 서비스 및 검증 서비스를 제공하는 방법, 및 이를 이용한 서버
BR112018076960A2 (pt) 2016-07-15 2019-04-02 Visa Int Service Ass método, computador do provedor de serviços, e, dispositivo de computação
EP3273635B1 (en) * 2016-07-20 2019-10-30 Mastercard International Incorporated Secure channel establishment
EP3491572B1 (en) 2016-07-26 2021-09-01 NEC Corporation Method for controlling access to a shared resource
US10067810B2 (en) 2016-07-28 2018-09-04 Cisco Technology, Inc. Performing transactions between application containers
GB201613176D0 (en) 2016-07-29 2016-09-14 Eitc Holdings Ltd Computer-implemented method and system
US10769600B2 (en) 2016-09-26 2020-09-08 International Business Machines Corporation Cryptocurrency transactions using debit and credit values
CN106549749B (zh) 2016-12-06 2019-12-24 杭州趣链科技有限公司 一种基于加法同态加密的区块链隐私保护方法
US20180167198A1 (en) 2016-12-09 2018-06-14 Cisco Technology, Inc. Trust enabled decentralized asset tracking for supply chain and automated inventory management
EP3563596A1 (en) 2016-12-30 2019-11-06 INTEL Corporation Type naming and blockchain for the sub-objects of a composite object in an internet of things network
CN106911470B (zh) * 2017-01-23 2020-07-07 北京航空航天大学 一种比特币交易隐私增强方法
CN106845960B (zh) 2017-01-24 2018-03-20 上海壹账通区块链科技有限公司 基于区块链的安全交易方法及系统
US11082418B2 (en) 2017-02-13 2021-08-03 Avalanche Cloud Corporation Privacy ensured brokered identity federation
CN107025602A (zh) 2017-02-24 2017-08-08 杭州象链网络技术有限公司 一种基于联盟链的金融资产交易系统构建方法
JP6961960B2 (ja) 2017-03-13 2021-11-05 ソニーグループ株式会社 情報処理装置および情報処理方法
JP6719410B2 (ja) 2017-03-17 2020-07-08 Kddi株式会社 生成装置、検証装置、及びプログラム
US20180293576A1 (en) 2017-04-05 2018-10-11 Samsung Sds Co., Ltd. System for custom currency transaction based on blockchain and operating method thereof
US11095432B2 (en) 2017-04-05 2021-08-17 Samsung Sds Co., Ltd. System for processing data based on blockchain and operating method thereof
GB201705621D0 (en) 2017-04-07 2017-05-24 Nchain Holdings Ltd Computer-implemented system and method
GB201705749D0 (en) 2017-04-10 2017-05-24 Nchain Holdings Ltd Computer-implemented system and method
GB201705858D0 (en) 2017-04-11 2017-05-24 Nchain Holdings Ltd Computer-implemented system and method
GB201706132D0 (en) 2017-04-18 2017-05-31 Nchain Holdings Ltd Computer-implemented system and method
US10320758B2 (en) 2017-04-25 2019-06-11 International Business Machines Corporation Cryptography using multi-factor key system and finite state machine
US10198949B2 (en) 2017-04-28 2019-02-05 Mastercard International Incorporated Method and system for parking verification via blockchain
US10560270B2 (en) 2017-05-03 2020-02-11 International Business Machines Corporation Optimal data storage configuration in a blockchain
GB201707168D0 (en) 2017-05-05 2017-06-21 Nchain Holdings Ltd Computer-implemented system and method
GB201707296D0 (en) 2017-05-08 2017-06-21 Nchain Holdings Ltd Computer-implemented system and method
US11165589B2 (en) 2017-05-11 2021-11-02 Shapeshift Ag Trusted agent blockchain oracle
CN107451175B (zh) 2017-05-23 2020-01-31 创新先进技术有限公司 一种基于区块链的数据处理方法及设备
CN107239951A (zh) 2017-06-07 2017-10-10 北京天德科技有限公司 一种基于第三代区块链的可扩展央行数字货币交易方法
CN117640099A (zh) 2017-06-14 2024-03-01 区块链控股有限公司 用于避免或减少区块链网络上的加密滞留资源的系统和方法
GB201710283D0 (en) 2017-06-28 2017-08-09 Nchain Holdings Ltd Computer-implemented system and method
US10333710B2 (en) 2017-09-12 2019-06-25 Qed-It Systems Ltd. Method and system for determining desired size of private randomness using Tsallis entropy
TWI636411B (zh) 2017-09-13 2018-09-21 現代財富控股有限公司 對非區塊鏈節點提供交易不可否認性之系統及其方法
US10361870B2 (en) 2017-09-14 2019-07-23 The Toronto-Dominion Bank Management of cryptographically secure exchanges of data using permissioned distributed ledgers
JP7221546B2 (ja) 2017-09-29 2023-02-14 レヴァレジ ロック リミテッド ライアビリティ カンパニー 公開分散台帳システムにおける取引プライバシー
CN107679857B (zh) 2017-10-10 2021-04-27 马晶瑶 区块链的跨链交易方法和存储介质
CN108062671A (zh) 2017-11-03 2018-05-22 深圳市轱辘车联数据技术有限公司 数据交易方法、区块链节点服务器及数据提交终端
CN108418689B (zh) 2017-11-30 2020-07-10 矩阵元技术(深圳)有限公司 一种适合区块链隐私保护的零知识证明方法和介质
US11257077B2 (en) 2017-11-30 2022-02-22 Visa International Service Association Blockchain system for confidential and anonymous smart contracts
US10831764B2 (en) 2017-12-02 2020-11-10 International Business Machines Corporation Query processing and access control in a blockchain network
US11227284B2 (en) 2017-12-13 2022-01-18 Mastercard International Incorporated Method and system for consumer-initiated transactions using encrypted tokens
CN108282459B (zh) 2017-12-18 2020-12-15 中国银联股份有限公司 基于智能合约的数据传递方法及系统
US10896418B2 (en) 2017-12-29 2021-01-19 Ebay Inc. Secure management of data files using a blockchain
TWM561861U (zh) 2018-01-11 2018-06-11 網家金融科技股份有限公司 網路支付轉帳系統
US10445965B2 (en) 2018-01-29 2019-10-15 Accenture Global Solutions Limited Blockchain-based cryptologic ballot organization
US10373129B1 (en) 2018-03-05 2019-08-06 Winklevoss Ip, Llc System, method and program product for generating and utilizing stable value digital assets
WO2019158209A1 (en) 2018-02-16 2019-08-22 Ecole polytechnique fédérale de Lausanne (EPFL) Methods and systems for secure data exchange
CN108512650B (zh) 2018-02-28 2021-03-09 南京思利华信息科技有限公司 面向区块链的动态哈希计算方法、装置、节点及存储介质
CN108320228A (zh) 2018-03-07 2018-07-24 物数(上海)信息科技有限公司 跨区块链资产交易方法、平台、设备及存储介质
CN108288159A (zh) 2018-03-07 2018-07-17 物数(上海)信息科技有限公司 基于多区块链的跨链交易方法、系统、设备及存储介质
US10708243B2 (en) 2018-04-24 2020-07-07 Capital One Services, Llc Message encryption using public keychains
US11159306B2 (en) 2018-04-24 2021-10-26 Duvon Corporation Autonomous exchange via entrusted ledger token and transaction management
CN108711105A (zh) 2018-05-16 2018-10-26 四川吉鼎科技有限公司 一种基于区块链的安全交易验证方法及系统
CN108764874B (zh) 2018-05-17 2021-09-07 深圳前海微众银行股份有限公司 基于区块链的匿名转账方法、系统及存储介质
CN108683669B (zh) 2018-05-19 2021-09-17 深圳市图灵奇点智能科技有限公司 数据验证方法和安全多方计算系统
CN108876332B (zh) 2018-06-04 2020-09-22 清华大学 一种基于生物特征标记认证的区块链安全交易方法及装置
CN109003184A (zh) 2018-06-22 2018-12-14 中链科技有限公司 区块链资产管理方法及装置
US11032068B2 (en) * 2018-06-29 2021-06-08 International Business Machines Corporation Leakage-deterring encryption for message communication
US10917233B2 (en) 2018-10-16 2021-02-09 International Business Machines Corporation Selective exchange of transaction data
JP6956062B2 (ja) 2018-10-30 2021-10-27 株式会社Crypto Garage 取引方法、プログラム、検証装置及び生成方法
US11240001B2 (en) 2018-11-06 2022-02-01 International Business Machines Corporation Selective access to asset transfer data
EP3542332A4 (en) 2018-11-07 2020-01-22 Alibaba Group Holding Limited BLOCK CHAIN SYSTEM SUPPORTING PUBLIC AND PRIVATE TRANSACTIONS WITH ACCOUNT MODELS
BR112019008058A2 (pt) 2018-11-27 2019-11-12 Alibaba Group Holding Ltd sistema e método para proteção de informações
JP6724249B2 (ja) 2018-11-27 2020-07-15 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited 情報保護用のシステム及び方法
ES2859569T3 (es) 2018-11-27 2021-10-04 Advanced New Technologies Co Ltd Sistema y método para la protección de información

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000299683A (ja) * 1999-02-10 2000-10-24 Nippon Telegr & Teleph Corp <Ntt> 複数公開鍵保存方法、その装置およびそのプログラム記録媒体
JP2007226777A (ja) * 2006-01-25 2007-09-06 Matsushita Electric Ind Co Ltd 端末装置、サーバ装置及びデジタルコンテンツ配信システム
JP2010135928A (ja) * 2008-12-02 2010-06-17 Nippon Telegr & Teleph Corp <Ntt> ビットコミットメント検証システム、ビットコミットメント装置、検証装置、ビットコミットメント検証方法、ビットコミットメント方法、検証方法、ビットコミットメントプログラム、検証プログラム
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
WO2017145016A1 (en) * 2016-02-23 2017-08-31 nChain Holdings Limited Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
JP2018055203A (ja) * 2016-09-26 2018-04-05 Gmoインターネット株式会社 データ管理システム、情報処理装置、プログラム、データ管理方法、データ構造

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
TORBEN PRYDS PEDERSEN: "Non-Interactive and Information-Theoretic Secure Verifiable Secret Sharing", LNCS, ADVANCES IN CRYPTOLOGY - CRYPTO '91, vol. 576, JPN6020020374, 1992, pages 129 - 140, XP002503255, ISSN: 0004286516 *
吉濱 佐知子 ほか: "分散台帳技術におけるインテグリティとプライバシー保護", CSS2017 コンピュータセキュリティシンポジウム2017 論文集 [CD−ROM], vol. 2017, no. 2, JPN6020001511, 16 October 2017 (2017-10-16), JP, pages 680 - 687, ISSN: 0004286515 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7686057B1 (ja) 2023-12-25 2025-05-30 ジクリプト インコーポレイテッド ペデルセンコミットを活用したリザーブコントラクト方法およびペデルセンコミット基盤ゼロ知式証明アルゴリズムを活用したリザーブ検証方法

Also Published As

Publication number Publication date
EP3549303A4 (en) 2020-02-26
KR102170346B1 (ko) 2020-10-28
RU2719423C1 (ru) 2020-04-17
US20200120074A1 (en) 2020-04-16
CA3040601C (en) 2021-03-30
US20190268312A1 (en) 2019-08-29
WO2019072276A2 (en) 2019-04-18
US11102184B2 (en) 2021-08-24
MX2019004202A (es) 2019-08-05
EP3549303A2 (en) 2019-10-09
CN109937557B (zh) 2022-02-22
JP6724249B2 (ja) 2020-07-15
KR20200066257A (ko) 2020-06-09
MY193900A (en) 2022-10-31
BR112019007727A2 (pt) 2019-11-12
CN109937557A (zh) 2019-06-25
PL3549303T3 (pl) 2021-11-22
ES2875581T3 (es) 2021-11-10
SG11201902778UA (en) 2019-05-30
MX379839B (es) 2025-03-11
AU2018327218B2 (en) 2020-07-16
CA3040601A1 (en) 2019-04-18
EP3866382A1 (en) 2021-08-18
EP3866382B1 (en) 2023-06-21
TWI706275B (zh) 2020-10-01
ZA201902470B (en) 2021-06-30
EP3549303B1 (en) 2021-05-26
WO2019072276A3 (en) 2019-09-19
US11277389B2 (en) 2022-03-15
AU2018327218A1 (en) 2020-01-30
TW202020710A (zh) 2020-06-01
PH12019500556A1 (en) 2019-12-16

Similar Documents

Publication Publication Date Title
JP6724249B2 (ja) 情報保護用のシステム及び方法
JP6841911B2 (ja) 情報保護用のシステム及び方法
US11080694B2 (en) System and method for information protection
JP6714156B2 (ja) 情報保護のためのシステム及び方法
AU2019101590A4 (en) System and method for information protection
AU2019101582A4 (en) System and method for information protection
HK40011077B (zh) 用於信息保護的系統和方法
HK40011077A (en) System and method for information protection
HK40011687A (en) System and method for information protection
HK40011687B (en) System and method for information protection

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190419

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200319

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200319

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200518

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200529

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200624

R150 Certificate of patent or registration of utility model

Ref document number: 6724249

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250