Binius STARKsの探索:バイナリドメイン最適化と多重線形多項式イノベーション

Binius STARKsの原理とその最適化思考の解析

1 はじめに

STARKsの効率が低下する主な理由の1つは、実際のプログラムにおいてほとんどの数値が小さいことです。例えば、forループのインデックス、真偽値、カウンターなどです。しかし、Merkle木に基づく証明の安全性を確保するために、Reed-Solomon符号を使用してデータを拡張する際、多くの追加の冗長値が全体の領域を占めてしまいます。原始値自体が非常に小さい場合でもです。この問題を解決するために、領域のサイズを減少させることが重要な戦略となりました。

第1世代STARKsのエンコーディングビット幅は252ビット、第2世代STARKsのエンコーディングビット幅は64ビット、第3世代STARKsのエンコーディングビット幅は32ビットですが、32ビットのエンコーディングビット幅には依然として大量の無駄なスペースが存在します。それに対して、バイナリーフィールドはビットに直接操作を行うことを許可し、エンコーディングはコンパクトで効率的であり、任意の無駄なスペースがありません。つまり、第4世代STARKsです。

ゴルディロックス、ベイビーベア、メルセンヌ31など、近年の新しい研究で発見された有限体と比較して、2進数体の研究は1980年代まで遡ることができます。現在、2進数体は暗号学に広く応用されており、典型的な例には次のようなものがあります:

  • F28ドメインに基づくAdvanced Encryption Standard (AES)。

  • F2128ドメインに基づくガロアメッセージ認証コード(GMAC)。

  • QRコード、F28ベースのリード・ソロモン符号を使用;

  • 原始FRIとzk-STARKプロトコル、そしてSHA-3ファイナルに進出したGrøstlハッシュ関数は、F28体に基づいており、再帰処理に非常に適したハッシュアルゴリズムです。

小さな体を使用する場合、拡張体操作は安全性を確保するためにますます重要になります。そして、Biniusが使用する二進数体は、その安全性と実際の使用可能性を保証するために、完全に拡張体に依存する必要があります。ほとんどのProver計算に関与する多項式は、拡張体に入る必要がなく、基体の下で操作するだけで、高い効率を小さな体で実現します。しかし、ランダムポイントチェックとFRI計算は、必要な安全性を確保するために、より大きな拡張体に深く入る必要があります。

バイナリーフィールドに基づいて証明システムを構築する際、2つの実際的な問題があります:STARKsにおいてトレース表現を計算する際、使用するフィールドのサイズは多項式の次数より大きくなければならない;STARKsにおいてメルクルツリーのコミットメントを行う際、リード・ソロモン符号化を行う必要があり、使用するフィールドのサイズは符号化の拡張後のサイズより大きくなければならない。

Biniusは、これらの2つの問題をそれぞれ処理する革新的なソリューションを提案し、同じデータを2つの異なる方法で表現することによって実現しました。まず、単変数多項式の代わりに多変数(具体的には多重線形)多項式を使用し、"超立方体"(hypercubes)上でのその値を通じて全計算軌跡を表現します。次に、超立方体の各次元の長さが2であるため、STARKsのように標準のReed-Solomon拡張を行うことはできませんが、超立方体を正方形(square)として見ることができ、その正方形に基づいてReed-Solomon拡張を行います。この方法は安全性を確保しつつ、エンコーディング効率と計算性能を大幅に向上させます。

2 原理分析

現在、ほとんどのSNARKsシステムの構築には通常、以下の2つの部分が含まれています:

  • 情報理論的多項式インタラクティブオラクル証明(Information-Theoretic Polynomial Interactive Oracle Proof, PIOP):PIOPは証明システムの核心として、入力された計算関係を検証可能な多項式等式に変換します。異なるPIOPプロトコルは、検証者とのインタラクションを通じて、証明者が徐々に多項式を送信できるようにし、検証者は少量の多項式の評価結果をクエリすることで計算が正しいかどうかを検証できます。既存のPIOPプロトコルには、PLONK PIOP、Spartan PIOP、HyperPlonk PIOPなどがあり、それぞれ多項式表現の処理方法に違いがあり、SNARKシステム全体の性能と効率に影響を与えます。

  • 多項式コミットメントスキーム(Polynomial Commitment Scheme, PCS):多項式コミットメントスキームは、PIOPによって生成された多項式の等式が成立するかどうかを証明するために使用されます。PCSは暗号学的なツールであり、これにより、証明者は特定の多項式にコミットし、後でその多項式の評価結果を検証すると同時に、多項式の他の情報を隠すことができます。一般的な多項式コミットメントスキームには、KZG、Bulletproofs、FRI(Fast Reed-Solomon IOPP)、Brakedownなどがあります。異なるPCSは異なる性能、安全性、適用シーンを持っています。

具体的なニーズに応じて、異なるPIOPとPCSを選択し、適切な有限体または楕円曲線と組み合わせることで、異なる属性を持つ証明システムを構築することができます。例えば:

• Halo2: PLONK PIOP と Bulletproofs PCS を組み合わせ、Pasta 曲線に基づいています。Halo2 の設計では、スケーラビリティに重点を置き、ZCash プロトコルの trusted setup を排除しています。

• Plonky2: PLONK PIOPとFRI PCSを組み合わせ、Goldilocks領域に基づいています。Plonky2は効率的な再帰を実現するために設計されています。これらのシステムを設計する際に選択されたPIOPとPCSは、使用される有限体または楕円曲線と一致する必要があり、システムの正確性、性能、安全性を保証します。これらの組み合わせの選択は、SNARKの証明サイズと検証効率に影響を与えるだけでなく、信頼できる設定なしで透明性を実現できるか、再帰的証明や集約証明などの拡張機能をサポートできるかどうかも決定します。

Binius:HyperPlonk PIOP +ブレーキダウンPCS +バイナリドメイン。 具体的には、Biniusには、その効率性と安全性を実現するための5つの主要技術が含まれています。 まず、バイナリfields(のタワーバイナリドメイン)towersに基づく演算がその計算の基礎を形成し、バイナリドメインでの簡略化された操作を実現できます。 次に、Biniusは、インタラクティブなOracleプルーフプロトコル(PIOP)で、HyperPlonk製品と順列チェックを適応させて、変数とその順列との間の安全で効率的な一貫性チェックを確保します。 第 3 に、このプロトコルでは、小さなドメインでのマルチリニア関係の検証効率を最適化するために、新しいマルチリニア シフト引数が導入されています。 第 4 に、Binius は Lasso ルックアップ引数の改良版を採用しており、ルックアップ メカニズムに柔軟性と強力なセキュリティを提供します。 最後に、このプロトコルは、スモールフィールド多項式コミットメントスキーム(スモールフィールドPCS)を使用しているため、バイナリドメインに効率的な証明システムを実装し、通常、大規模ドメインに関連するオーバーヘッドを削減することができます。

2.1 有限体:二値体の塔に基づく算術

塔型バイナリーフィールドは、高速で検証可能な計算を実現するための鍵であり、主に2つの側面に起因します: 効率的な計算と効率的な算術。バイナリーフィールドは本質的に高度に効率的な算術操作をサポートしており、性能に敏感な暗号学的アプリケーションにとって理想的な選択となります。さらに、バイナリーフィールドの構造は、簡略化された算術プロセスをサポートしており、バイナリーフィールド上で実行される演算は、コンパクトで検証が容易な代数形式で表現できます。これらの特性に加え、塔構造を通じてその階層的な特性を最大限に活用できる能力により、バイナリーフィールドはBiniusのような拡張可能な証明システムに特に適しています。

"canonical"は、バイナリフィールドにおける要素の唯一かつ直接的な表現方法を指します。例えば、最も基本的なバイナリフィールドF2では、任意のkビットの文字列は直接kビットのバイナリフィールド要素にマッピングできます。これは素数フィールドとは異なり、素数フィールドは指定されたビット数内でこのような標準的な表現を提供することができません。32ビットの素数フィールドは32ビット内に収まることができますが、すべての32ビットの文字列が唯一のフィールド要素に対応できるわけではなく、バイナリフィールドはこの一対一のマッピングの利便性を備えています。素数フィールドFpでは、一般的な縮約方法にはBarrett縮約、Montgomery縮約、またはMersenne-31やGoldilocks-64など特定の有限フィールドに対する特殊な縮約方法が含まれます。バイナリフィールドF2kでは、一般的な縮約方法には特殊縮約(があり、AESで使用される)、Montgomery縮約(がPOLYVALで使用され、再帰的縮約)がTower(として使用されます。論文《Exploring the Design Space of Prime Field vs. Binary Field ECC-Hardware Implementations》は、バイナリフィールドが加算および乗算においてキャリーを導入する必要がなく、バイナリフィールドの平方計算が非常に効率的であることを指摘しており、これは)X + Y (2 = X2 + Y 2の簡略化規則に従っています。

図1に示すように、128ビットの文字列:この文字列は、バイナリフィールドの文脈でさまざまな方法で解釈できます。これは、128ビットのバイナリフィールド内のユニークな要素として見ることができるほか、2つの64ビットタワーフィールド要素、4つの32ビットタワーフィールド要素、16の8ビットタワーフィールド要素、または128のF2フィールド要素として解析できます。この表現の柔軟性は、計算コストを必要とせず、単にビット文字列の型変換)typecast(であり、非常に興味深く有用な特性です。同時に、小さなフィールド要素は、追加の計算コストなしにより大きなフィールド要素にパッケージ化できます。Biniusプロトコルは、この特性を利用して計算効率を向上させています。さらに、論文「On Efficient Inversion in Tower Fields of Characteristic Two」では、nビットタワーバイナリフィールドにおいて)、mビットサブフィールド(への乗算、平方、逆演算の計算複雑性が探討されています。

! [Bitlayer研究:Binius STARKsの原理分析と最適化思考])https://img-cdn.gateio.im/webp-social/moments-5775a629f494c4e01e2b74d864fa4100.webp(

) 2.2 PIOP: バイナリドメイン用の適応 HyperPlonk プロダクトと PermutationCheck ------

BiniusプロトコルにおけるPIOP設計は、HyperPlonkを参考にし、一連のコア検証メカニズムを採用して、多項式と多変数集合の正確性を検証します。これらのコア検証には、以下が含まれます:

  1. GateCheck: 秘密証明ωと公開入力xが回路演算関係C###x,ω(=0を満たしているか検証し、回路が正しく動作することを確認します。

  2. PermutationCheck:ブールハイパーキューブ上の2つの多変量多項式fとgの評価結果が順列関係であることを確認しますf)x( = 多項式変数間の配置の一貫性を確保するためのf)π(x()。

  3. LookupCheck: 多項式の評価が指定されたルックアップテーブルに存在するかを検証します。つまり、f)Bµ( ⊆ T)Bµ(であり、特定の値が指定された範囲内にあることを確認します。

  4. MultisetCheck: 2つの多変数集合が等しいかどうかを確認します。すなわち、{)x1,i,x2,(}i∈H={)y1,i,y2,(}i∈H、複数の集合間の一貫性を保証します。

  5. ProductCheck:ブールハイパーキューブ上の有理多項式の評価が宣言値∏x∈Hμ f)x( = sと等しいかどうかをチェックし、多項式積の正確性を確保します。

  6. ZeroCheck: 多変数多項式がブール超立方体上の任意の点でゼロであるかどうかを検証する∏x∈Hµ f)x( = 0, ∀x ∈ Bµ, 多項式のゼロ点分布を確保するために。

  7. SumCheck: 多変数多項式の合計が宣言された値∑x∈Hµ f)x( = s であるかどうかを検出します。多変数多項式の評価問題を単変数多項式の評価に変換することで、検証者の計算の複雑さを減少させます。さらに、SumCheckはバッチ処理も可能で、ランダム数を導入することで、複数の合計チェックインスタンスをバッチ処理するための線形結合を構築します。

  8. BatchCheck:SumCheckに基づいて、複数の多変量多項式評価の正確性を検証し、プロトコールの効率を向上させます。

BiniusはHyperPlonkとプロトコル設計において多くの類似点があるにもかかわらず、次の3つの点で改善を行いました:

  • ProductCheckの最適化: HyperPlonkでは、ProductCheckは分母Uが超立方体上で常に非ゼロであり、かつ積が特定の値に等しいことを要求します; Biniusはこの値を1に特化することによって、このチェックプロセスを簡素化し、計算の複雑さを軽減します。

  • ゼロ除算の処理: HyperPlonkはゼロ除算の状況を十分に処理できず、超立方体上のUの非ゼロ性の問題を断言できませんでした; Biniusはこの問題を正しく処理しており、分母がゼロの場合でも、BiniusのProductCheckは処理を続け、任意の積の値に拡張できることを許可します。

  • 列間のPermutationCheck: HyperPlonkにはこの機能はありません; Biniusは複数の列間でPermutationCheckをサポートしており、これによりBiniusはより複雑な多項式の並びの状況を処理することができます。

そのため、Biniusは既存のPIOPSumCheckメカニズムを改善することで、プロトコルの柔軟性と効率を向上させ、特により複雑な多変数多項式の検証を処理する際に、より強力な機能サポートを提供しました。これらの改善は、HyperPlonkの限界を解決するだけでなく、将来のバイナリフィールドに基づく証明システムの基盤を築くものです。

! [Bitlayer研究:Binius STARKsの原理分析と最適化思考])https://img-cdn.gateio.im/webp-social/moments-1fb9ecbf9b3b2beaec758f3ab686a012.webp(

) 2.3 PIOP:新しいマルチラインシフト引数------ブールハイパーキューブに適用されます

Biniusプロトコルにおいて、仮想多項式の構築と処理は重要な技術の一つであり、入力ハンドルや他の仮想多項式から派生した多項式を効果的に生成および操作することができます。以下は2つの重要な方法です:

*パッキング:方法はによって渡されます

原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • 7
  • 共有
コメント
0/400
LiquidatedAgainvip
· 07-12 21:48
また新たな暗号化研究が行われていますが、清算を防ぐ方法を学ぶ方が良いです。
原文表示返信0
zkProofInThePuddingvip
· 07-11 22:01
このドメインの下落は遅すぎるんじゃないか、もっと圧力をかけてくれ。
原文表示返信0
TopEscapeArtistvip
· 07-10 04:10
どうやらzkpのベースアーキテクチャにもベア・マーケットを殺すK線形態があるようですね...252から32bitに下落し、この下落幅はあるアルトよりもひどいです。
原文表示返信0
CommunityWorkervip
· 07-10 04:10
このドメインは非常に低迷していますね。
原文表示返信0
FastLeavervip
· 07-10 04:09
また誰かがSTARKsが止まったと言って笑っている。
原文表示返信0
Ser_APY_2000vip
· 07-10 04:03
最適化の真髄は0と1にあります
原文表示返信0
UnluckyMinervip
· 07-10 03:43
またビット幅を最適化しているのか、こんな面倒なことをする必要があるのか。
原文表示返信0
いつでもどこでも暗号資産取引
qrCode
スキャンしてGateアプリをダウンロード
コミュニティ
日本語
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)