JP2022549777A - ブロックチェーンのトランザクションへの要求のパーティション - Google Patents

ブロックチェーンのトランザクションへの要求のパーティション Download PDF

Info

Publication number
JP2022549777A
JP2022549777A JP2022516623A JP2022516623A JP2022549777A JP 2022549777 A JP2022549777 A JP 2022549777A JP 2022516623 A JP2022516623 A JP 2022516623A JP 2022516623 A JP2022516623 A JP 2022516623A JP 2022549777 A JP2022549777 A JP 2022549777A
Authority
JP
Japan
Prior art keywords
recipient
request
transaction
transactions
sender
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.)
Pending
Application number
JP2022516623A
Other languages
English (en)
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 JP2022549777A publication Critical patent/JP2022549777A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

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

Abstract

一態様では、本開示は、デジタルアセットに関連付けられた要求を任意の数のトランザクションにパーティションする方法、装置及びシステムを提案する。パーティションは、要求について許容されるアウトプットの最大数を知る又は取得すること及び任意の選択した整数の可能な整数パーティションの任意の選択に基づく。ランダムに選択した整数パーティションは、次にトランザクション及びUTXOの数を決定するための基礎を形成し、デジタルアセット値は、公開ブロックチェーンに格納される前に、決定したUTXOに渡り任意の分割できる。別の態様では、本開示は、要求に関連付けられたデジタルアセット値を任意の決定した数のトランザクションに任意に分散する方法、装置及びシステムを提案する。これは、任意の選択した数のトランザクション及び各要求について許容されるアウトプットの最大数に基づく。別の態様では、本開示は、所与のエンティティのためにブロックチェーントランザクションの中で使用するための、所与のエンティティに関連付けられた1つ以上の公開アドレスを生成又は決定する方法、装置及びシステムを提案する。そのようなアドレスは、エンティティのアイデンティティの匿名性を維持したまま、所与のエンティティにセキュア且つ正確に関連付けられることができる。

Description

本開示は、概して、分散台帳に関連付けられたトランザクションのプライバシ及びセキュリティを向上する方法及びシステムに関する。本開示は、特に、限定ではなく、移転に関与するエンティティに関連付けられた匿名性を維持し及びセキュリティを向上しながら、公開ブロックチェーンを用いる1つ以上のエンティティに関するデジタルアセットの移転に関連する用途に適する。
本願明細書では、私たちは、全ての形式の電子的な、コンピュータに基づく、分散型台帳を包含するために用語「ブロックチェーン」を使用する。これらは、総意に基づくブロックチェーン及びトランザクションチェーン技術、許可及び未許可台帳、共有台帳、公開(public)及び秘密(private)ブロックチェーン、並びにこれらの変形を含む。他のブロックチェーン実装が提案され開発されているが、ブロックチェーン技術の最も広く知られているアプリケーションは、Bitcoin台帳である。Bitcoinは、ここでは、便宜上及び説明の目的で参照されることがあるが、本開示はBitcoinブロックチェーンと共に使用することに限定されず、ant型デジタルアセットまたはデジタルアセットの表現に関連付けられた代替のブロックチェーン実装及びプロトコルが本開示の範囲に包含されることに留意すべきである。用語「エンティティ」、「ノード」、「ユーザ」、「送信者」、「受信者」は、本願明細書で、計算又はプロセッサに基づくリソースを表す。用語「Bitcoin」は、本願明細書では、Bitcoinプロトコルから派生した又はその変形である任意のプロトコルを含むと考えられる。用語「デジタルアセット」は、暗号通貨、財産の少なくとも一部を表すトークン、スマートコントラクト、ライセンス、つまりソフトウェアライセンス、又はメディアコンテンツのDRMコントラクト、等のような任意の移転可能なアセットを表してよい。用語「デジタルアセット」は、本願明細書を通じて、あるエンティティから別のエンティティへ移転される又はトランザクション内で支払いとして提供され得る値(value)に関連付けられてよい物資(commodity)を表すために使用される。
ブロックチェーンは、コンピュータに基づく非集中型の分散型システムとして実装されるピアツーピアの電子台帳であり、ブロックにより構成され、ブロックはまたトランザクションにより構成される。各トランザクションは、ブロックチェーンシステムの中の参加者間でデジタルアセットの制御の移転を符号化するデータ構造であり、少なくとも1つのインプット及び少なくとも1つのアウトプットを含む。各ブロックは前のブロックのハッシュを含み、これらのブロックは一緒に繋げられて、起源以来ブロックチェーンに書き込まれている全てのトランザクションの永久的な変更不可能な記録を生成する。トランザクションは、スクリプトとして知られている小さなプログラムを含む。スクリプトは、それらのインプット及びアウトプットを埋め込まれ、トランザクションのアウトプットがどのように及び誰によりアクセス可能であるかを指定する。Bitcoinプラットフォームでは、これらのスクリプトはスタックに基づくスクリプト言語を用いて記述される。
トランザクションがブロックチェーンに書き込まれるためには、「検証」されなければならない。ネットワークノード(マイナー)は、無効なトランザクションがネットワークから拒否され、各トランザクションが有効であることを保証するために作業を実行する。ノードにインストールされたソフトウェアクライアントは、未使用トランザクション(unspent transaction, UTXO)のロック及びアンロックスクリプトを実行することにより、UTXOに対してこの検証作業を実行する。ロック及びアンロックスクリプトの実行が真(TRUE)と評価する場合、トランザクションは有効であり、トランザクションはブロックチェーンに書き込まれる。従って、トランザクションがブロックチェーンに書き込まれるためには、(i)トランザクションを受信した第1ノードにより検証され、トランザクションが有効な場合には、ノードが該トランザクションをネットワーク内の他のノードに中継する、(ii)マイナーにより構築された新しいブロックに追加される、(iii)マイニングされる、つまり過去のトランザクションの公開台帳に追加される、ことが必要である。
UTXOとしてブロックチェーンに格納されると、ユーザは、関連するリソースの制御を、別のトランザクション内のインプットに関連付けられた別のアドレスへ移転できる。移転は、通常、デジタルウォレットを用いて行われる。このデジタルウォレットは、装置、物理媒体、プログラム、デスクトップ、ラップトップ、若しくはモバイル端末のようなコンピューティング装置上のアプリケーション(アプリ)、又はインターネットのようなネットワーク上のドメインに関連付けられたリモートにホスティングされたサービスであってよい。デジタルウォレットは、公開及び秘密鍵を格納し、ユーザに関連付けられたリソース、トークン及びアセット等の所有権を追跡し、デジタルアセットを受信し又は使用し(spend)、暗号通貨又はライセンス又は財産又は他の種類のリソースのようなデジタルアセットに関連してよいトークンを移転するために使用できる。
公開ブロックチェーンは、セキュリティのために暗号法及び経済的インセンティブの両方を利用する不変の分散データ記憶システムとして機能する。ブロックチェーン技術は、デジタルアセットに関連するその使用について広く知られている。上述のように、トランザクションに関連するアウトプット又はUTXOは、ブロックチェーンに提供され又は格納される。これらのトランザクションは、従って、ブロックチェーンへのアクセスを有するパーティにより閲覧又はアクセスでき、通常、少なくとも1つのエンティティの公開アドレス又は公開鍵のような詳細、並びに移転されるデジタルアセット又はアセット若しくはトークンの値の指示を含む。トランザクションの幾つかの要素はマスクされ又は暗号化されることができるが(これは通常行われる)、公開分散台帳の思想は、公開アドレス及び鍵等が使用されることであり、その結果、そのようなトランザクションがブロックチェーンネットワークのノードにより検証されることができる。従って、不変且つ検証可能/監査可能な分散記憶が達成されるが、トランザクション(のコンテンツ)のプライバシは、依然としてブロックチェーンを利用する多数のアプリケーション及びエンティティの関心事である。更に、既存の技術は所与の1つ以上のエンティティの公開アドレス又は公開鍵の知識に基づくので、匿名のままの問題のエンティティのアイデンティティも関心事である。これは、特に、エンティティが、多数のトランザクションについてデジタルアセット又はトークンに関連付けられた特定の値を受信又は送信する場合に当てはまる。つまり、1種類の商品を固定額の暗号通貨で販売し、及び1つ以上の知られている公開鍵を用いてそのような固定額を常に要求する商人と同様である。そのようなエンティティは、そのような詳細が悪意あるパーティにより公開ブロックチェーンから推定できる場合に、エンティティ及び関連するトランザクションのセキュリティ、匿名性、及びプライバシに損害を与える、なりすまし、メッセージ再生、又は盗聴に関連する攻撃を受ける可能性がある。
本開示は、所与のエンティティ並びにエンティティに関連するトランザクションに関連付けられたセキュリティ、プライバシ、及び匿名性を有意に向上する技術を提案することにより、これらの技術的関心事を解決する。これは、完全に任意に移転に関連するデータをパーティションすることにより、エンティティ間のデジタルアセットの移転に関連するトランザクションが、Bitcoinブロックチェーンのような公開ブロックチェーンに提供される及び/又は格納される方法及び構造を変更することに基づく。このランダム性は、ここでも任意に実行される中間選択に基づき達成される。
1つの態様では、本開示は、デジタルアセットに関連付けられた要求を任意の数のトランザクションにパーティションする方法、装置、及びシステムを提案する。パーティションは、要求について許容されるアウトプットの最大数を知る又は取得すること、及び任意の選択した整数の可能な整数パーティションの任意の選択に基づく。ランダムに選択した整数パーティションは、次に、トランザクション及びアウトプット(UTXO)の数を決定するための基礎を形成し、その結果、デジタルアセット値は、公開ブロックチェーンに格納される前に、決定したUTXOに渡り任意の分割できる。
別の態様では、本開示は、要求に関連付けられたデジタルアセット値を任意の決定した数のトランザクションに任意の分散する方法、装置、及びシステムを提案する。これは、任意の選択した数のトランザクション、及び各要求についてのアウトプットの最大数に基づく。
別の態様では、本開示は、所与のエンティティのためにブロックチェーントランザクションの中で使用するための、所与のエンティティに関連付けられた1つ以上の公開アドレスを生成又は決定する方法、装置、及びシステムを提案する。その結果、そのようなアドレスは、エンティティのアイデンティティの匿名性を維持したまま、所与のエンティティにセキュア且つ正確に関連付けられることができる。
本願明細書を通じて、用語「含む」又は「有する」のような変形(comprise、includes、comprises、comprising)は、記載された要素、整数若しくはステップ、又は要素、整数若しくはステップのグループを意味すると理解されるが、任意の他の要素、整数若しくはステップ、又は要素、整数若しくはステップのグループを排除しない。
本開示の態様及び実施形態は、単なる例を用いて及び添付の図面を参照して以下に説明される。
第1の態様による、デジタルアセットに関連付けられた要求を任意の数のトランザクションにパーティションする方法を示すフロー図であり、方法はデジタルアセット支払いの受信者に関連付けられた1つ以上のプロセッサにより実行される。 第1の態様による、デジタルアセットに関連付けられた要求を任意の数のトランザクションにパーティションする方法を示すフロー図であり、方法はデジタルアセット支払いの送信者に関連付けられた1つ以上のプロセッサにより実行される。 各整数kについて可能な整数パーティションの数を示す表であり、1≦k≦N及びN=50である。 第1の態様に関連する要求のために任意に選択されたM個のトランザクションを示す概略図であり、各トランザクションはN個のアウトプットを有する。 第2の態様による、要求又は要求に関連付けられたデジタルアセットの値を任意に選択された数のトランザクションに渡りに分散する方法を示すフロー図であり、方法はデジタルアセット支払いの受信者に関連付けられた1つ以上のプロセッサにより実行される。 第2の態様による、要求又は要求に関連付けられたデジタルアセットの値を任意に選択された数のトランザクションに分散する方法を示すフロー図であり、方法はデジタルアセット支払いの送信者に関連付けられた1つ以上のプロセッサにより実行される。 所与の要求について生成された任意に選択されたM個のトランザクションを示す概略図であり、各トランザクションはn個のアウトプットに関連付けられ、1≦n≦Nである。 第3の態様による、公開ブロックチェーンにおける1つ以上のUTXOで使用するための、エンティティの複数の公開アドレスをセキュアに生成する方法を示すフロー図であり、方法は、デジタルアセット支払いの送信者又は受信者又は信頼できる第三者に関連付けられた1つ以上のプロセッサにより実行される。 本開示の種々の態様及び実施態様が実装可能なコンピューティング環境を示す概略図である。
第1の態様によると、本開示は、デジタルアセットに関連付けられた要求を、分散台帳に関連する1つ以上のトランザクションにパーティションする、コンピュータにより実施される方法であって、各トランザクションは前記要求に関連付けられた1つ以上のアウトプットを有し、前記方法は、受信者に関連付けられた1つ以上のプロセッサにより実施され、前記受信者はデジタルウォレットに関連付けられてよいコンピューティングリソース又はノード又はエンティティであってよい、方法を提供する。
幾つかの実施形態では、前記要求は、支払いの要求、又はデジタルアセットの値又は額に関連付けられた支払いが要求されることを示すトリガ若しくはメッセージであってよい。前記方法は、前記受信者に関連付けられた要求のために可能なアウトプットの最大数Nを取得するステップを含む。幾つかの実施形態では、アウトプットの最大数Nは、前記要求又は前記受信者について予め定められる。幾つかの実施形態では、アウトプットの最大数Nは、前記要求に関連付けられた全部のトランザクションの全体の最大数のアウトプットであってよい。幾つかの実施形態では、アウトプットの最大数Nは、前記受信者の公開アドレスに関連する。例えば、受信者又は受信者のウォレットは、全部の要求に適用されるべきNを決定するか、又は要求のうちの1つ又はその特性に基づきNを任意に選択してよい。例えば、値閾値に適合するデジタルアセットに対する要求は、閾値を満たさない要求と比べたとき、Nについて異なる値を有してよい。次に、各整数k、1≦k≦Nについて、全部の可能な整数パーティションが決定される。整数パーティションは、次に、前記要求の可能な整数パーティションから任意に選択される。
第1の態様の方法は、選択された整数パーティションに基づき、1つ以上の(M'個の)トランザクションテンプレートTx'を生成するステップを含む。幾つかの実施形態では、前記受信者により提供されるトランザクションテンプレートは、送信者又は別のエンティティが前記受信者へのデジタルアセット支払いを行うために必要な全部の詳細、例えば前記アウトプットスクリプト(UTXO)内の前記受信者の公開鍵又はアドレス、並びに、デジタルアセット及び既存の公開鍵基盤(Public key infrastructure (PKI))プロトコルに基づき適用されるべき任意のデジタル署名、を含む。前記方法は、デジタルアセットに関連付けられた値を、1つ以上の生成されたトランザクションテンプレートTx'に関連付けられたアウトプットに渡り分割するステップと、送信者のために又は送信者へ、前記1つ以上の生成されたトランザクションテンプレートTx'を提供するステップと、を含む。例えば、要求される前記デジタルアセットは、BSVの暗号通貨支払いであってよい。幾つかの実施形態では、前記トランザクションテンプレートTx'は、前記送信者に関連付けられたプロセッサ又はウォレットに直接送信されてよい。他の実施形態では、前記テンプレートは、前記送信者に関連付けられてよい支払いサービスへ送信されてよく、又は検索のためにブロックチェーン、つまり分散台帳に格納されてよい。
幾つかの実施形態では、前記方法は、前記送信者からの前記1つ以上の生成されたトランザクションテンプレートTx'に基づき、1つ以上の完成トランザクションTxを受信するステップを含む。前記受信者は、次に、前記分散台帳へ前記完成トランザクションを提出できる。幾つかの実施形態では、この提出は、PKI技術を用いる検証の知られている方法の後に、行われてよい。
有利なことに、第1の態様の上述の方法は、トランザクションテンプレート又はデジタルアセットを受信するためにアウトプットスクリプトを提供する同様の技術を使用することにより、デジタルアセット支払いを要求する処理の完全なランダム化を可能にする。任意の数の可能なパーティションからの任意の選択は、これらのトランザクションが追跡される又は特定のエンティティに関連付けられる確率を有意に低減し、それにより、ブロックチェーン上に投稿されたときの対応するトランザクションのプライバシを向上する。有利なことに、この方法は、受信者の匿名性も向上し、また、ブロックチェーン上で受信者のトランザクションを識別し若しくは傍受するために盗聴することにより攻撃を考えている悪意あるパーティに対してより高いセキュリティを提供する。これは、要求に関連付けられたトランザクションアウトプットアドレス又はデジタルアセット値又は知られている分配におけるパターンを観察するためであってよい。ブロックチェーンを観察することによる悪意あるパーティによるこの推論は、受信者エンティティからの単一の要求に対してランダムな数のトランザクションテンプレート及びアウトプットが与えられるならば、極めて困難になる。前記方法は、悪意あるパーティが途中で送信者又は受信者のいずれかを装い、2つの対応するパーティの間のデータの一部を変更する又は傍受する、MITM又はメッセージ再生攻撃に対するセキュリティも提供する。これは、任意に生成されたトランザクションテンプレートに基づきテンプレートを所与のエンティティ又はノードに関連付けることが困難になるからである。
第1の態様の方法は、送信者、又は幾つかの場合には本開示の第1の態様の方法を実施するためにサービスを提供してよい送信者に関連付けられてよい第三者エンティティに関連付けられた1つ以上のプロセッサにより実施されてもよい。この場合、送信者は、受信者に関連付けられたデジタルアセット支払いを行うための要求又はトリガの受信に応答して、方法を実行する。幾つかの実施形態では、この要求は受信者から受信されてよく、又は受信者からの1つ以上の商品又はサービスの購入の意図の指示に続いて、1つ以上のプロセッサ又は送信者に関連付けられたデジタルウォレットにより自動的に生成されてよい。上述の方法により、前記受信者に関連付けられた要求のために可能なアウトプットの最大数(N)が取得される。各整数k、1≦k≦Nについて、可能な整数パーティションが決定され、整数パーティションは、前記要求について決定した可能な整数パーティションから任意に選択される。前記送信者は、選択された整数パーティションに基づき、1つ以上のトランザクションTxを生成する。前記方法は、次に、デジタルアセットに関連付けられた値を、1つ以上の生成されたトランザクションに関連付けられたアウトプットに渡り分割するステップを含み、各アウトプットは、前記受信者に関連付けられた公開アドレス又は公開鍵に関連する。
上述の方法は、トランザクションテンプレートを要求するのではなく、公開ブロックチェーンに提供可能な前記要求のためのトランザクションを直接生成することにより、受信者により実施される第1の態様の方法と異なる。送信者は、受信者エンティティに対する支払いを行う方法を実施するので、テンプレートが必要ない。第1の態様の上述の方法は、送信者により実施されると、上述の第1の態様の全部の利点を提供し、更に、上述のトランザクションテンプレートを生成することができない又はそうするためのリソースを有しない可能性のある1人以上の受信者又はノードにそのようなパーティションを提供することを可能にする又は実現する場合に、利点を提供する。また、多くの商業サプライチェーンでは、送信者は、小規模供給者から購入する大規模エンティティであってよい。このシナリオでは、送信者は、より小さな、少ない計算的に高度な供給者又は受信者に、支払いセキュリティサービスとして、この方法を実施できる。更に、方法を送信者端又は受信者端におけるプロセッサにより実行可能にすることにより、受信者エンティティに対して指定される1つ以上の要件に基づき、デジタルアセット支払い対する相互運用性が達成できる。
幾つかの実施形態では、受信者又は送信者は、1つ以上のコンピューティングリソース、ユーザ端末又はコンピューティングリソースに関連付けられたアプリケーションに関連する又はそれにより実施されるエンティティであってよい。幾つかの実施形態では、通常、各(送信者又は受信者)エンティティは、デジタルウォレットに関連付けられてよく、又はデジタルウォレットに関連付けられたエンティティ、例えばデジタルウォレット若しくはインストールされたデジタルウォレットのためのアプリケーションを有するユーザ端末であってよい。本開示の態様及び実施形態は、受信者エンティティ又は送信者エンティティのデジタルウォレットに関連するが、理解されるべきことに、デジタルウォレット又はそのための別個のアプリケーションを有しないが、デジタルウォレットとして又はそれと共に又はそれと同様に動作する機能を提供するよう構成されるエンティティも、本開示の範囲内にある。単に説明を容易にするために、以下の説明は、受信者及び送信者に関連し、本開示は、デジタルウォレットを有するエンティティに限定されない。
送信者により実装されると、幾つかの実施形態では、第1の態様の方法は、前記選択した整数パーティションに基づき、前記受信者に関連付けられた1つ以上の公開アドレスを生成又は決定するステップを更に含み、前記1つ以上の公開アドレスの中の所与の公開アドレスは、前記1つ以上の生成したトランザクションの中の所与のトランザクションTxの所与のアウトプットに割り当てられる。前記受信者が、計算的に非高度なエンティティである場合、本実施形態は、有利なことに、異なるエンティティにおいて実行されるべき支払いをセキュアに受信するための公開アドレスの生成を可能にし、その結果、受信者及びトランザクションテンプレートは、向上したセキュリティ、プライバシ及び匿名性の利益を享受できる。
幾つかの実施形態では、送信者により実施されると、前記方法は、受信者へ、1つ以上の生成されたトランザクションTxを送信するステップを含む。幾つかの実施形態では、前記生成されたトランザクションは、前記受信者端において検証可能な、前記送信者に関連付けられたデジタル署名を含んでよい。これは、ブロックチェーンへの提出の責任が受信者に与えられ、受信者は、支払いの要求のために完成されたトランザクションを認識するので、有利である。他の実施形態では、生成されたトランザクションTxは、送信者により分散台帳に提出できる。その結果、UTXOは、受信者へ送信するのではなく、ブロックチェーンに投稿され、従って可視になる。
以下の実施形態は、要求を、ブロックチェーン上の任意の数のトランザクション及び/又はアウトプットにランダムにパーティションする第1の態様に関連し、及び受信者又は送信者により実施されるときの方法に関連する。上述のように、トランザクションテンプレートを生成することに関連する実施形態は、受信者の実装に関連し、トランザクションの生成に関連するものは、送信者の実装に関連する。
実施形態では、トランザクションテンプレートの数M'、又は生成されたトランザクションの数Mは、前記選択した整数パーティションの中の整数の数に基づく。幾つかの実施形態では、所与のトランザクションテンプレートTx'又は生成したトランザクションTxの中のアウトプットの数は、前記所与のトランザクションTx又はテンプレートTx'に関連する選択した整数パーティションの中のそれぞれの位置における整数の値に基づく。例えば、N=5の場合、及び整数k=3に関連する任意に選択された整数パーティションが2+1である場合、これは、2つのトランザクション/テンプレートTxID1及びTxID2が存在することを意味する。ここで、TxID1は受信者のための2つのアウトプットを有し、TxID2は1つのアウトプットを有する。この実施形態は、図1a及び1bに関して詳細に更に説明される。
有利なことに、上述の実施形態は、トランザクション及びアウトプットの構造及び粒度が、1つの値のみ、つまり受信者に関連付けられた要求のためのアウトプットの最大数Nを知ることに基づき、どのように任意に選択されるかの実装の詳細を更に指定する。アウトプットは、受信者の公開鍵又はアドレスに関連付けられる。
幾つかの実施形態では、前記方法は、前記要求又は前記受信者について許容されるトランザクションテンプレートの最大数M'max又はトランザクションの最大数Mmaxを取得するステップ、を含む。
これは、有利なことに、処理リソース最適化を保証し、それにより、多すぎるトランザクションを有することによるオーバヘッドを削減し、同時に、依然として、第1の態様のランダムパーティションにより受信者に提供される向上したセキュリティ、プライバシ、及び匿名性の利益を得る。
幾つかの実施形態では、前記方法は、前記要求又は前記受信者についてトランザクションテンプレートの最小数M'min又はトランザクションの最小数Mmin及び/又はアウトプットの最小数Nminを取得するステップ、を含む。
これは、有利なことに、1つのアウトプットを有する単一のトランザクションを有するような、通常の又は既存のブロックチェーントランザクションのように現れ振る舞うトランザクションを生じ得る、考慮すべき些細な整数パーティションの可能性を回避する。
幾つかの実施形態では、所与のトランザクションテンプレートTx'又は生成されたトランザクションTxの中の各アウトプットは、受信者ノードの異なる公開アドレスに関連付けられ、前記公開アドレスはそれぞれのアウトプットに固有である。
これは、有利なことに、各アウトプットが受信者の異なる公開鍵又はアドレスに関連付けられることを保証する。これは、同じ受信者及び同じ要求のためのトランザクションが、特定の要求又は受信者のトランザクションを観察し及び識別しようとする悪意あるパーティに対してよりランダムに無関連に現れるので、受信者のセキュリティ及び匿名性を向上することを支援する。
第1の態様の方法が受信者により実施されるとき、デジタルアセット支払いを完成するために送信者エンティティの1つ以上のプロセッサにより実行される前記方法は、前記要求に関連付けられた1つ以上のトランザクションテンプレートTx'を取得又は識別するステップを含み、前記テンプレートTx'は、前記受信者に関連付けられ、第1の態様の方法及び前記受信者により実施されるときの関連する実施形態に基づき生成される。前記方法は、前記1つ以上のテンプレートTx'を完成して、前記支払いのための対応するブロックチェーントランザクションTxを生成するステップと、前記ブロックチェーンに提出するために前記対応するトランザクションTxを前記送信者に提供するか、又は代替として前記分散台帳に前記対応するトランザクションを提出するステップと、を更に含む。
第1の態様の方法が送信者により実施されるとき、前記方法は、デジタルアセット支払いの受信者の1つ以上のプロセッサにより実行され、前記関連する要求を、送信者に提供するステップを含む。幾つかの実施形態では、これは、前記送信者に、オンチェーン又はオフチェーンで送信される別個のメッセージ又は指示子であってよい。前記方法は、前記送信者から、1つ以上の完成したトランザクションTxを受信するステップであって、前記1つ以上の完成したトランザクションは、第1の態様の方法及び前記送信者により実施されるときの実施形態に基づき生成される、ステップと、次に、前記分散台帳に前記完成したトランザクションを提出するステップと、を含む。
第2の態様によると、本開示は、要求を、分散台帳に関連する1つ以上のトランザクションに渡り分散する、コンピュータにより実施される方法であって、各トランザクションは前記要求に関連付けられた1つ以上のアウトプットを有し、前記方法は、受信者に関連付けられた1つ以上のプロセッサにより実施される。前記方法は、前記要求に関連付けられた値Lを取得するステップであって、前記値は、前記受信者により要求されるデジタルアセットを表す、ステップを含む。前記方法は、前記要求に関連付けられたトランザクションテンプレートの所定の数M'を取得するステップであって、M'個のテンプレートTx'は、前記要求又は前記受信者に関連するアウトプットの所定の最大数Nに関連付けられ、前記M'個のトランザクションテンプレートTx'の中の所与のトランザクションテンプレートTx'は、n個のアウトプットを有し、n≦Nである、ステップ、を含む。幾つかの実施形態では、この取得するステップは、N及びM'を取得するために、前記受信者により実施されるとき、第1の態様の方法に基づく。第2の態様の方法は、次に、前記値Lのn-1個の値パーティションU(i=1to(n-1))を任意に生成するステップと、前記n-1個の値パーティションを値の昇順にソートするステップであって、0<U(1)<U(2)<…<U(n-1)<L、ここで、U(0)=0及びU(n)=Lである、ステップを含む。前記方法は、それぞれの(i番目の)値パーティションとソートした順序で前の値パーティションとの間の差Xi=U(i)-U(i-1)、i=1~nに基づき、前記所定の数M'のトランザクションテンプレートの中の所与のトランザクションの値X(i=1 to M')を計算するステップを含む。
第1の態様について議論した利点に加えて、第2の態様の方法は、有利なことに、受信者が匿名のままであるプライバシ及び機会を更に向上する。第2の態様の上述した方法で、多数の任意に生成されたトランザクションに含まれるよう、前記デジタルアセットの値をランダムな単位(denomination)に任意に分割することは、観察者又は悪意あるパーティが、デジタルアセットの値の知識又は推論、又は該受信者に関連付けられた通常若しくは以前にデジタルアセット支払いを受け取るために使用された単位に基づきブロックチェーントランザクションを受信者に関連付けることを困難にする。これは、また、悪意あるパーティがブロックチェーン内の所与のトランザクションのアウトプット内の値を探すことから任意の意味又はソースアイデンティティを推測又は計算することが非常に困難になるので、ブロックチェーン上のトランザクションのセキュリティを更に向上する。
幾つかの実施形態では、第1の態様の方法及び第2の態様の方法は、結合され、受信者により実施されてよく、第1の態様における分割するステップは、第2の態様のステップにより実施されてよい。
第2の態様の方法は、送信者に関連付けられた1対所のプロセッサにより実施されてもよい。この場合、前記方法は、受信者に関連付けられたデジタルアセット支払いを行うための要求又はトリガの受信に応答して、実行される。この場合、前記方法は、前記送信者により実施されるとき、前記要求に関連付けられた値Lを取得するステップであって、前記値はデジタルアセットを表す、ステップと、前記要求に関連付けられたトランザクションの所定の数Mを取得するステップであって、M個のトランザクションTxは、前記要求又は前記受信者に関するアウトプットの所定の最大数Nに関連付けられ、前記M個のトランザクションTxの中の所与のトランザクションTxはn個のアウトプットを有し、n≦Nである、ステップと、を含む。
幾つかの実施形態では、取得するステップは、前記送信者により実施されるとき、第1の態様で説明したように、多数のトランザクション及びアウトプットに渡り要求をパーティションする方法に基づき実行される。第1の態様に関して議論したように、前記送信者の実装は、前記受信者に対する要求をパーティションするのが前記送信者であるならば、トランザクションテンプレートTx'が必要ない点で、前記受信者の実装と異なる。第2の態様の方法は、前記値Lのn-1個の値パーティションU(i=1to(n-1))を任意に生成するステップと、前記n-1個の値パーティションを値の昇順にソートするステップであって、0<U(1)<U(2)<…<U(n-1)<L、ここで、U(0)=0及びU(n)=Lである、ステップを含む。前記方法は、それぞれの(i番目の)値パーティションとソートした順序で前の値パーティションとの間の差Xi=U(i)-U(i-1)、i=1~nに基づき、前記所定の数Mのトランザクションの中の所与のトランザクションの値X(i=1 to M)を計算するステップを含む。
前記送信者の実装は、前記受信者の実装について上述したように、第2の態様に関連する同じ利点を提供する。更に、第1の態様と同様に、そのような実装は、有利なことに、計算的に非高度な受信者が、そのために意図された支払いトランザクションのプライバシ、セキュリティ、及び匿名性が、要求されたものに代わってトランザクションへの任意のパーティションを実施できる別のエンティティから依然として達成できることを保証することを可能にする。
第2の態様によると、本開示は、受信者に関連付けられた複数の公開鍵を生成する、コンピュータにより実施される方法であって、各公開鍵は前記受信者に関連付けられた1つ以上のトランザクションのための1つ以上のブロックチェーントランザクションアウトプット(UTXO)に関連付けられ、前記方法は、デジタルアセット支払いの送信者又は受信者、又は信頼できる第三者のいずれかに関連付けられてよい1つ以上のプロセッサにより実施される、方法を提供する。前記方法は、受信者に関連付けられた秘密鍵SB及幾つかの実施形態では前記受信者に関連付けられチェーンコードであってよいコードCに基づき、親公開鍵PBを取得するステップを含む。前記方法は、複数の(n個の)子公開鍵PBi(i=1 to n)を導出するステップであって、各(i番目の)子公開鍵は、それぞれの導出された子シークレット鍵SBi(i=1 to n)に基づく、ステップを含む。第3の態様では、各導出された子公開鍵PBiは、前記受信者に関連付けられ得る1つ以上のブロックチェーントランザクションアウトプット(UTXO)に固有の導出された公開アドレスを表す。
幾つかの実施形態では、前記親公開及び/又は秘密鍵は、圧縮され16進符号化された、安定楕円曲線デジタル署名アルゴリズム(elliptic curve digital signature algorithm (ECDSA))鍵、つまり、secp256k1曲線上の有効な点である。この場合、幾つかの実施形態では、前記親公開鍵PBは、PB=SB・Gに基づき導出でき、Gは、ビットコインジェネレータの楕円曲線上の生成元又は基点であるか、又はGは知られている定数である。幾つかの実施形態では、対応する(i番目の)子公開鍵及び子シークレット鍵は、次に、以上に基づき、セキュアなハッシュアルゴリズムを使用して導出できる。この導出は、図6に関して後述される。
有利なことに、第3の態様による方法は、所与のエンティティにリンクされる公開鍵により表される多数の公開アドレスのセキュアな生成を可能にする。上述の場合、これは、デジタルアセットの支払いの受信である。これは、これらのアドレスが、親鍵(SB)及びコード(C)に基づき、受信者により、ブロックチェーン上で容易に識別され又は決定できることを保証する。これは、特に、第1及び/又は第2の態様のおいて、要求に基づきブロックチェーン上で任意にパーティションされたトランザクションを識別するとき、有利である。第3の態様により導出されたアドレスは、パーティションされた要求のために生成されたトランザクションに関連付けられたアウトプットの中で使用できる。これは、次に、有利なことに、これらの任意に生成されたトランザクションを共通の因子、つまり受信者に有効にリンクすることを可能にするメカニズムを提供する。これは、特に、認可されたパーティが、パーティションされたトランザクションのうちのどれが受信者に関連するかを決定したいとき、有用である。これは、上述の方法に基づきアドレスを導出し及び探すことにより行うことができる。
幾つかの実施形態では、そのような導出を受信者のみに限定する必要があるとき、子鍵ペアの強化(hardening)は追加のセキュリティ特徴として実装することもできる。有利なことに、子が強化される場合、子秘密鍵及びチェーンコードCの知識は、親の秘密鍵を再構成するために十分ではない。受信者だけが親秘密鍵SBを知っているので、受信者以外のエンティティは、子アドレスを構成できない。
子鍵ペアが強化されない実施形態では、更なる検証の目的のため又は二重チェック若しくはバックアップのために必要な場合には、公開鍵PB及びチェーンコードCの知識を有する任意のエンティティは、受信者の代わりに、導出された子アドレスを構成できる(例えば、送信者又は信頼できる第三者エンティティ)。これは、任意にパーティションされた要求に関連するトランザクションが決定できることを保証する。これは、上述の詳細をセキュアに提供されるとき、他のエンティティも、受信者にリンクされる方法で公開アドレスを構成できるからである。これは、受信者自身が、悪意あるパーティにより侵害され又は攻撃されたことが判明した場合に、受信者に関連付けられたトランザクションを決定するための、有用なバックアップメカニズムになることができる。
幾つかの実施形態では、第3の態様によるリンクされた公開アドレスの導出は、要求に関連付けられたメッセージmに基づいてもよい。この要求は、第1及び第2の態様でパーティションされた要求に関連してよい。そのような場合には、アドレスの導出は、メッセージmの知識も要求する。この導出がどのようになるかの詳細。
第3の態様について上述した利点に加えて、本実施形態により、受信者又は別のエンティティは、親秘密鍵及びコードCに基づきブロックチェーン上で特定の要求mについて使用され得る全部の公開アドレスを識別できる。チェーンコードCが共有される場合、送信者のような別のエンティティは、送信者は、公開アドレスを導出するためにこれを使用することもできる。更に、要求mハッシュも、災害復旧目的のような保管のために、又は受信者ノードが悪意あるパーティにより攻撃され又は侵害された場合に追加のセキュリティレイヤを提供するために、(受信者の親公開鍵と一緒に)信頼できる第三者パーティ又は当局により送信され又は格納されてよい。これは、mに基づく導出が受信者からの要求に関連付けられた全部のトランザクションの検証可能なリンクを提供するからである。
幾つかの実施形態では、前記コードCは、前記受信者にとって秘密の又は私的なチェーンコードであり、前記チェーンコードCは、任意で、前記受信者に関連付けられたシークレットシードのセキュアなハッシュである。この場合、受信者だけが、受信者の公開アドレス又は要求を導出するために、第3の態様の方法を実行することができる。
幾つかの実施形態では、前記コードCは、別のエンティティと共有されるチェーンコードであり、他のエンティティは、前記受信者への前記要求に関連付けられたデジタルアセットの送信者であるか、又は前記他のエンティティは、前記受信者又は前記送信者に関連付けられた信頼できる第三者である。この場合、公開アドレスは、他のパーティ及び受信者により導出できる。
幾つかの実施形態では、コードCは、受信者及び別のエンティティにより共有されるシークレットSに関連付けられ、シークレットSは、送信者及び受信者の親公開鍵PA及びPBに基づく知られている又は所定のセキュアな鍵交換プロトコルに基づき、受信者と他のエンティティとの間で共有される。幾つかの実施形態では、共有シークレットSは暗号化されてよい。
第3の態様について議論された上述の全部の利点に加えて、送信者及び受信者の両方に共通の共有シークレットに基づく鍵導出は、受信者に関連付けられた、所与のメッセージmの所与の送信者にリンクされた全部のブロックチェーントランザクションが、識別され必要に応じて検証されることを保証する。更に、導出される公開鍵が強化されない場合、送信者は、所与のメッセージmの受信者の導出した公開鍵に基づき、トランザクションを決定し及び検証することもできる。
幾つかの実施形態では、プロセッサとメモリとを含むコンピューティング装置が提供され、前記メモリは、前記プロセッサによる実行の結果として、前記装置に、上述の態様及び/又は実施形態を実行させる実行可能命令を含む。
幾つかの実施形態では、実行可能命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記実行可能命令は、コンピュータシステムのプロセッサにより実行された結果として、前記コンピュータシステムに、上述の態様及び/又は実施形態の方法を実行させる、非一時的コンピュータ可読記憶媒体が提供される。
幾つかの特定の実施形態は、添付の図面を参照して例示のためにここで説明される。ここで同様の参照符号は同様の機能を示す。
第1の態様-受信者の実装
図1aは、本開示の第1の態様による、要求をパーティションする方法を示すフローチャートである。要求は、受信者に関連付けられた1つ以上のプロセッサにより実施される分散台帳に関連するデジタルアセットに関連付けられる。
例えば、説明のみ及びそれを助けるために、送信者(A又はAlice)が受信者(B又はBob)から商品又はサービスを購入するシナリオを検討する。受信者Bobは、次に、3BSVのために、要求を送信者へ送信する。このシナリオにおける要求は、トランザクションテンプレートTx'の形式である。トランザクションテンプレートTx'は、Bobがアウトプットのうちの幾つかを入力して、Aliceが彼女のものを入力すると、トランザクションになる。テンプレートの既存の形式は、概略的に以下の通りであってよい:
Figure 2022549777000002
上述のトランザクションテンプレートでは、Bobは、3BSVのアウトプット値を有する彼に関連付けられた1つのアウトプットアドレスPB1を挿入している。
このシナリオでは、Aliceが、彼女のアドレスPA1において4BSVの値を有する1つのUTXOを有するとする。彼女は、次に、これをトランザクションテンプレートのインプットに挿入し、アウトプットでは、彼女は、彼女の別のアドレスPA2においてお釣り(残高)に1BSVを彼女自身に送信する。トランザクションは、今や完成し、概略的に以下により与えられる。
Figure 2022549777000003
以上は、BSV又は任意の他の暗号通貨のようなデジタルアセットの支払いを要求する、請求書又はメッセージであってよい、要求に基づく標準的なトランザクションを示した。本願明細書では、参照の明確さ及び簡単さのために、以下でBSVが参照されるが、本開示はそれに限定されない。
上述のように、トランザクションを観察している悪意あるパーティが、Bobが通常課金する3BSVの値から、又はBobが商品の支払いを受信するために通常使用する公開アドレスを表す公開鍵から推論する場合、悪意あるパーティは、Bobのアイデンティティを推論することが可能であり、それにより、Bobの匿名性、及びBobに関連付けられたトランザクションのプライバシが侵害され、場合によっては、特にAliceがBobから同じ商品を同じ公開アドレスを用いて定期的間隔で購入する場合、これらの公開アドレス及び鍵がブロックチェーン上でマスクされるので、Aliceも同様である場合がある。喉のアイデンティティが知られると、悪意あるパーティは、悪意ある目的でBobに関連する情報をリッスンし又は集めることにより盗聴攻撃を実行できるので、全体のセキュリティも侵害され得る。これの例は、攻撃者が盗聴し、メッセージ又はトランザクションのコピーを取得し、メッセージ又はトランザクションが元の商人又は受信者、つまりBobから生じていると考えさせるために、使用されている暗号化プトロコルを騙そうとして、該メッセージを後に再利用して、メッセージ再生攻撃である。悪意あるパーティは、真のパーティになりすまし、メッセージ又はトランザクションを改ざんすることで、中間者攻撃も実行し得る。
本開示の第1の態様は、トランザクションテンプレートTx'の構造を変更することにより、Bob(従って、デジタルアセットの受信者)からの支払い要求に関して既存のトランザクションに関連する匿名性、プライバシ、及びセキュリティの欠如という上述の欠点を克服する。これは、以下に、受信者の1つ以上のプロセッサ又は受信者のウォレット(Bobのウォレット)により実施されるとき、図1aに関して議論される。
ステップ102aは、Bobに関連する、ブロックチェーンに関連付けられた要求のために可能なアウトプットの最大数N、つまり所与の要求についてBobに関連付けられた公開アドレスの最大数を取得するステップを示す。これは、全部のデジタルアセットに関連する要求、又はBobに関連する実際のトランザクションについて、予め設定されてよく、又は任意に、要求毎に異なる数に設定されてよい。幾つかの実施形態では、許容されるトランザクションの最大数又は最小数、又は許容されるトランザクションと後のアウトプットの最小数を取得して、ブロックチェーンに提出されるトランザクションの粒度を制御することも可能である。しかしながら、これは必須ではない。アウトプットの最大数Nは、受信者に必要な唯一の基本的パラメータである。
ステップ104aは、所与の整数kについて、1≦k≦Nかどうかをチェックするステップを示す。この条件が真である場合、方法はステップ106aへ進む。その他の場合、方法はステップ112aへ進む。
ステップ106aは、各整数kについて可能な整数パーティションを決定するステップを示す。ここで、1≦k≦Nである。
整数パーティションは、加算してkを与える(順序無しの)数の異なる組合せである。例えば、k=3及びk=4の整数パーティションは以下の通りである:
Figure 2022549777000004
3の3個の可能な整数パーティション、及び4の5個の可能な整数パーティションがあることが分かる。
整数パーティションの数は、線形に増減しない。図2の表は、各整数k、k≦50、について、可能なパーティションの数を記載する。
ステップ108a及び110aは、ステップ106aが整数k毎に、次のk=k+1について、k+1≦Nである限り、段階的に実行されることを示す。
ステップ112aは、要求について決定された可能な整数パーティションから、整数パーティションnを任意に選択するステップを示す。従って、このステップでは、単一の整数パーティションが選択されるか又は1≦k≦Nを満たす各kの全部の可能なパーティションから一様にランダムに選ばれる。例えば、N=4を考える場合、パーティションは、kが1、2、3、及び4である全部のパーティションから選択される。図2の表から、これは、5+3+2+1=11個の可能なパーティションから選択できることを意味する。本例では、選択された整数k=4について、完全に任意に選択された、選択された整数パーティションが2+2であるとする。この場合、アウトプットの最大数として、k=Nでもある。
ステップ114aは、ステップ112aで選択された整数パーティション、つまり2+2に基づき、1つ以上の、つまりM'個のトランザクションテンプレートTx'を生成するステップを示す。生成されたトランザクションテンプレートの数M'は、選択された整数パーティションの中の整数の個数に基づき、生成されたM'個のトランザクションテンプレートTx'の中の所与のトランザクションテンプレートTx'の中のアウトプットの数は、選択された整数パーティションの中のそれぞれの位置にある整数の値に基づく。このステップは、各テンプレートTxの中の合計でn個の実際のアウトプットを有するM'個のトランザクションテンプレートTx'の生成を説明する。ここで、選択された整数パーティションに基づき、n≦Nである。従って、これは、結果としてM'個のトランザクションテンプレートを生じ、各トランザクションテンプレートは、全部でn個のアウトプットを有し、n≦Nである。上述の例を続けると、受信者Bobのための各トランザクションの中のアウトプットの実際の数nは、両方のTxIDについて、n=2である。従って、任意に選択されたパーティションは、n+…+nm=nと表されてよく、ここで、nが選択された整数パーティションに対応する整数kである場合、m=M'個のトランザクションテンプレートであり、1≦m≦n≦Nである。従って、各項は、ni個のアウトプットを有するトランザクションを定義するとして解釈される。つまり、m=M'個のトランザクションテンプレートが構成され、i番目のトランザクション又はトランザクションiは、ni個のアウトプットを有し、1≦i≦mである。このアウトプットは、一般的に及び概略的に、図3に示される。
上述の例では、選択されたパーティションの中に2個の整数があり、これは、要求のために生成された2個のトランザクションテンプレートがあることを意味するので、選択されたパーティションは2+2であり、これは、M=2を意味する。これは、また、テンプレートの各々が2個の実際のアウトプットnを有することを意味し、各アウトプットはBob(受信者)に関連する。幾つかの実施形態では、これらのアウトプットの各々は、Bobの公開アドレスを表す公開鍵Pbに関連付けられ、幾つかの実施形態では、各アドレスはBobの他のアドレスと異なる。エンティティの公開鍵をセキュアに導出する技術は、図6に基づき本開示の第3の態様に関して後に詳述される。
ステップ116aは、上述のステップ106aからの1つ以上の生成されたトランザクションテンプレートTx'に関連付けられたアウトプットに渡り、デジタルアセットに関連付けられた値を分割するステップを示す。上述の例では、この値は3BSVである。値を任意に分割し及びそれを4個のアウトプット(各トランザクションTxID1及びTxID2の中に2個)に渡り分散する方法は、図4a及び本開示の第2の態様に関して以下に詳述される。ここで、3BSVの値は任意に分割されるとする。ここで、任意の選択されたパーティション2+2についてM'=2であり、M'個のテンプレートの各々についてアウトプットの実際の数n=2であり、k=N=4であり、ステップ114aからのM'個のトランザクションテンプレートTx'は、同じ要求について以下に与えられるように概略的に示される。つまり、3BSVの支払いがAliceから要求される。
Figure 2022549777000005
Figure 2022549777000006
従って、Bobに対する1つのトランザクション内の支払いのための1つのアウトプットアドレスの代わりに、このステップは、要求のためのM'=2個のトランザクションテンプレートの生成をもたらす。各トランザクションテンプレートは、2個のアウトプットを有し、各アウトプットは、Bobの異なる公開アドレスに関連付けられ、全部がN=4の条件に一致する。
ステップ118aは、送信者(Alice)に、前のステップでBobにより生成された1つ以上の生成されたトランザクションテンプレートTx'を提供するステップを示す。図1aに示されないが、送信者Aliceは、必要に応じて書くトランザクションテンプレートのために彼女自身の複数のアドレスを使用することを望み、従って、ブロックチェーンの完成トランザクションを生成するために、要求のためのトランザクションテンプレートを完成してよい。しかしながら、本実施形態では、アウトプットの最大数Nは、受信者のアウトプットに関連し、Aliceのアウトプットを含まない。受信者アドレス/アウトプットについてN=4、つまり要求について受信者により設定された要件を満たす完成トランザクションは、以下に示される。ここで、AliceからBobへの3BSVの支払いのために、Bobはk=N=4個のアドレスを使用し、Aliceは8個のアドレスを使用する。
Figure 2022549777000007
Figure 2022549777000008
公開ブロックチェーン上のデジタルアセットの支払いに関連付けられた標準的な既存のトランザクションと比べると、Bobのために任意に選択されたN個以下のアウトプットを有する上述の任意の選択されたM'個のトランザクションは、単一の請求書が公開ブロックチェーン上で識別されること及びAlice又はBobに帰属されることを一層困難にする。
相互作用の特性に依存して、Aliceは、完成トランザクションを、Bobに与えてよい。Bobは、それをブロックチェーン又は分散台帳に提出する。代替の実装では、Aliceは、ネットワークに彼女自身でトランザクションを提出してよい。いずれの方法も、両方のパーティションは、トランザクションが受信され及びマイナーにより検証され、最終的にブロックチェーンへとマイニングされることをチェックしてよい。検証及びマイニング処理は、本開示の範囲を超えており、ここで議論されない。しかしながら、ブロックチェーンについてのトランザクションの検証、提出、及びマイニングの知られている技術が使用されてよく、従って、本開示の態様及び実施形態のために想定される。
第1の態様-送信者又は信頼できる第三者の実装
図1bは、Bob(受信者)に3BSVを支払う上述の例示的なシナリオに関して、送信者、つまりAliceに関連付けられた1つ以上のプロセッサにより実施されるとき、本開示の第1の態様に従い、要求をパーティションする方法を示すフローチャートである。上述のように、要求を分け、その結果、要求が複数のトランザクション及びアウトプットに渡り分割される、送信者又は実際には信頼できる第三者に関連付けられた1つ以上のプロセッサによる第1の態様の方法の実装は、自身で方法を実装することに関連する処理を扱う能力のない計算的に非高度な受信者にとって有利である。参照を容易にするために、送信者に関連付けられた1つ以上のプロセッサ又はデジタルウォレットによる実装がここで議論される。
ステップ102bで、支払いのための要求が、受信者から又は受信者に代わって、受信される。上述の例では、これは、AliceによりBobから購入された商品又はサービスのために3BSVが課されるという通知又はメッセージであってよい。幾つかの実施形態では、要求は請求書を表してよい。
ステップ104b~ステップ114bは、それぞれステップ102a~ステップ112aで説明した同じ方法で送信者Aliceにより実施されるが、送信者により実施される。従って、これらのステップは、第1の態様の同じ概念の繰り返しを回避するために、ここで再び繰り返されない。
ステップ116bは、選択された整数パーティションに基づき、1つ以上のトランザクションTxを生成するステップを示す。このステップは、114aに関して議論された実装と同様であるが、M'個のトランザクションテンプレートの代わりに、送信者の実装では要求のために、M個のトランザクションが直接生成されることができる。これは、本実装では、インプット又はテンプレートが受信者から送信されないからである。これは、第1の態様に関連付けられた関連する実施形態でも上述された。幾つかの実施形態では、方法は、受信者Bobに関連付けられた1つ以上の公開アドレス又は公開鍵を導出するステップも含む。送信者又は信頼できる第三者によりそのような導出をセキュアに実施する処理は、図6の第3の態様に関連して議論される。
ステップ118b及び120bでは、デジタルアセットに関連付けられた値を、1つ以上の生成されたトランザクションに関連付けられたアウトプットに渡り分割することは、それぞれステップ116a及び118aで議論した方法で実行されるが、送信者により実施される。完成したM個のトランザクションが生成されると、送信者は、これを公開ブロックチェーンに提出するか、又はブロックチェーンに提出するために受信者へセキュアな方法で送信できる。
第2の態様-受信者の実装
図4aは、本開示の第2の態様による、要求に関連付けられた値を複数のトランザクションアウトプットに渡り分散する方法を示すフローチャートである。要求は、デジタルアセットに関連付けられる。第1の態様に関して説明した同じシナリオに従い、デジタルアセットはBSVであり、値は3である。この図では、方法は、受信者(Bob)に関連付けられた1つ以上のプロセッサ又はデジタルウォレットにより実施される。幾つかの実施形態では、第2の態様の方法は、ステップ116aでトランザクションの値を分割するステップを実施するために使用される。
ステップ402aは、要求に関連付けられた値Lを取得するステップを示し、値は、BSVのようなデジタルアセットを表すが、それに限定されない。
ステップ404aは、要求に関連付けられたトランザクションテンプレートの所定の数M'を取得するステップを示す。第1の態様に関して説明したように、各トランザクションテンプレートTx'は、要求に関連するアウトプットの所定の最大数Nに関連付けられ、アウトプットは受信者に関連付けられる。幾つかの実施形態では、このステップは、M'個のトランザクションテンプレートを取得するために、図1aのステップ102a~114aから続き又はそれらを含むように関連する。M'個のトランザクションテンプレートの各々は、Bob、つまり受信者に関連付けられたn個の実際のアウトプットを有し、n≦Nである。
ステップ406aは、値Lのn-1個の値パーティションU(i=1to(n-1))を任意に生成するステップを示す。従って、Nが4になる場合、値の3個のパーティション、つまり、この場合にはL=3がランダムに生成される。これは、0.1又は0.5等の任意の単位であってよい。
幾つかの実施形態では、送信者及び受信者の実装の両方に関連して、n-1個を任意に生成するステップは、10-8の精度で、n-1個の数を一様にランダムに生成するステップを含み、(U,U,…,UN-1∈(0,1)である。
有利なことに、第2の態様の方法は、移転されるべき暗号通貨及びデジタルアセットに基づき、異なるメトリック及び精度単位に適応できる。上述の実施形態では、satoshiからBSV(Bitcoin Satoshi Vision)に基づくメトリックが示され、最小単位が1satoshi-10-8BSVであり、satoshiは約0.00000001BSVの最小単位である。Ethereum又はRippleは、異なる精度メトリックを有してよい。
ステップ408aで、n-1値パーティションは、値の昇順にソートされ、0<U(1)<U(2)<…<U(n-1)<L、U(0)=0及びU(n)=Lである。他のソート順序が考えられてよく、又は順はランダムであってよい。
ステップ410aは、所定の数M'のトランザクションテンプレートの中の所与のトランザクションテンプレート毎に、値X(i=1 to M')を計算するステップを示す。この値は、それぞれの(i番目の)値パーティションとソートされた順序で前の値パーティションとの間の差に基づき計算される。これは、Xi=U(i)-U(i-1)、i=1~nにより示される。
ステップ412aは、各テンプレートを完成するために、Xの計算した値を含めて、完成トランザクションを形成し、完成トランザクションを送信者へ送信するか、又はブロックチェーンに完成トランザクションを提出するステップを示す。
上述の例を考えると、第1の態様の方法を用いて、要求を任意の数のトランザクション及びアウトプットにパーティションすることに続いて、次に第2の態様の方法を用いて、要求の値を任意に分割し、結果として、要求はM=2個のトランザクションに分割され、各トランザクションはn=2個のアウトプットを有し、受信者に関連付けられたアウトプットの合計数Nは、上述のように4より多くない。
従って、3BSVの要求の上述の例に従い、受信者Bobの1つのアドレスを有する単一のトランザクションではなく、ここで、Aliceがインプットの中の4BSVを使用し、Bobがアウトプットの中の3BSVを受信し、及びAliceが1BSVをお釣り(残高)で取得した状況を考える。この状況は、添付の図面の図5に概略的に示される。上述のように悪意あるパーティがトランザクション内の公開鍵又はBSV値を注意して見ていることにより、そのような要求に関連付けられたトランザクションの意味するアイデンティティを容易に推論できないようにするために、単一のトランザクションではなく、これらのコンポーネントトランザクションの各々がブロックチェーンに提出される。
第2の態様-送信者の実装
図4bは、Bob(受信者)に3BSVを支払う上述の例示的なシナリオに関して、送信者、つまりAliceに関連付けられた1つ以上のプロセッサにより実施されるとき、本開示の第2の態様に従う要求の値を分散する方法を示すフローチャートである。上述のように、要求の値を分散し、その結果、要求が複数のトランザクション及びアウトプットに渡り分割される、送信者又は実際には信頼できる第三者に関連付けられた1つ以上のプロセッサによる第2の態様の方法の実装は、自身で方法を実装することに関連する処理を扱う能力のない計算的に非高度な受信者にとって有利である。参照を容易にするために、送信者に関連付けられた1つ以上のプロセッサ又はデジタルウォレットによる実装がここで議論される。
ステップ402bで、支払いのための要求が、受信者から又は受信者に代わって、受信される。上述の例では、これは、AliceによりBobから購入された商品又はサービスのために3BSVが課されるという通知又はメッセージであってよい。幾つかの実施形態では、要求は請求書を表してよい。
ステップ404b~ステップ414bは、それぞれステップ402a~ステップ412aで説明した同じ方法で送信者Aliceにより実施されるが、送信者により実施される。しかしながら、送信者の実装では、M'個のトランザクションテンプレートTx'の代わりに、M個のトランザクションTxが、送信者実装における要求のために直接生成できる。これは、第2の態様に関連付けられた関連する実施形態でも上述された。これは、本実装では、インプット又はテンプレートが受信者から送信されないからである。従って、これらのステップは、第1の態様の同じ概念の繰り返しを回避するために、ここで再び繰り返されない。
第3の態様
図6は、受信者に関連付けられた複数の公開鍵を生成する方法を示すフローチャートである。各公開鍵は、受信者の公開アドレスを表す。生成されると、公開鍵は、次に、受信者に関連付けられた1つ以上のトランザクションの1つ以上のブロックチェーントランザクションアウトプット(UTXO)に関連付けられることができる。第3の態様の方法は、幾つかの実施形態では、第1及び第2の態様の方法と一緒に実行されてよい。例えば、図1a及び1bのトランザクションTx又はトランザクションテンプレートTx'を生成するステップ(それぞれステップ114a及び116b)は、公開アドレスがトランザクション/テンプレートの中で提供されることを要求する。第3の態様の方法は、受信者エンティティに関連付けられたそのような公開アドレスを導出するために使用されてよい。その結果、支払いが受信者へ送信できる。上述のように、エンティティの公開アドレス/公開鍵を導出するために第3の態様の方法を用いることは、公開ブロックチェーン上のトランザクションが、セキュアに且つ正確に所与のエンティティに関連付けられるか又はリンクされることを可能にする。多くの場合に、これは、受信者エンティティであるが、方法はそのように限定されない。同様の技術は、受信者又は送信者に提供されるサービスとして、送信者エンティティにより又は実際には第三者エンティティにより、実施できる。
図6で、ステップ602は、受信者に関連付けられた秘密鍵SB及びコードCに基づき、親公開鍵PBを取得するステップを示す。幾つかの実施形態では、コードCは、受信者に関連付けられる。幾つかの実施形態では、親公開鍵及び秘密鍵は、圧縮され16進符号化された、ECDSA鍵、つまり、secp256k1 Bitcoin曲線上の有効な点であってよい。しかしながら、他のブロックチェーンは、他の種類の曲線を使用してよい。また、ECDSA鍵のような鍵は必須ではない。親鍵は、準同型特性を有する任意の公開/秘密鍵ペアへと一般化することができる。それにより、SBi+SBi+1であり、対応する公開鍵はPBi+PBi+1を加算され、つまり準同型暗号化が暗号文に対する計算を可能にし、暗号化された結果を生成する。これは、復号されると、それらが平文に対して実行されたかのように、演算の結果と一致する。
ステップ604は、複数の(n個の)子公開鍵PBi(i=1 to n)を導出するステップを示し、各子公開鍵は、それぞれの導出された子シークレット鍵SBi(i=1 to n)に基づく。各導出された子公開鍵PBiは、受信者に関連付けられた1つ以上のブロックチェーントランザクションアウトプット(UTXO)に固有の導出された公開アドレスを表す。この導出は、以下のステップで説明されるように、異なる数であるが関連する方法で置き換えることができる。親公開鍵PBは、PB=SB・Gに基づき導出され、Gは、ECDSA鍵の場合にはビットコインジェネレータの楕円曲線上の生成元又は基点であるか、又はGは知られている定数である。
ステップ606は、子秘密鍵及びコードCの導出に基づき、エンティティの公開鍵又は公開アドレスを導出する1つの実施形態を示す。本実施形態では、コードは、受信者にとって私的な又は送信者若しくは別のエンティティと共有される定数であってよい。
本実施形態では、所与の子シークレット鍵SBiの対応する(i番目の)子秘密鍵は、i=1~nであり、PBi=PB+Li・Gにより導出され、対応する子鍵ペアは、PB1=SB1・G,…,PBn=SBn・Gにより与えられる。
この計算に続いて、所与の(i番目の)子秘密鍵は、以下により導出される:
Figure 2022549777000009
ここで、インデックスiは32ビット整数であり、HMACは、ハッシュに基づくメッセージ認証コード計算関数を表す。これは、知られているセキュアなハッシュアルゴリズムに基づいてよい。
従って、この実施形態は、シークレット又は共有コードC及び親シークレット鍵の知識に基づき、エンティティの公開アドレスの導出を可能にする。コードはチェーンコードであってよい。子鍵ペアの任意的強化は、追加のセキュリティ特徴である。子が強化される場合、子秘密鍵及びチェーンコードの知識は、親の秘密鍵を再構成するために十分ではない。受信者だけがシークレットまたは秘密鍵SBを知っているので、受信者以外の他のエンティティは、子アドレスを構成できない。子鍵ペアが強化されない場合、公開鍵PB及びチェーンコードCの知識を有するエンティティは、受信者の代わりに(例えば、必要な場合には送信者)導出した子鍵を構成できる。
ステップ608は、チェーンコード又は定数であってよいコードCに加えて、要求の情報又はデータアイテムに関連するメッセージmも導出のために使用される実施形態を示す。これは、受信者エンティティの所与のメッセージにリンクされる公開アドレスを決定するという追加の利点を有する。
要求のデータアイテム、つまり、受信者に関連付けられたデータアイテム又はメッセージmが取得されると、i番目の導出される秘密子鍵PBi(i=1ton)は、SBi=SB+HMAC256(Li,m) mod nに基づき導出できる。
対応する公開鍵PBiはPBi=PB+HMAC256(Li,m)・Gにより導出される。ここで、Gはビットコインジェネレータの楕円曲線上の生成元又は基点であるか、Gは知られている定数であり、mは要求に関連付けられたメッセージ又はデータアイテムを表し、要求はデジタルアセットに関連する。
ステップ610は、コードCが、実際に、受信者及び別のエンティティにより共有されるシークレットSである実施形態を示す。ここで、他のエンティティは、受信者又は受信者若しくは送信者に関連付けられた信頼できる第三者に関連付けられたデジタルアセットの送信者である。幾つかの実施形態では、シークレットSは、送信者及び受信者の親公開鍵PA及びPBに基づく知られている又は所定のセキュアな鍵交換プロトコル、つまりDiffie-Hellman交換に基づき、受信者と他のエンティティとの間で共有される。
本実施形態では、i番目の子秘密鍵は、以下により導出される:
Figure 2022549777000010
ここで、インデックスiは32ビット整数であり、HMACは、ハッシュに基づくメッセージ認証コード計算関数を表す。
対応する公開鍵PBiは以下により与えられる:
Figure 2022549777000011
本実施形態は、受信者に関連付けられ及び所与のメッセージmの所与の送信者にリンクされた全部のトランザクションテンプレートが、識別され及び検証できる必要があることを保証する。更に、導出される公開鍵が強化されない場合、送信者又は鍵が共有されるパーティは、所与のメッセージmの受信者の導出した公開鍵に基づき、トランザクションを決定し及び検証することもできる。
第3の態様の上述の実施形態の全部で、受信者の公開アドレスを導出すべき、受信者以外のパーティは、受信者が危険に晒された場合に、有用なバックアップを提供する。信頼できる第三者もアドレスを導出できる場合、これは、追加の検証としても機能でき、又は受信者及び/又は送信者が危険に晒された場合に災害復旧又はバックアップとして機能できる。
図7を参照すると、本開示の少なくとも一実施形態を実施するために使用され得るコンピューティング装置2600の説明のための簡略ブロック図が提供される。種々の実施形態で、コンピューティング装置2600は、上述の図示のシステムのうちのいずれかを実装するために使用されてよい。例えば、コンピューティング装置2600は、図のDBMSの1つ以上のコンポーネントとして使用されるよう構成されてよい。或いは、コンピューティング装置2600は、所与のユーザに関連付けられたクライアントエンティティであるよう構成されてよく、クライアントエンティティは、図6のDBMSにより管理されるデータベースに対するデータベース要求を行う。従って、コンピューティング装置2600は、ポータブルコンピューティング装置、パーソナルコンピュータ、又は任意の電子コンピューティング装置であってよい。図7に示すように、コンピューティング装置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に送信される電気信号に変換するよう構成されてよい。コンピュータ及びネットワークの絶えず変化する特性により、図7に示したコンピューティング装置2600の説明は、装置の好適な実施形態を説明する目的の特定の例としてのみ意図される。図7に示したシステムより多くの又は少ないコンポーネントを有する多くの他の構成が可能である。
<列挙される例示的な実施形態>
本開示は、ここで、上述の態様に関連する以下の項に基づき議論される。これらは、ここで、請求される態様及び実施形態を一層良好に説明し、記載し、及び理解するために例示的な実施形態として提供される。
(項1)デジタルアセットに関連付けられた要求を分散台帳に関連する1つ以上のトランザクションにパーティションする、コンピュータにより実施される方法であって、各トランザクションは前記要求に関連付けられた1つ以上のアウトプットを有し、前記方法は、受信者に関連付けられた1つ以上のプロセッサにより実施され、前記方法は、
前記受信者に関連付けられた要求について可能なアウトプットの最大数(N)を取得するステップと、
1≦k≦Nである整数kの各々について、可能な整数パーティションを決定するステップと、
前記要求について決定した可能な整数パーティションから、整数パーティションを任意に選択するステップと、
選択した整数パーティションに基づき、1つ以上の(M')トランザクションテンプレートTx'を生成するステップと、
1つ以上の生成したトランザクションテンプレートTx'に関連付けられたアウトプットに渡り、前記デジタルアセットに関連付けられた値を分割するステップと、
送信者に又は送信者へ、前記1つ以上の生成したトランザクションテンプレートTx'を提供するステップと、
を含む方法。
(項2)前記送信者から、前記1つ以上の生成したテンプレートTx'に基づき、1つ以上の完成トランザクションTxを受信するステップと、
前記完成トランザクションを前記分散台帳に提出するステップと、
を更に含む項1に記載の方法。
(項3)要求を分散台帳に関連する1つ以上のトランザクションにパーティションする、コンピュータにより実施される方法であって、各トランザクションは前記要求に関連付けられた1つ以上のアウトプットを有し、前記方法は、送信者に関連付けられた1つ以上のプロセッサにより実施され、前記方法は、
受信者から前記要求を受信することに応答して、前記受信者に関連付けられた要求について可能なアウトプットの最大数(N)を取得するステップと、
1≦k≦Nである整数kの各々について、可能な整数パーティションを決定するステップと、
前記要求について決定した可能な整数パーティションから、整数パーティションを任意に選択するステップと、
選択した整数パーティションに基づき、1つ以上のトランザクションTxを生成するステップと、
1つ以上の生成したトランザクションに関連付けられたアウトプットに渡り、前記デジタルアセットに関連付けられた値を分割するステップであって、各アウトプットは前記受信者に関連付けられた公開アドレスに関連する、ステップと、
を含む方法。
(項4)前記選択した整数パーティションに基づき、前記受信者に関連付けられた1つ以上の公開アドレスを生成又は決定するステップを更に含み、前記1つ以上の公開アドレスの中の所与の公開アドレスは、前記1つ以上の生成したトランザクションの中の所与のトランザクションTxの所与のアウトプットに割り当てられる、項3に記載の方法。
(項5)前記1つ以上の生成したトランザクションTxを前記送信者へ送信するか、又は前記生成したトランザクションTxを前記分散台帳に提出するステップ、を更に含む項3又は4のいずれか一項に記載の方法。
(項6)トランザクションテンプレートの数M'、又は生成されたトランザクションの数Mは、前記選択した整数パーティションの中の整数の数に基づく、項1~5のいずれかに記載の方法。
(項7)所与のトランザクションテンプレートTx'又は生成したトランザクションTxの中のアウトプットの数は、前記所与のトランザクションTx又はテンプレートTx'に関連する選択した整数パーティションの中のそれぞれの位置における整数の値に基づく、項1~6のいずれかに記載の方法。
(項8)アウトプットの最大数Nは、前記要求又は前記受信者のいずれかについて予め定められ、N個のアウトプットは、前記受信者に関連付けられた公開アドレスに関連する、項1~7のいずれかに記載の方法。
(項9)前記要求又は前記受信者について許容されるトランザクションテンプレートの最大数M'max又はトランザクションの最大数Mmaxを取得するステップ、を更に含む項1~8のいずれかに記載の方法。
(項10)前記要求又は前記受信者についてトランザクションテンプレートの最小数M'min又はトランザクションの最小数Mmin及び/又はアウトプットの最小数Nminを取得するステップ、を更に含む項1~9のいずれかに記載の方法。
(項11)所与のトランザクションテンプレートTx'又は生成されたトランザクションTxの中の各アウトプットは、受信者ノードの異なる公開アドレスに関連付けられ、前記公開アドレスはそれぞれのアウトプットに固有である、項1~10のいずれかに記載の方法。
(項12)デジタルアセットに関連付けられた要求を分散台帳に関連する1つ以上のトランザクションにパーティションする、コンピュータにより実施される方法であって、各トランザクションは前記要求に関連付けられた1つ以上のアウトプットを有し、前記方法は、送信者に関連付けられた1つ以上のプロセッサにより実施され、前記方法は、
前記要求に関連付けられた1つ以上のトランザクションテンプレートTx'を取得又は識別するステップであって、前記テンプレートTx'は、受信者に関連付けられ、項1、2、6~11のいずれかに記載の方法に基づき生成される、ステップと、
前記1つ以上のテンプレートTx'を完成させて、対応するトランザクションTxを生成するステップと、
前記対応するトランザクションTxを前記送信者に提供するか、又は前記対応するトランザクションを前記分散台帳に提出するステップと、
を含む方法。
(項13)デジタルアセットに関連付けられた要求を分散台帳に関連する1つ以上のトランザクションにパーティションする、コンピュータにより実施される方法であって、各トランザクションは前記要求に関連付けられた1つ以上のアウトプットを有し、前記方法は、受信者に関連付けられた1つ以上のプロセッサにより実施され、前記方法は、
前記関連付けられた要求を送信者に提供するステップと、
前記送信者から、1つ以上の完成したトランザクションTxを受信するステップであって、前記1つ以上の完成したトランザクションTxは、受信者に関連付けられ、項3~11のいずれかに記載の方法に基づき生成される、ステップと、
前記完成したトランザクションを前記分散台帳に提出するステップと、
を含む方法。
(項14)分散台帳に関連する1つ以上のトランザクションに渡り要求を分散する、コンピュータにより実施される方法であって、各トランザクションは前記要求に関連付けられた1つ以上のアウトプットを有し、前記方法は、受信者に関連付けられた1つ以上のプロセッサにより実施され、前記方法は、
前記要求に関連付けられた値Lを取得するステップであって、前記値はデジタルアセットを表す、ステップと、
前記要求に関連付けられたトランザクションテンプレートの所定の数M'を取得するステップであって、前記M'個のトランザクションテンプレートTx'は、前記要求又は前記受信者に関連する所定の最小数Nのアウトプットに関連付けられ、前記M'個のトランザクションテンプレートTx'の中の所与のトランザクションテンプレートTx'は、n個のアウトプットを有し、n≦Nである、ステップと、
前記値Lのn-1個の値パーティションU(i=1to(n-1))を任意に生成するステップと、
前記n-1個の値パーティションを、値の昇順にソートするステップであって、0<U(1)<U(2)<…<U(n-1)<L、U(0)=0及びU(n)=Lである、ステップと、
前記所定の数M'のトランザクションテンプレートの中の所与のトランザクションテンプレートについて、それぞれの(i番目の)値パーティションと格納順で前の値パーティションとの間の差Xi=U(i)-U(i-1)、i=1~nに基づき、値X(i=1 to M')を計算するステップと、
を含む方法。
(項15)取得するステップは、項1、2、6~11のいずれか一項に記載の方法を含む、項14に記載の方法。
(項16)分割するステップは、項14に記載の方法を含む、項1に記載の方法。
(項17)分散台帳に関連する1つ以上のトランザクションに渡り要求を分散する、コンピュータにより実施される方法であって、各トランザクションは前記要求に関連付けられた1つ以上のアウトプットを有し、前記方法は、送信者に関連付けられた1つ以上のプロセッサにより実施され、前記方法は、
前記受信者から前記要求を受信することに応答して、前記要求に関連付けられた値Lを取得するステップであって、前記値はデジタルアセットを表す、ステップと、
前記要求に関連付けられたトランザクションの所定の数Mを取得するステップであって、前記M個のトランザクションTxは、前記要求又は前記受信者に関連する所定の最大数Nのアウトプットに関連付けられ、前記M個のトランザクションTxの中の所与のトランザクションテンTxは、n個のアウトプットを有し、n≦Nである、ステップと、
前記値Lのn-1個の値パーティションU(i=1to (n-1))を任意に生成するステップと、
前記n-1個の値パーティションを、値の昇順にソートするステップであって、0<U(1)<U(2)<…<U(n-1)<L、U(0)=0及びU(n)=Lである、ステップと、
前記所定の数Mのトランザクションの中の所与のトランザクションについて、それぞれの(i番目の)値パーティションと格納順で前の値パーティションとの間の差Xi=U(i)-U(i-1)、i=1~nに基づき、値X(i=1 to M)を計算するステップと、
を含む方法。
(項18)取得するステップは、項3~11のいずれか一項に記載の方法を含む、項15に記載の方法。
(項19)分割するステップは、項17に記載の方法を含む、項3に記載の方法。
(項20)n-1個の数を任意に生成するステップは、10-8の精度で、n-1個の数を一様にランダムに生成するステップであって、(U,U,…,UN-1∈(0,1)である、ステップを含む、項14~19のいずれか一項に記載の方法。
(項21)受信者に関連付けられた複数の公開鍵を生成する、コンピュータにより実施される方法であって、各公開鍵は前記受信者に関連付けられた1つ以上のトランザクションの1つ以上のブロックチェーントランザクションアウトプット(UTXO)に関連付けられ、前記方法は1つ以上のプロセッサにより実施され、前記方法は、
受信者に関連付けられた秘密鍵SBとコードCとに基づき、親公開鍵PBを取得するステップと、
複数の子公開鍵PBi(i=1 to n)を導出するステップであって、各子公開鍵は、それぞれの導出した子シークレット鍵SBi(i=1 to n)に基づき、各導出した子公開鍵PBiは、前記受信者に関連付けられた1つ以上のブロックチェーントランザクションアウトプット(UTXO)に固有の導出した公開アドレスを表す、ステップと、
を含む方法。
(項22)前記受信者は、デジタルアセットを受信することを意図されたエンティティであり、前記コードCは前記受信者に関連付けられたコードである、項21に記載の方法。
(項23)前記親公開及び/又は秘密鍵は、安定した楕円曲線デジタル署名アルゴリズム(ECDSA)鍵である、項19又は20のいずれか一項に記載の方法。
(項24)前記親公開鍵PBは、に基づき導出され、Gは、ビットコインジェネレータの楕円曲線上の生成元又は基点であるか、又はGは知られている定数である、項23に記載の方法。
(項25)所与の子シークレット鍵SBiの対応する(i番目の)子秘密鍵は、PBi=PB+Li・Gにより導出され、前記対応する子鍵ペアは、PB1=SB1・G,...,PBn=SBn・Gにより与えられる、項24に記載の方法。
(項26)所与の(i番目の)子秘密鍵は、次式により導出され:
Figure 2022549777000012
ここで、インデックスiは32ビット整数であり、HMACはハッシュに基づくメッセージ認証コード計算関数を表す、項21~25のいずれか一項に記載の方法。
(項27)前記受信者に関連付けられた要求mを取得するステップと、
次式に基づきi番目の導出される秘密子鍵を導出するステップと、
Figure 2022549777000013
を更に含む項21~26のいずれか一項に記載の方法。
(項28)前記対応する公開鍵PBiは次式により導出され:
Figure 2022549777000014
ここで、Gはビットコインジェネレータの楕円曲線上の生成元又は基点であるか、Gは知られている定数であり、mは前記要求に関連付けられたメッセージ又はデータアイテムを表し、前記要求はデジタルアセットに関連する、項27に記載の方法。
(項29)前記コードCは、前記受信者にとって秘密の又は私的なチェーンコードであり、前記チェーンコードCは、任意で、前記受信者に関連付けられたシークレットシードのセキュアなハッシュである、項21~28のいずれか一項に記載の方法。
(項30)前記コードCは、別のエンティティと共有されるチェーンコードであり、他のエンティティは、前記受信者への前記要求に関連付けられたデジタルアセットの送信者であるか、又は前記他のエンティティは、前記受信者又は前記送信者に関連付けられた信頼できる第三者である、項21~28のいずれか一項に記載の方法。
(項31)前記コードCは、前記受信者及び別のエンティティにより共有されるシークレットSに関連付けられ、前記他のエンティティは、前記受信者への要求に関連付けられたデジタルアセットの送信者であるか、又は前記他のエンティティは、前記受信者又は前記送信者に関連付けられた信頼できる第三者であり、前記シークレットSは、前記送信者及び受信者の親公開鍵PA及びPBに基づき、知られている又は所定のセキュアな鍵交換プロトコルに基づき、前記受信者と前記他のエンティティとの間で共有される、項27又は28のいずれか一項に記載の方法。
(項32)i番目の子秘密鍵は、次式により導出され:
Figure 2022549777000015
ここで、インデックスiは32ビット整数であり、HMACはハッシュに基づくメッセージ認証コード計算関数である、項31に記載の方法。
(項33)対応する公開鍵PBiは、次式により与えられる:
Figure 2022549777000016
項32に記載の方法。
(項34)前記方法を実施する前記1つ以上のプロセッサは、前記受信者に関連付けられる、項21~33のいずれか一項に記載の方法。
(項35)前記1つ以上のプロセッサは、前記受信者のデジタルウォレットに関連付けられる、項34に記載の方法。
(項36)導出された公開アドレスは、項1、2、6~11、14~16、20のいずれか一項に記載の方法に従い前記受信者のために任意の生成された1つ以上のトランザクションテンプレートTx'の1つ以上のアウトプットに割り当てられる、項21~35のいずれか一項に記載の方法。
(項37)項21~35のいずれか一項に記載の方法を更に含む、項1、2、6~11、14~16のいずれか一項に記載の方法。
(項38)前記方法を実施する前記1つ以上のプロセッサは、送信者又は信頼できる第三者エンティティに関連付けられ、前記方法は、前記受信者に関連付けられた共有チェーンコードC又はシークレットSを受信又は取得するステップを更に含む、項30~33のいずれか一項に記載の方法。
(項39)前記1つ以上のプロセッサは、前記送信者のデジタルウォレットに関連付けられる、項38に記載の方法。
(項40)導出された公開アドレスは、項3~11、17~20のいずれか一項に記載の方法に従い前記受信者のために前記送信者により任意の生成された1つ以上のトランザクションTxの1つ以上のアウトプットに割り当てられる、項30~33、38、39のいずれか一項に記載の方法。
(項41)項21~33、38、39のいずれか一項に記載の方法を更に含む、項3~11、17~20のいずれか一項に記載の方法。
(項42)コンピューティング装置であって、プロセッサとメモリとを含み、前記メモリは、前記プロセッサによる実行の結果として前記装置に項1、2、6~11、13~16、21~37のいずれか一項に記載のコンピュータにより実施される方法を実行させる実行可能命令を含み、前記コンピューティング装置は、前記受信者又は前記受信者に関連付けられたデジタルウォレットに関連する、コンピューティング装置。
(項43)コンピューティング装置であって、プロセッサとメモリとを含み、前記メモリは、前記プロセッサによる実行の結果として前記装置に項3~12、17~33、38、39のいずれか一項に記載のコンピュータにより実施される方法を実行させる実行可能命令を含み、前記コンピューティング装置は、前記送信者又は前記送信者に関連付けられたデジタルウォレットに関連する、コンピューティング装置。
(項44)実行可能命令を格納しているコンピュータ可読記憶媒体であって、前記実行可能命令は、コンピュータシステムのプロセッサにより実行された結果として、前記受信者又は前記受信者に関連付けられたデジタルウォレットを実施するために、前記コンピュータシステムに、項1、2、6~11、13~16、21~37のいずれか一項に記載の方法を実行させる、コンピュータ可読記憶媒体。
(項45)実行可能命令を格納しているコンピュータ可読記憶媒体であって、前記実行可能命令は、コンピュータシステムのプロセッサにより実行された結果として、前記送信者又は前記送信者に関連付けられたデジタルウォレットを実施するために、前記コンピュータシステムに、項3~12、17~33、38、39のいずれか一項に記載の方法を実行させる、コンピュータ可読記憶媒体。
上述の態様及び実施形態は、本開示を限定するのではなく、説明すること、及び当業者は添付の特許請求の範囲により定められる本開示の範囲から逸脱することなく多くの代替的実施形態を考案できることに留意すべきである。請求項において、括弧内の任意の参照符号は、請求項を限定すると考えられるべきではない。用語「有する」及び「含む」(comprising、comprises)等は、任意の請求項又は明細書全体に列挙されたもの以外の要素又はステップの存在を排除しない。本願明細書では、「有する」は「有する又は構成される」を意味し、「含む」は「含む又は構成される」を意味する。要素の単数の参照は、そのような要素の複数の参照を排除しない。逆も同様である。本開示は、幾つかの別個の要素を含むハードウェアにより、及び適切にプログラムされたコンピュータにより、実装できる。幾つかの手段を列挙する装置クレームでは、これらの手段のうちの幾つかは、1つの同じハードウェアアイテムにより具現化されてよい。単に特定の手段が相互に異なる従属請求項に記載されるという事実は、これらの手段の組み合わせが有利に使用されないことを示さない。

Claims (45)

  1. デジタルアセットに関連付けられた要求を分散台帳に関連する1つ以上のトランザクションにパーティションする、コンピュータにより実施される方法であって、各トランザクションは前記要求に関連付けられた1つ以上のアウトプットを有し、前記方法は、受信者に関連付けられた1つ以上のプロセッサにより実施され、前記方法は、
    前記受信者に関連付けられた要求について可能なアウトプットの最大数(N)を取得するステップと、
    1≦k≦Nである整数kの各々について、可能な整数パーティションを決定するステップと、
    前記要求について決定した可能な整数パーティションから、整数パーティションを任意に選択するステップと、
    選択した整数パーティションに基づき、1つ以上の(M')トランザクションテンプレートTx'を生成するステップと、
    1つ以上の生成したトランザクションテンプレートTx'に関連付けられたアウトプットに渡り、前記デジタルアセットに関連付けられた値を分割するステップと、
    送信者に又は送信者へ、前記1つ以上の生成したトランザクションテンプレートTx'を提供するステップと、
    を含む方法。
  2. 前記送信者から、前記1つ以上の生成したテンプレートTx'に基づき、1つ以上の完成トランザクションTxを受信するステップと、
    前記完成トランザクションを前記分散台帳に提出するステップと、
    を更に含む請求項1に記載の方法。
  3. 要求を分散台帳に関連する1つ以上のトランザクションにパーティションする、コンピュータにより実施される方法であって、各トランザクションは前記要求に関連付けられた1つ以上のアウトプットを有し、前記方法は、送信者に関連付けられた1つ以上のプロセッサにより実施され、前記方法は、
    受信者から前記要求を受信することに応答して、前記受信者に関連付けられた要求について可能なアウトプットの最大数(N)を取得するステップと、
    1≦k≦Nである整数kの各々について、可能な整数パーティションを決定するステップと、
    前記要求について決定した可能な整数パーティションから、整数パーティションを任意に選択するステップと、
    選択した整数パーティションに基づき、1つ以上のトランザクションTxを生成するステップと、
    1つ以上の生成したトランザクションに関連付けられたアウトプットに渡り、デジタルアセットに関連付けられた値を分割するステップであって、各アウトプットは前記受信者に関連付けられた公開アドレスに関連する、ステップと、
    を含む方法。
  4. 前記選択した整数パーティションに基づき、前記受信者に関連付けられた1つ以上の公開アドレスを生成又は決定するステップを更に含み、前記1つ以上の公開アドレスの中の所与の公開アドレスは、前記1つ以上の生成したトランザクションの中の所与のトランザクションTxの所与のアウトプットに割り当てられる、請求項3に記載の方法。
  5. 前記1つ以上の生成したトランザクションTxを前記送信者へ送信するか、又は前記生成したトランザクションTxを前記分散台帳に提出するステップ、を更に含む請求項3又は4のいずれか一項に記載の方法。
  6. トランザクションテンプレートの数M'、又は生成されたトランザクションの数Mは、前記選択した整数パーティションの中の整数の数に基づく、請求項1~5のいずれかに記載の方法。
  7. 所与のトランザクションテンプレートTx'又は生成したトランザクションTxの中のアウトプットの数は、前記所与のトランザクションTx又はテンプレートTx'に関連する選択した整数パーティションの中のそれぞれの位置における整数の値に基づく、請求項1~6のいずれかに記載の方法。
  8. アウトプットの最大数Nは、前記要求又は前記受信者のいずれかについて予め定められ、N個のアウトプットは、前記受信者に関連付けられた公開アドレスに関連する、請求項1~7のいずれかに記載の方法。
  9. 前記要求又は前記受信者について許容されるトランザクションテンプレートの最大数M'max又はトランザクションの最大数Mmaxを取得するステップ、を更に含む請求項1~8のいずれかに記載の方法。
  10. 前記要求又は前記受信者についてトランザクションテンプレートの最小数M'min又はトランザクションの最小数Mmin及び/又はアウトプットの最小数Nminを取得するステップ、を更に含む請求項1~9のいずれかに記載の方法。
  11. 所与のトランザクションテンプレートTx'又は生成されたトランザクションTxの中の各アウトプットは、受信者ノードの異なる公開アドレスに関連付けられ、前記公開アドレスはそれぞれのアウトプットに固有である、請求項1~10のいずれかに記載の方法。
  12. デジタルアセットに関連付けられた要求を分散台帳に関連する1つ以上のトランザクションにパーティションする、コンピュータにより実施される方法であって、各トランザクションは前記要求に関連付けられた1つ以上のアウトプットを有し、前記方法は、送信者に関連付けられた1つ以上のプロセッサにより実施され、前記方法は、
    前記要求に関連付けられた1つ以上のトランザクションテンプレートTx'を取得又は識別するステップであって、前記テンプレートTx'は、受信者に関連付けられ、請求項1、2、6~11のいずれかに記載の方法に基づき生成される、ステップと、
    前記1つ以上のテンプレートTx'を完成させて、対応するトランザクションTxを生成するステップと、
    前記対応するトランザクションTxを前記送信者に提供するか、又は前記対応するトランザクションを前記分散台帳に提出するステップと、
    を含む方法。
  13. デジタルアセットに関連付けられた要求を分散台帳に関連する1つ以上のトランザクションにパーティションする、コンピュータにより実施される方法であって、各トランザクションは前記要求に関連付けられた1つ以上のアウトプットを有し、前記方法は、受信者に関連付けられた1つ以上のプロセッサにより実施され、前記方法は、
    前記関連付けられた要求を送信者に提供するステップと、
    前記送信者から、1つ以上の完成したトランザクションTxを受信するステップであって、前記1つ以上の完成したトランザクションTxは、受信者に関連付けられ、請求項3~11のいずれかに記載の方法に基づき生成される、ステップと、
    前記完成したトランザクションを前記分散台帳に提出するステップと、
    を含む方法。
  14. 分散台帳に関連する1つ以上のトランザクションに渡り要求を分散する、コンピュータにより実施される方法であって、各トランザクションは前記要求に関連付けられた1つ以上のアウトプットを有し、前記方法は、受信者に関連付けられた1つ以上のプロセッサにより実施され、前記方法は、
    前記要求に関連付けられた値Lを取得するステップであって、前記値はデジタルアセットを表す、ステップと、
    前記要求に関連付けられたトランザクションテンプレートの所定の数M'を取得するステップであって、前記M'個のトランザクションテンプレートTx'は、前記要求又は前記受信者に関連する所定の最小数Nのアウトプットに関連付けられ、前記M'個のトランザクションテンプレートTx'の中の所与のトランザクションテンプレートTx'は、n個のアウトプットを有し、n≦Nである、ステップと、
    前記値Lのn-1個の値パーティションU(i=1to(n-1))を任意に生成するステップと、
    前記n-1個の値パーティションを、値の昇順にソートするステップであって、0<U(1)<U(2)<…<U(n-1)<L、U(0)=0及びU(n)=Lである、ステップと、
    前記所定の数M'のトランザクションテンプレートの中の所与のトランザクションテンプレートについて、それぞれの(i番目の)値パーティションと格納順で前の値パーティションとの間の差Xi=U(i)-U(i-1)、i=1~nに基づき、値X(i=1 to M')を計算するステップと、
    を含む方法。
  15. 取得するステップは、請求項1、2、6~11のいずれか一項に記載の方法を含む、請求項14に記載の方法。
  16. 分割するステップは、請求項14に記載の方法を含む、請求項1に記載の方法。
  17. 分散台帳に関連する1つ以上のトランザクションに渡り要求を分散する、コンピュータにより実施される方法であって、各トランザクションは前記要求に関連付けられた1つ以上のアウトプットを有し、前記方法は、送信者に関連付けられた1つ以上のプロセッサにより実施され、前記方法は、
    受信者から前記要求を受信することに応答して、前記要求に関連付けられた値Lを取得するステップであって、前記値はデジタルアセットを表す、ステップと、
    前記要求に関連付けられたトランザクションの所定の数Mを取得するステップであって、前記M個のトランザクションTxは、前記要求又は前記受信者に関連する所定の最大数Nのアウトプットに関連付けられ、前記M個のトランザクションTxの中の所与のトランザクションテンTxは、n個のアウトプットを有し、n≦Nである、ステップと、
    前記値Lのn-1個の値パーティションU(i=1to(n-1))を任意に生成するステップと、
    前記n-1個の値パーティションを、値の昇順にソートするステップであって、0<U(1)<U(2)<…<U(n-1)<L、U(0)=0及びU(n)=Lである、ステップと、
    前記所定の数Mのトランザクションの中の所与のトランザクションについて、それぞれの(i番目の)値パーティションと格納順で前の値パーティションとの間の差Xi=U(i)-U(i-1)、i=1~nに基づき、値X(i=1 to M)を計算するステップと、
    を含む方法。
  18. 取得するステップは、請求項3~11のいずれか一項に記載の方法を含む、請求項15に記載の方法。
  19. 分割するステップは、請求項17に記載の方法を含む、請求項3に記載の方法。
  20. n-1個を任意に生成するステップは、10-8の精度で、n-1個を一様にランダムに生成するステップであって、(U,U,…,UN-1∈(0,1)である、ステップを含む、請求項14~19のいずれか一項に記載の方法。
  21. 受信者に関連付けられた複数の公開鍵を生成する、コンピュータにより実施される方法であって、各公開鍵は前記受信者に関連付けられた1つ以上のトランザクションの1つ以上のブロックチェーントランザクションアウトプット(UTXO)に関連付けられ、前記方法は1つ以上のプロセッサにより実施され、前記方法は、
    受信者に関連付けられた秘密鍵SBとコードCとに基づき、親公開鍵PBを取得するステップと、
    複数の子公開鍵PBi(i=1 to n)を導出するステップであって、各子公開鍵は、それぞれの導出した子シークレット鍵SBi(i=1 to n)に基づき、各導出した子公開鍵PBiは、前記受信者に関連付けられた1つ以上のブロックチェーントランザクションアウトプット(UTXO)に固有の導出した公開アドレスを表す、ステップと、
    を含む方法。
  22. 前記受信者は、デジタルアセットを受信することを意図されたエンティティであり、前記コードCは前記受信者に関連付けられたコードである、請求項21に記載の方法。
  23. 前記親公開及び/又は秘密鍵は、安定した楕円曲線デジタル署名アルゴリズム(ECDSA)鍵である、請求項19又は20のいずれか一項に記載の方法。
  24. 前記親公開鍵PBは、PB=SB・Gに基づき導出され、Gは、ビットコインジェネレータの楕円曲線上の生成元又は基点であるか、又はGは知られている定数である、請求項23に記載の方法。
  25. 所与の子シークレット鍵SBiに対応する(i番目の)子秘密鍵は、PBi=PB+Li・Gにより導出され、対応する子鍵ペアは、PB1=SB1・G,…,PBn=SBn・Gにより与えられる、請求項24に記載の方法。
  26. 所与の(i番目の)子秘密鍵は、次式により導出され:
    Figure 2022549777000017
    ここで、インデックスdは32ビット整数であり、HMACはハッシュに基づくメッセージ認証コード計算関数を表す、請求項21~25のいずれか一項に記載の方法。
  27. 前記受信者に関連付けられた要求mを取得するステップと、
    次式に基づきi番目の導出される秘密子鍵PBi(i=1 to n)を導出するステップと、
    Figure 2022549777000018
    を更に含む請求項21~26のいずれか一項に記載の方法。
  28. 前記対応する公開鍵PBiは次式により導出され:
    Figure 2022549777000019
    ここで、Gはビットコインジェネレータの楕円曲線上の生成元又は基点であるか、Gは知られている定数であり、mは前記要求に関連付けられたメッセージ又はデータアイテムを表し、前記要求はデジタルアセットに関連する、請求項27に記載の方法。
  29. 前記コードCは、前記受信者にとって秘密の又は私的なチェーンコードであり、前記チェーンコードCは、任意で、前記受信者に関連付けられたシークレットシードのセキュアなハッシュである、請求項21~28のいずれか一項に記載の方法。
  30. 前記コードCは、別のエンティティと共有されるチェーンコードであり、他のエンティティは、前記受信者への要求に関連付けられたデジタルアセットの送信者であるか、又は前記他のエンティティは、前記受信者又は前記送信者に関連付けられた信頼できる第三者である、請求項21~28のいずれか一項に記載の方法。
  31. 前記コードCは、前記受信者及び別のエンティティにより共有されるシークレットSに関連付けられ、前記他のエンティティは、前記受信者への要求に関連付けられたデジタルアセットの送信者であるか、又は前記他のエンティティは、前記受信者又は前記送信者に関連付けられた信頼できる第三者であり、前記シークレットSは、前記送信者及び受信者の親公開鍵PA及びPBに基づき、知られている又は所定のセキュアな鍵交換プロトコルに基づき、前記受信者と前記他のエンティティとの間で共有される、請求項27又は28のいずれか一項に記載の方法。
  32. i番目の子秘密鍵は、次式により導出され:
    Figure 2022549777000020
    ここで、インデックスiは32ビット整数であり、HMACはハッシュに基づくメッセージ認証コード計算関数である、請求項31に記載の方法。
  33. 対応する公開鍵PBiは、次式により与えられる:
    Figure 2022549777000021
    請求項32に記載の方法。
  34. 前記方法を実施する前記1つ以上のプロセッサは、前記受信者に関連付けられる、請求項21~33のいずれか一項に記載の方法。
  35. 前記1つ以上のプロセッサは、前記受信者のデジタルウォレットに関連付けられる、請求項34に記載の方法。
  36. 導出された公開アドレスは、請求項1、2、6~11、14~16、220のいずれか一項に記載の方法に従い前記受信者のために任意の生成された1つ以上のトランザクションテンプレートTx'の1つ以上のアウトプットに割り当てられる、請求項21~35のいずれか一項に記載の方法。
  37. 請求項21~35のいずれか一項に記載の方法を更に含む、請求項1、2、6~11、14~16のいずれか一項に記載の方法。
  38. 前記方法を実施する前記1つ以上のプロセッサは、送信者又は信頼できる第三者エンティティに関連付けられ、前記方法は、前記受信者に関連付けられた共有チェーンコードC又はシークレットSを受信又は取得するステップを更に含む、請求項30~33のいずれか一項に記載の方法。
  39. 前記1つ以上のプロセッサは、前記送信者のデジタルウォレットに関連付けられる、請求項38に記載の方法。
  40. 導出された公開アドレスは、請求項3~11、17~20のいずれか一項に記載の方法に従い前記受信者のために前記送信者により任意の生成された1つ以上のトランザクションTxの1つ以上のアウトプットに割り当てられる、請求項30~33、38、39のいずれか一項に記載の方法。
  41. 請求項21~33、38、39のいずれか一項に記載の方法を更に含む、請求項3~11、17~20のいずれか一項に記載の方法。
  42. コンピューティング装置であって、プロセッサとメモリとを含み、前記メモリは、前記プロセッサによる実行の結果として前記装置に請求項1、2、6~11、13~16、21~37のいずれか一項に記載のコンピュータにより実施される方法を実行させる実行可能命令を含み、前記コンピューティング装置は、前記受信者又は前記受信者に関連付けられたデジタルウォレットに関連する、コンピューティング装置。
  43. コンピューティング装置であって、プロセッサとメモリとを含み、前記メモリは、前記プロセッサによる実行の結果として前記装置に請求項3~12、17~33、38、39のいずれか一項に記載のコンピュータにより実施される方法を実行させる実行可能命令を含み、前記コンピューティング装置は、前記送信者又は前記送信者に関連付けられたデジタルウォレットに関連する、コンピューティング装置。
  44. 実行可能命令を格納しているコンピュータ可読記憶媒体であって、前記実行可能命令は、コンピュータシステムのプロセッサにより実行された結果として、前記受信者又は前記受信者に関連付けられたデジタルウォレットを実施するために、前記コンピュータシステムに、請求項1、2、6~11、13~16、21~37のいずれか一項に記載の方法を実行させる、コンピュータ可読記憶媒体。
  45. 実行可能命令を格納しているコンピュータ可読記憶媒体であって、前記実行可能命令は、コンピュータシステムのプロセッサにより実行された結果として、送信者又は送信者に関連付けられたデジタルウォレットを実施するために、前記コンピュータシステムに、請求項3~12、17~33、38、39のいずれか一項に記載の方法を実行させる、コンピュータ可読記憶媒体。
JP2022516623A 2019-09-23 2020-09-18 ブロックチェーンのトランザクションへの要求のパーティション Pending JP2022549777A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1913667.0 2019-09-23
GB201913667A GB201913667D0 (en) 2019-09-23 2019-09-23 Computer-implemented system and method
PCT/IB2020/058704 WO2021059098A1 (en) 2019-09-23 2020-09-18 Partitioning a request into transactions for a blockchain

Publications (1)

Publication Number Publication Date
JP2022549777A true JP2022549777A (ja) 2022-11-29

Family

ID=68425530

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022516623A Pending JP2022549777A (ja) 2019-09-23 2020-09-18 ブロックチェーンのトランザクションへの要求のパーティション

Country Status (6)

Country Link
US (1) US20230316241A1 (ja)
EP (1) EP4035305A1 (ja)
JP (1) JP2022549777A (ja)
CN (1) CN114514550A (ja)
GB (1) GB201913667D0 (ja)
WO (1) WO2021059098A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114567554B (zh) * 2022-02-21 2024-03-26 新疆财经大学 一种基于节点信誉和分区共识的区块链构建方法
US11695772B1 (en) * 2022-05-03 2023-07-04 Capital One Services, Llc System and method for enabling multiple auxiliary use of an access token of a user by another entity to facilitate an action of the user

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003076864A (ja) * 2001-08-29 2003-03-14 Internatl Business Mach Corp <Ibm> 振込を処理するための方法、サーバ、取引端末およびシステム
US10078821B2 (en) * 2012-03-07 2018-09-18 Early Warning Services, Llc System and method for securely registering a recipient to a computer-implemented funds transfer payment network
US20180349896A1 (en) * 2017-06-05 2018-12-06 Mastercard International Incorporated Method and system for anonymization of electronic transactions via blockchain
GB201710283D0 (en) * 2017-06-28 2017-08-09 Nchain Holdings Ltd Computer-implemented system and method
GB201714907D0 (en) * 2017-09-15 2017-11-01 Nchain Holdings Ltd Computer-implemented system and method

Also Published As

Publication number Publication date
GB201913667D0 (en) 2019-11-06
US20230316241A1 (en) 2023-10-05
EP4035305A1 (en) 2022-08-03
CN114514550A (zh) 2022-05-17
WO2021059098A1 (en) 2021-04-01

Similar Documents

Publication Publication Date Title
JP6690066B2 (ja) パブリックサイドチェーンを使用してコンソーシアムブロックチェーンに記憶されたデータの完全性を検証すること
US11019040B2 (en) Cloud key escrow system
JP6892513B2 (ja) 信頼できる実行環境に基づいたオフチェーンスマートコントラクトサービス
CN111989893A (zh) 证明链和分解
EP3966998B1 (en) Hash function attacks
JP2020526053A (ja) ブロックチェーンネットワーク内の資産間取引
US20210344500A1 (en) Computer-implemented system and method for transferring access to digital resource
KR102074381B1 (ko) 블록체인 기반의 익명 거래 수행 방법, 장치 및 기록 매체
CN113875186A (zh) 知识证明
US11838405B1 (en) Blockchain delegation
CN111160909A (zh) 区块链供应链交易隐藏静态监管系统及方法
JP2023532211A (ja) ブロックチェーン上の合意
US20230237437A1 (en) Apparatuses and methods for determining and processing dormant user data in a job resume immutable sequential listing
CN115885498A (zh) 阈值签名
CN113924748A (zh) 知识证明
JP2022549777A (ja) ブロックチェーンのトランザクションへの要求のパーティション
JP2022548264A (ja) 暗号的にリンクされたアイデンティティ
JP2022532764A (ja) プルーフオブワークブロックチェーンネットワークにおける非並列化マイニングのためのシステムおよび方法
CN111079190A (zh) 区块链供应链交易隐藏动态监管系统及方法
JP7174300B2 (ja) コンテンツ利用システム、許諾端末、閲覧端末、配信端末、および、コンテンツ利用プログラム
JP2023502057A (ja) ブロックチェーントランザクションを使用したアイデンティティ検証プロトコル
CN110943846B (zh) 基于环签名技术的异构身份联盟用户信誉值传递方法
Austria Dea2uth: A Decentralized Authentication and Authorization Scheme for Secure Private Data Transfer
JP2023548917A (ja) 鍵導出方法
CN117201114A (zh) 一种数据处理方法、装置、电子设备及计算机可读介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230821