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

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

1 المقدمة

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

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

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

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

  • Galois رمز المصادقة ( GMAC ) ، يعتمد على حقل F2128؛

  • رمز QR ، يستخدم ترميز Reed-Solomon القائم على F28؛

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

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

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

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

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

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

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

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

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

! أبحاث Bitlayer: تحليل مبدأ Binius STARKs والتفكير الأمثل

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، بل وضعت أيضًا الأساس لأنظمة الإثبات المستندة إلى الحقول الثنائية في المستقبل.

! أبحاث Bitlayer: تحليل مبدأ Binius STARKs والتفكير الأمثلي

2.3 PIOP: حجة التحول المتعددة الخطوط الجديدة------تنطبق على مكعب بولياني

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

  • التعبئة: تعتمد هذه الطريقة على ضرب العناصر الأصغر في المواقع المجاورة في ترتيب القاموس.
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • 4
  • إعادة النشر
  • مشاركة
تعليق
0/400
FancyResearchLabvip
· منذ 20 س
هل جاء مخطط ضغط آخر مزخرف؟ لقد بحثنا في لو بان 7 مرات عدة.
شاهد النسخة الأصليةرد0
ChainMelonWatchervip
· 08-15 18:39
أوه، يمكن أن تزيد الكفاءة بشكل كبير!
شاهد النسخة الأصليةرد0
SolidityNewbievip
· 08-14 15:50
تحسين الترميز بهذا القدر مذهل للغاية
شاهد النسخة الأصليةرد0
SnapshotLaborervip
· 08-14 15:32
النسخة الثانية أخيرًا أصبحت 32 بت بعد جهد كبير.
شاهد النسخة الأصليةرد0
  • تثبيت