تحليل بروتوكول Binius: تحسينات وابتكارات STARKs في المجال الثنائي

تحليل مبادئ STARKs من Binius وأفكار تحسينها

1 المقدمة

أحد الأسباب الرئيسية لانخفاض كفاءة STARKs هو أن معظم القيم في البرامج الفعلية صغيرة، مثل الفهارس في حلقات for، والقيم الحقيقية/الوهمية، والعدادات، وما إلى ذلك. ومع ذلك، لضمان أمان الإثباتات المستندة إلى شجرة ميركل، عند استخدام ترميز ريد-سولومون لتوسيع البيانات، فإن العديد من القيم الزائدة الإضافية ستشغل المجال بالكامل، حتى لو كانت القيمة الأصلية صغيرة جداً. لحل هذه المشكلة، أصبح تقليل حجم المجال استراتيجية رئيسية.

كما هو موضح في الجدول 1 ، عرض الترميز للجيل الأول من STARKs هو 252 بت ، وعرض الترميز للجيل الثاني من STARKs هو 64 بت ، وعرض الترميز للجيل الثالث من STARKs هو 32 بت ، لكن عرض الترميز 32 بت لا يزال يحتوي على مساحة هائلة من الهدر. بالمقارنة ، يسمح المجال الثنائي بإجراء عمليات مباشرة على البتات ، مما يجعل الترميز مدمجًا وفعالًا دون أي مساحة هدر ، أي الجيل الرابع من STARKs.

الجدول 1: مسار تطور STARKs

| الجبر | عرض ترميز البتات | نظام التمثيل | |------|----------|----------| | الجيل الأول | 252bit | StarkWare | | الجيل الثاني | 64بت | Plonky2 | | الجيل الثالث | 32 بت | Polygon zkEVM | | الجيل الرابع | 1bit | Binius |

بالمقارنة مع Goldilocks و BabyBear و Mersenne31 وغيرها من الاكتشافات الحديثة في الحقول المحدودة التي تم البحث عنها في السنوات الأخيرة، يمكن تتبع أبحاث الحقول الثنائية إلى ثمانينيات القرن الماضي. في الوقت الحالي، تم استخدام الحقول الثنائية على نطاق واسع في علم التشفير، ومن الأمثلة النموذجية على ذلك:

  • معيار التشفير المتقدم (AES)، بناءً على مجال F28;

  • Galois رمز المصادقة على الرسائل ( GMAC )، مبني على مجال F2128؛

  • رمز الاستجابة السريعة، يستخدم ترميز ريد-سولومون المعتمد على F28؛

  • بروتوكول FRI الأصلي و zk-STARK، بالإضافة إلى دالة تجزئة Grøstl التي وصلت إلى نهائيات SHA-3، والتي تستند إلى مجال F28، هي خوارزمية تجزئة مناسبة جداً للتكرار.

عند استخدام مجالات أصغر، تصبح عملية توسيع المجال أكثر أهمية لضمان الأمان. تعتمد المجالات الثنائية التي تستخدمها Binius تمامًا على توسيع المجال لضمان أمانها وقابليتها للاستخدام في الواقع. لا تحتاج معظم الحدود المتعلقة بحساب Prover إلى الدخول في توسيع المجال، بل يمكنها العمل فقط في المجال الأساسي، مما يحقق كفاءة عالية ضمن المجال الصغير. ومع ذلك، لا يزال يتعين على فحص النقاط العشوائية وحساب FRI الدخول في توسيع مجال أكبر لضمان الأمان المطلوب.

عند بناء نظام الإثبات استنادًا إلى مجال ثنائي، هناك مشكلتان عمليتان: في STARKs عند حساب تمثيل trace، يجب أن يكون حجم المجال أكبر من درجة كثير الحدود؛ في STARKs عند الالتزام بشجرة Merkle، يجب إجراء ترميز Reed-Solomon، ويجب أن يكون حجم المجال أكبر من الحجم بعد التمديد الترميزي.

قدمت Binius حلاً مبتكراً يعالج هذين المشكلة بشكل منفصل، ويعرض نفس البيانات بطريقتين مختلفتين لتحقيق ذلك: أولاً، باستخدام متعدد المتغيرات (، وهو في الواقع متعدد حدود متعدد الخطوط ) بدلاً من متعدد الحدود أحادي المتغير، من خلال قيمه في "الهايبركيوب" ( hypercubes ) لتمثيل المسار الحسابي بالكامل؛ ثانياً، نظراً لأن طول كل بعد من أبعاد الهايبركيوب هو 2، فإنه لا يمكن توسيع Reed-Solomon القياسي كما هو الحال في STARKs، ولكن يمكن اعتبار الهايبركيوب مربع ( square )، وبناءً على ذلك المربع، يمكن إجراء توسيع Reed-Solomon. هذه الطريقة تضمن الأمان وفي الوقت نفسه تعزز بشكل كبير كفاءة الترميز وأداء الحساب.

2 تحليل المبدأ

عادةً ما تتكون معظم أنظمة SNARKs الحالية من جزئين:

  • نظرية المعلومات إثبات تفاعلي متعدد الحدود Oracle ( 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.

• Plonky2: تعتمد على PLONK PIOP و FRI PCS، وتستند إلى مجال Goldilocks. تم تصميم Plonky2 لتحقيق التكرار الفعال. عند تصميم هذه الأنظمة، يجب أن تتوافق PIOP و PCS المختارة مع الحقل المحدود أو المنحنى البياني المستخدم لضمان صحة النظام وأدائه وأمانه. تؤثر خيارات هذه التركيبات ليس فقط على حجم إثبات SNARK وكفاءة التحقق، ولكن أيضًا تحدد ما إذا كان يمكن للنظام تحقيق الشفافية دون الحاجة إلى إعداد موثوق به، وما إذا كان يمكنه دعم وظائف تمديد مثل الإثباتات التكرارية أو الإثباتات المجمعة.

بينيوس: HyperPlonk PIOP + Brakedown PCS + المجال الثنائي. على وجه التحديد ، يتضمن Binius خمس تقنيات رئيسية لتحقيق كفاءته وسلامته. أولا, يشكل الحساب المستند إلى (towers المجال الثنائي للبرج من fields) الثنائي أساس حسابه, التي يمكن أن تحقق عمليات مبسطة في المجال الثنائي. ثانيا ، في بروتوكول إثبات Oracle التفاعلي (PIOP) ، يقوم Binius بتكييف منتج HyperPlonk وفحص التقليب لضمان فحص الاتساق الآمن والفعال بين المتغيرات وتبديلها. ثالثا ، يقدم البروتوكول وسيطة إزاحة جديدة متعددة الخطوط لتحسين كفاءة التحقق من العلاقة متعددة الخطوط في مجال صغير. رابعا ، يتبنى Binius نسخة محسنة من وسيطة البحث Lasso ، والتي توفر المرونة والأمان القوي لآلية البحث. أخيرا ، يستخدم البروتوكول مخطط الالتزام متعدد الحدود للمجال الصغير ( PCS) الحقول الصغيرة ، والذي يمكنه من تنفيذ نظام إثبات فعال على المجالات الثنائية وتقليل النفقات العامة المرتبطة عادة بالمجالات الكبيرة.

2.1 المجالات المحدودة: حسابات قائمة على أبراج الحقول الثنائية

تعتبر حقل الثنائي البرجي مفتاحًا لتنفيذ حسابات سريعة قابلة للتحقق، ويرجع ذلك أساسًا إلى جانبين: الحسابات الفعالة والتعميق الفعال. يدعم الحقل الثنائي بطبيعته عمليات حسابية فعالة للغاية، مما يجعله خيارًا مثاليًا للتطبيقات التشفيرية التي تتطلب أداءً حساسًا. علاوة على ذلك، تدعم بنية الحقل الثنائي عملية تعميق مبسطة، مما يعني أن العمليات المنفذة على الحقل الثنائي يمكن تمثيلها بشكل جبر بسيط وسهل التحقق. هذه الميزات، بالإضافة إلى القدرة على الاستفادة بشكل كامل من خصائصها الهرمية من خلال الهيكل البرجي، تجعل الحقل الثنائي مناسبًا بشكل خاص لأنظمة الإثبات القابلة للتوسع مثل Binius.

الذي يعني "canonical" هو الطريقة الفريدة والمباشرة لتمثيل العناصر في المجال الثنائي. على سبيل المثال، في المجال الثنائي الأساسي F2، يمكن أن يتم ربط أي سلسلة من k بت مباشرة بعنصر من عناصر المجال الثنائي k. هذا يختلف عن المجال الأولي، حيث لا يمكن للمجال الأولي أن يقدم هذا التمثيل القياسي ضمن عدد محدد من البتات. على الرغم من أن المجال الأولي 32 بت يمكن أن يحتوي على 32 بت، إلا أنه ليس كل سلسلة من 32 بت يمكن أن تتوافق بشكل فريد مع عنصر من المجال، بينما يوفر المجال الثنائي سهولة هذا الربط الثنائي. في المجال الأولي Fp، تشمل طرق الاختزال الشائعة اختزال Barrett، واختزال Montgomery، وطرق اختزال خاصة لبعض المجالات المحدودة مثل Mersenne-31 أو Goldilocks-64. في المجال الثنائي F2k، تشمل طرق الاختزال الشائعة الاختزال الخاص ( كما هو مستخدم في AES )، واختزال Montgomery ( كما هو مستخدم في POLYVAL )، والاختزال التكراري ( كما هو مستخدم في Tower ). تشير الورقة "استكشاف تصميم مجال ECC-Hardware Implementations لمجال أولي مقابل مجال ثنائي" إلى أن المجال الثنائي لا يتطلب إدخال حمل في عمليات الجمع والضرب، وأن عملية تربيع المجال الثنائي فعالة للغاية، لأنها تتبع القاعدة المبسطة (X + Y )2 = X2 + Y 2.

كما هو موضح في الشكل 1، سلسلة مكونة من 128 بت: يمكن تفسير هذه السلسلة بطرق متعددة في سياق مجال ثنائي. يمكن اعتبارها عنصراً فريداً في مجال ثنائي مكون من 128 بت، أو يمكن تحليلها إلى عنصرين من مجال برج مكون من 64 بت، أو أربعة عناصر من مجال برج مكون من 32 بت، أو 16 عنصراً من مجال برج مكون من 8 بت، أو 128 عنصراً من مجال F2. هذه المرونة في التمثيل لا تتطلب أي تكلفة حسابية، بل هي مجرد تحويل نوع لسلسلة بت (typecast)، وهي خاصية مثيرة جداً ومفيدة. في الوقت نفسه، يمكن حزم عناصر المجال الصغيرة في عناصر مجال أكبر دون الحاجة إلى تكلفة حسابية إضافية. يستفيد بروتوكول بونياس من هذه الخاصية لتحسين كفاءة الحساب. بالإضافة إلى ذلك، تستكشف الورقة "حول العكس الفعال في مجالات البرج ذات الخاصية الثانية" تعقيد الحساب للضرب، والتربيع، وعمليات العكس في مجال البرج الثنائي المكون من n بت والذي يمكن تحلليه إلى مجال فرعي مكون من m بت (.

! [أبحاث Bitlayer: تحليل مبدأ Binius STARKs والتفكير الأمثل])https://img-cdn.gateio.im/webp-social/moments-5775a629f494c4e01e2b74d864fa4100.webp(

) 2.2 PIOP: إصدار معدل من منتج HyperPlonk وPermutationCheck------مناسب لمجال ثنائي

تم تصميم PIOP في بروتوكول Binius بالاستناد إلى HyperPlonk، حيث تم استخدام مجموعة من آليات الفحص الأساسية للتحقق من صحة المتعددات والمتغيرات المتعددة. تشمل هذه الفحوصات الأساسية:

  1. GateCheck: تحقق مما إذا كانت الشهادة السرية ω والإدخال العام x تلبيان علاقة الحساب الدائرية C###x,ω(=0، لضمان تشغيل الدائرة بشكل صحيح.

  2. PermutationCheck: التحقق من ما إذا كانت نتائج تقييم متعددات الحدود المتغيرة f و g على مكعب بولياني تكون علاقة تبديلية f)x( = f)π(x()، لضمان اتساق الترتيبات بين متغيرات متعددة الحدود.

  3. LookupCheck: التحقق مما إذا كانت قيمة متعددة الحدود موجودة في جدول البحث المعطى، أي f)Bµ( ⊆ T)Bµ(، لضمان أن بعض القيم في النطاق المحدد.

  4. MultisetCheck: تحقق مما إذا كانت مجموعتان متعددتان متساويتين، أي {)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 لديهما العديد من أوجه التشابه في تصميم البروتوكولات، إلا أن Binius قد قام بتحسينات في 3 مجالات التالية:

  • تحسين ProductCheck: في HyperPlonk، يتطلب ProductCheck أن يكون المقام U غير صفري في كل مكان على الهيبركوب، ويجب أن يكون حاصل الضرب مساوياً لقيمة محددة؛ قامت Binius بتبسيط هذه العملية من خلال تخصيص تلك القيمة إلى 1، مما يقلل من تعقيد الحساب.

  • معالجة مشكلة القسمة على الصفر: HyperPlonk لم تتمكن من معالجة حالات القسمة على الصفر بشكل كاف، مما أدى إلى عدم القدرة على التأكيد على أن U غير صفر في الهيكل الفائق؛ عالج Binius هذه المشكلة بشكل صحيح، حتى في حالات القسمة على صفر، يمكن لـ ProductCheck في Binius الاستمرار في المعالجة، مما يسمح بالتوسع إلى أي قيمة ضرب.

  • التحقق من تبديل الصفوف: HyperPlonk لا تدعم هذه الميزة; يدعم Binius التحقق من التبديل بين عدة صفوف، مما يمكّن Binius من التعامل مع حالات ترتيب متعددة الحدود الأكثر تعقيداً.

لذلك، قامت Binius من خلال تحسين آلية PIOPSumCheck الحالية، بزيادة مرونة وكفاءة البروتوكول، خاصة عند معالجة التحقق من المتعددات المتغيرة المعقدة، حيث قدمت دعمًا أقوى للوظائف. لم تحل هذه التحسينات فقط قيود HyperPlonk، ولكنها وضعت أيضًا أساسًا لأنظمة الإثبات المستندة إلى الحقول الثنائية في المستقبل.

) 2.3 PIOP: حجة التحويل المتعدد الخطوط الجديدة ------ مناسبة لهيبر مكعب بولياني

في بروتوكول Binius، افتراضي

شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • 5
  • مشاركة
تعليق
0/400
AirdropHunter007vip
· منذ 11 س
كم يمكن أن نأخذ من الصوف؟
شاهد النسخة الأصليةرد0
GateUser-3824aa38vip
· 07-20 17:31
فقط 32 رقمًا يعتبر كثيرًا، يكفي من التنافس.
شاهد النسخة الأصليةرد0
SchroedingerGasvip
· 07-20 17:30
غاز رسوم فعلاً مبهمة جداً! من يفهم ذلك؟
شاهد النسخة الأصليةرد0
WhaleWatchervip
· 07-20 17:23
خفض النطاق ثور واو يجب أن نغير هذه الدائرة منذ فترة
شاهد النسخة الأصليةرد0
MechanicalMartelvip
· 07-20 17:08
ستارك ثقيلة جداً، متى ستصبح أسرع قليلاً؟
شاهد النسخة الأصليةرد0
  • تثبيت