Search

JP-2026077533-A - 再帰的サムチェックプロトコルを活用した多項式コミットメント方法およびこれを遂行するシステム

JP2026077533AJP 2026077533 AJP2026077533 AJP 2026077533AJP-2026077533-A

Abstract

【課題】再帰的サムチェックプロトコルを活用した多項式コミットメント方法並びにテンソルコード及び多重線形拡張を活用した多項式コミットメント方法を提供する。 【解決手段】本方法は、多項式の係数に対応する第1ターゲット行列に対して第1検証を遂行する段階、前記第1検証で活用した行列のうち少なくとも一部を抽出することによって第2ターゲット行列を獲得する段階、前記第2ターゲット行列に対して第2検証を遂行する段階、前記第2ターゲット行列を活用してコミット値を生成する段階及び前記多項式に対するゼロ知識証明のために前記コミット値を伝送する段階を含む。 【選択図】図4

Inventors

  • オ、ヒョノク

Assignees

  • ジクリプト インコーポレイテッド

Dates

Publication Date
20260513
Application Date
20241223
Priority Date
20241025

Claims (11)

  1. 少なくとも一つのプロセッサによって遂行される再帰的サムチェックプロトコルを活用した多項式コミットメント方法において、 多項式の係数に対応する第1ターゲット行列に対して第1検証を遂行する段階; 前記第1検証で活用した行列のうち少なくとも一部を抽出することによって第2ターゲット行列を獲得する段階; 前記第2ターゲット行列に対して第2検証を遂行する段階; 前記第2ターゲット行列を活用してコミット値を生成する段階;および 前記多項式に対するゼロ知識証明のために前記コミット値を伝送する段階;を含む、多項式コミットメント方法。
  2. 前記第1検証を遂行する段階は、 前記第1ターゲット行列に対するエンコーディングを遂行することによって第1エンコーディング行列を生成する段階; 前記第1ターゲット行列をフォールディングすることによって第1フォールディングターゲット行列を生成する段階; 前記第1エンコーディング行列をフォールディングすることによって第1フォールディングエンコーディング行列を生成する段階;および 前記第1フォールディングターゲット行列をエンコーディングした値と前記第1フォールディングエンコーディング行列を比較することによって前記第1ターゲット行列に対する検証を遂行する段階;を含む、請求項1に記載の多項式コミットメント方法。
  3. 前記第1フォールディングエンコーディング行列を生成する段階は、 前記第1エンコーディング行列のうち複数の第1単位エンコーディング行列を抽出する段階;および 前記複数の第1単位エンコーディング行列に対するフォールディングを通じて前記第1フォールディングエンコーディング行列のうち少なくとも一部を生成する段階;を含む、請求項2に記載の多項式コミットメント方法。
  4. 前記第1ターゲット行列に対する検証を遂行する段階は、 前記第1ターゲット行列に含まれた少なくとも一つの行列をエンコーディングすることによって複数の第1単位エンコーディングフォールディングターゲット行列を生成する段階; 前記複数の第1単位エンコーディングフォールディングターゲット行列と、前記第1フォールディングエンコーディング行列のうち少なくとも一部を比較する段階; 前記比較結果が一致すれば前記検証を通過したと判断する段階;を含む、請求項3に記載の多項式コミットメント方法。
  5. 前記第1エンコーディング行列を生成する段階は、 前記第1ターゲット行列に第1ランダム行列をかけることによって前記第1エンコーディング行列を生成する段階を含み、 前記第1フォールディングターゲット行列を生成する段階は、 前記第1ターゲット行列に検証ターゲットとなるターゲットポイント行列をかけることによって前記第1フォールディングターゲット行列を生成する段階を含む、請求項3に記載の多項式コミットメント方法。
  6. 前記第2ターゲット行列を獲得する段階は、 前記第1ランダム行列のうち前記複数の第1単位エンコーディング行列に対応する複数の第1単位ランダム行列を獲得する段階; 前記第1ターゲット行列に検証ターゲットではなくランダムポイント行列をかけることによって第1フォールディングサブ行列を獲得する段階;および 前記複数の第1単位エンコーディング行列、前記複数の第1単位ランダム行列、前記第1フォールディングターゲット行列および前記第1フォールディングサブ行列を利用して前記第2ターゲット行列を生成する段階;を含む、請求項5に記載の多項式コミットメント方法。
  7. 前記第2検証で活用した行列のうち少なくとも一部を抽出することによって第N(Nは3以上の自然数)ターゲット行列を獲得する段階; 前記第Nターゲット行列に対して、テンソルコードを活用した第N検証を遂行する段階; 前記第N検証で活用した行列のうち少なくとも一部を抽出して第N+1ターゲット行列を獲得する段階; 前記第N+1ターゲット行列の大きさが予め決定された値未満であるかを確認する段階; 前記第N+1ターゲット行列の大きさが前記予め決定された値未満でない場合、第N+1検証を遂行する段階;および 前記第N+1ターゲット行列の大きさが前記予め決定された値以下である場合、前記第N+1ターゲット行列を活用して前記コミット値を生成する段階;をさらに含む、請求項1に記載の多項式コミットメント方法。
  8. 前記第2検証を遂行する段階は、 前記第2ターゲット行列および第2ランダム行列を利用して第2エンコーディング行列を生成する段階; 前記第2ターゲット行列およびターゲットポイント行列を利用して第2フォールディングターゲット行列を生成する段階; 前記第2エンコーディング行列のうち複数の第2単位エンコーディング行列をフォールディングし、前記第2フォールディングターゲット行列と比較することによって前記第2ターゲット行列に対する検証を遂行する段階;を含む、請求項7に記載の多項式コミットメント方法。
  9. 前記第N+1ターゲット行列を獲得する段階は、 前記第2ランダム行列のうち前記複数の第2単位エンコーディング行列に対応する複数の第2単位ランダム行列を獲得する段階; 前記複数の第2単位エンコーディング行列、前記複数の第2単位ランダム行列および前記第2フォールディングターゲット行列を利用して前記第N+1ターゲット行列を生成する段階;を含む、請求項8に記載の多項式コミットメント方法。
  10. 前記第N+1ターゲット行列を活用して前記コミット値を生成する段階は、 前記第N+1ターゲット行列の複数の要素値をマークルハッシュツリー(Merkel Hash Tree)に適用することによって前記コミット値を生成する段階;を含む、請求項7に記載の多項式コミットメント方法。
  11. 多項式コミットメント方法を保存するコンピュータで読み取り可能な記録媒体において、 前記多項式コミットメント方法は、 多項式の係数に対応する第1ターゲット行列に対して第1検証を遂行する段階; 前記第1検証で活用した行列のうち少なくとも一部を抽出することによって第2ターゲット行列を獲得する段階; 前記第2ターゲット行列に対して第2検証を遂行する段階; 前記第2検証で活用した行列のうち少なくとも一部を活用してコミット値を生成する段階;および ゼロ知識証明方法を利用して前記コミット値を証明する段階;を含むことを特徴とする、コンピュータで読み取り可能な記録媒体。

Description

本発明は再帰的サムチェックプロトコルを活用した多項式コミットメント方法およびこれを遂行するシステムに関する。 多項式コミットメント方法(Polynomial Commitment Scheme、PCS)は計算の完全性を証明し検証するのに使われる暗号学的技法である。主にブロックチェーンおよびゼロ知識証明(ZK Proof)システム、暗号通貨、zk-rollupなどの環境でデータの信頼性を保障するのに活用されるが、この方法は特定多項式の評価結果を効率的に約定(commit)し検証できるプロトコルを提供する。 多項式コミットメント方法はコミット(Commit)-評価/証明-検証段階からなるが、約定段階で、証明者(Prover)は特定多項式f(x)と該当多項式の評価値f(a)を検証者(Verifier)に証明しようとする。このために証明者は多項式f(x)を約定(commit)する。約定は多項式の情報が含まれた暗号化された値であって、後ほど評価値を検証する時に使うことができる。評価/証明段階で、証明者は多項式のターゲットポイントaでの評価結果f(a)を計算し、この値を検証者に提供する。証明者はまた検証者がこの評価値が正しいかどうかを確認できるように評価証明(evaluation proof)またはコミット値も提供する。検証段階で、検証者は証明者が提供した評価証明を約定された多項式と比較してf(a)が正確であるかを確認する。この時、検証者は多項式全体を知る必要はなく、約定された情報と証明だけで評価結果が正しいかどうかを判断することができる。 このような多項式コミットメント方法は、多項式の次数(N)が大きくなるにつれて検証および証明するための時間が長くかかる問題点が発生した。これに伴い、多項式コミットメント方法において検証および証明のための時間を減らすための努力が続いてきた。 本開示の例示的な実施例に係るシステムを示すブロック図である。本開示の例示的な実施例に係る多項式コミットメント方法を示すフローチャートである。本開示の例示的な実施例に係る多項式コミットメント方法を示すコードである。本開示の例示的な実施例に係る多項式コミットメント方法を示すコードである。本開示の例示的な実施例に係る多項式コミットメント方法を示すコードである。本開示の例示的な実施例に係る多項式コミットメント方法を示すフローチャートである。本開示の例示的な実施例に係る多項式コミットメント方法を示すブロック図である。本開示の例示的な実施例に係る多項式コミットメント方法を示すブロック図である。本開示の例示的な実施例に係る多項式コミットメント方法を示すブロック図である。本開示の例示的な実施例に係る多項式コミットメント方法を示すブロック図である。本開示の例示的な実施例に係るコンピューティングシステムを示すブロック図である。 以下、添付された図面を参照して本発明の好ましい実施例を詳細に説明する。本発明の利点および特徴、そしてそれらを達成する方法は添付される図面と共に詳細に後述されている実施例を参照すれば明確となるであろう。しかし、本発明の技術的思想は以下の実施例に限定されるものではなく互いに異なる多様な形態で具現され得、ただし以下の実施例は本発明の技術的思想を完全なものとし、本発明が属する技術分野で通常の知識を有する者に本発明の範疇を完全に知らせるために提供されるものであり、本発明の技術的思想は請求項の範疇によって定義されるのみである。 各図面の構成要素に参照符号を付加するにおいて、同一の構成要素に対してはたとえ他の図面上に表示されてもできるだけ同一の符号を有するようにしていることに留意しなければならない。また、本発明の説明において、関連した公知の構成または機能に対する具体的な説明が本発明の要旨を曖昧にさせ得る恐れがあると判断される場合にはその詳細な説明は省略する。 特に定義されない限り、本明細書で使われるすべての用語(技術および科学的用語を含む)は本発明が属する技術分野で通常の知識を有する者に共通して理解され得る意味で使われ得る。また、一般的に使われる辞書に定義されている用語は明白に特に定義されていない限り、理想的にまたは過度に解釈されない。本明細書で使われた用語は実施例を説明するためのものであり本発明を制限しようとするものではない。本明細書で、単数型は文面で特に言及しない限り複数型も含む。 また、本発明の構成要素を説明するにあたって、第1、第2、A、B、(a)、(b)等の用語を使うことができる。このような用語はその構成要素を他の構成要素と区別するためのものに過ぎず、その用語によって該当構成要素の本質や順番または順序などが限定されない。或る構成要素が他の構成要素に「連結」、「結合」または「接続」されると記載された場合、その構成要素はその他の構成要素に直接的に連結されたりまたは接続され得るが、各構成要素の間にさらに他の構成要素が「連結」、「結合」または「接続」され得ると理解されるべきである。 本発明で使われる「含む(comprises)」および/または「含む(comprising)」は言及された構成要素、段階、動作および/または素子は一つ以上の他の構成要素、段階、動作および/または素子の存在または追加を排除しない。 いずれか一つの実施例に含まれた構成要素と、共通の機能を含む構成要素は、他の実施例で同じ名称を用いて説明され得る。反対の記載がない限り、いずれか一つの実施例に記載された説明は他の実施例にも適用され得、重複する範囲または当該技術分野に属した通常の技術者が自明に理解できる範囲内で具体的な説明は省略され得る。 以下、本発明のいくつかの実施例について、添付された図面により詳細に説明する。 以下、本発明の好ましい実施例および添付した図面を参照して本発明について詳細に説明する。 図1は、本開示の例示的な実施例に係るシステムを示すブロック図である。 図1を参照すると、システム10は多項式コミットメント方法を遂行するシステムであって、システム10に含まれた構成は複数の端末で構成され得る。一例示において、証明者100および検証者200はそれぞれ少なくとも一つの端末で構成され得、少なくとも一つの端末はセルラーフォン(Cellular Phone)、スマートフォン(Smart phone)、ラップトップ(Laptop)、PC(Personal Computer)、ナビゲーション、PCS(Personal Communication System)、GSM(Global System for Mobile communications)、PDC(Personal Digital Cellular)、PHS(Personal Handyphone System)、PDA(Personal Digital Assistant)、IMT(International Mobile Telecommunication)-2000、CDMA(Code Division Multiple Access)-2000、W-CDMA(W-Code Division Multiple Access)、Wibro(Wireless Broadband Internet)端末、スマートパッド(Smartpad)、タブレットPC(Tablet PC)などの通信可能な各種端末装置を含むことができる。さらに他の例示において、証明者100および検証者200それぞれはサーバーで具現され得る。 証明者100および検証者200は有線/無線で互いに通信可能なネットワークを通じて連結され得、有線で連結される場合に、ネットワークはシリアル方式を利用でき、無線で連結される場合に、ネットワークは無線通信網を利用して通信することができる。無線通信網には近距離通信網(LAN:Local Area Network)、広域通信網(WAN:Wide Area Network)、インターネット(WWW:World Wide Web)、有線/無線データ通信網、電話網、有線/無線テレビ通信網、3G、4G、5G、3GPP(登録商標)(3rd Generation Partnership Project)、5GPP(5th Generation Partnership Project)、LTE(Long Term Evolution)、WIMAX(World Interoperability for Microwave Access)、ワイファイ(Wi-Fi)、インターネット(Internet)、LAN(Local Area Network)、Wireless LAN(Wireless Local Area Network)、WAN(Wide Area Network)、PAN(Personal Area Network)、RF(Radio Frequency)、ブルートゥース(登録商標)(Bluetooth)ネットワーク、NFC(Near-Field Communication)ネットワーク、衛星放送ネットワーク、アナログ放送ネットワーク、DMB(Digital Multimedia Broadcasting)ネットワーク、ブロックチェーンネットワーク(Blockchain Network)等が含まれるがこれに限定されはしない。 本明細書でシステム10およびシステム10に含まれた各構成の動作は各構成に含まれた保存装置に保存された少なくとも一つの命令語を含むコンピュータプログラムに基づいて、各構成に含まれたプロセッサが遂行する動作を意味し得、前記保存装置は不揮発性メモリ、揮発性メモリ、フラッシュメモリ(flash-memory)、ハードディスクドライブ(HDD)またはソリッドステートドライブ(SSD)等を含むことができる。また、前記プロセッサはCPU(Central Processing Unit)、GPU(Graphic Processing Unit)、NPU(Neural Processing Unit)、ラム(RAM)、ロム(ROM)、システムバスおよびアプリケーションプロセッサのうち少なくとも一つを含むことができる。 証明者100は多項式に対する証明を遂行し、証明値に該当するコミット値cmを生成することができる。検証者200はゼロ知識証明アルゴリズムを利用してコミット値cmを検証することによって、多項式に対する内容を公開せずに証明者100が多項式を知っていることを検証することができる。 本開示の一実施例によると、証明者100がコミット値cmを生成する時にターゲット行列に対する縮小を遂行することによってターゲット行列のサイズを減らすことができ、結果的にコミット値cmに対する証明および検証に所要する時間と容量が画期的に減少され得る。 図2は本開示の例示的な実施例に係る多項式コミットメント方法を示すフローチャートであり、図3a~図3cは本開示の例示的な実施例に係る多項式コミットメント方法を示すコードである。 図2を参照すると、本発明に係る多項式コミットメント方法はマークルハッシュツリーコミットメントと多重線形拡張を使って計算のセキュリティー性と効率性を保障する多項式コミットメントプロトコルに関するもので、サムチェックプロトコルを再帰的に活用して検証者の複雑度を低くし、証明の大きさをログスケール水準に減少させることを目標とする。プロトコルは大きく設定段階(S10)、証明-検証段階(S20)を含むことができ、証明-検証段階(S20)は評価段階(S21)、縮小段階(S22)を含むことができる。 図3aを参照すると、設定段階(S10)は全体プロトコルのために必要な共通媒介変数と初期コミットを生成することができる。具体的