ابتكار Binius: مجال ثنائي يساعد في تحسين STARKs وضغط الدوائر الحسابية بكفاءة

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

1 المقدمة

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

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

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

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

  • Galois رمز التحقق من الرسالة ( GMAC )، بناءً على حقل F2128؛

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

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

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

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

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

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

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

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

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

  • Packing:هذه الطريقة من خلال
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • 3
  • إعادة النشر
  • مشاركة
تعليق
0/400
Web3Educatorvip
· 08-16 21:09
*تعديل النظارات الافتراضية* تحسين مثير للاهتمام بصراحة
شاهد النسخة الأصليةرد0
OnChain_Detectivevip
· 08-16 20:54
مقياس ستارك ميت للغاية بصراحة... سيطرة الحقل الثنائي
شاهد النسخة الأصليةرد0
StealthDeployervip
· 08-16 20:40
ستارك قد تم تحديثه مرة أخرى، أصبح يستهلك المزيد من الطاقة.
شاهد النسخة الأصليةرد0
  • تثبيت