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

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

Info

Publication number
JP2020500458A
JP2020500458A JP2019521112A JP2019521112A JP2020500458A JP 2020500458 A JP2020500458 A JP 2020500458A JP 2019521112 A JP2019521112 A JP 2019521112A JP 2019521112 A JP2019521112 A JP 2019521112A JP 2020500458 A JP2020500458 A JP 2020500458A
Authority
JP
Japan
Prior art keywords
data type
output data
transaction
input data
commitment
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
JP2019521112A
Other languages
English (en)
Other versions
JP2020500458A5 (ja
JP6756041B2 (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 JP2020500458A publication Critical patent/JP2020500458A/ja
Publication of JP2020500458A5 publication Critical patent/JP2020500458A5/ja
Application granted granted Critical
Publication of JP6756041B2 publication Critical patent/JP6756041B2/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/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/0457Network 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 dynamic encryption, e.g. stream encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/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/3297Cryptographic 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 time stamps, e.g. generation of time stamps
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Power Engineering (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

情報保護用のコンピュータ実装された方法は、トランザクションの1つ又は複数のデータ入力及び1つ又は複数のデータ出力を判定するステップであって、データ入力は、それぞれ、入力データタイプと関連付けられ、且つ、データ出力は、それぞれ、出力データタイプと関連付けられている、ステップと、入力データタイプ及び出力データタイプを暗号化するステップと、対応するコミットメント値を取得するべく、暗号化済みの入力データタイプ及び暗号化済みの出力データタイプのそれぞれをコミットメント方式によってコミットするステップと、少なくともコミットメント値に基づいて少なくともパラメータRを取得するステップと、ノードが入力データタイプと出力データタイプの間の一貫性を検証するべく、パラメータRの開示を伴って、且つ、入力データタイプ及び出力データタイプの開示を伴うことなしに、トランザクションをブロックチェーンネットワーク内の1つ又は複数のノードにサブミットするステップと、を有する。【選択図】図3

Description

本開示は、一般に、情報保護用の方法及び装置に関する。
プライバシーは、様々なユーザーの間における通信及びデータ転送にとって重要である。保護が伴わなければ、ユーザーは、個人情報の盗難、違法な転送、又はその他の潜在的な損失のリスクに晒されることになる。このリスクは、通信及び転送がオンラインで実装されている際には、オンライン情報のフリーアクセスに起因し、更に増大する。
本開示の様々な実施形態は、情報保護用のシステム、方法、及び一時的ではないコンピュータ可読媒体を含む。
一態様によれば、情報保護用のコンピュータ実装された方法は、トランザクションの1つ又は複数のデータ入力及び1つ又は複数のデータ出力を判定するステップであって、データ入力は、それぞれ、入力データタイプと関連付けられ、且つ、データ出力は、それぞれ、出力データタイプと関連付けられている、ステップと、入力データタイプ及び出力データタイプを暗号化するステップと、対応するコミットメント値を取得するべく、暗号化済みの入力データタイプ及び暗号化済みの出力データタイプのそれぞれをコミットメント方式によってコミットするステップと、少なくともコミットメント値に基づいて少なくともパラメータRを取得するステップと、ノードが入力データタイプと出力データタイプの間の一貫性を検証するべく、パラメータRの開示を伴って、且つ、入力データタイプ及び出力データタイプの開示を伴うことなしに、トランザクションをブロックチェーンネットワーク内の1つ又は複数のノードにサブミットするステップと、を有する。
いくつかの実施形態においては、入力データタイプ及び出力データタイプを暗号化するステップは、入力データタイプ及び出力データタイプをハッシュ関数によって暗号化するステップを有する。
いくつかの実施形態においては、コミットメント方式は、Pedersenコミットメントを有する。
いくつかの実施形態においては、コミットメント方式は、少なくともブラインディングファクタを有し、且つ、ブラインディングファクタは、暗号化済みの入力データイプ及び暗号化済みの出力データタイプをコミットする時点に伴って変化している。
いくつかの実施形態においては、ノードは、入力データタイプ及び出力データタイプの知識を伴うことなしに、入力データタイプと出力データタイプの間の一貫性を検証するようになっている。
いくつかの実施形態においては、トランザクションは、少なくとも未使用トランザクション出力(UTXO:Unspent Transaction Output)モデルに基づいており、且つ、データ入力及びデータ出力は、トランザクションを経験する1つ又は複数の資産(アセット)のタイプを有する。
いくつかの実施形態においては、コミットメント方式は、入力データタイプ及び出力データタイプにそれぞれ対応する複数のブラインディングファクタを有し、且つ、少なくともコミットメント値に基づいて少なくともパラメータRを取得するステップは、コミットメント値のペアの間の差を取得するステップと、取得された差を連結するステップと、暗号化値xを取得するべく、連結された差をハッシュ関数によって暗号化するステップと、少なくとも暗号化値x及びブラインディングファクタのペアの間の差に基づいてパラメータRを取得するステップと、有する。
いくつかの実施形態においては、ノードが入力データタイプと出力データタイプの間の一貫性を検証するべく、パラメータRの開示を伴って、且つ、入力データタイプ及び出力データタイプの開示を伴うことなしに、トランザクションをブロックチェーンネットワーク内の1つ又は複数のノードにサブミットするステップは、ノードが、パラメータR及びベースポイントGを取得し、コミットメント値のペアの間の差を取得し、取得された差を連結し、暗号化値xを取得するべく、連結された差をハッシュ関数によって暗号化し、少なくとも取得された差及び暗号化値xに基づいて多項式の合計Cを取得し、合計CがパラメータRとベースポイントGの積に等しいという判定に応答して、入力データタイプと出力データイプが一貫性を有していると判定し、且つ、合計CがパラメータRとベースポイントGの積に等しくないという判定に応答して、入力データタイプと出力データタイプが一貫性を有していないと判定する、ようにするべく、パラメータRの開示を伴って、且つ、入力データタイプ及び出力データタイプの開示を伴うことなしに、トランザクションをブロックチェーンネットワーク内の1つ又は複数のノードにサブミットするステップを有する。
別の態様によれば、一時的ではないコンピュータ可読ストレージ媒体は、プロセッサが動作を実行するようにするべく、プロセッサによって実行される命令を保存しており、動作は、トランザクションの1つ又は複数のデータ入力及び1つ又は複数のデータ出力を判定するステップであって、データ入力は、それぞれ、入力データタイプと関連付けられ、且つ、データ出力は、それぞれ、出力データタイプと関連付けられている、ステップと、入力データタイプ及び出力データタイプを暗号化するステップと、対応するコミットメント値を取得するべく、暗号化済みの入力データタイプ及び暗号化済みの出力データタイプのそれぞれをコミットメント方式によってコミットするステップと、少なくともコミットメント値に基づいて少なくともパラメータRを取得するステップと、ノードが入力データタイプと出力データタイプの間の一貫性を検証するべく、パラメータRの開示を伴って、且つ、入力データタイプ及び出力データタイプの開示を伴うことなしに、トランザクションをブロックチェーンネットワーク内の1つ又は複数のノードにサブミットするステップと、を有する。
別の態様によれば、情報保護用のシステムは、プロセッサと、プロセッサに結合された一時的ではないコンピュータ可読ストレージ媒体と、を有し、ストレージ媒体は、システムが動作を実行するようにするべく、プロセッサによって実行される命令を保存しており、動作は、トランザクションの1つ又は複数のデータ入力及び1つ又は複数のデータ出力を判定するステップであって、データ入力は、それぞれ、入力データタイプと関連付けられ、且つ、データ出力は、それぞれ、出力データタイプと関連付けられている、ステップと、入力データタイプ及び出力データタイプを暗号化するステップと、対応するコミットメント値を取得するべく、暗号化済みの入力データタイプ及び暗号化済みの出力データタイプのそれぞれをコミットメント方式によってコミットするステップと、少なくともコミットメント値に基づいて少なくともパラメータRを取得するステップと、ノードが入力データタイプと出力データタイプの間の一貫性を検証するべく、パラメータRの開示を伴って、且つ、入力データタイプ及び出力データタイプの開示を伴うことなしに、トランザクションをブロックチェーンネットワーク内の1つ又は複数のノードにサブミットするステップと、を有する。
別の態様によれば、情報保護用のコンピュータ実装された方法は、ブロックチェーンネットワーク内の1つ又は複数のノードにより、イニシエータノードによって開始されたトランザクションを取得するステップを有する。トランザクションは、1つ又は複数のデータ入力及び1つ又は複数のデータ出力と関連付けられている。データ入力は、それぞれ、入力データタイプと関連付けられ、且つ、データ出力は、それぞれ、個々に、出力データタイプと関連付けられている。入力データタイプ及び出力データタイプは、暗号化され、且つ、対応するコミットメント値を取得するべく、コミットメント方式に対してコミットされる。入力データタイプ及び出力データタイプは、1つ又は複数のノードに開示されない。情報保護方法は、1つ又は複数のノードにより、入力データタイプと出力データタイプの間の一貫性を検証するステップと、入力データタイプと出力データタイプが一貫性を有しているという判定に応答して、1つ又は複数のノードにより、トランザクションをブロックチェーンネットワークに追加するステップと、入力データタイプと出力データタイプが一貫性を有していないという判定に応答して、1つ又は複数のノードにより、トランザクションがブロックチェーンネットワークに追加されることを拒絶するステップと、を更に有する。
いくつかの実施形態においては、入力データタイプと出力データタイプの間の一貫性を検証するステップは、パラメータR及びベースポイントGを取得するステップと、コミットメント値のペアの間の差を取得するステップと、取得された差を連結するステップと、暗号化値xを取得するべく、連結された差をハッシュ関数によって暗号化するステップと、少なくとも取得された差及び暗号化値xに基づいて多項式の合計Cを取得するステップと、合計CがパラメータRとベースポイントGの積に等しいかどうかを判定するステップと、を有する。
いくつかの実施形態においては、方法は、合計CがパラメータRとベースポイントGの積に等しいという判定に応答して、入力データタイプと出力データタイプが一貫性を有していると判定するステップと、合計CがパラメータRとベースポイントGの積に等しくないという判定に応答して、入力データタイプと出力データタイプが一貫性を有していないと判定するステップと、を更に有する。
いくつかの実施形態においては、1つ又は複数のノードは、コンセンサスノードを有する。
別の態様によれば、一時的ではないコンピュータ可読ストレージ媒体は、プロセッサが動作を実行するようにするべく、プロセッサによって実行される命令を保存しており、動作は、ブロックチェーンネットワーク内の1つ又は複数のノードにより、イニシエータノードによって開始されたトランザクションを取得するステップを有する。トランザクションは、1つ又は複数のデータ入力及び1つ又は複数のデータ出力と関連付けられている。データ入力は、それぞれ、入力データタイプと関連付けられ、且つ、データ出力は、それぞれ、個々に、出力データタイプと関連付けられている。入力データタイプ及び出力データタイプは、暗号化され、且つ、対応するコミットメント値を取得するべく、コミットメント方式に対してコミットされる。入力データタイプ及び出力データイプは、1つ又は複数のノードに開示されない。動作は、1つ又は複数のノードにより、入力データタイプと出力データタイプの間の一貫性を検証するステップと、入力データイプと出力データタイプが一貫性を有しているという判定に応答して、1つ又は複数のノードにより、トランザクションをブロックチェーンネットワークに追加するステップと、入力データタイプと出力データタイプが一貫性を有していないという判定に応答して、1つ又は複数のノードにより、トランザクションがブロックチェーンネットワークに追加されることを拒絶するステップと、を更に有する。
別の態様によれば、情報保護用のシステムは、プロセッサと、プロセッサに結合された一時的ではないコンピュータ可読ストレージ媒体と、を有し、ストレージ媒体は、システムが動作を実行するようにするべく、プロセッサによって実行される命令を保存しており、動作は、ブロックチェーンネットワーク内の1つ又は複数のノードにより、イニシエータノードによって開始されたトランザクションを取得するステップを有する。トランザクションは、1つ又は複数のデータ入力及び1つ又は複数のデータ出力と関連付けられている。データ入力は、それぞれ、入力データタイプと関連付けられ、且つ、データ出力は、それぞれ、個々に、出力データタイプと関連付けられている。入力データタイプ及び出力データタイプは、暗号化され、且つ、対応するコミットメント値を取得するべく、コミットメント方式に対してコミットされる。入力データタイプ及び出力データタイプは、1つ又は複数のノードに開示されない。動作は、1つ又は複数のノードにより、入力データタイプと出力データタイプの間の一貫性を検証するステップと、入力データタイプと出力データタイプが一貫性を有しているという判定に応答して、1つ又は複数のノードにより、トランザクションをブロックチェーンネットワークに追加するステップと、入力データタイプと出力データタイプが一貫性を有していないという判定に応答して、1つ又は複数のノードにより、トランザクションがブロックチェーンネットワークに追加されることを拒絶するステップと、を更に有する。
本明細書において開示されているシステム、方法、及び一時的ではないコンピュータ可読媒体のこれらの及びその他の特徴のみならず、動作の方法及び構造の関係する要素及び部品の組合せの機能及び製造の経済については、同一の参照符号が様々な図において対応する部分を表記している、そのすべてが本明細書の一部分を形成する、添付図面を参照した以下の説明及び添付の請求項を検討することにより、更に明らかとなろう。但し、添付図面は、例示及び説明を目的としたものに過ぎず、且つ、本発明の限定の定義となることを意図したものではないことを明白に理解されたい。
本技術の様々な実施形態の特定の特徴については、添付の請求項において具体的に記述されている。技術の特徴及び利点については、本発明の原理が利用される例示用の実施形態について記述する以下の詳細な説明を参照することにより、更に十分に理解することが可能となり、且つ、添付図面は、以下のとおりである。
様々な実施形態による情報保護用の例示用のシステムを示す。 様々な実施形態によるトランザクションの開始及び検証用の例示用のステップを示す。 様々な実施形態による情報保護用の例示用の方法のフローチャートを示す。 様々な実施形態による情報保護用の例示用の方法のフローチャートを示す。 本明細書において記述されている実施形態の任意のものが実装されうる例示用のコンピュータシステムのブロック図を示す。
ブロックチェーンは、分散型台帳と一般には呼称されている、分散型データベースであると見なされてもよく、その理由は、動作がネットワーク内の様々なノード(例えば、演算装置)によって実行されているからである。任意の情報が、ブロックチェーンに書き込まれてもよく、且つ、保存されてもよく、且つ、これから読み取られてもよい。だれもが、ノードとなるように、サーバーをセットアップしてもよく、且つ、ブロックチェーンネットワークを結合してもよい。任意のノードが、ブロックを現時点のブロックチェーンに追加するためのハッシュ計算などの複雑な演算を実行することにより、ブロックチェーンを維持するための演算パワーを提供してもよく、且つ、追加されたブロックは、様々なタイプのデータ又は情報を収容することができる。追加されたブロック用の演算パワーを提供したノードには、トークン(例えば、デジタル通貨単位)によって報いることができる。ブロックチェーンは、中央ノードを有していないことから、それぞれのノードは、等しく、且つ、ブロックチェーンデータベースの全体を保持している。
ノードは、例えば、ブロックチェーンネットワークをサポートすると共にその円滑な稼働を維持する演算装置又は大規模なコンピュータシステムである。ノードは、マイニングリグと呼称される強力なコンピュータシステムの購入に資金を提供した個人又は人々のグループによって運用されていてもよい。フルノード及び軽量ノードという2つのタイプのノードが存在している。フルノードは、ブロックチェーンの完全な複写を維持している。ブロックチェーンネットワーク上のフルノードは、自身が受け取ったトランザクション及びブロックを検証し、且つ、トランザクションのコンセンサス検証を提供する接続されたピアに、それらを中継している。その一方で、軽量ノードは、ブロックチェーンの一部分をダウンロードするのみである。例えば、軽量ノードは、デジタル通貨トランザクションのために使用されている。軽量ノードは、取引を所望する際には、フルノードに対して通信することになる。
この分散型の特性は、制御された位置に管理センタが出現するのを防止するのに有用でありうる。例えば、ビットコインブロックチェーンの維持は、稼働エリア内のビットコインソフトウェアの通信ノードのネットワークによって実行されている。即ち、従来の意味における銀行、機関、又は管理者の代わりに、ビットコインソフトウェアを稼働させるコンピュータサーバーの形態で、複数の仲介者が存在している。これらのコンピュータサーバーは、インターネットを介して接続されたネットワークを形成しており、この場合には、だれもが、潜在的に、ネットワークに加入することができる。ネットワークによって受け付けられるトランザクションは、「ユーザー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%超を支配していない限り、短期間で複数のブロックを変更することは、ほとんど不可能である。従って、ブロックチェーンは、その独自の信頼性を保証しており、且つ、データが一旦書き込まれたら、データを改竄することができない。
マイナーが新しいブロック用のハッシュ(即ち、適格性を有する署名又は解(solution))を見出したら、マイナーは、この署名をすべてのその他のマイナー(ブロックチェーンのノード)にブロードキャストする。次いで、その他のマイナーは、彼ら自身で、解が、送信者のブロックの問題と対応しているかどうかを検証する(即ち、ハッシュ入力が実際にその署名を結果的にもたらすかどうかを判定する)。解が有効である場合には、その他のマイナーは、この解を確認することになり、且つ、新しいブロックをブロックチェーンに追加しうることに合意することになる。従って、新しいブロックの合意に達する。これは、「プルーフオブワーク(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のパブリック検証キーを含んでいる。署名は、トランザクションがユーザーから到来したことを確認するべく使用され、且つ、トランザクションが、発行の後に、だれかに変更されることをも防止している。新しいブロック内の同じ時間ウィンドウ内において発生したその他のレコードとバンドルされたレコードは、フルノードにブロードキャストすることができる。レコードを受け取った際に、フルノードは、これらのレコードをブロックチェーンシステム内においてこれまでに発生したすべてのトランザクションの台帳に内蔵すること、新しいブロックを上述のマイニングプロセスを通じて以前に受け付けられているブロックチェーンに追加すること、に関して機能することができると共に、ネットワークのコンセンサス規則に照らして、追加されたブロックを検証することができる。
移転対象であるユーザーAの資産は、UTXO(unspent transaction output)の形態を有することができる。UTXOは、ブロックチェーンオブジェクトモデルである。UTXOの下においては、資産は、新しいトランザクションにおける入力として使用されうる、未使用のブロックチェーントランザクションの出力によって表されている。資産を使用する(取引を行う)べく、ユーザーは、プライベートキーによってサインオフしなければならない。ビットコインは、UTXOモデルを使用するデジタル通貨の一例である。有効なブロックチェーントランザクションのケースにおいては、未使用の出力は、更なるトランザクションを実行するべく使用することができる。いくつかの実施形態においては、二重使用及び不正行為を防止するべく、更なるトランザクションにおいて使用することができるのは、未使用の出力のみである。これを理由として、トランザクションが発生した際には、ブロックチェーン上の入力が削除される一方で、同時に、出力がUTXOの形態において生成されている。これらの未使用のトランザクション出力は、将来のトランザクションを目的として(例えば、デジタル通貨ワレットを有する人物などの、プライベートキーのホルダにより)使用することができる。
ブロックチェーン及びその他の類似の台帳は、完全に公開された状態にあることから、ブロックチェーン自体は、プライバシー保護を有してはいない。P2Pネットワークのパブリック特性は、それを使用する者が名称によって識別されない一方で、個人及び企業に対するトランザクションのリンク付けを実現可能であることを意味している。例えば、国境を跨いだ送金においては、或いは、サプライチェーンにおいては、資産タイプは、極めて高いレベルのプライバシー保護値を有しており、その理由は、資産タイプ情報により、トランザクションパーティの特定の場所及びアイデンティティを推定することが可能であるからである。資産タイプは、例えば、お金、デジタル通貨、契約、証文、医療記録、顧客の詳細、株式、債券、エクイティ、又はデジタル形態において記述されうる任意のその他の資産のタイプを有することができる。UTXOモデルは、アイデンティティ及びトランザクション金額に対して匿名性を提供し、且つ、Monero及びZcashに適用されているが、トランザクション資産タイプは、保護されていない状態に留まっている。従って、本開示によって対処されている技術的問題は、トランザクションにおける資産タイプのプライバシーなどの、オンライン情報を保護する方式である。開示されているシステム及び方法は、様々なトランザクションコンテンツ用のプライバシー保護を提供するべく、UTXOモデルに統合することができる。
トランザクションにおいては、情報保護が、ユーザープライバシーを保護するべく重要であり、且つ、トランザクション資産タイプは、保護を欠いた情報の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は、その他の通信のチャネルを有することができる。例えば、ノードA及びノードBは、互いのパブリックキーを通常のインターネット通信を通じて取得することができる。
図1のノードのそれぞれは、プロセッサと、ノード(例えば、ノードのプロセッサ)が本明細書において記述されている情報保護用の様々なステップを実行するようにするべく、プロセッサによって実行される命令を保存する一時的ではないコンピュータ可読ストレージ媒体と、を有することができる。それぞれのノードには、その他のノード及び/又はその他の装置と通信するべく、ソフトウェア(例えば、トランザクションプログラム)及び/又はハードウェア(例えば、有線/無線接続)をインストールすることができる。ノードのハードウェア及びソフトウェアの更なる詳細については、図5を参照して後述する。
図2は、様々な実施形態によるトランザクションの開始及び検証用の例示用のステップを示している。
トランザクションの開始は、イニシエータノードによって実装することができる。いくつかの実施形態においては、資産タイプのそれぞれのタイプを一意の識別情報にマッピングするか又は割り当てることができる。例えば、一意の識別情報は、以下の方式によって演算されたsnという連番であってよい。
ステップ1.2:sn=Hash(asset type)
ここで、Hash()は、ハッシュ関数である。更には、コミットメント方式(例えば、Pedersenコミットメント)により、資産タイプを以下のように暗号化することができる。
ステップ1.3:C(sn)=r×G+sn×H
ここで、rは、隠蔽を提供するランダムなブラインディングファクタ(この代わりに、バインディングファクタとも呼称される)であり、G及びHは、楕円曲線の公的に合意されたジェネレータ/ベースポイントであり、且つ、ランダムに選択されてもよく、snは、コミットメントの値であり、C(sn)は、コミットメントとして使用される、且つ、相手に付与される、曲線ポイントであり、且つ、Hは、別の曲線ポイントである。即ち、G及びHは、ノードにとって既知のパラメータであってよい。H=Hach(G)により、1つのポイントから別のものにマッチングするハッシュ関数によってベースポイントGをハッシュ化することにより、Hの「なんの隠し事もない(nothing up my sleeve)」生成を生成することができる。H及びGは、所与のシステムのパブリックパラメータ(例えば、楕円曲線上のランダムに生成されたポイント)である。送信者ノードは、H及びGをすべてのノードに公開しておいてもよい。以上は、Pedersenコミットメントの一例を楕円曲線の形態において提供しているが、この代わりに、Pedersenコミットメント又はその他のコミットメント方式の様々なその他の形態を使用することもできる。
コミットメント方式は、データの秘密性を維持しつつ、データの送信者が後から変更できないように、データに対してコミットしている。パーティが、コミットメント値(例えば、C(sn))しか知らない場合には、基礎をなすデータ値(例えば、sn)がコミットされているものを判定することはできない。データ(例えば、sn)とブラインディングファクタ(例えば、r)の両方を後から(例えば、イニシエータノードにより)明らかにすることができると共に、コミットメントの受領者(例えば、コンセンサスノード)が、コミットメントを実行することが可能であり、且つ、コミットされたデータが、明らかにされたデータとマッチングしていることを検証することができる。ブラインディングファクタが存在している理由は、これを伴うことなしに、だれかがデータの推定を試みうるからである。
コミットメント方式は、コミットされた値は、プライベートな状態に留まるが、コミットしたパーティがコミットメントプロセスの必要なパラメータを明らかにした際に、これを後の時点において明らかにすることができるように、送信者(コミットしたパーティ)が値(例えば、sn)に対してコミットするための方法である。強力なコミットメント方式は、情報隠蔽型及び演算拘束型の両方であってよい。隠蔽は、所与の値snとその値C(sn)のコミットメントが関係付け不能であるという概念を意味している。即ち、C(sn)は、snに関する情報をなにも明かすことにならない。C(sn)、G、及びHが判明した状態においても、ランダム数rに起因し、snを知ることがほとんど不可能である。コミットメント方式は、2つの異なる値が結果的に同一のコミットメントをもたらしうるそれなりの方法が存在していない場合には、拘束型である。Pedersenコミットメントは、離散対数の仮定の下においては、完全に隠蔽型且つ演算拘束型である
Pedersenコミットメントは、コミットメントが加算可能であり、且つ、コミットメントの組の合計が(ブラインディングキーの合計としてのブラインディングキーセットを有する)データの合計に対するコミットメントと同一である、即ち、C(BF1,data1)+C(BF2,data2)==C(BF1+BF2,data1+data2);C(BF1,data1)−C(BF1,data1)==0、という更なるプロパティを有している。換言すれば、コミットメントは、加算を維持し、且つ、可換性が適用される、即ち、Pedersenコミットメントは、加法的に準同形であり、この場合に、基礎をなすデータは、それが暗号化されていないかのように、数学的に操作することができる。
一実施形態においては、入力値を暗号化するべく使用されるPedersenコミットメントは、楕円曲線ポイントを使用することにより、構築することができる。従来は、楕円曲線暗号法(ECC:Elliptic Curve Cryptography)パブキーは、秘密キー(r)によってグループ用のジェネレータ(G)を乗算することにより、生成されており、即ち、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がコミットされた場合に、上述のC(sn)=r×G+sn×Hというコミットメント方式を得ることができる。Pedersenコミットメントは、情報理論的にプライベートであり、即ち、任意のコミットメントについて、任意の量をコミットメントにマッチングさせることになるなんらかのブラインディングファクタが存在している。Pedersenコミットメントは、任意のマッピングを演算することができないという点において、偽のコミットメントに対して演算的に安全でありうる。
値をコミットしたパーティ(ノード)は、コミットメント式を完成させるオリジナルの値sn及びファクタrを開示することにより、コミットメントを公開してもよい。その結果、値C(sn)の公開を所望するパーティは、共有されたオリジナルの値が、実際に、最初に受け取られたコミットメントC(sn)にマッチングしていることを検証するべく、コミットメントを再度演算することになる。従って、資産タイプ情報は、それを一意の連番に対してマッピングし、且つ、次いで、それをPedersenコミットメントによって暗号化することにより、保護することができる。コミットメントを生成する際に選択されるランダム数rは、だれかが、コミットメント値C(sn)に従ってコミットされた資産タイプのタイプを推定することをほとんど不可能にしている。
いくつかの実施形態においては、UTXOモデルの下における資産タイプ情報保護方法を内蔵する際に、トランザクションの有効性を判定するべく、トランザクションの入力の資産タイプ(sn_in)及び出力の資産タイプ(sn_out)の一貫性を検証することができる。例えば、ブロックチェーンノードは、sn_in==sn_outという一貫性試験に合格しないトランザクション又はブロックを拒絶することができる。資産タイプsnは、(例えば、Pedersenコミットメントにより)暗号化されていることから、一貫性試験は、C(sn_in)==C(sn_out)であるかどうかを検証するというものである。
いくつかの実施形態においては、図2のステップ1に示されているように、UTXOタイプのトランザクションは、m個の入力(例えば、利用可能な資産)及びn個の出力(例えば、移転された資産及び残っている資産)を有することができる。入力は、sn_in_kと表記されてもよく、この場合に、1≦k≦mであり、且つ、出力は、sn_out_kと表記されてもよく、この場合に、1≦k≦nである。出力のいくつかは、受領者ノードBに転送されうる一方で、残りの出力は、イニシエータノードAに戻ることができる。例えば、仮想的な取引において、ユーザーAは、合計で5ビットコイン及び10ストックを自身のワレット内に所有していてもよく、従って、トランザクション入力については、sn_in_1=Hash(bitcoin)及びsn_in_2=Hash(stock)である。ユーザーAが、3ビットコインをユーザーBに移転することを所望した場合に、トランザクション出力については、sn_out_1=Hash(bitcoin)であり、sn_out_2=Hash(bitcoin)であり、且つ、sn_out_3=Hash(stock)であり、これにより、ビットコイン出力の1つ(3ビットコイン)は、ユーザーBにアドレス指定され、且つ、その他のビットコイン出力(2ビットコイン)及びストック出力は、ユーザーAに戻るようにアドレス指定される。
従って、いくつかの実施形態においては、入力対応資産タイプは、次のような形態において暗号化することができる。
C_in_k=r_in_k×G+sn_in_k×H、ここで1mである。
出力資産タイプは、次のような暗号化形態に対応している。
C_out_k=r_out_k×G+sn_out_k×H、ここで、1nである。
資産タイプが隠蔽された状態において、トランザクションイニシエータは、トランザクションの入力資産タイプが、それぞれ、出力資産タイプと一貫性を有していることをノード(例えば、フルノード、コンセンサスノード)に対して証明する必要がある。この結果、フルノードは、トランザクションが有効であるかどうかを検証することができる。
いくつかの実施形態においては、Pedersenコミットメントによって隠蔽された資産タイプを有するUTXOタイプのトランザクションを開始するべく、トランザクションイニシエータは、(図2のステップ2に対応する)以下のステップ2.1〜2.5を実行するべく、適切な入力及び出力を選択することができる。
ステップ2.1:以下を計算する。
C_1=C_in_1−C_in_2、
C_2=C_in_2−C_in_3、

C_(m−1)=C_in_(m−1)−C_in_m、
C_m=C_out_1−C_out_2、
C_(m+1)=C_out_2−C_out_3、

C_(m+n−2)=C_out_(n−1)−C_out_n、
C_(m+n−1)=C_in_1−C_out_1
ステップ2.2:x=Hash(C_1||C_2||C_3||…||C_(m+n−1))を計算し、ここで、「||」は、連結を表している。
ステップ2.3:C=C_1+x×C_2+x2×C_3+…+x(m+n−2)×C_(m+n−1)を計算する。多項式の項は、ステップ2.1のものに対応しうることに留意されたい。
ステップ2.4:R=(r_in_1−r_in_2)+x×(r_in_2−r_in_3)+x×(r_in_3−r_in_4)+…+x(m+n−2)×(r_in_1−r_out_1)を計算する。多項式の項は、ステップ2.1のものに対応しうることに留意されたい。例えば、(r_in_1−r_in_2)は、C_in_1−C_in_2に対応している。
ステップ2.5:例えば、トランザクション情報のブロードキャストにおいて、Rをノードに公開する。
いくつかの実施形態においては、入力資産タイプ及び出力資産タイプが一貫性を有していることを検証するべく、C=R×Gが存在していなければならない。例えば、トランザクション検証の際に、ノードは、トランザクション資産タイプが一貫性を有しているかどうかを検証するべく、(図2のステップ3.1〜3.3に対応する)以下のステップ3.1〜3.3を実行する。
ステップ3.1:x=Hash(C_1||C_2||C_3||…|| C_(m+n−1))を計算する。
ステップ3.2:C=C_1+x×C_2+x×C_3+…+x(m+n−2)×C_(m+n−1)を計算する。
ステップ3.3:C=R×Gであるかどうかを検証する。C=R×Gである場合には、資産タイプは、一貫性を有しており、さもなければ、資産タイプは、一貫性を有しておらず、且つ、トランザクションは拒絶される。いくつかの実施形態においては、C(sn)は、ノードに公開されてもよく、且つ、ステップ2.1〜2.3のアルゴリズムは、ノード(例えば、トランザクションをサブミットするノード及びトランザクションを検証するノードを含む)にとって既知である。従って、トランザクションを検証するノードは、検証を実行するべく、ステップ3.1〜3.3を相応して実行することができる。従って、拒絶されたトランザクションがブロックチェーンに追加されることにはならない。図2のステップ4として示されているように、一貫性判定に基づいて、ノードは、トランザクションをブロックチェーンに追加するのか又はトランザクションの追加を拒絶するのかを判定することができる。
従って、トランザクションイニシエータは、ブロックチェーンノードが、実際の資産タイプを開示することなしに、且つ、サブミットされた情報を変更する能力を有することなしに、トランザクションとの間における資産タイプの入力及び出力の一貫性に基づいてトランザクションを検証するべく、情報をサブミットすることができる。それぞれの資産タイプごとに連番(例えば、ハッシュ)を割り当てることにより、それぞれの資産タイプの表現が拡張及びランダム化され、これにより、トランザクションイニシエータが、検証に合格するように資産タイプを偽造することが困難になる。更には、ランダム数rの存在に起因し、異なる時点において暗号化された同一の資産タイプは、同一ではない。資産タイプハッシュを暗号化するべくPedersenコミットメントを適用することにより、資産タイプのプライバシー保護が更に高度なレベルに改善される。従って、ステップ2.1〜2.5を通じて、トランザクションイニシエータは、資産タイプを開示することなしに、トランザクションの資産タイプが有効であることをその他のノードに対して証明することができる。例えば、入力及び出力資産タイプの差が取得され、且つ、これに基づいて、トランザクションイニシエータが、資産タイプの一貫性及びトランザクションの有効性を証明するべく、変換された資産タイプをその他のノードに伝達しうるように、多項式が構築される。同時に、トランザクションイニシエータ又はその他のノードが資産タイプを偽造することができる確率は、無視することが可能であり、その理由は、xが、多項式において様々な指数の基数として機能するように、ハッシュ化によって演算されているからである。これに加えて、Rの開示は、その他のノードが、ステップ3.1〜3.3を通じて、資産タイプを知ることなしに、トランザクション内の資産タイプが一貫性を有していることを検証することを許容している。従って、開示されたシステム及び方法によれば、例外的なプライバシー保護を維持しつつ、第三者がデータ情報を検証することができる。
図3は、本開示の様々な実施形態による情報保護用の例示用の方法300のフローチャートを示している。方法300は、図1のシステム100の1つ又は複数のコンポーネント(例えば、ノードA)によって実装することができる。方法300は、プロセッサと、システム又は装置(例えば、プロセッサ)が方法300を実行するようにするべく、プロセッサによって実行される命令を保存している一時的ではないコンピュータ可読ストレージ媒体(例えば、メモリ)と、を有するシステム又は装置(例えば、コンピュータ)によって実装することができる。以下において提示されている方法300の動作は、例示となることを意図したものである。実装形態に応じて、例示用の方法300は、様々な順序において、或いは、並行して、実行される、更に多くの数の、更に少ない数の、或いは、代替的な、ステップを含みうる。
ブロック301は、トランザクションの1つ又は複数のデータ入力及び1つ又は複数のデータ出力を判定するステップを有しており、この場合に、データ入力は、それぞれ、入力データタイプと関連付けられ、且つ、データ出力は、それぞれ、出力データタイプと関連付けられている。例えば、図2のステップ1を参照されたい。いくつかの実施形態においては、トランザクションは、少なくとも未使用トランザクション出力(UTXO)モデルに基づいており、且つ、データ入力及びデータ出力は、送信者(イニシエータノード)及び受領者(受領者ノード)の間におけるトランザクションを経験する1つ又は複数の資産のタイプを有する。資産タイプは、例えば、お金、デジタル通貨、契約、証文、医療記録、顧客の詳細、株式、債券、エクイティ、又はデジタル形態において記述されうる任意のその他の資産のタイプを有することができる。
ブロック302は、入力データタイプ及び出力データタイプを暗号化するステップを有する。例えば、上述のステップ1.2を参照されたい。いくつかの実施形態においては、入力データタイプ及び出力データタイプを暗号化するステップは、ハッシュ関数又は別の一方向関数により、入力データタイプ及び出力データタイプのそれぞれを暗号化するステップを有する。
ブロック303は、対応するコミットメント値を取得するべく、暗号化済みの入力データタイプ及び暗号化済みの出力データタイプのそれぞれをコミットメント方式によってコミットするステップを有する。例えば、上述のステップ1.3を参照されたい。いくつかの実施形態においては、コミットメント方式は、Pedersenコミットメントを有する。いくつかの実施形態においては、コミットメント方式は、少なくともブラインディングファクタを有し、且つ、ブラインディングファクタは、暗号化済みの入力データタイプ及び暗号化済みの出力データタイプをコミットする時点に伴って変化している。即ち、変化するブラインディングファクタに起因して、同一のデータ(例えば、同一のデータタイプ)であっても、異なる時点においてコミットされた場合には、異なるコミットメント値となろう。
ブロック304は、少なくともコミットメント値に基づいて少なくともパラメータRを取得するステップを有する。例えば、上述のステップ2.1〜2.4を参照されたい。いくつかの実施形態においては、コミットメント方式は、入力データタイプ及び出力データタイプにそれぞれ対応する複数のブラインディングファクタを有しており(例えば、r_in_k及びr_out_kを参照されたい)、且つ、少なくともコミットメント値に基づいて少なくともパラメータRを取得するステップは、コミットメント値のペアの間の差を取得するステップと(例えば、差が取得されうる、入力資産タイプ及び出力資産タイプのうちのコミットメント値の様々なペアのためのステップ2.1を参照されたい)、取得された差を連結するステップと(例えば、ステップ2.2を参照されたい)、暗号化値xを取得するべく、ハッシュ関数により、連結された差を暗号化するステップと(例えば、ステップ2.2を参照されたい)、少なくとも暗号化値x及びブラインディングファクタのペアの間の差に基づいてパラメータRを取得するステップと(例えば、ステップ2.4を参照されたい)、を有する。
ブロック305は、ノードが入力データタイプと出力データタイプの間の一貫性を検証するべく、パラメータRの開示を伴って、且つ、入力データタイプ及び出力データタイプの開示を伴うことなしに、トランザクションをブロックチェーンネットワーク内の1つ又は複数のノードにサブミットするステップを有する。いくつかの実施形態においては、ノードは、入力データイプ及び出力データタイプの知識を伴うことなしに、入力データタイプと出力データタイプの間の一貫性を検証するようになっている。
いくつかの実施形態においては、ノードが入力データタイプと出力データタイプの間の一貫性を検証するべく、パラメータRの開示を伴って、且つ、入力データタイプ及び出力データタイプの開示を伴うことなしに、トランザクションをブロックチェーンネットワーク内の1つ又は複数のノードにサブミットするステップは、ノードが、パラメータR及びベースポイントGを取得し(例えば、ステップ3.1のGを参照されたい。H及びGは、すべてのノードにとって利用可能であるパブリックパラメータであってもよい)、入力資産タイプ及び出力資産タイプのコミットメント値のペアの間の差を取得し(例えば、ステップ2.1に類似したステップを参照されたい)、取得された差を連結し(例えば、ステップ3.1を参照されたい)、暗号化値xを取得するべく、ハッシュ関数により、連結された差を暗号化し(例えば、ステップ3.1を参照されたい)、少なくとも取得された差及び暗号化値xに基づいて多項式の合計Cを取得し(例えば、ステップ3.2を参照されたい)、合計CがパラメータRとベースポイントGの積に等しいという判定に応答して、入力データタイプと出力データタイプが一貫性を有していると判定し、且つ、トランザクションをブロックチェーンに追加し(例えば、ステップ3.3を参照されたい)、且つ、合計CがパラメータRとベースポイントGの積に等しくないという判定に応答して、入力データタイプと出力データタイプが一貫性を有していないと判定し、且つ、トランザクションがブロックチェーンに追加されることを拒絶する(ステップ3.3を参照されたい)、ようにするべく、パラメータRの開示を伴って、且つ、入力データタイプ及び出力データタイプの開示を伴うことなしに、トランザクションをブロックチェーンネットワーク内の1つ又は複数のノードにサブミットするステップを有する。
図4は、本開示の様々な実施形態による情報保護のための例示用の方法400のフローチャートを示している。方法400は、図1のシステム100の1つ又は複数のコンポーネント(例えば、ノードi)によって実装することができる。ノードiは、サーバー上において実装されたフルノードを有することができる。方法400は、プロセッサと、システム又は装置(例えば、プロセッサ)が方法400を実行するようにするべく、プロセッサによって実行される命令を保存している一時的ではないコンピュータ可読ストレージ媒体(例えば、メモリ)と、を有するシステム又は装置(例えば、コンピュータ)上において実装することができる。以下において提示されている方法400の動作は、例示となることを意図したものである。実装形態に応じて、例示用の方法400は、様々な順序において、或いは、並行して、実行される、更に多くの数の、更に少ない数の、或いは、代替的な、ステップを含みうる。
ブロック401は、ブロックチェーンネットワーク内の1つ又は複数のノード(例えば、コンセンサスノード)により、イニシエータノードによって開始されたトランザクションを取得するステップを有する。トランザクションは、1つ又は複数のデータ入力及び1つ又は複数のデータ出力と関連付けられている。データ入力は、それぞれ、入力データタイプと関連付けられ、且つ、データ出力は、それぞれ、個々に、出力データタイプと関連付けられている。入力データタイプ及び出力データタイプは、暗号化され、且つ、対応するコミットメント値を取得するべく、コミットメント方式にコミットされる。入力データタイプ及び出力データタイプは、1つ又は複数のノードに対して開示されない。
ブロック402は、1つ又は複数のノードにより、入力データタイプと出力データタイプの間の一貫性を検証するステップを有する。いくつかの実施形態においては、入力データタイプと出力データタイプの間の一貫性を検証するステップは、パラメータR及びベースポイントGを取得するステップと(例えば、ステップ2.4及び2.5のR、並びに、ステップ3.1のGを参照されたい)、入力資産タイプ及び出力資産タイプのコミットメント値のペアの間の差を取得するステップと(例えば、ステップ2.1に類似したステップを参照されたい)、取得された差を連結するステップと(例えば、ステップ3.1を参照されたい)、暗号化値xを取得するべく、ハッシュ関数により、連結された差を暗号化するステップと(例えば、ステップ3.1を参照されたい)、少なくとも取得された差及び暗号化値xに基づいて多項式の合計Cを取得するステップと(例えば、ステップ3.2を参照されたい)、合計CがパラメータRとベースポイントGの積に等しいかどうかを判定するステップと(例えば、ステップ3.3を参照されたい)、を有する。
ブロック403は、入力データタイプ及び出力データタイプが一貫性を有しているという判定に応答して、1つ又は複数のノードにより、トランザクションをブロックチェーンネットワークに追加するステップを有する。
ブロック404は、入力データタイプ及び出力データタイプが一貫性を有していないという判定に応答して、1つ又は複数のノードにより、トランザクションがブロックチェーンネットワークに追加されることを拒絶するステップを有する。
いくつかの実施形態においては、方法は、合計CがパラメータRとベースポイントGの積に等しいという判定に応答して、入力データタイプと出力データタイプが一貫性を有していると判定するステップと、合計CがパラメータRとベースポイントGの積に等しくないという判定に応答して、入力データタイプと出力データタイプが一貫性を有していないと判定するステップと、を更に有する。
従って、トランザクションイニシエータは、ブロックチェーンノードが、実際の資産タイプの開示を伴うことなしに、且つ、サブミットされた情報を変更する能力を有することなしに、トランザクションとの間における資産タイプの入力及び出力の一貫性に基づいてトランザクションを検証するべく、情報をサブミットすることができる。それぞれの資産タイプごとに連番(例えば、ハッシュ)を割り当てることにより、それぞれの資産タイプの表現が拡張及びランダム化され、これにより、トランザクションイニシエータが、検証に合格するように資産タイプを偽造することが困難になる。更には、ランダム数rの存在に起因し、異なる時点において暗号化された同一の資産タイプは、同一ではない。資産タイプハッシュを暗号化するべくPedersenコミットメントを適用することにより、資産タイプのプライバシー保護が更に高度なレベルに改善される。従って、ステップ2.1〜2.5を通じて、トランザクションイニシエータは、資産タイプの開示を伴うことなしに、トランザクションの資産タイプが有効であることをその他のノードに対して証明することができる。例えば、入力及び出力資産タイプの間の差が取得され、且つ、これに基づいて、トランザクションイニシエータが、資産タイプの一貫性及びトランザクションの有効性を証明するべく、変換済みの資産タイプをその他のノードに伝達しうるように、多項式が構築される。同時に、トランザクションイニシエータ又はその他のノードが資産タイプを偽造することができる確率は、無視することが可能であり、その理由は、xが、多項式内の様々な指数の基数として機能するように、ハッシュ化によって演算されているからである。これに加えて、Rの開示は、その他のノードが、資産タイプを知ることなしに、ステップ3.1〜3.3を通じて、トランザクション内の資産のタイプが一貫性を有していることを検証することを許容している。従って、開示されているシステム及び方法によれば、例外的なプライバシー保護を維持しつつ、第三者がデータ情報を検証することができる。
本明細書において記述されている技法は、1つ又は複数の特殊目的演算装置によって実装される。特殊目的演算装置は、デスクトップコンピュータシステム、サーバーコンピュータシステム、携帯型コンピュータシステム、ハンドヘルド装置、ネットワーキング装置、又は任意のその他の装置、或いは、技法を実装するべく、配線接続された、且つ/又は、プログラムの、ロジックを内蔵する装置の組合せであってもよい。1つ又は複数の演算装置は、一般に、オペレーティングシステムソフトウェアによって制御及び調整されている。従来のオペレーティングシステムは、その他のものに加えて、実行のためにコンピュータプロセスを制御及びスケジューリングし、メモリ管理を実行し、ファイルシステム、ネットワーキング、I/Oサービスを提供し、且つ、グラフィカルユーザーインターフェイス(「GUI:Graphical User Interface」)などの、ユーザーインターフェイス機能を提供している。
図5は、本明細書において記述されている実施形態の任意のものが実装されうるコンピュータシステム500を示すブロック図である。システム500は、本明細書において記述されているノードのうちの任意のものにおいて実装することができると共に、情報保護方法用の対応するステップを実行するように構成することができる。コンピュータシステム500は、バス502又は情報を通信するためのその他の通信メカニズム、情報を処理するべくバス502と結合された1つ又は複数のハードウェアプロセッサ、を含む。1つ又は複数のハードウェアプロセッサ504は、例えば、1つ又は複数の汎用マイクロプロセッサであってもよい。
また、コンピュータシステム500は、情報及び1つ又は複数のプロセッサ504によって実行される命令を保存するべくバス502に結合された、ランダムアクセスメモリ(RAM:Random Access Memory)、キャッシュ、及び/又はその他のダイナミックストレージ装置などの、メインメモリ506をも含む。メインメモリ506は、1つ又は複数のプロセッサ504によって実行される対象の命令の実行の際に、一時的な変数又はその他の中間情報を保存するべく使用することもできる。このような命令は、1つ又は複数のプロセッサ504からアクセス可能であるストレージ内において保存されている際に、命令に規定されている動作を実行するべくカスタマイズされた特殊目的機械にコンピュータシステム500を変換する。コンピュータシステム500は、1つ又は複数のプロセッサ504用の静的な情報及び命令を保存するべくバス502に結合された読み出し専用メモリ(ROM:Read Only Memory)508又はその他のスタティックストレージ装置を更に含む。磁気ディスク、光ディスク、又はUSBサムドライブ(Flashドライブ)などのような、ストレージ装置510が提供されており、且つ、情報及び命令を保存するべく、バス502に結合されている。
コンピュータシステム500は、コンピュータシステムとの組合せにおいて、特殊目的機械となるようにコンピュータシステム500を制御する又はプログラムする、カスタマイズされた配線接続されたロジック、1つ又は複数のASIC又はFPGA、ファームウェア及び/又はプログラムロジックを使用することにより、本明細書において記述されている技法を実装することができる。一実施形態によれば、本明細書において記述されている動作、方法、及びプロセスは、1つ又は複数のプロセッサ504がメインメモリ506内に含まれている1つ又は複数の命令の1つ又は複数のシーケンスを実行することに応答して、コンピュータシステム500によって実行される。このような命令は、ストレージ装置510などの、別のストレージ媒体からメインメモリ506内に読み込むことができる。メインメモリ506内に含まれている命令のシーケンスを実行することにより、1つ又は複数のプロセッサ504が、本明細書において記述されているプロセスを実行する。代替実施形態においては、ソフトウェア命令の代わりに、或いは、これとの組合せにおいて、配線接続された回路を使用することができる。
メインメモリ506、ROM508、及び/又はストレージ510は、一時的ではないストレージ媒体を含むことができる。本明細書において使用されている「一時的ではない媒体」という用語及び類似の用語は、機械が特定の方式において動作するようにするデータ及び/又は命令を保存する媒体を意味しており、媒体は、一時的な信号を除外している。このような一時的ではない媒体は、不揮発性媒体及び/又は揮発性媒体を有することができる。不揮発性媒体は、例えば、ストレージ装置510などの、光又は磁気ディスクを含む。揮発性媒体は、メインメモリ506などの、ダイナミックメモリを含む。一時的ではない媒体の一般的な形態は、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、半導体ドライブ、磁気テープ、又は任意のその他の磁気データストレージ媒体、CD−ROM、任意のその他の光データストレージ媒体、孔のパターンを有する任意の物理的媒体、RAM、PROM、及びEPROM、FLASH−EPROM、NVRAM、任意のその他のメモリチップ又はカートリッジ、及びこれらのもののネットワーク接続されたバージョンを含む。
また、コンピュータシステム500は、バス502に結合されたネットワークインターフェイス518をも含む。ネットワークインターフェイス518は、1つ又は複数のローカルネットワークに接続された1つ又は複数のネットワークリンクに対する双方向データ通信結合を提供している。例えば、ネットワークインターフェイス518は、統合型サービスデジタルネットワーク(ISDN:Integrated Services Digital Network)カード、ケーブルモデム、衛星モデム、又は、対応するタイプの電話線に対するデータ通信接続を提供するためのモデムであってもよい。別の例として、ネットワークインターフェイス518は、互換性を有するLAN(LAN:Local Area Network)に対するデータ通信接続を提供するためのローカルエリアネットワークカード(或いは、WANと通信するためのWANコンポーネント)であってもよい。また、無線リンクを実装することもできる。任意のこのような実装形態においては、ネットワークインターフェイス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 (22)

  1. 情報保護用のコンピュータ実装された方法であって、
    トランザクションの1つ又は複数のデータ入力及び1つ又は複数のデータ出力を判定するステップであって、前記データ入力は、それぞれ、入力データタイプと関連付けられ、且つ、前記データ出力は、それぞれ、出力データタイプと関連付けられている、ステップと、
    前記入力データタイプ及び前記出力データタイプを暗号化するステップと、
    対応するコミットメント値を取得するべく、前記暗号化済みの入力データタイプ及び前記暗号化済みの出力データタイプのそれぞれをコミットメント方式によってコミットするステップと、
    少なくとも前記コミットメント値に基づいて少なくともパラメータRを取得するステップと、
    ブロックチェーンネットワーク内の1つ又は複数のノードが前記入力データタイプと前記出力データタイプの間の一貫性を検証するべく、前記パラメータRの開示を伴って、且つ、前記入力データタイプ及び出力データタイプの開示を伴うことなしに、前記トランザクションを前記ノードにサブミットするステップと、
    を有する方法。
  2. 前記入力データタイプ及び前記出力データタイプを暗号化するステップは、前記入力データタイプ及び前記出力データタイプをハッシュ関数によって暗号化するステップを有する請求項1に記載の方法。
  3. 前記コミットメント方式は、Pedersenコミットメントを有する請求項1に記載の方法。
  4. 前記コミットメント方式は、少なくともブラインディングファクタを有し、且つ、
    前記ブラインディングファクタは、前記暗号化済みの入力データタイプ及び前記暗号化済みの出力データタイプをコミットする時点に伴って変化している請求項1に記載の方法。
  5. 前記ノードは、前記入力データタイプ及び出力データタイプの知識を伴うことなしに、前記入力データタイプと前記出力データタイプの間の前記一貫性を検証するようになっている請求項1に記載の方法。
  6. 前記トランザクションは、少なくとも未使用トランザクション出力(UTXO)モデルに基づいており、且つ、
    前記データ入力及び前記データ出力は、前記トランザクションを経験する1つ又は複数の資産のタイプを有する請求項1に記載の方法。
  7. 前記コミットメント方式は、前記入力データタイプ及び前記出力データタイプにそれぞれ対応する複数のブラインディングファクタを有し、且つ、
    少なくとも前記コミットメント値に基づいて少なくとも前記パラメータRを取得するステップは、
    前記コミットメント値のペアの間の差を取得するステップと、
    前記取得された差を連結するステップと、
    暗号化値xを取得するべく、前記連結された差をハッシュ関数によって暗号化するステップと、
    少なくとも前記暗号化値x及び前記ブラインディングファクタのペアの間の差に基づいて前記パラメータRを取得するステップと、
    を有する請求項1に記載の方法。
  8. 前記ブロックチェーンネットワーク内の前記1つ又は複数のノードが前記入力データタイプと前記出力データタイプの間の一貫性を検証するべく、前記パラメータRの開示を伴って、且つ、前記入力データタイプ及び出力データタイプの開示を伴うことなしに、前記トランザクションを前記ノードにサブミットするステップは、
    前記ブロックチェーンネットワーク内の前記1つ又は複数のノードが、
    前記パラメータR及びベースポイントGを取得し、
    前記コミットメント値のペアの間の差を取得し、
    前記取得された差を連結し、
    暗号化値xを取得するべく、前記連結された差をハッシュ関数によって暗号化し、
    少なくとも前記取得された差及び前記暗号化値xに基づいて多項式の合計Cを取得し、
    前記合計Cが前記パラメータRと前記ベースポイントGの積に等しいという判定に応答して、前記入力データタイプと前記出力データタイプが一貫性を有していると判定し、且つ、
    前記合計Cが前記パラメータRと前記ベースポイントGの積に等しくないという判定に応答して、前記入力データタイプと前記出力データタイプが一貫性を有していないと判定する、
    ようにするべく、前記パラメータRの開示を伴って、且つ、前記入力データタイプ及び出力データイプ他の開示を伴うことなしに、前記トランザクションを前記ノードにサブミットするステップを有する請求項1に記載の方法。
  9. プロセッサが動作を実行するようにするべく、前記プロセッサによって実行される命令を保存する一時的ではないコンピュータ可読ストレージ媒体であって、
    前記動作は、
    トランザクションの1つ又は複数のデータ入力及び1つ又は複数のデータ出力を判定するステップであって、前記データ入力は、それぞれ、入力データタイプと関連付けられ、且つ、前記データ出力は、それぞれ、出力データタイプと関連付けられている、ステップと、
    前記入力データタイプ及び前記出力データタイプを暗号化するステップと、
    対応するコミットメント値を取得するべく、前記暗号化済みの入力データタイプ及び前記暗号化済みの出力データタイプのそれぞれをコミットメント方式によってコミットするステップと、
    少なくとも前記コミットメント値に基づいて少なくともパラメータRを取得するステップと、
    ブロックチェーンネットワーク内の1つ又は複数のノードが前記入力データタイプと前記出力データタイプの間の一貫性を検証するべく、前記パラメータRの開示を伴って、且つ、前記入力データタイプ及び出力データタイプの開示を伴うことなしに、前記トランザクションを前記ノードにサブミットするステップと、
    を有する、ストレージ媒体。
  10. 前記入力データタイプ及び前記出力データタイプを暗号化するステップは、前記入力データタイプ及び前記出力データタイプをハッシュ関数によって暗号化するステップを有する請求項9に記載のストレージ媒体。
  11. 前記コミットメント方式は、Pedersenコミットメントを有する請求項9に記載のストレージ媒体。
  12. 前記コミットメント方式は、少なくともブラインディングファクタを有し、且つ、
    前記ブラインディングファクタは、前記暗号化済みの入力データタイプ及び前記暗号化済みの出力データタイプをコミットする時点に伴って変化している請求項9に記載のストレージ媒体。
  13. 前記ノードは、前記入力データタイプ及び出力データタイプの知識を伴うことなしに、前記入力データタイプと前記出力データタイプの間の前記一貫性を検証するようになっている請求項9に記載のストレージ媒体。
  14. 前記トランザクションは、少なくとも未使用トランザクション出力(UTXO)モデルに基づいており、且つ、
    前記データ入力及び前記データ出力は、前記トランザクションを経験する1つ又は複数の資産のタイプを有する請求項9に記載のストレージ媒体。
  15. 前記コミットメント方式は、前記入力データタイプ及び前記出力データタイプにそれぞれ対応する複数のブラインディングファクタを有し、且つ、
    少なくとも前記コミットメント値に基づいて少なくとも前記パラメータRを取得するステップは、
    前記コミットメント値のペアの間の差を取得するステップと、
    前記取得された差を連結するステップと、
    暗号化値xを取得するべく、前記連結された差をハッシュ関数によって暗号化するステップと、
    少なくとも前記暗号化値x及び前記ブラインディングファクタのペアの間の差に基づいて前記パラメータRを取得するステップと、
    を有する請求項9に記載のストレージ媒体。
  16. 前記ブロックチェーンネットワーク内の前記1つ又は複数のノードが前記入力データタイプと前記出力データタイプの間の一貫性を検証するべく、前記パラメータRの開示を伴って、且つ、前記入力データタイプ及び出力データタイプの開示を伴うことなしに、前記トランザクションを前記ノードにサブミットするステップは、
    前記ブロックチェーンネットワーク内の前記1つ又は複数のノードが、
    前記パラメータR及びベースポイントGを取得し、
    前記コミットメント値のペアの間の差を取得し、
    前記取得された差を連結し、
    暗号化値xを取得するべく、前記連結された差をハッシュ関数によって暗号化し、
    少なくとも前記取得された差及び前記暗号化値xに基づいて多項式の合計Cを取得し、
    前記合計Cが前記パラメータRと前記ベースポイントGの積に等しいという判定に応答して、前記入力データタイプと前記出力データタイプが一貫性を有していると判定し、且つ、
    前記合計Cが前記パラメータRと前記ベースポイントGの積に等しくないという判定に応答して、前記入力データタイプと前記出力データタイプが一貫性を有していないと判定する、
    ようにするべく、前記パラメータRの開示を伴って、且つ、前記入力データタイプ及び出力データイプの開示を伴うことなしに、前記トランザクションを前記ノードにサブミットするステップを有する請求項9に記載のストレージ媒体。
  17. 情報保護用のシステムであって、
    プロセッサと、
    前記プロセッサに結合された一時的ではないコンピュータ可読ストレージ媒体と、
    を有し、
    前記ストレージ媒体は、前記システムが動作を実行するようにするべく、前記プロセッサによって実行される命令を保存しており、
    前記動作は、
    トランザクションの1つ又は複数のデータ入力及び1つ又は複数のデータ出力を判定するステップであって、前記データ入力は、それぞれ、入力データタイプと関連付けられ、且つ、前記データ出力は、それぞれ、出力データタイプと関連付けられている、ステップと、
    前記入力データタイプ及び前記出力データタイプを暗号化するステップと、
    対応するコミットメント値を取得するべく、前記暗号化済みの入力データタイプ及び前記暗号化済みの出力データタイプのそれぞれをコミットメント方式によってコミットするステップと、
    少なくとも前記コミットメント値に基づいて少なくともパラメータRを取得するステップと、
    ブロックチェーンネットワーク内の1つ又は複数のノードが前記入力データタイプと前記出力データタイプの間の一貫性を検証するべく、前記パラメータRの開示を伴って、且つ、前記入力データタイプ及び出力データタイプの開示を伴うことなしに、前記トランザクションを前記ノードにサブミットするステップと、
    を有する、システム。
  18. 情報保護用のコンピュータ実装された方法であって、
    ブロックチェーンネットワーク内の1つ又は複数のノードにより、イニシエータノードによって開始されたトランザクションを取得するステップであって、
    前記トランザクションは、1つ又は複数のデータ入力及び1つ又は複数のデータ出力と関連付けられており、
    前記データ入力は、それぞれ、入力データタイプと関連付けられ、且つ、前記データ出力は、それぞれ、個々に、出力データタイプと関連付けられており、
    前記入力データタイプ及び前記出力データタイプは、暗号化され、且つ、対応するコミットメント値を取得するべく、コミットメント方式に対してコミットされ、且つ、
    前記入力データタイプ及び出力データタイプは、前記1つ又は複数のノードに対して開示されない、ステップと、
    前記1つ又は複数のノードにより、前記入力データタイプと前記出力データタイプの間の一貫性を検証するステップと、
    前記入力データタイプと前記出力データタイプが一貫性を有しているという判定に応答して、前記1つ又は複数のノードにより、前記トランザクションを前記ブロックチェーンネットワークに追加するステップと、
    前記入力データタイプと前記出力データタイプが一貫性を有していないという判定に応答して、前記1つ又は複数のノードにより、前記トランザクションが前記ブロックチェーンネットワークに追加されることを拒絶するステップと、
    を有する方法。
  19. 前記入力データタイプと前記出力データタイプの間の前記一貫性を検証するステップは、
    パラメータR及びベースポイントGを取得するステップと、
    前記コミットメント値のペアの間の差を取得するステップと、
    前記取得された差を連結するステップと、
    暗号化値xを取得するべく、前記連結された差をハッシュ関数によって暗号化するステップと、
    少なくとも前記取得された差及び前記暗号化値xに基づいて多項式の合計Cを取得するステップと、
    前記合計Cが前記パラメータRと前記ベースポイントGの積に等しいかどうかを判定するステップと、
    を有する請求項18に記載の方法。
  20. 前記合計Cが前記パラメータRと前記ベースポイントGの前記積に等しいという判定に応答して、前記入力データタイプと前記出力データタイプが一貫性を有していると判定するステップと、
    前記合計Cが前記パラメータRと前記ベースポイントGの前記積と等しくないという判定に応答して、前記入力データタイプと前記出力データタイプが一貫性を有していないと判定するステップと、
    を更に有する請求項19に記載の方法。
  21. プロセッサが動作を実行するようにするべく、前記プロセッサによって実行される命令を保存する一時的ではないコンピュータ可読ストレージ媒体であって、
    前記動作は、
    ブロックチェーンネットワーク内の1つ又は複数のノードにより、イニシエータノードによって開始されたトランザクションを取得するステップであって、
    前記トランザクションは、1つ又は複数のデータ入力及び1つ又は複数のデータ出力と関連付けられており、
    前記データ入力は、それぞれ、入力データタイプと関連付けられ、且つ、前記データ出力は、それぞれ、個々に、出力データタイプと関連付けられており
    前記入力データタイプ及び前記出力データタイプは、暗号化され、且つ、対応するコミットメント値を取得するべく、コミットメント方式に対してコミットされ、且つ、
    前記入力データタイプ及び出力データタイプは、前記1つ又は複数ノードに対して開示されない、ステップと、
    前記1つ又は複数のノードにより、前記入力データタイプと前記出力データタイプの間の一貫性を検証するステップと、
    前記入力データタイプと前記出力データタイプが一貫性を有しているという判定に応答して、前記1つ又は複数のノードにより、前記トランザクションを前記ブロックチェーンネットワークに追加するステップと、
    前記入力データタイプと前記出力データタイプが一貫性を有していないという判定に応答して、前記1つ又は複数のノードにより、前記トランザクションが前記ブロックチェーンネットワークに追加されることを拒絶するステップと、
    を有する、ストレージ媒体。
  22. 情報保護用のシステムであって、
    プロセッサと、
    前記プロセッサに結合された一時的ではないコンピュータ可読ストレージ媒体と、
    を有し、
    前記ストレージ媒体は、前記システムが動作を実行するようにするべく、前記プロセッサによって実行される命令を保存しており、
    前記動作は、
    ブロックチェーンネットワーク内の1つ又は複数のノードにより、イニシエータノードによって開始されたトランザクションを取得するステップであって、
    前記トランザクションは、1つ又は複数のデータ入力及び1つ又は複数のデータ出力と関連付けられており、
    前記データ入力は、それぞれ、入力データタイプと関連付けられ、且つ、前記データ出力は、それぞれ、個々に、出力データタイプと関連付けられており、
    前記入力データタイプ及び前記出力データタイプは、暗号化され、且つ、対応するコミットメント値を取得するべく、コミットメント方式に対してコミットされ、
    前記入力データタイプ及び出力データタイプは、前記1つ又は複数のノードに対して開示されない、ステップと、
    前記1つ又は複数のノードにより、前記入力データタイプと前記出力データタイプの間の一貫性を検証するステップと、
    前記入力データタイプと前記出力データタイプが一貫性を有しているという判定に応答して、前記1つ又は複数のノードにより、前記トランザクションを前記ブロックチェーンネットワークに追加するステップと、
    前記入力データタイプと前記出力データタイプが一貫性を有していないという判定に応答して、前記1つ又は複数のノードにより、前記トランザクションが前記ブロックチェーンネットワークに追加されることを拒絶するステップと、
    を有する、システム。
JP2019521112A 2018-11-27 2018-11-27 情報保護用のシステム及び方法 Active JP6756041B2 (ja)

Applications Claiming Priority (1)

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

Publications (3)

Publication Number Publication Date
JP2020500458A true JP2020500458A (ja) 2020-01-09
JP2020500458A5 JP2020500458A5 (ja) 2020-04-16
JP6756041B2 JP6756041B2 (ja) 2020-09-16

Family

ID=66100052

Family Applications (1)

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

Country Status (16)

Country Link
US (1) US10938549B2 (ja)
EP (1) EP3552158B1 (ja)
JP (1) JP6756041B2 (ja)
KR (1) KR102128210B1 (ja)
CN (1) CN110730963B (ja)
AU (1) AU2018322507B2 (ja)
BR (1) BR112019007232B1 (ja)
CA (1) CA3037833C (ja)
ES (1) ES2863552T3 (ja)
MX (1) MX2019004201A (ja)
PH (1) PH12019500532A1 (ja)
PL (1) PL3552158T3 (ja)
RU (1) RU2719311C1 (ja)
SG (1) SG11201902773VA (ja)
WO (1) WO2019072275A2 (ja)
ZA (1) ZA201902459B (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11381389B2 (en) * 2017-08-15 2022-07-05 Nchain Holdings Ltd. Computer-implemented method of generating a threshold vault
SG11202000804PA (en) 2017-08-15 2020-02-27 Nchain Holdings Ltd Threshold digital signature method and system
GB201805633D0 (en) * 2018-04-05 2018-05-23 Nchain Holdings Ltd Computer implemented method and system
US11409734B2 (en) * 2018-10-29 2022-08-09 Electronics And Telecommunications Research Institute Blockchain system and operation method thereof
US10790990B2 (en) * 2019-06-26 2020-09-29 Alibaba Group Holding Limited Ring signature-based anonymous transaction
CN111353886A (zh) * 2020-02-17 2020-06-30 杭州溪塔科技有限公司 基于utxo模型的资产交易方法、装置和电子设备
CN111340494B (zh) * 2020-05-15 2020-08-28 支付宝(杭州)信息技术有限公司 资产类型一致性证据生成、交易、交易验证方法及系统
CN111858769B (zh) * 2020-07-28 2024-05-03 北京金山云网络技术有限公司 数据使用方法、装置、节点设备及存储介质
US11558374B2 (en) * 2021-03-31 2023-01-17 Lenovo (Singapore) Pte. Ltd. Systems, apparatus, and methods for verifying a password utilizing commitments
CN114092242A (zh) * 2021-11-03 2022-02-25 支付宝(杭州)信息技术有限公司 基于范围证明实现隐私交易的方法和系统
CN114390065B (zh) * 2022-01-24 2024-03-19 浙江数秦科技有限公司 一种区块链网络数据快速传输方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080235245A1 (en) * 2005-12-19 2008-09-25 International Business Machines Corporation Commitment of transactions in a distributed system
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
CN106911470A (zh) * 2017-01-23 2017-06-30 北京航空航天大学 一种比特币交易隐私增强方法
WO2018168152A1 (ja) * 2017-03-13 2018-09-20 ソニー株式会社 情報処理装置および情報処理方法
JP2018157432A (ja) * 2017-03-17 2018-10-04 Kddi株式会社 生成装置、検証装置、及びプログラム

Family Cites Families (119)

* 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
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
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 松下电器产业株式会社 设备鉴别系统和设备鉴别方法
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
EP1886204B1 (en) 2005-05-10 2011-11-16 DTS Ltd. Transaction method and verification method
JP4435076B2 (ja) 2005-11-18 2010-03-17 フェリカネットワークス株式会社 携帯端末,データ通信方法,およびコンピュータプログラム
EP1978462A4 (en) 2006-01-25 2011-11-30 Panasonic Corp END DEVICE, SERVER DEVICE AND DISTRIBUTION SYSTEM FOR DIGITAL CONTENTS
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 日本電信電話株式会社 ビットコミットメント検証システム、ビットコミットメント装置、検証装置、ビットコミットメント検証方法、ビットコミットメント方法、検証方法、ビットコミットメントプログラム、検証プログラム
US20120116978A1 (en) 2008-12-23 2012-05-10 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
SG10201608067QA (en) 2011-09-29 2016-11-29 Amazon Tech 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
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
US11200564B2 (en) 2015-03-31 2021-12-14 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
US20160300234A1 (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
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
CN113630416A (zh) 2015-06-30 2021-11-09 维萨国际服务协会 机密认证和供应
US20170085555A1 (en) 2015-07-14 2017-03-23 Fmr Llc Point-to-Point Transaction Guidance Apparatuses, Methods and Systems
US20180191503A1 (en) 2015-07-14 2018-07-05 Fmr Llc Asynchronous Crypto Asset Transfer and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems
US20180253702A1 (en) 2015-11-24 2018-09-06 Gartland & Mellina Group Blockchain solutions for financial services and other transactions-based industries
EP3384448B1 (en) 2015-11-30 2020-10-14 Shapeshift AG Systems and methods for improving security in blockchain-asset exchange
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
SG11201805472RA (en) 2016-02-23 2018-07-30 Nchain Holdings Ltd Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
EP3860037A1 (en) 2016-02-23 2021-08-04 Nchain Holdings Limited Cryptographic method and system for secure extraction of data from a blockchain
AU2017223129A1 (en) 2016-02-23 2018-07-12 nChain Holdings Limited Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
US10237259B2 (en) 2016-02-29 2019-03-19 Securekey Technologies Inc. Systems and methods for distributed identity verification
CN117151853A (zh) 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 주식회사 코인플러그 메신저 서비스를 통하여 송수신하는 데이터에 대한 기록 서비스 및 검증 서비스를 제공하는 방법, 및 이를 이용한 서버
SG11201809112VA (en) 2016-07-15 2018-11-29 Visa Int Service Ass Digital asset distribution by transaction device
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
JP6971019B2 (ja) 2016-09-26 2021-11-24 Gmoインターネット株式会社 データ管理システム、情報処理装置、プログラム、及び、データ管理方法
CN106549749B (zh) 2016-12-06 2019-12-24 杭州趣链科技有限公司 一种基于加法同态加密的区块链隐私保护方法
WO2018125989A2 (en) 2016-12-30 2018-07-05 Intel Corporation The internet of things
US20180211313A1 (en) * 2017-01-23 2018-07-26 Viswanatham Narahari Systems, methods and devices for providing and receiving pledges
CN106845960B (zh) 2017-01-24 2018-03-20 上海壹账通区块链科技有限公司 基于区块链的安全交易方法及系统
CN107025602A (zh) 2017-02-24 2017-08-08 杭州象链网络技术有限公司 一种基于联盟链的金融资产交易系统构建方法
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
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 北京天德科技有限公司 一种基于第三代区块链的可扩展央行数字货币交易方法
JP7194127B2 (ja) 2017-06-14 2022-12-21 エヌチェーン ライセンシング アーゲー ネットワークの障害時におけるオフ・ブロックチェーン・チャネルに関して生じるセキュリティ関連脆弱性に対処するためのシステム及び方法
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
CN107679857B (zh) 2017-10-10 2021-04-27 马晶瑶 区块链的跨链交易方法和存储介质
CN108062671A (zh) 2017-11-03 2018-05-22 深圳市轱辘车联数据技术有限公司 数据交易方法、区块链节点服务器及数据提交终端
CN108021821A (zh) * 2017-11-28 2018-05-11 北京航空航天大学 多中心区块链交易隐私保护系统及方法
US11257077B2 (en) 2017-11-30 2022-02-22 Visa International Service Association Blockchain system for confidential and anonymous smart contracts
CN108418689B (zh) 2017-11-30 2020-07-10 矩阵元技术(深圳)有限公司 一种适合区块链隐私保护的零知识证明方法和介质
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 網家金融科技股份有限公司 網路支付轉帳系統
US10445965B2 (en) 2018-01-29 2019-10-15 Accenture Global Solutions Limited Blockchain-based cryptologic ballot organization
CN108512650B (zh) 2018-02-28 2021-03-09 南京思利华信息科技有限公司 面向区块链的动态哈希计算方法、装置、节点及存储介质
CN108288159A (zh) 2018-03-07 2018-07-17 物数(上海)信息科技有限公司 基于多区块链的跨链交易方法、系统、设备及存储介质
CN108320228A (zh) 2018-03-07 2018-07-24 物数(上海)信息科技有限公司 跨区块链资产交易方法、平台、设备及存储介质
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 深圳市图灵奇点智能科技有限公司 数据验证方法和安全多方计算系统
CN108667599A (zh) * 2018-05-21 2018-10-16 平安科技(深圳)有限公司 加密方法、装置、计算机设备和存储介质
CN108876332B (zh) 2018-06-04 2020-09-22 清华大学 一种基于生物特征标记认证的区块链安全交易方法及装置
CN109003184A (zh) 2018-06-22 2018-12-14 中链科技有限公司 区块链资产管理方法及装置
JP6956062B2 (ja) 2018-10-30 2021-10-27 株式会社Crypto Garage 取引方法、プログラム、検証装置及び生成方法
CN110326013A (zh) 2018-11-07 2019-10-11 阿里巴巴集团控股有限公司 在账户模型下支持公开交易和私有交易的区块链系统
PL3545644T3 (pl) 2018-11-27 2021-06-28 Advanced New Technologies Co., Ltd. System i sposób ochrony informacji
RU2719423C1 (ru) 2018-11-27 2020-04-17 Алибаба Груп Холдинг Лимитед Система и способ защиты информации
ES2833552T3 (es) 2018-11-27 2021-06-15 Advanced New Technologies Co Ltd Sistema y método para la protección de información

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080235245A1 (en) * 2005-12-19 2008-09-25 International Business Machines Corporation Commitment of transactions in a distributed system
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
CN106911470A (zh) * 2017-01-23 2017-06-30 北京航空航天大学 一种比特币交易隐私增强方法
WO2018168152A1 (ja) * 2017-03-13 2018-09-20 ソニー株式会社 情報処理装置および情報処理方法
JP2018157432A (ja) * 2017-03-17 2018-10-04 Kddi株式会社 生成装置、検証装置、及びプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BIN LI ET AL.: "RZKPB: A Privacy-Preserving Blockchain-Based Fair Transaction Method for Sharing Economy", 2018 17TH IEEE INTERNATIONAL CONFERENCE ON TRUST, SECURITY AND PRIVACY IN COMPUTING AND COMMUNICATIO, JPN6020012568, 1 August 2018 (2018-08-01), US, pages 1164 - 1169, XP033398837, ISSN: 0004323380, DOI: 10.1109/TrustCom/BigDataSE.2018.00161 *
INA MIERS ET AL.: "Zerocoin: Anonymous Distributed E-Cash from Bitcoin", 2013 IEEE SYMPOSIUM ON SECURITY AND PRIVACY, JPN6020001494, 19 May 2013 (2013-05-19), US, pages 397 - 411, XP032431337, ISSN: 0004323379, DOI: 10.1109/SP.2013.34 *

Also Published As

Publication number Publication date
BR112019007232B1 (pt) 2022-02-15
PH12019500532A1 (en) 2019-10-28
WO2019072275A2 (en) 2019-04-18
WO2019072275A3 (en) 2019-10-03
CN110730963B (zh) 2023-12-01
RU2719311C1 (ru) 2020-04-17
BR112019007232A2 (pt) 2019-11-05
CA3037833C (en) 2022-04-19
CA3037833A1 (en) 2020-04-18
PL3552158T3 (pl) 2021-07-26
JP6756041B2 (ja) 2020-09-16
US10938549B2 (en) 2021-03-02
AU2018322507B2 (en) 2020-10-08
ES2863552T3 (es) 2021-10-11
US20200228317A1 (en) 2020-07-16
EP3552158A2 (en) 2019-10-16
CN110730963A (zh) 2020-01-24
SG11201902773VA (en) 2019-05-30
MX2019004201A (es) 2019-08-05
EP3552158A4 (en) 2020-02-26
KR20200066256A (ko) 2020-06-09
AU2018322507A1 (en) 2020-01-30
KR102128210B1 (ko) 2020-06-30
EP3552158B1 (en) 2021-02-17
ES2863552T8 (es) 2022-08-19
ZA201902459B (en) 2020-08-26

Similar Documents

Publication Publication Date Title
JP6841911B2 (ja) 情報保護用のシステム及び方法
KR102139897B1 (ko) 정보 보호를 위한 시스템 및 방법
JP6724249B2 (ja) 情報保護用のシステム及び方法
JP6756041B2 (ja) 情報保護用のシステム及び方法
US10892888B2 (en) System and method for information protection
KR20200066258A (ko) 정보 보호를 위한 시스템 및 방법
AU2019101581A4 (en) System and method for information protection
AU2019101590A4 (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: 20200304

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200304

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200312

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200625

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200826

R150 Certificate of patent or registration of utility model

Ref document number: 6756041

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