JP2020509681A - コンピュータにより実装されるシステム及び方法 - Google Patents

コンピュータにより実装されるシステム及び方法 Download PDF

Info

Publication number
JP2020509681A
JP2020509681A JP2019544712A JP2019544712A JP2020509681A JP 2020509681 A JP2020509681 A JP 2020509681A JP 2019544712 A JP2019544712 A JP 2019544712A JP 2019544712 A JP2019544712 A JP 2019544712A JP 2020509681 A JP2020509681 A JP 2020509681A
Authority
JP
Japan
Prior art keywords
node
encrypted
output address
addresses
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019544712A
Other languages
English (en)
Other versions
JP7102425B2 (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 JP2020509681A publication Critical patent/JP2020509681A/ja
Application granted granted Critical
Publication of JP7102425B2 publication Critical patent/JP7102425B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/46Secure multiparty computation, e.g. millionaire problem
    • H04L2209/463Electronic voting

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Power Engineering (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本発明は、デジタルアセット又はエンティティをあるリソースから別のリソースへ転送するブロックチェーントランザクションに関するセキュリティを保証し及び制御するための暗号技術を提供する。ブロックチェーンは、ビットコインブロックチェーン又は代替プロトコルであってよい。本発明の実施形態は、複数の参加ノードを有し、各ノードが、トランザクションが価値を割り当てるべきそれぞれのアウトプットアドレスを有する、価値ミキシングブロックチェーントランザクションのセキュリティ、匿名性、及び/又は制御を向上する、コンピュータにより実施される方法を提供する。方法は、各参加ノードが、第1シーケンスの中で、自身のアウトプットアドレスを該ノードの公開鍵を用いて暗号化するステップと、前記暗号化アウトプットアドレスを前記トランザクションのためのアウトプットアドレスのセットに追加するステップと、1つより多くの暗号化アウトプットアドレスが前記セット内に存在する場合、前記セット内の前記暗号化アウトプットアドレスの順序をシャッフルするステップと、を含む。各参加ノードは、第2シーケンスの中で、前記セット内の自身の暗号化アウトプットアドレスを識別し、自身の暗号化アウトプットアドレスを自身の非暗号化アウトプットアドレスで置き換える。結果は、特定インプットにリンクすることのできない、シャッフルされたアウトプットアドレスのセットである。

Description

本発明は、概して、コンピュータにより実施されるプロセスに関するセキュリティを保証し及び制御する暗号技術に関する。これらの暗号技術は、デジタルアセット又はエンティティをあるリソースから別のリソースへ転送するブロックチェーントランザクションに関する向上されたセキュリティ及び制御を提供できる。より詳細には、本発明は、インプットをアウトプットから分離するミキシングトランザクションを生成し及び実行するために、制御方法、システム、及び装置を提供する利点を使用できる。
本願明細書で、用語「ブロックチェーン」は、あらゆる形式の電子的な、コンピュータに基づく、分散台帳技術を含むよう使用される。(DLTs)。これらは、限定ではないが、総意に基づくブロックチェーン及びトランザクションチェーン技術、許可及び未許可台帳、共有台帳、サイドチェーン、及びそれらの変形を含む。最も広く知られているブロックチェーン技術の用途はビットコイン台帳であるが、他のブロックチェーンの実装が提案され開発されている。ビットコインは便宜上及び説明を目的として本願明細書において言及されるが、本発明はビットコインのブロックチェーンと共に使用することに限定されず、代替のブロックチェーンの実装及びプロトコルが本発明の範囲に含まれることに留意すべきである。
ブロックチェーンは、ブロックにより構成される、コンピュータに基づく非集中型の分散型システムとして実装される総意に基づく電子台帳である。また、ブロックはトランザクションにより構成される。各トランザクションは、ブロックチェーンシステム内で参加者間のデジタルアセットの制御の転送を符号化するデータ構造であり、少なくとも1つのインプット及び少なくとも1つのアウトプットを含む。各ブロックは前のブロックのハッシュを含み、ブロックは共にチェーンになって、その発端からブロックチェーンに書き込まれている全てのトランザクションの永久的な変更不可能なレコードを生成する。トランザクションは、そのインプット及びアウトプットに埋め込まれたスクリプトとして知られる小さなプログラムを含む。スクリプトは、トランザクションのアウトプットがどのように及び誰によりアクセス可能かを指定する。ビットコインプラットフォーム上で、これらのスクリプトは、スタックに基づくスクリプト言語を用いて記述される。
トランザクションがブロックチェーンに書き込まれるために、「検証され」なければならない。ネットワークノード(マイナー)は、各トランザクションが有効であることを保証するために作業を実行し、無効なトランザクションはネットワークから拒否される。ノードにインストールされたソフトウェアクライアントは、自身のロック及びアンロックスクリプトを実行することにより、この検証作業を未使用トランザクション(UTXO)に対して実行する。ロック及びアンロックスクリプトの実行が真と評価した場合、トランザクションは有効であり、トランザクションはブロックチェーンに書き込まれる。したがって、トランザクションがブロックチェーンに書き込まれるためには、トランザクションは、i)トランザクションを受信した第1ノードにより検証され、トランザクションが検証された場合に、ノードは該トランザクションをネットワーク内の他のノードに中継し、ii)マイナーにより構築された新しいブロックに追加し、iii)マインされ、つまり過去のトランザクションの公開台帳に追加されなければならない。
ブロックチェーン技術は、暗号通貨実装の使用で最も広く知られているが、デジタル起業家が、新しいシステムを実装するために、ビットコインの基づく暗号通貨セキュリティシステム、及びブロックチェーンに格納可能なデータの両方の使用を探索し始めている。ブロックチェーンが、暗号通貨の領域に限定されない自動タスク及びプロセスのために使用できれば、非常に有利である。このようなソリューションは、それらの用途において一層多様でありながら、ブロックチェーンの利点(例えば、永久的、イベントの耐タンパレコード、分散プロセス、等)を利用できる。
ブロックチェーンに関連する関心の他の分野は、ブロックチェーンを介する現実世界のエンティティの表現及び転送のための「トークン」(又は「カラードコイン」)の使用である。潜在的に機密な又は秘密のアイテムは、識別可能な意味又は価値(value)を有しないトークンにより表現できる。したがって、トークンは、現実世界のアイテムをブロックチェーンから参照できるようにする識別子として機能する。用語「トークン」は、本願明細書で使用されるとき、その広義の意味で、有形又は無形アセットの制御又は所有権を表すとして理解されるべきである。幾つかの場合には、トークンは、例えば、将来のコンピューティングリソースの制御又は所有権の割り当てを表してよい。
ビットコインのようなブロックチェーンの認識される利点のうちの1つは、その匿名性である。つまり、ビットコイン台帳は、トランザクションに参加する者達の個人情報を含まず、公用アドレス情報を含むだけである。しかしながら、外部データ及び分析を用いて、特定トランザクション及びアドレスを個人に関連付けることに成功する可能性がある。
ビットコイン通貨の匿名性及び流用可能性を向上するために、コインミキシングトランザクションが使用され得る。CoinJoinのようなコインミキシングトランザクションは、インプットのセットをプールし、アウトプットのセットへ価値(value)を転送する。しかしながら、CoinJoinは、別の参加者のインプット−アウトプット関係の知識を有する少なくとも1人の参加者を含み、部分的にのみ匿名にしている。
CoinShuffleという名称のトランザクションは、CoinJoinトランザクションの匿名性を向上するために作り出された。CoinShuffleトランザクションでは、ノードは、自身のアウトプットアドレスを、トランザクションに関連付けられたシーケンスの中の全ての後続参加者の公開鍵を用いて暗号化し、アウトプットアドレスはシャッフルされてから、次ノードに渡される。最終結果は、参加者の誰も、トランザクションの任意の他の参加者のインプット−アウトプットリンクが分からないことである。しかしながら、CoinShuffleトランザクションの欠点は、全ての参加者及び彼らの参加のシーケンスが、予め知られ厳格に観察されなければならないことである。これは、参加者がトランザクションを通じて途中でいなくなる場合に失敗に終わる可能性があり、新しいノードが未完了のトランザクションに参加するのを妨げる。これはまた、ノードのうちの1つの動作がシーケンスにより要求されるとき、該1つのノードがオフラインである場合に、有意な遅延をもたらす。
したがって、新しいノードを追加する際により高い柔軟性を提供し及び/又はより高い柔軟性及び障害耐性を可能にするためにノードの参加のシーケンスを変更しながら、ブロックチェーンミキシングトランザクションのようなマルチノード通信を可能にする改良された方法及び装置を提供することが望ましい。
このような改良されたソリューションが考案される。
したがって、本発明によると、添付の請求の範囲に定められるような方法、システム及び装置が提供される。
本願は、障害耐性マルチノード通信のための方法及び装置を開示する。価値又はデジタルアセットをブロックチェーンを介して転送することを制御する向上した暗号技術及びソリューションを提供する方法、システム及び装置が提供され得る。本発明は、改良された障害耐性マルチノード通信の提供を通じて、価値又はコインミキシングブロックチェーントランザクションにおける向上したセキュリティ及び/又は匿名性を可能にし得る。追加で又は代替として、方法及び装置は、ノードの間で構築される間に、トランザクションに参加を追加し又は除去する際により高い柔軟性を提供し得る。したがって、少なくとも1つの実装では、本発明は、デジタルアセットの所有権をあるパーティから別のパーティへ転送するブロックチェーントランザクション(Txs)に関して、改良された制御ソリューションを提供し得る。
本願は、障害耐性マルチノード通信のコンピュータにより実施される方法を提供し得る。該通信は複数の参加ノードを有し、各ノードは自身の公開鍵及び秘密鍵を有し、各ノードは、通信がトークンを割り当てるそれぞれのアウトプットアドレスを有する。一例では、本願は、ブロックチェーントランザクションへの参加を可能にするコンピュータにより実施される方法を含み得る。該トランザクションは複数の参加ノードを有する。各ノードは、自身の(暗号)公開鍵及び秘密鍵を有してよい。各ノードは、トランザクションが価値を割り当て又は転送するそれぞれのアウトプットアドレスを有してよい。方法は、参加ノードのうちの1つにおいて実施されてよい。該方法は、参加ノードのうちの1つに関連付けられた第1アウトプットアドレスを、参加ノードのうちの該1つに関連付けられた第1公開鍵を用いて暗号化するステップと、該暗号化第1アウトプットアドレスを暗号化アウトプットアドレスのセットに追加するステップと、該セット内の暗号化アウトプットアドレスをシャッフルするステップと、該セットを次ノードへ送信するステップと、を含んでよい。方法は、更なるシャッフルされたアドレスのセットを別の参加ノードから受信するステップであって、更なるシャッフルされたアドレスのセットは暗号化第1アウトプットアドレスを含む、ステップと、更なるシャッフルされたアドレスのセットの中の更なる暗号化第1アウトプットアドレスを、第1アウトプットアドレスで置き換えるステップと、第1アウトプットアドレスを含む更なるシャッフルされたアドレスのセットを後続ノードへ転送するステップと、を更に含んでよい。
幾つかの実装では、更なるシャッフルされたアドレスのセットの中の暗号化第1アウトプットアドレスを第1アウトプットアドレスで置き換えるステップは、(a)第1アウトプットアドレスを発生元の公開鍵で暗号化して、最終暗号化第1アウトプットアドレスを取得するステップであって、第2公開鍵は発生元ノードに関連付けられる、ステップと、(b)暗号化第1アウトプットアドレスを最終暗号化第1アウトプットアドレスで置き換えるステップと、を含む。幾つかの他の実装では、置き換えるステップは、暗号化第1アウトプットアドレスを非暗号化第1アウトプットアドレスで置き換えるステップを含む。
幾つかの実装では、本願は、ブロックチェーントランザクションに含まれ参加ノードのうちの1つに関連付けられたインプットアドレスに署名することによりブロックチェーントランザクションを認可する後続動作を記載する。
幾つかの実装では、本願は、暗号化第1アウトプットアドレスを追加するステップが、先ず暗号化セットを前の参加ノードから受信し、暗号化セットを復号して暗号化アウトプットアドレスのセットを取得するステップを更に含むことを提供する。幾つかの実装では、セットを次ノードへ送信するステップは、セットを次ノードに関連付けられた第2公開鍵を用いて暗号化するステップを含む。セットを第2公開鍵を用いて暗号化するステップは、セットを他の参加ノードに関連付けられた更なる公開鍵で暗号化するステップを含まなくてよい。
幾つかの実装では、本願は、セットを次ノードへ送信するステップが、参加ノードのうちの1つが、参加ノードの第1シーケンスの中の最終ノードではないと決定するステップと、セットを第1シーケンスの中の次ノードへ送信するステップと、を含む、ことを提供する。
幾つかの実装では、本願は、セットを次ノードへ送信するステップが、参加ノードのうちの1つが、参加ノードの第1シーケンスの中の最終ノードであると決定するステップと、セットを第1シーケンスの中の第1ノードへ送信するステップであって、第1ノードはブロックチェーントランザクションの発生元である、ステップと、を含む、ことを提供する。
幾つかの実装では、本願は、更なるシャッフルされたアドレスのセットを後続ノードへ転送するステップは、参加ノードのうちの1つが、参加ノードの第2シーケンスの中の最終ノードではないと決定するステップと、セットを第2シーケンスの中の後続ノードへ送信するステップと、を含む、ことを提供する。
幾つかの実装では、本願は、更なるシャッフルされたアドレスのセットを後続ノードへ転送するステップは、参加ノードのうちの1つが、参加ノードの第2シーケンスの中の最終ノードであると決定するステップと、セットを第2シーケンスの中の第1ノードへ送信するステップと、を含む、ことを提供する。第1ノードは、ブロックチェーントランザクションの発生元であり、更なるシャッフルされたセットは、ブロックチェーントランザクションの全てのアウトプットアドレスを含む。幾つかの場合には、更なるシャッフルされたセットの中のアウトプットアドレスの各々は、発生元の公開鍵を用いて暗号化されている。
幾つかの実装では、本願は、順序をシャッフルするステップが、セットの中の暗号化アウトプットアドレスの順序をランダム化するステップを含むことを提供する。
幾つかの実装では、本願は、方法が、先ずブロックチェーントランザクションに参加することの要求を送信するステップであって、要求は第1公開鍵を含む、ステップを含み得ることを提供する。
幾つかの実装では、それぞれのアウトプットアドレスの各々は、それが関連付けられた参加ノードにより所有される未使用トランザクションアウトプットアドレスである。
幾つかの実装では、価値は通貨量であり、ブロックチェーントランザクションは、通貨量を各参加ノードに関連付けられたそれぞれのインプットアドレスから受信し、及び同じ等しい通貨量をそれぞれのアウトプットアドレスの各々に割り当てるよう構築される。
本願は、価値又はデジタルアセットをブロックチェーンを介して転送することを制御する向上した暗号技術及びソリューションを提供するコンピュータにより実施される方法を含み得る。本発明は、複数の参加ノードを有し、各ノードが、トランザクションが価値を割り当てるべきそれぞれのアウトプットアドレスを有する、価値ミキシングブロックチェーントランザクションの向上したセキュリティ、及び/又は匿名性の向上を提供し得る。方法は、各参加ノードが、第1シーケンスの中で、自身のアウトプットアドレスを該ノードの公開鍵を用いて暗号化するステップと、暗号化アウトプットアドレスをトランザクションのためのアウトプットアドレスのセットに追加するステップと、1つより多くの暗号化アウトプットアドレスがセット内に存在する場合、セット内の暗号化アウトプットアドレスの順序をシャッフルするステップと、を含み得る。各参加ノードは、第2シーケンスの中で、セット内の自身の暗号化アウトプットアドレスを識別し、自身の暗号化アウトプットアドレスを自身の非暗号化アウトプットアドレスで置き換えてよい。結果は、特定インプットにリンクすることのできない、シャッフルされたアウトプットアドレスのセットであってよい。
ある態様又は実施形態に関連して上述した任意の特徴は、任意の他の態様又は実施形態と組み合わせて使用されてよい。方法の各実施形態について、該方法を実施するよう構成される対応するシステムが提供される。方法の実施形態に関連して記載された任意の特徴は、対応するシステムにも適用可能であってよく、逆も同様である。
本発明の実装は、障害耐性マルチノード通信の向上を提供する。これは、幾つかの場合には、ミキシングプロトコルに従い参加ノードの間でトークンを割り当てるために使用されてよい。本発明の記載された動作を通じて、通信はオフライン又は欠損ノードに起因して、参加ノードの変化に起因して、及び/又は参加ノードの並べ替えに起因して、遅延及び障害する傾向が少ない。
本発明の上述の及び他の態様は、本願明細書に記載される実施形態から明らかであり、それらの実施形態を参照して教示される。本発明の実施形態は、単なる例として添付の図面を参照して以下に説明される。
例示的なノードのブロックチェーンネットワークを示す。 価値ミキシングブロックチェーントランザクションを生成し実行する際の第1段階を図式的に示す。 価値ミキシングブロックチェーントランザクションを生成し実行する際の第2段階を図式的に示す。 価値ミキシングブロックチェーントランザクションに参加する例示的な処理をフローチャート形式で示す。 簡略化した参加ノードのブロック図を示す。
本願では、用語「及び/又は」は、列挙された要素単独、任意の小結合、又は全部の要素のうちのいずれか1つを含む、列挙された要素の全ての可能な結合及び小結合をカバーすることを意図し、必ずしも追加要素を排除しない。
本願では、用語「...又は...のうちの少なくとも1つ」は、列挙された要素単独、任意の小結合、又は全部の要素のうちのいずれか1つを含む、列挙された要素のうちのいずれか1つ以上をカバーすることを意図し、必ずしも要素の全部を必要としない。
以下に記載される例示的実施形態の多くは、ブロックチェーントランザクションを参照し得る。しかしながら、本発明はブロックチェーンに接続される実装に限定されないことが理解される。さらに、以下のコイン又は価値への言及は、本願の範囲を暗号通貨用途に限定しない。本願は、ブロックチェーンを使用するか否かに拘わらず、より一般的なトークンのノード間での分配又は割り当てを含み得る。
先ず、図1を参照する。図1は、ブロック図の形式で、ブロックチェーンに関連付けられた例示的なブロックチェーンネットワーク100を示す。ブロックチェーンネットワークは、他の会員からの招待無しに又は承認無しに誰でも参加し得るピアツーピア開放型会員制ネットワークである。ブロックチェーンプロトコルの下でブロックチェーンネットワーク100が動作し、該ブロックチェーンプロトコルのインスタンスを実行する分散型電子装置は、ブロックチェーンネットワーク100に参加してよい。このような分散型電子装置は、ノード102として参照され得る。ブロックチェーンプロトコルは、例えばビットコインプロトコル、又は他の暗号通貨であってよい。
ブロックチェーンプロトコルを実行し、ブロックチェーンネットワーク100のノード102を形成する電子装置は、例えばデスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバのようなコンピュータ、スマートフォンのようなモバイル装置、スマートウォッチのようなウェアラブルコンピュータ、又は他の電子装置を含む様々な種類であってよい。
ブロックチェーンネットワーク100のノード102は、有線及び無線通信技術を含み得る適切な通信技術を用いて互いに結合される。多くの場合、ブロックチェーンネットワーク100は、少なくとも部分的にインターネット上で実施され、個々のノード102の幾つかは、地理的に離散した位置に置かれてよい。
ノード102は、ブロックチェーン上の全てのトランザクションのグローバル台帳を維持する。グローバル台帳は、分散台帳であり、各ノード102はグローバル台帳の完全コピー又は部分コピーを格納してよい。グローバル台帳に影響を与えるノード102によるトランザクションは、他のノード102により検証される。その結果、グローバル台帳の有効性が維持される。ビットコインプロトコルを使用することのような、ブロックチェーンネットワークの実装及び動作の詳細は、当業者に理解される。
各トランザクションは、標準的に、1つ以上のインプット及び1つ以上のアウトプットを有する。インプット及びアウトプットに埋め込まれるスクリプトは、トランザクションのアウトプットがどのように及び誰によりアクセス可能かを指定する。トランザクションのアウトプットは、トランザクションの結果として価値が転送されるアドレスであってよい。価値は、次に、未使用トランザクションアウトプットとして該アウトプットアドレスに関連付けられる。後続のトランザクションは、次に、該価値を使用する又は分散させるために、該アドレスをインプットとして参照してよい。
トランザクションは、個人情報がブロックチェーン台帳上のトランザクションに含まれないという点で疑似匿名性であるが、トランザクションのチェーンの中での価値の転送を追跡すること、及び幾つかの場合には、外部データを用いて価値を個人にリンクすることが可能である。匿名性を向上する目的で、様々なソースからのインプットをプールし、及びプールした価値をアウトプットに割り当てるために、コインミキシングトランザクションが使用され得る。全てのインプット及びアウトプットが同じサイズである場合、特定のインプットを特定のアウトプットに関連付けることは困難である。しかしながら、このようなトランザクションでは、少なくとも1つの参加ノードは、インプットアドレスと別の参加ノードにより指定されたアウトプットアドレスとの間のつながりに気付く。
ビットコインプロトコルの中のCoinShuffleのように、幾つかの試みはコインミキシングを更に匿名化している。しかしながら、CoinShuffleプロトコルは、動作の発生及び実行において逸脱を伴わない所定の順序で、参加者の完全な知識を必要とする。
本願によると、参加及び完了においてより柔軟性の高い価値ミキシングを実現する方法及び装置が記載される。それにより、信頼性、完了の可能性、及び完了の速度を向上する。概して、記載の方法は、シャッフルされた暗号化アウトプットアドレスのセットを構築するステップを含む。ここで、各ノードは、自身の関連する暗号化アウトプットアドレスを該セットに追加し、次に、完全なセットが作成されるまで、セット内の暗号化アドレスの順序をシャッフルする。次に、ノードは再びセットを循環させ、各ノードは、自身のそれぞれの暗号化アドレスを非暗号化アウトプットアドレスで置き換える。各参加ノードが自身の暗号化アウトプットアドレスを自身の非暗号化アウトプットアドレスで置き換えると、トランザクションのアウトプットアドレスのセットが完成し、どのノードも、他のノードのうちのどれが他のアウトプットアドレスのうちのいずれを追加したかを決定できない。
本願明細書の説明では、用語「参加ノード」及びその「アウトプットアドレス」が使用され得る。参加ノードの「アウトプットアドレス」への言及は、物理ノードのネットワークアドレスへの言及を意味しない。むしろ、「アウトプットアドレス」は、物理ノードがトランザクションにおいて署名に対応する鍵を有することにより所有権を請求可能な未使用価値を有するブロックチェーン上のトランザクションの中で指定されるアドレスである。この意味で、「アウトプットアドレス」は、参加ノードのアドレスではなく、参加ノードにより所有される又は関連付けられたブロックチェーントランザクションアウトプットアドレスである。本願明細書で参加ノードの「アウトプットアドレス」への言及は上述のように理解されるべきである。
図2を参照すると、図2は、本願によるブロックチェーントランザクションの中の第1段階200を図式的に示す。トランザクションは、n個の参加者(本願明細書で「ノード」又は「参加ノード」と呼ばれる)を有してよい。個々のノード202は、図示及び議論を容易にするために、「A」、「B」、「C」、...、「n」のようにラベルを付される。ノード202は円の中で通信するように示されるが、ノード202の物理的構成及び地理的構成、並びにそれらのネットワーク内の接続性は、任意の形式を取り得る。
ノード202のうちの1つ、本例ではノードAは、ブロックチェーントランザクションを提案することにより、動作を発生させる。提案されたトランザクションは、任意の発行、通知、又はトランザクションのミキシングを開始する及び参加を募集する適用可能なプロトコルによる所定の他の機能を用いて公表されてよい。
トランザクションに参加したいと望む参加ノード202は、参加ノードのリスト及びそれらが第1段階を実行すべき順序を維持するノードAのような発生元ノードに、通知する。幾つかの例では、第1段階が既に進行中である場合、ノードAは、新しい参加者に関する情報を、順序の中の最終ノードへ転送してよい。その結果、最終ノードは、アドレスのセットを新しい参加者へ正しく転送できる。幾つかの場合には、基礎にあるブロックチェーンプロトコルに依存して、制御は、必ずしも発生元に通知することなく、トランザクションに参加する参加者により更に分散されてよい。トランザクションの中の参加ノードの公表リストは、分散的に利用可能であってよく、新しい参加者は、トランザクションに参加する意図を示すために、リスト上の最終参加ノードに連絡を取ってよい。トランザクションに参加するための他のメカニズムは、基礎にあるブロックチェーンプロトコルに依存して使用されてよい。
各ノード202は、自身の公開−秘密鍵ペアを有する。例えば、ノードAは、公開鍵P及び秘密鍵Vを有する。トランザクションの中の各ノード202は、少なくとも順序又はシーケンスの中で自身より前にあるノード202と自身の公開鍵を共有する。
トランザクションを構築する第1段階は、ノードA、発生元(「発行者」とも称されてよい)が、A’と示される自身の関連付けられたアウトプットアドレスを、自身の公開鍵Pで暗号化するステップを含む。上述のように、「アウトプットアドレス」は、参加ノードにより所有されるブロックチェーン未使用価値アウトプットアドレスであり、参加ノードのネットワークアドレスではない。ノードAに関連付けられた暗号化アウトプットアドレスは、アウトプットアドレスのセット204の1番目の要素である。ノードAは、次に、セット204を、ノードB、つまりシーケンスの中の次ノードの公開鍵Pで暗号化する。暗号化セット204は、次に、ノードBに提供され、ノードBはセット204を復号する。説明目的で、図2は、該当する場合には、所与の要素又はセット204を暗号化する際に使用されたことを示すために、公開鍵Pを上付き文字で示す。
ノードBは、B’で示される自身の関連付けられたアウトプットアドレスを、自身の公開鍵Pで暗号化し、それをセット204に追加する。ノードBは、セット内のアドレスの順序を、任意の適切な疑似乱数処理を用いてシャッフルする。セット204は、ノードA及びBに関連付けられたシャッフルされた暗号化アウトプットアドレスを含み、次にシーケンスの中の次ノード、つまりノードCの公開鍵Pで暗号化される。
この処理は、各ノードが順にセット204を復号することで、自身の関連付けられたアウトプットアドレスを暗号化し、それをセットに追加し、そしてセット内のアドレスの順序をシャッフルし、次に暗号化セットを暗号化して、シーケンスの中の次ノードへ転送することを、停止条件に達するまで続ける。一例では、停止条件は、所定最小参加ノード数、例えばn個のノード、に達することを含み得る。別の例では、停止条件は、時間制限を含み、例えばX分後に第1段階を停止してよい。更に別の例では、停止条件は、最小参加ノード数及び終了時間の両方を含んでよい。その結果、終了時間内に最小ノード数に達しなかった場合、トランザクションはキャンセルされ、少なくとも最小参加ノード数が終了時間に参加している場合には、トランザクションが進行する。
n番目のノードが自身の暗号化アウトプットアドレスを追加し、アドレスの順序をシャッフルすると、該ノードは、次に、セット204を発生元、つまりノードA、の公開鍵Pで暗号化し、暗号化セットをノードAに提供する。第1段階の終わりに、ノードAは、参加ノードの各々により指定されているアウトプットアドレスの全部を含むセットを有し、各アウトプットアドレスはそれを追加したノードの公開鍵を用いて暗号化されている。セット内のアドレスの順序は、ランダム化される。その結果、トランザクションについて指定された任意のインプットの順序に関連付けられない。
ノードが参加する順序又はシーケンスは、予め決定される必要がなく、第1段階200の進行につれて変化してよい。つまり、例えば、ノードEは、ノードA、B、及びCが既にそれらのアドレスをセット204に追加した後にトランザクションに参加することを決定してよく、ノードEの参加の通知及びノードEの公開鍵Pのコピーを受信しているノードDは、次に暗号化セットをノードEへ転送する。また、予め参加することを示したノードは、自身の暗号化アドレスに貢献する前に、トランザクションから脱退し得る。さらに、順序は、ノードのうちの1つが一時的にオフラインである又は無反応であるために利用可能でない場合に、変化してよい。一例として、ノードEがオフラインである場合、ノードDは、セット204をノードFのような別の参加ノードの公開鍵Pで暗号化してよく、セットをノードFに転送してよい。それにより、ノードEをスキップする。ノードEは、トランザクションに参加しないことになってよく、又はシーケンスの中で後にトランザクションに参加するのに間に合ってオンラインに復帰してよい。
図3を参照すると、図3は、本願によるブロックチェーントランザクションの中の第2段階300を図式的に示す。第2段階300は、復号段階と呼ばれてよく、各参加ノード202が、自身の暗号化アウトプットアドレスを非暗号化アウトプットアドレスで置き換えるステップを含む。例えば、ノードAはアドレスのセット204を復号する。ノードAは、次に、セットを検索し、ノードAが該セットに挿入した暗号化アウトプットアドレスを特定する。ノードAは、自身のアウトプットアドレスを特定するために、セット内の各暗号化アドレスを復号することを試みることにより、これを行ってよい。より高速なアプローチは、第1段階200の間に暗号化アウトプットアドレスのコピーを格納し、第2段階300の間に一致する暗号化アウトプットアドレスについてセット204を単純に検索することであってよい。
セット204内で自身の暗号化アウトプットアドレスを自身の非暗号化アウトプットアドレスで置き換えると、ノードAは、次に、セットを、シーケンスの中の次ノード(本例ではノードB)の公開鍵でセットを暗号化し、暗号化セットをノードBに提供する。
ノードBは、次に、セット204を復号し、自身の暗号化アウトプットアドレスを特定し、それを自身の非暗号化アウトプットアドレスで置き換え、セットを次ノードの公開鍵で暗号化し、そして暗号化セットを前方へ渡す同じ動作を実行する。この処理は、ノードからノードへ、トランザクションに参加している全てのノードがそれらの暗号化アウトプットアドレスをそれらの非暗号化アウトプットアドレスで置き換えるまで、続く。セットは、したがって、ブロックチェーントランザクションのアウトプットアドレスの完全なリストをランダム化された順序で含む。
第2段階300におけるノードのシーケンス又は順序は、第1段階200におけるものと同じである必要はない。
記載した復号処理は、依然として、少なくとも1人の参加者が別の参加者のアウトプットアドレスを特定可能である可能性を残したままであることが理解され得る。特に、ノードn−2は、全ての非暗号化アドレス及び(自身が特定可能な)自身の暗号化アウトプットアドレス及びノードnの暗号化アドレスを含むセットを受け取る。この段階で、どのアドレスが暗号化されているか、及びどれが暗号化されていないかを決定することはできない。しかしながら、トランザクションが完了すると、ノードnが該ノードの暗号化アドレスを該ノードの非暗号化アドレスで置き換えた結果、アドレスのうちのどれが変化したか、つまりどのアウトプットアドレスがノードnに関連付けられているかを特定できる。
匿名性を更に向上するために、幾つかの実装では、復号処理は、各ノードが自身のアウトプットアドレスをノードAの公開鍵で暗号化するステップを含む。つまり、自身の暗号化アウトプットアドレスを自身の非暗号化アウトプットアドレスで置き換え、それによって、該アドレスを処理中に全ての後続ノードに見えるよう露出させたままにする代わりに、ノードは自身のアウトプットアドレスをノードAの公開鍵を用いて暗号化し、自身のアウトプットアドレスのこの暗号化バージョンを、該ノードが最初に挿入した先の暗号化アウトプットアドレスの代わりに挿入する。全てのノードがそれらのアドレスを置き換え、セットをノードAに返した後に、ノードAは、全てのアドレスを復号して、非暗号化されシャッフルされたアウトプットアドレスのセットを取得し、いずれのノードも、どのアウトプットアドレスがノードのうちの任意の他のノードに関連付けられているかを特定できない。
ある変形では、第1段階の間に暗号化アウトプットアドレスを挿入するのではなく、各ノードは所定長を有する疑似ランダムストリングを挿入する。各ノードは、該ストリングをローカルメモリに格納する。その結果、各ノードは、それを再び識別してよい。次に第2段階で、ノードは該ストリングを自身のアウトプットアドレスで置き換える。
アウトプットアドレスの完全なセットが生成されると、トランザクションは、次に、全ての参加者に認可のために提示される。各参加者は、彼らのそれぞれのインプットに署名して、トランザクションへの参加を確認する。これは、次に、検証及びブロックチェーンへの最終的な包含のために、ブロックチェーンネットワークに提出される。
ここで図4を参照すると、図4は、価値ミキシングブロックチェーントランザクションを生成する例示的な処理400をフローチャートの形式で示す。例示的な処理400は、ブロックチェーントランザクションの中の参加ノードのうちの1つで1つ以上のプロセッサにより実行される、コンピュータにより実施される処理である。本例は、ノードが発生元ノードではないと仮定する。
動作402で、ノードは、トランザクションへの参加を要求する。これは、ノードの公開鍵を利用可能にするステップを含んでよい。幾つかの実装では、公開鍵は、生成された参加要求メッセージに含まれ、ノードにより送信され又は公開されてよい。メッセージは、実装に依存して、発生元ノードへ、第1段階の間にセットの現在の所有者へ、その両者へ、又はトランザクションに参加しているノードを識別する中央リソースとして動作する別のノードへ送信されてよい。
動作404で、ノードは、自身のアウトプットアドレス(価値ミキシングトランザクションの中で価値が送信されるべきアドレス)を暗号化する。ノードは、シャッフルされたセットの中で後に容易に識別できるように、暗号化アウトプットアドレスのローカルコピーを格納してよい。
ノードが第1段階のシーケンスの中で前のノードからセットを受け取ると、ノードはセットを復号する。セットは、前のノードにより現在ノードの公開鍵を用いて暗号化されている。対応する秘密鍵の保有者としての現在ノードは、セットを復号できる。次に、ノードは、動作406で、自身の暗号化アウトプットアドレスを暗号化アウトプットアドレスのセットに追加し、動作408で、セット内の暗号化アウトプットアドレスの順序をシャッフルする。シャッフルは、暗号化アウトプットアドレスの順序を再配置するために任意の適切な疑似ランダム化処理を利用してよい。
動作410で、ノードは、次に、自身がシーケンスの中の最終ノードか否か、つまり、自身がn番目のノードか否かを決定する。上述のように、幾つかの実装では、nは、発生元ノードにより、外部ポリシにより、又は幾つかの他の方法で設定された所定最小ノード数であってよく、それに達するとトランザクションを構築する第1段階の終了になる。他の実装では、nは、予め定められなくてよく、トランザクションを開始してから終了時間に達するとトランザクションに参加している参加ノードの数であってよい。最小参加者数は、トランザクションが進行するために必要であってよい。なぜなら、少なすぎる参加ノードは、価値ミキシングトランザクションにより提供される匿名性を低下させるからである。幾つかの実装では、最小数nは50であってよいが、他の最小値が他の実装で予め定められてよい。
ノードが動作410で自身はシーケンスの中の最終ノードではないと決定した場合、動作414により示されるように、該ノードは、セットをシーケンスの中の次ノードへ送信する。セットを送信する前に、ノードは、セットを次ノードiの公開鍵Pを用いて暗号化してよい。
幾つかの実装では、暗号化アウトプットアドレスのセットは、ノードからノードへとセットを暗号化することなく渡されてよいが、セットが該セットを渡されるノードの公開鍵で暗号化されることを保証することにより、匿名性が向上される。或いは、任意の装置は、セットが特定ノードへ行くのを観察し、特定ノードに該特定ノードにより追加された暗号化アウトプットアドレスストリングを識別させ、後に、暗号化アウトプットアドレスの代わりにセットに追加された非暗号化アウトプットアドレスを識別させることができる。したがって、セキュリティを向上するために、本例ではセット自体が暗号化される。
ノードが動作410で自身はシーケンスの中の最終ノードであると決定した場合、動作416で、該ノードは、セットを発生元ノードへ転送する。これは、先ず、セットを発生元ノードの公開鍵Pで暗号化するステップを含み得る。
いずれの場合にも、現在ノードは、自身の暗号化アウトプットアドレスを追加し、セット内の暗号化アドレスの順序をシャッフルし、セットを別の参加ノードへ渡している。現在ノードは、動作418により示されるように、第2段階の間にセットを受信する。動作418で、更なるシャッフルされたセットが受信される。このセットは、現在ノードの公開鍵で暗号化されてよく又はされなくてよい。第2段階におけるノードのシーケンスは必ずしも第1段階の間のシーケンスと同じではないので、このセットは、同じ前のノードから受信されてよく又はされなくてよい。
動作420で、現在ノードは、自身の暗号化アウトプットアドレスを、更なるシャッフルされたセットの中で発見し、それを置き換える。本例では、現在ノードは、自身のアウトプットアドレスを発生元ノード(ノードA)の公開鍵を用いて暗号化し、シャッフルされたセットの中の自身の暗号化アウトプットアドレスをこの第2暗号化アウトプットアドレスで置き換える。このように、発生元ノードだけがアウトプットアドレスを復号でき、トランザクションが組み立てられ認可される準備が整うと、アウトプットアドレスを非暗号化形式で露出する。しかしながら、幾つかの実装では、現在ノードは、自身の暗号化アウトプットアドレスを非暗号化形式の自身のアウトプットアドレスで置き換えてよい。以上に概要を説明した理由のために、このような実装の結果、参加ノード間の匿名性は僅かにセキュアではない。
動作422に示されるように、現在ノードは、次に再び、自身が第2段階において、ノードのシーケンスの中の最終ノード、つまりn番目のノードであるか否かを決定する。最終ノードではない場合、動作424で、現在ノードは、更なるシャッフルされたセットをシーケンスの中の次ノードへ渡す。現在ノードがシーケンスの中の最終ノードである場合、動作426に示すように、現在ノードは、更なるシャッフルされたセットを発生元ノードへ返す。ここで、更なるシャッフルされたセットは、それぞれ発生元ノードの公開鍵を用いて暗号化された全てのアウトプットアドレスを含み、
全てのノードが発生元の公開鍵により暗号化されたそれら個々のアウトプットアドレスを挿入すると、発生元ノードは、次に、アウトプットアドレスを復号し、自身のインプット及びアウトプット及び各アドレスから及び各アドレスへ転送されるべき価値を含み、トランザクションを参加ノードに発行し又は利用可能にする。動作428で、現在ノードは、自身のインプットに署名することにより、トランザクションを認可する。全てのノードがトランザクションに署名すると、該トランザクションは検証のためにブロックチェーンネットワークに提出され、最終的にブロックチェーンに追加される。
上述の例示的な実施形態において記載した動作の幾つかは、幾つかの実装では実質的に処理に影響を与えることなく同時に又は異なる順序で生じてよいことが理解される。本願は、これらの変形及び変更を包含する。
ここで図5を参照する。図5は、ブロック図の形式で、参加ノード500の簡略化された例を示す。ノード500は、1つ以上のマイクロプロセッサ、特定用途向け集積回路(ASIC)、マイクロコントローラ、又は同様のコンピュータ処理装置を含み得るプロセッサ502を含む。ノード500は、永久及び非永久メモリを含み得る、値、変数、及び幾つかの例ではプロセッサ実行可能プログラム命令を格納するメモリ504、並びに、有線又は無線ネットワークを介してネットワーク接続を提供するネットワークインタフェース506、を更に含む。
ノード500は、実行されるとプロセッサ502に本願明細書に記載の機能又は動作のうちの1つ以上を実行させるプロセッサ実行可能命令を含むプロセッサ実行可能ブロックチェーンアプリケーション508を含む。
本願明細書に記載の装置及び処理、並びに、ビデオ特徴抽出器を構成する記載の方法/処理を実施するモジュール、ルーチン、プロセス、スレッド、アプリケーション、又は他のソフトウェアコンポーネントは、標準的なコンピュータプログラミング技術及び言語を用いて実現されてよい。本願は、特定のプロセッサ、コンピュータ言語、コンピュータプログラミング技法、データ構造、他のこのような実装の詳細に限定されない。
留意すべきことに、上述の実施形態は、本発明を限定するのではなく、当業者は添付の請求項により定められる本発明の範囲から逸脱することなく多数の代替の実施形態を考案できる。請求項中、括弧内に記載された如何なる参照符号も、請求項を制限すると見なされるべきではない。用語「有する(comprising又はcomprises)」等は、全体としていかなる請求項中に及び明細書に列挙された以外の要素又はステップの存在を排除するものではない。本願明細書において、「有する(comprises)」は「含む(includes)又は構成される(consists of)」を意味し、「有する(comprising)」は「含む(including)又は構成される(including of)」を意味する。要素の単数の参照は、該要素の複数の存在を排除するものではなく、逆も同様である。本発明は、複数の別個の要素を有するハードウェアにより又は適切にプログラムされたコンピュータにより、実施され得る。複数の手段を列挙している装置の請求項では、これらの複数の手段は、1つの同一のハードウェア要素により実装することができる。特定の量が相互に異なる従属請求項に記載されるという事実は、これらの量の組合せが有利に用いることが出来ないことを示すものではない。

Claims (16)

  1. 障害耐性マルチノード通信の、コンピュータにより実施される方法であって、前記通信は複数の参加ノードを有し、各ノードは自身の公開鍵及び秘密鍵を有し、各ノードは、前記通信がトークンを割り当てるべきそれぞれのアウトプットアドレスを有し、前記方法は、
    前記参加ノードのうちの1つに関連付けられた第1アウトプットアドレスを、前記参加ノードのうちの前記1つに関連付けられた第1公開鍵を用いて暗号化するステップと、
    前記の暗号化第1アウトプットアドレスを暗号化アウトプットアドレスのセットに追加するステップと、
    前記セット内の前記暗号化アウトプットアドレスの順序をシャッフルするステップと、
    前記セットを次ノードへ送信するステップと、
    更なるシャッフルされたアドレスのセットを前記参加ノードのうちの別のノードから受信するステップであって、前記更なるシャッフルされたアドレスのセットは、前記暗号化第1アウトプットアドレスを含む、ステップと、
    前記更なるシャッフルされたアドレスのセットの中の前記暗号化第1アウトプットアドレスを前記第1アウトプットアドレスで置き換えるステップと、
    前記第1アウトプットアドレスを含む前記更なるシャッフルされたアドレスのセットを後続ノードへ転送するステップと、
    を含む方法。
  2. 前記更なるシャッフルされたアドレスのセットの中の前記暗号化第1アウトプットアドレスを前記第1アウトプットアドレスで置き換えるステップは、
    前記第1アウトプットアドレスを発生元の公開鍵で暗号化して、最終暗号化第1アウトプットアドレスを取得するステップであって、前記第2公開鍵は発生元ノードに関連付けられる、ステップと、
    前記暗号化第1アウトプットアドレスを前記最終暗号化第1アウトプットアドレスで置き換えるステップと、
    を含む、請求項1に記載の方法。
  3. 前記暗号化第1アウトプットアドレスを追加するステップは、先ず暗号化セットを前の参加ノードから受信し、前記暗号化セットを復号して前記暗号化アウトプットアドレスのセットを取得するステップを更に含む、請求項1又は2に記載の方法。
  4. 前記セットを次ノードへ送信するステップは、前記セットを前記次ノードに関連付けられた第2公開鍵を用いて暗号化するステップを含む、請求項3に記載の方法。
  5. 前記セットを前記第2公開鍵を用いて暗号化するステップは、前記セットを他の参加ノードに関連付けられた更なる公開鍵で暗号化するステップを含まない、請求項4に記載の方法。
  6. 前記セットを次ノードへ送信するステップは、
    前記参加ノードのうちの1つが、前記参加ノードの第1シーケンスの中の最終ノードではないと決定し、前記セットを前記第1シーケンスの中の次ノードへ送信するステップを含む、請求項1乃至5のいずれか一項に記載の方法。
  7. 前記セットを次ノードへ送信するステップは、
    前記参加ノードのうちの1つが、前記参加ノードの第1シーケンスの中の最終ノードであると決定し、前記セットを前記第1シーケンスの中の第1ノードへ送信するステップであって、前記第1ノードは前記通信の発生元である、ステップを含む、請求項1乃至5のいずれか一項に記載の方法。
  8. 前記更なるシャッフルされたアドレスのセットを前記後続ノードへ転送するステップは、
    前記参加ノードのうちの1つが、前記参加ノードの第2シーケンスの中の最終ノードではないと決定し、前記セットを前記第2シーケンスの中の前記後続ノードへ送信するステップを含む、請求項1乃至7のいずれか一項に記載の方法。
  9. 前記更なるシャッフルされたアドレスのセットを前記後続ノードへ転送するステップは、
    前記参加ノードのうちの1つが、前記参加ノードの第2シーケンスの中の最終ノードであると決定し、前記セットを前記第2シーケンスの中の第1ノードへ送信するステップであって、前記第1ノードは前記通信の発生元であり、前記更なるシャッフルされたセットは前記通信の全てのアウトプットアドレスを含む、ステップを含む、請求項1乃至7のいずれか一項に記載の方法。
  10. 前記順序をシャッフルするステップは、前記セット内の前記暗号化アウトプットアドレスの順序をランダム化するステップを含む、請求項1乃至9のいずれか一項に記載の方法。
  11. 先ず前記通信に参加するための要求を送信するステップであって、前記要求は前記第1公開鍵を含む、ステップ、を更に含む請求項1乃至10のいずれか一項に記載の方法。
  12. 前記通信はブロックチェーントランザクションを含み、前記それぞれのアウトプットアドレスの各々は、自身の関連付けられた参加ノードにより所有される未使用トランザクションアウトプットアドレスを含む、請求項1乃至11のいずれか一項に記載の方法。
  13. 前記通信は等しい数のトークンを、各参加ノードに関連付けられたそれぞれのインプットアドレスから受信し、及び同じ等しい数のトークンを前記それぞれのアウトプットアドレスの各々に割り当てるよう構築される、請求項1乃至12のいずれか一項に記載の方法。
  14. 前記通信を、前記通信に含まれ前記参加ノードのうちの1つに関連付けられたインプットアドレスに署名することにより承認する後続の動作、を更に含む請求項1乃至13のいずれか一項に記載の方法。
  15. 複数の参加ノードの間の障害耐性マルチノード通信のためのコンピューティング装置であって、前記コンピューティング装置は前記参加ノードのうちの1つであり、前記コンピューティング装置は、
    プロセッサと、
    メモリと、
    ネットワーク接続を提供するネットワークインタフェースと、
    前記プロセッサにより実行されると前記プロセッサに請求項1乃至14のいずれか一項に記載の方法を実行させるコンピュータ実行可能命令を含むアプリケーションと、
    を含む装置。
  16. 複数の参加ノードの間の障害耐性マルチノード通信のためのプロセッサ実行可能命令を記憶する非一時的プロセッサ可読媒体であって、前記プロセッサ実行可能命令は、前記参加ノードのうちの1つのプロセッサにより実行されると、前記プロセッサに請求項1乃至14のいずれか一項に記載の方法を実行させる、非一時的プロセッサ可読媒体。
JP2019544712A 2017-03-06 2018-03-02 コンピュータにより実装されるシステム及び方法 Active JP7102425B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1703562.7 2017-03-06
GBGB1703562.7A GB201703562D0 (en) 2017-03-06 2017-03-06 Computer-implemented system and method
PCT/IB2018/051336 WO2018163031A1 (en) 2017-03-06 2018-03-02 Computer-implemented system and method

Publications (2)

Publication Number Publication Date
JP2020509681A true JP2020509681A (ja) 2020-03-26
JP7102425B2 JP7102425B2 (ja) 2022-07-19

Family

ID=58543792

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019544712A Active JP7102425B2 (ja) 2017-03-06 2018-03-02 コンピュータにより実装されるシステム及び方法

Country Status (10)

Country Link
US (1) US11902439B2 (ja)
EP (1) EP3455999B1 (ja)
JP (1) JP7102425B2 (ja)
KR (1) KR102492539B1 (ja)
CN (2) CN115473654A (ja)
GB (1) GB201703562D0 (ja)
SG (1) SG11201907450UA (ja)
TW (1) TWI816659B (ja)
WO (1) WO2018163031A1 (ja)
ZA (1) ZA201904975B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11627115B2 (en) 2020-11-04 2023-04-11 Kabushiki Kaisha Toshiba Information processing method, information processing system, and information processing apparatus

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11159498B1 (en) * 2018-03-21 2021-10-26 Amazon Technologies, Inc. Information security proxy service
JP2022002351A (ja) * 2018-09-20 2022-01-06 ソニーグループ株式会社 情報処理装置、情報処理方法、およびプログラム
US11316841B2 (en) * 2019-03-25 2022-04-26 Micron Technology, Inc. Secure communication between an intermediary device and a network
CN110187221B (zh) * 2019-05-24 2020-06-30 山东大学 基于区块链的配电网微型pmu故障录波协同方法及系统
CN114222992A (zh) * 2019-08-29 2022-03-22 松下电器(美国)知识产权公司 控制方法、服务器、以及程序
US20220271920A1 (en) * 2021-02-24 2022-08-25 Cisco Technology, Inc. Indicating Network-Based Consent Contracts using Packet-Level Data
CN112597527B (zh) * 2021-03-05 2021-06-08 浙江数秦科技有限公司 一种防止联盟链数据外泄的数据存取方法
CN113378192B (zh) * 2021-06-02 2022-06-10 浙江数秦科技有限公司 一种联盟链数据加密方法
US20230087602A1 (en) * 2021-09-19 2023-03-23 International Business Machines Corporation Privacy-preserving state reference
GB2616861A (en) * 2022-03-22 2023-09-27 Nchain Licensing Ag Set shuffling
GB2616862A (en) * 2022-03-22 2023-09-27 Nchain Licensing Ag Set shuffling

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090113217A1 (en) * 2007-10-30 2009-04-30 Sandisk Il Ltd. Memory randomization for protection against side channel attacks
US20130101111A1 (en) * 2011-10-20 2013-04-25 Sandisk Technologies Inc. Method for scrambling shaped data

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2441304C (en) * 2001-03-24 2005-05-31 Votehere, Inc. Verifiable secret shuffles and their application to electronic voting
JP3901471B2 (ja) * 2001-05-18 2007-04-04 日本電気株式会社 証明付シャッフル復号システムと証明付シャッフル復号方法、シャッフル復号検証方法
US7233664B2 (en) * 2003-03-13 2007-06-19 New Mexico Technical Research Foundation Dynamic security authentication for wireless communication networks
JP4823717B2 (ja) * 2006-02-28 2011-11-24 株式会社日立製作所 暗号通信システム、端末状態管理サーバ、暗号通信方法、および端末状態管理方法
US8700894B2 (en) * 2007-10-17 2014-04-15 Pitney Bowes Inc. Method and system for securing routing information of a communication using identity-based encryption scheme
CN101807991B (zh) * 2009-02-18 2014-03-12 上海交通大学 密文政策属性基加密系统和方法
US8961300B2 (en) * 2013-03-13 2015-02-24 Game Play Network, Inc. System and method of providing wagering opportunities based on promotional content
SI3073670T1 (sl) * 2015-03-27 2021-07-30 Black Gold Coin, Inc. Sistem in postopek za osebno identifikacijo in verifikacijo
US9735958B2 (en) 2015-05-19 2017-08-15 Coinbase, Inc. Key ceremony of a security system forming part of a host computer for cryptographic transactions
CA2986164C (en) * 2015-05-26 2021-11-30 T0.Com, Inc. Obfuscation of intent in transactions using cryptographic techniques
WO2016200885A1 (en) * 2015-06-08 2016-12-15 Blockstream Corporation Cryptographically concealing amounts transacted on a ledger while preserving a network's ability to verify the transaction
US9298806B1 (en) * 2015-07-08 2016-03-29 Coinlab, Inc. System and method for analyzing transactions in a distributed ledger
US10068097B2 (en) * 2015-08-12 2018-09-04 Microsoft Technology Licensing, Llc Data center privacy
US10263779B2 (en) * 2015-09-24 2019-04-16 Jonetix Corporation Secure communications using loop-based authentication flow
US20170180367A1 (en) * 2015-12-16 2017-06-22 ClearChat, Inc. System And Method For Encrypted And Authenticated Electronic Messaging Using A Central Address Book
US9590956B1 (en) 2015-12-18 2017-03-07 Wickr Inc. Decentralized authoritative messaging
CN106296138A (zh) 2016-08-09 2017-01-04 西安电子科技大学 基于部分盲签名技术的比特币支付系统及其方法
CN106375327B (zh) * 2016-09-13 2019-05-24 湖北工业大学 一种抗恶意攻击的代理密钥混淆电子投票系统及方法
US20220085984A1 (en) * 2020-09-14 2022-03-17 Amir Keyvan Khandani Methods and apparatus for randomized encryption, with an associated randomized decryption

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090113217A1 (en) * 2007-10-30 2009-04-30 Sandisk Il Ltd. Memory randomization for protection against side channel attacks
US20130101111A1 (en) * 2011-10-20 2013-04-25 Sandisk Technologies Inc. Method for scrambling shaped data

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
RUFFING, T. ET AL.: "CoinShuffle: Practical Decentralized Coin Mixing for Bitcoin", ESORICS 2014, PART II, vol. 8713, JPN6021051948, 2014, pages 345 - 364, XP055479628, ISSN: 0004679796, DOI: 10.1007/978-3-319-11212-1_20 *
永田 和之 ほか: "ブロックチェーンにおける本人性確認の方法に関する考察", 研究報告コンピュータセキュリティ(CSEC), vol. vol. 2017-CSEC-76,no. 19, JPN6021051947, 23 February 2017 (2017-02-23), JP, pages 1 - 6, ISSN: 0004679797 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11627115B2 (en) 2020-11-04 2023-04-11 Kabushiki Kaisha Toshiba Information processing method, information processing system, and information processing apparatus

Also Published As

Publication number Publication date
SG11201907450UA (en) 2019-09-27
CN115473654A (zh) 2022-12-13
KR20190120777A (ko) 2019-10-24
JP7102425B2 (ja) 2022-07-19
CN110366839A (zh) 2019-10-22
TW201836321A (zh) 2018-10-01
ZA201904975B (en) 2021-02-24
WO2018163031A1 (en) 2018-09-13
US11902439B2 (en) 2024-02-13
TWI816659B (zh) 2023-10-01
US20210135865A1 (en) 2021-05-06
KR102492539B1 (ko) 2023-01-27
CN110366839B (zh) 2022-11-01
EP3455999B1 (en) 2019-08-14
EP3455999A1 (en) 2019-03-20
GB201703562D0 (en) 2017-04-19

Similar Documents

Publication Publication Date Title
JP7102425B2 (ja) コンピュータにより実装されるシステム及び方法
JP6840264B2 (ja) ブロックチェーンネットワーク内で使用するためのフィールドプログラマブルゲートアレイベースの信頼できる実行環境
JP7210466B2 (ja) ブロックチェーンを用いてデータ記録を分配するシステム及び方法
KR102610335B1 (ko) 블록체인 네트워크를 이용한 멀티 라운드 토큰 분배 시스템 및 방법
KR102569552B1 (ko) 블록체인 네트워크에서 계층적 토큰 분산을 위한 시스템 및 방법
CN110784320A (zh) 分布式密钥实现方法、系统及用户身份管理方法、系统
EP3857814A1 (en) Computer-implemented system and method for transferring access to digital resource
JP2021506151A (ja) ブラインド化された帰結選択のためのブロックチェーンで実装されるセキュリティー・システムおよび方法
CN114936853A (zh) 基于可信执行环境的链下交易协议与交易认证方法
KR20200079877A (ko) 스마트 컨트랙트를 지연 실행시키기 위한 블록체인 시스템

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210202

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220408

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

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220608

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220706

R150 Certificate of patent or registration of utility model

Ref document number: 7102425

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150