JP2020526053A - ブロックチェーンネットワーク内の資産間取引 - Google Patents

ブロックチェーンネットワーク内の資産間取引 Download PDF

Info

Publication number
JP2020526053A
JP2020526053A JP2019559290A JP2019559290A JP2020526053A JP 2020526053 A JP2020526053 A JP 2020526053A JP 2019559290 A JP2019559290 A JP 2019559290A JP 2019559290 A JP2019559290 A JP 2019559290A JP 2020526053 A JP2020526053 A JP 2020526053A
Authority
JP
Japan
Prior art keywords
node
value
transaction
data
evidence
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
JP2019559290A
Other languages
English (en)
Other versions
JP6840268B2 (ja
JP2020526053A5 (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 JP2020526053A publication Critical patent/JP2020526053A/ja
Publication of JP2020526053A5 publication Critical patent/JP2020526053A5/ja
Application granted granted Critical
Publication of JP6840268B2 publication Critical patent/JP6840268B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • 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/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
    • G06Q20/0658Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed locally
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/22Payment schemes or models
    • G06Q20/223Payment schemes or models based on the use of peer-to-peer networks
    • 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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • 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/381Currency conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3823Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • 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
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Computing Systems (AREA)
  • Power Engineering (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

実装例が、ブロックチェーンネットワークにおける資産間取引に向けられ、かつ第1のノードが、第1の値、第2の値および第2のノードの為替レート基づいてトランザクション情報を提供することと、第2のノードから、第1の証拠集合、第1の範囲証明および第2のノードのデジタル署名を受信することと、第1の範囲証明、第2の範囲証明、第1の証拠集合、第2の証拠集合、第1のノードのデジタル署名および第2のノードのデジタル署名に基づいて検証のためにトランザクションであり、実行されて、第1のノードの残高を第1の値だけ減少させ、第2のノードの第1の残高を第1の値だけ増加させ、第2のノードの第2の残高を第2の値だけ減少させ、そして第3のノードの残高を第2の値だけ増加させる、トランザクションを提出することとを含む。

Description

分散型台帳システム(DLS)は、コンセンサスネットワークおよび/またはブロックチェーンネットワークとも称することができ、参加エンティティが安全かつ不変にデータを格納することを可能にする。DLSは、いかなる特定のユースケースにも関係せず一般的にブロックチェーンネットワークと称される。ブロックチェーンネットワークの種類例には、パブリックブロックチェーンネットワーク、プライベートブロックチェーンネットワークおよびコンソーシアムブロックチェーンネットワークを含むことができる。パブリックブロックチェーンネットワークは、全てのエンティティがDLSを使用してコンセンサスプロセスに参加するように開かれている。プライベートブロックチェーンネットワークは、読出しおよび書込み許可を中央で制御する、特定のエンティティのために提供される。コンソーシアムブロックチェーンネットワークは、コンセンサスプロセスを制御する、選択された一群のエンティティのために提供され、かつアクセス制御層を含む。
ブロックチェーンネットワークは、通貨などのデジタル資産の移転および交換を通じて価値を取引するために使用できる。ブロックチェーンネットワークの1つのノードから別のノードにデジタル資産を移転することによって、異なる数種類のデジタル資産がブロックチェーンネットワーク内で交換できる。一部の事例では、ブロックチェーンネットワーク内でデジタル資産を移転することは、為替レートに基づく一種類のデジタル資産の第2の種類のデジタル資産との交換を要する。
ブロックチェーンネットワークの参加者は、しかしながら、コンセンサスノードを含め、他の参加者がトランザクションの詳細(例えば、トランザクション金額、為替レート)に気づかないように、自分のトランザクションのプライバシーを所望するかもしれない。プライバシーを提供するために、暗号化方式が使用できる。しかしながら、一部の暗号化方式は、準同型乗算などの乗算演算をサポートしない。一部の暗号化方式がそのような乗算演算をサポートするが、それらは単一の乗算演算だけに限定される。これは、例えば、為替レートを含む資産間トランザクションの参加者の、為替レートのプライバシーを守る能力を抑制する。
本明細書の実装例は、ブロックチェーンネットワーク内で通貨を移転するためのコンピュータ実装方法を含む。より詳細には、本明細書の実装例は、暗号化トランザクションデータおよび暗号化為替レートを使用するブロックチェーンネットワーク内の資産間トランザクションに向けられる。
一部の実装例では、行為が、ブロックチェーンネットワークにおける第1のノードによって、かつボウネイ-ゴー-ニッシム(Boneh-Goh-Nissim:BGN)暗号化を使用して、第1の値と、第1の値およびブロックチェーンネットワークにおける第2のノードによって提供される為替レートに基づいて決定される第2の値とに基づいて暗号文を生成することと、第1のノードによって第2のノードに、第1の値および暗号文を送信することと、第1のノードによって、かつ第2のノードから、為替レートを明かすことなくゼロ知識証明(ZKP)ルーチンで為替レートを検証するために使用できるデータの集合を含む第1の証拠集合を受信することと、第1のノードによって、暗号文が第1のノードのBGN公開鍵によって暗号化されていることを、ZKPルーチンを使用して、検証するために使用できるデータの集合を含む第2の証拠集合を生成することと、第1のノードによって、第1のノードから第2のノードへの第1の値の移転のための第1のノードと第2のノードとの間の第1のトランザクション、および第2のノードから第3のノードへの第2の値の移転のための第2のノードと第3のノードとの間の第2のトランザクションを含むトランザクションを定義することと、第1のノードによって、トランザクションであり、第1の証拠集合および第2の証拠集合に基づいて検証される、トランザクションの検証および実行のためにブロックチェーンネットワークの少なくとも1つのコンセンサスノードにトランザクションを送信し、そしてトランザクションの検証に応じて、第1のトランザクションおよび第2のトランザクションを実行して、第1のノードの残高を第1の値だけ減少させ、第2のノードの第1の残高を第1の値だけ増加させ、第2のノードの第2の残高を第2の値だけ減少させ、そして第3のノードの残高を第2の値だけ増加させることとを含む。他の実装例は、対応するシステム、装置、およびコンピュータ記憶デバイスに符号化される、本方法の行為を行うように構成された、コンピュータプログラムを含む。
これらおよび他の実装例は各々以下の特徴の1つまたは複数を任意選択で含んでよい:第1の証拠集合が、第1の値、第1のノードによって提供される一対の乱数、および暗号文に基づいて第2のノードによって提供される;少なくとも1つのコンセンサスノードによってトランザクションを検証することが、第1のノードのデジタル署名および第2のノードのデジタル署名を検証することを含む;少なくとも1つのコンセンサスノードによってトランザクションを検証することが、第1のノードによって提供される第1の範囲証明および第2のノードによって提供される第2の範囲証明を検証することを含む;第1の範囲証明が、第1の値がゼロより大きいこと、および第1のノードの残高が第1の値以上であることを証明するZKPを含む;第2の範囲証明が、第2のノードの第2の残高が第2の値以上であることを証明するZKPを含む;トランザクションが、少なくとも部分的にBGN暗号化に基づいて生成される暗号文の集合を含むデータ集合であり、少なくとも1つのコンセンサスノードによってトランザクションを検証するために使用される、データ集合をさらに含む;行為が、第1のノードによって、ブロックチェーンネットワークのサブチェーンチャネルを通じて第2のノードから為替レートを受信することをさらに含む;暗号文のうちの少なくとも1つの暗号文が、ペダーセンコミットメント(Pedersen Commitment)を使用して提供される;第1の証拠集合のデータの集合が、第1のデータ値および第2のデータ値であり、第2のノードのBGN公開鍵を生成するために使用されるパラメータに基づいて各々が決定される、第1のデータ値および第2のデータ値を含む;ならびに第2の証拠集合のデータの集合が、暗号文の集合と、各値が少なくとも部分的に暗号文の集合のハッシュに基づく値の集合とを含む。
本明細書は、1つまたは複数のプロセッサに結合され、かつ1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに本明細書で提供される方法の実装例に従う動作を行わせる命令が記憶された、1つまたは複数の非一時的コンピュータ可読記憶媒体も提供する。
本明細書は、本明細書で提供される方法を実装するためのシステムをさらに提供する。本システムは、1つまたは複数のプロセッサと、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに本明細書で提供される方法の実装例に従う動作を行わせる命令が記憶された、1つまたは複数のプロセッサに結合されるコンピュータ可読記憶媒体とを含む。
本明細書に従う方法が本明細書に記載される態様および特徴のいかなる組合せも含んでよいことが認識される。すなわち、本明細書に従う方法は、本明細書に具体的に記載される態様および特徴の組合せに限定されるのではなく、提供される態様および特徴のいかなる組合せも含む。
本明細書の1つまたは複数の実装例の詳細が添付の図面および以下の説明に明らかにされる。本明細書の他の特徴および利点は同説明および図面から、ならびに請求項から明らかであろう。
本明細書の実装例を実行するために使用できる環境の一例を描く。 本明細書の実装例に従う概念アーキテクチャの一例を描く。 本明細書の実装例に従う資産間取引プラットフォームの一例を描く。 本明細書の実装例に従う資産間トランザクションを実行するための信号図の一例を描く。 本明細書の実装例に従って実行できるプロセスの一例を描く。 本明細書の実装例に従う装置のモジュールの例を描く。
様々な図面における同様の参照記号は同様の要素を示す。
本明細書の実装例は、ブロックチェーンネットワーク内で資産を移転するためのコンピュータ実装方法を含む。より詳細には、本明細書の実装例は、暗号化トランザクションデータおよび暗号化為替レートを使用するブロックチェーンネットワーク内の資産間トランザクションに向けられる。
本明細書の実装例のための更なる背景を提供するため、かつ上記提示したように、分散型台帳システム(DLS)は、コンセンサスネットワーク(例えば、ピアツーピアノードから構成される)およびブロックチェーンネットワークとも称することができ、参加エンティティが安全かつ不変にトランザクションを行ってデータを格納することを可能にする。用語ブロックチェーンが一般に特定のネットワークおよび/またはユースケースと関連付けられるが、ブロックチェーンは本明細書では、いかなる特定のユースケースにも関係なくDLS一般を指すために使用される。
ブロックチェーンは、トランザクションが不変であるようにトランザクションを記憶するデータ構造である。このように、ブロックチェーンに記録されたトランザクションは確実で信頼できる。ブロックチェーンは1つまたは複数のブロックを含む。チェーンにおける各ブロックは、チェーンにおけるそれの直前の以前のブロックの暗号ハッシュを含むことによってその以前のブロックにリンクされる。各ブロックは、タイムスタンプ、それ自身の暗号ハッシュ、および1つまたは複数のトランザクションも含む。トランザクションは、ブロックチェーンネットワークのノードによって既に検証されており、マークルツリーへハッシュおよび符号化される。マークルツリーは、ツリーのリーフノードにおけるデータがハッシュされ、そしてツリーの各ブランチにおける全てのハッシュがブランチのルートで連結されるデータ構造である。このプロセスはツリー全体のルートまでツリーを上がり続け、そこでツリーにおける全てのデータを表すハッシュを記憶する。ツリーに記憶されたトランザクションのであるように見えるハッシュは、それがツリーの構造と一致しているかどうかを判定することによって迅速に検証できる。
ブロックチェーンがトランザクションを記憶するための非集中型または少なくとも部分的に非集中型データ構造であるのに対して、ブロックチェーンネットワークは、トランザクションをブロードキャスト、検証および有効化すること等によって1つまたは複数のブロックチェーンを管理、更新および維持するコンピューティングノードのネットワークである。コンソーシアムブロックチェーンネットワークは参加エンティティの間でプライベートである。コンソーシアムブロックチェーンネットワークでは、コンセンサスプロセスは、公認されたノードの集合によって制御されており、1つまたは複数のノードがそれぞれのエンティティ(例えば、金融機関、保険会社)によって運営される。例えば、10のエンティティ(例えば、金融機関、保険会社)のコンソーシアムがコンソーシアムブロックチェーンネットワークを運営でき、その各々がコンソーシアムブロックチェーンネットワークにおいて少なくとも1つのノードを運営する。したがって、コンソーシアムブロックチェーンネットワークは、参加エンティティに対するプライベートネットワークと考えることができる。一部の例では、ブロックが有効であり、ブロックチェーンに追加されるためには、各エンティティ(ノード)がブロックごとに署名しなければならない。一部の例では、ブロックが有効であり、ブロックチェーンに追加されるためには、少なくともエンティティ(ノード)の部分集合(例えば、少なくとも7のエンティティ)がブロックごとに署名しなければならない。
上記提示したように、ブロックチェーンネットワークは、パブリックブロックチェーンネットワーク、プライベートブロックチェーンネットワークまたはコンソーシアムブロックチェーンネットワークとして提供できる。本明細書の実装例は、コンソーシアムブロックチェーンネットワークに関して本明細書にさらに詳細に記載される。しかしながら、本明細書の実装例が任意の適切な種類のブロックチェーンネットワークで実現できることが企図される。本明細書に記載される手法がコンソーシアムブロックチェーンネットワークに関連するとして示されるが、同手法は、パブリックブロックチェーンネットワークおよびプライベートブロックチェーンネットワークを含め、他の種類のブロックチェーンネットワークでも、変更の有無にかかわらず、使用できる。
一般に、コンソーシアムブロックチェーンネットワークは参加エンティティの間でプライベートである。コンソーシアムブロックチェーンネットワークでは、コンセンサスプロセスは、公認されたノードの集合によって制御されており、それらはコンセンサスノードと称することができ、1つまたは複数のコンセンサスノードがそれぞれのエンティティ(例えば、金融機関、保険会社)によって運営される。例えば、10のエンティティ(例えば、金融機関、保険会社)のコンソーシアムがコンソーシアムブロックチェーンネットワークを運営でき、その各々がコンソーシアムブロックチェーンネットワークにおいて少なくとも1つのノードを運営する。
一部の例では、コンソーシアムブロックチェーンネットワーク内に、全てのノードにわたって複製されるブロックチェーンとしてグローバルブロックチェーンが提供される。すなわち、全てのコンセンサスノードがグローバルブロックチェーンに関しては完全状態コンセンサスに達している。コンセンサス(例えば、ブロックチェーンへのブロックの追加への合意)を達成するために、コンソーシアムブロックチェーンネットワーク内にコンセンサスプロトコルが実装される。コンセンサスプロトコル例には、限定することなく、実用的ビザンチン障害耐性(PBFT)、プルーフオブワーク(POW)、プルーフオブステーク(POS)およびプルーフオブオーソリティ(POA)を含む。
コンソーシアムブロックチェーンネットワークは、デジタル資産の移転および交換を行うために使用できる。一部の事例では、デジタル資産は実世界の資産を表すことができる。一部の事例では、デジタル資産は仮想資産を表すことができる。例えば、仮想資産は実世界の価値を表すことができ、そしてそれは製品および/またはサービスを購入するために使用できる。仮想資産は、実世界の物理的資産(例えば、中国RMB、米国ドル)の代替物として提供される。コンソーシアムブロックチェーンネットワークがトランザクションを検証して不変に記録するので、コンソーシアムブロックチェーンネットワーク内でトランザクションを行うことは付加的なセキュリティを提供する。本明細書の実装例は、通貨(例えば、RMB、USD)に関して本明細書にさらに詳細に記載される。しかしながら、実装例が任意の適切なデジタル資産で実現できることが企図される。
図1は、本明細書の実装例を実行するために使用できる環境100の一例を描く。一部の例では、環境100は、エンティティがコンソーシアムブロックチェーンネットワーク102に参加することを可能にする。環境100は、コンピューティングデバイス106、108およびネットワーク110を含む。一部の例では、ネットワーク110は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネットまたはその組合せを含み、そしてウェブサイト、ユーザデバイス(例えば、コンピューティングデバイス)およびバックエンドシステムを接続する。一部の例では、ネットワーク110は有線および/または無線通信リンクを通じてアクセスできる。
描かれた例では、コンピューティングシステム106、108は各々、コンソーシアムブロックチェーンネットワーク102へのノードとしての参加を可能にする任意の適切なコンピューティングシステムを含むことができる。コンピューティングデバイス例には、限定することなく、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピューティングデバイスおよびスマートフォンを含む。一部の例では、コンピューティングシステム106、108は、コンソーシアムブロックチェーンネットワーク102と対話するための1つまたは複数のコンピュータ実装サービスをホストする。例えば、コンピューティングシステム106は、第1のエンティティ(例えば、ユーザA)が1つまたは複数の他のエンティティ(例えば、他のユーザ)とのそのトランザクションを管理するために使用するトランザクション管理システムなど、第1のエンティティのコンピュータ実装サービスをホストできる。コンピューティングシステム108は、第2のエンティティ(例えば、ユーザB)が1つまたは複数の他のエンティティ(例えば、他のユーザ)とのそのトランザクションを管理するために使用するトランザクション管理システムなど、第2のエンティティのコンピュータ実装サービスをホストできる。図1の例では、コンソーシアムブロックチェーンネットワーク102はノードのピアツーピアネットワークとして表現され、そしてコンピューティングシステム106、108はそれぞれ第1のエンティティおよび第2のエンティティのノードを提供し、それらがコンソーシアムブロックチェーンネットワーク102に参加する。
図2は、本明細書の実装例に従う概念アーキテクチャ200の一例を描く。概念アーキテクチャ200は、エンティティ層202、ホストサービス層204およびブロックチェーンネットワーク層206を含む。描かれた例では、エンティティ層202は3者の参加者、参加者A、参加者Bおよび参加者Cを含み、各参加者がそれぞれのトランザクション管理システム208を有する。
描かれた例では、ホストサービス層204は、各トランザクション管理システム208に対するインタフェース210を含む。一部の例では、それぞれのトランザクション管理システム208は、プロトコル(例えば、ハイパーテキスト転送プロトコルセキュア(HTTPS))を使用してネットワーク(例えば、図1のネットワーク110)を通じてそれぞれのインタフェース210と通信する。一部の例では、各インタフェース210は、それぞれのトランザクション管理システム208とブロックチェーンネットワーク層206との間の通信接続を提供する。より詳細には、インタフェース210は、ブロックチェーンネットワーク層206のブロックチェーンネットワーク212と通信する。一部の例では、インタフェース210とブロックチェーンネットワーク層206との間の通信は、リモートプロシージャコール(RPC)を使用して行われる。一部の例では、インタフェース210は、それぞれのトランザクション管理システム208に対してブロックチェーンネットワークノードを「ホストする」。例えば、インタフェース210は、ブロックチェーンネットワーク212へのアクセスのためのアプリケーションプログラミングインタフェース(API)を提供する。
本明細書に記載されるように、ブロックチェーンネットワーク212は、ブロックチェーン216に情報を不変に記録する複数のノード214を含むピアツーピアネットワークとして提供される。単一のブロックチェーン216が概略的に描かれるが、ブロックチェーン216の複数のコピーが提供されて、ブロックチェーンネットワーク212にわたって維持される。例えば、各ノード214がブロックチェーンのコピーを記憶する。一部の実装例では、ブロックチェーン216は、コンソーシアムブロックチェーンネットワークに参加する2つ以上のエンティティ間で行われるトランザクションと関連する情報を記憶する。
ブロックチェーン(例えば、図2のブロックチェーン216)はブロックのチェーンから構成されおり、各ブロックがデータを記憶する。データ例には、2者以上の参加者間のトランザクションを表すトランザクションデータを含む。トランザクションが非限定例として本明細書に使用されるが、任意の適切なデータがブロックチェーンに記憶できる(例えば、文書、画像、ビデオ、オーディオ)ことが企図される。トランザクション例には、限定することなく、価値があるもの(例えば、資産、製品、サービス、通貨)の交換を含むことができる。トランザクションデータはブロックチェーン内に不変に記憶される。すなわち、トランザクションデータは変更できない。
ブロックへの記憶の前に、トランザクションデータはハッシュされる。ハッシングは、トランザクションデータ(列データとして提供される)を固定長ハッシュ値(同じく列データとして提供される)へ変換するプロセスである。ハッシュ値を非ハッシュ化してトランザクションデータを得ることは可能でない。ハッシングは、トランザクションデータの僅かな変更さえ結果として完全に異なるハッシュ値になることを保証する。さらに、上記したように、ハッシュ値は固定長である。すなわち、トランザクションデータのサイズにかかわらず、ハッシュ値の長さは固定される。ハッシングは、ハッシュ関数を通じてトランザクションデータを処理してハッシュ値を生成することを含む。ハッシュ関数例には、限定することなく、セキュアハッシュアルゴリズム(SHA)-256を含み、これは256ビットハッシュ値を出力する。
複数のトランザクションのトランザクションデータがハッシュされてブロックに記憶される。例えば、2つのトランザクションのハッシュ値が提供され、そしてそれら自体ハッシュされて別のハッシュを提供する。このプロセスは、ブロックに記憶されることになる全てのトランザクションに対して、単一のハッシュ値が提供されるまで繰り返される。このハッシュ値はマークルルートハッシュと称され、ブロックのヘッダに記憶される。トランザクションのいずれかの変更が結果としてそのハッシュ値の変更に、最終的に、マークルルートハッシュの変更になることになる。
ブロックはコンセンサスプロトコルを通じてブロックチェーンに追加される。ブロックチェーンネットワーク内の複数のノードがコンセンサスプロトコルに参加して作業を行って、ブロックをブロックチェーンに追加させる。そのようなノードはコンセンサスノードと称される。上記提示したPBFTがコンセンサスプロトコルの非限定例として使用される。コンセンサスノードは、コンセンサスプロトコルを実行してブロックチェーンにトランザクションを追加する。
さらに詳細に、コンセンサスノードは、ブロックヘッダを生成し、ブロックにおけるトランザクションの全てをハッシュし、そしてブロックにおける全てのトランザクションに対して単一のハッシュ値が提供される(マークルルートハッシュ)まで、ハッシュ値を対に組み合わせて更なるハッシュ値を生成する。このハッシュはブロックヘッダに追加される。コンセンサスノードは、ブロックチェーンにおける最近のブロック(すなわち、ブロックチェーンに追加された最後のブロック)のハッシュ値も決定する。コンセンサスノードは、ブロックヘッダにナンス値およびタイムスタンプも追加する。
一般に、PBFTは、ビザンチン障害(例えば、故障ノード、悪意のあるノード)に耐える実用的なビザンチン状態機械複製を提供する。これは、障害が発生するであろうと仮定する(例えば、独立ノード障害および/またはコンセンサスノードによって送られる操作メッセージの存在を仮定する)ことによってPBFTで達成される。PBFTでは、コンセンサスノードは、主コンセンサスノードおよびバックアップコンセンサスノードを含む順序で設けられる。主コンセンサスノードは定期的に変更される。トランザクションは、ブロックチェーンネットワークの世界状態に関して合意に達しているブロックチェーンネットワーク内の全てのコンセンサスノードによってブロックチェーンに追加される。このプロセスでは、コンセンサスノード間でメッセージが送信され、そして各コンセンサスノードは、メッセージが指定されたピアノードから受信されることを証明し、そしてメッセージが送信中に変更されなかったことを検証する。
PBFTでは、コンセンサスプロトコルは、全てのコンセンサスノードが同じ状態で開始する、複数の段階で提供される。初めに、クライアントが、サービス動作を起動する(例えば、ブロックチェーンネットワーク内でトランザクションを実行する)よう、主コンセンサスノードに要求を送る。要求を受信したことに応じて、主コンセンサスノードは、バックアップコンセンサスノードに要求をマルチキャストする。バックアップコンセンサスノードは要求を実行し、そして各々がクライアントに応答を送る。クライアントは、閾値数の応答が受信されるまで待つ。一部の例では、クライアントは、f+1個の応答が受信されるのを待ち、ここでfは、ブロックチェーンネットワーク内で許容できる障害コンセンサスノードの最大数である。最終結果は、十分な数のコンセンサスノードが、ブロックチェーンに追加されることになる記録の順に関して合意に達し、そして記録が受理または却下されることである。
一部のブロックチェーンネットワークでは、トランザクションのプライバシーを守るために暗号法が実装される。例えば、2つのノードがトランザクションをプライベートに保ちたければ、ブロックチェーンネットワークにおける他のノードがトランザクションの詳細を認められないように、ノードはトランザクションデータを暗号化できる。暗号法例には、限定することなく、対称暗号化および非対称暗号化を含む。対称暗号化は、暗号化(平文から暗号文を生成すること)のためにも復号化(暗号文から平文を生成すること)のためにも単一の鍵を使用する暗号化プロセスを指す。対称暗号化では、複数のノードに同じ鍵が利用可能であるので、各ノードがトランザクションデータを暗/復号化できる。
非対称暗号化は、各々秘密鍵および公開鍵を含む鍵ペアを使用しており、秘密鍵がそれぞれのノードだけに知られており、公開鍵がブロックチェーンネットワークにおける任意のまたは全ての他のノードに知られている。ノードが別のノードの公開鍵を使用してデータを暗号化でき、そして暗号化データはその別のノードの秘密鍵を使用して復号化できる。例えば、図2を再び参照すると、参加者Aが、参加者Bの公開鍵を使用してデータを暗号化し、そして参加者Bに暗号化データを送ることができる。参加者Bは、その秘密鍵を使用して、暗号化データ(暗号文)を復号化して元データ(平文)を抽出できる。ノードの公開鍵で暗号化されたメッセージは、ノードの秘密鍵を使用してのみ復号化できる。
非対称暗号化は、デジタル署名を提供するために使用されるが、それは、トランザクションの参加者がトランザクションの有効性と同様にトランザクションの他の参加者も確認することを可能にする。例えば、ノードがメッセージにデジタル署名でき、そして別のノードが、参加者Aのデジタル署名に基づいてメッセージがそのノードによって送られたことを確認できる。デジタル署名は、メッセージが転送中に改竄されていないことを保証するためにも使用できる。例えば、再び図2を参照すると、参加者Aが参加者Bにメッセージを送ることになる。参加者Aは、メッセージのハッシュを生成し、次いで、その秘密鍵を使用して、ハッシュを暗号化して暗号化ハッシュとしてデジタル署名を提供する。参加者Aは、メッセージにデジタル署名を添付し、そして参加者Bにデジタル署名付きメッセージを送る。参加者Bは、参加者Aの公開鍵を使用してデジタル署名を復号化し、そしてハッシュを抽出する。参加者Bは、メッセージをハッシュし、そして両ハッシュを比較する。両ハッシュが同じであれば、参加者Bは、メッセージが実際に参加者Aからであり、かつ改竄されなかったことを確認できる。
実世界の物理的通貨の移転のように、通貨のデジタル表現を効果的に移転することは、時に譲受人に第1の種類の通貨を第2の種類の通貨と交換することを要求する。例えば、第1の種類の通貨(例えば、米国ドル($))だけを有するコンソーシアムブロックチェーンネットワークの第1のメンバー(例えば、参加者A)が通貨を第2の種類の通貨(例えば、中国RMB)でコンソーシアムブロックチェーンネットワークの第2のメンバー(例えば、参加者C)に移転したいかもしれない。参加者Aが参加者Cに価値を移転するために、第1の種類の通貨の額が、参加者Cへの移転の前に第2の種類の通貨の相当価値と交換される。
本明細書の実装例に従って、かつ本明細書にさらに詳細に記載されるように、通貨の種類を交換することは、仲介者としてのコンソーシアムブロックチェーンネットワークの第3のメンバー(例えば、参加者B)を通して達成できる。例えば、参加者Aが参加者Bに第1の種類の通貨の額を移転し、そして参加者Bが、参加者Bによって使用される為替レート(ER)に基づいて相当価値を有する第2の種類の通貨の額を参加者Cに移転できる。一部の例では、参加者Bは、コンソーシアムブロックチェーンネットワークのメンバーに両替サービスを提供する金融機関である。
ブロックチェーンネットワーク内の両替に関与する当事者のプライバシーを保証するために、交換の基礎となるトランザクションデータは、ブロックチェーンネットワーク内の交換の検証および公開の前に暗号化される。一部の例では、トランザクションデータは、第1の通貨の移転額(t1)および第1の額と交換に提供される第2の通貨の額(t2)を含む。典型的に、検証のためにブロックチェーンに提出されるトランザクションデータは、ボウネイ-ゴー-ニッシム(BGN)暗号化などの準同型暗号化方式を使用して暗号化される。準同型暗号化方式の下で、2つ以上の暗号化データの項目が、限定することなく、合計されてよい。他の暗号化方式(例えば、ペリエ(Paillier)公開鍵暗号化(PKE))とは異なり、BGN暗号化は、2つの暗号文に対する準同型乗算(例えば、暗号化βおよび暗号化t1の乗算)を可能にする。しかしながら、準同型暗号化を使用して暗号化されるデータ項目は単一の乗算に限定される。これは、準同型暗号化を使用して暗号化される2つのデータ項目の乗法ペアリングが、暗号化乗数とは異なる階数である暗号化積を生成するからである。
以下の式は、楕円曲線g上のペアリングと通常呼ばれる、乗法準同型の一回性を証明する:
e:g×g→g1
ここで、乗算されている暗号化データ項目の各々は、g1上にある乗算の積とは異なる楕円曲線g上にある。乗法準同型によって生成される暗号化データ項目は、基礎となる楕円曲線のこの変更のためさらには乗算または除算できない。加えて、乗法準同型によって生成される暗号化データ項目は、直接準同型暗号化によって生成されるデータ項目と比較できない。例えば、同じ楕円曲線g上の上記の式における最初の2つの暗号化データ項目は互いと比較できるが、基礎となる楕円曲線gおよびg1の差のため、乗法準同型によって生成される楕円曲線g1上の第3の暗号化データ項目とは比較できない。
BGN暗号化では、BGN暗号化を使用することになる各参加者iには、鍵生成プロセスを通じてBGN公開鍵(PK)、秘密鍵(SK)ペア(例えば、PKBGN_i、SKBGN_o)が提供される。鍵生成プロセスを通じて、以下が提供される:
PKBGNi={N,g,g1,e,P,Q}i
SKBGN_i=p
式中:
N=pq
p、qは大きな素数である
gは階数Nの楕円曲線
e:g×g→g1はペアリングである
P∈g生成元
Q=qαP(階数がpであるgの部分群のランダムな生成元)
α<N
本明細書の背景では、準同型暗号化方式の下で、公開為替レートを伴う交換トランザクションは、移転額および/または交換額を明かすまたは公開することなくコンソーシアムブロックチェーンネットワークによって検証および記録できる。例えば、参加者Aによって交換サービス提供者参加者Bに移転される第1の通貨の額(t1)も、第1の額と交換に参加者Bによって提供される第2の通貨の額(t2)も準同型暗号化を使用して暗号化できる。この方式の下で、暗号化t1も暗号化t2も楕円曲線g上にある。暗号化移転量t1には参加者Bの公開為替レートが乗算されて、t1と交換に参加者Bによって提供されるべきである第2の通貨の額を決定できる。参加者Bの為替レートがこの例では公開の非暗号化値であるので、t1および公開為替レートの積は、t1と同じ楕円曲線g上にある暗号化データ項目である。参加者Aと参加者Bとの間の交換トランザクションは、t1および公開為替レートの暗号化積を暗号化データ項目t2と比較することによってブロックチェーンネットワークによって検証できる。公開為替レートが乗算されたt1の暗号化積が暗号化データ項目t2に等しければ、トランザクションは検証されてブロックチェーンに記録される。
この検証方式は、公開為替レートを伴う交換トランザクションを検証するための有効な手段を提供するが、両替サービスを提供するブロックチェーンネットワークメンバーはしばしば他のそのような提供者と競合している。結果的に、それらは、自分の為替レートがブロックチェーンネットワーク内で公開されることを望まない。したがって、ブロックチェーンネットワーク内で行われて、それによって検証される交換トランザクションに関して、トランザクションデータと同様に為替レートも暗号化されることが望ましい。
しかしながら、上記した検証を使用するときに、準同型暗号化に対する1回乗算の限定が、トランザクションデータも為替レートも準同型暗号化を使用して暗号化される、交換トランザクションの検証への障壁を生じさせる。例えば、参加者Aによって交換サービス提供者参加者Bに移転される第1の通貨の額(t1)、第1の通貨の移転額が参加者Bによって交換された第2の通貨の額(t2)、および参加者Bの為替レート(β)が各々準同型暗号化を使用して暗号化できる。この方式の下で、暗号化t1、暗号化t2および暗号化βは全て同じ楕円曲線g上にある。
上述したように、交換トランザクションに伴う為替レートが公開されるときはいつでも、交換トランザクションは、t1および公開為替レートの積を暗号化データ項目t2と比較することによってブロックチェーンネットワークによって検証できる。しかしながら、為替レートが暗号化される(β)と、t1および暗号化為替レート(β)の積は楕円曲線g1上にあり、これはt2の基礎となる曲線gと異なる。乗法準同型から生じるこの階数の差に基づいて、暗号化為替レート(β)が乗算されたt1の積はt2と比較できない。結果として、現在の検証方式の下では、トランザクションデータおよび為替レートの両方の暗号化を伴う交換トランザクションの検証はブロックチェーンネットワーク内では行えない。
以上の背景に鑑みて、かつ本明細書にさらに詳細に記載されるように、本明細書の実装例は、暗号化トランザクションデータおよび暗号化為替レートを使用するブロックチェーンネットワーク内の資産間取引に向けられる。より詳細には、本明細書の資産間取引プラットフォームは、プライベート(暗号化)為替レート検証が行えるトランザクションを可能にする。
図3は、本明細書の実装例に従う資産間取引プラットフォーム300の一例を描く。描かれた例では、資産間取引プラットフォーム例300は、それぞれのデバイス302、304、306と関連する、3者の参加者、参加者A、参加者Bおよび参加者Cを含む。資産間取引プラットフォーム例300は、サブチェーンチャネル308、ネットワーク310およびコンソーシアムブロックチェーンネットワーク312も含む。
一部の例では、ネットワーク310は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネットまたはその組合せを含み、そしてウェブサイト、ユーザデバイス(例えば、コンピューティングデバイス)およびバックエンドシステムを接続する。一部の例では、ネットワーク310は有線および/または無線通信リンクを通じてアクセスできる。
本明細書に記載されるように、ブロックチェーンネットワーク312は、ブロックチェーン322に情報を不変に記録する複数のノード314を含むピアツーピアネットワークとして提供される。単一のブロックチェーン322が概略的に描かれるが、ブロックチェーン322の複数のコピーが提供されて、ブロックチェーンネットワーク312にわたって維持される。例えば、各ノード314がブロックチェーン322のコピーを記憶する。一部の実装例では、ブロックチェーン322は、コンソーシアムブロックチェーンネットワーク312に参加する2つ以上のエンティティ間で行われるトランザクションと関連する情報を記憶する。一部の例では、デバイス302、304、306は、コンソーシアムブロックチェーンネットワーク312におけるそれぞれのノード314の一部である。
一部の実装例では、デバイス302、デバイス304およびデバイス306は、それぞれのアカウント、アカウントA316、アカウントB318およびアカウントC320を含む。一部の例では、アカウントA316、アカウントB318およびアカウントC320は金融資産を記憶する。一部の例では、アカウントA316、アカウントB318およびアカウントC320は1つまたは複数の種類の通貨の額を記憶する。
一部の実装例では、サブチェーンチャネル308は、コンソーシアムブロックチェーンネットワーク312の2つのメンバー間でブロックチェーンネットワーク312の外側で情報を転送するために使用できる。一部の例では、プライベート金融情報が、サブチェーンチャネル308を通じてブロックチェーンネットワーク312の外側でコンソーシアムブロックチェーンネットワーク312の1つのメンバーからコンソーシアムブロックチェーンネットワーク312の別のメンバーに転送できる。例えば、デバイス304は、サブチェーンチャネル308を通じてプライベート為替レート(β)を送信することによって、ブロックチェーンネットワーク312の外側でデバイス302に為替レートを転送できる。
一部の例では、コンソーシアムブロックチェーンネットワーク312の2つ以上のメンバー間のトランザクションが検証および記録のためにブロックチェーンネットワーク312に提出できる。一部の例では、コンソーシアムブロックチェーンネットワーク312の2つ以上のメンバー間の資産(例えば、通貨)交換トランザクションが交換の検証のためにブロックチェーンネットワーク312に提出できる。一部の例では、ブロックチェーンネットワーク312に提出されるトランザクション情報は暗号化される。一部の例では、ブロックチェーンネットワーク312に提出されるトランザクション情報は準同型暗号化を使用して暗号化される。一部の例では、トランザクション情報は、為替レート、移転されることになる第1の額、および移転されることになる第2の額を含む。一部の例では、移転されることになる第2の額は、為替レートが乗算された第1の額の積に等しい。
図4は、本明細書の実装例に従う資産間トランザクションを実行するための信号図400の一例を描く。図4の信号図400は、アカウントA402(例えば、ブロックチェーンネットワークにおけるノード)、アカウントB404(例えば、ブロックチェーンネットワークにおけるノード)およびブロックチェーンネットワークのコンセンサスノード406を含む。一部の例では、アカウントA402およびアカウントB404は、ブロックチェーンネットワークの参加者(例えば、それぞれ、参加者Aおよび参加者B)の資産を管理するために使用される。一部の例では、アカウントA402およびアカウントB404は、それぞれ、参加者Aおよび参加者Bのデジタル資産を記憶する。一部の例では、参加者Bは金融機関である。
資産間トランザクションの一例が図4を参照しつつ本明細書にさらに詳細に記載される。トランザクション例では、第1の通貨(例えば、USD)での額(t1)が、第2の通貨(例えば、RMB)での額(t2)でアカウントAからブロックチェーンネットワークにおける別の参加者(例えば、参加者C)のアカウントに移転される。額(t1)は、第1の通貨と第2の通貨との間のプライベート為替レート(β)を提供するアカウントB404、仲介者を使用して移転される。アカウントA402は残額(sA)を含み、これはアカウントA402が利用可能な第1の通貨での価値の残高である。アカウントB404は第1の残額
Figure 2020526053
を含み、これはアカウントB404が利用可能な第1の通貨での価値の残高であり、かつ第2の残額
Figure 2020526053
を含み、これはアカウントB404が利用可能な第2の通貨での価値の残高である。
資産間トランザクション例では、アカウントB404からアカウントA402にプライベート為替レート(β)が送信される(408)。プライベート為替レートを伝達するメッセージはネットワークを通じて送信されてよい。一部の例では、プライベート為替レートを伝達するメッセージはサブチェーンチャネル(例えば、図3のサブチェーンチャネル308)を通じて送信される。
アカウントA402が2つの乱数(r1、r2)を生成する(410)。アカウントA402が交換額(t2)および暗号文の集合(X1、Y1、Z1)および(X2、Y2、Z2)を計算する(412)。一部の実装例では、交換額(t2)は、以下に示されるように、移転されることになる額(t1)およびプライベート為替レート(β)の積に等しい:
t2=βt1
一部の実装例では、暗号文の集合(X1、Y1、Z1)および(X2、Y2、Z2)はコミットメント方式および暗号化方式に基づいて決定される。コミットメント方式例には、限定することなく、ペダーセンコミットメント(PC)を含む。暗号化方式例には、限定することなく、BGN暗号化を含む。BGN暗号化のために、各参加者はBGN公開鍵(PK)、秘密鍵(SK)ペアを含む。例えば、アカウントA402にBGN PK-SKペア(例えば、PKBGN_A、SKBGN_A)が割り当てられ、アカウントB404にBGN PK-SKペア(例えば、PKBGN_B、SKBGN_B)が割り当てられ、そしてアカウントC(図4に描かれない)にBGN PK-SKペア(例えば、PKBGN_C、SKBGN_C)が割り当てられる。
一部の実装例では、暗号文の集合(X1、Y1、Z1)および(X2、Y2、Z2)は:
(X1、Y1、Z1)=(PC(t1、r1)、BGNA(t1、r1)、BGNB(t1、r1))
(X2、Y2、Z2)=(PC(t2、r2)、BGNB(t2、r2)、BGNC(t2、r2))
としてそれぞれ決定される。表記PC(t、r)は、ブラインド因子(blind factor)としての乱数rを持つtのペダーセンコミットメントを示す。表記BGNAは、アカウントA402の公開鍵を使用するBGN暗号化を示し、表記BGNBは、アカウントB404の公開鍵を使用するBGN暗号化を示し、そして表記BGNCは、アカウントCの公開鍵を使用するBGN暗号化を示す。一部の例では、アカウントA402は残高暗号文を:
Figure 2020526053
として提供し、ここで、
Figure 2020526053
はアカウントA402によって生成される乱数である。
アカウントA402からアカウントB404に暗号文の部分集合(X1、Z1)および(X2、Y2)、乱数(r1、r2)ならびに額(t1)が送られる(414)。一部の実装例では、アカウントA402からアカウントB404へのメッセージは暗号化メッセージ(例えば、上記した非対称暗号化を使用する)である。一部の例では、メッセージはサブチェーンチャネル(例えば、図3のサブチェーンチャネル308)を通じて送信される。一部の例では、(暗号化)メッセージはデータ集合[t1,r1,r2,X1,Z1,X2,Y2]を含む。
アカウントBがメッセージを復号化してデータ(例えば、[t1,r1,r2,X1,Z1,X2,Y2])を明かす。暗号文データがアカウントB404によって検証される(416)。一部の例では、アカウントB404は、アカウントA402によって提供されるt1、r1、r2に基づいて暗号文X1、Z1、X2、Y2が正しいかどうかを調べることによって暗号文データを検証する。すなわち、アカウントBは、X1、Z1、X2、Y2を再計算し、そしてそれらがアカウントA402から受信されたものに等しいかどうかを判定する。暗号文が等しくなければ、アカウントAにエラーを送ることができ、そしてトランザクションは終了する。
暗号文が検証されれば、アカウントB404が範囲証明(RPB)を生成する(418)。一部の実装例では、範囲証明(RPB)は、アカウントB404が交換トランザクションを行うのに十分な資金を有するかどうかを確認するために使用できるゼロ知識証明(ZKP)である。例えば、範囲証明(RPB)は以下を証明するために生成できる:
Figure 2020526053
一部の例では、アカウントB404は第1の残高暗号文および第2の残高暗号文をそれぞれ:
Figure 2020526053
として提供し、式中、
Figure 2020526053
および
Figure 2020526053
はアカウントB404によって提供される乱数である。一部の例では、アカウントB404は交換暗号文を:
(E'、E")=(PC(β、γ)、BGNB(β、γ))
として提供し、式中、γはアカウントB404によって生成される乱数であり、かつ他のアカウントと共有される(例えば、為替レート(β)と共にアカウントA402に提供される)。
証拠集合(EX)が生成され(420)、これはプライベート為替レート(β)を検証するために使用できる。一部の実装例では、為替レートの証拠集合(EX)は:
Figure 2020526053
として提供される。一部の例では、UおよびVはそれぞれ:
Figure 2020526053
として計算され、式中、PBおよびQBはPKBGN_Aに提供され、そしてt'、
Figure 2020526053
および
Figure 2020526053
はアカウントB404によって生成される乱数である。一部の例では、t"、
Figure 2020526053
Figure 2020526053
はそれぞれ:
Figure 2020526053
として計算され、式中、y=Hash(U、V)、ならびに
Figure 2020526053
および
Figure 2020526053
はそれぞれ:
Figure 2020526053
として計算される。一部の例では、Hashは、ブロックチェーンネットワークにおける、コンセンサスノードを含め、参加者にとって公知である任意の適切なハッシング関数(例えば、SHA-256)として提供できる。
一部の実装例では、アカウントB404がアカウントA402に暗号化メッセージを返信し(422)、これは以下のデータ集合例を含む:
(X1、Z1、X2、Y2;RPB、EX;SigB)
ここで、SigBはアカウントB404のデジタル署名である。一部の例では、メッセージはサブチェーンチャネル(例えば、図3のサブチェーンチャネル308)を通じて送信される。
アカウントA402が、トランザクションが或る価値のためであり、かつアカウントA402がトランザクションを行うのに十分な資産を有するというZKPとして役立つ範囲証明(RPA)を生成する(424)。言い換えれば、範囲証明(RPA)は:
t1≧0かつsA-t1≧0
を証明するために使用できる。
アカウントA402が、額(t1)のためのアカウントA402からアカウントB404への第1のサブトランザクションおよび額(t2)のためのアカウントB404からアカウントCへの第2のサブトランザクションを含むサブトランザクションを生成する(426)。一部の例では、アカウントAは乱数(t'、r')を生成し、そして暗号文の集合を:
(X'、Y'、Z')=(PC(t'、r')、BGNA(t'、r')、BGNB(t'、r'))
として提供する。アカウントAはデータ集合(PF)を:
PF=(X'、Y'、Z';t1'、r1'、t2'、r2')
として提供し、式中:
t1'=t'+xt1、r1'=r'+xr2、t2'=t'+xt2かつr2'=r'+xr2
式中:
x=Hash(X'、Y'、Z')
アカウントA402は第1および第2のサブトランザクションをそれぞれ:
A、B:X1、Y1、Z1
B、C:X2、Y2、Z2
として提供し、ここで、AはアカウントA402の識別子であり、BはアカウントB404の識別子であり、そしてCはアカウントCの識別子である(例えば、識別子はブロックチェーンネットワーク内のそれぞれのアドレスとして提供される)。トランザクションが提供されるが、これは第1および第2のサブトランザクション、範囲証明および支持証拠集合を含む。例えば、トランザクションは:
A、B:X1、Y1、Z1;B、C:X2、Y2、Z2;RPA、PF;RPB、EX
として提供される。トランザクションはアカウントA402によってデジタル署名され(428)、かつアカウントA402の署名(SigA)もアカウントB404の署名(SigB)も含む。アカウントA402がコンセンサスノード406に署名済みトランザクションを提出する(430)。署名済みトランザクションは:
(A、B:X1、Y1、Z1;B、C:X2、Y2、Z2;RPA、PF;RPB、EX;SigA、SigB)
として提供される。
コンセンサスノード406がアカウントA402のおよびアカウントB404の署名を検証する(432)。署名が検証されなければ、トランザクションは終了し、そしてアカウントA402にエラーメッセージを提供できる。署名が検証されれば、範囲証明(RPA)および範囲証明(RPB)がコンセンサスノード406によって検証される(434)。範囲証明がZKPであるので、各々が、基礎となる平文データを明かすことなく真として証明できる、または偽を返せる。範囲証明が検証されなければ、トランザクションは終了し、そしてアカウントA402にエラーメッセージを提供できる。範囲証明が検証されれば、トランザクション額がゼロより大きく、かつアカウントA402もアカウントB404もトランザクションを行うのに十分な資産をそれぞれの通貨で有すると判定される。
一部の実装例では、コンセンサスノード406が、データ集合(PF)および証拠集合(EX)における証拠を使用することによって、トランザクションを検証する(436)。一部の例では、コンセンサスノード406は、以下の関係が真であるかどうかを検証する:
PC(t1'、r1')=X'+xX1
BGNA(t1'、r1')=Y'+xY1
BGNB(t1'、r1')=Z'+xZ1
PC(t2'、r2')=X'+xX2
BGNB(t2'、r2')=Y'+xY2
BGNC(t2'、r2')=Z'+xZ2
式中、x=Hash(X'、Y'、Z')。上記の関係が真であれば、暗号文(BGN暗号文)が適切な公開鍵で暗号化されており、そしてトランザクションの額が正しいことが確認される。
トランザクションが公開された(但し暗号化された)為替レートで行われることも検証される。例えば、コンセンサスノード406は、データ集合(EX)における証拠を使用することによって為替レートを検証する。一部の例では、コンセンサスノード406はy=Hash(U、V)を計算し、そしてyを使用して、以下の関係が真であるかどうかを検証する:
Figure 2020526053
関係が真でなければ、トランザクションおよび/または為替レートは検証されず、トランザクションは終了し、そしてアカウントA402にエラーメッセージを提供できる。関係が真であれば、コンセンサスノード406がコンソーシアムブロックチェーンネットワークにトランザクションを記録し(438)、そしてアカウントA402、アカウントB404およびアカウントCのアカウント残高が更新される。例えば、アカウントA402の残高(sA)が額(t1)だけ減少され、アカウントB404の残高
Figure 2020526053
が額(t1)だけ増加され、アカウントB404の残高
Figure 2020526053
が額(t2)だけ減少され、そしてアカウントCの残高が額(t2)だけ増加される。
図5は、本明細書の実装例に従って実行できるプロセス500の一例を描く。一部の実装例では、プロセス例500は、1つまたは複数のコンピューティングデバイスを使用して実行される1つまたは複数のコンピュータ実行可能プログラムを使用して行われてよい。一部の例では、プロセス例500は、コンソーシアムブロックチェーンネットワークのノードによって行われて、ブロックチェーンネットワーク内で資産間トランザクションを行える。
為替レートが受信される(502)。例えば、ブロックチェーンネットワークの第1の参加者と関連する第1のノード(例えばブロックチェーンネットワークのノード)によって、ブロックチェーンネットワークの第2の参加者と関連する第2のノード(例えばブロックチェーンネットワークのノード)から、為替レートが受信される。一部の例では、為替レートはサブチェーンチャネルを通じて受信される。一部の例では、為替レートは第2の参加者のプライベート為替レートである。一部の実装例では、第2の参加者は金融機関である。一部の実装例では、為替レートは、第2の参加者が第1の種類の通貨を第2の種類の通貨と交換するレートを指定する。例えば、為替レートは、第2の参加者がUSDをRMBと交換することになるレートを指定してよい。
第1の乱数および第2の乱数が第1のノードによって生成される(504)。第1の額および第2の額が、それぞれ、第1の乱数および第2の乱数を使用して、それぞれ、第1の暗号文の集合および第2の暗号文の集合内に暗号化される(506)。一部の例では、第1の額は、第1の参加者によって交換のために参加者メンバーに移転されることになる第1の資産種類の額である。一部の例では、第2の額は、第1の額と交換されることになる第2の資産種類の額である。一部の例では、第2の額は、第2の参加者の為替レートが乗算された第1の額の積に等しい。
一部の例では、第1の暗号文の集合は、第1の額および第1の乱数の乱数コミットメントならびに第1の額および第1の乱数の2つの準同型暗号を含む。一部の例では、第2の暗号文の集合は、第2の額および第2の乱数の乱数コミットメントならびに第2の額および第2の乱数の2つの準同型暗号を含む。一部の例では、第1の暗号文の集合は、第1の額および第1の乱数のPCならびに、それぞれ、第1の参加者のBGN公開鍵および第2の参加者のBGN公開鍵を使用する、第1の額および第1の乱数のBGN暗号を含む。一部の例では、第2の暗号文の集合は、第2の額および第2の乱数のPCならびに、それぞれ、第2の参加者のBGN公開鍵および第3の参加者のBGN公開鍵を使用する、第2の額および第2の乱数のBGN暗号を含む。
第1の額、第1の乱数、第2の乱数、ならびに第1の暗号文の集合の少なくとも一部分(部分集合)および第2の暗号文の集合の少なくとも一部分(部分集合)が第1のノードから第2のノードに送信される(508)。一部の実装例では、第1の額、第1の乱数、第2の乱数、第1の暗号文の集合の少なくとも一部分および第2の暗号文の集合の少なくとも一部分がサブチェーンチャネルを通じて送信される。
第1の範囲証明、為替レートの証拠集合、および第1の署名が受信される(510)。一部の実装例では、第1の範囲証明、為替レートの証拠集合、および第1の署名は、第1のノードによってサブチェーンチャネルを通じて第2のノードから受信される。一部の例では、第1のデジタル署名は非対称暗号化方式に基づく第2の参加者のデジタル署名である。一部の例では、第1の範囲証明は、第2のメンバーと関連するアカウントが第1の額を第2の額と交換するのに十分な、第2の額と同じ資産種類の資産を有するという証拠を提供する。
データ集合、第2の範囲証明および第2のデジタル署名が生成される(512)。一部の例では、データ集合は、資産間トランザクションの真正を少なくとも部分的に確認するためにブロックチェーンネットワーク内で使用される。一部の例では、第2のデジタル署名は非対称暗号化方式に基づく第1の参加者のデジタル署名である。一部の例では、第2の範囲証明は、第1の参加者と関連するアカウントが第2の参加者に第1の額を移転するのに十分な、第1の額と同じ資産種類の資産を有し、かつ第1の額が負でないという証拠を提供する。
トランザクションが検証のためにブロックチェーンネットワークに提出される(514)。一部の実装例では、第1のノードによってブロックチェーンネットワークに提出されるトランザクションは、第1の暗号文の集合、第2の暗号文の集合、第1の範囲証明、データ集合、第2の範囲証明、為替レートの証拠集合、第1のデジタル署名および第2のデジタル署名を含む。一部の実装例では、ブロックチェーンネットワーク内の少なくとも1つのコンセンサスノードが署名および範囲証明を検証する。一部の実装例では、少なくとも1つのコンセンサスノードは、トランザクションデータ(例えば、第1の額、第2の額、為替レート)が明かされることなく、トランザクションを検証する。一部の実装例では、トランザクションの検証成功に応じて、トランザクションはブロックチェーンネットワーク内で実行される。一部の例では、第1の参加者および第2の参加者のアカウントはブロックチェーン上で更新されて交換資産を反映する。一部の例では、第3の参加者のアカウントが、第2の額の受領を反映するように更新される。
図6は、本明細書の実装例に従う装置600のモジュールの一例の図である。装置600は、ブロックチェーンネットワークにおけるプライベート資産間取引に参加するように構成されるブロックチェーンノードの一実装例であることができ、ここではブロックチェーンネットワークはコンソーシアムブロックチェーンネットワークである。装置600は上記した実装例に対応でき、かつ装置600は以下を含む:
生成ユニット602が、BGN暗号化を使用して、第1の値および第2の値に基づいて暗号文を生成し、第2の値が、第1の値およびブロックチェーンネットワークにおける第2のノードによって提供される為替レートに基づいて決定される。送信ユニット604が、第2のノードに第1の値および暗号文を送信する。受信ユニット606が、為替レートを明かすことなくZKPルーチンで為替レートを検証するために使用できるデータの集合を含む第1の証拠集合を受信する。生成ユニット602が、暗号文がBGN公開鍵によって暗号化されていることを、ZKPルーチンを使用して、検証するために使用できるデータの集合を含む第2の証拠集合を生成する。
トランザクション定義ユニット608が、第1のノードから第2のノードへの第1の値の移転のための第1のノードと第2のノードとの間の第1のトランザクションおよび第2のノードから第3のノードへの第2の値の転送のための第2のノードと第3のノードとの間の第2のトランザクションを含むトランザクションを定義する。送信ユニット604が、トランザクションの検証および実行のためにブロックチェーンネットワークの少なくとも1つのコンセンサスノードにトランザクションを送信する。本明細書に記載されるように、トランザクションは第1の証拠集合および第2の証拠集合に基づいて検証できる。トランザクションの検証に応じて、コンセンサスノードは、第1のトランザクションおよび第2のトランザクションを実行して、第1のノードの残高を第1の値だけ減少させ、第2のノードの第1の残高を第1の値だけ増加させ、第2のノードの第2の残高を第2の値だけ減少させ、そして第3のノードの残高を第2の値だけ増加させる。
任意選択の一実装例では、第1の証拠集合は、第1の値、第1のノードによって提供される一対の乱数、および暗号文に基づいて第2のノードによって提供される。
任意選択の一実装例では、コンセンサスノードによってトランザクションを検証することは、第1のノードのデジタル署名および第2のノードのデジタル署名を検証することを含む。
任意選択の一実装例では、コンセンサスノードによってトランザクションを検証することは、第1のノードによって提供される第1の範囲証明および第2のノードによって提供される第2の範囲証明を検証することを含む。
任意選択の一実装例では、第1の範囲証明は、第1の値がゼロより大きいこと、および第1のノードの残高が第1の値以上であることを証明するZKPを含む。
任意選択の一実装例では、第2の範囲証明は、第2のノードの第2の残高が第2の値以上であることを証明するZKPを含む。
任意選択の一実装例では、トランザクションは、少なくとも部分的にBGN暗号化に基づいて生成される暗号文の集合を含むデータ集合をさらに含み、データ集合が、少なくとも1つのコンセンサスノードによってトランザクションを検証するために使用される。
任意選択の一実装例では、受信ユニット606は、ブロックチェーンネットワークのサブチェーンチャネルを通じて第2のノードから為替レートを受信する。
任意選択の一実装例では、暗号文のうちの少なくとも1つの暗号文が、PCを使用して提供される。
任意選択の一実装例では、第1の証拠集合のデータの集合は第1のデータ値および第2のデータ値を含み、第1のデータ値および第2のデータ値の各々が、第2のノードのBGN公開鍵を生成するために使用されるパラメータに基づいて決定される。
任意選択の一実装例では、第2の証拠集合のデータの集合は暗号文の集合および値の集合を含み、値の集合における各値が少なくとも部分的に暗号文の集合のハッシュに基づく。
前述の実装例に例示されるシステム、装置、モジュールまたはユニットは、コンピュータチップもしくはエンティティを使用することによって実装できる、または或る機能を有する製品を使用することによって実装できる。典型的な実装例デバイスはコンピュータであり、コンピュータは、パーソナルコンピュータ、ラップトップコンピュータ、携帯電話、カメラ付き電話、スマートフォン、携帯情報端末、メディアプレーヤ、ナビゲーションデバイス、電子メール送受信デバイス、ゲーム機、タブレットコンピュータ、ウェアラブルデバイス、またはこれらのデバイスの任意の組合せであることができる。
装置における各ユニットの機能および役割の実施プロセスについては、前述の方法における対応するステップの実施プロセスを参照できる。簡略化のために詳細はここでは省略される。
装置実装例が基本的に方法実装例に対応するので、関連部分については、方法実装例における関連説明を参照できる。前述した装置実装例は単に一例である。別々の部分として記載されるユニットは物理的に別々であってもなくてもよく、そしてユニットとして表示される部分は、物理的ユニットであってもなくてもよく、1つの位置に設けられてもよく、またはいくつかのネットワークユニットに分散されてもよい。モジュールの一部または全部が、本明細書の解決策の目的を達成するように実需に基づいて選択できる。当業者は創意工夫なしに本出願の実装例を理解および実装できる。
図6を再び参照すると、それは、プライベート資産間取引装置の内部機能モジュールおよび構造を例示すると解釈できる。プライベート資産間取引装置は、ブロックチェーンネットワーク内のプライベート資産間取引に参加するように構成されるブロックチェーンノードの一例であることができる。実行体は本質的に電子デバイスであることができ、そして電子デバイスは以下:1つまたは複数のプロセッサ、および1つまたは複数のプロセッサの実行可能命令を記憶するように構成されるメモリを含む。
本明細書に記載される対象ならびに行為および動作の実装例は、デジタル電子回路網で、有形に具現化されたコンピュータソフトウェアもしくはファームウェアで、本明細書に開示される構造およびそれらの構造等価物を含め、コンピュータハードウェアで、またはそれらの1つもしくは複数の組合せで実装できる。本明細書に記載される対象の実装例は、1つまたは複数のコンピュータプログラム、例えば、データ処理装置による実行のために、またはその動作を制御するためにコンピュータプログラムキャリアに符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装できる。例えば、コンピュータプログラムキャリアには、命令が符号化または記憶された1つまたは複数のコンピュータ可読記憶媒体を含むことができる。キャリアは、磁気、光磁気もしくは光ディスク、ソリッドステートドライブ、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)または他の種類の媒体などの有形の非一時的コンピュータ可読媒体でよい。代替的に、または加えて、キャリアは、データ処理装置による実行のために適切な受信器装置に伝送するための情報を符号化するために発生される人工発生伝搬信号、例えば、機械発生電気、光または電磁信号でよい。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらの1つもしくは複数の組合せである、またはその一部であることができる。コンピュータ記憶媒体は伝搬信号でない。
コンピュータプログラムは、プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、エンジン、スクリプトまたはコードとも称してまたは記載してよく、コンパイラ型もしくはインタープリタ型言語、または宣言型もしくは手続き型言語を含め、任意の形式のプログラミング言語で書くことができ、そしてそれは、スタンドアロンプログラムとして、あるいはモジュール、コンポーネント、エンジン、サブルーチン、または1つもしくは複数の場所にデータ通信ネットワークによって相互接続される1つもしくは複数のコンピュータを含んでよいコンピューティング環境での実行に適する他のユニットとしてを含め、任意の形式に展開できる。
コンピュータプログラムは、ファイルシステムにおけるファイルに対応してよいが、しなくてもよい。コンピュータプログラムは、他のプログラムもしくはデータ、例えば、マークアップ言語文書に記憶される1つもしくは複数のスクリプトを保持するファイルの一部分に、当該プログラムに専用の単一のファイルに、または複数の連係ファイル、例えば、1つもしくは複数のモジュール、サブプログラムもしくはコードの一部分を記憶するファイルに記憶できる。
コンピュータプログラムの実行のためのプロセッサには、例として、汎用および専用の両マイクロプロセッサ、ならびに任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、プロセッサに結合される非一時的コンピュータ可読媒体から実行するためのコンピュータプログラムの命令の他にデータを受けることになる。
用語「データ処理装置」は、例としてプログラマブルプロセッサ、コンピュータまたはマルチプロセッサもしくはコンピュータを含め、データを処理するための全ての種類の装置、デバイスおよび機械を包含する。データ処理装置は、専用論理回路網、例えば、FPGA(フィールドプログラマブルゲートアレイ)、ASIC(特定用途向け集積回路)またはGPU(グラフィック処理装置)を含むことができる。同装置は、ハードウェアに加えて、コンピュータプログラムのための実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの1つもしくは複数の組合せを構成するコードも含むことができる。
本明細書に記載されるプロセスおよび論理フローは、1つまたは複数のコンピュータプログラムを実行して、入力データを演算して出力を生成することによって動作を行う1つまたは複数のコンピュータまたはプロセッサによって行える。プロセスおよび論理フローは、専用論理回路網、例えば、FPGA、ASICもしくはGPUによって、または専用論理回路網および1つもしくは複数のプログラムされたコンピュータの組合せによっても行える。
コンピュータプログラムの実行に適するコンピュータは、汎用もしくは専用マイクロプロセッサもしくは両方、または任意の他の種類の中央処理装置に基づくことができる。一般に、中央処理装置は、リードオンリメモリまたはランダムアクセスメモリまたは両方から命令およびデータを受けることになる。コンピュータの要素には、命令を実行するための中央処理装置ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスを含むことができる。中央処理装置およびメモリは、専用論理回路網によって補足、またはそれに統合できる。
一般に、コンピュータは、1つまたは複数の記憶デバイスも含むか、または作動的に結合されてデータを受けるもしくはデータを転送することになる。記憶デバイスは、例えば、磁気、光磁気もしくは光ディスク、ソリッドステートドライブ、または任意の他の種類の非一時的、コンピュータ可読媒体であることができる。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。したがって、コンピュータは、ローカルおよび/またはリモートである、1つまたは複数のメモリなどの、1つまたは複数の記憶デバイスに結合されてよい。例えば、コンピュータは、コンピュータの不可欠な部品である1つもしくは複数のローカルメモリを含むことができる、またはコンピュータは、クラウドネットワークにある1つもしくは複数のリモートメモリに結合できる。その上、コンピュータは、別のデバイス、例えば、いくつか挙げると、移動電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲーム機、全地球測位システム(GPS)受信器、またはポータブル記憶デバイス、例えば、ユニバーサルシリアルバス(USB)フラッシュドライブに組み込める。
部品は、直接か1つまたは複数の中間部品を介してか、互いに電気的または光学的になど通信可能に接続されることによって互い「に結合」できる。部品の一方が他方へ統合されても、部品は互い「に結合」できる。例えば、プロセッサへ統合された記憶部品(例えば、L2キャッシュ部品)はプロセッサ「に結合」されている。
ユーザとの対話を提供するために、本明細書に記載される対象の実装例は、ユーザに情報を表示するためのディスプレイデバイス、例えば、LCD(液晶ディスプレイ)モニタ、ならびにユーザがコンピュータに入力を提供できる入力デバイス、例えば、キーボードおよびポインティングデバイス、例えば、マウス、トラックボールまたはタッチパッドを有するコンピュータに実装できる、またはそれと通信するように構成できる。ユーザとの対話を提供するために他の種類のデバイスも使用でき、例えば、ユーザに提供されるフィードバックは任意の形態の感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバックまたは触覚フィードバックであることができ、そしてユーザからの入力は、音響、音声または触覚入力を含め、任意の形態で受け取ることができる。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送信し、それから文書を受信することによって、例えば、ユーザのデバイス上のウェブブラウザから受信される要求に応じてウェブブラウザにウェブページを送信することによって、またはユーザデバイス、例えば、スマートフォンもしくは電子タブレット上で実行するアプリと対話することによって、ユーザと対話できる。また、コンピュータは、パーソナルデバイス、例えば、メッセージングアプリケーションを実行しているスマートフォンにテキストメッセージまたは他の形式のメッセージを送信し、そして折り返しユーザから応答メッセージを受信することによって、ユーザと対話できる。
本明細書は、システム、装置およびコンピュータプログラム部品に関して用語「ように構成される」を使用する。1つまたは複数のコンピュータのシステムが特定の動作または行為を行うように構成されることは、システムが自らに、動作に際してシステムに同動作または行為を行わせるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをインストールしたことを意味する。1つまたは複数のコンピュータプログラムが特定の動作または行為を行うように構成されることは、1つまたは複数のプログラムが、データ処理装置によって実行されると、装置に同動作または行為を行わせる命令を含むことを意味する。専用論理回路網が特定の動作または行為を行うように構成されることは、回路網が同動作または行為を行う電子論理を有することを意味する。
本明細書が多くの具体的な実施詳細を含むが、これらは、請求項自体によって定められる、特許請求されるものの範囲への限定としてではなく、むしろ特定の実装例に固有であり得る特徴の記述として解釈されるべきである。別々の実装例の状況で本明細書に記載される或る特徴が、組み合わせて単一の実装例でも実現できる。反対に、単一の実装例の状況で記載される様々な特徴が、別々に複数の実装例でも、または任意の適切な下位組合せでも実現できる。その上、特徴が或る組合せで作用すると上記され、しかも当初そのように特許請求され得るが、特許請求された組合せからの1つまたは複数の特徴が一部の場合に同組合せから削除でき、請求項は下位組合せまたは下位組合せの変形とされ得る。
同様に、動作が特定の順に図面に描かれかつ請求項に列挙されるが、これは、望ましい結果を達成するために、そのような動作が図示される特定の順にもしくは順番に行われること、または全ての例示された動作が行われることを必要とすると理解されるべきでない。特定の状況では、マルチタスキングおよび並列処理が有利であり得る。その上、上記した実装例における様々なシステムモジュールおよび部品の分離は、全ての実装例においてそのような分離を必要とすると理解されるべきでなく、記載されたプログラム部品およびシステムが一般に単一のソフトウェア製品に共に統合できるまたは複数のソフトウェア製品へ実装できることが理解されるべきである。
本対象の特定の実装例が記載された。他の実装例は以下の請求項の範囲内である。例えば、請求項に列挙される行為は異なる順に行うことができ、それでも望ましい結果を達成できる。一例として、添付図に描かれるプロセスは、望ましい結果を達成するために、必ずしも図示される特定の順または順番を必要とするわけではない。一部の場合には、マルチタスキングおよび並列処理が有利であり得る。
100 環境
102 コンソーシアムブロックチェーンネットワーク
106 コンピューティングデバイス
108 コンピューティングデバイス
110 ネットワーク
200 概念アーキテクチャ
202 エンティティ層
204 ホストサービス層
206 ブロックチェーンネットワーク層
208 トランザクション管理システム
210 インタフェース
212 ブロックチェーンネットワーク
214 ノード
216 ブロックチェーン
300 資産間取引プラットフォーム
302 デバイス
304 デバイス
306 デバイス
308 サブチェーンチャネル
310 ネットワーク
312 コンソーシアムブロックチェーンネットワーク
314 ノード
316 アカウントA
318 アカウントB
320 アカウントC
322 ブロックチェーン
402 アカウントA
404 アカウントB
406 コンセンサスノード
600 装置
602 生成ユニット
604 送信ユニット
606 受信ユニット
608 トランザクション定義ユニット

Claims (33)

  1. ブロックチェーンネットワークにおけるプライベート資産間取引のためのコンピュータ実装方法であって、1つまたは複数のプロセッサによって実行され、かつ、
    前記ブロックチェーンネットワークにおける第1のノードによって、かつボウネイ-ゴー-ニッシム(BGN)暗号化を使用して、第1の値と、前記第1の値および前記ブロックチェーンネットワークにおける第2のノードによって提供される為替レートに基づいて決定される第2の値とに基づいて暗号文を生成するステップと、
    前記第1のノードによって前記第2のノードに、前記第1の値および前記暗号文を送信するステップと、
    前記第1のノードによって、かつ前記第2のノードから、前記為替レートを明かすことなくゼロ知識証明(ZKP)ルーチンで前記為替レートを検証するために使用できるデータの集合を備える第1の証拠集合を受信するステップと、
    前記第1のノードによって、前記暗号文が前記第1のノードのBGN公開鍵によって暗号化されていることを、前記ZKPルーチンを使用して、検証するために使用できるデータの集合を備える第2の証拠集合を生成するステップと、
    前記第1のノードによって、前記第1のノードから前記第2のノードへの前記第1の値の移転のための前記第1のノードと前記第2のノードとの間の第1のトランザクション、および前記第2のノードから第3のノードへの前記第2の値の移転のための前記第2のノードと前記第3のノードとの間の第2のトランザクションを備えるトランザクションを定義するステップと、
    前記第1のノードによって、前記トランザクションであって、前記第1の証拠集合および前記第2の証拠集合に基づいて検証される、前記トランザクションの検証および実行のために前記ブロックチェーンネットワークの少なくとも1つのコンセンサスノードに前記トランザクションを送信し、そして前記トランザクションの検証に応じて、前記第1のトランザクションおよび前記第2のトランザクションを実行して、前記第1のノードの残高を前記第1の値だけ減少させ、前記第2のノードの第1の残高を前記第1の値だけ増加させ、前記第2のノードの第2の残高を前記第2の値だけ減少させ、そして前記第3のノードの残高を前記第2の値だけ増加させるステップと
    を含む、方法。
  2. 前記第1の証拠集合が、前記第1の値、前記第1のノードによって提供される一対の乱数、および前記暗号文に基づいて前記第2のノードによって提供される、請求項1に記載の方法。
  3. 前記少なくとも1つのコンセンサスノードによって前記トランザクションを検証するステップが、前記第1のノードのデジタル署名および前記第2のノードのデジタル署名を検証するステップを含む、請求項1に記載の方法。
  4. 前記少なくとも1つのコンセンサスノードによって前記トランザクションを検証するステップが、前記第1のノードによって提供される第1の範囲証明および前記第2のノードによって提供される第2の範囲証明を検証するステップを含む、請求項1に記載の方法。
  5. 前記第1の範囲証明が、前記第1の値がゼロより大きいこと、および前記第1のノードの前記残高が前記第1の値以上であることを証明するZKPを備える、請求項4に記載の方法。
  6. 前記第2の範囲証明が、前記第2のノードの前記第2の残高が前記第2の値以上であることを証明するZKPを備える、請求項4に記載の方法。
  7. 前記トランザクションが、BGN暗号化を使用して生成される暗号文の集合を備えるデータ集合であって、前記少なくとも1つのコンセンサスノードによって前記トランザクションを検証するために使用される、データ集合をさらに備える、請求項1に記載の方法。
  8. 前記第1のノードによって、前記ブロックチェーンネットワークのサブチェーンチャネルを通じて前記第2のノードから前記為替レートを受信するステップをさらに含む、請求項1に記載の方法。
  9. 前記暗号文のうちの少なくとも1つの暗号文が、ペダーセンコミットメントを使用して提供される、請求項1に記載の方法。
  10. 前記第1の証拠集合の前記データの集合が、第1のデータ値および第2のデータ値であって、前記第2のノードのBGN公開鍵を生成するために使用されるパラメータに基づいて各々が決定される、第1のデータ値および第2のデータ値を備える、請求項1に記載の方法。
  11. 前記第2の証拠集合の前記データの集合が、暗号文の集合と、各値が前記暗号文の集合のハッシュに基づく値の集合とを備える、請求項1に記載の方法。
  12. ブロックチェーンネットワークにおけるプライベート資産間取引のための命令が符号化された1つまたは複数のコンピュータ可読記憶媒体であって、前記命令が、1つまたは複数のプロセッサによって実行可能であり、かつ前記1つまたは複数のプロセッサに、
    前記ブロックチェーンネットワークにおける第1のノードによって、かつボウネイ-ゴー-ニッシム(BGN)暗号化を使用して、第1の値と、前記第1の値および前記ブロックチェーンネットワークにおける第2のノードによって提供される為替レートに基づいて決定される第2の値とに基づいて暗号文を生成し、
    前記第1のノードによって前記第2のノードに、前記第1の値および前記暗号文を送信し、
    前記第1のノードによって、かつ前記第2のノードから、前記為替レートを明かすことなくゼロ知識証明(ZKP)ルーチンで前記為替レートを検証するために使用できるデータの集合を備える第1の証拠集合を受信し、
    前記第1のノードによって、前記暗号文が前記第1のノードのBGN公開鍵によって暗号化されていることを、前記ZKPルーチンを使用して、検証するために使用できるデータの集合を備える第2の証拠集合を生成し、
    前記第1のノードによって、前記第1のノードから前記第2のノードへの前記第1の値の移転のための前記第1のノードと前記第2のノードとの間の第1のトランザクション、および前記第2のノードから第3のノードへの前記第2の値の移転のための前記第2のノードと前記第3のノードとの間の第2のトランザクションを備えるトランザクションを定義し、
    前記第1のノードによって、前記トランザクションであって、前記第1の証拠集合および前記第2の証拠集合に基づいて検証される、前記トランザクションの検証および実行のために前記ブロックチェーンネットワークの少なくとも1つのコンセンサスノードに前記トランザクションを送信し、そして前記トランザクションの検証に応じて、前記第1のトランザクションおよび前記第2のトランザクションを実行して、前記第1のノードの残高を前記第1の値だけ減少させ、前記第2のノードの第1の残高を前記第1の値だけ増加させ、前記第2のノードの第2の残高を前記第2の値だけ減少させ、そして前記第3のノードの残高を前記第2の値だけ増加させる
    1つまたは複数のコンピュータ可読記憶媒体。
  13. 前記第1の証拠集合が、前記第1の値、前記第1のノードによって提供される一対の乱数、および前記暗号文に基づいて前記第2のノードによって提供される、請求項12に記載の1つまたは複数のコンピュータ可読記憶媒体。
  14. 前記少なくとも1つのコンセンサスノードによって前記トランザクションを検証することが、前記第1のノードのデジタル署名および前記第2のノードのデジタル署名を検証することを含む、請求項12に記載の1つまたは複数のコンピュータ可読記憶媒体。
  15. 前記少なくとも1つのコンセンサスノードによって前記トランザクションを検証することが、前記第1のノードによって提供される第1の範囲証明および前記第2のノードによって提供される第2の範囲証明を検証することを含む、請求項12に記載の1つまたは複数のコンピュータ可読記憶媒体。
  16. 前記第1の範囲証明が、前記第1の値がゼロより大きいこと、および前記第1のノードの前記残高が前記第1の値以上であることを証明するZKPを備える、請求項15に記載の1つまたは複数のコンピュータ可読記憶媒体。
  17. 前記第2の範囲証明が、前記第2のノードの前記第2の残高が前記第2の値以上であることを証明するZKPを備える、請求項15に記載の1つまたは複数のコンピュータ可読記憶媒体。
  18. 前記トランザクションが、BGN暗号化を使用して生成される暗号文の集合を備えるデータ集合であって、前記少なくとも1つのコンセンサスノードによって前記トランザクションを検証するために使用される、データ集合をさらに備える、請求項12に記載の1つまたは複数のコンピュータ可読記憶媒体。
  19. 前記1つまたは複数のプロセッサによって実行可能であり、かつ前記1つまたは複数のプロセッサに、前記第1のノードによって、前記ブロックチェーンネットワークのサブチェーンチャネルを通じて前記第2のノードから前記為替レートを受信させる命令がさらに符号化された、請求項12に記載の1つまたは複数のコンピュータ可読記憶媒体。
  20. 前記暗号文のうちの少なくとも1つの暗号文が、ペダーセンコミットメントを使用して提供される、請求項12に記載の1つまたは複数のコンピュータ可読記憶媒体。
  21. 前記第1の証拠集合の前記データの集合が、第1のデータ値および第2のデータ値であって、前記第2のノードのBGN公開鍵を生成するために使用されるパラメータに基づいて各々が決定される、第1のデータ値および第2のデータ値を備える、請求項12に記載の1つまたは複数のコンピュータ可読記憶媒体。
  22. 前記第2の証拠集合の前記データの集合が、暗号文の集合と、各値が前記暗号文の集合のハッシュに基づく値の集合とを備える、請求項12に記載の1つまたは複数のコンピュータ可読記憶媒体。
  23. 1つまたは複数のプロセッサと、
    前記1つまたは複数のプロセッサに結合され、かつブロックチェーンネットワークにおけるプライベート資産間取引のための命令が記憶された1つまたは複数のコンピュータ可読メモリと
    を備え、前記命令が前記1つまたは複数のプロセッサによって実行可能であり、
    前記ブロックチェーンネットワークにおける第1のノードによって、かつボウネイ-ゴー-ニッシム(BGN)暗号化を使用して、第1の値と、前記第1の値および前記ブロックチェーンネットワークにおける第2のノードによって提供される為替レートに基づいて決定される第2の値とに基づいて暗号文を生成し、
    前記第1のノードによって前記第2のノードに、前記第1の値および前記暗号文を送信し、
    前記第1のノードによって、かつ前記第2のノードから、前記為替レートを明かすことなくゼロ知識証明(ZKP)ルーチンで前記為替レートを検証するために使用できるデータの集合を備える第1の証拠集合を受信し、
    前記第1のノードによって、前記暗号文が前記第1のノードのBGN公開鍵によって暗号化されていることを、前記ZKPルーチンを使用して、検証するために使用できるデータの集合を備える第2の証拠集合を生成し、
    前記第1のノードによって、前記第1のノードから前記第2のノードへの前記第1の値の移転のための前記第1のノードと前記第2のノードとの間の第1のトランザクション、および前記第2のノードから第3のノードへの前記第2の値の移転のための前記第2のノードと前記第3のノードとの間の第2のトランザクションを備えるトランザクションを定義し、
    前記第1のノードによって、前記トランザクションであって、前記第1の証拠集合および前記第2の証拠集合に基づいて検証される、前記トランザクションの検証および実行のために前記ブロックチェーンネットワークの少なくとも1つのコンセンサスノードに前記トランザクションを送信し、そして前記トランザクションの検証に応じて、前記第1のトランザクションおよび前記第2のトランザクションを実行して、前記第1のノードの残高を前記第1の値だけ減少させ、前記第2のノードの第1の残高を前記第1の値だけ増加させ、前記第2のノードの第2の残高を前記第2の値だけ減少させ、そして前記第3のノードの残高を前記第2の値だけ増加させる
    システム。
  24. 前記第1の証拠集合が、前記第1の値、前記第1のノードによって提供される一対の乱数、および前記暗号文に基づいて前記第2のノードによって提供される、請求項23に記載のシステム。
  25. 前記少なくとも1つのコンセンサスノードによって前記トランザクションを検証することが、前記第1のノードのデジタル署名および前記第2のノードのデジタル署名を検証することを含む、請求項23に記載のシステム。
  26. 前記少なくとも1つのコンセンサスノードによって前記トランザクションを検証することが、前記第1のノードによって提供される第1の範囲証明および前記第2のノードによって提供される第2の範囲証明を検証することを含む、請求項23に記載のシステム。
  27. 前記第1の範囲証明が、前記第1の値がゼロより大きいこと、および前記第1のノードの前記残高が前記第1の値以上であることを証明するZKPを備える、請求項26に記載のシステム。
  28. 前記第2の範囲証明が、前記第2のノードの前記第2の残高が前記第2の値以上であることを証明するZKPを備える、請求項26に記載のシステム。
  29. 前記トランザクションが、BGN暗号化を使用して生成される暗号文の集合を備えるデータ集合であって、前記少なくとも1つのコンセンサスノードによって前記トランザクションを検証するために使用される、データ集合をさらに備える、請求項23に記載のシステム。
  30. 前記1つまたは複数のコンピュータ可読メモリに、前記1つまたは複数のプロセッサによって実行可能であり、かつ前記1つまたは複数のプロセッサに、前記第1のノードによって、前記ブロックチェーンネットワークのサブチェーンチャネルを通じて前記第2のノードから前記為替レートを受信させる命令がさらに符号化された、請求項23に記載のシステム。
  31. 前記暗号文のうちの少なくとも1つの暗号文が、ペダーセンコミットメントを使用して提供される、請求項23に記載のシステム。
  32. 前記第1の証拠集合の前記データの集合が、第1のデータ値および第2のデータ値であり、前記第2のノードのBGN公開鍵を生成するために使用されるパラメータに基づいて各々が決定される、第1のデータ値および第2のデータ値を備える、請求項23に記載のシステム。
  33. 前記第2の証拠集合の前記データの集合が、暗号文の集合と、各値が前記暗号文の集合のハッシュに基づく値の集合とを備える、請求項23に記載のシステム。
JP2019559290A 2019-01-31 2019-01-31 ブロックチェーンネットワーク内の資産間取引 Active JP6840268B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/074057 WO2019072317A2 (en) 2019-01-31 2019-01-31 NEGOTIATION OF CROSSED ASSETS IN BLOCKCHAIN NETWORKS

Publications (3)

Publication Number Publication Date
JP2020526053A true JP2020526053A (ja) 2020-08-27
JP2020526053A5 JP2020526053A5 (ja) 2020-12-17
JP6840268B2 JP6840268B2 (ja) 2021-03-10

Family

ID=66100007

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019559290A Active JP6840268B2 (ja) 2019-01-31 2019-01-31 ブロックチェーンネットワーク内の資産間取引

Country Status (17)

Country Link
US (2) US10990963B2 (ja)
EP (1) EP3602956B1 (ja)
JP (1) JP6840268B2 (ja)
KR (1) KR102194078B1 (ja)
CN (1) CN110366738B (ja)
AU (1) AU2019202832B2 (ja)
BR (1) BR112019022731A2 (ja)
CA (1) CA3061789C (ja)
ES (1) ES2869166T3 (ja)
MX (1) MX2019012941A (ja)
PH (1) PH12019502464A1 (ja)
PL (1) PL3602956T3 (ja)
RU (1) RU2736447C1 (ja)
SG (1) SG11201910095VA (ja)
TW (1) TWI712306B (ja)
WO (1) WO2019072317A2 (ja)
ZA (1) ZA201907229B (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110458539B (zh) * 2019-07-09 2021-03-23 北京链上科技有限责任公司 一种加密货币自动提取方法及系统
US10937096B2 (en) * 2019-07-15 2021-03-02 Advanced New Technologies Co., Ltd. Transaction processing in a service blockchain
CN110471984B (zh) 2019-07-15 2020-08-25 阿里巴巴集团控股有限公司 基于区块链的业务处理方法及装置、电子设备
CN110535659B (zh) * 2019-09-03 2020-11-03 北京海益同展信息科技有限公司 用于处理数据请求的方法、装置、电子设备和计算机可读介质
CN112750033A (zh) * 2019-10-30 2021-05-04 上海唯链信息科技有限公司 一种交易方法、装置、设备及系统
CN111047348A (zh) * 2019-11-08 2020-04-21 北京比特时刻图像科技有限公司 一种新型区块链共识算法及基于该算法的区块链网络系统
KR102433504B1 (ko) * 2019-11-13 2022-08-18 알리페이 (항저우) 인포메이션 테크놀로지 씨오., 엘티디. 허가된 블록체인 네트워크를 위한 에러 정정 코드에 기초하는 블록체인 데이터 저장
CN111275549A (zh) * 2019-12-31 2020-06-12 深圳市网心科技有限公司 基于区块链的数字货币交易方法及相关装置
CN111275414A (zh) * 2019-12-31 2020-06-12 深圳市网心科技有限公司 一种基于区块链的数字货币兑换方法、装置及系统
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities
CN111369250B (zh) * 2020-03-06 2023-09-05 微民保险代理有限公司 基于联盟链的数据处理方法、装置、设备以及存储介质
JP2021177267A (ja) * 2020-05-05 2021-11-11 豊 仲宗根 取引システム、取引システムの制御方法及び取引システムの制御プログラム
SG10202006451QA (en) * 2020-07-03 2021-02-25 Alipay Labs Singapore Pte Ltd Managing transactions in multiple blockchain networks
CN111835500B (zh) * 2020-07-08 2022-07-26 浙江工商大学 基于同态加密与区块链的可搜索加密数据安全共享方法
CN112133386A (zh) * 2020-09-29 2020-12-25 深圳壹账通智能科技有限公司 一种基于区块链的信息处理方法、装置、设备及介质
CN112039926B (zh) * 2020-11-04 2021-03-26 南京金宁汇科技有限公司 一种区块链的双层链式架构实现方法
CN112751662B (zh) * 2020-12-29 2022-10-25 山西特信环宇信息技术有限公司 一种锥体区块链的共享链
CN113657877A (zh) * 2021-02-20 2021-11-16 支付宝(杭州)信息技术有限公司 基于区块链的资产管理方法、系统及装置
KR102671062B1 (ko) * 2021-07-07 2024-05-30 라인플러스 주식회사 보안 거래를 위한 방법 및 시스템
KR102372111B1 (ko) * 2021-10-25 2022-03-10 주식회사 온더 영지식 증명 기반 블록체인 가상머신 검증 시스템
CN114793228A (zh) * 2022-03-29 2022-07-26 上海万向区块链股份公司 基于零知识证明防止商户作恶的数据源筛选方法和系统
TWI823592B (zh) * 2022-09-30 2023-11-21 中華電信股份有限公司 基於大數型態及加法同態執行加密混音的系統及方法
CN117726421B (zh) * 2024-02-07 2024-06-21 湖南三湘银行股份有限公司 一种应用于银行的权益管理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017076839A (ja) * 2015-10-13 2017-04-20 富士通株式会社 暗号処理方法、暗号処理装置、および暗号処理プログラム
WO2017171726A1 (en) * 2016-03-29 2017-10-05 Hewlett Packard Enterprise Development Lp Distributed data clustering using an untrusted mediator
CN108335106A (zh) * 2018-01-24 2018-07-27 深圳壹账通智能科技有限公司 基于区块链的零知识多账本兑换转账方法、装置及存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160275461A1 (en) * 2015-03-20 2016-09-22 Rivetz Corp. Automated attestation of device integrity using the block chain
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
US9875375B2 (en) * 2015-05-29 2018-01-23 Panasonic Intellectual Property Corporation Of America Method for performing similar-information search while keeping content confidential by encryption
WO2017079652A1 (en) 2015-11-05 2017-05-11 Pulsifer Allen Cryptographic transactions system
US10841082B2 (en) 2015-11-24 2020-11-17 Adi BEN-ARI System and method for blockchain smart contract data privacy
KR101835518B1 (ko) * 2016-12-29 2018-04-19 주식회사 코인플러그 Utxo 기반 프로토콜을 사용하여 통합 포인트 서비스를 제공하는 방법 및 이를 이용한 지원 서버
CA3049684A1 (en) * 2017-01-27 2018-08-02 Walmart Apollo, Llc Managing smart appliances using blockchain technology
US11481360B2 (en) * 2017-04-07 2022-10-25 Hwa-Shang CHANG Blockchain network and method of operation thereof
CN107231299A (zh) * 2017-06-07 2017-10-03 众安信息技术服务有限公司 一种链路由及实现区块链跨链通信的系统
EP3649601A4 (en) * 2017-08-01 2020-11-04 Digital Asset (Switzerland) Gmbh PROCESS AND APPARATUS FOR AUTOMATIC COMMITTED PAYMENT OF DIGITAL GOODS
CN108764874B (zh) * 2018-05-17 2021-09-07 深圳前海微众银行股份有限公司 基于区块链的匿名转账方法、系统及存储介质
JP6871380B2 (ja) * 2018-12-29 2021-05-12 アドバンスド ニュー テクノロジーズ カンパニー リミテッド 情報保護のシステム及び方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017076839A (ja) * 2015-10-13 2017-04-20 富士通株式会社 暗号処理方法、暗号処理装置、および暗号処理プログラム
WO2017171726A1 (en) * 2016-03-29 2017-10-05 Hewlett Packard Enterprise Development Lp Distributed data clustering using an untrusted mediator
CN108335106A (zh) * 2018-01-24 2018-07-27 深圳壹账通智能科技有限公司 基于区块链的零知识多账本兑换转账方法、装置及存储介质

Also Published As

Publication number Publication date
ES2869166T3 (es) 2021-10-25
US10990963B2 (en) 2021-04-27
JP6840268B2 (ja) 2021-03-10
TW202031012A (zh) 2020-08-16
PH12019502464A1 (en) 2020-07-13
EP3602956B1 (en) 2021-01-27
US20210312429A1 (en) 2021-10-07
EP3602956A4 (en) 2020-05-06
PL3602956T3 (pl) 2021-07-26
MX2019012941A (es) 2019-12-16
SG11201910095VA (en) 2019-11-28
BR112019022731A2 (pt) 2020-05-12
RU2736447C1 (ru) 2020-11-17
AU2019202832B2 (en) 2020-09-24
KR102194078B1 (ko) 2020-12-24
AU2019202832A1 (en) 2020-08-13
CN110366738A (zh) 2019-10-22
TWI712306B (zh) 2020-12-01
KR20200096722A (ko) 2020-08-13
EP3602956A2 (en) 2020-02-05
WO2019072317A2 (en) 2019-04-18
US20190311351A1 (en) 2019-10-10
CA3061789A1 (en) 2019-04-18
ZA201907229B (en) 2021-09-29
CA3061789C (en) 2021-01-26
WO2019072317A3 (en) 2019-12-12
CN110366738B (zh) 2023-09-26

Similar Documents

Publication Publication Date Title
JP6840268B2 (ja) ブロックチェーンネットワーク内の資産間取引
US11449641B2 (en) Integrity of communications between blockchain networks and external data sources
US11196556B2 (en) Method for restoring public key based on SM2 signature
US11354657B2 (en) Managing transactions in multiple blockchain networks
US10924288B2 (en) Managing blockchain-based centralized ledger systems
US10728046B1 (en) Managing blockchain-based centralized ledger systems
US11038695B2 (en) Managing blockchain-based centralized ledger systems
US11372848B2 (en) Managing transactions in multiple blockchain networks
EP3628093B1 (en) Method and device for avoiding double-spending problem in read-write set-model-based blockchain technology
US11403632B2 (en) Managing transactions in multiple blockchain networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201106

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20201106

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20210126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210126

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210216

R150 Certificate of patent or registration of utility model

Ref document number: 6840268

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250