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

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

1 المقدمة

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

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

الجدول 1: مسار اشتقاق STARKs

| الأجيال | عرض البيانات | الميزات | |------|------|------| | الجيل الأول | 252 بت | نطاق واسع، إهدار كبير في المساحة | | الجيل الثاني | 64 بت | نطاق متوسط، هدر المساحة كبير | | الجيل الثالث | 32 بت | مجال صغير، لا يزال هناك مساحة مهدرة | | الجيل الرابع | 1bit | مجال ثنائي، بدون مساحة ضائعة |

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

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

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

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

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

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

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

بينيوس: 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 ). تشير الورقة البحثية "Exploring the Design Space of Prime Field vs. Binary Field ECC-Hardware Implementations" إلى أن المجال الثنائي لا يتطلب إدخال حمل في العمليات الجمع والضرب، وأن عملية التربيع في المجال الثنائي فعالة جداً لأنها تتبع قاعدة التبسيط (X + Y )2 = X2 + Y 2.

كما هو موضح في الشكل 1، سلسلة ذات 128 بت: يمكن تفسير هذه السلسلة بعدة طرق في سياق مجال ثنائي. يمكن اعتبارها عنصرًا فريدًا في مجال ثنائي مكون من 128 بت، أو يمكن تحليلها إلى عنصرين من مجال بارتفاع 64 بت، أربعة عناصر من مجال بارتفاع 32 بت، 16 عنصرًا من مجال بارتفاع 8 بت، أو 128 عنصرًا من مجال F2. لا تتطلب مرونة هذا التمثيل أي تكلفة حسابية، بل هي مجرد تحويل نوع لسلسلة البتات (typecast)، وهي خاصية مثيرة للاهتمام ومفيدة للغاية. في الوقت نفسه، يمكن حزم عناصر المجال الصغيرة في عناصر مجال أكبر دون الحاجة إلى تكلفة حسابية إضافية. يستفيد بروتوكول Binius من هذه الخاصية لتحسين الكفاءة الحسابية. بالإضافة إلى ذلك، تستكشف الورقة البحثية "في الانقلاب الفعال في مجالات البرج ذات الخصائص الثنائية" تعقيد الحسابات لعمليات الضرب، التربيع والعكس في مجالات ثنائية بارتفاع 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، بل توفر أيضًا لم يتم

شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • 5
  • مشاركة
تعليق
0/400
SelfCustodyIssuesvip
· 07-11 16:18
هذا معدل النمو ينخفض بشكل حاد
شاهد النسخة الأصليةرد0
CryptoTarotReadervip
· 07-11 09:56
المبرمجون بدأوا يتنافسون مرة أخرى، هل هذا ضروري؟
شاهد النسخة الأصليةرد0
NFTRegretfulvip
· 07-08 16:51
32 بت لا تكفي، الأمر صعب.
شاهد النسخة الأصليةرد0
ImpermanentPhilosophervip
· 07-08 16:50
هذا التحسين يتقدم ببطء شديد... حتى 32 يبدو طويلاً
شاهد النسخة الأصليةرد0
BearMarketSurvivorvip
· 07-08 16:33
32 بت كبير جدًا، من يلف سيخسر
شاهد النسخة الأصليةرد0
  • تثبيت