JP7337861B2 - 分散型台帳に関連するトランザクションのオフチェーン交換のためのコンピュータにより実施されるシステム及び方法 - Google Patents

分散型台帳に関連するトランザクションのオフチェーン交換のためのコンピュータにより実施されるシステム及び方法 Download PDF

Info

Publication number
JP7337861B2
JP7337861B2 JP2020573360A JP2020573360A JP7337861B2 JP 7337861 B2 JP7337861 B2 JP 7337861B2 JP 2020573360 A JP2020573360 A JP 2020573360A JP 2020573360 A JP2020573360 A JP 2020573360A JP 7337861 B2 JP7337861 B2 JP 7337861B2
Authority
JP
Japan
Prior art keywords
transaction
participant
blockchain
computer
participants
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020573360A
Other languages
English (en)
Other versions
JP2021530163A (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 JP2021530163A publication Critical patent/JP2021530163A/ja
Priority to JP2023135302A priority Critical patent/JP2023159328A/ja
Application granted granted Critical
Publication of JP7337861B2 publication Critical patent/JP7337861B2/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in 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/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • 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/2365Ensuring data consistency and integrity
    • 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/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/108Remote banking, e.g. home banking
    • 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
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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

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)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Description

本願明細書及び開示は、概して、ブロックチェーンネットワーク上へのトランザクションの提出及びそれらの拡散の前にオフチェーンでトランザクションを交換するのに適する、コンピュータにより実施される方法及びシステムに関する。本開示は、限定ではなく、Bitcoinブロックチェーンと共に使用することに特に適する。
本願明細書では、私たちは、全ての形式の電子的な、コンピュータに基づく、分散型台帳を包含するために用語「ブロックチェーン」を使用する。これらは、総意に基づくブロックチェーン及びトランザクションチェーン技術、許可及び未許可台帳、共有台帳、並びにこれらの変形を含む。他のブロックチェーン実装が提案され開発されているが、ブロックチェーン技術の最も広く知られているアプリケーションは、Bitcoin台帳である。Bitcoinは、ここでは、便宜上及び説明の目的で参照されることがあるが、本開示はBitcoinブロックチェーンと共に使用することに限定されず、代替のブロックチェーン実装及びプロトコルが本開示の範囲に包含されることに留意すべきである。
ブロックチェーンは、コンピュータに基づく非集中型の分散型システムとして実装される総意に基づく電子台帳であり、ブロックにより構成され、ブロックはまたトランザクション及び他の情報により構成される。Bitcoinの場合には、各トランザクションは、ブロックチェーンシステムの中の参加者間でデジタルアセットの制御の移転を符号化するデータ構造であり、少なくとも1つのインプット及び少なくとも1つのアウトプットを含む。各ブロックは前のブロックから当該ブロックまでのハッシュを含み、一緒に繋げられて、起源以来ブロックチェーンに書き込まれている全てのトランザクションの永久的な変更不可能な記録を生成する。トランザクションは、スクリプトとして知られている小さなプログラムを含む。スクリプトは、それらのインプット及びアウトプットを埋め込まれ、トランザクションのアウトプットがどのように及び誰によりアクセス可能であるかを指定する。Bitcoinプラットフォームでは、これらのスクリプトはスタックに基づくスクリプト言語を用いて記述される。
トランザクションがブロックチェーンに書き込まれるためには、検証されなければならない。幾つかのネットワークノードは、マイナーとして動作し、各トランザクションが検証されることを保証するために作業を実行し、無効なトランザクションはネットワークから拒否される。例えば、ノードにインストールされたソフトウェアクライアントは、未使用トランザクションアウトプット(unspent transaction outputs:UTXO)を参照するトランザクションに対してこの検証作業を実行する。検証は、そのロック及びアンロックスクリプトを実行することにより実行されてよい。ロック及びアンロックスクリプトの実行が真(TRUE)と評価する場合、及び特定の他の条件が満たされた場合、トランザクションは有効であり、トランザクションはブロックチェーンに書き込まれてよい。したがって、トランザクションがブロックチェーンに書き込まれるためには、(i)トランザクションを受信したノードにより検証され、トランザクションが有効な場合には、ノードが該トランザクションをネットワーク内の他のノードに中継する、(ii)マイナーにより構築された新しいブロックに追加される、(iii)マイニングされる、つまり過去のトランザクションのパブリック台帳に追加される、ことが必要である。トランザクションは、実際に取り消し不可能なトランザクションを作成するために十分な数のブロックがブロックチェーンに追加されると、承認されたと考えられる。
ブロックチェーン技術は、暗号通貨の実装の使用のために最も広く知られているが、デジタル事業家が、Bitcoinの基づく暗号セキュリティシステム及び新しいシステムを実装するためにブロックチェーンに格納できるデータの両方の使用を開発し始めている。ブロックチェーンが、暗号通貨の分野に限定されない自動化タスク及びプロセスのために使用できれば、非常に有利になる。このようなソリューションは、ブロックチェーンの利益(例えば、永久性、イベントの記録の耐タンパ性、分散型処理、等)を利用しながら、それらの用途をより多様化し得る。
研究の一分野は、「スマートコントラクト」の実装のためのブロックチェーンに基づくコンピュータプログラムの使用である。これらは、機械可読コントラクト又は合意の条項の実行を自動化するよう設計されたコンピュータプログラムである。自然言語で記述される伝統的なコントラクトと異なり、スマートコントラクトは、結果を生成するためにインプットを処理できるルールを含む機械実行可能プログラムであり、これは次に該結果に依存して動作を実行させる。
公開型の公開台帳を提供するブロックチェーンは、任意の関心パーティが、特定のデジタルコイン、デジタルアセット、又はデジタルリソースの、一連のアドレスに渡る移動を追跡する能力を利用可能にする。公開型であり分散型である台帳は、システムを信頼する手段として動作するのに有用であるが、アドレスに渡りトランザクションを追跡するために与えられる能力は、特定の過去のトランザクションに関連するデジタルアセットを分析及び相関可能にしてしまう。この問題を解決するために、セキュリティ及び匿名化ソリューションが開発されている。これは、多くの現実世界の商用トランザクションが、法的理由、商業的理由、又はその両方で、本来機密であるために有用であり得る。従って、ブロックチェーンシステムは、ブロックチェーンの公共特性にも拘わらず、このような商業的トランザクションについてセキュリティ及び機密性の両方を補償することが可能でなければならない。
Bitcoin暗号プロトコルにおけるペンネーム(pseudonym)の使用は、匿名支払いを可能にするものと考えられることがあるが、ユーザアイデンティティを発見する様々な調査の成功は、Bitcoinネットワーク内の匿名性がそれほど容易に達成されないことを示している。匿名性に対する要求が残されているので、本開示は、1つ以上のデジタルアセット支払いの転送をセキュアな方法でオフチェーンで実施するための、複数の種類のトランザクション又はその組み合わせを実装することに基づく種々の技術的ソリューションを提案する。それにより、暗号プロトコル又は1つ以上のコンピューティングリソースの間のデジタルアセットの移転のためのプロトコルのために、アプリケーション層及びネットワーク層の両方で利用可能なセキュリティ及び匿名性のレベルを向上する。
本願明細書に記載されるような本開示の第1の態様によると、n>2人の参加者の間でブロックチェーントランザクションを交換し、後にブロックチェーン上に記憶するために該ブロックチェーントランザクションをブロックチェーンネットワーク上にブロードキャストするための、コンピュータにより実施される方法であって、
暗号鍵及び関連するブロックチェーンアドレスを生成し、参加者の間で交換するステップと、
参加者の間で交換されるべき前記ブロックチェーントランザクションの各々を、前記トランザクションをブロードキャストすることを担う参加者により請求される返金アウトプットを各ブロックチェーントランザクションに含めることにより、変更するステップと、
前記暗号鍵及び前記関連するブロックチェーンアドレスを用いて1つ以上のデポジットトランザクションを構成し、前記1つ以上のデポジットトランザクションを前記ブロックチェーンに提出するステップであって、前記1つ以上のデポジットトランザクションは、別の参加者にブロックチェーントランザクションを正しくブロードキャストする参加者に返金するため、及び彼らのブロックチェーントランザクションが正しくブロードキャストされなかった場合に参加者を補償するために構成される、ステップと、
前記参加者の間で前記変更されたブロックチェーントランザクションを署名し交換するステップと、
前記1つ以上のデポジットトランザクションの前記アウトプット及び前記変更されたブロックチェーントランザクションの前記返金アウトプットをインプットのために使用して、返金トランザクションを構成するステップと、
前記1つ以上のデポジットトランザクションの前記アウトプットをインプットのために使用して、補償トランザクションを構成するステップと、
前記補償トランザクション及び前記変更されたブロックチェーントランザクションをブロードキャストするステップと、
前記ブロックチェーン上で前記変更されたブロックチェーントランザクションを確認すると、前記返金トランザクションをブロードキャストするステップであって、参加者の変更されたブロックチェーントランザクションが前記ブロックチェーン上で確認されない場合、前記参加者は前記補償トランザクション内の関連する未使用アウトプットを請求する、ステップと、
を含むコンピュータにより実施される方法が提供される。
有利なことに、第1の態様の方法は、ユーザにより生成されたトランザクションのIPアドレスとトランザクションの中の該ユーザのブロックチェーンアドレスとの間のリンクを不明瞭にするために、ブロックチェーンネットワーク上で拡散する前に、複数のブロックチェーンユーザが彼らのトランザクションを交換することを可能にする方法を提案する。
当該方法は、トランザクションをオフチェーンで直接交換するための技術的ソリューションを提供する。当該方法における参加者は、デポジットを生成すること、及び返金及び補償方式が自動的に実施される方法が参加者間で交換されるトランザクションのブロックチェーンにおける承認に依存するように、彼らのトランザクションを変更することに合意し、従って、セキュリティを向上すると共に匿名性を提供する。当該方法は、任意の数(n>2)の参加者についてスケーリングされる。
設定されるべき上述の複数の異なる種類のトランザクション、つまり、デポジット、返金、補償、主要、等、及びそれらが互いに相互作用する方法を定義することにより、技術的利点が提供される。本開示は、本願明細書で、これらの種類のトランザクションの各々の構造、及び参加者間の鍵交換メカニズムも議論する。幾つかの実施形態では、中間結果を提供するこのような種類のトランザクションのシーケンスは、正確且つセキュアに行われるべきオフチェーン交換を可能にすると同時に、参加者に関連するIP又はネットワークエンドポイントに関連する匿名性を保護する。更に、後述するように、暗号化チャネル及び/又は署名及び/又はブロックチェーンアドレスのための1つ以上の暗号鍵を計算するための特定のメカニズムが、これらの利益を保証するために提案される。従って及び有利なことに、本開示、特に請求される態様及び実施形態は、分散型台帳に提供される前にオフチェーンで、デジタルアセット、つまり暗号通貨又はトークンに関連付けられ得る1つ以上のトランザクションを実施するための、セキュアな正確且つ拡張可能な技術を提案する。
暗号鍵及び関連するブロックチェーンアドレスを生成し、参加者の間で交換するステップは、
各参加者が、2つの秘密-公開鍵ペア(k ,P )及び(k ,P )を生成し、
前記参加者が、順序集合{U,U,...,Un-2,Un-1}を実現するためにランダム化され、
各参加者Uは、前記2つの公開鍵P 及びP を2人の他の参加者と交換し、
各参加者Uは、前記2人の他の参加者により提供される彼らの公開鍵P 及びP を用いて、ブロックチェーンアドレスのペア(α,β)を生成し、
各参加者Uは、ブロックチェーンアドレスの前記ペア(α,β)を前記2人の他の参加者と交換すること、
を含む。
更に、各参加者により生成された前記ブロックチェーンアドレスのうちの1つ(α)は、前記参加者(U)及び別の参加者(Ui+1)の両者からの署名を要求してよい。更に、各参加者により生成された前記ブロックチェーンアドレスのうちの1つ(β)は、別の参加者(Ui+1)からの署名だけを要求してよい。
前述のオプションは、トランザクション交換、返金、及び補償方式において後に使用するために、適切な暗号鍵及び関連するブロックチェーンアドレスがどのように生成され交換できるかの一例を提供する。
各参加者Uは、秘密-公開鍵ペア(y,Q)も生成し、公開鍵を発行してよい。これは、トランザクション交換、返金、及び補償方式を実施するとき、鍵ペア(y,Q)を用いて暗号化チャネルを介して参加者が互いに通信することを可能にする。
前記1つ以上のデポジットトランザクションは、前記1つ以上のデポジットトランザクションのアウトプットがシャッフルされる又は前記1つ以上のデポジットトランザクションのインプットに対してランダム化されるように、構成できる。参加者は、共通デポジットトランザクションの中に彼らのデポジットを生成する。代替として、各参加者は、個別デポジットトランザクションを生成できる。デポジットトランザクションは、P2SH(Pay To Script Hash)デポジットトランザクションであり得る。更に、各デポジットは、前記参加者により生成され交換された前記ブロックチェーンアドレスのうちの1つへ、又は時間ΔTの後に、彼らのブロックチェーントランザクションが前記ブロックチェーン上で承認されない場合に、前記デポジットを生成した前記参加者のブロックチェーンアドレスへ、送信されるよう構成できる。また更に、参加者のデポジットトランザクションは、参加者のうちの1人により構成される。
前述のオプションは、トランザクション交換、返金、及び補償方式を実装するために、1つ以上の適切なデポジットトランザクションがどのように生成できるかの一例を提供する。
交換されるべき前記ブロックチェーントランザクションの各々を変更するステップは、別の参加者により提供された前記公開鍵で前記返金アウトプットをロックするステップを含むことができ、前記変更されたトランザクションは、署名され、前記他の参加者へ送信される。各参加者Uは、1つ以上のデポジットトランザクションの中のアウトプット(つまり、デポジットトランザクションの中で参加者UによりロックされたアウトプットO)及び参加者Ui-1により生成されたブロックチェーントランザクションT i-1の中の公開アドレスβi-1へ送信される返金アウトプットをインプットのために使用して、彼らの返金トランザクションR を構成できる。その結果、参加者Uの返金は、彼らが参加者Ui-1のブロックチェーントランザクションT i-1をブロックチェーンに含めるために提出することに本質的に依存する。新たに生成されたトランザクションR の中の2つのインプットは、U及びUi-1の署名を要求でき、以下の通りである:
インプットx(O)が、参加者U及び参加者Ui-1の署名を要求し、及び
インプットd(βi-1)が、Uの署名だけを要求する。
以上に続いて、参加者Uは、彼らの返金トランザクションR を参加者Ui-1へ送信し、前記参加者Ui-1は、該返金トランザクションR に署名して参加者Uに返送し、前記参加者Uは、次に前記トランザクションR に署名する。
前述のオプションは、トランザクション交換、返金、及び補償方式を実装するために、適切な返金トランザクションがどのように生成できるかの一例を提供する。
各参加者Uは、前記1つ以上のデポジットトランザクションの中のOi+1へ送信される前記アウトプットを用いて彼らの補償トランザクションC を構成し、参加者Uは、新たに生成されたトランザクションC を参加者Ui+1へ送信し、参加者Ui+1は、C に署名して参加者Uへ戻し、C の中のインプットx(Oi+1)はU及びUi+1の両者の署名を要求する。前記補償トランザクションは、前記参加者が前記交換されたブロックチェーントランザクションをブロードキャストし及び該ブロックチェーントランザクションがブロックチェーンネットワーク上で承認されたと分かるために許容される最大時間を定める時間ΔTの間、ロックされるアウトプットを有することができる。
前述のオプションは、トランザクション交換、返金、及び補償方式を実装するために、適切な補償トランザクションがどのように生成できるかの一例を提供する。
補償トランザクション及びブロックチェーントランザクションのブロードキャストは、各参加者Uが2つのトランザクションC 及びT i-1をその順序でブロードキャストすることを含む。これは、補償トランザクションが、主要ブロックチェーントランザクションのブロードキャストの前に配置されることを保証する。
前記ブロックチェーントランザクションが前記ブロックチェーン上で承認されると、前記返金トランザクションをブロードキャストするステップは、各参加者Uが、返金トランザクションR をブロードキャストし、それにより彼らのデポジットを請求することを含み得る。更に、参加者は、彼らのブロックチェーントランザクションが、時間ΔTの後にブロックチェーン上で承認されないとき、前記補償トランザクションの中の未使用アウトプットを請求できるだけであってよい。この方法は、前記参加者が前記交換されたブロックチェーントランザクションをブロードキャストし及び該ブロックチェーントランザクションがブロックチェーンネットワーク上で承認されたと分かるために許容される最大時間を定める時間ΔTの間、ロックされるアウトプットを有する補償トランザクションを提供することと一致する。
本開示の実施形態は、様々な形式で提供できる。例えば、実行されると1つ以上のプロセッサをここに記載の方法を実行させるよう構成するコンピュータ実行可能命令を含むコンピュータ可読記憶媒体が提供できる。電子装置であって、インタフェース装置と、インタフェース装置に結合された1つ以上のプロセッサと、1つ以上のプロセッサに結合されたメモリであって、メモリはコンピュータ実行可能命令を格納し、コンピュータ実行可能命令は、実行されると、1つ以上のプロセッサを、ここに記載の方法を実行するよう構成する、メモリと、を含む電子装置も提供できる。ブロックチェーンネットワークのノードも、提供され得る。該ノードは、本願明細書に記載されるような方法を実行するよう構成される。
本開示のこれらの及び他の態様は、本願明細書に記載の実施形態から明らかであり及びそれらを参照して教示される。本開示の実施形態は、単なる例を用いて、添付の図面を参照して以下に説明される。
参加者Uの公開鍵及び参加者Uの最近接近隣の公開鍵の両方を用いて参加者Uにより生成された2つのアドレス/公開鍵のスキーマを示す。 参加者Uにより知られている公開鍵のセットを示す。 デポジットトランザクションDの中の参加者Uのデポジットをロックするために、参加者Uにより生成されたロックスクリプトの一例を示す。 デポジットトランザクション の中のアウトプットのシャッフル処理を示す。 メイントランザクションの交換の前に、4人の参加者が額xのBitcoinをデポジットするデポジットトランザクションを示す。 直接トランザクション交換(direct transaction exchange (DTE))プロトコルで交換される2つのメイントランザクションを示す。 デポジットトランザクション及びメイントランザクションを用いて返金トランザクションを構成するためのスキーマを示す。 デポジットトランザクションの中で送信される資金を用いて補償トランザクションを構成するためのスキーマを示す。 n-DTEプロトコルにおける参加者の間のトランザクションの交換を示す。 n-DTEプロトコル(n=4)について生成されたトランザクションを示す。 n-DTEプロトコルについてタイムラインを示す。 n-DTEプロトコルの一般的概要を示す。 種々の実施形態が実装できるコンピューティング環境を示す概略図である。
背景の章で既に示したように、Bitcoin暗号プロトコルにおけるペンネーム(pseudonym)の使用は、匿名支払いを可能にするものと考えられることがあるが、ユーザアイデンティティを発見する様々な調査の成功は、Bitcoinネットワーク内の匿名性がそれほど容易に達成されないことを示している。匿名性に対する要求が残っているので、アプリケーション層及びネットワーク層の両方において暗号通貨プロトコルのために利用可能な匿名性のレベルを向上する種々の技術的ソリューションが開発されている。
本願明細書は、直接トランザクション交換(Direct Transaction Exchange (DTE))プロトコルの、n>2人の参加者への拡張を提案する。DTEプロトコルは、トランザクションの提出及びそれらのBitcoinネットワーク内での拡散の前に、オフチェーンでトランザクションを直接交換するjためのソリューションを提供する。DTEプロトコルにおける参加者は、幾らかのコインをデポジットすること、及び返金及び補償方式が実施される方法が参加者間で交換されるトランザクションのブロックチェーンにおける承認に依存するように、彼らのメイントランザクションを変更することに合意する。本願明細書では、DTEプロトコルをどのように任意の数(n>2)の参加者へとスケーリングするかが記載される。
暗号通貨ユーザに関連付けられたインターネットプロトコル(Internet Protocol (IP))アドレスは、Bitcoinネットワークの匿名性を危険に晒すために使用されることがある。実際に、悪意ある敵は、公開鍵をインターネットプロトコル(IP)アドレスにリンクすることがあり、ユーザにより提出された全部のトランザクションを追跡し得る。更に、IP情報は、該情報を、例えばインターネットフォーラム及びソーシャルメディアのような他の情報源と組み合わせることにより、現実のユーザのアイデンティティを取得するために使用することもできる。このような状況では、トランザクションの異なるセットについて複数の公開-秘密鍵ペアを生成すること、又は操作の匿名性を高めるための手段としてミキシングサービスに参加することは、成功しない可能性がある[1]。
匿名化解除攻撃は、標準的に、アクティブなBitcoinノードに接続して送信されるトランザクションを監視する「スーパーノード」を用いて実行される。ネットワーク上での対称的な拡散により、IP公開鍵リンク付けにおいて30%の成功率が可能である[2]。主に使用されるアルゴリズムは、ピアツーピア(peer-to-peer(P2P))グラフ構造及び拡散に関する情報を利用する。
通常、Bitcoinの又は他の暗号通貨のフローを追跡し、及び公開台帳を監視することにより、同一ユーザにより生成された複数のアドレスをリンクできる。この結果は、トランザクショングラフを分析し及びアドレスを一緒にクラスタ化することにより達成できる。
匿名性は、アイデンティティ保護を提供するが依然として弱点及び場合によっては欠点を示すTor[3]のようなツールに依存する。実際に、中継システムは、トラフィック分析に対して脆弱な場合があり、それにより、Torへのユーザの「第1ホップ」リンク及びTorからユーザの通信相手への「最終ホップ」リンクが追跡されパケットをそう感づけるために使用され得る。更に、攻撃は、サービスの拒否を引き起こし、ユーザの匿名性を危険に晒し得る。
Biryukov他[2]は、ユーザのペンネームを彼らのIPアドレスにリンクすることにより、P2Pネットワークを匿名化解除する方法を提示している。このソリューションは、クライアントの接続するノードのセットに依存し、クライアントアイデンティティ及びトランザクションの起源を一意に決定する。
本願明細書では、Bitcoinユーザのトランザクションがネットワーク上で拡散する前に、ユーザが彼らのトランザクションを交換することを可能にすることにより、したがって、ユーザにより生成されたトランザクションのIPアドレスとトランザクション内のユーザのBitcoinアドレスとの間のリンクを曖昧にすることにより、ネットワーク層におけるユーザの匿名性を実施するプロトコルを提案する。本願明細書で詳述するように、n-DTEプロトコルは、参加者により生成されるコインのデポジット、及び返金及び補償方式が実施される方法が参加者間で交換されるトランザクションのブロックチェーンにおける承認に依存するように、彼らのメイントランザクションを変更することに依存する。
その最も簡易な形式[4]では、DTEプロトコルの中で2人の参加者を考える。両方の参加者は、Bitcoinブロックチェーンに含めるために提出する前に、彼らが交換したいと望むメイントランザクション(Main Transaction)を生成する。そうするために、及び両方の参加者が彼らの役割を果たすこと、及びプロトコルが完了前に中断される場合に保護されることを補償するために、参加者は、デポジットトランザクションの中に資金をコミットし、彼らの元のトランザクションを変更して、彼らの返金が、交換されたトランザクションがネットワーク上で承認されることを条件とするようにしなければならない。
私たちは、該プロトコルをn>2人の参加者へと拡張することを提案する。n-DTEプロトコルの中の異なるステップが、ここで詳述される。先ず、鍵生成及び参加者間の交換を説明する。次に、新しく生成された鍵及びアドレスを用いてデポジットトランザクション(Deposit Transaction)を構成する。参加者間で交換されているメイントランザクション(Main Transaction)の変更を説明する。次に、プロトコルの返金(Refund)及び補償(Compensation)方式を構成する。最後に、参加者間のトランザクションの交換及び参加者によるブロードキャストを説明する。
<鍵生成及び交換>
参加者のメイントランザクションを交換するためにn-DTEプロトコルに参加しているn人の個人の集合{U|i∈[0,n-1]}が与えられると、参加者は、以下の方法で公開鍵を生成し交換する。
各参加者Uは、2つの秘密-公開鍵ペア(k ,P )及び(k ,P )を生成する。
各参加者Uは、もう1つの短命の(ephemeral)秘密-公開鍵ペア(y,Q)を生成し、公開鍵を発行してよい。
参加者は、順序集合{U,U,...,Un-2,Un-1}を実現するためにランダム化される。参加者は、公開された鍵ペア(y,Q)を用いて暗号化チャネルを介して、彼らの近隣と通信できる。
各参加者Uは、2つの公開鍵P 及びP を、彼らの2人の最近接近隣と交換する。一例として、UはP 及びP をU及びUn-1と交換し、一方でUはP 及びP をU及びUと交換する。
各参加者Uは、彼らの公開鍵、及び彼らの近隣により提供される公開鍵を用いて、Bitcoinアドレスのペアを生成する[ここで、私たちは、参加者により生成されたBitcoin公開鍵を示す;公開鍵Pに関連付けられたBitcoinアドレスAは、次式により与えられる:A=RIPEMD160(SHA256(P))]。
・Ui+1と共有されるマルチシグネチャアドレス:α=2-2multisig(P ,Pi+1 )。
・Ui+1と共有されるDiffie-Hellmanシークレット:β=P +ci-1,i×G、ここで、ci-1,i=H(k ×Pi-1 )=H(ki-1 ×P )は、2人の参加者の間で共有されるシークレットである。H()は、耐衝突性ハッシュ関数である。
一例として、Uは、以下の2つのアドレスを生成する。
・α=2-2multisig(P ,P )、及び、
・β=P +cn-1,0×G、ここで、cn-1,0==H(k ×Pn-1 )=H(kn-1 ×P )。
アドレス生成は、図1に示される。
αから導出されたアドレスへ送信される資金は、U及びUi+1の両者からの、彼らの秘密鍵、それぞれk 及びki+1 を用いる署名を必要とする。
βから導出されたアドレスへ送信される資金は、ki-1 +H(ki-1 ×P )により与えられる新しい公開鍵に関連付けられた秘密鍵を用いる、Ui-1からの署名を必要とする。参加者Uが公開鍵を生成し、Ui-1と共有することは容易であるが、後者は、秘密鍵を推測でき、従って、βから導出されたアドレスへ送信されるトランザクションのUTXOに署名できる。
参加者は、次に、彼らの新しく生成した公開鍵/アドレスを交換し、それらの有効性を検証して、これらを構成するために使用された公開鍵を知ることができる。纏めると、図2に示すように、参加者Uは、2つのアドレスを生成し、彼の左隣Ui-1と共有される2つのアドレス、及び彼の右隣Ui+1と共有される2つのアドレスを知る。
参加者Uは、彼又は彼女の生成した公開鍵βに関連付けられた秘密鍵が分からないことに留意する。一方で、Uだけが、彼の右隣Ui+1により生成された公開鍵βi+1を知っている。
<デポジットトランザクション>
このプロトコルの目標は、n人の参加者が彼らのトランザクションを、ブロックチェーン上でブロードキャストする前に交換することであった。私たちは、メイントランザクションを、これらのトランザクションが以下のように交換されていると表す。
n-DTEプロトコルを達成するよう、及び悪意ある参加者から正直な参加者を守るよう、参加者を奨励するために、私たちは、各参加者が任意の量のBitcoinをデポジットし、その返金が参加者による必要なタスクの完了に成功することを条件とすることを提案する。
このようなデポジットは、種々の方法で生成できる。例えば、参加者は、彼らのデポジットを全て共通Bitcoinトランザクションの中で生成できる。或いは、各参加者は、彼の/彼女の個々のデポジットトランザクションを生成できる(しかしながら、これは、マイナーに支払われる料金が全体として多くなることを意味する)。以下では、参加者のデポジットを収集するための共通トランザクションを検討する。この選択は、該トランザクションの中のインプットとアウトプットとの間のリンクを不明瞭にするために、シャッフル技術の使用を示唆する。
n人の参加者は、nインプット/nアウトプットのP2SHデポジットトランザクションを生成する。これは以下でDと示され、彼らは全員、事前に合意された量xのBitcoinをコミットする。
からUTXOは、2つのトランザクションセットを生成するために、後にプロトコルの中で使用される。
・1つは、返金トランザクションのセットであり、参加者が別の参加者にメイントランザクションをネットワーク上で正しくブロードキャストしたとき、Dの中で生成されたデポジットの返金のためである。
・1つは、補償トランザクションのセットであり、参加者のメイントランザクションが特定の時間量の後にブロードキャストされない場合に、参加者を補償するためである。
参加者Uは、Dの中の彼/彼女のデポジットをロックするスクリプトLを構成する。このスクリプトは、関連付けられたアウトプット量xのBitcoinを使用するための2つの選択肢を提供する。
・UのxのBitcoinを、それぞれUi-1及びUがそれぞれ彼らの秘密鍵Ui-1 及びU により署名することにより償還可能なアドレス(図2のαi-1)へ送信する。
・或いは、Dがブロックチェーンに含まれた後に続く特定の時点ΔTの後に、Uにより所有されるアドレスへ送信する。Uは、新しい(短命の)公開鍵(以下ではP と表す)を使用して、後者のアドレスを生成してよい。ロックタイム値は、将来の特定の時点で、メイントランザクションがBitcoinブロックチェーンに含まれることなくプロトコルが終了した場合に、資金がUにより償還可能なように選択される。ロックタイムパラメータは、オペコードOP_CHECKSEQUENCEVERIFYを用いて定められる。Bitcoinスクリプトシステムのためのこの新しいオペコード(OP_CHECKSEQUENCEVERIFY)は、BIP112で導入され、スクリプトの実行パスがアウトプットの使用された時代に基づき制限されるようにする(https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki))。
は、参加者Uにより生成されたアウトプット(パラメータセット)を表す:O:{L,x}。Uにより生成されたxのBitcoinのデポジットに対するロックスクリプトの一例が図3に示される。
ある参加者は、全てのアウトプットを集め、デポジットトランザクションDを作る責任がある。以下では、Uを、アウトプットのセットを収集する参加者、及びDに彼/彼女のインプットを追加して署名する最初の参加者として指名する。n-DTEプロトコルの参加者を外部攻撃から守るために、アウトプットのセットは、ある参加者から別の参加者へと転送される前に、参加者の公開鍵Qを用いて暗号化される。Dの中のインプットとアウトプットとの間のリンクを不明瞭にするために、私たちは、各参加者が、彼/彼女の右隣に渡す前に、アウトプットのセットをシャッフルすることを検討する。このように、インプットの順序は、Dの中のアウトプットの順序と一致しない。代替として、私たちは、署名段階の間に、参加者の順序をランダム化し得る。
アウトプットシャッフル処理は、CircleShuffleプロトコル[WP0388]に基づき、最初の参加者Uが彼/彼女のアウトプットOを次の参加者の公開鍵Qにより暗号化するとき、開始する。暗号化されたアウトプットアドレスは、従って、シャッフルされたアウトプットのセット(set of shuffled outputs (SSO))を含む。UはSSOをUに渡す。Uは、SSOを、彼女の秘密鍵yを使用して解読し、彼女のアウトプットを追加し、アウトプットをシャッフルし、Qを用いてSSOを暗号化し、そしてそれをUへ転送する。この処理は、図4で4人の参加者について図示され(n=3)、Un-1に達するまで続く。ここで、nは参加者の人数である。
n-1のアウトプットアドレスがSSOに追加された後に、Un-1は、最終的なシャッフルを実行し、SSOをQで暗号化し、SSOを最初のユーザUへ返送する。SSOの中のアウトプットアドレスのこの順列(permutation)は、アウトプットがデポジットトランザクションDに含まれる最終的な順序を表す。
は、彼女の秘密鍵yを用いてSSOを解読し、デポジットトランザクションDを生成する。Uは、彼/彼女のインプットを追加し、トランザクションに署名し、Dを次の参加者へ転送する。各参加者は、彼/彼女の選んだアウトプットがトランザクションに含まれていることを確認し、SIGHASH_ANYONECANPAYフラグを有する彼/彼女のインプットに署名する。全ての参加者がDに署名した後に、トランザクションは、最後の参加者により、ブロックチェーンに含まれるために提出される。
図4は、4人の参加者について、Dトランザクションの説明を示す。
{U,U,U,U}={Alice,Bob,Carol,Dave}
4人の参加者による説明を参照するとき、インデックス{0,1,2,3}を{A,B,C,D}に変更する。
・各参加者は、トランザクションDに署名し、事実上、参加者の公開鍵から導出したアドレスからxのBitcoinを使用する。公開鍵は、図5では、P 、i=0,...,3の代わりに、P 、i={A,B,C,D}と表されることに留意する。
・各々のxのBitcoinは、新しいアドレスへ送信される(アウトプットはシャッフルされ、従って、インプットと、2人の参加者署名により又は1人の参加者署名により特定時点の後にアンロック可能なアウトプットの順序に留意する)。更に、図3に示したロックスクリプトの中のインデックスi={0,1,2,3}をi={A,B,C,D}に変更する。
・OA/OB/OC/ODは、Dの中のロックされた、Alice/Bob/Carol/Daveにより使用されるアウトプットを表す。
デポジットトランザクションDがブロックチェーン上で承認されたことを確認すると、参加者は、プロトコルの次の段階、つまり以下に詳述するように彼らのメイントランザクションの交換に入ることができる。彼らがΔTの前にメイントランザクションの交換又はブロードキャストを完了しなかった場合、彼らはDの中の彼らのデポジット、xのBitcoin、を回収し、プロトコルは終了する。
<メイントランザクション交換>
n-DTEプロトコルは、参加者がメイントランザクション交換及びBitcoinネットワーク上でのブロードキャストを完了するよう奨励することを目的とする返金及び補償メカニズムに依存する。このようなメカニズムは、参加者が別の参加者により発行されたメイントランザクションをブロードキャストした後にのみ参加者に対する返金が利用可能であるという方法で、参加者によりコミットされたデポジットトランザクション内のロックされたコインの返金を制約することにより達成できる。そうするために、メイントランザクションをブロードキャストする責任のある参加者の返金トランザクションの中で使用される追加アウトプットを追加することにより、該メイントランザクションを変更することを提案する。
私たちは、参加者のメイントランザクションのフォーマット/構造(ダストとは別のインプット/アウトプット、移転の量、ロックスクリプト)を制限することを望まないが、統一性を目的としてトランザクションは同様のサイズを有するべきであることを主張する。参加者により使用される量は、このプロトコルに関与するマイナー料金より多いが、任意のままである。以下では、簡単のために、各参加者は任意の量のBitcoinを、あるアドレスから別のアドレスへ、Pay-to-Public-Keyスクリプトを用いて移転することを望むと仮定する。図6の説明では、例えば、Alice(Dave)が、mのBitcoin(pのBitcoin)を、公開鍵S(S)から導出したアドレスから、別の公開鍵R(R)から導出した別のアドレスへ移転したいと望むと仮定する。Aliceは、必ずしもmのBitcoinの受信者でなくてよい。
参加者は、ダスト量mのBitcoin(数satoshi)に合意し、追加アウトプットを彼らのメイントランザクションに追加する。通常、T は、参加者Uにより生成されたメイントランザクションを表し、i={0,1,2,3}、又は4人の参加者を有する説明ではi={A,B,C,D}である。
一例として、第1参加者U(又は図中のAlice)は、アウトプット量としてdを有し及びU(又はBob)により前に生成された公開鍵を用いてPay-to-Public-Keyスクリプトの下でロックされた第2アウトプットを追加することにより、彼女のメイントランザクションT (又はT )を変更する:β=P +c0,1×G(又はβ=P +cA,B×G)。Aliceは、トランザクションT に署名し、それをBobへ転送する。通常、参加者Uは、彼/彼女のトランザクションT に署名し、それを彼女の近隣Ui+1へ送信する。
この処理は、各参加者が彼らの左の最近接近隣のトランザクションを受信するまで続く。図6は、2つのトランザクションT 及びT の変更、及び最後(Dave)、最初(Alice)、及び2番目(Bob)の参加者の間での交換を示す。
この時点で、参加者は、受信したメイントランザクションをネットワーク上にブロードキャストしない。
彼らは、先ず、返金及び補償方式を準備する。
・返金方式は、彼/彼女が彼/彼女の左隣Ui-1のトランザクションT i-1をブロードキャストした後に、参加者Uへの返金を保証する。
・補償方式は、プロトコルが完了せず、彼女のトランザクションTx iが彼女の右隣Ui+1によりブロードキャストされず、期限までにブロックチェーンに含まれるために承認されなかった場合に、参加者を補償する。
<返金トランザクション>
参加者Uは、彼/彼女の左隣Ui-1により生成されたメイントランザクションT i-1の処理中である。図6に示すように、Aliceは、例えば、DaveのメイントランザクションT の処理中である。
参加者Uは、デポジットトランザクションDの中のOへ送信されるUTXOと、Ui-1により生成されたメイントランザクションT i-1の中のβi-1へ送信されるダストとをインプットに用いて、彼/彼女の返金トランザクション、つまりR を生成する。このように、Uの返金は、ブロックチェーンに含めるために彼/彼女がUi-1のメイントランザクションT i-1を提出することに本質的に依存する。Uは、彼/彼女の新しく生成された返金トランザクションR を、それに(ki-1 を用いて)部分的に署名しそれをU返送するUi-1へ、送信する。この新しく生成されたトランザクションR の中の2つのインプットは、以下のように、U及びUi-1の署名を要求することに留意する。
・インプットx(O):U及びUi-1のそれぞれの第1秘密鍵k 及びki-1 を用いる、U及びUi-1の署名を要求する。
・インプットd(βi-1):Diffie-Hellmanシークレット共有方式を用いて取得された公開鍵に関連付けられた秘密鍵を用いる、Uの署名だけを要求する。k +ci-1,i、ここでci-1,i=H(k ×Pi-1 )=H(ki-1 ×P )。
図7は、デポジットトランザクションDのアウトプットOとAliceのメイントランザクションT のアウトプットβとを用いてBobにより生成された返金トランザクションR の構成を示す。Bobは、彼の返金トランザクションR をAliceへ送信し、Aliceはそれに署名しそれをBobへ返送する。この時点で、Bobは、トランザクションR に署名するが、それをブロードキャストしない。彼がそうした場合、トランザクションは、βへ送信されたBitcoinがこの時点で利用可能ではないので、拒否され得る。これらは、トランザクションT がブロックチェーン上でブロードキャストされ承認されたときに、使用可能になる。
<補償トランザクション>
補償トランザクションは、ある参加者が別の参加者のメイントランザクションをブロードキャストしない場合に対応するために生成される。私たちの例では、Bobが、AliceのメイントランザクションT をブロードキャストしない場合、Aliceは、Bobの不正について補償されるべきである。従って、Aliceは、デポジットトランザクションDの中のBobにより使用されたxのBitcoin(O)をインプットとして取り入れる補償トランザクションC を生成する。トランザクションC の中のアウトプットは、n-DTEプロトコルにおける全ての参加者により合意されたLockTime値ΔTを含む。これは、プロトコルの参加者が、メイントランザクションをブロードキャストし、これらがネットワーク上で承認されるのを確認するために許容される最大時間を反映する。Aliceは、BobへC を送信し、BobはC に署名し、それをAliceへ返送する。
通常、参加者Uは、デポジットトランザクションDの中のOi+1へ送信されるUTXOを用いて、彼/彼女自身の補償トランザクションを生成する。Uは、新しく生成されたトランザクションC をUi-1へ送信し、Ui-1は、C に署名し、それをU返送する。C の中のインプットx(Oi+1)は、U及びUi+1のそれぞれの第1秘密鍵k 及びki+1 を用いる、U及びUi-1の署名を要求する。
<まとめ>
図9は、n=4のとき、参加者の間のメイン、返金、及び補償トランザクションの交換を纏めたものである。
・先ず、メイントランザクションが交換され、それらの作成者により、彼らの右側の最近接近隣へ送信される。
・次に、参加者は、返金トランザクションを作成し、これらを署名のために左側の最近接近隣へ送信する。この左側の最近接近隣の公開鍵は、デポジットトランザクションの中のUTXOに関連付けられたマルチシグネチャアドレスを生成するために使用されたものである。同時に、補償トランザクションが作成され、署名のために右側の最近接近隣へ送信される。この右側の最近接近隣の公開鍵は、デポジットトランザクションの中のUTXOに関連付けられたマルチシグネチャアドレスを生成するために使用されたものである。
・返金及び補償トランザクションに署名した後に、左及び右隣は、それぞれ、これらをメイントランザクションの作成者へ返送する。
図10は、n-DTEプロトコルにおける前述のトランザクションの説明、それらの構造、及び内部依存性を提示する。このプロトコルのために生成された全てのトランザクションが図10に示されるものではないことに留意する。最初(Alice)及び最後(Dave)の参加者のメイントランザクション、並びに最初の2人の参加者Alice及びBobのための返金及び補償トランザクションだけが示される。
<トランザクションのブロードキャスト>
適切な返金及び補償トランザクションにより、各参加者Uは、ネットワーク上に次の2つのトランザクションC 及びT i-1を、その順序でブロードキャストできる。ブロックチェーン上でT i-1が承認されると、参加者Uは、R をブロードキャストして、実質的に彼/彼女のデポジットを請求する。時間ΔTの経過後に、Uが彼/彼女のメイントランザクションT がネットワーク上で承認されたことを確認しない場合、彼/彼女は補償トランザクションC の中のUTXOを使用でき、事実上、Ui+1により生成されたデポジットを請求する。他方で、ΔTの前に、Uが彼/彼女のメイントランザクションがブロックチェーンで承認されたことを知った場合、Ui+1は当然にR i+1をブロードキャストし、従って、C 及びR i+1の両方に含まれるUTXO Oi+1は既に使用されているので、C を無効化する。
図11は、n-DTEプロトコルのタイムラインを纏めたものである。
・段階1は、Bitcoinネットワーク上でのデポジットトランザクションDのブロードキャストにより終了する。
・段階2は、参加者の間のメイントランザクション交換、返金及び補償トランザクションの生成、並びにBitcoinブロックチェーンに含むための後者の提出、を含む。
・段階3は、各参加者の右隣のメイントランザクションをブロードキャストするために、各参加者に割り当てられた期間に対応する。
・段階4は、ΔTの前の時間期間を表し、その間、参加者Uがブロックチェーン上でのT i-1の承認を確認した場合、彼/彼女は彼/彼女の返金トランザクションR をブロードキャストする。
・段階5は、ΔTとΔTとの間の期間に対応し、その間、参加者が彼らのメイントランザクションがBitcoinブロックチェーン上で承認されたことを確認しない場合、参加者は、彼らの補償トランザクションの中のUTXOを使用できる。
・段階6は、ΔTの後の期間に対応し、その後、段階2で何かが上手く行かなかった場合、n-DTEプロトコルは終了してよく、参加者は、当然に彼らのデポジットを回収できる。
図12は、本願明細書に記載されるようなn-DTEプロトコルの一般的概要を示す。
<情報交換>
n-DTEプロトコルは、n人の参加者の間で公開情報を交換するためのセキュアな方法に依存する。プロトコルにおける参加者は、彼らの公開鍵を交換し、2-of-2マルチシグネチャアドレス及び新しい公開鍵を、Diffie-Hellmanシークレット共有方式を用いて生成する。彼らは、更に彼らのメイントランザクションをブロードキャストするために、及び署名のためにプロトコルの中で生成された他のトランザクション(返金及び補償トランザクション)を交換する。
明示的に言及しないが、私たちは、プロトコルの中で生成される異なるトランザクションの間のリンクを不明瞭にするために、n-DTEプロトコルの中で構築されるトランザクションの中で使用される(公開鍵に基づく及びマルチシグネチャアドレス)アドレスを生成するときに、各公開鍵を1回だけ使用することを推奨する。
更に、私たちは、メッセージの受信者の公開鍵を用いて、参加者の間で送信される各メッセージ(公開鍵、トランザクション、アドレス)を暗号化することを提唱する。
各参加者Uは、ネットワーク上で3つのトランザクションを送信する。
・T i-1:Ui-1により生成されたメイントランザクション。
・C :Ui+1が割り当てられた時間内にT をブロードキャストしない場合の、Uのための補償トランザクション。
・R :ブロックチェーン上でのT i-1の承認後に提出される、Uのための返金トランザクション。
攻撃者は、これらのトランザクションの中で使用されるアドレスを、ユーザUのIPアドレスによりリンクすることに成功するかも知れないが、メイントランザクションがその元の作成者によりネットワークへ送信されないので、トランザクションの作成者のユーザのアドレスとユーザのIPアドレスとの間のリンクを不明瞭にするという所望の効果が達成される。デポジットトランザクションDの中のアウトプットの順序がプロトコルの参加者の順序を開示した場合、外部攻撃者は、トランザクションとそれらの元の作成者との間のリンクを再構成するのに十分な知識を取得できるかも知れない。主にその理由から、私たちは、Dの中のインプットとアウトプットとの間のリンクを不明瞭にするために、Dの中のアウトプットをシャッフルする方法を説明する。代替として、前述のように、参加者により生成されたデポジットは、個々のデポジットトランザクションの中で行われ得る。
<結論>
本願明細書は、n-直接トランザクション交換プロトコル(n-DTE)を提案する。該プロトコルは、トランザクションの提出及びそれらのネットワーク内での拡散の前に、オフチェーンでトランザクションを直接交換するためのソリューションを提供する。これは、ユーザにより生成されたトランザクションのIPアドレスとトランザクションの中のユーザのビットコインアドレスとの間のリンクを不明瞭にすることを目的とする。従って、ネットワーク上でのユーザの匿名性を実施する。
トランザクション交換は、メイントランザクションのアウトプットに僅かな量(ダスト、dust)のBitcoinを追加し、及びこのダスト及び参加者により生成されたデポジットを含む返金トランザクションを構成することにより、達成される。これは、参加者が、彼らが別の参加者のメイントランザクションをブロードキャストした後に、彼らのデポジットを請求することを可能にする。
このプロトコルの中で割り当てられた時間の間に参加者のメイントランザクションがブロックチェーンに含めるために提出された、該参加者を補償するために、補償方式も実施される。
<システム概要>
図13を参照すると、本開示の少なくとも一実施形態を実施するために使用され得るコンピューティング装置2600の説明のための簡略ブロック図が提供される。種々の実施形態で、コンピューティング装置2600は、1つ以上のトランザクションを実施する1つ以上のノード又はサーバ又は他の電子装置のような、上述の及び図示の装置又はシステムのうちのいずれかを実施するために使用されてよい。従って、コンピューティング装置2600は、ポータブルコンピューティング装置、パーソナルコンピュータ、又は任意の電子コンピューティング装置であってよい。図13に示すように、コンピューティング装置2600は、主メモリ2608及び永久記憶装置2610を含む記憶サブシステム2606と通信するよう構成され得る1つ以上のレベルのキャッシュメモリ及びメモリ制御部(集合的に2602とラベル付けされる)を備える1つ以上のプロセッサを含んでよい。主メモリ2608は、図示のように、動的ランダムアクセスメモリ(DRAM)2618及び読み出し専用メモリ(ROM)2620を含み得る。記憶サブシステム2606及びキャッシュメモリ2602は、本開示で説明されたようなトランザクション及びブロックに関連付けられた詳細事項のような情報の記憶のために使用されてよい。プロセッサ2602は、本開示で説明されたような任意の実施形態のステップ又は機能を提供するために利用されてよい。
プロセッサ2602は、1つ以上のユーザインタフェース入力装置2612、1つ以上のユーザインタフェース出力装置2614、及びネットワークインタフェースサブシステム2616とも通信できる。
バスサブシステム2604は、コンピューティング装置2600の種々のコンポーネント及びサブシステムが意図した通りに互いに通信できるようにするメカニズムを提供してよい。バスサブシステム2604は、単一のバスとして概略的に示されるが、バスサブシステムの代替の実施形態は、複数のバスを利用してよい。
ネットワークインタフェースサブシステム2616は、他のコンピューティング装置及びネットワークへのインタフェースを提供してよい。ネットワークインタフェースサブシステム2616は、幾つかの実施形態では、コンピューティング装置2600の他のシステムからデータを受信し及びそれへデータを送信するインタフェースとして機能してよい。例えば、ネットワークインタフェースサブシステム2616は、データ技術者が、装置をネットワークに接続することを可能にする。その結果、データ技術者は、データセンタのような遠隔地にいがなら、データを装置へ送信し、データを装置から受信できる。
ユーザインタフェース入力装置2612は、キーボード、統合型マウス、トラックボール、タッチパッド、又はグラフィックタブレットのような指示装置、スキャナ、バーコードスキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システム、マイクロフォンのようなオーディオ入力装置、及び他の種類の入力装置のような、1つ以上のユーザ入力装置を含んでよい。通常、用語「入力装置」の使用は、コンピューティング装置2600に情報を入力する全ての可能な種類の装置及びメカニズムを含むことを意図する。
1つ以上のユーザインタフェース出力装置2614は、ディスプレイサブシステム、プリンタ、又は音声出力装置のような非視覚ディスプレイを含んでよい。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、又はプロジェクションのような平面装置、又は他のディスプレイ装置を含んでよい。通常、用語「出力装置」の使用は、コンピューティング装置2600から情報を出力する全ての可能な種類の装置及びメカニズムを含むことを意図する。1つ以上のユーザインタフェース出力装置2614は、例えば、ユーザインタフェースを提示して、ここに記載したプロセス及び変形を実行するアプリケーションとのユーザ相互作用が適切であるとき、そのような相互作用を実現するために使用されてよい。
記憶サブシステム2606は、本開示の少なくとも1つの実施形態の機能を提供する基本プログラミング及びデータ構造を記憶するコンピュータ可読記憶媒体を提供してよい。アプリケーション(例えば、プログラム、コードモジュール、命令)は、1つ以上のプロセッサにより実行されると、本開示の1つ以上の実施形態の機能を提供し、記憶サブシステム2606に格納されてよい。これらのアプリケーションモジュール又は命令は、1つ以上のプロセッサ2602により実行されてよい。記憶サブシステム2606は、更に、本開示に従い使用されるデータを格納するレポジトリを提供する。例えば、主メモリ2608及びキャッシュメモリ2602は、プログラム及びデータのための揮発性記憶を提供できる。永久記憶装置2610は、プログラム及びデータの永久(不揮発性)記憶を提供でき、磁気ハードディスクドライブ、取り外し可能媒体に関連付けられた1つ以上のフロッピディスクドライブ、取り外し可能媒体に関連付けられた1つ以上の光ドライブ(例えば、CD-ROM、又はDVD、又はBlue-Ray)ドライブ、及び他の同様の記憶媒体を含んでよい。このようなプログラム及びデータは、本開示に記載した1つ以上の実施形態のステップを実行するためのプログラム、及び本開示に記載したトランザクション及びブロックに関連付けられたデータを含み得る。
コンピューティング装置2600は、ポータブルコンピュータ装置、タブレットコンピュータ、ワークステーション、又は後述する任意の他の装置を含む種々のタイプのものであってよい。さらに、コンピューティング装置2600は、1つ以上のポート(例えば、USB、ヘッドフォンジャック、光コネクタ、等)を通じてコンピューティング装置2600に接続可能な別の装置を含み得る。コンピューティング装置2600に接続され得る装置は、光ファイバコネクタを受けるよう構成される複数のポートを含んでよい。したがって、この装置は、光信号を、処理のために装置を接続するポートを通じてコンピューティング装置2600に送信される電気信号に変換するよう構成されてよい。コンピュータ及びネットワークの絶えず変化する特性により、図13に示したコンピューティング装置2600の説明は、装置の好適な実施形態を説明する目的の特定の例としてのみ意図される。図13に示したシステムより多くの又は少ないコンポーネントを有する多くの他の構成が可能である。
<範囲>
上述の実施形態は、本開示を限定するのではなく、説明すること、及び当業者は添付の特許請求の範囲により定められる本開示の範囲から逸脱することなく多くの代替的実施形態を考案できることに留意すべきである。
特許請求の範囲において、括弧内の任意の参照符号は、請求項を限定することを意図しない。用語「有する」及び「含む」(comprising、comprises)等は、任意の請求項又は明細書全体に列挙されたもの以外の要素またはステップの存在を排除しない。本願明細書では、「有する」は「有する又は構成される」を意味し、「含む」は「含む又は構成される」を意味する。要素の単数の参照は、該要素の複数の参照を排除しない。逆も同様である。本開示は、幾つかの別個の要素を含むハードウェアにより、及び適切にプログラムされたコンピュータにより、実装できる。幾つかの手段を列挙する装置クレームでは、これらの手段のうちの幾つかは、1つの同じハードウェアアイテムにより具現化されてよい。単に特定の機能が相互に異なる従属請求項に記載されるという事実は、これらの手段の組み合わせが有利に使用されないことを示さない。
<列挙される例示的な実施形態(Enumerated Example Embodiments(EEE))>
(EEE1) n>2人の参加者の間でブロックチェーントランザクションを交換し、後にブロックチェーン上に記憶するために該ブロックチェーントランザクションをブロックチェーンネットワーク上にブロードキャストするための、コンピュータにより実施される方法であって、
暗号鍵及び関連するブロックチェーンアドレスを生成し、参加者の間で交換するステップと、
参加者の間で交換されるべき前記ブロックチェーントランザクションの各々を、前記トランザクションをブロードキャストすることを担う参加者により請求される返金アウトプットを各ブロックチェーントランザクションに含めることにより、変更するステップと、
前記暗号鍵及び前記関連するブロックチェーンアドレスを用いて1つ以上のデポジットトランザクションを構成し、前記1つ以上のデポジットトランザクションを前記ブロックチェーンに提出するステップであって、前記1つ以上のデポジットトランザクションは、別の参加者にブロックチェーントランザクションを正しくブロードキャストする参加者に返金するため、及び彼らのブロックチェーントランザクションが正しくブロードキャストされなかった場合に参加者を補償するために構成される、ステップと、
前記参加者の間で前記変更されたブロックチェーントランザクションを署名し交換するステップと、
前記1つ以上のデポジットトランザクションの前記アウトプット及び前記変更されたブロックチェーントランザクションの前記返金アウトプットをインプットのために使用して、返金トランザクションを構成するステップと、
前記1つ以上のデポジットトランザクションの前記アウトプットをインプットのために使用して、補償トランザクションを構成するステップと、
前記補償トランザクション及び前記変更されたブロックチェーントランザクションをブロードキャストするステップと、
前記ブロックチェーン上で前記変更されたブロックチェーントランザクションを確認すると、前記返金トランザクションをブロードキャストするステップであって、参加者の変更されたブロックチェーントランザクションが前記ブロックチェーン上で確認されない場合、前記参加者は前記補償トランザクション内の関連する未使用アウトプットを請求する、ステップと、
を含むコンピュータにより実施される方法。
(EEE2) 暗号鍵及び関連するブロックチェーンアドレスを生成し、参加者の間で交換するステップは、
各参加者が、2つの秘密-公開鍵ペア(k ,P )及び(k ,P )を生成し、
前記参加者が、順序集合{U,U,...,Un-2,Un-1}を実現するためにランダム化され、
各参加者Uは、前記2つの公開鍵P 及びP を2人の他の参加者(Un-1及びUn+1)と交換し、
各参加者Uは、前記2人の他の参加者により提供される彼らの公開鍵P 及びP を用いて、ブロックチェーンアドレスのペア(α,β)を生成し、
各参加者Uは、ブロックチェーンアドレスの前記ペア(α,β)を前記2人の他の参加者と交換すること、
を含む、EEE1に記載のコンピュータにより実施される方法。
(EEE3) 各参加者により生成された前記ブロックチェーンアドレスのうちの1つ(α)は、前記参加者(U)及び別の参加者(Ui+1)の両者からの署名を要求する、EEE1又は2に記載のコンピュータにより実施される方法。
(EEE4) 各参加者(U)により生成された前記ブロックチェーンアドレスのうちの1つ(β)は、別の参加者(Ui-1)からの署名だけを要求する、EEE1~3のいずれか一項に記載のコンピュータにより実施される方法。
(EEE5) 各参加者(U)は、秘密-公開鍵ペア(y,Q)を生成し、前記公開鍵を発行し、前記参加者は、前記鍵ペア(y,Q)を用いて暗号化チャネルを介して互いに通信できる、EEE1~4のいずれか一項に記載のコンピュータにより実施される方法。
(EEE6) 前記1つ以上のデポジットトランザクションは、前記1つ以上のデポジットトランザクションのアウトプットがシャッフルされる又は前記1つ以上のデポジットトランザクションのインプットに対してランダム化されるように、構成される、EEE1~5のいずれか一項に記載のコンピュータにより実施される方法。
(EEE7) 前記参加者は、彼らのデポジットを共通デポジットトランザクションの中で生成する、EEE1~6のいずれか一項に記載のコンピュータにより実施される方法。
(EEE8) 各参加者は、個々のデポジットトランザクションを生成する、EEE1~6のいずれか一項に記載のコンピュータにより実施される方法。
(EEE9) 前記デポジットトランザクションは、P2SH(Pay To Script Hash)デポジットトランザクションである、EEE1~8のいずれか一項に記載のコンピュータにより実施される方法。
(EEE10) 各デポジットは、前記参加者により生成され交換された前記ブロックチェーンアドレスのうちの1つへ、又は時間ΔTの後に、彼らのブロックチェーントランザクションが前記ブロックチェーン上で承認されない場合に、前記デポジットを生成した前記参加者のブロックチェーンアドレスへ、送信されるよう構成される、EEE1~9のいずれか一項に記載のコンピュータにより実施される方法。
(EEE11) 前記参加者のための前記デポジットトランザクションは、前記参加者のうちの1人により構成される、EEE1~10のいずれか一項に記載のコンピュータにより実施される方法。
(EEE12) 交換されるべき前記ブロックチェーントランザクションの各々を変更するステップは、別の参加者により提供された前記公開鍵で前記返金アウトプットをロックするステップを含み、前記変更されたトランザクションは、署名され、前記他の参加者へ送信される、EEE1~11のいずれか一項に記載のコンピュータにより実施される方法。
(EEE13) 各参加者Uは、インプットのために、前記1つ以上のデポジットトランザクションの中のアウトプットO、及び参加者Ui-1により生成された前記ブロックチェーントランザクションT i-1の中の前記公開アドレスβi-1へ送信される前記返金アウトプットを使用して、彼らの返金トランザクションR を構成して、参加者Uの返金が、彼らが参加者Ui-1のブロックチェーントランザクションT i-1を前記ブロックチェーンに含めるために提出することに依存するようにする、EEE1~12のいずれか一項に記載のコンピュータにより実施される方法。
(EEE14) 新たに生成されたトランザクションR の中の2つのインプットは、U及びUi-1の署名を要求し、以下の通りである:
インプットx(O)が、参加者U及び参加者Ui-1の署名を要求し、及び
インプットd(βi-1)が、Uの署名だけを要求する、
EEE13に記載のコンピュータにより実施され方法。
(EEE15) 参加者Uは、彼らの返金トランザクションR を参加者Ui-1へ送信し、前記参加者Ui-1は、該返金トランザクションR に署名して参加者Uに返送し、前記参加者Uは、次に前記トランザクションR に署名する、EEE13又は14に記載のコンピュータにより実施され方法。
(EEE16) 各参加者Uは、前記1つ以上のデポジットトランザクションの中のOi+1へ送信される前記アウトプットを用いて彼らの補償トランザクションC を構成し、参加者Uは、新たに生成されたトランザクションC を参加者Ui+1へ送信し、参加者Ui+1は、C に署名して参加者Uへ戻し、C の中のインプットx(Oi+1)はU及びUi+1の両者の署名を要求する、EEE1~15のいずれか一項に記載のコンピュータにより実施され方法。
(EEE17) 前記補償トランザクションは、前記参加者が前記交換されたブロックチェーントランザクションをブロードキャストし及び該ブロックチェーントランザクションがブロックチェーンネットワーク上で承認されたと分かるために許容される最大時間を定める時間ΔTの間、ロックされるアウトプットを有する、EEE1~16のいずれか一項に記載のコンピュータにより実施される方法。
(EEE18) 前記補償トランザクション及び前記ブロックチェーントランザクションをブロードキャストするステップは、各参加者Uが、2つのトランザクションC 及びT i-1をその順序でブロードキャストすることを含む、EEE1~17のいずれか一項に記載のコンピュータにより実施される方法。
(EEE19) 前記ブロックチェーントランザクションが前記ブロックチェーン上で承認されると、前記返金トランザクションをブロードキャストするステップは、各参加者Uが、返金トランザクションR をブロードキャストし、それにより彼らのデポジットを請求することを含む、EEE1~18のいずれか一項に記載のコンピュータにより実施される方法。
(EEE20) 参加者は、彼らのブロックチェーントランザクションが、時間ΔTの後にブロックチェーン上で承認されないとき、前記補償トランザクションの中の未使用アウトプットを請求できるだけである、EEE1~19のいずれか一項に記載のコンピュータにより実施される方法。
(EEE21) コンピュータ実行可能命令を含むコンピュータ可読記憶媒体であって、前記コンピュータ実行可能命令は、実行されると、1つ以上のプロセッサを、EEE1乃至20のいずれか一項に記載の方法を実行するよう構成する、コンピュータ可読記憶媒体。
(EEE22) 電子装置であって、
インタフェース装置と、
前記インタフェース装置に結合された1つ以上のプロセッサと、
前記1つ以上のプロセッサに結合されたメモリであって、前記メモリはコンピュータ実行可能命令を格納し、前記コンピュータ実行可能命令は、実行されると、前記1つ以上のプロセッサを、EEE1乃至20のいずれか一項に記載の方法を実行するよう構成する、メモリと、
を含む電子装置。
(EEE23) ブロックチェーンネットワークのノードであって、前記ノードは、EEE1~20のいずれか一項に記載の方法を実行するよう構成されるノード。
参考文献
[1]Venkatakrishnan, S.B., Fanti, G. and Viswanath, P., 2017. Dandelion: Redesigning the Bitcoin Network for Anonymity. arXiv preprint arXiv:1701.04439. https://arxiv.org/pdf/1701.04439.pdf
[2]Biryukov, A., Khovratovich, D., & Pustogarov, I. (2014, November).Deanonymisation of clients in Bitcoin P2P network.In Proceedings of the 2014 ACM SIGSAC Conference on Computer and Communications Security (pp.15-29).ACM.https://arxiv.org/pdf/1405.7418.pdf
[3]Dingledine, R., Mathewson, N., & Syverson, P. (2004).Tor:The second-generation onion router.Naval Research Lab Washington DC.
[4]Ron, D., & Shamir, A. (2013, April). Quantitative analysis of the full bitcoin transaction graph. In International Conference on Financial Cryptography and Data Security (pp. 6-24). Springer, Berlin, Heidelberg.
[5]Chakravarty, S., Stavrou, A., & Keromytis, A. D. (2008, November). Identifying proxy nodes in a Tor anonymization circuit. In Signal Image Technology and Internet Based Systems, 2008. SITIS'08. IEEE International Conference on (pp. 633-639). IEEE. http://www.cs.columbia.edu/~sc2516/papers/septis_paper.pdf
[6]Shah, D., & Zaman, T .(2012, June). Rumor centrality: a universal source detector. In ACM SIGMETRICS Performance Evaluation Review (Vol. 40, No. 1, pp. 199-210). ACM. ftp://ftp-sop.inria.fr/maestro/Sigmetrics-Performance-2012-papers-and-posters/p199.pdf
[7]Shah, D., & Zaman, T. (2011). Rumors in a network: Who's the culprit? IEEE Transactions on information theory, 57(8), 5163-5181. http://snap.stanford.edu/nipsgraphs2009/papers/zaman-paper.pdf
[8]https://news.bitcoin.com/dandelion-bitcoin-anonymize-transaction-broadcasts/

Claims (23)

  1. n>2人の参加者の間でブロックチェーントランザクションを交換し、後にブロックチェーン上に記憶するために該ブロックチェーントランザクションをブロックチェーンネットワーク上にブロードキャストするための、コンピュータにより実施される方法であって、
    暗号鍵及び関連するブロックチェーンアドレスを生成し、参加者の間で交換するステップと、
    参加者の間で交換されるべき前記ブロックチェーントランザクションの各々を、前記トランザクションをブロードキャストすることを担う参加者により請求される返金アウトプットを各ブロックチェーントランザクションに含めることにより、変更するステップと、
    前記暗号鍵及び前記関連するブロックチェーンアドレスを用いて1つ以上のデポジットトランザクションを構成し、前記1つ以上のデポジットトランザクションを前記ブロックチェーンに提出するステップであって、前記1つ以上のデポジットトランザクションは、別の参加者にブロックチェーントランザクションを正しくブロードキャストする参加者に返金するため、及び彼らのブロックチェーントランザクションが正しくブロードキャストされなかった場合に参加者を補償するために構成される、ステップと、
    前記参加者の間で前記変更されたブロックチェーントランザクションを署名し交換するステップと、
    前記1つ以上のデポジットトランザクションのアウトプット及び前記変更されたブロックチェーントランザクションの前記返金アウトプットをインプットのために使用して、返金トランザクションを構成するステップと、
    前記1つ以上のデポジットトランザクションの前記アウトプットをインプットのために使用して、補償トランザクションを構成するステップと、
    前記補償トランザクション及び前記変更されたブロックチェーントランザクションをブロードキャストするステップと、
    前記ブロックチェーン上で前記変更されたブロックチェーントランザクションを確認すると、前記返金トランザクションをブロードキャストするステップであって、参加者の変更されたブロックチェーントランザクションが前記ブロックチェーン上で確認されない場合、前記参加者は前記補償トランザクション内の関連する未使用アウトプットを請求する、ステップと、
    を含むコンピュータにより実施される方法。
  2. 暗号鍵及び関連するブロックチェーンアドレスを生成し、参加者の間で交換するステップは、
    各参加者が、2つの秘密-公開鍵ペア(k ,P )及び(k ,P )を生成し、
    前記参加者が、順序集合{U,U,...,Un-2,Un-1}を実現するためにランダム化され、
    各参加者Uは、前記2つの公開鍵P 及びP それぞれの他の参加者(Un-1及びUn+1)と交換し、
    各参加者Uは、前記公開鍵P 及びP のうちのそれぞれの1つと、前記公開鍵の交換において前記他の参加者により提供されるそれぞれの公開鍵と、を用いて、ブロックチェーンアドレスのペア(α,β)を生成し、
    各参加者Uは、ブロックチェーンアドレスの前記ペア(α,β)をそれぞれの前記他の参加者と交換すること、
    を含む、請求項1に記載のコンピュータにより実施される方法。
  3. 各参加者により生成された前記ブロックチェーンアドレスのうちの1つ(α)は、前記参加者(U)及び別の参加者(Ui+1)の両者からの署名を要求する、請求項1又は2に記載のコンピュータにより実施される方法。
  4. 各参加者(U)により生成された前記ブロックチェーンアドレスのうちの1つ(β)は、別の参加者(Ui-1)からの署名だけを要求する、請求項1~3のいずれか一項に記載のコンピュータにより実施される方法。
  5. 各参加者(U)は、更なる秘密-公開鍵ペア(y,Q)を生成し、前記更なる秘密-公開鍵ペア(y ,Q )のうちの更なる公開鍵を発行し、前記参加者は、前記更なる秘密-公開鍵ペア(y,Q)を用いて暗号化チャネルを介して互いに通信できる、請求項1~4のいずれか一項に記載のコンピュータにより実施される方法。
  6. 前記1つ以上のデポジットトランザクションは、前記1つ以上のデポジットトランザクションのアウトプットがシャッフルされる又は前記1つ以上のデポジットトランザクションのインプットに対してランダム化されるように、構成される、請求項1~5のいずれか一項に記載のコンピュータにより実施される方法。
  7. 前記参加者は、彼らのデポジットを共通デポジットトランザクションの中で生成する、請求項1~6のいずれか一項に記載のコンピュータにより実施される方法。
  8. 各参加者は、個々のデポジットトランザクションを生成する、請求項1~6のいずれか一項に記載のコンピュータにより実施される方法。
  9. 前記デポジットトランザクションは、P2SH(Pay To Script Hash)デポジットトランザクションである、請求項1~8のいずれか一項に記載のコンピュータにより実施される方法。
  10. 各デポジットは、前記参加者により生成され交換された前記ブロックチェーンアドレスのうちの1つへ、又は時間ΔTの後に、彼らのブロックチェーントランザクションが前記ブロックチェーン上で承認されない場合に、前記デポジットを生成した前記参加者のブロックチェーンアドレスへ、送信されるよう構成される、請求項1~9のいずれか一項に記載のコンピュータにより実施される方法。
  11. 前記参加者のための前記デポジットトランザクションは、前記参加者のうちの1人により構成される、請求項1~10のいずれか一項に記載のコンピュータにより実施される方法。
  12. 交換されるべき前記ブロックチェーントランザクションの各々を変更するステップは、別の参加者により提供された前記公開鍵で前記返金アウトプットをロックするステップを含み、前記変更されたトランザクションは、署名され、前記別の参加者へ送信される、請求項1~11のいずれか一項に記載のコンピュータにより実施される方法。
  13. 各参加者Uは、インプットのために、前記1つ以上のデポジットトランザクションの中のアウトプットO、及び参加者Ui-1により生成された前記ブロックチェーントランザクションT i-1の中の前記公開アドレスβi-1へ送信される前記返金アウトプットを使用して、彼らの返金トランザクションR を構成して、参加者Uの返金が、彼らが参加者Ui-1のブロックチェーントランザクションT i-1を前記ブロックチェーンに含めるために提出することに依存するようにする、請求項1~12のいずれか一項に記載のコンピュータにより実施される方法。
  14. 新たに生成されたトランザクションR の中の2つのインプットは、U及びUi-1の署名を要求し、以下の通りである:
    インプットx(O)が、参加者U及び参加者Ui-1の署名を要求し、及び
    インプットd(βi-1)が、Uの署名だけを要求する、
    請求項13に記載のコンピュータにより実施され方法。
  15. 参加者Uは、彼らの返金トランザクションR を参加者Ui-1へ送信し、前記参加者Ui-1は、該返金トランザクションR に署名して参加者Uに返送し、前記参加者Uは、次に前記トランザクションR に署名する、請求項13又は14に記載のコンピュータにより実施され方法。
  16. 各参加者Uは、前記1つ以上のデポジットトランザクションの中のOi+1へ送信される前記アウトプットを用いて彼らの補償トランザクションC を構成し、参加者Uは、新たに生成されたトランザクションC を参加者Ui+1へ送信し、参加者Ui+1は、C に署名して参加者Uへ戻し、C の中のインプットx(Oi+1)はU及びUi+1の両者の署名を要求する、請求項1~15のいずれか一項に記載のコンピュータにより実施され方法。
  17. 前記補償トランザクションは、前記参加者が前記交換されたブロックチェーントランザクションをブロードキャストし及び該ブロックチェーントランザクションがブロックチェーンネットワーク上で承認されたと分かるために許容される最大時間を定める時間ΔTの間、ロックされるアウトプットを有する、請求項1~16のいずれか一項に記載のコンピュータにより実施される方法。
  18. 前記補償トランザクション及び前記ブロックチェーントランザクションをブロードキャストするステップは、各参加者Uが、2つのトランザクションC 及びT i-1をその順序でブロードキャストすることを含む、請求項1~17のいずれか一項に記載のコンピュータにより実施される方法。
  19. 前記ブロックチェーントランザクションが前記ブロックチェーン上で承認されると、前記返金トランザクションをブロードキャストするステップは、各参加者Uが、返金トランザクションR をブロードキャストし、それにより彼らのデポジットを請求することを含む、請求項1~18のいずれか一項に記載のコンピュータにより実施される方法。
  20. 参加者は、彼らのブロックチェーントランザクションが、時間ΔTの後にブロックチェーン上で承認されないとき、前記補償トランザクションの中の未使用アウトプットを請求できるだけである、請求項1~19のいずれか一項に記載のコンピュータにより実施される方法。
  21. コンピュータ実行可能命令を含むコンピュータ可読記憶媒体であって、前記コンピュータ実行可能命令は、実行されると、1つ以上のプロセッサを、請求項1乃至20のいずれか一項に記載の方法を実行するよう構成する、コンピュータ可読記憶媒体。
  22. 電子装置であって、
    インタフェース装置と、
    前記インタフェース装置に結合された1つ以上のプロセッサと、
    前記1つ以上のプロセッサに結合されたメモリであって、前記メモリはコンピュータ実行可能命令を格納し、前記コンピュータ実行可能命令は、実行されると、前記1つ以上のプロセッサを、請求項1乃至20のいずれか一項に記載の方法を実行するよう構成する、メモリと、
    を含む電子装置。
  23. ブロックチェーンネットワークのノードであって、前記ノードは、請求項1~20のいずれか一項に記載の方法を実行するよう構成されるノード。
JP2020573360A 2018-07-04 2019-07-03 分散型台帳に関連するトランザクションのオフチェーン交換のためのコンピュータにより実施されるシステム及び方法 Active JP7337861B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023135302A JP2023159328A (ja) 2018-07-04 2023-08-23 分散型台帳に関連するトランザクションのオフチェーン交換のためのコンピュータにより実施されるシステム及び方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1810981.9 2018-07-04
GBGB1810981.9A GB201810981D0 (en) 2018-07-04 2018-07-04 Computer-implemented system and method
PCT/IB2019/055680 WO2020008388A1 (en) 2018-07-04 2019-07-03 Computer-implemented system and methods for off-chain exchange of transactions pertaining to a distributed ledger

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023135302A Division JP2023159328A (ja) 2018-07-04 2023-08-23 分散型台帳に関連するトランザクションのオフチェーン交換のためのコンピュータにより実施されるシステム及び方法

Publications (2)

Publication Number Publication Date
JP2021530163A JP2021530163A (ja) 2021-11-04
JP7337861B2 true JP7337861B2 (ja) 2023-09-04

Family

ID=63143683

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020573360A Active JP7337861B2 (ja) 2018-07-04 2019-07-03 分散型台帳に関連するトランザクションのオフチェーン交換のためのコンピュータにより実施されるシステム及び方法
JP2023135302A Pending JP2023159328A (ja) 2018-07-04 2023-08-23 分散型台帳に関連するトランザクションのオフチェーン交換のためのコンピュータにより実施されるシステム及び方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023135302A Pending JP2023159328A (ja) 2018-07-04 2023-08-23 分散型台帳に関連するトランザクションのオフチェーン交換のためのコンピュータにより実施されるシステム及び方法

Country Status (6)

Country Link
US (1) US20210297397A1 (ja)
EP (1) EP3818487A1 (ja)
JP (2) JP7337861B2 (ja)
CN (1) CN112384939B (ja)
GB (1) GB201810981D0 (ja)
WO (1) WO2020008388A1 (ja)

Families Citing this family (1)

* 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

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017145047A1 (en) 2016-02-23 2017-08-31 nChain Holdings Limited Blockchain-implemented method for control and distribution of digital content

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7096494B1 (en) * 1998-05-05 2006-08-22 Chen Jay C Cryptographic system and method for electronic transactions
EP1218841A2 (en) * 1999-09-20 2002-07-03 Ethentica, Inc. Electronic commerce with cryptographic authentication
BRPI0816772A2 (pt) * 2007-09-14 2015-03-24 Security First Corp Sistemas e métodos para controlar chaves criptográficas
CA2716335A1 (en) * 2008-02-22 2009-08-27 Stephen C. Bono Systems and methods for secure workgroup management and communication
BRPI1013062A2 (pt) * 2009-05-19 2016-04-05 Security First Corp sistemas e métodos para proteger dados na nuvem
ES2620962T3 (es) * 2009-11-25 2017-06-30 Security First Corporation Sistemas y procedimientos para asegurar datos en movimiento
US10031679B2 (en) * 2014-11-21 2018-07-24 Security First Corp. Gateway for cloud-based secure storage
US10402792B2 (en) * 2015-08-13 2019-09-03 The Toronto-Dominion Bank Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017145047A1 (en) 2016-02-23 2017-08-31 nChain Holdings Limited Blockchain-implemented method for control and distribution of digital content

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HEILMAN, E. et al.,TumbleBit: An Untrusted Bitcoin-Compatible Anonymous Payment Hub,NDSS Symposium 2017,2017年02月27日,pp.1-15,<DOI:10.14722/ndss.2017.23086>
MCCORRY, P. et al.,Towards Bitcoin Payment Networks,Cyrptology ePrint Archive,2016年04月26日,pp.1-20,[online], [令和5年6月7日検索], インターネット<URL:https://eprint.iacr.org/2016/408>
RUFFING, T. et al.,CoinShuffle: Practical Decentralized Coin Mixing for Bitcoin,Computer Security - ESORICS 2014,Vol. 8713,2014年,pp.345-364,Lecture Notes in Computer Science, <DOI:10.1007/978-3-319-11212-1_20>

Also Published As

Publication number Publication date
CN112384939A (zh) 2021-02-19
EP3818487A1 (en) 2021-05-12
JP2021530163A (ja) 2021-11-04
US20210297397A1 (en) 2021-09-23
JP2023159328A (ja) 2023-10-31
WO2020008388A1 (en) 2020-01-09
GB201810981D0 (en) 2018-08-15
CN112384939B (zh) 2024-04-09

Similar Documents

Publication Publication Date Title
US20220318907A1 (en) Systems and methods for generating secure, encrypted communications across distributed computer networks for authorizing use of cryptography-based digital repositories in order to perform blockchain operations in decentralized applications
CA3144715A1 (en) Systems and methods for permissioned blockchain infrastructure with fine-grained access control and confidentiality-preserving publish/subscribe messaging
JP7428704B2 (ja) デジタルリソースへのアクセスを移転するための、コンピュータにより実施されるシステム及び方法
Hellani et al. On blockchain technology: Overview of bitcoin and future insights
Sarfraz et al. Privacy aware IOTA ledger: Decentralized mixing and unlinkable IOTA transactions
JP7316283B2 (ja) デジタル署名されたデータを取得するためのコンピュータにより実施される方法及びシステム
US11989725B2 (en) Blockchain-implemented systems and methods for secure access control
WO2019227225A1 (en) Systems and methods for establishing communications via blockchain
JP2024010226A (ja) デジタルアセットの制御を移転するための、コンピュータにより実施される方法およびシステム
Arapinis et al. Privacy-supporting cloud computing by in-browser key translation
CN112908440A (zh) 健康管理数据共享方法、装置及远程医疗平台
Zhang et al. Covert channels in blockchain and blockchain based covert communication: Overview, state-of-the-art, and future directions
JP2023159328A (ja) 分散型台帳に関連するトランザクションのオフチェーン交換のためのコンピュータにより実施されるシステム及び方法
Luongo et al. The keep network: A privacy layer for public blockchains
CN114051031B (zh) 基于分布式身份的加密通讯方法、系统、设备及存储介质
Pugazhenthi et al. Data access control and secured data sharing approach for health care data in cloud environment
Xu et al. Blockchain‐based access control for enterprise blockchain applications
Antony Saviour et al. IPFS based file storage access control and authentication model for secure data transfer using block chain technique
Lou et al. Blockchain-based privacy-preserving data-sharing framework using proxy re-encryption scheme and interplanetary file system
Phetsouvanh et al. On unlinkability and denial of service attacks resilience of whistleblower platforms
Andersen Decentralized authorization with private delegation
US20230421540A1 (en) Systems and methods for generating secure, encrypted communications using multi-party computations in order to perform blockchain operations in decentralized applications
US20230421397A1 (en) Systems and methods for performing blockchain operations using multi-party computation cohort management groupings
Chen Building Cryptographic Systems from Distributed Trust
US20230421396A1 (en) Systems and methods for performing two-tiered multi-party computation signing procedures to perform blockchain operations

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230613

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230614

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230707

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230823

R150 Certificate of patent or registration of utility model

Ref document number: 7337861

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150