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

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

1 المقدمة

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

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

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

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

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

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

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

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

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

قدمت 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 + المجال الثنائي. على وجه التحديد، تشمل بينياس خمس تقنيات رئيسية لتحقيق كفاءتها وأمانها. أولاً، يعتمد الأسلوب الحسابي على أبراج المجالات الثنائية (towers of binary fields) كأساس لعملياتها الحسابية، مما يسمح بإجراء عمليات مبسطة ضمن المجال الثنائي. ثانياً، قامت بينياس بتكييف فحص المنتج والاستبدال في بروتوكول إثبات Oracle التفاعلي (PIOP) الخاص بها، لضمان التحقق الآمن والفعال من التوافق بين المتغيرات واستبدالاتها. ثالثاً، قدم البروتوكول إثباتاً جديداً للازاحة المتعددة الحدود، مما يحسن كفاءة التحقق من العلاقات المتعددة الحدود في المجالات الصغيرة. رابعاً، استخدمت بينياس نسخة محسّنة من إثبات البحث لاسو، مما يوفر مرونة وأماناً قوياً لآلية البحث. وأخيراً، يستخدم البروتوكول نظام التزام متعدد الحدود للمجالات الصغيرة (Small-Field 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.

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

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

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

  • التعبئة: تعمل هذه الطريقة على تحسين العملية عن طريق تعبئة العناصر الأصغر المجاورة في ترتيب القاموس في عناصر أكبر. تستهدف عامل Pack العمليات على كتل بحجم 2κ، وتجمعها في عنصر واحد في مجال متعدد الأبعاد. من خلال التوسع المتعدد الخطوط.
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • 6
  • مشاركة
تعليق
0/400
BearMarketSurvivorvip
· 07-19 11:58
تحسين شيء ما
شاهد النسخة الأصليةرد0
ponzi_poetvip
· 07-19 08:41
العمليات البتية جيدة حقًا
شاهد النسخة الأصليةرد0
LayerZeroHerovip
· 07-17 05:30
هل هناك مشاكل توافقية
شاهد النسخة الأصليةرد0
ReverseFOMOguyvip
· 07-16 15:20
معقد للغاية ولا أفهمه
شاهد النسخة الأصليةرد0
WinterWarmthCatvip
· 07-16 15:06
النطاق الثنائي موثوق للغاية
شاهد النسخة الأصليةرد0
AlwaysAnonvip
· 07-16 15:05
مجال ثنائي مفيد حقًا
شاهد النسخة الأصليةرد0
  • تثبيت