Binius STARKs: نظام إثبات المعرفة الصفري الفعال في المجال الثنائي

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

1. المقدمة

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

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

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

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

  • Galois رمز مصادقة الرسائل ( GMAC )، مستند إلى مجال F2128;

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

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

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

عند بناء نظام إثبات يعتمد على مجال ثنائي، هناك مشكلتان عمليتان: عند حساب تمثيل المسار في STARKs، يجب أن يكون حجم المجال أكبر من درجة كثير الحدود؛ وعند الالتزام بشجرة ميركل في 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 المجال المحدود: حساب مستند إلى towers of binary fields

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

حيث تشير "canonical" إلى الشكل الفريد والمباشر للعنصر في مجال الثنائي. على سبيل المثال، في أبسط مجال ثنائي F2، يمكن أن يتم رسم أي سلسلة من k بت مباشرة إلى عنصر مجال ثنائي من k بت. هذا يختلف عن مجال الأعداد الأولية، حيث لا يمكن لمجال الأعداد الأولية تقديم هذا التمثيل القياسي ضمن عدد محدد من البتات. على الرغم من أن مجال الأعداد الأولية 32 بت يمكن أن يتضمن 32 بت، إلا أنه ليس كل سلسلة من 32 بت يمكن أن تتوافق بشكل فريد مع عنصر مجال، بينما يتمتع المجال الثنائي بهذه السهولة في التوافق من واحد إلى واحد. في مجال الأعداد الأولية Fp، تشمل طرق الاختزال الشائعة اختزال Barrett، واختزال Montgomery، وطرق اختزال خاصة لمجالات محدودة مثل Mersenne-31 أو Goldilocks-64. في مجال الثنائي F2k، تشمل طرق الاختزال الشائعة اختزال خاص ( كما هو مستخدم في AES )، واختزال Montgomery ( كما هو مستخدم في POLYVAL )، وطرق الاختزال التكرارية ( كما هو الحال في Tower). تشير الورقة البحثية "استكشاف مساحة تصميم ECC-Hardware Implementations لمجالات الأعداد الأولية مقابل المجالات الثنائية" إلى أن المجال الثنائي لا يحتاج إلى إدخال حمل في عمليات الجمع والضرب، وأن عملية التربيع في المجال الثنائي فعالة للغاية، لأنها تتبع القاعدة المبسطة (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 Product و 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 هذه المشكلة بشكل صحيح، حتى في حالة كون المقام صفراً، يمكن لـ Binius's ProductCheck الاستمرار في المعالجة، مما يسمح بالتوسع إلى أي قيمة حاصل ضرب.

  • التحقق من التبديل عبر الأعمدة: HyperPlonk لا يدعم هذه الميزة; يدعم Binius التحقق من التبديل بين عدة أعمدة، مما يمكّن Binius من معالجة حالات ترتيب متعددة الحدود الأكثر تعقيدًا.

لذلك ، يقوم Binius من خلال

شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • 1
  • مشاركة
تعليق
0/400
MetaverseLandladyvip
· 07-26 09:35
السرعة بطيئة جدا
شاهد النسخة الأصليةرد0
  • تثبيت