JP7620687B2 - 公開鍵結合検証を含む、コンピュータにより実施されるシステム及び方法 - Google Patents

公開鍵結合検証を含む、コンピュータにより実施されるシステム及び方法 Download PDF

Info

Publication number
JP7620687B2
JP7620687B2 JP2023190064A JP2023190064A JP7620687B2 JP 7620687 B2 JP7620687 B2 JP 7620687B2 JP 2023190064 A JP2023190064 A JP 2023190064A JP 2023190064 A JP2023190064 A JP 2023190064A JP 7620687 B2 JP7620687 B2 JP 7620687B2
Authority
JP
Japan
Prior art keywords
public key
public
blockchain transaction
group
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2023190064A
Other languages
English (en)
Other versions
JP2023184657A (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 JP2023184657A publication Critical patent/JP2023184657A/ja
Application granted granted Critical
Publication of JP7620687B2 publication Critical patent/JP7620687B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • 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/083Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3252Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3255Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本開示は、概して、リソース制御及び/又はアクセスの移転に関し、より詳細には、ブロックチェーン上で暗号マルチシグネチャ方法を用いる、このような制御及び/又はアクセスの移転に関する。本開示は、限定ではなく、Bitcoinブロックチェーン又はBitcoinプロトコルの任意の変形において使用することに特に適する。
本願明細書では、私たちは、全ての形式の電子的な、コンピュータに基づく、分散型台帳を包含するために用語「ブロックチェーン」を使用する。これらは、総意に基づくブロックチェーン及びトランザクションチェーン技術、許可及び未許可台帳、共有台帳、並びにこれらの変形を含む。他のブロックチェーン実装が提案され開発されているが、ブロックチェーン技術の最も広く知られているアプリケーションは、Bitcoin台帳である。Bitcoinは、ここでは、便宜上及び説明の目的で参照されることがあるが、本開示はBitcoinブロックチェーンと共に使用することに限定されず、代替のブロックチェーン実装及びプロトコルが本開示の範囲に包含されることに留意すべきである。用語「ユーザ」は、ここでは、人間又はプロセッサに基づくリソースを表してよい。
ブロックチェーンは、コンピュータに基づく非集中型の分散型システムとして実装されるピアツーピアの電子台帳であり、ブロックにより構成され、ブロックはまたトランザクションにより構成される。各トランザクションは、ブロックチェーンシステムの中の参加者間でデジタルアセット又はリソース(例えば、暗号通貨又はトークン化されたアイテム)の制御の移転を符号化するデータ構造であり、少なくとも1つのインプット及び少なくとも1つのアウトプットを含む。各ブロックは前のブロックのハッシュを含み、これらのブロックは一緒に繋げられて、起源以来ブロックチェーンに書き込まれている全てのトランザクションの永久的な変更不可能な記録を生成する。トランザクションは、スクリプトとして知られている小さなプログラムを含む。スクリプトは、それらのインプット及びアウトプットを埋め込まれ、トランザクションのアウトプットがどのように及び誰によりアクセス可能であるかを指定する。Bitcoinプラットフォームでは、これらのスクリプトはスタックに基づくスクリプト言語を用いて記述される。
トランザクションがブロックチェーンに書き込まれるためには、検証されなければならない。ネットワークノード(マイナー)は、無効なトランザクションがネットワークから拒否され、各トランザクションが有効であることを保証するために作業を実行する。ノードにインストールされたソフトウェアクライアントは、未使用トランザクション(unspent transaction, UTXO)のロック及びアンロックスクリプトを実行することにより、UTXOに対してこの検証作業を実行する。ロック及びアンロックスクリプトの実行が真(TRUE)と評価する場合、トランザクションは有効であり、トランザクションはブロックチェーンに書き込まれる。したがって、トランザクションがブロックチェーンに書き込まれるためには、(i)トランザクションを受信した第1ノードにより検証され、トランザクションが有効な場合には、ノードが該トランザクションをネットワーク内の他のノードに中継する、(ii)マイナーにより構築された新しいブロックに追加される、(iii)マイニングされる、つまり過去のトランザクションのパブリック台帳に追加される、ことが必要である。
ブロックチェーン技術は、暗号通貨の実装の使用のために最も広く知られているが、デジタル事業家が、Bitcoinの基づく暗号セキュリティシステム及び新しいシステムを実装するためにブロックチェーンに格納できるデータの両方の使用を開発し始めている。ブロックチェーンが、暗号通貨の分野に限定されない自動化タスク及びプロセスのために使用できれば、非常に有利になる。このようなソリューションは、ブロックチェーンの利益(例えば、永久性、イベントの記録の耐タンパ性、分散型処理、等)を利用しながら、それらの用途をより多様化し得る。
別の領域のロックチェーンに関連する関心事項は、ブロックチェーンを介して現実世界のエンティティを表現し及び移転するための、「トークン」(又は「カラードコイン(coloured coin)」)の使用である。潜在的に極秘の又は秘密のアイテムは、識別可能な意味又は値を有しないトークンにより表すことができる。したがって、トークンは、現実世界のアイテムがブロックチェーンから参照されることを可能にする識別子として機能する。
ブロックチェーントランザクションは、全部でN個のうちのM個の署名が、トランザクションを償還する(redeem)するためにRedeemスクリプトへのインプットとして提示される必要があるように、トランザクションを制限する組み込み(built-in)マルチシグネチャプロトコルを利用できる。例えば、トランザクションは、3-of-5マルチシグネチャ方法を用いてロックされてよい。その結果、トランザクションは、5個のうちの任意の3個の署名に対応する3個の秘密鍵を用いることによってのみ、ロック解除され得る。
M-of-N方法について、Bitcoinプロトコルの変形で使用されるコマンドを参照すると、オペコードOP_MULTISIGは、N個の公開鍵及びM個の署名をインプットとして取り入れる。N個の公開鍵は、本例では、Redeemスクリプト自体に格納される。オペコードは、最初の署名から開始して、N個の公開鍵を検索して、署名が該公開鍵により生成されたかどうかを調べる。署名が一致しない全ての鍵をドロップする。この理由から、署名の順序は、公開鍵の提供された順序に一致しなければならない。マルチシグRedeemスクリプトの一例は以下に与えられる。
[表1]
Figure 0007620687000001
これは、アンロックするために、以下のインプットの提示が必要である。
[表2]
Figure 0007620687000002
以上から、Redeemスクリプトのサイズは、必要な署名の数M、及び参加者の数Nの両方と共に線形にスケーリングすることが明らかである。従って、M及びNが増大するにつれ、トランザクションを償還するためにRedeemトランザクションにおいて必要な署名の数は、増大し、公開鍵の数も増大する。その結果、伝搬するために必要なネットワーク速度、及び格納するために必要な空間、後のRedeemトランザクションが増大する。更に、RedeemトランザクションのアンロックスクリプトをRedeemスクリプトと結合するときに実行される必要のある演算の数は、N及びMで線形に増大する。
従って、マルチシグネチャプロトコルを利用するブロックチェーントランザクション、特に膨大な数の公開鍵の記憶を必要とするトランザクションのようなブロックチェーントランザクションの送信、処理、及び記憶に関連付けられた演算及び記憶要件を低減するソリューションを提供することが望ましい。
このような改良されたソリューションがここで考案される。したがって、本開示によると、添付の請求項において定められる方法が提供される。
本開示により、コンピュータにより実施される方法が提供される。当該方法は、セキュリティ方法として記載され得る。
当該方法は、
公開鍵結合検証関数を含むブロックチェーントランザクションを設けるステップであって、前記ブロックチェーントランザクションは、前記ブロックチェーントランザクションにインプットを提供することにより、リソースへのアクセスを許可し又はリソースの制御を移転するために償還可能なように構成され、前記インプットは、
複数の公開鍵と、
前記複数の公開鍵のうちのそれぞれの2個に関連する少なくとも1つの勾配値と、
前記複数の公開鍵及び前記少なくとも1つの勾配値の結合から導出されるグループ鍵と、を含む、ステップと、
を含んでよく、前記ブロックチェーントランザクションは、前記トランザクションの償還が成功すると、前記グループ鍵が前記複数の公開鍵の前記結合から導出されることを検証するために、前記公開鍵検証関数を前記インプットに適用するよう構成される、方法。
このような方法は、セキュアな信頼できる公に検証可能な方法で、複数の秘密鍵により提示され及び/又は制御されるリソースの制御又はそれへのアクセスを移転する方法を提供する。
当該方法は、既知の値から導出公開鍵を導出するステップと、
前記導出公開鍵を2次公開鍵のシーケンスとして構成するステップと、
を含んでよく、前記2次公開鍵のシーケンスは、前記複数の公開鍵の部分集合である。
これは、ユーザが、方法の既知の要件を、方法で使用される公開鍵に変換することを可能にし、それにより、方法の多様性を向上するという利点を提供する。シーケンスの係数が予め計算され得るという更なる利点が提供される。それにより、方法が実行可能な速度を増大する。
当該方法は、前記導出公開鍵を前記2次公開鍵のシーケンスとして構成するステップの前に、前記既知の値に制約関数を適用するステップであって、それにより前記部分集合のサイズを制限する、ステップ、を含んでよい。
これは、方法の効率を更に向上するという利点を提供する。
当該方法は、前記複数の公開鍵のうちの更なる公開鍵及び前記導出公開鍵に少なくとも部分的に基づき、前記複数のうちの1つの公開鍵を計算するステップ、を含んでよい。
これは、1つの格納された公開鍵から、複数のうちの1つ以上が導出可能であるならば、所与の複数の公開鍵を格納するための要件を除去するという利点を提供する。
前記ブロックチェーントランザクションは、
前記グループ公開鍵に対応するグループ署名と、
マークルルートと、
マークルパス検証関数と、
を更に含んでよく、前記ブロックチェーントランザクションは、前記ブロックチェーントランザクションに、
前記複数の公開鍵に関連付けられたマークルパスと、
前記グループ署名に対応するグループ秘密鍵と、
を提供することにより償還可能なように構成される。
このような方法は、所与のレベルのセキュリティを達成するのに少ない処理ステップしか必要としない。それにより、セキュリティを維持しながら、方法の効率を向上するという利点を提供する。
本開示は、プロセッサと、プロセッサによる実行の結果として、システムに本願明細書に記載のコンピュータにより実施される方法のいずれかの実施形態を実行させる実行可能命令を含むメモリと、を含むシステムも提供する。
本開示は、実行可能命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記実行可能命令は、コンピュータシステムのプロセッサにより実行された結果として、少なくとも、前記コンピュータシステムに、本願明細書に記載のコンピュータにより実施される方法を実行させる、非一時的コンピュータ可読記憶媒体も提供する。
本開示のこれらの及び他の態様は、本願明細書に記載の実施形態から明らかであり及びそれらを参照して教示される。本開示の実施形態は、単なる例を用いて及び添付の図面を参照して以下に説明される。
非圧縮公開鍵のデータ符号化を示すテーブルである。 本開示の実施形態を実行するスタックの進展を示すテーブルである。 本開示の実施形態を実行するスタックの進展を示すテーブルである。 異なるマルチシグネチャ方法の、M、N、及びスクリプトサイズの間の関係を示すテーブルである。 本開示を具現化する2つのトランザクションを概略的に示す。 本開示を具現化するステップのシーケンスを示すフローチャートである。 種々の実施形態が実装できるコンピューティング環境を示す概略図である。
Bitcoinスクリプトの中の2つの楕円曲線点の加算を検証する方法が開示される。2個の点P、P、及び候補解Pが与えられると、開示の方法は、スクリプトの中で、P=P+Pを検証する。一連の点加算へと前述の方法を拡張する更なる方法が開示される。
当該方法は、多数の参加者のための、マルチシグネチャ方法のような署名方法で使用されてよい。当該方法は、楕円曲線デジタル署名アルゴリズム(Elliptic Curve Digital Signature Algorithm (ECDSA))プロトコルを使用してよい。
素数の楕円曲線は、次式により定義される。
=x+ax+b
曲線のグループ構造に従い、曲線上の2個の点P=(x,y)及びP=(x,y)が加算されて、第3の点P=(x,y)、つまりP=P+Pを得る。
点Pは、P及びPを結ぶ線を通過し次にx軸に関して反射される楕円曲線上の点であると定義される。点加算の式は次の通りである。
Figure 0007620687000003
Bitcoinプロトコルは、特に、楕円曲線パラメータがa=0及びb=7により与えられるsecp256k1協定を使用する。
ブロックチェーントランザクションのスクリプトの中で拡張ユークリッドの互除法(extended Euclidean algorithm)を適用することは実用的ではない。これは、モジュラ逆数の計算が必要であり、従って、上述の式で定義された楕円曲線点加算をスクリプト内に実装できないからである。
以下では、2個の点P及びPの加算の解を検証する方法が開示される。解P=P+P自体の計算は、スクリプトの外部で実行されるが、答えはスクリプト内で検証される。これは、ブロックチェーンノードに課され得る計算上の要件を低減する。
この検証を達成するために、解P、及びλにより示されるPとPとの間の直線の勾配の値、が必要である。λの計算は、スクリプトの外部で実行されるが、λの検証はスクリプト内で実行できる。
新たな公開鍵検証関数<Point Add P,P,λ,P>は、以下に詳細に定義され、それに提示されるλがPとPとの間の直線の勾配である場合、及びP=P+Pである場合、真(TURE)を返すよう構成される。これら2つの検証は、スクリプト内で直接達成され、トランザクションの償還が成功すると、発行される。
関数の実行は以下のステップを含む。
Figure 0007620687000004
公開鍵検証関数の連続的反復を適用することにより、任意の数nの公開鍵の和が検証され得る。ここで、唯一の制約は、ブロックチェーンプロトコルが使用されるという要件、例えばBitcoinスクリプトでは、オペコードの数(201)又はサイズ(単位:バイト)(10000)である。
上述の公開鍵検証関数は、公開鍵のうちの2個が結合して第3の公開鍵を生じることを検証するために、3個の公開鍵で動作する。これは3個の公開鍵の加算P=P+P+P、及びそれより多くを検証するために格納できる。拡張された関数は、PointAddMultiと示され、以下に定義される。ここで、検証手順は、P、P、及びPが結合してPを生じることを検証する。
Figure 0007620687000005
一般的には、つまり、結合して公開鍵Pを生じるn個の公開鍵Pが与えられると、PointAddMultiは以下のように定義できる。
Figure 0007620687000006
点加算関数PointAddは、以下に開示する方法を用いて、Bitcoinスクリプト言語で構成できる。
図1に、非圧縮公開鍵のデータ符号化が示される。ここで、データのダミー値が、よく知られた書籍であるA. Antonopoulos著、Mastering Bitcoin、2nd Edition, O’Reilly Media (2017)から取り入れられる。
非圧縮公開鍵Pが与えられると、x及びy座標は、演算子OP_SPLITを用いてBitcoinスクリプトから以下のように直接抽出できる。
Figure 0007620687000007
この演算を用いて、x及びy座標はインプットP、λ、P、Pから抽出できる。
Figure 0007620687000008
留意すべき事に、上式の右辺にある項は、複製され、再配置されて、基本演算を用いて任意の所望の結合を生成し得る。
図2を参照すると、関数PointAddの構成における第1のステップは、λのインプット値を検証することである。P≠Pの場合、以下の式が真のままであるかが調べられる。
Figure 0007620687000009
これは、<y><y><λ><x><x>をインプットとして取り入れ、このインプットに対して以下の演算を行うことにより達成される。
Figure 0007620687000010
これは、次式が満たされる場合、及びその場合のみ、真を返す。
Figure 0007620687000011
図2のテーブルは、上述の演算が実行されるとき、スタックの進展を示す。
=Pの場合、以下の演算が真であることを調べる、上述の式と同様の演算セットが構成できる。
Figure 0007620687000012
図3を参照すると、関数PointAddの構成における第2のステップは、Pのインプット値がP+Pの和であることを検証することである。これを行うために、次式の各々が真であることが調べられる。
Figure 0007620687000013
λは既に検証済みなので、以下の計算で使用できる。上述の2つの式のうちの最初の式が成り立つことを調べるために、以下がインプットとして提示され:<x><λ><x><x
以下の演算が行われる:
Figure 0007620687000014
ここで、pは楕円曲線のベースフィールド(base field)の次数である。
図3のテーブルは、上述の演算が実行されるとき、スタックの進展を示す。
新しい公開鍵Pは、既存の公開鍵P1を、楕円曲線生成元(generator point)Gを数値Sで乗算して計算される公開鍵に加算することにより、生成できる。つまり、P=P+S・G、
Figure 0007620687000015
Sは、元の公開鍵Pから導出される公開鍵Pを生成するために使用される決定鍵であってよい。
=P+S・Gの点加算の検証は、生成元Gの定数倍(fixed multiples)を含む一連の点加算を検証することにより、達成できる。
一例として、点加算を以下のシリーズに分解するために、倍及び加算(double-and-add)方法が使用されてよい。
Figure 0007620687000016
ここで、s、...、s256∈{0,1}は、次式のようにSのバイナリ表現の係数である。
Figure 0007620687000017
生成元を複数倍することにより得られる点G、2G、4G、...、2256Gは、一般に知られており、予め計算できる。これは、最終結果を得るために検証される必要のある255個の可能な個々の点加算が存在することを意味する。
従って、P=P+S・Gは、最大で255+1=256個の点加算により検証されてよい。
倍及び加算方法の代替として、スライドウインドウ又はモンゴメリラダー法のような他の点加算方法アルゴリズムが使用されてよい。
計算された鍵による点加算の計算を更に管理し易くするために、Sが更に狭い範囲に制限されてよい。範囲は、アプリケーション固有であってよい。
Sは、43億個の値の範囲を表す以下:
Figure 0007620687000018
の範囲内の32ビット範囲の中の値を取る必要があってよい。しかしながら、最終結果を検証するためには、31個の個々の点加算だけでよい。これは、一例としてBitcoinでは、完全な256ビット範囲の中のSで開始し、次に該範囲を32ビットに制限するためにモジュラ演算OP_MODを適用することにより、達成されてよい。和Px+S・Gを取ることにより、範囲を難読化するために、ランダムな公開鍵Pが使用されてよい。
一例として、中古車オークションの最高入札額が16000米ドルである。数値16000の形式のt米ドルの入札は、公開鍵Pに加算されて、加法鍵(additive key)P=P+g・Gを得ることができる。
これは、14個の点加算により、スクリプト内で検証されてよい。
これが入札処理でどのように使用され得るかを見るために、車に対する現在の最高入札が9000米ドルであると仮定する。これは、特定のUTXOにより追跡されている。このUXTOは、以下のRedeemスクリプトを有する。
Figure 0007620687000019
これは、アンロックのためにインプットとして以下を要求する。
Figure 0007620687000020
上述の点加算検証方法は、次に、P=P+t・Gを検証するために使用できる。これは、14個の個々の点加算の検証を含むことに留意する。これらの検証のためのデータは、上述のインプットの中で「検証データ(verification data)」としてラベル付けされる。
UTXOは、t>9000の新しい入札が提供された場合に、アンロックできる。新しい入札者は、彼らの公開鍵P、及び和P=P+t・Gに対する解Pを提供しなければならない。彼らが加法鍵Pによりトランザクションに署名したという事実は、彼らをt米ドルの特定の入札に常にリンクする。
別の例として、現在ブロックのようなブロックチェーン内のブロックによりハッシュされると、特定の閾値より下の値を生成するノンス(数値)を探すBitcoinマイナーを考える。マイナーは、トランザクションの公開鍵及びノンスの最初の9桁でロックされた該トランザクションを生成してよい。つまり、P=P+(ノンスの最初の9桁)・Gである。数値の最初の9桁について10億個もの組合せが存在する。従って、公開鍵Pは、30個の点加算を用いて検証できる。これは、鍵Pを、マイナーの公開鍵、及びマイニングされたブロックのノンスに常にリンクする。
上述のスクリプト内の点加算検証手順は、M-of-Nマルチシグネチャ方法を用いてトランザクションに署名する効率的な方法を実施するために使用されてよい。それにより、ブロックチェーンを用いてリソースの制御又はリソースへのアクセスを移転するより効率的且つセキュアな方法を可能にする。
M-of-N方法では、BitcoinオペコードOP_MULTISIGは、インプットとしてN個の公開鍵及びM個の署名を取り入れる。オペコードは、最初の署名から開始して、N個の公開鍵を検索して、署名が該公開鍵により生成されたかどうかを調べる。署名が一致しない全ての鍵をドロップする。この理由から、署名の順序は、公開鍵の提供された順序に一致しなければならない。
マルチシグRedeemスクリプトは以下の通りである。
Figure 0007620687000021
これは、アンロックのためにインプットとして以下を要求する:
<sig1><Sig2>...<SigM>。
以上から、スクリプトのサイズは、必要な署名の数M、及び参加者の数Nの両方と共に線形にスケーリングすることが分かる。
図4~6を参照すると、公開鍵の各々のM-of-N組合せに対応するリーフを有するマークル木が生成され、これは全部でN個のリーフからM個の選択することを含む。次に、マークルルートを含むRedeemスクリプトが生成される。該Redeemスクリプトは、マークルパス及び署名検証方法を含むインプットのアンロック表現を必要とする。
リソースの制御又はリソースへのアクセスを移転する2つの方法が後述される。各々は、それら自体の利点及び欠点を有する。
1.個別署名方法これは、トランザクションに個々に署名するためにそれぞれの署名を使用し、マルチシグと同じ機能を有するが、スクリプトサイズがより小さい。
2.グループ署名方法これは、署名グループの中のM任意の参加者の単一の署名を提供する。これは、共有シークレットから導出される鍵、又はグループの公開鍵を加算することにより形成される鍵のような、参加者のうちのM人の各集合について予め合意された任意の公開鍵であってよい。後者の場合、鍵が個々のメンバの鍵の和であることを検証するための追加オプションは、前述の検証方法を使用する。
各方法は、図4に示されたテーブルに纏めたように、異なるスケーリング特性を有する。
4-of-5方法を考える。この場合、マークル木は、以下のリーフを有する。
Figure 0007620687000022
マークル木自体は、3レベルの深さである。ルート<R>を有するマークルパスを検証する演算は、以下の通りである。
Figure 0007620687000023
マークルパス及びマークルパスを検証するための演算は、NからMを選ぶ(N choose M)署名グループの選択数と共に、対数的にサイズが増大する。
個別署名方法では、グループの各メンバは、トランザクションの個々の署名を提供する。この方法の機能は、標準的なマルチシグ方法と同じであるが、スクリプトのサイズは縮小し、スクリプトが実行される効率を向上する。スクリプトは、以下の形式を取る:
Figure 0007620687000024
これは、アンロックするために、以下のインプットの提示が必要である。
Figure 0007620687000025
償還者(redeemer)は、インプットとして、M個の署名をそれらの対応する公開鍵と共に、及びPのマークルパスを提供しなければならない。
この方法でのP、...、PMのマークル木リーフへのマッピングは、例えば、OP_CATを用いるP、...、Pの連結のハッシュであってよい。
この方法の主要な特徴は、各メンバが特定のトランザクションに署名することである。彼らは、彼らの秘密鍵に関する情報を互いに開示しないので、かれらの秘密鍵のセキュリティを損なわない。
図4を参照すると、この方法は、従来のマルチシグ方法に勝る有利なスケーリング特性を有することが分かる。これは、マルチシグネチャ制度が小さなM及び大きなN、例えば5-of-1000、にあるとき最も顕著である。
グループ署名方法では、トランザクションに署名するM人のメンバのグループについて、1つの署名しか必要ない。スクリプトは、以下の形式を取る。
Figure 0007620687000026
これは、アンロックするために、以下のインプットの提示が必要である。
Figure 0007620687000027
ここで、Pは、M人の参加者の集合についてのグループ公開鍵である。
この方法の利点は、1つの署名しか必要ないので、アンロックスクリプトのサイズが非常に小さいことである。スクリプト内の公開鍵の加算の数は、参加者の数Mと共に線形にスケーリングする。従って、この方法は、個々の署名を調べるより、処理パワーの観点でコストの少ない演算を提供する。
この方法は、参加者が互いに彼らの秘密鍵を共有することを要求する。これは、この方法で彼らの使用する鍵ペアが、1回限りの使用の鍵ペアであることが、本方法のセキュリティを向上するために有用であることを意味する。別の特手用は、グループ秘密鍵へのアクセスを有する任意の数の参加者が、彼らの望む任意のトランザクションに署名し得ることである。これは、方法の多様性を向上する。これらの特徴が特に望ましい用途がある。例えば、UTXOとしてブロックチェーンに記録された、良好に確立された最後の手段の条項(last-resort clause)を有効にしたいと望む取締役のグループである。これは、本方法を用いて特定のUTXOをアンロックすることにより達成されてよい。
上述の方法では、外部観察者は全く認識されない。つまり、実際には、グループ署名方法である。署名及び対応する公開鍵がユーザのグループに関連するという事実を公にするために、本方法は、スクリプト内で、グループ公開鍵が個々の参加者の公開鍵の和であることP=P+・・・+Pが検証されることを要求するよう変更されてよい。この適応された方法は、上述の鍵加法検証方法を使用してよい。
Figure 0007620687000028
これは、アンロックするために、以下のインプットの提示が必要である。
Figure 0007620687000029
ここで、<Point Add Multi P,...,P,P>関数は、前に導入されたものであり、<Verification data>は、各々の個々の点加算の間の勾配を含む。
図5は、トランザクションTx1及びTx2のペアを示す。Tx1は、Verify Markle Path関数、特定のM-of-N要件に調整されたPointAddMulti関数、及びCheckSig関数を含むRedeemスクリプトを有するUTXOを定義する。Tx2は、Tx1へのインプットの中でグループ署名、グループ署名に関連するグループ公開鍵、PointAddMulti関数により要求される勾配、ユーザのグループの公開鍵、及び関連付けられたMarkle Pathを提示することにより、Tx1のUTXOを償還することを目的とする、ブロックチェーンに後に提出されるトランザクションを定義する。
図6は、上述の個別署名方法及びグループ署名方法に従う方法を実行するために行われるステップを示すフローチャートを示す。図6で、Tx1及びTx2は、いずれかの方法に従い使用されるトランザクションのペアを表し得る。
図7を参照すると、本開示の少なくとも一実施形態を実施するために使用され得るコンピューティング装置2600の説明のための簡略ブロック図が提供される。種々の実施形態で、コンピューティング装置2600は、上述の図示のシステムのうちのいずれかを実装するために使用されてよい。例えば、コンピューティング装置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に示したシステムより多くの又は少ないコンポーネントを有する多くの他の構成が可能である。
上述の実施形態は、本発明を限定するのではなく、説明すること、及び当業者は添付の特許請求の範囲により定められる本開示の範囲から逸脱することなく多くの代替的実施形態を考案できることに留意すべきである。特許請求の範囲において、括弧内の任意の参照符号は、請求項を限定することを意図しない。用語「有する」及び「含む」(comprising、comprises)等は、任意の請求項又は明細書全体に列挙されたもの以外の要素又はステップの存在を排除しない。本願明細書では、「有する」は「有する又は構成される」を意味し、「含む」は「含む又は構成される」を意味する。要素の単数の参照は、該要素の複数の参照を排除しない。逆も同様である。本開示は、幾つかの別個の要素を含むハードウェアにより、及び適切にプログラムされたコンピュータにより、実装できる。幾つかの手段を列挙する装置クレームでは、これらの手段のうちの幾つかは、1つの同じハードウェアアイテムにより具現化されてよい。単に特定の手段が相互に異なる従属請求項に記載されるという事実は、これらの手段の組み合わせが有利に使用されないことを示さない。

Claims (8)

  1. コンピュータにより実施される方法であって、
    公開鍵結合検証関数を含むアウトプットを有する第1ブロックチェーントランザクションを取得するステップであって、前記関数は、複数の公開鍵と前記公開鍵の結合から導出されるグループ公開鍵とを含み、前記第1ブロックチェーントランザクションは、リソースへのアクセスを許可し又はリソースの制御を移転するために償還可能なように構成される、ステップと、
    前記公開鍵に関連する少なくとも1つの勾配値を決定するステップと、
    前記公開鍵と、前記少なくとも1つの勾配値と、前記グループ公開鍵とを含むインプットを含む第2ブロックチェーントランザクションを提供するステップと、
    を含み、
    前記第1ブロックチェーントランザクションは、前記グループ公開鍵が前記公開鍵の結合から導出されたことを検証するために、前記インプットへの前記公開鍵結合検証関数の適用が成功すると、リソースへのアクセスを許可し又はリソースの制御を移転するために償還可能なように構成される、方法。
  2. 前記公開鍵結合検証関数の適用の成功は、
    (i)第1公開鍵及び第2公開鍵に関連する勾配値を用いて前記第1及び第2公開鍵に前記関数を適用して、第1結果を得るステップと、
    (ii)前記第1結果及び第3公開鍵に関連する勾配値を用いて前記第1結果及び前記第3公開鍵に前記関数を適用して、第2結果を得るステップと、
    を含む、請求項1に記載の方法。
  3. 各反復で更なる公開鍵を用いて、前記(ii)を少なくとも1回繰り返すステップ、を更に含む請求項2に記載の方法。
  4. 前記第2ブロックチェーントランザクションをブロックチェーンへ提出するステップ、を更に含む請求項1~3のいずれかに記載の方法。
  5. 前記第1ブロックチェーントランザクションの前記アウトプットは、
    前記グループ公開鍵に対応するグループ署名と、
    マークルルートと、
    マークルパス検証関数と、
    を更に含み、
    前記第2ブロックチェーントランザクションの前記インプットは、
    前記複数の公開鍵に関連付けられたマークルパスと、
    前記グループ署名に対応するグループ秘密鍵と、
    を含む、請求項1~4のいずれかに記載の方法。
  6. 前記第1ブロックチェーントランザクションの前記アウトプットは、
    前記複数の公開鍵に対応する複数の署名と、
    マークルルートと、
    マークルパス検証関数と、
    を更に含み、
    前記第2ブロックチェーントランザクションの前記インプットは、
    前記複数の公開鍵に関連付けられたマークルパスと、
    前記複数の署名に対応する複数の秘密鍵と、
    を含む、請求項1~4のいずれかに記載の方法。
  7. システムであって、
    プロセッサと、
    前記プロセッサによる実行の結果として、前記システムに請求項1~6のいずれか一項に記載のコンピュータにより実施される方法を実行させる実行可能命令を含むメモリと、
    を含むシステム。
  8. 実行可能命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記実行可能命令は、コンピュータシステムのプロセッサにより実行された結果として、前記コンピュータシステムに、請求項1~6のいずれか一項に記載のコンピュータにより実施される方法を少なくとも実行させる、非一時的コンピュータ可読記憶媒体。
JP2023190064A 2018-10-17 2023-11-07 公開鍵結合検証を含む、コンピュータにより実施されるシステム及び方法 Active JP7620687B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GBGB1816936.7A GB201816936D0 (en) 2018-10-17 2018-10-17 Computer-implemented system and method
GB1816936.7 2018-10-17
PCT/IB2019/058580 WO2020079534A1 (en) 2018-10-17 2019-10-09 Computer-implemented system and method including public key combination verification
JP2021518541A JP7383017B2 (ja) 2018-10-17 2019-10-09 公開鍵結合検証を含む、コンピュータにより実施されるシステム及び方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2021518541A Division JP7383017B2 (ja) 2018-10-17 2019-10-09 公開鍵結合検証を含む、コンピュータにより実施されるシステム及び方法

Publications (2)

Publication Number Publication Date
JP2023184657A JP2023184657A (ja) 2023-12-28
JP7620687B2 true JP7620687B2 (ja) 2025-01-23

Family

ID=64394914

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021518541A Active JP7383017B2 (ja) 2018-10-17 2019-10-09 公開鍵結合検証を含む、コンピュータにより実施されるシステム及び方法
JP2023190064A Active JP7620687B2 (ja) 2018-10-17 2023-11-07 公開鍵結合検証を含む、コンピュータにより実施されるシステム及び方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2021518541A Active JP7383017B2 (ja) 2018-10-17 2019-10-09 公開鍵結合検証を含む、コンピュータにより実施されるシステム及び方法

Country Status (9)

Country Link
US (2) US12149636B2 (ja)
EP (2) EP4395228B1 (ja)
JP (2) JP7383017B2 (ja)
KR (1) KR102886372B1 (ja)
CN (1) CN112970227B (ja)
GB (1) GB201816936D0 (ja)
SG (1) SG11202103165YA (ja)
TW (1) TWI834741B (ja)
WO (1) WO2020079534A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210128454A (ko) * 2019-02-15 2021-10-26 엔체인 홀딩스 리미티드 블록체인 네트워크를 통한 이전을 구현하는 컴퓨터 구현 시스템 및 방법
GB2587028A (en) 2019-09-16 2021-03-17 Nchain Holdings Ltd Cryptographically linked identities
JP7550402B2 (ja) * 2020-06-29 2024-09-13 株式会社Standage 仮想通貨を用いたエスクロー処理方法、システムおよびプログラム
US20220094555A1 (en) * 2020-09-18 2022-03-24 Fujitsu Limited Validator control for transaction between blockchains
GB2606526A (en) * 2021-05-10 2022-11-16 Nchain Licensing Ag Multi-party blockchain address scheme
KR102568418B1 (ko) * 2021-08-26 2023-08-18 하이파이브랩 주식회사 다중 서명을 지원하는 전자 인증 시스템 및 방법
CN116945821A (zh) 2022-03-30 2023-10-27 空中客车营运有限公司 对网络进行配置的方法、轮胎监测网络和飞行器
GB2624202A (en) * 2022-11-10 2024-05-15 Nchain Licensing Ag Blockchain transaction
GB2627756A (en) * 2023-02-28 2024-09-04 Nchain Licensing Ag Verification of scalar multiplication of elliptic curve points in script
GB2627757A (en) * 2023-02-28 2024-09-04 Nchain Licensing Ag Verification of scalar multiplication of elliptic curve points in script
GB2627758A (en) * 2023-02-28 2024-09-04 Nchain Licensing Ag Verification of scalar multiplication of elliptic curve points in script
EP4560554A1 (en) * 2023-11-21 2025-05-28 Giesecke+Devrient advance52 GmbH Secure token transaction unit, payment transaction sender, receiver and system, and method of providing a non-repudiable payment transaction between participants in an electronic payment transaction system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018185724A1 (en) 2017-04-07 2018-10-11 nChain Holdings Limited Method and system for secure data record distribution using a blockchain

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
HK1038152A2 (en) 2001-09-10 2002-02-15 何嘉威 A method of digital signature
US7602655B2 (en) * 2006-01-12 2009-10-13 Mediatek Inc. Embedded system
JP2008203548A (ja) * 2007-02-20 2008-09-04 Oki Electric Ind Co Ltd 二次双曲線群を使用する鍵生成方法、復号方法、署名検証方法、鍵ストリーム生成方法および装置。
US8509426B1 (en) 2010-12-01 2013-08-13 King Fahd University Of Petroleum And Minerals XZ-elliptic curve cryptography system and method
TWI444028B (zh) * 2011-12-23 2014-07-01 Univ Nat Chiao Tung 應用增強型窗口方法和相互交替型式於純量乘法演算法之橢圓形曲線加密方法
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
US20170048209A1 (en) 2015-07-14 2017-02-16 Fmr Llc Crypto Key Recovery and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems
WO2017171165A1 (ko) 2015-12-14 2017-10-05 (주)코인플러그 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법
GB2560274C (en) 2016-02-23 2022-06-15 Nchain Holdings Ltd Personal device security using elliptic curve cryptography for secret sharing
KR102777896B1 (ko) 2016-02-23 2025-03-10 엔체인 홀딩스 리미티드 토큰화를 이용한 블록체인 기반 교환 방법
US10532268B2 (en) 2016-05-02 2020-01-14 Bao Tran Smart device
EP3452975A4 (en) * 2016-05-04 2020-04-15 Algorand Inc. Distributed transaction propagation and verification system
KR102603069B1 (ko) * 2016-11-19 2023-11-15 디피니티 스티프텅 시스템 아키텍쳐 및 시스템 아키텍쳐에서의 데이터 처리 방법
AU2016434826A1 (en) * 2016-12-27 2019-08-22 Helder Silvestre Paiva FIGUEIRA Equivocation augmentation dynamic secrecy system
JP2020517135A (ja) 2017-04-11 2020-06-11 エヌチェーン ホールディングス リミテッドNchain Holdings Limited ブロックチェーン間のセキュアな転送
CN107395349A (zh) * 2017-08-16 2017-11-24 深圳国微技术有限公司 一种基于自认证公钥体制的区块链网络密钥分发方法
CN107919954B (zh) * 2017-10-20 2019-05-14 浙江大学 一种基于sgx软件防护扩展指令的区块链用户密钥保护方法和装置
CN108154549A (zh) * 2017-12-25 2018-06-12 太平洋未来有限公司 一种三维图像处理方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018185724A1 (en) 2017-04-07 2018-10-11 nChain Holdings Limited Method and system for secure data record distribution using a blockchain

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MAXWELL, G. et al.,Simple Schnorr Multi-Signatures with Applications to Bitcoin,Cryptology ePrint Archive,Report 2018/068 ver:20180520:191909,[online],2018年05月20日,pp.1-34,<URL:https://eprint.iacr.org/2018/068/20180520:191909>
ZHAO, Y.,Aggregation of Gamma-Signatures and Applications to Bitcoin,Cryptology ePrint Archive,Report 2018/414 ver:20181205:162615,[online],2018年12月05日,pp.1-22,<URL:https:// eprint.iacr.org/2018/414/20181205:162615>

Also Published As

Publication number Publication date
CN112970227B (zh) 2025-02-21
WO2020079534A1 (en) 2020-04-23
KR20210074358A (ko) 2021-06-21
SG11202103165YA (en) 2021-05-28
GB201816936D0 (en) 2018-11-28
JP7383017B2 (ja) 2023-11-17
US20250106042A1 (en) 2025-03-27
TWI834741B (zh) 2024-03-11
JP2023184657A (ja) 2023-12-28
EP4395228A2 (en) 2024-07-03
KR102886372B1 (ko) 2025-11-13
JP2022504224A (ja) 2022-01-13
EP3868054A1 (en) 2021-08-25
US12149636B2 (en) 2024-11-19
EP4395228B1 (en) 2026-01-14
EP3868054B1 (en) 2024-05-15
TW202036344A (zh) 2020-10-01
CN112970227A (zh) 2021-06-15
US20210344510A1 (en) 2021-11-04
EP4395228A3 (en) 2024-09-25

Similar Documents

Publication Publication Date Title
JP7620687B2 (ja) 公開鍵結合検証を含む、コンピュータにより実施されるシステム及び方法
JP7572468B2 (ja) ブロックチェーン上に検証鍵を記録するためのシステム
KR102936938B1 (ko) 디지털 리소스에 대한 액세스를 전송하기 위한 컴퓨터 구현된 시스템 및 방법
CN113711562B (zh) 用于区块链交易中的知识证明的计算机实现的方法和系统
HK40109803A (en) Computer-implemented system and method including public key combination verification
HK40027158B (en) System for recording verification keys on a blockchain
HK40027158A (en) System for recording verification keys on a blockchain

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231107

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

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20241211

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250110

R150 Certificate of patent or registration of utility model

Ref document number: 7620687

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150