JP6714156B2 - 情報保護のためのシステム及び方法 - Google Patents

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

Info

Publication number
JP6714156B2
JP6714156B2 JP2019520853A JP2019520853A JP6714156B2 JP 6714156 B2 JP6714156 B2 JP 6714156B2 JP 2019520853 A JP2019520853 A JP 2019520853A JP 2019520853 A JP2019520853 A JP 2019520853A JP 6714156 B2 JP6714156 B2 JP 6714156B2
Authority
JP
Japan
Prior art keywords
transaction
commitment
combination
encrypted
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.)
Active
Application number
JP2019520853A
Other languages
English (en)
Other versions
JP2020507222A (ja
JP2020507222A5 (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 JP2020507222A publication Critical patent/JP2020507222A/ja
Publication of JP2020507222A5 publication Critical patent/JP2020507222A5/ja
Application granted granted Critical
Publication of JP6714156B2 publication Critical patent/JP6714156B2/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/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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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
    • H04L9/3252Cryptographic 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 using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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
    • H04L9/3255Cryptographic 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 using group based signatures, e.g. ring or threshold 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/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/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

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

Description

本開示は、一般的には、情報保護のための方法及び装置に関する。
プライバシーは、種々のユーザの間の通信及びデータ転送に重要である。保護がない場合、ユーザは、なりすまし犯罪、不正転送(illegal transfer)又は他の潜在的損失のリスクにさらされる。リスクは、通信及び転送がオンラインで実現されるときにはオンライン情報のフリーアクセスのために更に高くなる。
本開示の種々の実施の形態は、情報保護のためのシステム、方法及び非一時的コンピュータ可読媒体を有する。
一態様によれば、情報保護のためのコンピュータで実施される方法であって、トランザクションコミットメント値Tを取得するために第1のコミットメントスキームに取引金額tの取引をコミットし、チェンジコミットメント値Yを取得するために第2のコミットメントスキームにチェンジyの取引をコミットし、第1のコミットメントスキームは、トランザクションブラインディングファクタrを備え、第2のコミットメントスキームは、チェンジブラインディングファクタrを備えることと、チェンジブラインディングファクタrとチェンジyの第1の組合せを第1の鍵KAによって暗号化することと、取引の着信者に関連する着信者ノードが取引を確認するために、トランザクションブラインディングファクタrt、取引金額t及びトランザクションコミットメント値Tを着信者ノードに送信することと、着信者ノードの取引の確認の成功に応答して、第2の鍵KBによって暗号化されたトランザクションブラインディングファクタrt及び取引金額tの暗号化された第2の組合せを取得することと、ブロックチェーンの複数のノードが取引を確認するために、暗号化された第1の組合せ及び暗号化された第2の組合せをブロックチェーンの複数のノードに送信することと、を備える。
一部の実施の形態において、第1のコミットメントスキームは、少なくともトランザクションブラインディングファクタrtに基づくとともに取引金額tが対応するコミッテッド値であるペダーソンコミットメントを備え、第2のコミットメントスキームは、少なくともチェンジブラインディングファクタrに基づくとともにチェンジyが対応するコミッテッド値であるペダーソンコミットメントを備える。
一部の実施の形態において、取引の着信者に関連する着信者ノードが取引を確認するために、トランザクションブラインディングファクタrt、取引金額t及びトランザクションコミットメント値Tを着信者ノードに送信することは、トランザクションブラインディングファクタrt、取引金額t及びトランザクションコミットメント値Tを着信者ノードに送信することによって、着信者ノードは、トランザクションコミットメント値Tが取引金額tをトランザクションブラインディングファクタrtにコミットする第1のコミットメントスキームに等しいか否かを確認することを備える。
一部の実施の形態において、暗号化された第2の組合せを取得することは、暗号化された第2の組合せと、暗号化された第2の組合せ及びトランザクションコミットメント値Tに関連する署名SIGBを着信者ノードから受け取ることを備える。
一部の実施の形態において、取引金額tは、取引の発信者の一つ以上の資産A,A,...,Aから選ばれ、資産の各々は、(1)少なくとも各資産のブラインディングファクタrak及び値に基づくペダーソンコミットメント及び(2)少なくとも各資産のブラインディングファクタrak及び値に基づく暗号化に関連し、チェンジyは、取引金額tと選ばれた資産の間の差である。
一部の実施の形態において、暗号化された第1の組合せ及び暗号化された第2の組合せをブロックチェーンの複数のノードに送信する前に、方法は、署名SIGBを確認することと、署名SIGBの確認の成功に応答して、資産A,A,...,A、第1の組合せ、第2の組合せ、トランザクションコミットメント値T、チェンジコミットメント値Y及び資産A,A,...,Aに対応するブラインディングファクタの和とトランザクションブラインディングファクタr及びチェンジブラインディングファクタrの和との差に関連する署名SIGAを生成することと、を更に備える。
一部の実施の形態において、暗号化された第1の組合せ及び暗号化された第2の組合せをブロックチェーンの複数のノードに送信することは、資産A,A,...,A、第1の組合せ、第2の組合せ、トランザクションコミットメント値T、チェンジコミットメント値Y及び資産A,A,...,Aに対応するブラインディングファクタの和とトランザクションブラインディングファクタr、チェンジブラインディングファクタrの和との差、署名SIGA及び署名SIGBを、ブロックチェーンの複数のノードに送信すること備える。
一部の実施の形態において、ブロックチェーンの複数のノードが取引を確認するために、暗号化された第1の組合せ及び暗号化された第2の組合せをブロックチェーンの複数のノードに送信することは、暗号化された第1の組合せ及び暗号化された第2の組合せをブロックチェーンの複数のノードに送信することによって、ブロックチェーンの複数のノードは、取引の確認の成功に応答して、着信者に取引金額tを発し、資産A,A,...,Aを削除し、発信者にチェンジyを発することを備える。
他の態様によれば、非一時的コンピュータ可読記憶媒体は、プロセッサによって実行するときに、トランザクションコミットメント値Tを取得するために第1のコミットメントスキームに取引金額tの取引をコミットし、チェンジコミットメント値Yを取得するために第2のコミットメントスキームにチェンジyの取引をコミットし、第1のコミットメントスキームは、トランザクションブラインディングファクタrを備え、第2のコミットメントスキームは、チェンジブラインディングファクタrを備えることと、チェンジブラインディングファクタrとチェンジyの第1の組合せを第1の鍵KAによって暗号化することと、取引の着信者に関連する着信者ノードが取引を確認するために、トランザクションブラインディングファクタrt、取引金額t及びトランザクションコミットメント値Tを着信者ノードに送信することと、着信者ノードの取引の確認の成功に応答して、第2の鍵KBによって暗号化されたトランザクションブラインディングファクタrt及び取引金額tの暗号化された第2の組合せを取得することと、ブロックチェーンの複数のノードが取引を確認するために、暗号化された第1の組合せ及び暗号化された第2の組合せをブロックチェーンの複数のノードに送信することと、を備える動作をプロセッサによって実行させる命令を記憶する。
他の態様によれば、情報保護のためのシステムは、プロセッサ及びプロセッサに結合された非一時的コンピュータ可読記憶媒体を備え、非一時的コンピュータ可読記憶媒体は、プロセッサによって実行するときに、トランザクションコミットメント値Tを取得するために第1のコミットメントスキームに取引金額tの取引をコミットし、チェンジコミットメント値Yを取得するために第2のコミットメントスキームにチェンジyの取引をコミットし、第1のコミットメントスキームは、トランザクションブラインディングファクタrを備え、第2のコミットメントスキームは、チェンジブラインディングファクタrを備えることと、チェンジブラインディングファクタrとチェンジyの第1の組合せを第1の鍵KAによって暗号化することと、取引の着信者に関連する着信者ノードが取引を確認するために、トランザクションブラインディングファクタrt、取引金額t及びトランザクションコミットメント値Tを着信者ノードに送信することと、着信者ノードの取引の確認の成功に応答して、第2の鍵KBによって暗号化されたトランザクションブラインディングファクタrt及び取引金額tの暗号化された第2の組合せを取得することと、ブロックチェーンの複数のノードが取引を確認するために、暗号化された第1の組合せ及び暗号化された第2の組合せをブロックチェーンの複数のノードに送信することと、を備える動作をプロセッサによって実行させる命令を記憶する。
他の態様によれば、情報保護のためのコンピュータで実施される方法は、トランザクションブラインディングファクタrt、取引金額tの取引及びトランザクションコミットメント値Tを取引の発信者に関連する発信者ノードから取得し、取引金額tは、トランザクションコミットメント値Tを取得するために第1のコミットメントスキームにコミットされ、第1のコミットメントスキームは、トランザクションブラインディングファクタrtを備えることと、取得したトランザクションブラインディングファクタrt、取得した取引金額tの取引及び取得したトランザクションコミットメント値Tに基づいて取引を確認することと、取引の確認の成功に応答して、トランザクションブラインディングファクタr t 及び取引金額tの第2の組合せを第2の鍵KBによって暗号化することと、暗号化された第2の組合せを発信者ノードに送信することと、を備える。
一部の実施の形態において、取得したトランザクションブラインディングファクタrt、取得した取引金額tの取引及び取得したトランザクションコミットメント値Tに基づいて取引を確認することは、トランザクションコミットメント値Tが取引金額tを取得したトランザクションブラインディングファクタrtにコミットする第1のコミットメントスキームに等しいか否かを確認することを備える。
一部の実施の形態において、暗号化された第2の組合せを発信者ノードに送信する前に、方法は、暗号化された第2の組合せ及びトランザクションコミットメント値Tに関連する署名SIGBを生成することを更に備え、暗号化された第2の組合せを発信者ノードに送信することは、暗号化された第2の組合せ及び署名SIGBを発信者ノードに送信すること備える。
他の態様によれば、非一時的コンピュータ可読記憶媒体は、プロセッサによって実行するときに、トランザクションブラインディングファクタr t 、取引金額tの取引及びトランザクションコミットメント値Tを取引の発信者に関連する発信者ノードから取得し、取引金額tは、トランザクションコミットメント値Tを取得するために第1のコミットメントスキームにコミットされ、第1のコミットメントスキームは、トランザクションブラインディングファクタr t を備えることと、取得したトランザクションブラインディングファクタr t 、取得した取引金額tの取引及び取得したトランザクションコミットメント値Tに基づいて取引を確認することと、取引の確認の成功に応答して、トランザクションブラインディングファクタr t 及び取引金額tの第2の組合せを第2の鍵KBによって暗号化することと、暗号化された第2の組合せを発信者ノードに送信することと、を備える動作をプロセッサによって実行させる命令を記憶する。
他の態様によれば、情報保護のためのシステムは、プロセッサ及びプロセッサに結合された非一時的コンピュータ可読記憶媒体を備え、非一時的コンピュータ可読記憶媒体は、プロセッサによって実行するときに、トランザクションブラインディングファクタr t 、取引金額tの取引及びトランザクションコミットメント値Tを取引の発信者に関連する発信者ノードから取得し、取引金額tは、トランザクションコミットメント値Tを取得するために第1のコミットメントスキームにコミットされ、第1のコミットメントスキームは、トランザクションブラインディングファクタr t を備えることと、取得したトランザクションブラインディングファクタr t 、取得した取引金額tの取引及び取得したトランザクションコミットメント値Tに基づいて取引を確認することと、取引の確認の成功に応答して、トランザクションブラインディングファクタr t 及び取引金額tの第2の組合せを第2の鍵KBによって暗号化することと、暗号化された第2の組合せを発信者ノードに送信することと、を備える動作をプロセッサによって実行させる命令を記憶する。
ここに開示したスステム、方法及び非一時的コンピュータ可読記憶媒体のこれらの特徴及び他の特徴並びに動作の方法及び構造の関連の素子及び製造のパーツ及び経済性の組合せの機能は、添付図面を参照することにより以下の説明及び添付した特許請求の範囲の考察から更に明らかになり、そのすべては、明細書の一部を形成し、同様な参照願号を種々の図面の対応する部分に付す。しかしながら、図面が図示及び説明のみのためのものであるとともに発明の限定を規定することを意図しないことを明示的に理解すべきである。
本技術の種々の実施の形態の所定の特徴を、特に、添付した特許請求の範囲で説明する。技術の特徴及び利点の更なる理解は、理解を助ける実施の形態を説明する以下の詳細な説明及び図面を参照することによって得られる。
種々の実施の形態による例示的な情報保護のためのシステムを示す。 種々の実施の形態による取引開始及び確認のための例示的なステップを示す。 種々の実施の形態による例示的な情報保護のための方法のフローチャートを示す。 種々の実施の形態による例示的な情報保護のための方法のフローチャートを示す。 ここで説明する実施の形態のいずれかを実現することができる例示的なコンピュータシステムのブロック図を示す。
ブロックチェーンを、一般的に分散型台帳と称される分散データベースと見なしてもよい。その理由は、動作がネットワークの種々のノード(例えば、コンピュータデバイス)によって実行されるからである。あらゆる情報をブロックチェーンに書き込むとともにブロックチェーンへの保存又はブロックチェーンからの読出しを行ってもよい。誰でもサーバをセットアップするとともにノードになるためにブロックチェーンネットワークに加わってもよい。任意のノードは、現在のブロックチェーンにブロックを追加するためのハッシュ計算のような複雑な計算を行うことによってブロックチェーンを維持するために計算能力を提供してもよく、追加されたブロックは、種々のタイプのデータ又は情報を含んでもよい。追加したブロックに対して計算能力を提供したノードは、トークン(例えば、デジタル通貨単位)を貰ってもよい。ブロックチェーンが中央ノードを有しないので、各ノードは、同等であるとともに全体のブロックチェーンデータベースを保持する。
ノードは、例えば、ブロックチェーンネットワークをサポートするとともにブロックチェーンネットワークの運営を円滑に保つコンピュータデバイス又は大型コンピュータシステムである。二つのタイプのノード:フルノード及び軽量ノードが存在する。フルノードは、ブロックチェーンの完全なコピーを保持する。ブロックチェーンネットワークのフルノードは、取引及びフルノードが受け取るブロックを確認し、これらを、取引の合意確認を提供するために接続ピアに送る。それに対し、軽量ノードは、ブロックチェーンのほんの一部のダウンロードしか行わない。例えば、軽量ノードは、デジタル通貨取引のために用いられる。軽量ノードは、軽量ノードが取引を所望するときにフルノードと通信を行う。
分散特性は、管理センタが制御位置に出現するのを防止するのに有用となることができる。例えば、ビットコイン(登録商標)ブロックチェーンのメンテナンスは、ビットコイン(登録商標)ソフトウェアの通信ノードのネットワークによって実行領域で行われる。本開示は、例としてのビットコイン(登録商標)及びイーサリアムのような一つ以上のブロックチェーン又はデジタル通貨を用いる。当業者は、本開示に開示した技術的解決が他のタイプのブロックチェーン及びデジタル通貨を用いることができる又は適用することができることを理解すべきである。すなわち、従来の意味での銀行、機関又は管理者の代わりに、複数の仲介人がビットコイン(登録商標)ソフトウェアを実行するコンピュータサーバの形態で存在する。これらのコンピュータサーバは、インターネットを介して接続されたネットワークを形成し、誰でも潜在的にネットワークに加わることができる。ネットワークによって適応される取引を、形式「ユーザAがZビットコイン(登録商標)をユーザBに送ることを所望する」としてもよく、この場合、取引は、簡単に手に入るソフトウェアアプリケーションを用いてネットワークに送信される。コンピュータサーバは、これらの金融取引を確認し、これらの記録を台帳のコピーに追加し、かつ、これらの台帳追加をネットワークの他のサーバに送信するように操作可能なビットコイン(登録商標)サーバとして機能する。
ブロックチェーンのメンテナンスを行うことは、「マイニング」と称され、そのようなメンテナンスを行う者は、上述したように、新たに作られたビットコイン(登録商標)及び取引手数料を貰う。例えば、ノードは、ブロックチェーンネットワークが合意した一連の規則に基づいて取引が有効であるか否かを決定してもよい。マイナーは、いずれかの大陸に配置されてもよく、各取引が有効であると確認するとともにそれをブロックチェーンに加えることによって支払処理を行ってもよい。そのような確認は、複数のマイナーによって行われる合意を通じて実現され、組織的な共謀(systematic collusion)が存在しないと仮定する。結局、全てのデータは一貫している。その理由は、計算が有効となるための所定の要求に適合する必要があるとともにブロックチェーンが一貫していることを確実にするために全てのノードが同期されるからである。したがって、データは、ブロックチェーンノードの分散システムに一貫して記憶される。
マイニング処理によって、資産移転のような取引は、ネットワークノードによって確認されるとともにブロックチェーンのブロックの成長するチェーン(growing chain)に加えられる。ブロックチェーン全体を詳しく検討することによって、確認は、例えば、支払人が移転する資産にアクセスする必要があるか否か、資産が以前に使われたか否か、移転料(trandferring amount)が合っているか否か等を含んでもよい。例えば、発信者によって認められた仮想取引(hypothetical transaction)(例えば、UTXO(未使用トランザクションアウトプット)モデルの下でのビットコイン(登録商標)の取引、勘定残高モデルの下でのイーサリアムコインの取引)において、提案される取引を、マイニングのためにブロックチェーンネットワークに送信してもよい。マイナーは、取引をブロックチェーン履歴に従って行う資格があるか否かをチェックする必要がある。発信者のウォレット残高(wallet balance)が既存のブロックチェーン履歴による十分な資金を有する場合、取引は、有効であると見なされるとともにブロックに加えることができる。一旦確認されると、資産移転を、ブロックチェーンに加えるために次のブロックに含めてもよい。
ブロックは、データベース記録によく似ている。データを書き込む度にブロックが作成される。これらのブロックは、互いに接続されたネットワークとなるために暗号を用いてリンクされるとともに保護される。各ブロックは、名称「ブロックチェーン」の発端でもある前のブロックに接続される。各ブロックは、通常、前のブロックの暗号学的ハッシュ、生成時間(generation time)及び実データを含む。例えば、各ブロックは、二つのパーツ:現在のブロックの特徴量を記録するブロックヘッダ及び実データ(例えば、取引データ)を記録する主部を含む。ブロックのチェーンは、ブロックヘッダを介してリンクされる。各ブロックヘッダは、バージョン、前のブロックハッシュ、マークルルート、タイムスタンプ、難易度ターゲット(difficulty target)及びノンスを含んでもよい。前のブロックハッシュは、前のブロックのアドレスだけでなく前のブロックの内部のデータのハッシュも含み、これによって、ブロックチェーンを変更不可能にする。ノンスは、含まれるときに特定の数の先行ゼロのビットによってハッシュを生成する数である。
マイニングのために、新たなブロックのコンテンツのハッシュがノードによって取り出される。ノンス(例えば、ランダムな文字列)は、新たな文字列を取得するためにハッシュに加えられる。新たな文字列は、再びハッシュされる。最終的なハッシュは、難易度ターゲット(例えば、レベル)と比較され、最終的なハッシュが実際に難易度ターゲットより小さいか否かを判断する。否である場合、ノンスを変更するとともに処理を再び繰り返す。是である場合、ブロックがチェーンに加えられ、公開台帳が更新されるとともに加えられたことの注意が喚起される。加えることの成功に貢献するノードは、例えば、(コインベース生成(coinbase generation)として知られている)報酬取引を新たなブロックに加えることによってビットコインを貰う。
すなわち、各出力“Y”に対して、kを高い最小エントロピーを有する分布から選択する場合、H(k|x)=Yとなるような入力xを見つけることができなくなり、この場合、kは、ノンスであり、xは、ブロックのハッシュであり、Yは、難易度ターゲットであり、“|”は、連結を表す。暗号学的ハッシュが十分にランダムであるという理由で、出力を入力から予測することができないという意味では、例えば、総当たり攻撃として知られている1,2,3等々と整数を次々と試すためにノンスを見つける唯一の既知の方法しか存在しない。先行ゼロ(leading zeros)の数が大きくなるにしたがって、必要なノンスを見つけるのに要する時間は、概して長くなる。一例において、ビットコイン(登録商標)システムは、ノンスを見つけるための平均時間が約10分となるように先行ゼロの数を常に調整する。したがって、計算ハードウェアの処理能力が数年に亘って経時的に上がるので、ビットコイン(登録商標)プロトコルは、マイニングが実現のために常に約10分の持続時間を要するようにするために更に多くの先行ゼロのビットを簡単に要求する。
上述したように、ハッシングは、ブロックチェーンに重要なものである。ハッシュアルゴリズムを、任意の長さのメッセージを固定長のメッセージダイジェストに圧縮する関数と理解することができる。通常はMD5及びSHAが用いられる。一部の実施の形態において、ブロックチェーンのハッシュ長は、256ビットであり、それは、元のコンテンツがどのようなものであったとしても、256ビットの2進数が最終的に計算される。また、元のコンテンツが互いに異なる限り、対応するハッシュが固有のものであることを保証することができる。例えば、文字列“123”のハッシュは、a8fdc205a9f19cc1c7507a60c4f01b13d11d7fd0(16進)であり、それは、2進に変換されるときに256ビットを有し、“123”のみがこのハッシュを有する。ブロックチェーンのハッシュアルゴリズムは不可逆であり、すなわち、(“123”からa8fdc205a9f19cc1c7507a60c4f01b13d11d7fd0への)順算は容易であり、全ての計算リソースを使い尽くす場合でも逆算は不可能である。したがって、ブロックチェーンの各ブロックのハッシュは固有のものである。
さらに、ブロックのコンテンツが変更される場合、そのハッシュも変更される。ブロック及びハッシュは1対1の対応であり、各ブロックのハッシュは、ブロックヘッダに対して明確に(specifically)計算される。すなわち、ブロックヘッダの特徴量は、長い文字列を形成するために接続され、その後、ハッシュが文字列に対して計算される。例えば、“Hash=SHA256(ブロックヘッダ)”は、ブロックハッシュ計算式であり、SHA256は、ブロックヘッダに適用されるブロックチェーンハッシュアルゴリズムである。ハッシュは、ブロック主部ではなくブロックヘッダによって固有のものとして決定される。上述したように、ブロックヘッダは、現在のブロックのハッシュ及び前のブロックのハッシュを含む多くのコンテンツを含む。これは、現在のブロックのコンテンツが変更される場合又は前のブロックのハッシュが変更される場合に現在のブロックのハッシュが変更されることを意味する。ハッカーがブロックに変更を加える場合、当該ブロックのハッシュも変更される。変更が加えられたブロックに後のブロックを接続するために、ハッカーは、全ての続くブロックに変更を加える必要がある。その理由は、次のブロックが前のブロックのハッシュを含むからである。そうでない場合、変更が加えられたブロックは、ブロックチェーンから切り離される。設計の理由のために、ハッシュ計算は、多大な時間を必要とし、ハッカーがネットワーク全体の計算能力の51%を超える計算能力を習得していない場合には、短期間で複数のブロックに変更を加えることはほとんど不可能である。したがって、ブロックチェーンは、それ自体の信頼性を保証し、データが書き込まれると、データを改ざんすることができない。
一旦マイナーが新たなブロックのハッシュ(すなわち、適格な署名(eligible signature)又はソリューション)を見つけると、マイナーは、この署名を他の全てのマイナー(ブロックチェーンのノード)に送信する。他のマイナーは、当該ソリューションが発信者のブロックの問題に対応するか否かを確認する(すなわち、ハッシュ入力の実際の結果が当該署名になるか否かを決定する。)。ソリューションが有効である場合、他のマイナーは、ソリューションを承認し、新たなブロックをブロックチェーンに加えることができることに合意する。したがって、新たなブロックの合意に達する。これは、「プルーフオブワーク」としても知られている。合意に達したブロックを、ブロックチェーンに加えることができ、その署名と共にネットワークの全てのノードに送信する。ブロック内の取引が取引の時点で現在のウォレット残高(取引履歴)に正確に対応する限り、ノードは、ブロックを許容するとともにブロックを取引データに保存する。このブロックのトップに新たなブロックが加えられる度に、加える前のブロックの他の「確認」として加えることがカウントされる。例えば、取引がブロック502に含まれるとともにブロックチェーンが507ブロック長である場合、それは、取引が(ブロック507〜502に対応する)五つの確認を有することを意味する。取引が有する確認が多くなるに従って、攻撃者が変更を加えるのが困難になる。
一部の実施の形態において、例示的なブロックチェーン資産システムは、公開鍵暗号方式を利用し、この場合、二つの暗号鍵:一つの公開鍵及び一つの秘密鍵を生成する。公開鍵を、アカウント番号と考えることができ、秘密鍵を所有権認証情報(ownership credentials)と考えることができる。例えば、ビットコイン(登録商標)ウォレットは、公開鍵と秘密鍵の組である。所定の資産アドレス(asset address)に関連する資産(例えば、デジタル通貨、現金資産、株(stock)、国債(equity)、債権(bond))の所有権を、アドレスに属する秘密鍵の知識と共に示すことができる。例えば、「ビットコイン(登録商標)クライアントソフトウェア」と時々称されるビットコイン(登録商標)ウォレットソフトウェアによって、所定のユーザは、ビットコイン(登録商標)取引を行うことができる。ウォレットプログラムは、秘密鍵の生成及び記憶を行うとともにビットコイン(登録商標)ネットワークのピアと通信を行う。
ブロックチェーン取引において、支払人及び受取人は、公開暗号鍵によりブロックチェーンにおいて識別される。例えば、大抵の現在のビットコイン(登録商標)の移動は、ある公開鍵から異なる公開鍵までのものである。実際には、これらの鍵のハッシュは、ブロックチェーンで用いられるとともに「ビットコイン(登録商標)アドレス」と称される。原理的には、仮想的な攻撃者Sは、ユーザの名前の代わりのユーザのビットコイン(登録商標)アドレスを用いることによって、「人Aが人Sに100ビットコイン(登録商標)を支払う」ようにブロックチェーン台帳に取引を加えることによって人Aから金を盗むことができる。ビットコインプロトコルは、移動の度に支払人の秘密鍵を用いたデジタル署名を要求することによってこの種の窃盗を防止し、署名された移動のみをブロックチェーン台帳に加えることができる。人Sは人Aの署名を偽造することができないので、人Sは、「人Aが人Sに100ビットコイン(登録商標)を支払う」に等しいブロックチェーンへのエントリを加えることによって人Aに詐欺行為を行うことができない。同時に、誰でも公開鍵を用いて人Aの署名を確認することができ、したがって、支払人である場合にブロックチェーンのあらゆる取引が許可される。
ビットコイン(登録商標)取引の状況において、一部のビットコイン(登録商標)をユーザBに移動させるために、ユーザAは、ノードを通じた取引についての情報を含む記録を構成してもよい。ユーザAの署名鍵(秘密鍵)によって記録に署名を行ってもよく、記録は、ユーザAの公開検証鍵及びユーザBの公開検証鍵を含む。署名は、取引がユーザに起因することを確認するために用いられ、一旦署名が発行されると誰かによる取引の変更を防止する。記録を、同一の時間ウィンドウで新たなブロックで生じた他の記録と共にフルノードに送信してもよい。フルノードは、記録を受け取ると、ブロックチェーンシステムでこれまで生じた全ての取引の台帳に記録を組み込み、上述したマイニング処理によって以前に許容されたブロックチェーンに新たなブロックを加え、かつ、加えられたブロックを、ネットワークの合意規則に対して有効にする。
UTXO(未使用トランザクションアウトプット)モデル及び勘定残高モデルは、ブロックチェーン取引を実現するための二つの例示的なモデルである。UTXOは、ブロックチェーンオブジェクトモデルである。UTXOの下では、資産は、消費されなかったブロックチェーン取引の出力によって表され、新たな取引の入力として用いることができる。例えば、移動させるユーザAの資産をUTXOの形式にしてもよい。資産を使用(取引)するために、ユーザAは、秘密鍵によって署名を行う必要がある。ビットコイン(登録商標)は、UTXOモデルを用いるデジタル通貨の一例である。有効なブロックチェーン取引の場合、更なる取引を行うために未使用出力を用いてもよい。一部の実施の形態において、二重使用(double spending)及び詐欺を防止するために未使用出力のみを更なる取引に用いてもよい。このために、ブロックチェーンの入力は、取引が生じたときに削除され、同時に、出力がUTXOの形式で生成される。これらの未使用取引出力を、将来の取引のために(秘密鍵の所有者、例えば、デジタル通貨ウォレットを有する人によって)用いてもよい。
それに対し、(アカウントベース取引モデルとも称される)勘定残高モデルは、大域状態(global state)としての各勘定残高を追跡し続ける。勘定残高は、勘定残高が使用される取引金額以上であることを確実にするためにチェックされる。勘定残高モデルがイーサリアムで作動する方法の一例を提供する。
1.アリスは、マイニングによって5イーサを獲得する。アリスが5イーサを有することがシステムに記録される。
2.アリスがボブに1イーサを与えることを所望し、システムは、アリスの預金額から1イーサを差し引き、したがって、アリスは、4イーサを有する。
3.その後、システムは、ボブの預金額を1イーサだけ増やす。システムは、ボブが最初に2イーサを有することを知っており、したがって、ボブの預金額は、3イーサに増える。
イーサリアムの記録管理は、銀行の記録管理に似ていてもよい。似ていることは、ATM/デビットカードを用いることである。銀行は、各デビットカードがどれだけの金額を有するかを追跡し、ボブがお金を使う必要があるとき、銀行は、取引を承認する前にボブが十分な残高を有することを確実にするために記録をチェックする。
ブロックチェーン及び他の同様な台帳が完全に公のものであるので、ブロックチェーンそれ自体はプライバシー保護を行わない。P2Pネットワークの公共性は、P2Pを使用する者が名前によって識別されない間に取引を個人及び企業にリンクすることが容易であることを意味する。例えば、国境を超えた送金又はサプライチェーンにおいて、取引金額は、極めて高いレベルのプライバシー保護値を有し、取引金額情報によって、取引関係者の特定の位置及び識別子を推論することができる。取引の内容は、例えば、金銭、トークン、デジタル通貨、契約書、譲渡証書、診察記録、顧客の詳細(costomer detail)、株、債権、国債又はデジタル形式で表現することができる他の任意の資産を備えてもよい。UXTOモデルが、例えば、モレノ及びゼロ知識暗号方式ジーキャッシュ(Moreno and zero−knowledge cryptography Zcash)のリング署名によって取引金額に対する匿名性を提供するとしても、取引金額は、勘定残高モデルの下では保護されないままである。したがって、本開示によって対処される技術的課題は、取引金額のプライバシーのようなオンライン情報をどのように保護するかである。そのような取引を、勘定残高モデルの下でのものとすることができる。
一部の既存の技術は、取引金額を暗号化するとともに勘定残高モデルを置換するためにペダーソンコミットメントスキームを用いることを提案する。そのようなスキームの下では、発信者は、取引金額及び取引金額のペダーソンコミットメントに対応する乱数をブロックチェーンの安全が保証されたチャネルを介して受取人に送信する。受取人は、乱数がトランザクションコミットメントにマッチするか否かを確認するとともに局所記憶を行う。例えば、勘定残高モデルの下では、預金高を、集約されるが統合されない資産を保持するウォレット(預金高)として取り扱うことができる。各資産は、資産タイプ(例えば、暗号通貨)に対応してもよく、勘定残高は、資産価値の和である。同一タイプの資産さえ併合されない。取引中、移動する資産の受取人を特定してもよく、対応する資産は、取引に資金を出すためにウォレットから除去される。ブロックチェーンノードは、支払いウォレットが取引をカバーするのに十分な(一つ以上の)資産を有することを確認し、その後、ノードは、移動された資産を支払いウォレットから除去するとともに対応する資産を受取人のウォレットに加える。
しかしながら、そのようなスキームに対する制限が存在する。取引金額及びペダーソンコミットメントによって生成された乱数は、プライバシーセンシティブデータ(privacy−sensitive data)である。取引に関連する関係者以外の関係者は、値を知る機会を有するべきではない。したがって、そのような情報は、暗号化されるとともに保存されるべきであり、使用の際に解読されるべきである。コミッテッド値及び乱数は、取引される資産を将来使うのに必要な要素であるが、消失しやすく、乱数を適切に記憶する安全、安定及び有効方法がないために、復元するのが困難である。例えば、現在の技術のスキームは、乱数と暗号化された勘定残高に対応するプレーンテキスト残高とを管理するための局所的な永続記憶を維持することをユーザに要求し、管理の実現は複雑である。さらに、ブラインディングファクタ(例えば、乱数)と「ペダーソン資産」に対応するプレーンテキスト残高との単一のローカルノードへの記憶は、消失又は破損する傾向があり、それに対し、マルチノードバックアップ記憶は、勘定残高が頻繁に変化するので実現するのが困難である。
本開示のシステム及び方法は、上述した制限を克服するとともにコミットメントスキームの取引金額、資産価値及びブラインディングファクタの強固なプライバシー保護を実現する。そのために、種々の暗号情報交換プロトコルを、乱数及びプレーンテキスト残高の暗号化/解読に用いることができ、したがって、簡便な管理を提供する。さらに、ブロックチェーンの暗号化された情報を格納することは、コミットメントスキームの取引金額、資産価値及びブラインディングファクタが簡単に消失されない又は簡単に改ざんされないことを保証する。
一部の実施の形態において、コミットメントスキーム(例えば、ペダーソンコミットメント)は、次のように所定の値a(例えば、取引金額、資産価値、主要パラメータ)を暗号化してもよい。
この場合、rは、隠蔽を提供する(代替的にバインディングファクタとも称する)ランダムブラインディングファクタであり、G及びHは、楕円曲線の公的に合意された生成元/ベースポイント(publicly agreed generators/basepoints)であり、ランダムに選択してもよく、snは、コミットメントの値であり、C(sn)は、コミットメントとして用いられるとともに相手方に与えられる曲線の点(curve point)であり、Hは、他の曲線の点である。すなわち、G及びHは、ノードに既知のパラメータである。Hの“nothing up my sleeve”生成を、ある点から他の点へのマッピングを行うハッシュ関数H=Hash(G)によりベースポイントGをハッシュすることによって行ってもよい。H及びGは、所定のシステムの公開パラメータ(例えば、楕円曲線のランダムに生成された点)である。上記が楕円曲線形式のペダーソンコミットメントの例を提供するが、ペダーソンコミットメント又は他のコミットメントスキームの他の種々の形式を代替的に用いてもよい。
コミットメントスキームは、データの秘密を保持するが、データがデータの発信者によって後に変更することができないようにするためにデータをコミットする。関係者がコミットメント値(例えば、PC(a))しか知らない場合、どの内在するデータ値(例えば、a)がコミットされたかを決定することができない。データ(例えば、a)とブラインディングファクタ(例えば、r)の両方を(例えば、開始ノードによって)後に明らかにしてもよく、コミットメントの受取人(例えば、合意ノード)は、コミットメントを実行するとともにコミッテッドデータが明らかにされたデータにマッチすることを確認する。ブラインディングファクタは、1以外で存在し、誰かがデータを推測することを試みることがある。
コミットメントスキームは、コミットされた値を秘密のままにすることができるがコミットする関係者がコミットメント処理の必要なパラメータを暴露するときに後に明らかになることがあるように値(例えば、a)をコミットする。強固なコミットメントスキームは、情報隠匿とコンピュータ的なバインディング(computationally binding)の両方であってもよい。隠匿は、所定の値a及び値PC(a)のコミットメントを関連付けできないようにすべきであるという概念である。すなわち、PC(a)は、aについての情報を明らかにすべきでない。既知のPC(a)、G及びHを用いることによって、乱数rのためにaを知るのはほとんど不可能である。コミットメントスキームは、二つの互いに異なる値の結果として同一のコミットメントとなることができる妥当な方法が存在しない場合にはバインディングである。ペダーソンコミットメントは、離散対数仮定の下で完全に隠匿であるとともに計算的にバインディング(computationally binding)である。さらに、既知のPC(a)、G及びHを用いることにより、PC(a)=r×G+a×Hであるか否かを判断することによってPC(a)を確認することができる。
ペダーソンコミットメントは、追加の特性を有する。コミットメントを追加することができ、コミットメントのセットの和は、(ブラインディングファクタの和のようなブラインディングファクタセットを有する)データの和に対するコミットメントと同一である。PC(r,data)+PC(r,data)==PC(r+r,data+data);PC(r,data)-PC(r,data)==0。換言すれば、コミットメントは、加算を保持し、可換特性を適用する、すなわち、ペダーソンコミットメントは、内在するデータが暗号化されないかのように内在するデータが数学的に取り扱われるという点で加算的に同形(additively homomorphic)である。
一部の実施の形態において、入力値を暗号化するのに用いられるペダーソンコミットメントを、楕円曲線の点を用いて構成してもよい。通常、楕円曲線暗号(ECC)公開鍵は、群(G)の生成元と秘密鍵(r)とを乗算することによって作成される:Pub=rG。結果を、33バイトアレイのようにシリアル化してもよい。ECC公開鍵は、ペダーソンコミットメントについて上述したような加算的同形特性に従ってもよい。すなわち、Pub1+Pub2=(r1+r2(mod n))Gである。
入力値に対するペダーソンコミットメントを、G=Hとなるようなxを誰も知らないことを意味する第1の生成元Gに対する第2の生成元Hの離散対数(逆の場合も同じ)を誰も知らないようにするように群(下の式のH)の他の生成元を取り出すことによって作成してもよい。これを、例えば、H: H=to_point(SHA256(ENCODE(G)))を取り出すためにGの暗号化ハッシュを用いることによって成し遂げてもよい。
二つの生成元G及びHが与えられた場合、入力値を暗号化するための例示的なコミットメントスキームは、commitment=rG+aHとして規定してもよい。ここで、rを、秘密ブラインディングファクタとしてもよく、aを、コミットされる入力値としてもよい。したがって、snがコミットされる場合、上述したコミットメントスキームPC(a)=r×G+a×Hを取得することができる。ペダーソンコミットメントは、あらゆるコミットメントに対して理論的に秘密の情報であり、あらゆる量をコミットメントにマッチさせるブラインディングファクタが存在する。ペダーソンコミットメントを、任意マッピングが計算できないように偽りのコミットメントに対して計算的に安全にしてもよい。
値をコミットした関係者(ノード)は、元の値aとコミットメント式を完成させるファクタrとを開示することによってコミットメントをオープンにしてもよい。値PC(a)をオープンにすることを所望する関係者は、実際に共有された元の値が最初に受け取ったコミットメントPC(a)にマッチすることを再び確認するためにコミットメントを計算する。したがって、資産タイプ情報を、資産タイプ情報を固有のシリアルナンバーにマッピングした後にペダーソンコミットメントにより暗号化することによって保護することができる。コミットメントを生成するときに選択した乱数rによって、コミットメント値PC(a)に従ってコミットされたアセットタイプを誰かが推論するのをほとんど不可能にする。
一部の実施の形態において、公衆鍵プロトコル、対称暗号化プロトコル、ディフィー−ヘルマン(DH)鍵交換等のような種々の暗号化情報交換プロトコルを用いてもよい。例えば、DH鍵交換を、公開チャネルを介して暗号鍵を安全に交換する方法として用いてもよい。指数鍵(exponential key)交換とも称されるDH鍵交換は、直接的に送信されることがない要素に基づいて暗号鍵を生成するために乗となる数を用いるデジタル暗号化の方法であり、これによって、自称コードブレーカー(would−be code breaker)のタスクを数学的に圧倒する。
ディフィー−ヘルマン(DH)鍵交換の一例において、二人のエンドユーザであるアリスとボブは、アリスとボブが秘密であると知っているチャネルを通じて通信を行う間に、pが素数であるとともにqがpの生成元となるような正の整数p及びqに互いに合意する。生成元qは、p未満の正の整数の乗となったときに任意の二つのそのような整数に対して同一の結果を生成することが絶対にない数である。pの値を大きくしてもよいが、qの値は、通常、小さい。すなわち、qは、法pの原子根である。
アリスとボブが秘密裏にp及びqに合意すると、アリスとボブは、正の整数の秘密鍵a及びbを選択することができ、aとbの両方は、法pの原子根より小さく、かつ、ランダムに生成されてもよい。ユーザは、秘密鍵を誰にも漏らさず、理想的には、ユーザは、秘密鍵の番号を覚え、秘密鍵の番号を書き留めない又はどこかに記憶させない。次に、アリスとボブは、次の式に従って秘密鍵に基づいて公開鍵a及びbを計算する。
二人のユーザは、インターネット又は企業のワイドエリアネットワーク(WAN)のような安全でないと仮定される通信媒体を介して公開鍵a及びbを共有することができる。これらの公開鍵から、数字k1をユーザの秘密鍵に基づいていずれかのユーザによって生成することができる。
アリスは、式:k1=(b mod pを用いてk1を計算する。
ボブは、式:k1=(a mod pを用いてk1を計算する。
k1の値が上述した二つの式のいずれかに従って同一であるということがわかる。しかしながら、k1の計算に重要な秘密鍵a及びbは、公衆媒体を介して送信されない。p、q、a及びbを用いる場合でも、a及びbを計算するのは困難である。k1が非常に大きくて一見したところ乱数であるので、潜在的なハッカーは、何百万の試験を行うために高性能のコンピュータの助けがあるとしてもk1を正確に推測するチャンスはほとんどない。したがって、二人のユーザは、理論的には、暗号鍵k1を用いる二人のユーザに最適な暗号化方法によって公衆媒体を介して秘密裏に通信を行うことができる。
ディフィー−ヘルマン(DH)鍵交換を実現する他の例において、全ての計算は、十分なサイズの離散群において生じ、ディフィー−ヘルマン問題は、難しいと考えられ、通常、(例えば、従来のDHに対する)大きな素数を法とする乗法群又は(例えば、楕円曲線ディフィー−ヘルマン)に対する楕円曲線群である。
二人の関係者に対して、各関係者は、秘密鍵a又はbを選択する。各関係者は、対応する公開鍵aG又はbGを計算する。各関係者は、公開鍵aG又はbGを他の関係者に送る。各関係者は、対称暗号化スキームの鍵のセットを導出するための鍵導出関数と共に用いることができる新たな共有された秘密a(bG)=b(aG)を計算するために受け取った公開鍵を関係者の秘密鍵と共に用いる。代替的には、他の種々の計算方法を、例えば、公開鍵g及びg並びに共有鍵gab又はgbaを生成することによって用いることができる。
取引中、情報保護は、ユーザのプライバシーを守るのに重要であり、取引金額は、保護されない一つのタイプの情報である。図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及び一つ以上の確認するノードの間の取引及び確認の例示的なステップを示す。以下に示す動作は、理解を助けるのを意図するものである。実現に応じて、例示的なステップは、種々の順番で又は並列に実行される追加のステップ、更に少ないステップ又は代替的なステップを有してもよい。
種々の実施の形態において、取引金額の関係者(発信者であるユーザA及び着信者であるユーザB)が勘定残高モデルに対して設定される。ユーザA及びユーザBは、ラップトップ、携帯電話等のような一つ以上の装置を介して取引を行うために以下のステップを実行してもよい。装置は、種々のステップを実行するために適切なソフトウェア及びハードウェアがインストールされてもよい。各口座を、暗号化秘密鍵(秘密鍵)−公開鍵ペアに関連させてもよい。秘密鍵をSKで表してもよく、公開鍵をPKで表してもよい。秘密鍵を、送信される情報(例えば、取引情報)に署名をするのに用いてもよい。公開鍵を、署名された情報を確認するとともに口座アドレス(account address)を生成するのに用いてもよい。各口座は、各々を(V=PC(r,v),E(r,v))で表す種々の資産を含んでもよく、この場合、vは、資産の額面通りの価値を表し、Vは、額面通りの価値vのペダーソンコミットメントを表し、rは、ブラインディングファクタ(例えば、乱数)を表し、PC()は、ペダーソンコミットメントアルゴリズムであり、E()は、暗号化アルゴリズム(例えば、暗号鍵暗号化アルゴリズム)であり、Kは、各口座に固有の暗号鍵である。例えば、各資産を、(V=PC(r,v),E(r||v))で表すことができ、この場合、||は、連結を表す。連結を以下の実施の形態で用いるが、r及びvを含む他の代替的な表現を用いてもよい。暗号鍵K(例えば、KA,KB)を、秘密鍵プロトコル、鍵導出関数等のような種々の方法によって生成することができる。各資産は、資産のソース情報のようなリストした情報以外の情報も有してもよい。
一例において、ユーザAが、ブロックチェーンで確認される取引においてユーザBと取引金額tの取引が成功する前に、Aの口座のアドレス及び資産並びにBの口座は、以下の通りである。
Aの口座(口座A)に対して、
アドレス:AddrA
公開鍵:PK
秘密鍵:SK
第1の鍵:KA
価値a〜aのそれぞれの資産A〜Aを、以下のように示す。
(A=PC(ra1,a),EKA(ra1,a)),
(A=PC(ra2,a),EKA(ra,a)),
・・・
(A=PC(ram,a),EKA(ram,a))
Bの口座(口座B)に対して、
アドレス:AddrB
公開鍵:PK
秘密鍵:SK
第1の鍵:KB
価値b〜bのそれぞれの資産B〜Bを、以下のように示す。
(B=PC(rb1,b),EKB(rb1,b)),
(B=PC(rb2,b),EKB(rb2,b)),
・・・
(B=PC(rbm,b), EKB(rbm,b))
一部の実施の形態では、ステップ201において、ノードAは、ノードBとの取引を開始してもよい。例えば、ユーザA及びユーザBは、ユーザAの口座AからユーザBの口座Bまでの取引金額tの交渉を行う。口座A及び口座Bは、ここで説明する「ウォレット」に対応してもよい。口座Aは、一つ以上の資産を有してもよい。資産は、例えば、金銭、トークン、デジタル通貨、契約書、譲渡証書、診察記録、顧客の詳細、株、債権、国債又はデジタル形式で表現することができる他の任意の資産を備えてもよい。口座Bは、一つ以上の資産を有してもよい又は資産を有しなくてもよい。各資産を、ブロックチェーンのブロックに記憶された種々のブロックチェーン情報に関連させてもよく、ブロックチェーン情報は、例えば、資産タイプを表すノートタイプ(NoteType)、資産の固有の識別子を表すノートID(NoteID)、資産価値のコミットメント(例えば、ペダーソンコミットメント)値を表すコミットメント値、乱数及び資産価値の暗号化等を備えてもよい。
口座Aに関連して説明するように、一部の実施の形態において、資産A〜Aはそれぞれ、資産価値a〜a及び乱数ra1〜ramに対応する。乱数ra1〜ramに基づいて、ノードAは、暗号化されたコミットメント値を取得するために口座Aの資産価値をコミットメントスキーム(例えば、ペダーソンコミットメント)にコミットしてもよい。例えば、口座Aに対して、暗号化されたコミットメント値をPC〜PCとしてもよく、この場合、PC=PC(rai,a)=rai×G+a×Hであり、G及びHは、既知であり、iは、1とmの間の変数である。第1のフィールドPC(...)に加えて、各資産を、上述した第2のフィールドE(....)にも関連させる。第2のフィールドE(....)は、鍵KAによって暗号化される対応する乱数及び資産価値の暗号化を表す。例えば、暗号化を、EKA(rai,a)としてもよい。各資産に対するPC(...)及びE(....)を、以前の取引から引き継いでもよい。同一の機構を口座B及びその資産に適用してもよい。
一部の実施の形態において、ユーザAは、取引金額tを支払うために、口座Aからの少なくともtの合意された値の一つ以上の資産を解読するための第1の鍵KA(例えば、対称暗号鍵)を用いてもよい。例えば、ノードAは、この取引のために資産A,A,...,Aを選んでもよく、この場合、kは、m以下である。口座Aの残りの資産Ak+1,Ak+2,...,Aは選ばれない。したがって、ノードAは、ノード1から資産PC(ra1,a), PC(ra2,a),...,PC(rak, a)を読み出してもよい。ノードAに知られている乱数ra1,ra2,...rakを用いることによって、ノードAは、和(a+a+,...,+a)が取引金額t未満となることを確実にするように資産価値a,a,...,aを取得するために、読み出される資産PC(ra1,a), PC(ra2,a),...,PC(rak, a)を解読することができる。種々の資産を、種々のレートに基づいて口座内で互いに交換してもよい。
一部の実施の形態において、対称暗号鍵は、プレーンテキストの暗号化と暗号文の解読の両方に対して暗号対称鍵アルゴリズムで用いられる同一の暗号鍵を意味してもよい。鍵は同一であってもよい又は二つの鍵の仲介をする簡単な変換が存在してもよい。鍵は、秘密情報リンクを維持するために用いることができる二人以上の関係者の間の共有された秘密を表してもよい。
一部の実施の形態において、選択した資産価値のtを超えた量は、存在する場合にチェンジとしてのyに設定される。例えば、ノードAは、チェンジy=(a+a+,...,+a)−tを決定してもよい。ノードAは、t及びyに対するペダーソンコミットメント:T=PC(r,t),Y=PC(r,y)を生成するためのブラインディングファクタとして乱数r及びrを選択してもよい。すなわち、ノードAは、tに対する乱数r及びyに対する乱数rを生成してもよい。ノードAは、コミットメント値T=PC(r,t)を取得するためにt及びrをコミットメントスキーム(例えば、同形暗号化)にコミットするとともにコミットメント値T=PC(r,y)を取得するためにy及びrをコミットメントスキーム(例えば、同形暗号化)にコミットすることができる。さらに、ノードAは、r’=(r+r...+r)−r−rを決定してもよい。
一部の実施の形態において、ノードAは、暗号EKA(r,y)を取得するために(r,y)を暗号化する第1の鍵KAを用いてもよい。ノードAは、EKA(r,y)を局所的に記憶してもよい。
ステップ202において、ノードAは、(例えば、ブロックチェーンを介して、ブロックチェーンの安全なチャネルを介して)取引情報をノードBに送信してもよい。送信される情報は、例えば、乱数rt、取引金額t及びコミットメント値Tを備えてもよい。取引情報をプレーンテキストで送信してもよい。
ステップ203において、ノードBは、乱数rt、取引金額t及びコミットメント値Tを確認してもよい。一部の実施の形態において、ノードBは、ユーザBに送信される金額tが正しいか否か及びT=PC(r,t)であるか否かを確認してもよい。ステップ203に対して、マッチ/確認が否である場合、ノードBは、取引を拒否してもよい。マッチ/確認が是である場合、ノードBは、ステップ204でノードAに応答してもよい。
ステップ204において、ノードBは、暗号EKB(r,t)を取得するために第2の鍵KB(例えば、対称暗号鍵)によってEKB(r,t)を暗号化するとともに署名SIGBを生成するためにユーザBの秘密鍵によって取引(EKB(r,t),T)を署名してもよい。署名は、楕円曲線デジタル署名アルゴリズム(ECDSA)のようなデジタル署名アルゴリズム(DSA)に従ってもよく、これによって、署名の受取人は、署名されたデータを認証するために署名者の公開鍵によって署名を確認することができる。署名SIGBは、着信者ノードBが取引に合意したことを表す。
ステップ205において、ノードBは、署名された取引EKB(r,t)及び署名SIGBをノードAに戻してもよい。
ステップ206において、SIGBの確認が成功しない場合、ノードAは、取引を拒否してもよい。SIGBの確認が成功した場合、ノードAは、PC(r,t)の値及びPC(r,y)の値がそれぞれ有効範囲内であるか否かをブロックチェーンノードに対して証明するために範囲証明PRを生成してもよい。例えば、PC(r,t)の有効値を有するために、取引金額tは、有効範囲[0,2−1]内であってもよく、PC(r,y)の有効値を有するために、チェンジyは、有効範囲[0,2−1]内であってもよい。一実施の形態において、ノードAは、後のステップにおいて取引金額t及びチェンジyが有効範囲内にあるか否かを範囲証明に基づいて確認するために、ブロックチェーンノード(例えば、コンセンサスノード)の(T,r,t,Y,r,y)に関連する範囲証明を生成するブロック証明技術(block proof technique)を用いることができる。範囲証明は、例えば、Bulletproofs、ボロミアンリング署名等を備えてもよい。
さらに、ノードAは、署名SIGAを生成するためにユーザAの秘密鍵SKによって取引に署名を行ってもよい。同様に、署名は、デジタル署名アルゴリズム(DSA)に従ってもよい。一部の実施の形態において、ノードAは、署名SIGAを生成するためにユーザAの秘密鍵によって({PC(ra1,a ),EKA(ra1,a);PC(ra2,a ),EKA(ra2,a);...PC(rak,a ),EKA(rak,a)};{PC(r,y), EKA(r,Y)};{PC(r,t),EKB(r,t)};Y;T;r’;RP)を署名してもよく、この場合、{PC(ra1,a ),EKA(ra1,a);PC(ra2,a ),EKA(ra2,a);...PC(rak,a ),EKA(rak,a)}は、取引のために口座Aから選ばれた資産A,A,...,Aを表す。{PC(r,y), EKA(r,Y)}は、口座Aが取引から受け取るチェンジを表す。{PC(r,t),EKB(r,t)}は、口座Bが取引から受け取る移された資産を表す。
ステップ207において、ノードAは、ブロックチェーンに取引を提示し、これによって、ブロックチェーンノードは、取引を確認するとともに取引をブロックチェーンに加えるべきか否かを判断する。一実施の形態において、ノードAは、取引を実行するためにノード1を介して取引({PC(ra1,a ),EKA(ra1,a);PC(ra2, a ),EKA(ra2, a);...PC(rak,a ),EKA(rak,a)};{PC(r, y),EKA(r,y)};{PC(r,t),EKB(r,t)};Y;T;r’;RP;SIGA;SIGB)を提示してもよい。取引は、他のパラメータを備えてもよい又はリストされたパラメータの全てを備えなくてもよい。取引を、確認のためにブロックチェーンの一つ以上のノード(例えば、コンセンサスノード)に送信してもよい。確認が成功する場合、取引をブロックチェーンに加える。確認が成功しない場合、取引がフロックチェーンに加えられるのを拒否される。
ステップ213〜218において、一つ以上のノード(例えば、コンセンサスノード)は、提示された取引の署名、範囲証明及び他の情報を確認する。確認が成功しない場合、ノードは、取引を拒否する。確認が成功した場合、ノードは、取引を受け入れ、ユーザAの口座及びユーザBの口座を更新する。
一部の実施の形態において、取引を実行するために、取引情報を種々のブロックチェーンノードによって確認してもよい。取引情報は、取引アドレスTXID、(一つ以上の)署名、入力及び出力を備えてもよい。TXIDは、取引内容のハッシュを備えてもよい。署名は、発信者及び着信者による暗号鍵署名を備えてもよい。入力は、ブロックチェーンの発信者の口座のアドレス、取引のために発信者のブロックチェーンから選ばれた一つ以上の資産等を備えてもよい。出力は、ブロックチェーンの着信者の口座のアドレス、着信者の(一つ以上の)資産の(一つ以上の)資産タイプ、信者の(一つ以上の)資産の(一つ以上の)コミットメント値等を備えてもよい。入力及び出力は、表形式のインデックス付き情報を備えてもよい。一部の実施の形態において、ノートID値の値を、「TXID+出力の資産のインデックス」とすることができる。
一部の実施の形態において、ブロックチェーンの一つ以上のノードは、提示された取引({PC(ra1,a ),EKA(ra1,a);PC(ra2, a ),EKA(ra2, a);...PC(rak,a ),EKA(rak,a)};{PC(r, y),EKA(r,y)};{PC(r,t),EKB(r,t)};Y;T;r’;RP;SIGA;SIGB)を確認してもよい。
ステップ208において、ノードは、二重払い防止(anti−double−spending)機構又はリプレイアタック防止(anti−replay−attack)機構を用いて取引が実行されたか否かを確認してもよい。取引が実行された場合、ノードは、取引を拒否してもよい。そうでない場合、方法は、ステップ209に進む。
ステップ209において、ノードは、(例えば、Aの公開鍵及びBの公開鍵に基づいて)署名SIGA及びSIGBをそれぞれチェックしてもよい。署名のいずれかが正しくない場合、ノードは、取引を拒否してもよい。そうでない場合、方法は、ステップ210に進む。
任意のステップ210において、ノードは、資産タイプが一致するか否かを確認してもよい。例えば、ノードは、A〜Aのノートタイプの資産タイプが取引金額tの(一つ以上の)資産タイプに一致するか否かを確認してもよい。資産タイプのいずれかが一致しない場合、ノードは、取引を拒否してもよい。そうでない場合、方法は、ステップ211に進む。一部の実施の形態において、ウォレットの元の資産タイプは、為替レートに基づいて他のタイプに変換してもよく、このステップをスキップしてもよい。
ステップ211において、ノードは、PC(r,t)の値及びPC(r,y)の値を認証するために範囲証明RPをチェックしてもよい。一部の実施の形態において、ノードは、取引金額tが0以上であるとともにチェンジyが0以上であるか否かを確認するために範囲証明PRをチェックしてもよい。確認が成功しない場合、ノードは、取引を拒否してもよい。そうでない場合、方法は、ステップ212に進む。
ステップ212において、ノードは、取引の入力及び出力が一致するか否かをチェックしてもよい。一部の実施の形態において、r’は、同形特性に基づく資産価値t’=a+a...+a −t−yに対応してもよく、この場合、r’=(r +r...+r)−r−rである。入力する資産がa+a ...+aであるとともに出力がt+yであるので、入力と出力が一致する(a+a ...+a=t+y)ときにt’=0である。したがって、r’に対応するコミットメント値は、PC(r’,t’)=r’×G+t’×H=r’Gである。r’=(r+r...+r)−r−rであるので、ノードは、r’Gが(r+r...+r)−r−rに対応するPC+...+PC−T−Yに等しいか否かを確認することによって入力と出力が等しいか否かを判断することができる。r’GがPC+...+PC−T−Yに等しい場合、ノードは、取引の入力と出力が一致すると判断するとともに次のステップに進むことができる。そうでない場合、ノードは、取引の入力と出力が一致しないと判断するとともに取引を拒否してもよい。
ステップ213において、ノードは、ノードAが取引から選択した(一つ以上の)資産を有するか否かを確認してもよい。一実施の形態において、ノードは、この確認を、口座Aに対応する情報のようなブロックチェーンに記憶された情報に基づいて行ってもよい。情報は、全ての資産の以前の取引情報を備えてもよい。したがって、ノードは、口座Aが取引する資産を有するか否かを判断することができる。判断が否である場合、ノードは、取引を拒否してもよい。そうでない場合、方法は、ステップ214に進む。
ステップ214において、ノードは、口座A及び口座Bを更新してもよい。例えば、ノードは、金額tで取引する資産を口座Aから除去するとともにそれを口座Bに加えてもよい。同形特性に基づいて、Y=PC(r,y)であり、ノード1がrを既知であるとともにブロックチェーンからコミットメント値Yにアクセスすることができるので、ノード1は、資産価値yを取得するとともに口座Aに戻すためにYを解読することができる。ノード2は、ステップ202で乱数rをノード1から取得するとともにブロックチェーンからコミットメント値Yを取得することができる。したがって、ノード2は、資産価値tを取得するとともの口座Bに加えるためにTを解読することができる。
一例において、口座A及び口座Bを更新した後に、口座Aは、選んだ資産A,A,...,Aに対するチェンジyを受け取るとともに選ばない資産Aak+1,...,Aを受け取り、口座Bは、取引金額tを受け取るとともに元の資産B,B,...,Bを受け取る。Aの口座の資産及びBの口座の資産は、次の通りである。
Aの口座(口座A)に対して、更新した資産は、次のように表される。
(Y=PC(r,y),EKA(r,y)),
(Aak+1=PC(rak+1,ak+1),EKA(rak+1,ak+1))
(Aak+2=PC(rak+2,ak+2),EKA(rak+2,ak+2))
...
(A=PC(ram,a),EKA(ram,a))
Bの口座(口座B)に対して、更新した資産は、次のように表される。
(B=PC(rb1,b),EKB(rb1,b)),
(B=PC(rb, b),EKB(rb2,b)),
...
(B=PC(rbn,b),EKB(rbn,b)),
(T=PC(r,t),EKB(r,t))
本開示は、発信者及び着信者をそれぞれ説明するためのノードA/ユーザA及びノードB/ユーザBを用いるが、発信者及び着信者を同一のノード/ユーザとすることができる。例えば、取引のチェンジy(口座Aの選んだ資産の合計から取引金額を引いたもの)を取引の発信者に戻してもよい。したがって、ここで説明するようなノードBによって実行される種々のステップを、ノードAによって代わりに実行してもよい。
図3は、本開示の種々の実施の形態による情報保護のための例示的な方法300のフローチャートを示す。方法300を、図1のシステム100の一つ以上の構成要素(例えば、ノードA、ノード1、ノードAとノード1の組合せ)によって実施してもよい。方法300を、プロセッサと命令を記憶する非一時的コンピュータ可読記憶媒体(例えば、メモリ)を備えるシステム又は装置(例えば、コンピュータ、サーバ)によって実施してもよい。命令は、プロセッサによって実行されるときに、システム又は装置(例えば、プロセッサ)によって方法300を実施させる。後に説明する方法300の動作は、説明することを意図したものである。実現に応じて、方法300は、種々の順番で又は並列に実行される追加のステップ、更に少ないステップ又は代替的なステップを有してもよい。
ブロック301は、トランザクションコミットメント値Tを取得するために第1のコミットメントスキームに取引金額tの取引をコミットし、チェンジコミットメント値Yを取得するために第2のコミットメントスキームにチェンジyの取引をコミットし、第1のコミットメントスキームは、トランザクションブラインディングファクタrを備え、第2のコミットメントスキームは、チェンジブラインディングファクタrを備えることを備える。一部の実施の形態において、第1のコミットメントスキームは、少なくともトランザクションブラインディングファクタrtに基づくとともに取引金額tが対応するコミッテッド値であるペダーソンコミットメントを備える。例えば、T=PC(r,t)を参照。一部の実施の形態において、第2のコミットメントスキームは、少なくともチェンジブラインディングファクタrに基づくとともにチェンジyが対応するコミッテッド値であるペダーソンコミットメントを備える。例えば、Y=PC(r,y)を参照。
ブロック302は、チェンジブラインディングファクタrとチェンジyの第1の組合せを第1の鍵KAによって暗号化することを備える。
ブロック303は、取引の着信者に関連する着信者ノードが取引を確認するために、トランザクションブラインディングファクタrt、取引金額t及びトランザクションコミットメント値Tを着信者ノードに送信することを備える。一部の実施の形態において、取引の着信者に関連する着信者ノードが取引を確認するために、トランザクションブラインディングファクタrt、取引金額t及びトランザクションコミットメント値Tを着信者ノードに送信することは、トランザクションブラインディングファクタrt、取引金額t及びトランザクションコミットメント値Tを着信者ノードに送信することによって、着信者ノードは、トランザクションコミットメント値Tが取引金額tをトランザクションブラインディングファクタrtにコミットする第1のコミットメントスキームに等しいか否かを確認することを備える。
ブロック304は、着信者ノードの取引の確認の成功に応答して、第2の鍵KBによって暗号化されたトランザクションブラインディングファクタrt及び取引金額tの暗号化された第2の組合せを取得することを備える。一部の実施の形態において、暗号化された第2の組合せを取得することは、暗号化された第2の組合せと、暗号化された第2の組合せ及びトランザクションコミットメント値Tに関連する署名SIGBを着信者ノードから受け取ることを備える。
ブロック305は、ブロックチェーンの複数のノードが取引を確認するために、暗号化された第1の組合せ及び暗号化された第2の組合せをブロックチェーンの複数のノードに送信することを備える。
一部の実施の形態において、取引金額tは、取引の発信者の一つ以上の資産A,A,...,Aから選ばれ、資産の各々は、(1)少なくとも各資産のブラインディングファクタrak及び値に基づくペダーソンコミットメント及び(2)少なくとも各資産のブラインディングファクタrak及び値に基づく暗号化に関連し、チェンジyは、取引金額tと選ばれた資産の間の差である。
一部の実施の形態において、暗号化された第1の組合せ及び暗号化された第2の組合せをブロックチェーンの複数のノードに送信する前に、方法は、署名SIGBを確認することと、署名SIGBの確認の成功に応答して、資産A,A,...,A、第1の組合せ、第2の組合せ、トランザクションコミットメント値T、チェンジコミットメント値Y及び資産A,A,...,Aに対応するブラインディングファクタの和とトランザクションブラインディングファクタr及びチェンジブラインディングファクタrの和との差に関連する署名SIGAを生成することと、を更に備える。すなわち、差は、r’=(r+r...+ r)−(r+r)である。
一部の実施の形態において、暗号化された第1の組合せ及び暗号化された第2の組合せをブロックチェーンの複数のノードに送信することは、資産A,A,...,A、第1の組合せ、第2の組合せ、トランザクションコミットメント値T、チェンジコミットメント値Y及び資産A,A,...,Aに対応するブラインディングファクタの和とトランザクションブラインディングファクタr、チェンジブラインディングファクタrの和との差、署名SIGA及び署名SIGBを、ブロックチェーンの複数のノードに送信すること備える。
一部の実施の形態において、ブロックチェーンの複数のノードが取引を確認するために、暗号化された第1の組合せ及び暗号化された第2の組合せをブロックチェーンの複数のノードに送信することは、暗号化された第1の組合せ及び暗号化された第2の組合せをブロックチェーンの複数のノードに送信することによって、ブロックチェーンの複数のノードは、取引の確認の成功に応答して、着信者に取引金額tを発し、資産A,A,...,Aを削除し、発信者にチェンジyを発することを備える。
図4は、種々の実施の形態による例示的な情報保護のための方法400のフローチャートを示す。方法400を、図1のシステム100の一つ以上の構成要素(例えば、ノードB、ノード2、ノードBとノード2の組合せ)によって実施してもよい。方法400を、プロセッサと命令を記憶する非一時的コンピュータ可読記憶媒体(例えば、メモリ)を備えるシステム又は装置(例えば、コンピュータ、サーバ)によって実施してもよい。命令は、プロセッサによって実行されるときに、システム又は装置(例えば、プロセッサ)によって方法400を実施させる。後に説明する方法400の動作は、説明することを意図したものである。実現に応じて、方法400は、種々の順番で又は並列に実行される追加のステップ、更に少ないステップ又は代替的なステップを有してもよい。
ブロック401は、トランザクションブラインディングファクタrt、取引金額tの取引及びトランザクションコミットメント値Tを取引の発信者に関連する発信者ノードから取得し、取引金額tは、トランザクションコミットメント値Tを取得するために第1のコミットメントスキームにコミットされ、第1のコミットメントスキームは、トランザクションブラインディングファクタrtを備えることを備える。
ブロック402は、取得したトランザクションブラインディングファクタrt、取得した取引金額tの取引及び取得したトランザクションコミットメント値Tに基づいて取引を確認することを備える。一部の実施の形態において、取得したトランザクションブラインディングファクタrt、取得した取引金額tの取引及び取得したトランザクションコミットメント値Tに基づいて取引を確認することは、トランザクションコミットメント値Tが取引金額tを取得したトランザクションブラインディングファクタrtにコミットする第1のコミットメントスキームに等しいか否かを確認することを備える。
ブロック403は、取引の確認の成功に応答して、トランザクションブラインディングファクタr t 及び取引金額tの第2の組合せを第2の鍵KBによって暗号化することを備える。
ブロック404は、暗号化された第2の組合せを発信者ノードに送信することを備える。一部の実施の形態において、暗号化された第2の組合せを発信者ノードに送信する前に、方法は、暗号化された第2の組合せ及びトランザクションコミットメント値Tに関連する署名SIGBを生成することを更に備え、暗号化された第2の組合せを発信者ノードに送信することは、暗号化された第2の組合せ及び署名SIGBを発信者ノードに送信すること備える。
図示したように、取引金額のプライバシーを、コンピュータ技術の種種の改善によって保護することができる。例えば、取引構造は、資産価値のペダーソンコミットメントに関連する第1のフィールド(例えば、第1のフィールドは、PC(rai,a)であり、iは、1とmの間である)及び資産価値のペダーソンコミットメントに関連する第2のフィールド(例えば、第2のフィールドは、EKA(rai,a)であり、iは、1とmの間である)のような一つ以上のフィールドを備える。第1のフィールド及び第2のフィールドは、取引ステップで用いられるとともにブロックチェーンに記憶される。
他の例に対して、暗号鍵を、各ペダーソンコミットメントの乱数及び対応する資産価値を暗号化するために用いる。暗号化/解読のための暗号鍵は、資産所有者によって保持され、したがって、資産価値のプライバシーは、暗号鍵を有しないユーザから保護される。さらに、暗号化された乱数及び資産価値を含む取引をブロックチェーンに記憶することができる。この方法は、乱数を管理する際の利便性を提供し、乱数及び資産価値の消失及び変更の機会を最小にし、分配されるとともに一貫したブロックチェーン記憶に基づいてセキュリティを高める。
取引をブロックチェーンに提示する前のステップを、「オフチェーン」又は「事前取引」動作として取り扱うことができる。その理由は、E()関数によって表される暗号化された「試算価値+対応する乱数」をブロックチェーンが記憶する間に暗号化処理及び解読処理がクライアント側で発生するからである。ペダーソンコミットメントは、資産が中にある金庫と似ていてもよく、「試算価値+対応する乱数」は、金庫の鍵と似ていてもよい。暗号化された鍵及び関連の金庫をブロックチェーンに記憶することができ、それは、改ざん防止であるとともに消失防止を行う。ユーザが(一つ以上の)資産を使うことを所望する度に、ユーザは、金庫及び暗号鍵をブロックチェーンから検索するとともに鍵をクライアント側で解読することができ、その結果、「事前取引」ステップを、(一つ以上の)資産を使う新たな取引を構築するために実行することができる。
そのようにして、ペダーソンコミットメントの乱数を、破損のリスクなく、かつ、追加の鍵の管理の負担が生じることなく便利に管理することができる。したがって、取引プライバシーを完全に保護することができ、取引金額を秘密に保持することができる。
ここで説明した技術は、一つ以上の専用コンピュータデバイスによって実現される。専用コンピュータデバイスを、デスクトップコンピュータシステム、サーバコンピュータシステム、ポータブルコンピュータシステム、携帯装置、ネットワークデバイス又は技術を実現するためのハードワイヤード及び/又はプログラム論理を包含する他の任意の装置又は装置の組合せであってもよい。(一つ以上の)コンピュータデバイスは、一般的には、オペレーティングシステムソフトウェアによって制御及び調整される。通常のオペレーティングシステムは、コンピュータプロセスを実行するための制御及びスケジューリングを行い、メモリ管理を行い、ファイルシステム、ネットワーク及びI/Oサービスを提供し、かつ、特にグラフィカルユーザインタフェース(GUI)のようなユーザインタフェース機能を提供する。
図5は、ここで説明する実施の形態のいずれかを実現することができる例示的なコンピュータシステム500のブロック図を示す。システム500を、ここで説明するノードのいずれかにおいて実現してもよく、情報保護方法の対応するステップを実行するように構成してもよい。コンピュータシステム500は、情報の通信を行うためのバス502又は他の通信機構と、情報を処理するためにバス502に結合された一つ以上のハードウェアプロセッサ504と、を有する。(一つ以上の)ハードウェアプロセッサ504は、例えば、一つ以上の汎用マイクロプロセッサであってもよい。
コンピュータシステム500は、情報と(一つ以上の)プロセッサ504によって実行される命令とを記憶するためにバス502に結合されたランダムアクセスメモリ(RAM)、キャッシュ及び/又は他のダイナミック記憶装置のような主記憶装置506も有する。主記憶装置506を、(一つ以上の)プロセッサ504によって実行される命令の実行中に変数又は他の中間情報(intermediate information)を一時的に記憶するのに用いてもよい。そのような命令は、(一つ以上の)プロセッサ504にアクセス可能な記憶媒体に記憶されるときに、カスタマイズされた専用マシンのコンピュータシステム500によって、命令で指定された動作を実行する。コンピュータシステム500は、(一つ以上の)プロセッサ504の静的情報及び命令を記憶するためにバス502に結合されたリードオンリーメモリ(ROM)も有する。磁気ディスク、光ディスク、USBサムドライブ(フラッシュドライブ)のような記憶装置510を、情報及び命令を記憶するために設けるとともにバス502に結合する。
システム500は、コンピュータシステムと協働してコンピュータシステム500を専用マシンにする又は専用マシンにプログラムするカスタマイズされたハードワイヤード論理、一つ以上のASIC又はFPGA、ファームウェア及び/又はプログラム論理を用いることによって、ここで説明する技術を実現してもよい。一実施の形態によれば、ここで説明する動作、方法及びプロセスを、主記憶装置506に含まれる一つ以上の命令の一つ以上のシーケンスを実行する(一つ以上の)プロセッサ504に応答してコンピュータシステム500によって実行する。そのような命令を、記憶装置510のような他の記憶媒体から主記憶装置506に読み込んでもよい。主記憶装置506に含まれる命令のシーケンスを実行することによって、一つ以上のプロセッサ504は、ここで説明する処理工程を実行する。代替的な実施の形態において、ハードワイヤード回路を、ソフトウェア命令の代わりに又はソフトウェア命令と共に用いてもよい。
主記憶装置506、ROM508及び/又は記憶装置510は、非一時的記憶媒体を有してもよい。ここで用いるような用語「非一時的媒体」及び同様な用語は、マシンを特定の方法で動作させるデータ及び/又は命令を記憶する媒体を意味し、当該媒体は、一時的な信号を除外する。そのような非一時的媒体は、不揮発性媒体及び/又は揮発性媒体を備えてもよい。不揮発性媒体は、例えば、記憶装置510のような光ディスク又は磁気ディスクを含む。揮発性媒体は、主記憶装置506のようなダイナミックメモリを含む。非一時的媒体の一般的形式は、例えば、フロッピーディスク(登録商標)、フレキシブルディスク、ハードディスク、固体ドライブ、磁気テープ又は他の任意の磁気データ記憶媒体、CD−ROM、他の任意の光データ記憶媒体、孔のパターンを有する任意の物理媒体、RAM、PROM、EPROM、フラッシュEPROM、NVRAM、他の任意のメモリチップ若しくはカートリッジ及びこれらのネットワーク形態を含む。
コンピュータシステム500は、バス502に結合されたネットワークインタフェース518も有する。ネットワークインタフェース518は、一つ以上のローカルネットワークに接続された一つ以上のネットワークリンクに結合する双方向データ通信を提供する。例えば、ネットワークインタフェース518は、総合デジタル通信網(ISDN)カード、ケーブルモデム、衛星モデム又は対応するタイプの電話線に対するデータ通信を提供するモデムであってもよい。他の例として、ネットワークインタフェース518は、互換性のあるLAN(又はWANと通信を行うWAN構成要素)に対するデータ通信接続を提供するローカルエリアネットワーク(LAN)カードであってもよい。無線リンクを実現してもよい。そのようないずれかの実現において、ネットワークインタフェース518は、種々のタイプの情報を表すデジタルデータストリームを搬送する電気信号、電磁信号又は光信号を送受信する。
コンピュータシステム500は、(一つ以上の)ネットワーク、ネットワークリンク及びネットワークインタフェース518を介してメッセージを送信するとともにプログラムコードを含むデータを受信することができる。インターネットの例において、サーバは、インターネット、ISP,ローカルネットワーク及びネットワークインタフェース518を介して、アプリケーションプログラムの要求されるコードを送信する。
受信したコードを、受信の際に(一つ以上の)プロセッサ504によって実行してもよい及び/又は後の実行のために記憶装置510又は他の不揮発性記憶装置に記憶してもよい。
前のセクションで説明したプロセス、方法及びアルゴリズムの各々を、コンピュータハードウェアを備える一つ以上のコンピュータシステム又はコンピュータプロセッサによって実行されるコードモジュールで実施するとともに当該コードモジュールによって完全に又は部分的に自動化してもよい。プロセス及びアルゴリズムを、特定用途向け乖離で部分的に又は完全に実現してもよい。
上述した種々の特徴及びプロセスを互いに独立して用いてもよい又は種々の方法で組み合わせて用いてもよい。全てのあり得る組合せ及び部分的組合せは、本開示の範囲に入ることを意図する。追加的に、所定の方法又は処理ブロックを一部の実現において省略してもよい。ここで説明する方法及びプロセスは、任意の特定の順番に限定されず、それに関連するブロック及び段階(state)を、適切な他の順番で実行してもよい。例えば、説明したブロック又は段階を特に開示した順番以外の順番で実行してもよい又は複数のブロック又は段階を単一のブロック又は段階で組み合わせてもよい。例示的なブロック又は段階を、シリアルに、並列に又は他の方法で実行してもよい。ブロック又は段階を開示した例示的な実施の形態に加えてもよい又は開示した例示的な実施の形態から除去してもよい。ここで説明する例示的なシステム及び構成要素を、開示したのと異なるように構成してもよい。例えば、素子を、開示した例示的な実施の形態に追加してもよい、開示した例示的な実施の形態から除外してもよい又は開示した例示的な実施の形態において位置を変えてもよい。
ここで説明する例示的な方法の種種の動作を、アルゴリズムによって少なくとも部分的に実行してもよい。アルゴリズムは、メモリ(例えば、上述した非一時的コンピュータ可読記憶媒体)に記憶されたプログラムコード又は命令に含まれてもよい。そのようなアルゴリズムは、機械学習アルゴリズムを備えてもよい。一部の実施の形態において、機械学習アルゴリズムは、機能を実行するためにコンピュータを明示的にプログラムしなくてもよいが、機能を実行する予測モデルを形成するためにトレーニングデータから学習を行うことができる。
ここで説明する例示的な方法の種種の動作を、関連の動作を実行するために(例えば、ソフトウェアによって)一時的に構成された又は永久的に構成された一つ以上のプロセッサによって少なくとも部分的に実行してもよい。一時的に構成されているか永久的に構成されているかに関係なく、そのようなプロセッサは、ここで説明する一つ以上の動作又は機能を実行するために動作するプロセッサで実施されるエンジンを構成してもよい。
同様に、ここで説明する方法を、ハードウェアの例である特定の一つ以上のプロセッサを用いることによって少なくとも部分的にプロセッサで実施してもよい。例えば、方法の動作の少なくとも一部を、一つ以上のプロセッサ又はプロセッサで実施されるエンジンによって実行してもよい。さらに、一つ以上のプロセッサは、「クラウドコンピューティング」環境において又は「サービスとしてのソフトウェア」(SaaS)として関連の動作の実行をサポートするように動作してもよい。例えば、動作の少なくとも一部を、(プロセッサを有するマシンの例としての)一群のコンピュータによって実行してもよく、これらの動作は、ネットワーク(例えば、インターネット)を介して及び一つ以上の適切なインタフェース(例えば、アプリケーションプログラムインタフェース(API))を介して利用可能である。
所定の動作の性能(performance)を、単一のマシン内に存在するプロセッサの間だけでなく複数のマシンに亘って配置されたプロセッサの間に分布させることができる。一部の例示的な実施の形態において、プロセッサ又はプロセッサで実施するエンジンを、(例えば、家庭環境、オフィス環境又はサーバファーム内の)単一の地理的な位置に配置してもよい。他の例示的な実施の形態において、プロセッサ又はプロセッサで実施するエンジンを、複数の地理的な位置にわたって分布させてもよい。
本明細書を通じて、複数の例は、単一の例として説明した構成要素、動作又は構造を実現してもよい。一つ以上の方法の個別の動作を個別の動作として図示及び説明したが、個別の動作の一つ以上を同時に実行してもよく、説明した順番で動作を実行する必要はない。例示的な形態において個別の構成要素として示した構造及び機能を、組み合わせた構造又は構成要素として実現してもよい。同様に、単一の構成要素として示した構造及び機能を、個別の構成要素として実現してもよい。これらの変形、変更、追加及び改善並びに他の変形、変更、追加及び改善は、ここでの主題の範囲内にある。
主題の概観を特定の例示的な実施の形態を参照しながら説明したが、種種の変更及び変形が、本開示の実施の形態の広い範囲から逸脱することなくこれらの実施の形態において行ってもよい。主題のそのような実施の形態を、本願の範囲を実際に一つ以上の開示又は概念が存在する場合の任意の一つの開示又は概念に自発的に限定することを意図することなく単なる便宜上の用語「発明」によって個別に又は集合的にここに示す。詳細な説明を限定の意味ととるべきではなく、種々の実施の形態の範囲は、添付した特許請求の範囲によって、そのような特許請求の範囲の権利が与えられる等価物の全範囲と共に規定される。

Claims (23)

  1. 情報保護のためのコンピュータで実施される方法であって、
    トランザクションコミットメント値Tを取得するために第1のコミットメントスキームに取引金額tの取引をコミットし、チェンジコミットメント値Yを取得するために第2のコミットメントスキームにチェンジyの取引をコミットし、前記第1のコミットメントスキームは、トランザクションブラインディングファクタrを備え、前記第2のコミットメントスキームは、チェンジブラインディングファクタrを備えることと、
    前記チェンジブラインディングファクタrと前記チェンジyの第1の組合せを第1の鍵KAによって暗号化することと、
    前記取引の着信者に関連する着信者ノードが前記取引を確認するために、前記トランザクションブラインディングファクタrt、前記取引金額t及び前記トランザクションコミットメント値Tを前記着信者ノードに送信することと、
    前記着信者ノードの前記取引の確認の成功に応答して、第2の鍵KBによって暗号化された前記トランザクションブラインディングファクタrt及び前記取引金額tの暗号化された第2の組合せを取得することと、
    ブロックチェーンの複数のノードが前記取引を確認するために、暗号化された前記第1の組合せ及び暗号化された前記第2の組合せを前記ブロックチェーンの複数のノードに送信することと、
    を備える方法。
  2. 前記第1のコミットメントスキームは、少なくとも前記トランザクションブラインディングファクタrtに基づくとともに前記取引金額tが対応するコミッテッド値であるペダーソンコミットメントを備え、
    前記第2のコミットメントスキームは、少なくとも前記チェンジブラインディングファクタrに基づくとともに前記チェンジyが対応するコミッテッド値であるペダーソンコミットメントを備える請求項1に記載の方法。
  3. 前記取引の着信者に関連する着信者ノードが前記取引を確認するために、前記トランザクションブラインディングファクタrt、前記取引金額t及び前記トランザクションコミットメント値Tを前記着信者ノードに送信することは、
    前記トランザクションブラインディングファクタrt、前記取引金額t及び前記トランザクションコミットメント値Tを前記着信者ノードに送信することによって、前記着信者ノードは、前記トランザクションコミットメント値Tが前記取引金額tを前記トランザクションブラインディングファクタrtにコミットする前記第1のコミットメントスキームに等しいか否かを確認することを備える請求項1に記載の方法。
  4. 暗号化された第2の組合せを取得することは、暗号化された前記第2の組合せと、暗号化された前記第2の組合せ及び前記トランザクションコミットメント値Tに関連する署名SIGBを前記着信者ノードから受け取ることを備える請求項1に記載の方法。
  5. 前記取引金額tは、前記取引の発信者の一つ以上の資産A,A,...,Aから選ばれ、
    前記資産の各々は、(1)少なくとも各資産のブラインディングファクタrak及び値に基づくペダーソンコミットメント及び(2)少なくとも各資産の前記ブラインディングファクタrak及び値に基づく暗号化に関連し、
    前記チェンジyは、前記取引金額tと選ばれた資産の間の差である請求項4に記載の方法。
  6. 暗号化された前記第1の組合せ及び暗号化された前記第2の組合せを前記ブロックチェーンの複数のノードに送信する前に、
    前記署名SIGBを確認することと、
    前記署名SIGBの確認の成功に応答して、前記資産A,A,...,A、前記第1の組合せ、前記第2の組合せ、前記トランザクションコミットメント値T、前記チェンジコミットメント値Y及び前記資産A,A,...,Aに対応するブラインディングファクタの和と前記トランザクションブラインディングファクタr及び前記チェンジブラインディングファクタrの和との差に関連する署名SIGAを生成することと、
    を更に備える請求項5に記載の方法。
  7. 暗号化された前記第1の組合せ及び暗号化された前記第2の組合せを前記ブロックチェーンの複数のノードに送信することは、
    前記資産A,A,...,A、前記第1の組合せ、前記第2の組合せ、前記トランザクションコミットメント値T、前記チェンジコミットメント値Y及び前記資産A,A,...,Aに対応するブラインディングファクタの和と前記トランザクションブラインディングファクタr、前記チェンジブラインディングファクタrの和との差、前記署名SIGA及び前記署名SIGBを、前記ブロックチェーンの複数のノードに送信すること備える請求項6に記載の方法。
  8. ブロックチェーンの複数のノードが前記取引を確認するために、暗号化された前記第1の組合せ及び暗号化された前記第2の組合せを前記ブロックチェーンの複数のノードに送信することは、
    暗号化された前記第1の組合せ及び暗号化された前記第2の組合せを前記ブロックチェーンの複数のノードに送信することによって、前記ブロックチェーンの複数のノードは、前記取引の確認の成功に応答して、前記着信者に前記取引金額tを発し、前記資産A,A,...,Aを削除し、前記発信者に前記チェンジyを発することを備える請求項7に記載の方法。
  9. プロセッサによって実行するときに、
    トランザクションコミットメント値Tを取得するために第1のコミットメントスキームに取引金額tの取引をコミットし、チェンジコミットメント値Yを取得するために第2のコミットメントスキームにチェンジyの取引をコミットし、前記第1のコミットメントスキームは、トランザクションブラインディングファクタrを備え、前記第2のコミットメントスキームは、チェンジブラインディングファクタrを備えることと、
    前記チェンジブラインディングファクタrと前記チェンジyの第1の組合せを第1の鍵KAによって暗号化することと、
    前記取引の着信者に関連する着信者ノードが前記取引を確認するために、前記トランザクションブラインディングファクタrt、前記取引金額t及び前記トランザクションコミットメント値Tを前記着信者ノードに送信することと、
    前記着信者ノードの前記取引の確認の成功に応答して、第2の鍵KBによって暗号化された前記トランザクションブラインディングファクタrt及び前記取引金額tの暗号化された第2の組合せを取得することと、
    ブロックチェーンの複数のノードが前記取引を確認するために、暗号化された前記第1の組合せ及び暗号化された前記第2の組合せを前記ブロックチェーンの複数のノードに送信することと、
    を備える動作を前記プロセッサによって実行させる命令を記憶する非一時的コンピュータ可読記憶媒体。
  10. 前記第1のコミットメントスキームは、少なくとも前記トランザクションブラインディングファクタrtに基づくとともに前記取引金額tが対応するコミッテッド値であるペダーソンコミットメントを備え、
    前記第2のコミットメントスキームは、少なくとも前記チェンジブラインディングファクタrに基づくとともに前記チェンジyが対応するコミッテッド値であるペダーソンコミットメントを備える請求項9に記載の非一時的コンピュータ可読記憶媒体。
  11. 前記取引の着信者に関連する着信者ノードが前記取引を確認するために、前記トランザクションブラインディングファクタrt、前記取引金額t及び前記トランザクションコミットメント値Tを前記着信者ノードに送信することは、
    前記トランザクションブラインディングファクタrt、前記取引金額t及び前記トランザクションコミットメント値Tを前記着信者ノードに送信することによって、前記着信者ノードは、前記トランザクションコミットメント値Tが前記取引金額tを前記トランザクションブラインディングファクタrtにコミットする前記第1のコミットメントスキームに等しいか否かを確認することを備える請求項9に記載の非一時的コンピュータ可読記憶媒体。
  12. 暗号化された第2の組合せを取得することは、暗号化された前記第2の組合せと、暗号化された前記第2の組合せ及び前記トランザクションコミットメント値Tに関連する署名SIGBを前記着信者ノードから受け取ることを備える請求項9に記載の非一時的コンピュータ可読記憶媒体。
  13. 前記取引金額tは、前記取引の発信者の一つ以上の資産A,A,...,Aから選ばれ、
    前記資産の各々は、(1)少なくとも各資産のブラインディングファクタrak及び値に基づくペダーソンコミットメント及び(2)少なくとも各資産の前記ブラインディングファクタrak及び値に基づく暗号化に関連し、
    前記チェンジyは、前記取引金額tと選ばれた資産の間の差である請求項12に記載の非一時的コンピュータ可読記憶媒体。
  14. 暗号化された前記第1の組合せ及び暗号化された前記第2の組合せを前記ブロックチェーンの複数のノードに送信する前に、
    前記署名SIGBを確認することと、
    前記署名SIGBの確認の成功に応答して、前記資産A,A,...,A、前記第1の組合せ、前記第2の組合せ、前記トランザクションコミットメント値T、前記チェンジコミットメント値Y及び前記資産A,A,...,Aに対応するブラインディングファクタの和と前記トランザクションブラインディングファクタr及び前記チェンジブラインディングファクタrの和との差に関連する署名SIGAを生成することと、
    を更に備える請求項13に記載の非一時的コンピュータ可読記憶媒体。
  15. 暗号化された前記第1の組合せ及び暗号化された前記第2の組合せを前記ブロックチェーンの複数のノードに送信することは、
    前記資産A,A,...,A、前記第1の組合せ、前記第2の組合せ、前記トランザクションコミットメント値T、前記チェンジコミットメント値Y及び前記資産A,A,...,Aに対応するブラインディングファクタの和と前記トランザクションブラインディングファクタr、前記チェンジブラインディングファクタrの和との差、前記署名SIGA及び前記署名SIGBを、前記ブロックチェーンの複数のノードに送信すること備える請求項14に記載の非一時的コンピュータ可読記憶媒体。
  16. ブロックチェーンの複数のノードが前記取引を確認するために、暗号化された前記第1の組合せ及び暗号化された前記第2の組合せを前記ブロックチェーンの複数のノードに送信することは、
    暗号化された前記第1の組合せ及び暗号化された前記第2の組合せを前記ブロックチェーンの複数のノードに送信することによって、前記ブロックチェーンの複数のノードは、前記取引の確認の成功に応答して、前記着信者に前記取引金額tを発し、前記資産A,A,...,Aを削除し、前記発信者に前記チェンジyを発することを備える請求項15に記載の非一時的コンピュータ可読記憶媒体。
  17. 情報保護のためのシステムであって、プロセッサ及び前記プロセッサに結合された非一時的コンピュータ可読記憶媒体を備え、前記非一時的コンピュータ可読記憶媒体は、前記プロセッサによって実行するときに、
    トランザクションコミットメント値Tを取得するために第1のコミットメントスキームに取引金額tの取引をコミットし、チェンジコミットメント値Yを取得するために第2のコミットメントスキームにチェンジyの取引をコミットし、前記第1のコミットメントスキームは、トランザクションブラインディングファクタrを備え、前記第2のコミットメントスキームは、チェンジブラインディングファクタrを備えることと、
    前記チェンジブラインディングファクタrと前記チェンジyの第1の組合せを第1の鍵KAによって暗号化することと、
    前記取引の着信者に関連する着信者ノードが前記取引を確認するために、前記トランザクションブラインディングファクタrt、前記取引金額t及び前記トランザクションコミットメント値Tを前記着信者ノードに送信することと、
    前記着信者ノードの前記取引の確認の成功に応答して、第2の鍵KBによって暗号化された前記トランザクションブラインディングファクタrt及び前記取引金額tの暗号化された第2の組合せを取得することと、
    ブロックチェーンの複数のノードが前記取引を確認するために、暗号化された前記第1の組合せ及び暗号化された前記第2の組合せを前記ブロックチェーンの複数のノードに送信することと、
    を備える動作を前記プロセッサによって実行させる命令を記憶するシステム。
  18. 情報保護のためのコンピュータで実施される方法であって、
    トランザクションブラインディングファクタrt、取引金額tの取引及びトランザクションコミットメント値Tを取引の発信者に関連する発信者ノードから取得し、前記取引金額tは、前記トランザクションコミットメント値Tを取得するために第1のコミットメントスキームにコミットされ、前記第1のコミットメントスキームは、前記トランザクションブラインディングファクタrtを備えることと、
    取得した前記トランザクションブラインディングファクタrt、取得した前記取引金額tの取引及び取得した前記トランザクションコミットメント値Tに基づいて前記取引を確認することと、
    前記取引の確認の成功に応答して、前記トランザクションブラインディングファクタr t 及び前記取引金額tの第2の組合せを第2の鍵KBによって暗号化することと、
    暗号化された前記第2の組合せを前記発信者ノードに送信することと、
    を備える方法。
  19. 取得した前記トランザクションブラインディングファクタrt、取得した前記取引金額tの取引及び取得した前記トランザクションコミットメント値Tに基づいて前記取引を確認することは、前記トランザクションコミットメント値Tが前記取引金額tを取得した前記トランザクションブラインディングファクタrtにコミットする前記第1のコミットメントスキームに等しいか否かを確認することを備える請求項18に記載の方法。
  20. 暗号化された前記第2の組合せを前記発信者ノードに送信する前に、
    暗号化された前記第2の組合せ及び前記トランザクションコミットメント値Tに関連する署名SIGBを生成することを更に備え、
    暗号化された前記第2の組合せを前記発信者ノードに送信することは、暗号化された前記第2の組合せ及び前記署名SIGBを前記発信者ノードに送信すること備える請求項18に記載の方法。
  21. 前記第1のコミットメントスキームは、少なくとも前記トランザクションブラインディングファクタrtに基づくとともに前記取引金額tが対応するコミッテッド値であるペダーソンコミットメントを備える請求項18に記載の方法。
  22. プロセッサによって実行するときに、
    トランザクションブラインディングファクタrt、取引金額tの取引及びトランザクションコミットメント値Tを取引の発信者に関連する発信者ノードから取得し、前記取引金額tは、前記トランザクションコミットメント値Tを取得するために第1のコミットメントスキームにコミットされ、前記第1のコミットメントスキームは、前記トランザクションブラインディングファクタrtを備えることと、
    取得した前記トランザクションブラインディングファクタrt、取得した前記取引金額tの取引及び取得した前記トランザクションコミットメント値Tに基づいて前記取引を確認することと、
    前記取引の確認の成功に応答して、前記トランザクションブラインディングファクタr t 及び前記取引金額tの第2の組合せを第2の鍵KBによって暗号化することと、
    暗号化された前記第2の組合せを前記発信者ノードに送信することと、
    を備える動作を前記プロセッサによって実行させる命令を記憶する非一時的コンピュータ可読記憶媒体。
  23. 情報保護のためのシステムであって、プロセッサ及び前記プロセッサに結合された非一時的コンピュータ可読記憶媒体を備え、前記非一時的コンピュータ可読記憶媒体は、前記プロセッサによって実行するときに、
    トランザクションブラインディングファクタrt、取引金額tの取引及びトランザクションコミットメント値Tを取引の発信者に関連する発信者ノードから取得し、前記取引金額tは、前記トランザクションコミットメント値Tを取得するために第1のコミットメントスキームにコミットされ、前記第1のコミットメントスキームは、前記トランザクションブラインディングファクタrtを備えることと、
    取得した前記トランザクションブラインディングファクタrt、取得した前記取引金額tの取引及び取得した前記トランザクションコミットメント値Tに基づいて前記取引を確認することと、
    前記取引の確認の成功に応答して、前記トランザクションブラインディングファクタr t 及び前記取引金額tの第2の組合せを第2の鍵KBによって暗号化することと、
    暗号化された前記第2の組合せを前記発信者ノードに送信することと、
    を備える動作を前記プロセッサによって実行させる命令を記憶するシステム。
JP2019520853A 2018-11-27 2018-11-27 情報保護のためのシステム及び方法 Active JP6714156B2 (ja)

Applications Claiming Priority (1)

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

Publications (3)

Publication Number Publication Date
JP2020507222A JP2020507222A (ja) 2020-03-05
JP2020507222A5 JP2020507222A5 (ja) 2020-04-16
JP6714156B2 true JP6714156B2 (ja) 2020-06-24

Family

ID=66100034

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019520853A Active JP6714156B2 (ja) 2018-11-27 2018-11-27 情報保護のためのシステム及び方法

Country Status (17)

Country Link
US (2) US11218455B2 (ja)
EP (1) EP3545644B8 (ja)
JP (1) JP6714156B2 (ja)
KR (1) KR102150814B1 (ja)
CN (1) CN110337665B (ja)
AU (1) AU2018347195B2 (ja)
BR (1) BR112019008036A2 (ja)
CA (1) CA3040357C (ja)
ES (1) ES2859569T3 (ja)
MX (1) MX2019004357A (ja)
MY (1) MY188126A (ja)
PH (1) PH12019500836A1 (ja)
PL (1) PL3545644T3 (ja)
RU (1) RU2735439C2 (ja)
SG (1) SG11201903425PA (ja)
WO (1) WO2019072277A2 (ja)
ZA (1) ZA201902471B (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4221077A1 (en) 2018-03-23 2023-08-02 nChain Licensing AG Computer-implemented system and method for exchange of data
CN109377215B (zh) 2018-08-06 2020-04-21 阿里巴巴集团控股有限公司 区块链交易方法及装置、电子设备
CN110089069B (zh) 2018-11-27 2022-02-22 创新先进技术有限公司 用于信息保护的系统和方法
ES2881674T3 (es) 2018-11-27 2021-11-30 Advanced New Technologies Co Ltd Sistema y método para la protección de información
MY188126A (en) 2018-11-27 2021-11-23 Advanced New Technologies Co Ltd System and method for information protection
PL3549303T3 (pl) 2018-11-27 2021-11-22 Advanced New Technologies Co., Ltd. System i sposób ochrony informacji
CA3037833C (en) 2018-11-27 2022-04-19 Alibaba Group Holding Limited System and method for information protection
US10700850B2 (en) 2018-11-27 2020-06-30 Alibaba Group Holding Limited System and method for information protection
CN110224985B (zh) * 2019-05-07 2022-07-08 平安科技(深圳)有限公司 数据处理的方法及相关装置
US10764062B2 (en) * 2019-06-03 2020-09-01 Alibaba Group Holding Limited Blockchain ledger compression
US10790990B2 (en) * 2019-06-26 2020-09-29 Alibaba Group Holding Limited Ring signature-based anonymous transaction
WO2021033026A1 (en) * 2019-08-19 2021-02-25 Bitfury Surround Gmbh Techniques for enhanced data privacy in smart contracts for royalty distribution via a distributed ledger network
CN111415252A (zh) * 2020-01-23 2020-07-14 众安信息技术服务有限公司 一种基于区块链的隐私交易处理方法和装置
US11405191B2 (en) * 2020-05-13 2022-08-02 Apple Inc. Guaranteed encryptor authenticity
CN111612600B (zh) * 2020-05-29 2023-07-14 深圳市迅雷网络技术有限公司 区块链拍卖方法、设备、存储介质及区块链系统
JP7250288B2 (ja) * 2020-08-28 2023-04-03 ジャスミー株式会社 端末装置及びプログラム
US20240007282A1 (en) * 2020-11-12 2024-01-04 University Of South Florida Systems and methods for energy efficient and useful blockchain proof of work
CN113055179B (zh) * 2021-02-21 2022-07-26 西安电子科技大学 一种链上结算数据的多类函数零知识审计方法、系统
CN113609510B (zh) * 2021-09-28 2021-12-24 武汉泰乐奇信息科技有限公司 一种基于分布式存储的大数据加密传输方法与装置
KR102435349B1 (ko) * 2021-11-05 2022-08-23 주식회사 스마트엠투엠 프라이빗 블록체인 기반의 비식별화된 센싱 데이터 처리 방법 및 시스템

Family Cites Families (139)

* 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> 電子商取引文書を媒介とした電子商取引方法および電子商取引手段、ならびにプログラムを記録した記録媒体。
JP2000299683A (ja) 1999-02-10 2000-10-24 Nippon Telegr & Teleph Corp <Ntt> 複数公開鍵保存方法、その装置およびそのプログラム記録媒体
US7716484B1 (en) 2000-03-10 2010-05-11 Rsa Security Inc. System and method for increasing the security of encrypted secrets and authentication
WO2001069843A2 (en) 2000-03-10 2001-09-20 Absolutefuture, Inc. Method and system for coordinating secure transmission of information
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
WO2003036901A2 (en) 2001-10-19 2003-05-01 Matsushita Electric Industrial Co., Ltd. Device authentication system and device authentication method
ATE408940T1 (de) 2003-11-03 2008-10-15 Koninkl Philips Electronics Nv Verfahren und einrichtung zur effizienten mehrteilnehmer-vervielfachung
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
CN101375286B (zh) 2006-01-25 2012-06-27 松下电器产业株式会社 终端装置、服务器装置及事务处理方法以及数字内容分发系统
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
JP5264450B2 (ja) 2008-12-02 2013-08-14 日本電信電話株式会社 ビットコミットメント検証システム、ビットコミットメント装置、検証装置、ビットコミットメント検証方法、ビットコミットメント方法、検証方法、ビットコミットメントプログラム、検証プログラム
AP3995A (en) 2008-12-23 2017-01-11 Mtn Mobile Money Sa Pty Ltd Method of and system for securely processing a transaction
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
AU2012315674B9 (en) 2011-09-29 2018-08-30 Amazon Technologies, Inc. Parameter based key derivation
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
US9473306B2 (en) * 2013-08-05 2016-10-18 Guardtime IP Holdings, Ltd. Document verification with ID augmentation
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
WO2016161073A1 (en) 2015-03-31 2016-10-06 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
WO2016164496A1 (en) 2015-04-06 2016-10-13 Bitmark, Inc. System and method for decentralized title recordation and authentication
US9397985B1 (en) 2015-04-14 2016-07-19 Manifold Technology, Inc. System and method for providing a cryptographic platform for exchanging information
US9578505B2 (en) * 2015-04-21 2017-02-21 International Business Machines Corporation Authentication of user computers
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
WO2016200885A1 (en) 2015-06-08 2016-12-15 Blockstream Corporation Cryptographically concealing amounts transacted on a ledger while preserving a network's ability to verify the transaction
US11080665B1 (en) 2015-06-08 2021-08-03 Blockstream Corporation Cryptographically concealing amounts and asset types for independently verifiable transactions
CA2990651A1 (en) 2015-06-30 2017-01-05 Visa International Service Association Confidential authentication and provisioning
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
US20180331832A1 (en) 2015-11-05 2018-11-15 Allen Pulsifer 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
CN114282926A (zh) 2016-02-23 2022-04-05 区块链控股有限公司 用于从区块链中安全提取数据的密码方法和系统
AU2017223133B2 (en) 2016-02-23 2022-09-08 nChain Holdings Limited Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
BR112018016234A2 (pt) 2016-02-23 2019-01-02 Nchain Holdings Ltd método implementado por computador para controlar o acesso a um recurso, sistemas baseados em computador e método para controle de acesso a uma carteira digital
WO2017147696A1 (en) * 2016-02-29 2017-09-08 Troy Jacob Ronda Systems and methods for distributed identity verification
KR102608099B1 (ko) 2016-04-11 2023-12-01 엔체인 홀딩스 리미티드 블록체인에서 안전한 피어-투-피어 통신을 위한 방법
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 주식회사 코인플러그 메신저 서비스를 통하여 송수신하는 데이터에 대한 기록 서비스 및 검증 서비스를 제공하는 방법, 및 이를 이용한 서버
JP2019525326A (ja) 2016-07-15 2019-09-05 ビザ インターナショナル サービス アソシエーション トランザクションデバイスによるデジタル資産分配
EP3273635B1 (en) 2016-07-20 2019-10-30 Mastercard International Incorporated Secure channel establishment
WO2018019364A1 (en) 2016-07-26 2018-02-01 NEC Laboratories Europe GmbH 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
JP6971019B2 (ja) 2016-09-26 2021-11-24 Gmoインターネット株式会社 データ管理システム、情報処理装置、プログラム、及び、データ管理方法
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
CN110024422B (zh) 2016-12-30 2023-07-18 英特尔公司 物联网的命名和区块链记录
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
EP3688705B1 (en) 2017-09-29 2023-08-02 Leverage Rock LLC Transaction privacy in public distributed ledger systems
CN107679857B (zh) 2017-10-10 2021-04-27 马晶瑶 区块链的跨链交易方法和存储介质
CN108062671A (zh) 2017-11-03 2018-05-22 深圳市轱辘车联数据技术有限公司 数据交易方法、区块链节点服务器及数据提交终端
CN108021821A (zh) * 2017-11-28 2018-05-11 北京航空航天大学 多中心区块链交易隐私保护系统及方法
CN108418689B (zh) 2017-11-30 2020-07-10 矩阵元技术(深圳)有限公司 一种适合区块链隐私保护的零知识证明方法和介质
EP3718069B1 (en) 2017-11-30 2024-04-17 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 中国银联股份有限公司 基于智能合约的数据传递方法及系统
US11544708B2 (en) 2017-12-29 2023-01-03 Ebay Inc. User controlled storage and sharing of personal user information on a blockchain
TWM561861U (zh) 2018-01-11 2018-06-11 網家金融科技股份有限公司 網路支付轉帳系統
US10388097B1 (en) 2018-01-29 2019-08-20 Accenture Global Solutions Limited Blockchain-based cryptologic ballot verification
US10373129B1 (en) 2018-03-05 2019-08-06 Winklevoss Ip, Llc System, method and program product for generating and utilizing stable value digital assets
US20210089676A1 (en) 2018-02-16 2021-03-25 Ecole Polytechnique Fédérale De Lausanne Epfl-Tto 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
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 清华大学 一种基于生物特征标记认证的区块链安全交易方法及装置
CN108769054B (zh) * 2018-06-14 2019-05-21 北京邮电大学 一种基于等值测试承诺的区块链交易验证方法及装置
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
BR112019008171A2 (pt) 2018-11-07 2019-09-10 Alibaba Group Holding Ltd método implementado por computador para validar as transações blockchain com base em modelos de conta, meio de armazenamento legível por computador e sistema
PL3549303T3 (pl) 2018-11-27 2021-11-22 Advanced New Technologies Co., Ltd. System i sposób ochrony informacji
CN110089069B (zh) 2018-11-27 2022-02-22 创新先进技术有限公司 用于信息保护的系统和方法
MY188126A (en) 2018-11-27 2021-11-23 Advanced New Technologies Co Ltd System and method for information protection

Also Published As

Publication number Publication date
EP3545644A4 (en) 2020-02-19
JP2020507222A (ja) 2020-03-05
RU2019111926A (ru) 2020-10-19
PL3545644T3 (pl) 2021-06-28
KR102150814B1 (ko) 2020-09-02
KR20200066258A (ko) 2020-06-09
AU2018347195B2 (en) 2020-09-24
EP3545644B8 (en) 2021-03-10
BR112019008036A2 (pt) 2019-11-12
PH12019500836A1 (en) 2019-12-02
CN110337665A (zh) 2019-10-15
WO2019072277A2 (en) 2019-04-18
US10715500B2 (en) 2020-07-14
CA3040357A1 (en) 2019-04-18
ZA201902471B (en) 2020-08-26
CA3040357C (en) 2021-03-09
AU2018347195A1 (en) 2020-06-11
RU2735439C2 (ru) 2020-11-02
MX2019004357A (es) 2019-08-05
US20200053054A1 (en) 2020-02-13
RU2019111926A3 (ja) 2020-10-19
EP3545644B1 (en) 2021-01-06
WO2019072277A3 (en) 2019-09-26
EP3545644A2 (en) 2019-10-02
MY188126A (en) 2021-11-23
SG11201903425PA (en) 2019-05-30
US20200153801A1 (en) 2020-05-14
ES2859569T3 (es) 2021-10-04
CN110337665B (zh) 2023-06-06
US11218455B2 (en) 2022-01-04

Similar Documents

Publication Publication Date Title
JP6714156B2 (ja) 情報保護のためのシステム及び方法
US11102184B2 (en) System and method for information protection
JP6908700B2 (ja) 情報保護のためのシステム及び方法
CN110089069B (zh) 用于信息保护的系统和方法
AU2019101582A4 (en) System and method for information protection
AU2019101590A4 (en) System and method for information protection
AU2019101589A4 (en) System and method for information protection

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190730

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190730

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200213

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200213

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200401

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200604

R150 Certificate of patent or registration of utility model

Ref document number: 6714156

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