JP2020513176A - ブロックチェーンを用いてデータ記録を分配するシステム及び方法 - Google Patents

ブロックチェーンを用いてデータ記録を分配するシステム及び方法 Download PDF

Info

Publication number
JP2020513176A
JP2020513176A JP2019553427A JP2019553427A JP2020513176A JP 2020513176 A JP2020513176 A JP 2020513176A JP 2019553427 A JP2019553427 A JP 2019553427A JP 2019553427 A JP2019553427 A JP 2019553427A JP 2020513176 A JP2020513176 A JP 2020513176A
Authority
JP
Japan
Prior art keywords
output
public key
data
transaction
node
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
JP2019553427A
Other languages
English (en)
Other versions
JP2020513176A5 (ja
JP7210466B2 (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.)
Nchain Holdings Ltd
Original Assignee
Nchain Holdings 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 Nchain Holdings Ltd filed Critical Nchain Holdings Ltd
Publication of JP2020513176A publication Critical patent/JP2020513176A/ja
Publication of JP2020513176A5 publication Critical patent/JP2020513176A5/ja
Priority to JP2023002426A priority Critical patent/JP2023040202A/ja
Application granted granted Critical
Publication of JP7210466B2 publication Critical patent/JP7210466B2/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/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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/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/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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/12Accounting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0852Quantum cryptography
    • 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
    • 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/0655Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed centrally
    • 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
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise

Landscapes

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

Abstract

ブロックチェーンを用いて入力ノードから出力ノードへ全データ記録を移す、コンピュータにより実施される方法。全データ記録は、ビットコインを使用することなどのいくつかの場合に、支払い合計額であることができる。出力ノードは、パブリックキーマテリアルを共有し、入力ノードは、総額を支払う際に使用する未使用トランザクションを選択し、固定デノミネーションで出力ノードが支払うべき複数の出力を決定する。入力ノードは、パブリックキーマテリアル及び各々の乱数を用いて出力ごとに出力アドレスを生成し、1つ以上のコインミキシングトランザクションにおいて入力及び出力をミキシングする。各々の乱数に基づき生成された出力ごとのナンスパブリックキーは、ブロックチェーンを通じて又は別々に出力ノードと共有され、出力ノードは、出力アドレスごとに対応するプライベートキーを導出することができ、所有権を主張することができる出力を探し出し識別することを可能にする。

Description

本発明は、概して、ブロックチェーントランザクションに、より具体的には、データ記録分散トランザクションを生成及び実行する方法及びデバイスに関する。
本明細書中で、我々は、あらゆる形式の電子的な、コンピュータに基づく分散台帳(distributed ledgers)を含むよう語「ブロックチェーン」を使用する。それらは、ブロックチェーン及びトランザクションチェーン技術、許可(permissioned)及び無許可(un-permissioned)台帳、共有台帳、並びにこれらの変形を含むが限られない。ブロックチェーン技術の最も広く知られた応用は、他のブロックチェーン実施が提案及び開発されているとはいえ、ビットコイン台帳である。ビットコインが、便宜上、説明のために本明細書で言及され得るが、本発明は、ビットコインブロックチェーンとともに使用することに限られず、代替のブロックチェーン実施及びプロトコルが本発明の適用範囲内にあることが留意されるべきである。
ブロックチェーンは、合意に基づく電子台帳であり、これは、トランザクションから成るブロックで構成された、コンピュータに基づく非中央集権型の分散システムとして実装される。各トランザクションは、ブロックチェーンシステム内の参加者間のデジタル資産の制御の移行を符号化するデータ構造であり、少なくとも1つの入力及び少なくとも1つの出力を含む。ブロックチェーンにその始まり以来書き込まれてきた全てのトランザクションの永久的且つ不変な記録を構成するようブロックどうしが連鎖するように、各ブロックは前のブロックのハッシュを含む。トランザクションは、それらの入力及び出力に埋め込まれたスクリプトとして知られている小さいプログラムを含む。スクリプトは、如何にして誰によってトランザクションの出力がアクセスされ得るかを特定する。ビットコインプラットフォームで、それらのスクリプトは、スタックに基づくスクリプト言語を用いて書かれている。
トランザクションがブロックチェーンに書き込まれるために、それは“検証され”(validated)なければならない。ネットワークノード(マイナー(miners))は、各トランザクションが有効であることを確かめる作業を実行し、無効なトランザクションはネットワークから拒絶される。ノードにインストールされたソフトウェアクライアントは、そのlockingそれからlockingスクリプトを実行することによって、未使用トランザクション(unspent transaction)(UTXO)に対してこの検証作業を実行する。lockingそれからlockingスクリプトの実行がTRUEになる場合に、トランザクションは有効であり、トランザクションはブロックチェーンに書き込まれる。よって、トランザクションがブロックチェーンに書き込まれるために、それは、i)トランザクションを受け取る第1ノードによって検証され、トランザクションが検証される場合に、ノードはそれをネットワーク内の他のノードに中継し、ii)マイナーによって構築された新しいブロックに加えられ、iii)マイニング、すなわち、過去のトランザクションの公開台帳に付加、されなければならない。
ビットコインなどのブロックチェーン技術の認識されている利点の1つは、その匿名性及び安全性である。すなわち、ビットコイン台帳は、トランザクションに参加する者に関する如何なる個人情報も含まず、それはパブリックアドレス情報しか含まない。しかし、外部データ及び分析論を用いると、特定のトランザクション及びアドレスを個人と成功裏に関連付けることが可能である。
ビットコインのようないくつかのデジタル通貨の欠点の1つは、プライバシーについてのそれらの公評にもかかわらず、ブロックチェーン内のビットコインの流れが完全に公であり、チェーンを通る価値の移動をトレースするよう解析可能である点である。これは、プライバシーが危うくされる状況を生じさせる可能性がある。例えば、隔週の給与支払いなどの、大きい未使用トランザクション出力UTXOを含むウォレットを人が持っており、その未使用トランザクションが小額を他人に支払うために入力として使用される場合に、その他人及び、トランザクションを見る誰でもが、トランザクションにおいて返されるお釣り(change)に部分的に基づき、支払いを行う人の資産及び場合により給与に関する情報を得ることになる。他の状況は、大きい入力及び/又は大きいお釣りトランザクションがユーザのプライバシーを危うくしうる場合に起こり得る。
よって、効率的且つ効果的な暗号通貨支払いメカニズムを依然として形成しながら、出力に対する入力の追跡不能制及びリンク不能制の改善を通じて、高められた安全性及びよりロバストな暗号化を提供する改善された方法及びデバイスを提供することが望ましい。
ブロックチェーン技術が暗号通貨実施の使用のために最も広く知られているが、デジタル起業家は、新しいシステムを実装するために、ビットコインが基づく暗号化によるセキュリティシステムと、ブロックチェーン上に記憶され得るデータとの両方の使用を探求し始めている。暗号資産の分野に制限されない自動化タスク及びプロセスのためにブロックチェーンが使用される場合に、それは大いに有利である。そのような解決法は、ブロックチェーンの利益(例えば、イベントの永久的な耐タンパー性の記録、分散処理など)を活用しながら、それらの用途を広げることができる。従って、本願は、ブロックチェーンに関して記録される“データ記録”(data record)に言及することがある。データ記録には、例えば、ドキュメント、処理能力若しくは時間の測定値、暗号通貨額、資産の所有権を示すセキュリティ若しくは他のトークン、又はエンティティがそのデータ記録を使用若しくは移動することを可能にする暗号化マテリアルを持ってそのエンティティによって制御され得る他のそのようなものが含まれ得る。
ブロックチェーン内の記録の潜在的な追跡可能性は、特定の利用に損害をもたらす可能性がある実施不備を明らかにする。利用の例として、採点のために試験若しくは書類を提出すること、匿名の犯罪報告書を提出すること、匿名の調査若しくは国勢調査報告書を提出すること、又はデータがサブミット後に変更されない状況下で参加ノードが安全且つ機密にデータ記録を1つ以上の他のノードへ移動させる必要がある他のそのような利用が含まれる。暗号通貨と同様に、他のタイプのデータ記録の移動は、記録自体の特性に基づき追跡可能である場合があり、それによって、特定のノードに戻るサブミットの追跡が可能となり、ノードのユーザのプライバシー又は安全性が損なわれたり、あるいは、配布又は提出プロセスの匿名性の完全性が弱体化されたりする可能性がある。更に、ネットワーク内のノードが1つのノードを他のノードに対する転送されるドキュメントの発信元として識別することが可能である場合に、それは、なりすまし(spoofing)及び他のコンピュータセキュリティ攻撃などの攻撃を通じてネットワークの安全性を危うくするオブザーバノードの能力を高める。
ブロックチェーンの公共性は、暗号通貨又はその他タイプのデータ記録のいずれであっても、特定の具体的なノード間のデータ記録の移動を追跡する機会を最小限としながら分散プロセスの安全性及び整合性をより有効に保証するという、データ記録分散プロセスを構造化することにおける技術的課題を示す。
そのような改善された解決法が、現在、考え出されている。
従って、本発明によれば、添付の特許請求の範囲で定義される方法及びデバイスが提供される。
有利なことに、本願は、トランザクションのプライバシー及び安全性を改善する、ブロックチェーンに基づくデータ記録分散のための改善された方法、デバイス及びシステムを提供する。ステルスアドレッシング(stealth addressing)、記録分散、及び所定のデータ記録特性への記録の脱構築の独自の組み合わせを用いると、入力ノード又は出力ノードのいずれかに関する情報の開示を防ぐよう且つ追跡活動を阻止するよう入力を出力から切り離しながら、全データ記録が移転される。
本発明は、コンピュータにより実施される方法及び対応するシステムを提供し得る。方法/システムは、ブロックチェーンにより実施される方法/システムとして記載され得る。本発明は、セキュリティ方法又は暗号化方法/システムとして記載され得る。それは、暗号通貨の部分又は量などのデジタル資産又はデータ記録の安全な移動を提供し得る。追加的に、又は代替的に、それは、暗号通貨の部分又は量などのデジタル資産の移動を制御する制御メカニズムを提供し得る。
追加的に、又は代替的に、本願は、ブロックチェーンを用いて入力ノードと出力ノードとの間で全データ記録を移動する、コンピュータにより実施される方法について記載し得る。方法は、入力ノードで実施され、出力ノードに関連するパブリックキーマテリアルを取得することと、入力ノードによって制御される利用可能なデータ記録及び全データ記録に基づき、利用可能なデータ記録から選択される1つ以上の入力、及び複数の出力を決定することであり、前記1つ以上の入力の累計は全データ記録に等しいか又はそれより多く、各出力は、一連の所定のデータ記録特性から選択される各々のデータ記録特性に関し、前記複数の出力の和は全データ記録に一致する、前記決定することと、前記複数の出力の夫々について、無作為に数を選択し、パブリックキーマテリアル及び乱数に基づき出力アドレスを生成し、当該出力の各々のデータ記録特性を有するデータ記録を割り当てられるよう記録分散トランザクションに出力アドレスを挿入し、乱数からナンスパブリックキーを生成し、ナンスパブリックキーを出力ノードと共有することと、前記1つ以上の入力に署名することとを含んでよい。
追加的に、又は代替的に、本願は、ブロックチェーンを用いて入力ノードと出力ノードとの間で全データ記録を移動する、コンピュータにより実施される方法について記載し得る。方法は、出力ノードで実施され、出力ノードに関連するパブリックキーマテリアルを入力ノードへ供給することと、入力ノードからナンスパブリックキーを取得することと、データ記録分散トランザクションを求めてブロックチェーンを探索することであり、該データ記録分散トランザクションは複数の入力アドレス及び複数の出力アドレスを有し、各出力アドレスは、一連の所定のデータ記録特性の中の各々のデータ記録特性を有するデータ記録を割り当てられている、前記探索することと、ナンスパブリックキー及びパブリックキーマテリアルに基づきパブリック−プライベートキー対を決定することと、パブリック−プライベートキー対からのパブリックキーをデータ記録分散トランザクション内の出力アドレスの1つと照合し、該照合に基づき、その出力アドレスに割り当てられているデータ記録を暫定データ記録コンピレーションに加えることと、暫定データ記録コンピレーションが全データ記録に満たないかどうかを判定し、そうである場合には、暫定データ記録コンピレーションが全データ記録に一致するまで前記探索すること、前記決定すること、及び前記照合することを続けることとを含んでよい。
追加的に、又は代替的に、本願は、ブロックチェーンを用いて入力ノードと出力ノードとの間で総価値を移動する、コンピュータにより実施される方法について記載し得る。方法は、入力ノードで実施され、出力ノードに関連するパブリックキーマテリアルを取得することと、入力ノードによって所有されている利用可能な未使用出力トランザクション及び総価値に基づき、未使用出力トランザクションから選択される1つ以上の入力、及び複数の出力を決定することであり、前記1つ以上の入力の累積価値は総価値に等しいか又はそれより大きく、各出力は、一連の所定のデノミネーションから選択される各々のデノミネーションに関し、前記複数の出力の和は総価値に一致する、前記決定することとを含んでよい。方法は、前記複数の出力の夫々について、無作為に数を選択し、パブリックキーマテリアル及び乱数に基づき出力アドレスを生成し、当該出力の各々のデノミネーションを割り当てられるようコインミキシングトランザクションに出力アドレスを挿入し、乱数からナンスパブリックキーを生成し、ナンスパブリックキーを出力ノードと共有することを更に含む。入力ノードは、前記1つ以上の入力に署名する。
いくつかの実施において、前記1つ以上の入力及び前記複数の出力を決定することは、利用可能なコインミキシングトランザクションに部分的に基づく。利用可能なコインミキシングトランザクションは、特定のデノミネーションをミキシングすることを夫々伴う。前記1つ以上の入力及び前記複数の出力を決定することは、前記1つ以上の入力及び前記複数の出力の夫々の値を前記特定のデノミネーションの各々1つと照合することに部分的に基づく。
いくつかの実施において、前記複数の出力について、前記出力アドレスを挿入することは、複数の異なるデノミネーションをミキシングするよう構造化された単一のコインミキシングトランザクションに全ての出力アドレスを出力として挿入することを含む。いくつかの他の実施において、前記複数の出力について、前記出力アドレスを挿入することは、少なくとも1つの出力アドレスを第1コインミキシングトランザクションに、及び少なくとももう1つの出力アドレスを第2コインミキシングトランザクションに挿入することを含み、前記第1コインミキシングトランザクションは、前記第2コインミキシングトランザクションにおいてミキシングされているデノミネーションとは異なるデノミネーションをミキシングすることを目的とする。
いくつかの実施において、前記一連の所定のデノミネーションは、最大コイン価値及び該最大コイン価値の1/10倍によって定義される級数に基づき、nは正の整数である。他の実施では、他の級数が使用されてもよい。
いくつかの実施において、前記パブリックキーマテリアルは、2つのパブリックキーBPub及びBPubを有し、出力iの前記出力アドレスは、

BPub=H(rBPub)G+BPub

によって与えられ、このとき、Gは、楕円曲線ベースポイントであり、H()は、ハッシュ関数であり、rは、出力iについて選択された前記乱数である。前記ナンスパブリックキーRは、R=rGとして生成され得る。
いくつかの実施において、前記ナンスパブリックキーを共有することは、前記コインミキシングトランザクション内の非トランザクションデータフィールドに前記ナンスパブリックキーを挿入すること、前記コインミキシングトランザクションとは異なる別個のトランザクション内の非トランザクションデータフィールドに前記ナンスパブリックキーを挿入すること、又は非ブロックチェーン通信を使用することにおいて前記ナンスパブリックキーを前記出力ノードへ送ることを含む。
追加的に、又は代替的に、本願は、出力ノードで実施される方法であって、出力ノードに関連するパブリックキーマテリアルを入力ノードへ供給することと、入力ノードからナンスパブリックキーを取得することと、コインミキシングトランザクションを求めてブロックチェーンを探索することであり、該コインミキシングトランザクションは複数の入力アドレス及び複数の出力アドレスを有し、各出力アドレスは、一連の所定のデノミネーションの中のデノミネーションに適合する値を割り当てられている、前記探索することとを含む前記方法について記載し得る。方法は、ナンスパブリックキー及びパブリックキーマテリアルに基づきパブリック−プライベートキー対を決定することと、パブリック−プライベートキー対からのパブリックキーをコインミキシングトランザクション内の出力アドレスの1つと照合し、該照合に基づき、その出力アドレスに割り当てられている値を支出高に加えることと、支出高が総価値に満たないかどうかを判定し、そうである場合には、支払高が総価値に一致するまで前記探索すること、前記決定すること、及び前記照合することを続けることとを更に含む。
いくつかの実施において、前記パブリックキーマテリアルは、2つのパブリックキーBPub及びBPubを有し、該2つのパブリックキーは、対応する各々のプライベートキーBPriv及びBPrivを有する。i番目のパブリック−プライベートキー対を決定することは、

BPriv=H(BPriv)+BPriv

を決定することを含んでよく、このとき、BPrivは、前記パブリック−プライベートキー対のプライベートキーであり、H()は、ハッシュ関数であり、Rは、前記ナンスパブリックキーであり、前記i番目のパブリック−プライベートキー対のパブリックキーは、BPub=BPrivGとして決定され、このとき、Gは、楕円曲線ベースポイントである。
いくつかの実施において、前記ブロックチェーンを探索することは、非トランザクションコードを含むコインミキシングトランザクションを識別することを含み、前記ナンスパブリックキーを取得することは、前記コインミキシングトランザクションの非トランザクションデータフィールドから前記ナンスパブリックキーを取り出すことを含む。いくつかの他の実施において、前記ナンスパブリックキーを取得することは、非トランザクションコードを含むトランザクションを求めて前記ブロックチェーンを探索し、識別される場合に、該トランザクション内の非トランザクションデータフィールドから前記ナンスパブリックキーを取り出すことを含む。
本明細書中で記載される更なる他の実施は、メモリと、プロセッサと、実行される場合に、該プロセッサに、本明細書中で記載される方法の1つ以上の動作を実行させる実行可能命令とを有する計算装置を含む。
本発明の1つの態様又は実施形態に関して記載される如何なる特徴も、1つ以上の他の態様/実施形態に関しても使用され得る。本発明のこれら及び他の態様は、本明細書中で記載される実施形態から明らかであり、それらを参照して説明される。本発明の実施形態が、これより、単なる一例として、添付の図面を参照して記載される。
ノードのブロックチェーンネットワークの例を表す。 データ記録分散プロセスの一実施形態を図式的に表す。 ブロックチェーントランザクションにおけるデータ記録分散のためのプロセスの例をフローチャート形式で示す。 本願の実施形態に従って、データ記録分散動作において入力ノードとして参加するプロセスの例をフローチャート形式で示す。 本願の実施形態に従って、データ記録分散動作において入力ノードとして参加するプロセスの例をフローチャート形式で示す。 簡略化した参加ノードのブロック図を示す。
本願において、語「及び/又は」(and/or)は、必ずしも追加の要素を除外せずに、挙げられている要素のみ、任意のサブコンビネーション、又は全ての要素、のうちのいずれか1つを含む、挙げられている要素の全ての起こり得る組み合わせ及びサブコンビネーションをカバーするよう意図される。
本願において、「〜又は〜の少なくとも1つ」(at least one of … or …)との語句は、必ずしも追加の要素を除外することなしに、且つ、必ずしも全ての要素を必要とせずに、挙げられている要素のみ、任意のサブコンビネーション、又は全ての要素、のうちのいずれか1つを含む、挙げられている要素のうちの任意の1つ以上をカバーするよう意図される。
時々、以下本明細書中で、データ記録について言及がなされることがある。データ記録は、値を含むデータフィールドを含む。全データ記録は、いくつかの場合に、複数のデータ記録の値の和から形成されてよい。いくつかの事例において、値は、暗号通貨などのデジタル資産又はその量を表し得るが、計算資源、時間、などのその他のアセットを表してもよい。データ記録特性への言及は、データ記録の属性に言及することがある。いくつかの例では、これは、データ記録内で示される値を含んでよく、所定の一連のデータ記録特性は、一連の所定値を含んでよい。値は、いくつかの場合に、整数又はデシマル値であってよい。いくつかの事例において、値は、暗号通貨額を表し、デノミネーション(denominations)と呼ばれ得る。
最初に図1を参照する。図1は、ブロックチェーンに関連するブロックチェーンネットワーク100の例をブロック図形式で表す。ブロックチェーンネットワークは、招待なしで又は他のメンバーからの同意なしで誰もが参加することができるピア・ツー・ピアの非会員制ネットワークである。ブロックチェーンネットワーク100が動作するブロックチェーンプロトコルのインスタンスを実行する分散した電子デバイスが、ブロックチェーンネットワーク100に参加し得る。そのような分散した電子デバイスは、ノード102と呼ばれ得る。ブロックチェーンプロトコルは、例えば、ビットコインプロトコル又は他の暗号資産であってよい。
ブロックチェーンプロトコルを実行し、ブロックチェーンネットワーク100のノード102を形成する電子デバイスは、例えば、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータなどのコンピュータ、サーバ、スマートフォンなどのモバイル機器、スマートウォッチなどの装着型コンピュータ、又は他の電子デバイスを含む様々なタイプであってよい。
ブロックチェーンネットワーク100のノード102は、有線及び無線通信技術を含み得る適切な通信技術を用いて互いへ結合される。多くの場合に、ブロックチェーンネットワーク100は、少なくとも部分的にインターネット上で実装され、個々のノード102の一部は、地理的に散開した位置に配置されてよい。
ノード102は、ブロックチェーン上の全てのトランザクションの大域的な台帳を保持する。大域的な台帳は分散台帳であり、各ノード102は、大域的な台帳の完全なコピー又は部分的なコピーを保管し得る。大域的な台帳に影響を与えるノード102によるトランザクションは、大域的な台帳の有効性が保たれるように、他のノード102によって検証される。ビットコインプロトコルを使用するものなどのブロックチェーンネットワークを実装し動作させることの詳細は、当業者によって十分に理解される。
各トランザクションは、通常は、1つ以上の入力及び1つ以上の出力を有する。入力及び出力に埋め込まれたスクリプトは、如何にして誰によってトランザクションの出力がアクセスされ得るかを特定する。トランザクションの出力は、トランザクションの結果として値が移される先のアドレスを含む。その値は、次いで、未使用トランザクション出力(UTXO)としてその出力アドレスと関連付けられる。その後のトランザクションは、次いで、そのアドレスを、その値の所有権を使用又は再割り当てするために、入力として参照してよい。
トランザクションは、個人情報がブロックチェーン台帳上でトランザクションに含まれない点で擬匿名的(pseudo-anonymous)である一方で、トランザクションのチェーン内でデータ記録の移動を追跡すること、及びいくつかの場合に、外部データを用いて個々の又は特定のノードへデータ記録をリンクすることが可能である。安全性を高める手段として、データ記録分散トランザクション(data record distribution transactions)、例えば、コインミキシングトランザクション(coin mixing transaction)が、様々なソースからの入力をプールし、次いで、プールされたデータ記録を分割して出力に割り当てるために、使用されてよい。全ての入力及び出力が同じ特性を有するデータ記録である場合には、特定の入力を特定の出力とリンクすることは困難である。しかし、そのようなトランザクションにおいて、少なくとも1つの参加ノードは、他の参加ノードによって特定される入力アドレスと出力アドレスとの間のリンクに気付く。ビットコインプロトコルにおけるコインジョイン(CoinJoin)動作などのコインミキシングトランザクションでは、複数の入力及び複数の出力を有する単一のトランザクションが、値をミキシングするために使用される。
ステルスアドレスなどのいくつかの他の技術が、様々な有効性を伴って、入力と出力との間のリンクを明らかにしないようにするために使用される。ステルスアドレスは、追跡可能性を崩すために、データ記録が送られる出力アドレスを特定の出力ノードから切り離そうと試みる。
本願によれば、分散のプライバシー及び安全性を高め、且つ、分散を特定の入力及び/又は出力にリンクすること並びに分散を追跡すること又は入力ノードに関する関連情報を明らかにすることを阻止するように入力ノードから出力ノードへの全データ記録の移動を助ける方法及びデバイスが、記載される。安全性を保証しながらブロックチェーンプロトコルの構造内でこれを行うことは、相当な技術的実施課題を示す。以下の記載は、そのような技術的実施課題に対する解決法の少なくとも一実施形態を提供する。
本明細書中の説明において、語「入力ノード」、「出力ノード」、「参加ノード」、「入力アドレス」、及び「出力アドレス」が使用されることがある。ノードの「アドレス」への言及は、物理ノードのネットワークアドレスを指すものではない。代わりに、「アドレス」は、トランザクション上の署名に対応するキーを有することによって物理ノードが所有権を主張することができる未使用値を有するブロックチェーン上のトランザクションにおいて指定されるアドレスである。この意味で、「出力アドレス」は、参加ノードのアドレスではなく、参加する出力ノードによって所有されるか又はそれに関連するブロックチェーントランザクション出力アドレスである。同様に、「入力アドレス」は、参加する入力ノードによって所有されるか又はそれに関連する未使用トランザクション出力(UTXO)のアドレスである。
[楕円曲線デジタル署名]
ビットコインのようないくつかのブロックチェーン技術は、デジタル署名のための数学的手法として楕円曲線デジタル署名アルゴリズム(Elliptic Curve Digital Signature Algorithm)(ECDSA)を使用する。ECDSAは、UTXOに関連する値がその正当な所有者によってのみ使用され得ることを確かにするために使用される暗号化デジタル署名である。ECDSA署名に必要なパラメータは、
E − 楕円曲線関数
G − 位数nを有する楕円曲線上のベースポイント:n×G=O
n − 大きい素数
q − 群位数
を含む。
キー対は乱数xから生成され、このとき、0<x<nである。数xはプライベートキーとなり、パブリックキーPはP=x×Gとして生成される。
メッセージm、乱数k及びプライベートキーxを考えると、署名は対(r,s)により生成される。乱数kは、0<k<qであるように選択される。次いで、r=k×Gが計算され、s=k−1(m+xr)mod nが計算される。このとき、k−1は、k mod nの逆数であり、k−1k≡1 mod n。これが署名(r,s)を与える。
署名(r,s)、メッセージm及びパブリックキーPを考えると、署名が検証され得る。署名を検証すべく、v=s−1m×G+s−1r×yが計算される。この式中、s−1は、s−1s≡1 mod nであるように、s mod qの逆数である。v=rである場合に、署名は有効である。Gが位数nを有することを思い出すと、s−1のmod n部分は、ECポイントがGを乗じられる場合に消える。
[プールされた分解されたデータ記録]
これより図2を参照すると、図2は、データ記録分散プロセス200の一実施形態を図式的に表す。この例において、データ記録は暗号通貨に関係があり、全データ記録は総価値の支払いである。入力ノード202は「ウォレットA」と表される。入力ノード202は、支払いを授受するよう設計されたライトウェイトノード(lightweight node)であって、ブロックチェーンのコピーを保持するフルノード(full node)ではない。いくつかの場合に、入力ノード202はフルノードであっても、あるいは、マイニングノードであってさえよいが、目下の例では、入力ノード202はライトウェイトノードであり、これは、多くの場合に「ウォレット」と呼ばれ得る。ビットコインプロトコルでは、そのようなノードは、簡易版支払い検証(simplified payment verification)(SPV)と呼ばれることがある。出力ノード204は「ウォレットB」と表される。入力ノード202と同様に、この例において、出力ノード204はライトウェイトノードである。ノード202及び204は、参加者又は参加ノードと呼ばれ得る。
入力ノード202は、参照番号206によって示される、様々な値の多数のUTXOを“所有する”(制御する)。入力ノード202は、入力ノード202が、ブロックチェーントランザクションへの入力として各UTXO206を“使用する”スクリプトに署名することを入力ノード202に可能にする、各UTXO206に対応するプライベートキーを持っているという意味で、それらを所有している。各UTXO206は、入力ノード202へ送られた又は戻された前のトランザクションの未使用出力である。UTXO206は、適用可能な暗号通貨の価値の量を変えるためのものであり得る。
出力ノード204は、(BPub,BPriv)及び(BPub,BPriv)と表される2つのパブリック−プライベートキー対を有し、このとき、BPub=BPrivGである。出力ノード204は、パブリックキーBPub及びBPubを入力ノード202及び場合により他のノードと共有する。
この状況で、入力ノード202の所有者は、出力ノード204の所有者へ総価値を移そうとする。総価値は、いくつかの実施において、品物又はサービスに対する支払いを反映し得る。
本願の態様に従って、入力ノード202は、支払いをもたらすトランザクションへの入力となるようUTXO206の1つ以上を選択する。1つ以上のUTXO206の累積価値は、出力ノード204へなされるべき支払いの総価値に等しいか又はそれよりも大きい。UTXO206の選択は、お釣りを生じさせることになる、又は少なくとも、入力ノード202に戻るかなりのお釣りをもたらすことになる1つの大きいUTXO206を使用することよりむしろ、総価値を構成するよう複数のより小さいデノミネーションのUTXO206を使用することに部分的に基づいてよい。
いくつかの実施において、入力ノード202は、UTXO206の数を最小限としながら、支払いの総価値に等しいか又はそれよりも大きい入力の和を生じさせるどん欲法(greedy algorithm)を用いて、最適又は有利な複数のUTXO206を決定し得る。解析における付加的因子には、発生するお釣りを最小限にすること、すなわち、選択されるUTXO206の累積価値が、利用可能なUTXO206を前提として可能な最小量だけ総価値を上回ること、を確かにすることが含まれ得る。いくつかの実施において、UTXO206は、それらの値に基づき優先順位を付けられてもよい。すなわち、更に後述されるように、所定の一連のデノミネーションのうちの1つに値が対応するUTXO206が好まれ得る。
いくつかの実施において、UTXO206の最適な組の選択は、総価値(又は、入力ノード202は、提示された入力がトランザクションの手数料をカバーするのに十分なものを含むことを確かにする必要があり得るので、総価値プラス手数料)と、小額の支払いを行うための大きいUTXO206の使用を回避するルールとに基づくことができる。すなわち、入力ノード202は、全部の支払いよりも小さいUTXO206を用いて優先順位を付け得る。入力ノード202は、UTXO206の局所的に最適な又は少なくとも適切な選択を見つけるために動的プログラミング、どん欲法、又はその他適切なコンピュータプログラミング技術を用いてUTXO選択プロセスを実施してよい。
本願の他の態様に従って、値の移動は、ビットコインプロトコルにおけるコインジョイントランザクションのような1つ以上のコインミキシングトランザクションによって行われるべきである。すなわち、選択されたUTXO206は、1つ以上のコインミキシングトランザクションへの入力である。
入力ノード202は、全部の支払いを構成する複数の出力を更に決定する。出力の累積価値は、出力ノード204になされる支払いの総価値に一致する。各出力は、一連の所定のデノミネーションから選択された各々のデノミネーションのためであるよう決定する。一例において、デノミネーションは、適用可能な暗号通貨の有理数の所定の級数(series)であってよい。一例において、デノミネーションは、暗号通貨の1/10倍の基本単位によって与えられてよく、このとき、n=0,1,2,3,などである。一例として、ビットコインを用いると、デノミネーションは、

1BTC,0.1BTC,0.01BTC,0.001BTC,・・・,1Satoshi

であってよい。他の例となるデノミネーションは、例えば、

1BTC,0.5BTC,0.2BTC,0.1BTC,0.05BTC,0.02BTC,0.001BTC,・・・など

のように、必ずしも底10によって関係付けられなくてもよい。
いくつかの実施において、入力の少なくとも1つを除いて全部が同じ値の対応する出力を有している(これは、入力の累積価値が全部の支払いを上回る場合に、入力のうちの1つが、入力へ払い戻されるべきお釣り及び/又はトランザクションにおける手数料支払いに帰せられる超過量をもたらし得るからである。)。対応する出力と値が一致する入力が、同じコインミキシングトランザクションに含まれ得る。このとき、トランザクションは、全て同じ値を有する複数の入力及び出力をミキシングするよう設計される。
入力ノード202が、入力となる1つ以上のUTXO206を決定し、且つ、複数の出力及びそれらの各々の値を決定すると、入力ノード202は、UTXO206を入力として挿入し且つ出力の夫々に対応する各々の出力アドレスを挿入することによって、1つ以上のコインミキシングトランザクションに加わる。
本願の更なる態様において、入力ノード202は、出力ノードのパブリックアドレスを出力アドレスとして使用せず、出力ノード204に対して共通アドレスで出力をプールしない。代わりに、入力ノード202は、出力ごとに新しい秘密の出力アドレスを生成する。新しい秘密の出力アドレスの夫々は、出力ノードによって供給されるパブリックキーBPub及びBPubと、乱数rとに基づき、生成される。乱数rは、ナンス(nonce)と呼ばれ得る。これに関連して、出力ノード204からの2つのパブリックキーは、それらが秘密のアドレスを生成するためのシードとして働くことになるが、出力ノード204と新しい秘密のアドレスとの間のリンクは入力ノード202にしか知られないという意味で、一緒に「ステルスアドレス」の役割を果たす。これは、実際の出力アドレスが出力ノード204に関連すると知られないので、トランザクションにおける受取人の身元を隠蔽し、一方で、パブリックキーアドレスを公開した出力ノード204に対して支払いが行われた場合には、それは、識別可能に出力ノード204と関連付けられることになる。
この例において、入力ノード202は、具体的に、

BPub=H(rBPub)G+BPub

に基づき、新しい秘密の出力アドレスBPubを生成する。ここで、Gは楕円曲線ベースポイントであり、H()はハッシュ関数である。入力ノード202はまた、R=rGに基づき乱数rからナンスパブリックキーRを計算する。
入力ノード202は、出力ごとに新しい秘密の出力アドレスBPubを生成する。それはまた、出力ごとのナンスパブリックキーRを出力ノード204と共有する。出力ノード204は、次いで、そのナンスパブリックキーRと、プライベートキーBPriv及びBPrivとを使用して、トランザクション内の出力アドレスの1つに対応するプライベートキーを、式:

BPriv=H(BPriv)+BPriv

を用いて生成しようとする。生成されたプライベートキーがパブリックキーBPubを得るために使用され得る場合に、出力ノード204は、その出力アドレスに向けられたトランザクション出力を解除する正確なプライベートキーを有する。
ナンスパブリックキーRを共有するためのメカニズムは、実施に応じて種々の形態とり得る。1つの実施において、ナンスパブリックキーRは、出力アドレスが使用されるコインミキシングトランザクションの非トランザクションフィールドに挿入される。出力ノード204は、非トランザクションフィールドにおいてデータを有するコインミキシングトランザクションを見つけるようブロックチェーンを探索する。例えば、ビットコインプロトコルにおいて、OP_RETURNコードは、無効なトランザクション出力をマークするために使用されるスクリプト(Script)オペコード(opcode)である。OP_RETURNコードの後に置かれた如何なるデータもビットコイン支払いを処理する際に無視されるので、それはトランザクション内のメッセージ又はデータ保持フィールドとして有効に働くことができる。従って、ビットコインプロトコルに基づく1つの実施において、コインミキシングトランザクションは、パブリックナンスキーRが後に続くOP_RETURNコード又は機能的同等物を伴った出力を含む。一般名称において、非トランザクションデータ又は情報がトランザクションに含まれないことを示すコードは、「非トランザクションコード」と本明細書中で呼ばれ得る。
なお、ビットコインのようないくつかのプロトコルは、このような非トランザクションデータフィールドをトランザクションにおいて使用する能力を制限することがある。一例として、ビットコインは、トランザクションごとに1つのOP_RETURNコードしか認めないことがある。これは、コインミキシングトランザクションにおいて1つのRしか指定され得ないことを意味する。いくつかの場合に、単一の非トランザクションデータフィールドにおいてR個のキーを連結させることが可能であり得るが、いくつかの実施形態では、キーのサイズ及びフィールド長さに対する制限がそれを実現困難にしうる。従って、コインミキシングトランザクションにおける複数の出力のためのナンスパブリックキーRは、他のメカニズムを用いて共有されてもよい。
一例となる実施形態において、入力ノード202は、R個のナンスパブリックキーのうちの1つを含む非トランザクションデータフィールドを夫々有する更なるトランザクション212を生成する。更なるトランザクションの数は、出力の数と一致し得る。次いで、出力ノード204は、OP_RETURNコードなどの非トランザクションデータを含むトランザクションの存在を求めてブロックチェーンを探索又はモニタする。出力ノード204は、そのようなトランザクションを見つける場合に、非トランザクションデータを、それがナンスパブリックキーであり得るということに基づき取り出し、そのデータをそのパブリックキーマテリアルとともに使用して、可能な出力アドレスを生成する。次いで、出力ノード204は、生成された可能な出力アドレスがブロックチェーン上でコインミキシングトランザクションの出力として現れるかどうかを評価する。
他の例となる実施において、入力ノード202は、別個の、望ましくは暗号化された通信チャネルを用いて、ナンスパブリックキーRを、ブロックチェーン自体の外の出力ノード204へ転送する。次いで、出力ノード204は、対応するパブリックキーBPubを生成し、それらのアドレスへ値を移すコインミキシングトランザクションを求めてブロックチェーンを探索する。
出力ノード204がナンスパブリックキーRを直接には与えられず、むしろ、出力ノード204が、非トランザクションデータを含み、コインミキシングトランザクション内の対応する出力を識別しようとするトランザクションを見つけるようブロックチェーンを探索する場合に、出力ノード204は、入力ノード202によって移動されるべきであった総価値に累積的に加算される出力の組を見つけるまで、その探索を続けてよい。
図2は、入力ノード202が0.49コインを移動させるべきである一例を示す。コインはビットコイン、アルトコイン(altcoins)、又はその他の暗号通貨であってよい。この実例において、コインミキシングトランザクション210は、入力ノード202が参加するために利用可能であり、そこで、(固定された所定のデノミネーションにおいて)複数のデノミネーションがミキシングされている。すなわち、トランザクションは、複数の1コイン入力及び出力、複数の0.1コイン入力及び出力、複数の0.01コイン入力及び出力、並びに複数の0.001コイン入力及び出力、などを含む。他の例では、底10ではないデノミネーションを含め、更なるデノミネーションが含まれてもよい。
この例において、入力ノード202は、夫々0.1コインの量の5つの利用可能なUTXO206を使用して0.49コインを組み立てる。入力ノード202が0.1コイン単位で十分なUTXO206をたまたま持っていなかった場合には、それは、支払いを構成するために別のデノミネーションのUTXOを選択することになる。この例において、入力ノード202が0.49コイン支払いを構成するために0.5コインを入力している場合に、入力ノード202は、0.01コインのお釣りに対する権利を与えられることになるが、この例で見られるように、トランザクションが手数料を伴うことがある。9×0.001コインの量のお釣りが入力ノード202へ戻され、これは0.001コインのトランザクション手数料を示唆する。
5つの入力は、入力ノード202によって所有される異なるUTXO206に夫々由来する。出力は、4×0.1コイン及び9×0.01コインを含む。この例において、入力ノード202は、BPub,BPub,・・・,BPub13と示される13個の出力アドレスを生成する。
13個のパブリックナンスキーR(i=1,2,・・・,13)が出力ノード204と共有される。上述されたように、いくつかのプロトコルでは、キーを、コインミキシングトランザクション内の各々の非トランザクションデータフィールドに挿入することが可能であり得る。非トランザクションデータフィールドは、トランザクションに悪影響を及ぼさない何らかのタイプのデータフィールドである。データフィールドは、トランザクションと無関係なコメント、テキスト、又はその他データのための指定フィールドであってよい。いくつかの場合に、データフィールドは、フィールドが非トランザクションデータを含むことを示すために特定のコード又は信号によってマーク又は特定されてよい。上述されたように、ビットコインプロトコルでは、OP_RETURNコードがこの目的のために使用され得る。しかし、ビットコインプロトコルは、13個全てのナンスパブリックキーRがコインミキシングトランザクションに挿入され得ないように非トランザクション出力の使用を制限する。
ナンスパブリックキーRがコインミキシングトランザクション自体において非トランザクションフィールド内で共有され得ない場合に、入力ノード202はそれらを他の方法で共有する。一例において、入力ノード202はそれらを出力ノード204へ別個の暗号化されたチャネル又は通信を通じて送る。他の例において、入力ノード202は、各ナンスパブリックキーRを各々のトランザクションの非トランザクションデータフィールド内に置くことによって、それらをブロックチェーンを通じて共有する。
出力ノード204は、ブロックチェーンをスキャンして、入力ノード202からの支払いを含む可能性があるトランザクションを探す。探索は、非トランザクションデータの存在を示す特定の信号又はコード(場合によっては、ナンスパブリックキーであり得る。)を含むトランザクションを識別することに基づいてよい。1つの実施において、検出される信号は、ビットコインプロトコルにおけるOP_RETURNコード(又はその機能的同等物)などの、非トランザクションコードである。このコードは、コードに続くデータが非トランザクションであることを示す。
この例において、コインミキシングトランザクション210自体又は13この更なるトランザクション212の組のいずれかに、非トランザクションデータを含む少なくとも13個のヌル出力が存在する。フィールドごとに、次いで、出力ノード204は、データ(それが、ナンスパブリックキーRであるかもしれないと推測するもの。)を取り出し、そのBPriv及びBPrivと、式:

BPriv=H(BPriv)+BPriv

とに基づき、BPriv及び対応するBPubを計算する。取り出されたデータが、秘密の出力アドレスを生成するために入力ノード202によって使用されたナンスパブリックキーRの1つである場合に、出力ノード204は、トランザクション210における出力アドレスの1つに対応するBPubを成功裏に生成したことになる。それは、計算されたBPubをトランザクション210の出力アドレスと単に比較して、自身への支払いの1つを正確に識別したことを確認し得る。出力ノード204は、今や対応するプライベートキーBPrivを有するので、そのUTXOを所有する。
明らかなように、図2の例は、入力ノード202が、支払いを累積的に構成するUTXO206の組み合わせを見つけることができ、且つ、トランザクション210に参加することができる十分な量の複数の底10デノミネーションをミキシングするトランザクション210を含む。いくつかの状況で、そのようなコインミキシングトランザクションは、参加するために利用可能でないことがあるか、あるいは、完了に失敗することがある。
また、明らかなように、図2の例は、以下の議論において、暗号通貨及び支払いの分散に特有であり、一方で、記載されるプロセス及びシステムは、所定のデータ記録特性(その一例が、所定のデノミネーションに値を適合させることである。)に一致するデータ記録特性に基づくデータ記録(その一例は暗号資産価値である。)の分配に適用可能である。
図3は、複数のコインミキシングトランザクション302、304が使用される他の例となる支払いプロセス300を表す。
この例において、入力ノード202は、利用可能なコインミキシングトランザクション302、304に基づき利用可能なUTXO206を選択することにおいて制約されている。この実例において、1つのコインミキシングトランザクション302は、0.1コインデノミネーションをミキシングするためのものであり、他のコインミキシングトランザクション304は、0.01コインデノミネーションをミキシングするためのものであると仮定される。トランザクション302、304の夫々に参加することは、トランザクション手数料、この例では0.00001コインを前提とする。手数料は、入力ノード202によって、過分の支払い及びお釣りに依存するのではなく、その量の別個のUTXO206を用いてトランザクションに入力される。
入力ノード202は、前の例で見られたように5×0.1コインを使用することができない。これは、コインミキシングトランザクション302が0.01のお釣りを返すように必ずしも設計されておらず、出力ノード204への出力支払いが0.01コインの過分の支払いを生じさせることになるからである。従って、入力ノード202は、トランザクション302でミキシングされる4×0.1コインと、トランザクション304でミキシングされる9×0.01コインを使用して支払いを構成し得る。出力は、同様に、トランザクション302からの4×0.1コイン及びトランザクション304からの9×0.01コインになる。複数の非トランザクションデータフィールドが、使用されている特定の実施/プロトコルにおいて許される場合には、ナンスパブリックキーR、R、R、Rは、トランザクション302内の非トランザクションデータフィールドに置かれ、残りのナンスパブリックキーR乃至R13は、トランザクション304内の非トランザクションデータフィールドに置かれる。代替的に、ナンスパブリックキーRは、別個の通信チャネルを通じて出力ノード204と共有されるか、あるいは、非トランザクションデータフィールドにおいてナンスパブリックキーRの1つを夫々含む別々の個別的なブロックチェーントランザクションを通じて共有される。
当業者に理解されるように、更なる他の例となるプロセスは、支払いを達成するよう他のデノミネーション及びコインミキシングトランザクションを使用してもよい。
明らかなように、上記のプロセス200及び300に参加するために、入力ノード202は、正確なデノミネーションで、利用可能な十分なUTXO206を有する。入力ノード202によって所有されているUTXO206が、所定のデノミネーションでのコインミキシングに参加するための正確なデノミネーションにない状況があり得る。1つの実施において、入力ノード202は、所定のデノミネーションで支払いを受け取りたいことを支払人に信号で伝えるよう構成されてよい。それにより、入力ノード202は、その後に行うつもりである支払いに利用可能なUTXOを有することになる。いくつかの場合に、入力ノード202は、そのUTXO206を、所定のデノミネーションを有する複数のUTXO206に積極的に崩す又は分解するよう構成されてよい。そのような機能は、ウォレットソフトウェア内に組み込まれてよく、UTXO206を所定のデノミネーションに分解するようトランザクションを、そのようなトランザクションが無視可能な又はゼロのトランザクション手数料で実施され得るという条件で、積極的に生成し得る。いくつかの事例において、ウォレットソフトウェアは、この機能を有効又は無効にするよう構成されてよい。有効にされる場合に、ウォレットソフトウェアは、それらのトランザクションをバックグラウンドで生成及び実行してよい。いくつかの実施において、ソフトウェアは、特に、任意の手数料が分解トランザクションのために支払われるべきである場合に、トランザクションを実行する前に、ユーザ承認のために、提案される分解トランザクションを表示してもよい。
これより図4を参照すると、図4は、本願の態様に従って、入力ノードから出力ノードへブロックチェーンに基づく支払いを行うための一例となる方法400をフローチャート形式で示す。方法400は、動作402で出力ノードからパブリックキーマテリアルを取得することを含む。この例において、パブリックキーマテリアルはBPriv及びBPrivを含む。なお、いくつかの他の実施では、出力ノードのパブリックキーマテリアルは別の形態をとってもよい。
入力ノードは次いで、動作404で、出力ノードへの支払いを構成するよう、利用可能なUTXOのそのプールからUTXOを選択する。選択されるUTXOは、利用可能なコインミキシングトランザクションのデノミネーションに基づいてよい。選択されるUTXOは更に、関与するUTXOの数を最小限とすることに基づいてもよい。選択されるUTXOはまた更に、入力ノードへ戻されるお釣りを最小限とすることに基づいてもよい。他の要因も、支払いを構成することになるUTXOを識別するための選択プロセスにおいて使用されてよい。多くの場合に、支払いは複数のUTXOから構成され得るが、いくつかの場合に、単一のUTXOが選択されてもよい。UTXOの累積価値は、総支払い量以上である。
動作404で、入力ノードはまた、出力ノードへの支払いを構成することになる出力の数及びデノミネーションも決定する。出力デノミネーションは、所定のデノミネーションから選択され、利用可能なコインミキシングトランザクションのデノミネーションに基づき選択されてよい。
動作406で、出力の数を決定すると、入力ノードは次いで、出力の夫々について乱数rを選択し、出力ごとに、その関連する乱数rと、出力ノードからのパブリックキーマテリアルとに基づき、BPub出力アドレスを生成する。
次いで、入力ノードは、動作408で、入力及び出力を1つ以上のコインミキシングトランザクションに挿入する。
動作410で、入力ノードは、ナンスパブリックキーRを出力ノードと共有する。夫々のナンスパブリックキーRは、各々の出力アドレスBPubを生成する際に使用される乱数rの各々1つに対応する。いくつかの実施において、ナンスパブリックキーRは、コインミキシングトランザクションの1つ以上の非トランザクションデータフィールド内に挿入される。いくつかの実施において、ナンスパブリックキーRは、別個の付加的なトランザクション(ナンスパブリックキーRごとに最大で1つまでのトランザクション)内の非トランザクションデータフィールドに挿入される。更なる他の実施において、入力ノードは、ナンスパブリックキーRを、ブロックチェーンプロトコルの外の別個の通信チャネルを介して出力ノードと共有する。
次いで、入力ノードは、動作412で、それが1つ以上のトランザクション内に挿入した入力の夫々に署名する。
図5は、ブロックチェーン技術を用いて出力ノードで支払いを受け取るための一例となる方法500をフローチャート形式で示す。出力ノードは最初に、動作502で、そのパブリックキーマテリアルを公開又は利用可能にする。この例となる方法500では、パブリックキーマテリアルは2つのパブリックキーBPub及びBPubである。それは、このマテリアルを、出力ノードへ支払いを行うつもりである入力ノードへ供給し得る。この例において、出力ノードは、来るべき支払い及び支払いの量を知っていると仮定される。しかし、出力ノードがそのパブリックキーマテリアルを広く公開しており、前もって知らない金額で任意数の可能なソースから支払いを受ける可能性がある場合があり得る。そのような場合に、出力ノードは、後述されるように、非トランザクションデータを求めてブロックチェーンを断続的にスキャンし、見つけられた如何なるそのようなデータもテストする。
動作504で、出力ノードは、入力ノードからの支払いに関係があり得るトランザクションを求めてブロックチェーンを探索し始める。特に、出力ノードは、非トランザクションデータの存在を示す非トランザクション信号又はコードを含むトランザクションを探す。いくつかの実施形態において、出力ノードは、その探索を、非トランザクションデータを含むコインミキシングトランザクションに制限してもよい。明らかなように、この例は、非トランザクションデータがコインミキシングトランザクション自体に含まれていると仮定する。上述されたように、いくつかの実施において、それは不可能なことがあり、ナンスパブリックキーマテリアルは、他の方法で、例えば、非トランザクションデータフィールドを含む更なるトランザクションを通じて、又は別個の非ブロックチェーン通信チャネルを通じて、出力ノードと共有されてもよい。例えば、ナンスパブリックキーが夫々別々のトランザクションに含まれる場合に、出力ノードは、1つのP2PKH出力及び1つのヌルデータ(Null Data)出力を含むトランザクションを探してもよい。
動作506で、非トランザクションデータを含む候補トランザクションを識別すると、出力ノードは、非トランザクションデータを取り出し、データがトランザクションにおける出力アドレスの1つを生成するために使用され得るかどうかをテストする。上述されたように、非トランザクションデータがナンスパブリックキーRである場合には、次いで、そのパブリックキーマテリアルを用いて、出力ノードは、パブリック−プライベートキー対BPriv及びBPubを生成することが可能であり、生成されたパブリックキーBPubは、出力アドレスの1つに対応することになる。動作508で、出力ノードは、生成されたキーがトランザクション内の出力アドレスに対応するかどうかを評価する。そうでない場合には、出力ノードは非トランザクションデータを捨て、ブロックチェーンを探索することに戻り、あるいは、現在の候補トランザクションにおいて更なる非トランザクションデータが存在する場合には、その更なる非トランザクションデータをテストする。
BPriv及びBPubを決定することによって支払いの1つを識別することに成功したと出力ノードが動作508で決定する場合に、それは、動作510によって示されるように、BPubに割り当てられているその支払いを、入力ノードによって支払われる総額に加えることに進む。動作512で、出力ノードは、入力ノードからの支払いの累積価値が全部の支払いを達成しているかどうかを評価してよい。そうでない場合には、それは探索を続ける。
明らかなように、上記の例となる実施形態において記載される動作の一部は、プロセスに実質的に影響を及ぼさずに、いくつかの実施において同時に又は異なる順序で行われてよい。本願は、これらの変形及び変更を包含する。
コインミキシングトランザクションは、いくつかの実施において、中央サーバから実行されてもよい。しかし、それらはまた、完全に分散されてもよく、このとき、全ての入力ノードは、ブラインド署名(Blind-signing)サーバとして動作する。ビットコインとの関連で、ジョインマーケット(JoinMarket)は、参加を奨励し且つ換金性を高めるコインミキシングの非中央集権型の実施の例である。
これより図6を参照すると、図6は、参加ノード600の単純化された例をブロック図形式で示す。ノード600はプロセッサ602を含む。プロセッサ602には、1つ以上のマイクロプロセッサ、特定用途向け集積回路(ASIC)、マイクロコントローラ、又は同様のコンピュータ処理装置が含まれ得る。ノード600はメモリ604を更に含む。メモリ604には、値、変数、及びいくつかの事例では、プロセッサにより実行可能なプログラム命令を記憶する永久的且つ非一時的なメモリが含まれ得る。ノード600は、有線又な無線ネットワークにわたってネットワークコネクティビティを提供するネットワークインターフェイス606を更に含む。
ノード600は、プロセッサ実行可能命令を含むプロセッサ実行可能ブロックチェーンアプリケーション608を含む。プロセッサ実行可能命令は、実行される場合に、プロセッサ602に、本明細書中で記載される機能又は動作の1つ以上を実行させる。
本明細書中で記載されるデバイス及びプロセス、並びにノードを構成するために、記載される方法/プロセスを実装するあらゆるモジュール、ルーチン、プロセス、スレッド、アプリケーション、又は他のソフトウェアコンポーネントが、標準のコンピュータプログラミング技術及び言語を用いて実現され得ることが理解されるだろう。本願は、特定のプロセッサ、コンピュータ言語、コンピュータプログラミング仕様、データ構造、他のそのような実施詳細に限定されない。
上記の実施形態は、本発明を制限するのではなく説明しているのであって、当業者は、添付の特許請求の範囲によって定義される本発明の適用範囲から外れることなしに、多くの代替の実施形態を設計することが可能である点が留意されるべきである。特許請求の範囲において、かっこ内の如何なる参照符号も、特許請求の範囲を制限するものとして解釈されるべきではない。語「有する」(comprising及びcomprises)などは、いずれかの請求項又は明細書の全文に挙げられているもの以外の要素又はステップの存在を除外しない。本明細書中、「有する」(comprises)は、「含むか、又は〜から成る」(includes or consists of)を意味し、「有する」(comprising)は、「含むか、又は〜から成る」(including or consisting of)を意味する。要素の単一参照は、そのような要素の複数参照を除外せず、逆もまた同じである。本発明は、いくつかの個別要素を有するハードウェアを用いて、且つ、適切にプログラムされたコンピュータを用いて、実施されてよい。いくつかの手段を列挙している装置クレームでは、それらの手段のうちのいくつかが、ハードウェアの同一アイテムによって具現されてもよい。特定の手段が相互に異なる請求項で挙げられているという単なる事実は、それらの手段の組み合わせが有利に使用され得ないことを示すものではない。

Claims (16)

  1. ブロックチェーンを用いて入力ノードと出力ノードとの間で全データ記録を移動させる、コンピュータにより実施される方法であって、
    前記出力ノードに関連するパブリックキーマテリアルを取得することと、
    前記入力ノードによって制御される利用可能なデータ記録及び前記全データ記録に基づき、前記利用可能なデータ記録から選択される1つ以上の入力、及び複数の出力を決定することであり、前記1つ以上の入力の累計は前記全データ記録に等しいか又はそれより多く、各出力は、一連の所定のデータ記録特性から選択される各々のデータ記録特性に関し、前記複数の出力の和は前記全データ記録に一致する、前記決定することと、
    前記複数の出力の夫々について、
    無作為に数を選択し、
    前記パブリックキーマテリアル及び前記乱数に基づき出力アドレスを生成し、
    当該出力の前記各々のデータ記録特性を有するデータ記録を割り当てられるよう記録分散トランザクションに前記出力アドレスを挿入し、
    前記乱数からナンスパブリックキーを生成し、
    前記ナンスパブリックキーを前記出力ノードと共有することと、
    前記1つ以上の入力に署名することと
    を有する方法。
  2. 前記1つ以上の入力及び前記複数の出力を決定することは、利用可能なデータ記録分散トランザクションに部分的に基づく、
    請求項1に記載の方法。
  3. 前記利用可能なデータ記録分散トランザクションは、1つ以上の特定のデータ記録特性を有するデータ記録を分配することを夫々伴い、
    前記1つ以上の入力及び前記複数の出力を決定することは、前記特定のデータ記録特性の各々1つに基づき前記1つ以上の入力及び前記複数の出力の夫々のデータ記録を整合させることに部分的に基づく、
    請求項2に記載の方法。
  4. 前記複数の出力について、前記出力アドレスを挿入することは、異なるデータ記録特性を有する複数のデータ記録を分配するよう構造化された単一のデータ記録分散トランザクションに全ての出力アドレスを出力として挿入することを含む、
    請求項1乃至3のうちいずれか一項に記載の方法。
  5. 前記複数の出力について、前記出力アドレスを挿入することは、少なくとも1つの出力アドレスを第1データ記録分散トランザクションに挿入し、少なくとももう1つの出力アドレスを第2データ記録分散トランザクションに挿入することを含み、
    前記第1データ記録分散トランザクションは、前記第2データ記録分散トランザクションにおいて分配されているデータ記録のデータ記録特性とは異なるデータ記録特性を有するデータ記録を分配することを目的とする、
    請求項1乃至3のうちいずれか一項に記載の方法。
  6. 前記データ記録特性は、前記データ記録において指定される値であり、
    前記一連の所定のデータ記録特性は、最大値及び該最大値の1/10倍によって定義される級数に基づく値の連続であり、nは正の整数である、
    請求項1乃至5のうちいずれか一項に記載の方法。
  7. 前記パブリックキーマテリアルは、2つのパブリックキーBPub及びBPubを有し、
    出力iの前記出力アドレスは、
    BPub=H(rBPub)G+BPub
    によって与えられ、
    Gは、楕円曲線ベースポイントであり、H()は、ハッシュ関数であり、rは、出力iについて選択された前記乱数である、
    請求項1乃至6のうちいずれか一項に記載の方法。
  8. 前記ナンスパブリックキーRは、R=rGとして生成される、
    請求項7に記載の方法。
  9. 前記ナンスパブリックキーを共有することは、
    前記データ記録分散トランザクション内の非トランザクションデータフィールドに前記ナンスパブリックキーを挿入すること、
    前記データ記録分散トランザクションとは異なる別個のトランザクション内の非トランザクションデータフィールドに前記ナンスパブリックキーを挿入すること、又は
    非ブロックチェーン通信を使用することにおいて前記ナンスパブリックキーを前記出力ノードへ送ること
    のうちの1つを有する、
    請求項1乃至8のうちいずれか一項に記載の方法。
  10. ブロックチェーンを用いて入力ノードと出力ノードとの間で全データ記録を移動させる、コンピュータにより実施される方法であって、当該方法は、前記出力ノードで実施され、
    前記出力ノードに関連するパブリックキーマテリアルを前記入力ノードへ供給することと、
    前記入力ノードからナンスパブリックキーを取得することと、
    データ記録分散トランザクションを求めてブロックチェーンを探索することであり、該データ記録分散トランザクションは複数の入力アドレス及び複数の出力アドレスを有し、各出力アドレスは、一連の所定のデータ記録特性の中の各々のデータ記録特性を有するデータ記録を割り当てられている、前記探索することと、
    前記ナンスパブリックキー及び前記パブリックキーマテリアルに基づきパブリック−プライベートキー対を決定することと、
    前記パブリック−プライベートキー対からのパブリックキーを前記データ記録分散トランザクション内の前記出力アドレスの1つと照合し、該照合に基づき、その出力アドレスに割り当てられている前記データ記録を暫定データ記録コンピレーションに加えることと、
    前記暫定データ記録コンピレーションが前記全データ記録に満たないかどうかを判定し、そうである場合には、前記暫定データ記録コンピレーションが前記全データ記録に一致するまで前記探索すること、前記決定すること、及び前記照合することを続けることと
    を有する方法。
  11. 前記パブリックキーマテリアルは、2つのパブリックキーBPub及びBPubを有し、該2つのパブリックキーは、対応する各々のプライベートキーBPriv及びBPrivを有する、
    請求項10に記載の方法。
  12. i番目のパブリック−プライベートキー対を決定することは、
    BPriv=H(BPriv)+BPriv
    を決定することを有し、
    BPrivは、前記パブリック−プライベートキー対のプライベートキーであり、H()は、ハッシュ関数であり、Rは、前記ナンスパブリックキーであり、
    前記i番目のパブリック−プライベートキー対のパブリックキーは、BPub=BPrivGとして決定され、Gは、楕円曲線ベースポイントである、
    請求項11に記載の方法。
  13. 前記ブロックチェーンを探索することは、非トランザクションコードを含むデータ記録分散トランザクションを識別することを有し、
    前記ナンスパブリックキーを取得することは、前記データ記録分散トランザクションの非トランザクションデータフィールドから前記ナンスパブリックキーを取り出すことを有する、
    請求項10乃至12のうちいずれか一項に記載の方法。
  14. 前記ナンスパブリックキーを取得することは、非トランザクションコードを含むトランザクションを求めて前記ブロックチェーンを探索し、識別される場合に、該トランザクション内の非トランザクションデータフィールドから前記ナンスパブリックキーを取り出すことを有する、
    請求項10乃至12のうちいずれか一項に記載の方法。
  15. ブロックチェーンを用いて入力ノードと出力ノードとの間で全データ記録を移動させる計算装置であって、
    当該計算装置は、前記入力ノード又は前記出力ノードの1つであり、
    当該計算装置は、
    プロセッサと、
    メモリと、
    ネットワークコネクティビティを提供するネットワークインターフェイスと、
    前記プロセッサによって実行される場合に、該プロセッサに、請求項1乃至14のうちいずれか一項に記載の方法を実行させるコンピュータ実行可能命令を含むブロックチェーンアプリケーションと
    を有する、計算装置。
  16. ブロックチェーンを用いて入力ノードと出力ノードとの間で全データ記録を移動させるプロセッサ実行可能命令を記憶している非一時的なプロセッサ可読媒体であって、
    前記プロセッサ実行可能命令は、前記入力ノード又は前記出力ノードの1つにおけるプロセッサによって実行される場合に、該プロセッサに、請求項1乃至14のうちいずれか一項の方法を実行させる、
    非一時的なプロセッサ可読媒体。
JP2019553427A 2017-04-11 2018-04-10 ブロックチェーンを用いてデータ記録を分配するシステム及び方法 Active JP7210466B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023002426A JP2023040202A (ja) 2017-04-11 2023-01-11 ブロックチェーンを用いてデータ記録を分配するシステム及び方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1705858.7 2017-04-11
GBGB1705858.7A GB201705858D0 (en) 2017-04-11 2017-04-11 Computer-implemented system and method
PCT/IB2018/052488 WO2018189667A1 (en) 2017-04-11 2018-04-10 System and method for distributing data records using a blockchain

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023002426A Division JP2023040202A (ja) 2017-04-11 2023-01-11 ブロックチェーンを用いてデータ記録を分配するシステム及び方法

Publications (3)

Publication Number Publication Date
JP2020513176A true JP2020513176A (ja) 2020-04-30
JP2020513176A5 JP2020513176A5 (ja) 2021-04-30
JP7210466B2 JP7210466B2 (ja) 2023-01-23

Family

ID=58744815

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019553427A Active JP7210466B2 (ja) 2017-04-11 2018-04-10 ブロックチェーンを用いてデータ記録を分配するシステム及び方法
JP2023002426A Pending JP2023040202A (ja) 2017-04-11 2023-01-11 ブロックチェーンを用いてデータ記録を分配するシステム及び方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023002426A Pending JP2023040202A (ja) 2017-04-11 2023-01-11 ブロックチェーンを用いてデータ記録を分配するシステム及び方法

Country Status (8)

Country Link
US (1) US11886420B2 (ja)
EP (1) EP3610448A1 (ja)
JP (2) JP7210466B2 (ja)
KR (2) KR102595998B1 (ja)
CN (1) CN110546672A (ja)
GB (1) GB201705858D0 (ja)
SG (2) SG11201908756SA (ja)
WO (1) WO2018189667A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11989208B2 (en) * 2018-08-06 2024-05-21 Inveniam Capital Partners, Inc. Transactional sharding of blockchain transactions
CN109377215B (zh) 2018-08-06 2020-04-21 阿里巴巴集团控股有限公司 区块链交易方法及装置、电子设备
CN110084604B (zh) * 2018-10-25 2020-04-28 阿里巴巴集团控股有限公司 基于区块链的交易处理方法及装置、电子设备
CN111899103B (zh) 2018-10-25 2024-05-03 创新先进技术有限公司 基于区块链的交易处理方法及装置、电子设备
CN109474589B (zh) * 2018-11-05 2020-12-01 江苏大学 基于以太坊的隐私保护传输方法
US10700850B2 (en) 2018-11-27 2020-06-30 Alibaba Group Holding Limited System and method for information protection
CN113169881A (zh) * 2018-11-27 2021-07-23 区块链控股有限公司 经由区块链网络高效且安全地处理、访问和传输数据的系统和方法
US11218455B2 (en) 2018-11-27 2022-01-04 Advanced New Technologies Co., Ltd. System and method for information protection
US11127002B2 (en) 2018-11-27 2021-09-21 Advanced New Technologies Co., Ltd. System and method for information protection
WO2019072275A2 (en) 2018-11-27 2019-04-18 Alibaba Group Holding Limited SYSTEM AND METHOD FOR INFORMATION PROTECTION
EP3866382B1 (en) 2018-11-27 2023-06-21 Advanced New Technologies Co., Ltd. System and method for information protection
MX2019004543A (es) 2018-11-27 2019-11-11 Alibaba Group Holding Ltd Sistema y metodo para la proteccion de informacion.
ES2880453T3 (es) * 2018-11-30 2021-11-24 Advanced New Technologies Co Ltd Utilizar tabla de números de un solo uso para resolver fallas de transacciones concurrentes de cadena de bloques
CN109685657B (zh) * 2018-12-25 2023-07-21 众安信息技术服务有限公司 在区块链网络中处理交易的方法和节点设备以及存储介质
US20200242593A1 (en) * 2019-01-25 2020-07-30 International Business Machines Corporation Value optimizing data store
CN111680735B (zh) * 2020-06-02 2022-09-06 浙江大学 一种基于启发式交易分析的混币服务分析方法
WO2022003518A1 (en) * 2020-06-29 2022-01-06 Kirobo LTD. Reversible blockchain transaction techniques
US11784798B2 (en) * 2021-03-30 2023-10-10 Visa International Service Association System, method, and computer program product for data security
CN113438072B (zh) * 2021-06-09 2022-04-08 北京理工大学 一种基于派生链的区块链隐蔽通信方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150269539A1 (en) * 2014-03-18 2015-09-24 nTrust Technology Solutions Corp. Virtual currency system
US20170048209A1 (en) * 2015-07-14 2017-02-16 Fmr Llc Crypto Key Recovery and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002216428A (ja) * 2001-01-22 2002-08-02 Victor Co Of Japan Ltd 補助情報記録方法、補助情報記録装置、補助情報再生方法、補助情報再生装置、情報記録媒体、情報伝送装置、情報伝送方法、データ再生方法、およびデータ再生装置
US7088822B2 (en) * 2001-02-13 2006-08-08 Sony Corporation Information playback device, information recording device, information playback method, information recording method, and information recording medium and program storage medium used therewith
ES2297178T3 (es) * 2002-07-23 2008-05-01 Samsung Electronics Co., Ltd. Estructura de indice de metadatos, metodo para suministrar indices de metadatos, metodo de busqueda de metadatos y dispositivo que utiliza dichos indices de metadatos.
US20150120569A1 (en) * 2013-10-31 2015-04-30 Bitgo, Inc. Virtual currency address security
US10423961B1 (en) * 2014-02-19 2019-09-24 Hrl Laboratories, Llc System and method for operating a proactive digital currency ledger
US9398018B2 (en) * 2014-03-18 2016-07-19 nTrust Technology Solutions Corp. Virtual currency system
CA2943230C (en) * 2014-03-18 2018-07-17 nTrust Technology Solutions Corp. Virtual currency system
US9858569B2 (en) * 2014-03-21 2018-01-02 Ramanan Navaratnam Systems and methods in support of authentication of an item
US10346814B2 (en) * 2014-06-04 2019-07-09 MONI Limited System and method for executing financial transactions
US20150356523A1 (en) 2014-06-07 2015-12-10 ChainID LLC Decentralized identity verification systems and methods
CN105323064B (zh) * 2014-07-01 2018-07-10 柯呈翰 于线上加上即时文件动态标签、加密的系统及方法
CN104320262B (zh) * 2014-11-05 2017-07-21 中国科学院合肥物质科学研究院 基于加密数字货币公开账本技术的用户公钥地址绑定、检索和校验的方法及系统
US9735958B2 (en) 2015-05-19 2017-08-15 Coinbase, Inc. Key ceremony of a security system forming part of a host computer for cryptographic transactions
US20170085555A1 (en) 2015-07-14 2017-03-23 Fmr Llc Point-to-Point Transaction Guidance 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
US10769600B2 (en) * 2016-09-26 2020-09-08 International Business Machines Corporation Cryptocurrency transactions using debit and credit values
CN106549749B (zh) 2016-12-06 2019-12-24 杭州趣链科技有限公司 一种基于加法同态加密的区块链隐私保护方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150269539A1 (en) * 2014-03-18 2015-09-24 nTrust Technology Solutions Corp. Virtual currency system
US20170048209A1 (en) * 2015-07-14 2017-02-16 Fmr Llc Crypto Key Recovery and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
JAN-WILLEM SELIJ: "COINSHUFFLE ANONYMITY IN THE BLOCK CHAIN", [ONLINE], JPN5020004895, 20 July 2015 (2015-07-20), pages 1 - 36, ISSN: 0004920375 *
NICOLAS T COURTOIS; ET AL: "STEALTH ADDRESS AND KEY MANAGEMENT TECHNIQUES IN BLOCKCHAIN SYSTEMS :", 3RD INTERNATIONAL CONFERENCE ON INFORMATION SYSTEMS SECURITY AND PRIVACY (ICISSP ‘17), JPN5020004710, February 2017 (2017-02-01), ISSN: 0004711015 *
TIM RUFFING; ET AL: "COINSHUFFLE: PRACTICAL DECENTRALIZED COIN MIXING FOR BITCOIN", ANNUAL INTERNATIONAL CONFERENCE ON THE THEORY AND APPLICATIONS OF CRYPTOGRAPHIC 以下備考, vol. 8713, JPN5020004894, 14 August 2014 (2014-08-14), pages 345 - 364, XP055479628, ISSN: 0004920376, DOI: 10.1007/978-3-319-11212-1_20 *
原 啓祐 ほか: "CryptoNoteに対するサイズ効率化", 2017年 暗号と情報セキュリティシンポジウム(SCIS2017)予稿集 [USB] 2017年 暗, vol. 1F2−2, JPN6022006499, 24 January 2017 (2017-01-24), JP, pages 1 - 8, ISSN: 0004711014 *
淵田 康之: "特集:イノベーションと金融 ブロックチェーンと金融取引の革新", 野村資本市場クォータリー, vol. 第19巻第2号(通巻74号), JPN6016047552, 1 November 2015 (2015-11-01), JP, pages 11 - 35, ISSN: 0004711013 *

Also Published As

Publication number Publication date
JP2023040202A (ja) 2023-03-22
CN110546672A (zh) 2019-12-06
WO2018189667A1 (en) 2018-10-18
US20210124731A1 (en) 2021-04-29
KR20190138803A (ko) 2019-12-16
SG10202110666RA (en) 2021-11-29
KR20230149870A (ko) 2023-10-27
KR102595998B1 (ko) 2023-11-01
EP3610448A1 (en) 2020-02-19
US11886420B2 (en) 2024-01-30
JP7210466B2 (ja) 2023-01-23
GB201705858D0 (en) 2017-05-24
SG11201908756SA (en) 2019-10-30

Similar Documents

Publication Publication Date Title
JP7210466B2 (ja) ブロックチェーンを用いてデータ記録を分配するシステム及び方法
EP3449452B1 (en) Implementing logic gate functionality using a blockchain
US20220092586A1 (en) Off network identity tracking in anonymous cryptocurrency exchange networks
US11757643B2 (en) System and method for authenticating user identity
US20190149337A1 (en) Implementing logic gate functionality using a blockchain
TW201840159A (zh) 用於使用區塊鏈之安全資料記錄分配之方法及系統
CN110366839B (zh) 计算机实现的系统和方法
EP3247070B1 (en) Cryptocurrency-based event participation verification
CN107967416A (zh) 版权维权检测的方法、装置和系统
JP2019511150A (ja) ブロックチェーンを介して資産関連活動を制御するシステム及び方法
CN109074579A (zh) 使用分布式散列表和区块链保护计算机软件的方法及系统
AU2019378253B2 (en) Distributed ledger systems, methods and devices
Pakki et al. Everything you ever wanted to know about bitcoin mixers (but were afraid to ask)
US20200364788A1 (en) Computer-implemented systems and methods for enhanced bitcoin wallets
Hellwig et al. Privacy and anonymity
Kizza Blockchains, Cryptocurrency, and Smart Contracts Technologies: Security Considerations
Abed et al. Towards maintaining confidentiality and anonymity in secure blockchain-based e-voting
Swammy et al. Creation of a distributed ledger
Gulame et al. Security Aspects of Blockchain Technology
Reitan Privacy Enhancing Features in Blockchain Technologies
Das Design of blockchain based annonymous secure voting system using smart contract
Jaafar et al. Educational Certificate Verification System: Enhancing Security and Authenticity using Ethereum Blockchain and IPFS
Aliu et al. BITCOIN MINING TECHNOLOGIES AND THEIR EFFECT AS A FORM OF INVESTMENT

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210311

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210311

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220222

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220817

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

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20221214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230111

R150 Certificate of patent or registration of utility model

Ref document number: 7210466

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150