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

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

1 المقدمة

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

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

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

  • معيار التشفير المتقدم (AES)، يعتمد على حقل F28؛

  • Galois رسالة تحقق ( GMAC )، مستندة إلى مجال F2128;

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

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

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

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

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

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

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

  • نظرية المعلومات الإثبات التفاعلي متعدد الحدود ( 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 وكفاءة التحقق، بل يحدد أيضًا ما إذا كان النظام يمكن أن يحقق الشفافية دون الحاجة إلى إعداد موثوق، وما إذا كان يمكنه دعم وظائف التوسع مثل الإثباتات التكرارية أو إثباتات التجميع.

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

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

تُعتبر مجالات الثنائية البرجية مفتاح تحقيق حسابات سريعة وقابلة للتحقق، ويرجع ذلك أساسًا إلى جانبين: الحسابات الفعالة والتمثيل الرياضي الفعال. تدعم مجالات الثنائية بشكل أساسي عمليات حسابية فعالة للغاية، مما يجعلها اختيارًا مثاليًا للتطبيقات التشفيرية الحساسة لمتطلبات الأداء. بالإضافة إلى ذلك، فإن بنية المجالات الثنائية تدعم عمليات التمثيل الرياضي المبسطة، أي أن العمليات المنفذة على المجال الثنائي يمكن تمثيلها بشكل جبرية مضغوط وسهل التحقق. هذه الخصائص، جنبًا إلى جنب مع القدرة على الاستفادة الكاملة من الخصائص الهيكلية من خلال الهيكل البرجي، تجعل المجالات الثنائية مناسبة بشكل خاص لأنظمة الإثبات القابلة للتوسع مثل 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 بت، أو يمكن تحليلها إلى عنصرين من مجال البرج بحجم 64 بت، أو أربعة عناصر من مجال البرج بحجم 32 بت، أو ستة عشر عنصرًا من مجال البرج بحجم 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------يطبق على الحقل الثنائي

تم تصميم 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، يعد بناء ومعالجة متعددة الحدود الافتراضية واحدة من التقنيات الأساسية، حيث يمكنها بشكل فعال إنشاء والتلاعب بالعديد من الحدود المستمدة من مقبض الإدخال أو متعددة الحدود الافتراضية الأخرى. فيما يلي طريقتان رئيسيتان:

  • التعبئة: تعمل هذه الطريقة على تحسين العمليات من خلال تجميع العناصر الأصغر المجاورة في ترتيب القاموس في عناصر أكبر. تستهدف عملية التعبئة كتل بحجم 2κ وتجمعها في مجال عالي الأبعاد.
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • 4
  • مشاركة
تعليق
0/400
NFTArchaeologistvip
· منذ 7 س
أشياء أخرى لا أفهمها تجعلني أشعر بالصداع
شاهد النسخة الأصليةرد0
ExpectationFarmervip
· منذ 15 س
كفاءة غريبة وغريبة وتستهلك المساحة
شاهد النسخة الأصليةرد0
gaslight_gasfeezvip
· منذ 15 س
الكلاب تتطور أسرع من 32 بت
شاهد النسخة الأصليةرد0
DAOdreamervip
· منذ 16 س
أعتقد أن تحسين الكفاءة أكثر إلحاحًا من الأمان.
شاهد النسخة الأصليةرد0
  • تثبيت