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

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

1 المقدمة

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

الجيل الأول من تشفير 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 في مجالات التوسيع الأكبر لضمان الأمان المطلوب.

عند بناء نظام إثبات قائم على مجال ثنائي، توجد مشكلتان عمليتان: في STARKs عند حساب تمثيل trace، يجب أن يكون حجم المجال المستخدم أكبر من درجة كثير الحدود؛ وعند الالتزام بشجرة Merkle في STARKs، يجب إجراء تشفير 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، تشمل طرق الاختزال الشائعة اختزال بارّيت، اختزال مونتغومري، وطرق اختزال خاصة للحقل المحدود مثل 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 من هذه الميزة لتحسين الكفاءة الحسابية. بالإضافة إلى ذلك، تبحث الورقة "حول الانعكاس الفعال في مجالات البرج ذات الصفة الثنائية" في تعقيد الحساب لعمليات الضرب والتربيع والعكس في مجال برج ثنائي مكون من 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
FlatTaxvip
· 08-12 10:00
أستعد لدراسة هذا
شاهد النسخة الأصليةرد0
RugResistantvip
· 08-12 09:57
من المهم الاستمرار في التحسين
شاهد النسخة الأصليةرد0
MintMastervip
· 08-12 09:56
النطاق الثنائي هو الأكثر أهمية
شاهد النسخة الأصليةرد0
quiet_lurkervip
· 08-12 09:52
تحليل التفاصيل في مكانه
شاهد النسخة الأصليةرد0
  • تثبيت