Nothing Special   »   [go: up one dir, main page]

JP7539170B2 - ゼロ知識証明を利用したブロックチェーンネットワークのオラクルサービスを提供する方法及びそれを利用したアグリゲータ端末 - Google Patents

ゼロ知識証明を利用したブロックチェーンネットワークのオラクルサービスを提供する方法及びそれを利用したアグリゲータ端末 Download PDF

Info

Publication number
JP7539170B2
JP7539170B2 JP2022178905A JP2022178905A JP7539170B2 JP 7539170 B2 JP7539170 B2 JP 7539170B2 JP 2022178905 A JP2022178905 A JP 2022178905A JP 2022178905 A JP2022178905 A JP 2022178905A JP 7539170 B2 JP7539170 B2 JP 7539170B2
Authority
JP
Japan
Prior art keywords
data
key
feeder
zero
specific
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
JP2022178905A
Other languages
English (en)
Other versions
JP2024057554A (ja
Inventor
李勝禾
李廷赫
魚浚善
Original Assignee
シーピーラブス インコーポレイテッド
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 シーピーラブス インコーポレイテッド filed Critical シーピーラブス インコーポレイテッド
Publication of JP2024057554A publication Critical patent/JP2024057554A/ja
Application granted granted Critical
Publication of JP7539170B2 publication Critical patent/JP7539170B2/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/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]
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/3218Cryptographic 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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • 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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Description

本発明は、ゼロ知識証明を利用したブロックチェーンネットワークのオラクルサービスを提供する方法及びそれを利用したアグリゲータ端末(METHOD FOR PROVIDING ORACLE SERVICE OF BLOCKCHAIN NETWORK BY USING ZERO-KNOWLEDGE PROOF AND AGGREGATOR TERMINAL USING THE SAME)に関し、より詳細には、オフチェーンデータを公開することなく、オンチェーンデータがオフチェーンデータから生成されたことを証明することができるようにし、オンチェーンデータの信頼性を向上させることができるようにしたゼロ知識証明を利用したブロックチェーンネットワークのオラクルサービスを提供する方法及びそれを利用したアグリゲータ端末に関する。
ブロックチェーンネットワークの分野において、オラクル(oracle)とは、ブロックチェーンネットワークの外にあるデータをブロックチェーンネットワークの中に持ち込むか、ブロックチェーンネットワークの内部のデータを外部に送ることを指し、孤立したブロックチェーンの生態系を外部と連結する役割をする。この際、ブロックチェーンネットワークの外にあるデータをオフチェーンデータといい、オフチェーンデータがブロックチェーンネットワークの中に入ってきたものをオンチェーンデータという。
ブロックチェーンネットワークは、データを含むブロックをチェーンで連結してブロックチェーンを生成する、データの偽変造がほとんど不可能な分散元帳技術であるが、データがブロックチェーンネットワークの中に入ってきてこそブロックチェーンとして管理することができる。データがブロックチェーンネットワークの中に入ってこないか、あるいはブロックチェーンネットワークの中に入ってくる過程で偽変造が発生すると、例えそのデータがブロックチェーンとして管理されるとしても信頼し難い。
現実世界にあるデータがブロックチェーンネットワークの中に入ってくる過程は思うほど容易ではない。オフチェーンデータがオンチェーンデータに変わるためには、オフチェーンデータをブロックチェーンネットワークの中に入れてくれる中間者が必要である。オラクルの問題は、このような中間者をいかにして信頼できるかという問題である。
このようなオラクルの問題を解決するために様々な方法が導入されており、 仮想通貨の所有者の投票(voting)を通じて決定するか、様々なデータの中央値(median)を選択するか、現実世界とブロックチェーンとの間で信頼できるデータを提供する中間者(middleware)をおく方法など、ブロックチェーンオラクルの問題を解決するための様々な方案が提示されている。
現在、オラクルサービスを提供する中間者の例として、オラクライズ(Oraclize)、チェーンリンク(Chainlink)、アイキャッシュ(iCash)などがある。
一例として、チェーンリンクは中央集権型取引所のトークンの価格をブロックチェーンネットワークのスマートコントラクトに格納して提供することによって、他のブロックチェーンネットワークサービスにおいてトークンの価格を使用することができるようにオラクルサービスを提供し、多くのDeFiサービスの提供者が登録されたトークンの価格を利用して様々なサービスを提供することができるようにしているなどのように、現在オラクルサービスを提供する企業はオフチェーンデータをブロックチェーンネットワークのスマートコントラクトに格納してオンチェーンデータとして提供することによって、オンチェーンデータに対する信頼性を提供している。
しかし、このような従来のオラクルサービスでは、オラクルサービスを提供する業者が指定したデータフィーダ(feeder)からオフチェーンデータの提供を受け、これに対するオンチェーンデータを公開することで信頼性を提供するが、公開されたオンチェーンデータが実際のデータフィーダから提供されたデータなのか否か、最終的に加工されたオンチェーンデータがデータフィーダから受けた実際のオフチェーンデータを使用したか否か対する信頼性を担保することはできない。
最終的に加工されたオンチェーンデータがデータフィーダから受けた実際のオフチェーンデータを使用したか否か対する信頼性を担保にするためには、データフィーダから受けたオフチェーンデータ自体を公開すればいいが、オフチェーンデータが公開される場合にはオフチェーンデータを予め利用したフロントランニング(front running)攻撃が可能であるため、オラクルサービス自体に対する信頼性を担保できなくなるという問題点がある。
従って、本出願人はフィーダから提供されたオフチェーンデータを保護しながら、オラクルサービスを提供するオンチェーンデータがオフチェーンデータを使用して生成されたことを信頼できるように方案を提案する。
本発明は、上述した問題点をすべて解決することをその目的とする。
また、本発明は、フィーダから提供されたオフチェーンデータを保護し、オフチェーンデータの信頼性を担保にすることができるようにすることを他の目的とする。
また、本発明は、オフチェーンデータを利用して生成したオンチェーンデータの信頼性を担保にすることができるようにすることを他の目的とする。
また、本発明は、オフチェーンデータを保護し、オンチェーンデータがオフチェーンデータから生成されたことを信頼できるようにすることを他の目的とする。
本発明の一実施例によると、ゼロ知識証明を利用したブロックチェーンネットワークのオラクルサービスを提供する方法において、(a)複数のフィーダ端末のそれぞれがコミットメントキーとそれぞれのオフチェーンデータとを利用して生成したそれぞれのコミットメント、公開キーを利用してそれぞれの前記オフチェーンデータを暗号化したそれぞれの暗号化データ、及び、それぞれのフィーダゼロ知識証明キーを利用して前記コミットメントとそれぞれの前記暗号化データとに対応するそれぞれの前記オフチェーンデータが同一であることを証明したそれぞれのデータ証明値を含むそれぞれのデータフィーダトランザクションを前記ブロックチェーンネットワークに登録すると、アグリゲータ端末が、予め設定された周期に応じて特定の周期の間、前記ブロックチェーンネットワークに登録された第1データフィーダトランザクション乃至第k(前記kは1以上の整数である)データフィーダトランザクションを獲得する段階;及び(b)前記アグリゲータ端末が、(i)前記第1データフィーダトランザクション乃至前記第kデータフィーダトランザクションのそれぞれにおいて、第i(前記iは1以上でありk以下である整数である)フィーダゼロ知識証明キーを利用して第iデータ証明値を検証し、前記公開キーに対応する秘密キーを利用して第i暗号化データを復号化することで第i復号化データを生成することによって第1復号化データ乃至第k復号化データを獲得することで、(ii)予め設定された演算器を通じて前記第1復号化データ乃至前記第k復号化データを演算することでオンチェーンデータを生成し、アグリゲータゼロ知識証明キーを利用して前記オンチェーンデータが前記予め設定された演算器により前記第1復号化データ乃至前記第k復号化データを演算することで生成されたことを証明した演算証明値を生成し、(iii)前記オンチェーンデータと前記演算証明値とを前記ブロックチェーンネットワークに登録する段階;を含む方法。
(a0)前記アグリゲータ端末が、トラストサードパーティにより発行された前記コミットメントキー、前記公開キー、及び前記アグリゲータゼロ知識証明キーを前記ブロックチェーンネットワークに登録する段階;をさらに含む。
前記(a)段階で、前記複数のフィーダ端末のうちいずれか一つである特定のフィーダ端末は前記ブロックチェーンネットワークから前記コミットメントキーと前記公開キーとを獲得することで特定のオフチェーンデータに対する特定のコミットメントと特定の暗号化データとを生成し、前記トラストサードパーティにより発行された特定のフィーダゼロ知識証明キーを利用して特定のデータ証明値を生成し、前記特定のコミットメント、前記特定の暗号化データ、及び、前記特定のデータ証明値を含む特定のデータフィーダトランザクションを前記ブロックチェーンネットワークに登録する。
前記特定のフィーダゼロ知識証明キーは、前記特定のフィーダ端末が前記ブロックチェーンネットワークから獲得した前記公開キーを利用して前記トラストサードパーティに発行を要請することによって前記トラストサードパーティが前記コミットメントキーと前記公開キーとを利用して生成したものである。
前記アグリゲータ端末は、前記トラストサードパーティに前記予め設定された演算器に対するキーの発行を要請することによって前記トラストサードパーティをもって、第1キー生成モジュールに第1保安パラメータを入力することで前記コミットメントキーを生成させ、第2キー生成モジュールに第2保安パラメータを入力することで前記秘密キーと前記公開キーとを生成させ、第3キー生成モジュールに前記コミットメントキーと前記予め設定された演算器とを入力することで前記アグリゲータゼロ知識証明キーを生成させた後、前記コミットメントキー、前記秘密キー、前記公開キー、及び前記アグリゲータゼロ知識証明キーを前記アグリゲータ端末に伝送させる。
前記(b)段階で、前記アグリゲータ端末は、第iデータフィーダトランザクションを登録した第iフィーダ端末が前記ブロックチェーンネットワークに登録した第iフィーダゼロ知識証明キーを前記ブロックチェーンネットワークから獲得することで前記第iデータ証明値を検証する。
また、本発明の他の実施例によると、ゼロ知識証明を利用したブロックチェーンネットワークのオラクルサービスを提供するアグリゲータ端末において、ゼロ知識証明を利用したブロックチェーンネットワークのオラクルサービスを提供するためのインストラクションが格納されたメモリ;及び前記メモリに格納された前記インストラクションによってゼロ知識証明を利用したブロックチェーンネットワークのオラクルサービスを提供するための動作を遂行するプロセッサ;を含み、前記プロセッサは、(I)複数のフィーダ端末のそれぞれがコミットメントキーとそれぞれのオフチェーンデータとを利用して生成したそれぞれのコミットメント、公開キーを利用してそれぞれの前記オフチェーンデータを暗号化したそれぞれの暗号化データ、及び、それぞれのフィーダゼロ知識証明キーを利用して前記コミットメントとそれぞれの前記暗号化データとに対応するそれぞれの前記オフチェーンデータが同一であることを証明したそれぞれのデータ証明値を含むそれぞれのデータフィーダトランザクションを前記ブロックチェーンネットワークに登録すると、予め設定された周期に応じて特定の周期の間、前記ブロックチェーンネットワークに登録された第1データフィーダトランザクション乃至第k(前記kは1以上の整数である)データフィーダトランザクションを獲得するプロセス、及び(II)(i)前記第1データフィーダトランザクション乃至前記第kデータフィーダトランザクションのそれぞれにおいて、第i(前記iは1以上でありk以下である整数である)フィーダゼロ知識証明キーを利用して第iデータ証明値を検証し、前記公開キーに対応する秘密キーを利用して第i暗号化データを復号化することで第i復号化データを生成することによって第1復号化データ乃至第k復号化データを獲得することで、(ii)予め設定された演算器を通じて前記第1復号化データ乃至前記第k復号化データを演算することでオンチェーンデータを生成し、アグリゲータゼロ知識証明キーを利用して前記オンチェーンデータが前記予め設定された演算器により前記第1復号化データ乃至前記第k復号化データを演算することで生成されたことを証明した演算証明値を生成し、(iii)前記オンチェーンデータと前記演算証明値とを前記ブロックチェーンネットワークに登録するプロセスを遂行するアグリゲータ端末。
前記プロセッサは、前記(I)プロセスの以前に、トラストサードパーティにより発行された前記コミットメントキー、前記公開キー、及び前記アグリゲータゼロ知識証明キーを前記ブロックチェーンネットワークに登録するプロセスをより遂行するアグリゲータ。
前記プロセッサは、前記(I)プロセスで、前記複数のフィーダ端末のうちいずれか一つである特定のフィーダ端末は前記ブロックチェーンネットワークから前記コミットメントキーと前記公開キーとを獲得することで特定のオフチェーンデータに対する特定のコミットメントと特定の暗号化データとを生成し、前記トラストサードパーティにより発行された特定のフィーダゼロ知識証明キーを利用して特定のデータ証明値を生成し、前記特定のコミットメント、前記特定の暗号化データ、及び、前記特定のデータ証明値を含む特定のデータフィーダトランザクションを前記ブロックチェーンネットワークに登録させる。
前記特定のフィーダゼロ知識証明キーは、前記特定のフィーダ端末が前記ブロックチェーンネットワークから獲得した前記公開キーを利用して前記トラストサードパーティに発行を要請することによって前記トラストサードパーティが前記コミットメントキーと前記公開キーとを利用して生成したものである。
前記プロセッサは、前記トラストサードパーティに前記予め設定された演算器に対するキーの発行を要請することによって前記トラストサードパーティをもって、第1キー生成モジュールに第1保安パラメータを入力することで前記コミットメントキーを生成させ、第2キー生成モジュールに第2保安パラメータを入力することで前記秘密キーと前記公開キーとを生成させ、第3キー生成モジュールに前記コミットメントキーと前記予め設定された演算器とを入力することで前記アグリゲータゼロ知識証明キーを生成させた後、前記コミットメントキー、前記秘密キー、前記公開キー、及び前記アグリゲータゼロ知識証明キーを前記アグリゲータ端末に伝送させる。
前記プロセッサは、前記(II)プロセスで、第iデータフィーダトランザクションを登録した第iフィーダ端末が前記ブロックチェーンネットワークに登録した第iフィーダゼロ知識証明キーを前記ブロックチェーンネットワークから獲得することで前記第iデータ証明値を検証する。
本発明によると、次のような効果がある。
本発明は、フィーダから提供されたオフチェーンデータを保護し、オフチェーンデータの信頼性を担保することができるようになる。
また、本発明は、オフチェーンデータを利用して生成したオンチェーンデータの信頼性を担保することができるようになる。
また、本発明は、オフチェーンデータを保護し、オンチェーンデータがオフチェーンデータから生成されたことを信頼できるようになる。
本発明の一実施例において、ゼロ知識証明を利用したブロックチェーンネットワークのオラクルサービスを提供するシステムを簡略に示した図面である。 本発明の一実施例において、ゼロ知識証明を利用したブロックチェーンネットワークのオラクルサービスを提供する方法でキーの生成及び登録する過程を簡略に示した図面である。 本発明の一実施例において、ゼロ知識証明を利用したブロックチェーンネットワークのオラクルサービスを提供する方法でフィーダ端末がオフチェーンデータをブロックチェーンネットワークに登録する過程を簡略に示した図面である。 本発明の一実施例において、ゼロ知識証明を利用したブロックチェーンネットワークのオラクルサービスを提供する方法でアグリゲータ端末がフィーダ端末により提供されたオフチェーンデータをオンチェーンデータとして提供する過程を簡略に示した図面である。
後述する本発明に対する詳細な説明は、本発明が実施され得る特定の実施例を例示として示す添付図面を参照する。これらの実施例は、当業者が本発明を実施することができるように十分詳細に説明される。本発明の多様な実施例は互いに異なるが、相互に排他的である必要はないことが理解されるべきである。例えば、ここに記載されている特定の形状、構造及び特性は、一実施例に関連して本発明の精神及び範囲を逸脱せず、かつ他の実施例で具現され得る。また、それぞれの開示された実施例内の個別の構成要素の位置又は配置は、本発明の精神及び範囲を逸脱せず、かつ変更され得ることが理解されるべきである。したがって、後述の詳細な説明は、限定的な意味として受け取ろうとするものではなく、本発明の範囲は適切に説明されるのであれば、その請求項が主張することと均等な全ての範囲とともに添付された請求項によってのみ限定される。図面において類似の参照符号は、様々な側面にわたって同一であるか、類似する機能を指す。
以下、本発明の属する技術分野において通常の知識を有する者が本発明を容易に実施し得るようにするために、本発明の好ましい実施例について、添付された図面を参照して詳細に説明することにする。
図1は本発明の一実施例において、ゼロ知識証明を利用したブロックチェーンネットワークのオラクルサービスを提供するシステムを簡略に示した図面であり、図1を参照すると、システム1000は複数のフィーダ端末100_1、100_2、…、100_n、アグリゲータ端末200、トラストサードパーティ(trusted third party)300、及び、ブロックチェーンネットワーク400を含むことができる。
まず、複数のフィーダ端末100_1、100_2、…、100_nのそれぞれは、オフチェーンデータに対するコミットメントと暗号化データとを生成し、ゼロ知識証明のためのデータ証明値を生成し、コミットメント、暗号化データ、及びデータ証明値をブロックチェーンネットワーク400に登録する主体であって、IoT装置、データベース、PC、モバイルコンピュータ、PDA/EDA、携帯電話、スマートフォン、タブレット、情報提供サーバ、資料収集ボット(bot)、人工知能など現実世界で生成される様々な情報またはこれらを利用した分析/統計資料などを提供するすべての装置を含むことができる。この際、オフチェーンデータは投票情報、価格情報、決済情報、物流情報、ニュースなどの各種情報を分析した分析情報、統計情報、センシング情報など現実世界で生成されるか、これらを利用して生成されたすべての情報を含むことができる。また、複数のフィーダ端末100_1、100_2、…、100_nのそれぞれは、ゼロ知識証明を利用したブロックチェーンネットワークのオラクルサービスを提供するためのインストラクションが格納されたメモリと、メモリに格納されたインストラクションによってゼロ知識証明を利用したブロックチェーンネットワークのオラクルサービスを提供するための動作を遂行するプロセッサとを含むことができる。
具体的に、複数のフィーダ端末100_1、100_2、…、100_nのそれぞれは、 典型的にコンピューティング装置(例えば、コンピュータプロセッサ、メモリ、ストレージ、入力装置及び出力装置、その他既存のコンピューティング装置の構成要素を含むことができる装置;ルータ、スイッチなどのような電子通信装置;ネットワーク接続ストレージ(NAS)及びストレージ領域ネットワーク(SAN)のような電子情報ストレージシステム)及びコンピュータソフトウェア(即ち、コンピューティング装置をもって特定の方式で機能させる各インストラクション)の組合せを利用して所望のシステム性能を達成するものであり得る。
このようなコンピューティング装置の通信部は、連動される他のコンピューティング装置と要請及び応答を送受信することができ、一例としてそのような要請及び応答は同一のTCPセッションによって行われ得るが、これに限定されるわけではなく、例えばUDPデータグラムとしても送受信され得る。
また、コンピューティング装置のプロセッサはMPU(Micro Processing Unit)またはCPU(Central Processing Unit)、キャッシュメモリ(Cache Memory)、データバス(Data Bus)などのハードウェア構成を含むことができる。また、コンピューティング装置はオペレーティングシステム、特定の目的を遂行するアプリケーションのソフトウェア構成をさらに含むことができる。
次に、アグリゲータ端末200は複数のフィーダ端末100_1、100_2、…、100_nにより登録された暗号化データを復号化し演算することでオンチェーンデータを生成し、オンチェーンデータとゼロ知識証明のための演算証明値とをブロックチェーンネットワーク400に登録することによってオラクルサービスを提供する主体であって、サーバ、PC、モバイルコンピュータ、PDA/EDA、携帯電話、スマートフォン、タブレットなどを含むことができるが、これに限定されるわけではなく、コンピュータ演算を遂行するすべての装置を含むことができる。また、アグリゲータ端末200はゼロ知識証明を利用したブロックチェーンネットワークのオラクルサービスを提供するためのインストラクションが格納されたメモリと、メモリに格納されたインストラクションによってゼロ知識証明を利用したブロックチェーンネットワークのオラクルサービスを提供するための動作を遂行するプロセッサとを含むことができる。
具体的に、アグリゲータ端末200は、典型的にコンピューティング装置(例えば、コンピュータプロセッサ、メモリ、ストレージ、入力装置及び出力装置、その他既存のコンピューティング装置の構成要素を含むことができる装置;ルータ、スイッチなどのような電子通信装置;ネットワーク接続ストレージ(NAS)及びストレージ領域ネットワーク(SAN)のような電子情報ストレージシステム)及びコンピュータソフトウェア(即ち、コンピューティング装置をもって特定の方式で機能させる各インストラクション)の組合せを利用して所望のシステム性能を達成するものであり得る。
このようなコンピューティング装置の通信部は、連動される他のコンピューティング装置と要請及び応答を送受信することができ、一例としてそのような要請及び応答は同一のTCPセッションによって行われ得るが、これに限定されるわけではなく、例えばUDPデータグラムとしても送受信され得る。
また、コンピューティング装置のプロセッサはMPU(Micro Processing Unit)またはCPU(Central Processing Unit)、キャッシュメモリ(Cache Memory)、データバス(Data Bus)などのハードウェア構成を含むことができる。また、コンピューティング装置はオペレーティングシステム、特定の目的を遂行するアプリケーションのソフトウェア構成をさらに含むことができる。
次に、トラストサードパーティ300はゼロ知識証明を利用したブロックチェーンネットワークのオラクルサービスに利用されるキー(key)を生成する主体であって、PC、モバイルコンピュータ、PDA/EDA、携帯電話、スマートフォン、タブレット、サーバなどを含むことができるが、これに限定されるわけではなく、コンピュータ演算を遂行するすべてのコンピューティング装置を含むことができる。一方、トラストサードパーティ300はブロックチェーンネットワーク400の仮想マシーンにおいて動作するスマートコントラクトで具現されるか、アグリゲータ端末200に連動されたコンピューティング装置でも具現され得る。
次に、ブロックチェーンネットワーク400は多数のブロックチェーンノードにより具現されるものであって、データに対するブロックをチェーンで連結したブロックチェーンを分散元帳に記録するデータ分散処理を遂行する主体であり得る。
このように構成された本発明の一実施例において、ゼロ知識証明を利用したブロックチェーンネットワークのオラクルサービスを提供するシステムを通じて、ゼロ知識証明を利用したブロックチェーンネットワークのオラクルサービスを提供する方法を説明すると以下の通りである。
まず、図2を参照して、本発明の一実施例において、ゼロ知識証明を利用したブロックチェーンネットワークのオラクルサービスを提供する方法でゼロ知識証明に利用するためのキーを生成する過程を説明すると以下の通りである。
ゼロ知識証明を利用したブロックチェーンネットワークのオラクルサービスを提供するためのキーを獲得するために、アグリゲータ端末200がトラストサードパーティ300に予め設定された演算器に対するキーの発行を要請するS11ことができる。
この際、予め設定された演算器はオフチェーンデータを加工してオンチェーンデータを生成するための演算器であり、オフチェーンデータをオンチェーンデータに変換するための演算モジュールまたは演算ロジックを含むことができる。
例えば、演算器はオフチェーンデータの特性を数値で表す代表値を演算することで、オフチェーンデータの平均、中央値、最頻値、範囲、四分位数範囲、分散、標準偏差などを演算する関数であり得る。また、演算器は地域別製品の販売情報を利用して地域別製品の在庫情報を統計化する関数でもある。また、演算器はニュース、インターネットサイトなどの情報を利用して特定の結果を予測した予測情報を生成する関数でもあり得る。しかし、本発明では、演算器はこのような関数に限定されるわけではなく、現実世界の情報を加工して特定の類型の情報を生成する様々な関数を含むことができる。
すると、トラストサードパーティ300は第1キー生成モジュールに第1保安パラメータを入力することでコミットメントキーを生成させ、第2キー生成モジュールに第2保安パラメータを入力することで秘密キーと公開キーとを生成させ、第3キー生成モジュールにコミットメントキーと予め設定された演算器とを入力することでアグリゲータゼロ知識証明キーを生成するS12ことができる。この際、第1保安パラメータと第2保安パラメータとは予め設定された演算器に対するキーの生成のために生成された保安パラメータであり得、第1保安パラメータと第2保安パラメータとは互いに異なる保安パラメータであるか、同一の保安パラメータであり得る。
一例として、第1キー生成モジュールはPVC(Pedersen Vector Commitment)のキー生成アルゴリズムであり得、保安パラメータ(λ)を次のようなPVCキー生成アルゴリズムに入力することでコミットメントキーCKを出力させることができる。
PVC.Keygen(λ)→(CK)
しかし、本発明における第1キー生成モジュールはPVCに限定されるわけではなく、ゼロ知識証明のための様々なコミットメントスキーム(scheme)におけるキー生成モジュールを使用することができる。
そして、第2キー生成モジュールはElgamal encryptionのキー生成アルゴリズムであり得、保安パラメータ(λ)を次のようなElgamalキー生成アルゴリズムに入力することで公開キーPKと秘密キーSKとを出力させることができる。
Elgamal.Keygen(λ)→(PK,SK)
しかし、本発明における第2キー生成モジュールはElgamal encryptionに限定されるわけではなく、公開キーと秘密キーとの非対称キーを利用してデータを暗号化及び復号化する様々な暗号化アルゴリズムにおけるキー生成モジュールを使用することができる。
また、第3キー生成モジュールはCP-SNARK(simulation-extractable commit and prove succinct non-interactive argument of knowledge)のキー生成アルゴリズムであり得、コミットメントキーCKと演算器(R)とを次のようなCP-SNARKキー生成アルゴリズムに入力することでアグリゲータゼロ知識証明キーCRSaを出力させることができる。
CP-SNARK.Keygen(CK,R)→CRSa
しかし、本発明における第3キー生成モジュールはCP-SNARKに限定されるわけではなく、ゼロ知識証明のための証明値を生成し、これを検証することができるようにする様々なゼロ知識証明アルゴリズムにおけるキー生成モジュールを使用することができる。
そして、トラストサードパーティ300は生成されたコミットメントキー、秘密キー、公開キー、及びアグリゲータゼロ知識証明キーをアグリゲータ端末200に発行するS13ことができる。
以後、アグリゲータ端末200はトラストサードパーティ300により発行されたコミットメントキー、公開キー、及びアグリゲータゼロ知識証明キーをブロックチェーンネットワーク400に登録するS14ことができる。
この際、アグリゲータ端末200はコミットメントキー、公開キー、及びアグリゲータゼロ知識証明キーを含むトランザクションをブロックチェーンネットワーク400にブロードキャスティングするか、コミットメントキー、公開キー、及びアグリゲータゼロ知識証明キーのそれぞれを含むトランザクションをブロックチェーンネットワーク400にブロードキャスティングすることができ、それに伴って、ブロックチェーンネットワーク400を構成するブロックチェーンノードの分散合意によりブロックが生成され、分散元帳のブロックチェーンに生成されたブロックが追加されることによってコミットメントキー、公開キー、及びアグリゲータゼロ知識証明キーがブロックチェーンネットワーク400に登録され得る。
一方、複数のフィーダ端末100_1、100_2、・・・、100_nのうちいずれか一つである特定のフィーダ端末100_1はブロックチェーンネットワーク400から公開キーを獲得しS15、獲得された公開キーを利用してトラストサードパーティ300にキーの発行を要請するS16ことができる。
この際、特定のフィーダ端末100_1はオフチェーンデータを提供するように協議された状態の権限者であり得る。また、特定のフィーダ端末100_1はブロックチェーンネットワーク400から公開キーを獲得したが、これとは異なり、アグリゲータ端末200から直接的に公開キーを獲得することもできる。
すると、トラストサードパーティ300はコミットメントキーと公開キーとを利用してフィーダゼロ知識証明キーを生成しS17、特定のフィーダ端末100_1に発行するS18ことができる。
この際、トラストサードパーティ300は第3キー生成モジュールにコミットメントキーと特定のフィーダ端末100_1から受信した公開キーとを入力することで特定のフィーダゼロ知識証明キーを生成することができる。
以後、特定のフィーダ端末100_1はトラストサードパーティ300により発行された特定のフィーダゼロ知識証明キーをブロックチェーンネットワーク400に登録するS19ことができる。
この際、特定のフィーダ端末100_1は特定のフィーダゼロ知識証明キーを含むトランザクションをブロックチェーンネットワーク400にブロードキャスティングすることができ、それに伴って、ブロックチェーンネットワーク400を構成するブロックチェーンノードの分散合意によりブロックが生成され、分散元帳のブロックチェーンに生成されたブロックが追加されることによって特定のフィーダゼロ知識証明キーがブロックチェーンネットワーク400に登録され得る。
これを通じて、ブロックチェーンネットワーク400には本発明の一実施例において、ゼロ知識証明を利用したブロックチェーンネットワークのオラクルサービスを提供するのに必要なコミットメントキー、公開キー、アグリゲータゼロ知識証明キー、及び複数のフィーダ端末のそれぞれに対するそれぞれのフィーダゼロ知識証明キーが登録され得る。
次に、図3を参照して、本発明の一実施例において、ゼロ知識証明を利用したブロックチェーンネットワークのオラクルサービスを提供する方法でフィーダ端末がオフチェーンデータをブロックチェーンネットワークに登録する過程を説明すると以下の通りである。
図2を参照した説明によると、コミットメントキー、公開キー、アグリゲータゼロ知識証明キー、及びフィーダゼロ知識証明キーが登録された状態で、複数のフィーダ端末100_1、100_2、・・・、100_nのそれぞれは、コミットメントキーとそれぞれのオフチェーンデータとを利用して生成したそれぞれのコミットメント、公開キーを利用してそれぞれのオフチェーンデータを暗号化したそれぞれの暗号化データ、及びそれぞれのフィーダゼロ知識証明キーを利用してコミットメントとそれぞれの暗号化データに対応するそれぞれのオフチェーンデータとが同一であることを証明したそれぞれのデータ証明値を含むそれぞれのデータフィーダトランザクションをブロックチェーンネットワーク400に登録することができる。
これを複数のフィーダ端末100_1、100_2、・・・、100_nのうちいずれか一つである特定のフィーダ端末100_1を参照して説明すると以下の通りである。
オフチェーンデータをアグリゲータ端末として提供しようとする特定のフィーダ端末100_1はブロックチェーンネットワーク400からコミットメントキーと公開キーとを獲得するS21ことができる。
そして、特定のフィーダ端末100_1はコミットメントキーと公開キーとをそれぞれ使用して特定のオフチェーンデータに対する特定のコミットメントと特定の暗号化データとを生成するS22ことができる。
具体的に、特定のフィーダ端末100_1はコミットメント生成モジュールにコミットメントキーと特定のオフチェーンデータとを入力することで特定のコミットメントを生成させ、暗号化モジュールに公開キーと特定オープンチェーンデータとを入力することで特定の暗号化データを生成させることができる。
一例として、コミットメント生成モジュールはPVCのコミットメント生成アルゴリズムであり得、コミットメントキーCKと特定のオフチェーンデータMとを次のようなPVCコミットメント生成アルゴリズムに入力することで特定のコミットメントCMを出力させることができる。
PVC.Commit(CK,M)→(CM,O)、Oはコミットメントオープン値である
しかし、本発明におけるコミットメント生成モジュールはPVCに限定されるわけではなく、ゼロ知識証明のための様々なコミットメントスキームにおけるコミットメント生成モジュールを使用することができる。
そして、暗号化モジュールはElgamal encryptionの暗号化アルゴリズムであり得、公開キーPKと特定のオフチェーンデータMとを次のようなElgamal暗号化アルゴリズムに入力することで特定の暗号化データCTを出力させることができる。
Elgamal.Enc(PK,{M,O})→(CT,r)、rは暗号文に使用したランダム値である
しかし、本発明における暗号化モジュールはElgamal encryptionに限定されるわけではなく、公開キーと秘密キーとの非対称キーを利用してデータを暗号化及び復号化する様々な暗号化アルゴリズムにおける暗号化モジュールを使用することができる。
以後、特定のフィーダ端末100_1は特定のフィーダゼロ知識証明キーを利用して特定のデータ証明値を生成するS23ことができる。即ち、特定のフィーダ端末100_1は特定のコミットメントと特定の暗号化データに対応する特定のオフチェーンデータとが同一であることを証明した特定のデータ証明値を生成することができる。
この際、特定のフィーダ端末100_1はゼロ知識証明モジュールに特定のフィーダゼロ知識証明キー、特定のコミットメント、特定のオフチェーンデータ、及び特定の暗号化データを入力することで特定のデータ証明値を生成させることができる。
一例として、ゼロ知識証明モジュールはCP-SNARKのゼロ知識証明モジュールであり得、特定のフィーダゼロ知識証明キーCRSf、特定のコミットメントCM、特定のオフチェーンデータM、及び特定の暗号化データCTを次のようなCP-SNARKゼロ知識証明モジュールに入力することで特定のデータ証明値π1を出力させることができる。
CP-SNARK.Prove(CRSf,{CM,M,O},{CT,M,r})→π1
しかし、本発明におけるゼロ知識証明モジュールはCP-SNARKに限定されるわけではなく、ゼロ知識証明のための証明値を生成し、これを検証することができるようにする様々なゼロ知識証明アルゴリズムにおけるゼロ知識証明モジュールを使用することができる。
そして、特定のフィーダ端末100_1は特定のコミットメント、特定の暗号化データ、及び前記特定のデータ証明値を含む特定のデータフィーダトランザクションをブロックチェーンネットワーク400に登録するS24ことができる。
この際、特定のフィーダ端末100_1は特定のコミットメント、特定の暗号化データ、及び特定のデータ証明値を含むトランザクションをブロックチェーンネットワーク400にブロードキャスティングすることができ、それに伴って、ブロックチェーンネットワーク400を構成するブロックチェーンノードの分散合意によりブロックが生成され、分散元帳のブロックチェーンに生成されたブロックが追加されることによって特定のコミットメント、特定の暗号化データ、及び特定のデータ証明値がブロックチェーンネットワーク400に登録され得る。
これを通じて、フィーダ端末100_1、100_2、・・・、100_nのそれぞれは、それぞれのオフチェーンデータを公開することなく、暗号化データのそれぞれがそれぞれのオフチェーンデータから生成されたことを信頼できるようにすることができる。
次に、図4を参照して、本発明の一実施例において、ゼロ知識証明を利用したブロックチェーンネットワークのオラクルサービスを提供する方法でアグリゲータ端末がフィーダ端末が登録したオフチェーンデータをオンチェーンデータとしてブロックチェーンネットワークに登録する過程を説明すると以下の通りである。
図3の説明によると、複数のフィーダ端末100_1、100_2、・・・、100_nのそれぞれがコミットメントキーとそれぞれのオフチェーンデータとを利用して生成したそれぞれのコミットメント、公開キーを利用してそれぞれのオフチェーンデータを暗号化したそれぞれの暗号化データ、及びそれぞれのフィーダゼロ知識証明キーを利用してコミットメントとそれぞれの暗号化データに対応するそれぞれのオフチェーンデータとが同一であることを証明したそれぞれのデータ証明値を含むそれぞれのデータフィーダトランザクションをブロックチェーンネットワーク400に登録された状態で、アグリゲータ端末200は予め設定された周期に応じて特定の周期の間ブロックチェーンネットワーク400に登録された第1データフィーダトランザクション乃至第kデータフィーダトランザクションを獲得することができる。kは1以上の整数であり得る。
そして、アグリゲータ端末200は第1データフィーダトランザクション乃至第kデータフィーダトランザクションのそれぞれ、即ち、第iデータフィーダトランザクションにおいて、第iコミットメント、第i暗号化データ、及び第iデータ証明値を獲得するS31ことができる。iは1以上でありk以下である整数であり得る。
以後、アグリゲータ端末200は第iフィーダゼロ知識証明キーを利用して第iデータ証明値を検証し、公開キーに対応する秘密キーを利用して第i暗号化データを復号化することで第i復号化データを生成する過程を1以上でありk以下の整数であるiを対象に遂行することによって第1復号化データ乃至第k復号化データを獲得するS32ことができる。ただし、図4では説明の便宜上「i」とだけ言及して説明したが、これは1乃至kのそれぞれに対して説明したことと理解されるべきである。
即ち、第1データフィーダトランザクション乃至第kデータフィーダトランザクションのそれぞれに対応する第1フィーダゼロ知識証明キー乃至第kフィーダゼロ知識証明キーを第iフィーダゼロ知識証明キーと称する時、アグリゲータ端末200は第iフィーダゼロ知識証明キーをブロックチェーンネットワーク400から獲得し、ゼロ知識検証モジュールに第iフィーダゼロ知識証明キー、第i暗号化データ、第iコミットメント、及び第iデータ証明値を入力することで第iデータ証明値を検証させることができる。
一例として、ゼロ知識検証モジュールはCP-SNARKのゼロ知識検証モジュールであり得、第iフィーダゼロ知識証明キーCRSf_i、第i暗号化データCT_i、第iコミットメントCM_i、及び第iデータ証明値π1_iを次のようなCP-SNARKゼロ知識検証モジュールに入力することでデータ検証値(0/1)を出力させることができる。この際、データ検証値が1ならばデータ証明値が真実であると判断し、データ検証値が0ならばデータ証明値が嘘であると判断することができる。
CP-SNARK.Verify(CRSf_i,CT_i,CM_i,π1_i)→0/1
しかし、本発明におけるゼロ知識検証モジュールはCP-SNARKに限定されるわけではなく、ゼロ知識証明のための証明値を生成し、これを検証することができるようにする様々なゼロ知識証明アルゴリズムにおけるゼロ知識検証モジュールを使用することができる。
そして、アグリゲータ端末200は復号化モジュールに真実であると検証されたデータ証明値に対応する第i暗号化データを入力することで第i復号化データを生成させることができる。
一例として、復号化モジュールはElgamal encryptionの復号化アルゴリズムであり得、秘密キーSKと第i暗号化データCT_iとを次のようなElgamal復号化アルゴリズムに入力することで第i復号化データМ_iを出力させることができる。
Elgamal.Dec(SK,CT_i)→(М_i,O_i)
しかし、本発明における復号化モジュールはElgamal encryptionに限定されるわけではなく、公開キーと秘密キーとの非対称キーを利用してデータを暗号化及び復号化する様々な暗号化アルゴリズムにおける復号化モジュールを使用することができる。
以後、アグリゲータ端末200は予め設定された演算器を通じて第i復号化データ、即ち、第1復号化データ乃至第k復号化データを演算することでオンチェーンデータを生成するS33ことができる。
この際、アグリゲータ端末200は予め設定された演算器に第i復号化データМ_iを入力することで次のような演算アルゴリズムRにより第i復号化データМ_iを利用して予め設定された演算を遂行したオンチェーンデータOUTを出力させることができる。
R({М_i})→OUT,W、Wは演算に使用された秘密値(witness)である
そして、アグリゲータ端末200はアグリゲータゼロ知識証明キーを利用してオンチェーンデータが予め設定された演算器により第1復号化データ乃至第k復号化データを演算することで生成されたことを証明した演算証明値を生成するS34ことができる。
この際、アグリゲータ端末200はゼロ知識証明モジュールにアグリゲータゼロ知識証明キー、第iコミットメント、第i復号化データ、及びオンチェーンデータを入力することで演算証明値を生成させることができる。
一例として、ゼロ知識証明モジュールはCP-SNARKのゼロ知識証明モジュールであり得、アグリゲータゼロ知識証明キーCRSa、第iコミットメントCM_i、第i復号化データМ_i、及びオンチェーンデータOUTを次のようなCP-SNARKゼロ知識証明モジュールに入力することで演算証明値π2を出力させることができる。
CP-SNARK.Prove(CRSa,{CM_i,M_i,O_i}、OUT:W)→π2
しかし、本発明におけるゼロ知識証明モジュールはCP-SNARKに限定されるわけではなく、ゼロ知識証明のための証明値を生成し、これを検証することができるようにする様々なゼロ知識証明アルゴリズムにおけるゼロ知識証明モジュールを使用することができる。
そして、アグリゲータ端末200はオンチェーンデータと演算証明値とをブロックチェーンネットワーク400に登録するS35ことができる。
この際、アグリゲータ端末200はオンチェーンデータと演算証明値とを含むトランザクションをブロックチェーンネットワーク400にブロードキャスティングすることができ、それに伴って、ブロックチェーンネットワーク400を構成するブロックチェーンノードの分散合意によりブロックが生成され、分散元帳のブロックチェーンに生成されたブロックが追加されることによってオンチェーンデータと演算証明値がブロックチェーンネットワーク400に登録され得る。
これを通じて、アグリゲータ端末200はオフチェーンデータを公開しなくてもオンチェーンデータがオフチェーンデータから生成されたことを信頼できるようにすることができる。
このような方法によりブロックチェーンネットワーク400に登録されたオンチェーンデータは使用者が信頼して使用することができ、必要に応じて、オンチェーンデータがオフチェーンデータから生成されたことを確認するために演算証明値を検証し、オンチェーンデータを生成するために使用された暗号化データがオフチェーンデータに対応するか否かを確認するためにデータ証明値を検証することができる。
この際、使用者はデータ証明値とデータ証明値とを検証するために、ブロックチェーンネットワーク400からアグリゲータゼロ知識証明キーCRSa、第iフィーダゼロ知識証明キーCRSf_i、第i暗号化データCT_i、第iコミットメントCM_i、第iデータ証明値π1_i、オンチェーンデータOUT、及び演算証明値π2を獲得することができる。
そして、使用者はゼロ知識検証モジュールに第iフィーダゼロ知識証明キーCRSf_i、第i暗号化データCT_i、第iコミットメントCM_i、及び第iデータ証明値π1_iを入力することで第iデータ証明値を検証させることができる。
一例として、ゼロ知識検証モジュールはCP-SNARKのゼロ知識検証モジュールであり得、第iフィーダゼロ知識証明キーCRSf_i、第i暗号化データCT_i、第iコミットメントCM_i、及び第iデータ証明値π1_iを次のようなCP-SNARKゼロ知識検証モジュールに入力することでデータ検証値(0/1)を出力させることができる。この際、データ検証値が1ならばデータ証明値が真実であると判断し、データ検証値が0ならばデータ証明値が嘘であると判断することができる。
CP-SNARK.Verify(CRSf_i,CT_i,CM_i,π1_i)→0/1
しかし、本発明におけるゼロ知識検証モジュールはCP-SNARKに限定されるわけではなく、ゼロ知識証明のための証明値を生成し、これを検証することができるようにする様々なゼロ知識証明アルゴリズムにおけるゼロ知識検証モジュールを使用することができる。
また、使用者はゼロ知識検証モジュールにアグリゲータゼロ知識証明キー、オンチェーンデータ、第iコミットメント、及び演算証明値を入力することで演算証明値を検証させることができる。
一例として、ゼロ知識検証モジュールはCP-SNARKのゼロ知識検証モジュールであり得、アグリゲータゼロ知識証明キーCRSa、オンチェーンデータOUT、第iコミットメントCM_i、及び演算証明値π2を次のようなCP-SNARKゼロ知識検証モジュールに入力することでデータ検証値(0/1)を出力させることができる。この際、データ検証値が1ならばデータ証明値が真実であると判断し、データ検証値が0ならばデータ証明値が嘘であると判断することができる。
CP-SNARK.Verify(CRSa,OUT,{CM_i},π2)→0/1
しかし、本発明におけるゼロ知識検証モジュールはCP-SNARKに限定されるわけではなく、ゼロ知識証明のための証明値を生成し、これを検証することができるようにする様々なゼロ知識証明アルゴリズムにおけるゼロ知識検証モジュールを使用することができる。
また、以上にて説明された本発明による実施例は、多様なコンピュータの構成要素を通じて遂行することができるプログラム命令語の形態で具現されて、コンピュータ読取り可能な記録媒体に格納され得る。前記コンピュータ読取り可能な記録媒体はプログラム命令語、データファイル、データ構造などを単独で又は組み合わせて含むことができる。前記コンピュータ読取り可能な記録媒体に格納されるプログラム命令語は、本発明のために特別に設計され、構成されたものであるか、コンピュータソフトウェア分野の当業者に公知にされて使用可能なものであり得る。コンピュータ読取り可能な記録媒体の例には、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD-ROM、DVDのような光記録媒体、フロプティカル・ディスク(Floptical Disk)のような磁気-光メディア(Magneto-Optical Media)、及びROM、RAM、フラッシュメモリなどのようなプログラム命令語を格納して遂行するように特別に構成されたハードウェア装置が含まれる。プログラム命令語の例には、コンパイラによって作られるもののような機械語コードだけでなく、インタープリターなどを使用してコンピュータによって実行される高級言語コードも含まれる。前記ハードウェア装置は、本発明による処理を実行するために一つ以上のソフトウェアモジュールとして作動するように構成され得、その反対も同様である。
以上にて本発明が具体的な構成要素などのような特定事項と限定された実施例及び図面によって説明されたが、これは本発明のより全般的な理解の一助とするために提供されたものであるに過ぎず、本発明が前記実施例に限られるものではなく、本発明が属する技術分野において通常の知識を有する者であれば、かかる記載から多様な修正及び変形が行われ得る。
従って、本発明の思想は、前記説明された実施例に局限されて定められてはならず、後述する特許請求の範囲だけでなく、本特許請求の範囲と均等または等価的に変形されたものすべては、本発明の思想の範囲に属するといえる。
100_n:フィーダ端末、
200:アグリゲータ端末、
300:トラストサードパーティ、
400:ブロックチェーンネットワーク

Claims (12)

  1. ゼロ知識証明を利用したブロックチェーンネットワークのオラクルサービスを提供する方法において、
    (a)複数のフィーダ端末のそれぞれがコミットメントキーとそれぞれのオフチェーンデータとを利用して生成したそれぞれのコミットメント、公開キーを利用してそれぞれの前記オフチェーンデータを暗号化したそれぞれの暗号化データ、及び、それぞれのフィーダゼロ知識証明キーを利用して前記コミットメントとそれぞれの前記暗号化データとに対応するそれぞれの前記オフチェーンデータが同一であることを証明したそれぞれのデータ証明値を含むそれぞれのデータフィーダトランザクションを前記ブロックチェーンネットワークに登録すると、アグリゲータ端末が、予め設定された周期に応じて特定の周期の間、前記ブロックチェーンネットワークに登録された第1データフィーダトランザクション乃至第k(前記kは1以上の整数である)データフィーダトランザクションを獲得する段階;及び
    (b)前記アグリゲータ端末が、(i)前記第1データフィーダトランザクション乃至前記第kデータフィーダトランザクションのそれぞれにおいて、第i(前記iは1以上でありk以下である整数である)フィーダゼロ知識証明キーを利用して第iデータ証明値を検証し、前記公開キーに対応する秘密キーを利用して第i暗号化データを復号化することで第i復号化データを生成することによって第1復号化データ乃至第k復号化データを獲得することで、(ii)予め設定された演算器を通じて前記第1復号化データ乃至前記第k復号化データを演算することでオンチェーンデータを生成し、アグリゲータゼロ知識証明キーを利用して前記オンチェーンデータが前記予め設定された演算器により前記第1復号化データ乃至前記第k復号化データを演算することで生成されたことを証明した演算証明値を生成し、(iii)前記オンチェーンデータと前記演算証明値とを前記ブロックチェーンネットワークに登録する段階;
    を含む方法。
  2. (a0)前記アグリゲータ端末が、トラストサードパーティにより発行された前記コミットメントキー、前記公開キー、及び前記アグリゲータゼロ知識証明キーを前記ブロックチェーンネットワークに登録する段階;
    をさらに含む、請求項1に記載の方法。
  3. 前記(a)段階で、前記複数のフィーダ端末のうちいずれか一つである特定のフィーダ端末は前記ブロックチェーンネットワークから前記コミットメントキーと前記公開キーとを獲得することで特定のオフチェーンデータに対する特定のコミットメントと特定の暗号化データとを生成し、前記トラストサードパーティにより発行された特定のフィーダゼロ知識証明キーを利用して特定のデータ証明値を生成し、前記特定のコミットメント、前記特定の暗号化データ、及び、前記特定のデータ証明値を含む特定のデータフィーダトランザクションを前記ブロックチェーンネットワークに登録する、請求項2に記載の方法。
  4. 前記特定のフィーダゼロ知識証明キーは、前記特定のフィーダ端末が前記ブロックチェーンネットワークから獲得した前記公開キーを利用して前記トラストサードパーティに発行を要請することによって前記トラストサードパーティが前記コミットメントキーと前記公開キーとを利用して生成したものである、請求項3に記載の方法。
  5. 前記アグリゲータ端末は、前記トラストサードパーティに前記予め設定された演算器に対するキーの発行を要請することによって前記トラストサードパーティ、第1キー生成モジュールに第1保安パラメータを入力することで前記コミットメントキーを生成させ、第2キー生成モジュールに第2保安パラメータを入力することで前記秘密キーと前記公開キーとを生成させ、第3キー生成モジュールに前記コミットメントキーと前記予め設定された演算器とを入力することで前記アグリゲータゼロ知識証明キーを生成させた後、前記コミットメントキー、前記秘密キー、前記公開キー、及び前記アグリゲータゼロ知識証明キーを前記アグリゲータ端末に伝送させる、請求項2に記載の方法。
  6. 前記(b)段階で、
    前記アグリゲータ端末は、第iデータフィーダトランザクションを登録した第iフィーダ端末が前記ブロックチェーンネットワークに登録した第iフィーダゼロ知識証明キーを前記ブロックチェーンネットワークから獲得することで前記第iデータ証明値を検証する、請求項1に記載の方法。
  7. ゼロ知識証明を利用したブロックチェーンネットワークのオラクルサービスを提供するアグリゲータ端末において、
    ゼロ知識証明を利用したブロックチェーンネットワークのオラクルサービスを提供するためのインストラクションが格納されたメモリ;及び
    前記メモリに格納された前記インストラクションによってゼロ知識証明を利用したブロックチェーンネットワークのオラクルサービスを提供するための動作を遂行するプロセッサ;
    を含み、
    前記プロセッサは、(I)複数のフィーダ端末のそれぞれがコミットメントキーとそれぞれのオフチェーンデータとを利用して生成したそれぞれのコミットメント、公開キーを利用してそれぞれの前記オフチェーンデータを暗号化したそれぞれの暗号化データ、及び、それぞれのフィーダゼロ知識証明キーを利用して前記コミットメントとそれぞれの前記暗号化データとに対応するそれぞれの前記オフチェーンデータが同一であることを証明したそれぞれのデータ証明値を含むそれぞれのデータフィーダトランザクションを前記ブロックチェーンネットワークに登録すると、予め設定された周期に応じて特定の周期の間、前記ブロックチェーンネットワークに登録された第1データフィーダトランザクション乃至第k(前記kは1以上の整数である)データフィーダトランザクションを獲得するプロセス、及び(II)(i)前記第1データフィーダトランザクション乃至前記第kデータフィーダトランザクションのそれぞれにおいて、第i(前記iは1以上でありk以下である整数である)フィーダゼロ知識証明キーを利用して第iデータ証明値を検証し、前記公開キーに対応する秘密キーを利用して第i暗号化データを復号化することで第i復号化データを生成することによって第1復号化データ乃至第k復号化データを獲得することで、(ii)予め設定された演算器を通じて前記第1復号化データ乃至前記第k復号化データを演算することでオンチェーンデータを生成し、アグリゲータゼロ知識証明キーを利用して前記オンチェーンデータが前記予め設定された演算器により前記第1復号化データ乃至前記第k復号化データを演算することで生成されたことを証明した演算証明値を生成し、(iii)前記オンチェーンデータと前記演算証明値とを前記ブロックチェーンネットワークに登録するプロセスを遂行するアグリゲータ端末。
  8. 前記プロセッサは、前記(I)プロセスの以前に、トラストサードパーティにより発行された前記コミットメントキー、前記公開キー、及び前記アグリゲータゼロ知識証明キーを前記ブロックチェーンネットワークに登録するプロセスをより遂行するアグリゲータ、請求項7に記載の端末。
  9. 前記プロセッサは、前記(I)プロセスで、前記複数のフィーダ端末のうちいずれか一つである特定のフィーダ端末は前記ブロックチェーンネットワークから前記コミットメントキーと前記公開キーとを獲得することで特定のオフチェーンデータに対する特定のコミットメントと特定の暗号化データとを生成し、前記トラストサードパーティにより発行された特定のフィーダゼロ知識証明キーを利用して特定のデータ証明値を生成し、前記特定のコミットメント、前記特定の暗号化データ、及び、前記特定のデータ証明値を含む特定のデータフィーダトランザクションを前記ブロックチェーンネットワークに登録させる、請求項8に記載のアグリゲータ端末。
  10. 前記特定のフィーダゼロ知識証明キーは、前記特定のフィーダ端末が前記ブロックチェーンネットワークから獲得した前記公開キーを利用して前記トラストサードパーティに発行を要請することによって前記トラストサードパーティが前記コミットメントキーと前記公開キーとを利用して生成したものである、請求項9に記載のアグリゲータ端末。
  11. 前記プロセッサは、前記トラストサードパーティに前記予め設定された演算器に対するキーの発行を要請することによって前記トラストサードパーティ、第1キー生成モジュールに第1保安パラメータを入力することで前記コミットメントキーを生成させ、第2キー生成モジュールに第2保安パラメータを入力することで前記秘密キーと前記公開キーとを生成させ、第3キー生成モジュールに前記コミットメントキーと前記予め設定された演算器とを入力することで前記アグリゲータゼロ知識証明キーを生成させた後、前記コミットメントキー、前記秘密キー、前記公開キー、及び前記アグリゲータゼロ知識証明キーを前記アグリゲータ端末に伝送させる、請求項8に記載のアグリゲータ端末。
  12. 前記プロセッサは、前記(II)プロセスで、第iデータフィーダトランザクションを登録した第iフィーダ端末が前記ブロックチェーンネットワークに登録した第iフィーダゼロ知識証明キーを前記ブロックチェーンネットワークから獲得することで前記第iデータ証明値を検証する、請求項7に記載のアグリゲータ端末。
JP2022178905A 2022-10-12 2022-11-08 ゼロ知識証明を利用したブロックチェーンネットワークのオラクルサービスを提供する方法及びそれを利用したアグリゲータ端末 Active JP7539170B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2022-0130237 2022-10-12
KR1020220130237A KR102636987B1 (ko) 2022-10-12 2022-10-12 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하는 방법 및 이를 이용한 어그리게이터 단말

Publications (2)

Publication Number Publication Date
JP2024057554A JP2024057554A (ja) 2024-04-24
JP7539170B2 true JP7539170B2 (ja) 2024-08-23

Family

ID=84361797

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022178905A Active JP7539170B2 (ja) 2022-10-12 2022-11-08 ゼロ知識証明を利用したブロックチェーンネットワークのオラクルサービスを提供する方法及びそれを利用したアグリゲータ端末

Country Status (4)

Country Link
US (1) US20240129113A1 (ja)
EP (1) EP4354794A1 (ja)
JP (1) JP7539170B2 (ja)
KR (2) KR102636987B1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024102357A1 (en) * 2022-11-08 2024-05-16 Unity Chain, Inc. Distributed oracle agreement system and method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200082399A1 (en) 2018-09-12 2020-03-12 International Business Machines Corporation Ensuring information fairness and input privacy using a blockchain in a competitive scenario governed by a smart contract
JP2020517169A (ja) 2017-04-18 2020-06-11 エヌチェーン ホールディングス リミテッドNchain Holdings Limited 安全なブロックチェーンベースのコンセンサス

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10303887B2 (en) * 2015-09-14 2019-05-28 T0.Com, Inc. Data verification methods and systems using a hash tree, such as a time-centric merkle hash tree
US20210089676A1 (en) * 2018-02-16 2021-03-25 Ecole Polytechnique Fédérale De Lausanne Epfl-Tto Methods and systems for secure data exchange
US20190356493A1 (en) * 2018-05-21 2019-11-21 Integra, Inc. Blockchain-anchored smart documents
US11146399B2 (en) * 2018-10-19 2021-10-12 Eygs Llp Methods and systems for retrieving zero-knowledge proof-cloaked data on distributed ledger-based networks
US11151558B2 (en) * 2018-12-12 2021-10-19 American Express Travel Related Services Company, Inc Zero-knowledge proof payments using blockchain
KR102361227B1 (ko) * 2019-04-11 2022-02-09 황성재 인스턴트 메세지의 자연어 인식을 통한 스마트 계약 장치 및 그 방법
KR102357460B1 (ko) * 2020-03-27 2022-01-28 한양대학교 산학협력단 동형 암호 기술 기반 전자 투표 시스템 및 그 방법
CN111535391A (zh) 2020-05-19 2020-08-14 山河智能装备股份有限公司 具有上、下车快捷拆装机构的大型机械及装卸方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020517169A (ja) 2017-04-18 2020-06-11 エヌチェーン ホールディングス リミテッドNchain Holdings Limited 安全なブロックチェーンベースのコンセンサス
US20200082399A1 (en) 2018-09-12 2020-03-12 International Business Machines Corporation Ensuring information fairness and input privacy using a blockchain in a competitive scenario governed by a smart contract

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
五十嵐 孝洋 ほか,ブロックチェーンとフォグノードを用いたIoT機器の認証・認可,電子情報通信学会技術研究報告 [online],日本,一般社団法人電子情報通信学会,2021年02月21日,Vol.120 No.384,pp. 102-107

Also Published As

Publication number Publication date
EP4354794A1 (en) 2024-04-17
US20240129113A1 (en) 2024-04-18
KR20240051016A (ko) 2024-04-19
JP2024057554A (ja) 2024-04-24
KR102636987B1 (ko) 2024-02-16

Similar Documents

Publication Publication Date Title
US11842317B2 (en) Blockchain-based authentication and authorization
US20230023857A1 (en) Data processing method and apparatus, intelligent device, and storage medium
US20220318907A1 (en) Systems and methods for generating secure, encrypted communications across distributed computer networks for authorizing use of cryptography-based digital repositories in order to perform blockchain operations in decentralized applications
CN112380578A (zh) 一种基于区块链和可信执行环境的边缘计算框架
CN115114658B (zh) 基于区块链的可验证数据交易方法、装置、设备及介质
US20200250655A1 (en) Efficient, environmental and consumer friendly consensus method for cryptographic transactions
US12034868B2 (en) Systems and methods for generating secure, encrypted communications across distributed computer networks for authorizing use of cryptography-based digital repositories in order to perform blockchain operations in decentralized applications
CN115242553B (zh) 一种支持安全多方计算的数据交换方法及系统
Abubaker et al. Trustful data trading through monetizing IoT data using BlockChain based review system
CN114866323A (zh) 一种用户可控的隐私数据授权共享系统及方法
Skudnov Bitcoin clients
JP7539170B2 (ja) ゼロ知識証明を利用したブロックチェーンネットワークのオラクルサービスを提供する方法及びそれを利用したアグリゲータ端末
US12081653B2 (en) Systems and methods for providing secure, encrypted communications across distributed computer networks by coordinating cryptography-based digital repositories in order to perform blockchain operations in decentralized applications
US20230246817A1 (en) Systems and methods for generating secure, encrypted communications across distributed computer networks for authorizing use of cryptography-based digital repositories in order to perform blockchain operations in decentralized applications
Hu et al. Privacy-preserving combinatorial auction without an auctioneer
Keshavarzkalhori et al. Federify: a verifiable federated learning scheme based on zksnarks and blockchain
CN114726865B (zh) 数据质押方法、系统、电子装置和存储介质
Yurchenko et al. Security for Distributed Smart Meter: Blockchain-based Approach, Ensuring Privacy by Functional Encryption.
KR102704646B1 (ko) 영지식증명을 이용한 블록체인 네트워크의 오라클 서비스를 제공하는 방법 및 이를 이용한 어그리게이터 단말
US20230245111A1 (en) Systems and methods for requesting secure, encrypted communications across distributed computer networks for authorizing use of cryptography-based digital repositories in order to perform blockchain operations in decentralized applications
CN118585991B (zh) 数据处理方法、装置、设备及存储介质
CN115599773B (zh) 分布式资源转移方法、装置、系统与计算机设备
Yu et al. A novel fair and verifiable data trading scheme
US20240380615A1 (en) REAL-TIME IoT DATA SHARING SYSTEM SUPPORTING ATTRIBUTE-BASED ACCESS CONTROL AND METHOD THEREOF
Luo et al. A Cloud-Fog Enabled and Privacy-Preserving IoT Data Market Platform Based on Blockchain.

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240123

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240416

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240805

R150 Certificate of patent or registration of utility model

Ref document number: 7539170

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150