أحد الأسباب الرئيسية لانخفاض كفاءة STARKs هو: أن معظم القيم في البرامج الفعلية صغيرة نسبيًا، مثل الفهارس في حلقات for، والقيم المنطقية، والعدادات، إلخ. ومع ذلك، لضمان أمان الإثباتات القائمة على شجرة ميركل، عند استخدام ترميز ريد-سولومون لتوسيع البيانات، ستشغل العديد من القيم الزائدة الإضافية النطاق بالكامل، حتى لو كانت القيم الأصلية صغيرة جدًا. لحل هذه المشكلة، أصبح تقليل حجم النطاق استراتيجية رئيسية.
كما هو موضح في الجدول 1، عرض ترميز الجيل الأول من STARKs هو 252 بت، وعرض ترميز الجيل الثاني من STARKs هو 64 بت، وعرض ترميز الجيل الثالث من STARKs هو 32 بت، لكن عرض الترميز 32 بت لا يزال يحتوي على مساحة هائلة من الفضاء المهدر. بالمقارنة، يسمح المجال الثنائي بإجراء عمليات مباشرة على البتات، مما يجعل الترميز مضغوطًا وفعالًا دون أي مساحة مهدر، أي الجيل الرابع من STARKs.
الجدول 1: مسار تطور STARKs
| الجبر | عرض كود البت | تنفيذ تمثيلي |
|------|----------|------------|
| الجيل الأول | 252bit | StarkWare |
| الجيل الثاني | 64 بت | Plonky2 |
| الجيل الثالث | 32بت | BabyBear |
| الجيل الرابع | 1bit | Binius |
مقارنةً بـ Goldilocks و BabyBear و Mersenne31 وغيرها من الأبحاث الحديثة حول الحقول المحدودة، فإن دراسة الحقول الثنائية يمكن إرجاعها إلى الثمانينيات من القرن الماضي. حاليًا، تم استخدام الحقول الثنائية على نطاق واسع في علم التشفير، ومن الأمثلة النموذجية ما يلي:
معيار التشفير المتقدم ( AES )، مستند إلى مجال F28؛
Galois رمز المصادقة ( GMAC )، مستند إلى حقل F2128؛
رمز QR، يستخدم تشفير Reed-Solomon القائم على F28؛
بروتوكول FRI الأصلي و zk-STARK، بالإضافة إلى دالة تجزئة Grøstl التي وصلت إلى نهائي SHA-3، والتي تعتمد على مجال F28، هي خوارزمية تجزئة مناسبة جدًا للتكرار.
عند استخدام مجالات أصغر، تصبح عمليات توسيع المجال أكثر أهمية لضمان الأمان. يعتمد المجال الثنائي الذي تستخدمه Binius تمامًا على توسيع المجال لضمان أمانه وقابليته للاستخدام العملي. معظم المتعددات التي تتعلق بحسابات Prover لا تحتاج إلى الدخول في توسيع المجال، ولكن يمكنها العمل تحت المجال الأساسي، مما يحقق كفاءة عالية في المجالات الصغيرة. ومع ذلك، لا يزال يتعين على فحص النقاط العشوائية وحساب FRI أن تتعمق في توسيع مجال أكبر لضمان الأمان المطلوب.
عند بناء نظام الإثبات على أساس المجال الثنائي، توجد مشكلتان عمليتان: عند حساب تمثيل trace في STARKs، يجب أن يكون حجم المجال المستخدم أكبر من درجة كثير الحدود؛ وعند الالتزام بشجرة Merkle في STARKs، يجب إجراء ترميز Reed-Solomon، ويجب أن يكون حجم المجال المستخدم أكبر من الحجم بعد التمديد.
قدم 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 ). تشير الورقة "استكشاف مساحة تصميم ECC-Hardware Implementations بين الحقول الأولية والحقول الثنائية" إلى أن الحقول الثنائية لا تحتاج إلى إدخال حمل في كل من عمليات الجمع والضرب، وأن عملية التربيع في الحقل الثنائي فعالة جداً لأنها تتبع قاعدة التبسيط (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، حيث يتبنى مجموعة من آليات التحقق الأساسية المستخدمة للتحقق من صحة المتعددات والمجموعات متعددة المتغيرات. تشمل هذه الفحوصات الأساسية:
GateCheck: التحقق من أن الشهادة السرية ω والمدخل العام x تفيان بعلاقة العمليات الدائرية C(x, ω)=0، لضمان تشغيل الدائرة بشكل صحيح.
PermutationCheck: تحقق مما إذا كانت نتائج تقييم متعددات الحدود المتغيرة f و g على مكعب بولياني هي علاقة تبديلية f###x( = f)π(x)(، لضمان اتساق ترتيب متغيرات الحدود.
LookupCheck: تحقق مما إذا كانت قيمة多项式 موجودة في جدول البحث المحدد، أي f(Bµ) ⊆ T)Bµ(، لضمان وجود بعض القيم ضمن النطاق المحدد.
MultisetCheck: تحقق من ما إذا كانت مجموعتان من المتغيرات متعددة القيم متساويتين، أي {)x1,i,x2,(}i∈H={)y1,i,y2,(}i∈H، لضمان التناسق بين المجموعات المتعددة.
ProductCheck: تحقق مما إذا كانت قيمة كثيرات الحدود المعقولة على مكعب بولياني تعادل قيمة معينة مُعلنة ∏x∈Hµ f)x( = s، للتأكد من صحة حاصل ضرب كثيرات الحدود.
ZeroCheck: التحقق مما إذا كانت نقطة عشوائية متعددة المتغيرات في مكعب بولي على أنها صفر ∏x∈Hµ f)x( = 0, ∀x ∈ Bµ، لضمان توزيع نقاط الصفر للمتعددات.
SumCheck: التحقق مما إذا كانت قيمة مجموع متعددة المتغيرات متعددة الحدود تتطابق مع القيمة المعلنة ∑x∈Hµ f)x( = s. من خلال تحويل مشكلة تقييم متعددة الحدود متعددة المتغيرات إلى تقييم متعددة حدود ذات متغير واحد، يتم تقليل تعقيد حسابات الجهة المراجعة. بالإضافة إلى ذلك، يسمح SumCheck أيضًا بالمعالجة الدفعة، من خلال إدخال أرقام عشوائية، لبناء تركيبات خطية لتحقيق معالجة دفعات من حالات التحقق من المجموع.
BatchCheck: بناءً على SumCheck، يتحقق من صحة تقييمات متعددة للمتعددات المتغيرة المتعددة، لتحسين كفاءة البروتوكول.
على الرغم من أن Binius و HyperPlonk لديهما العديد من أوجه التشابه في تصميم البروتوكول، إلا أن Binius قد أجرى تحسينات في المجالات الثلاثة التالية:
تحسين ProductCheck: في HyperPlonk، يتطلب ProductCheck أن يكون المقام U غير صفر في كل مكان على المكعب العالي، ويجب أن يكون الناتج مساوياً لقيمة محددة؛ قامت Binius بتبسيط هذه العملية من خلال تخصيص هذه القيمة إلى 1، مما يقلل من تعقيد الحساب.
معالجة مشكلة القسمة على الصفر: HyperPlonk لم يتمكن من معالجة حالات القسمة على الصفر بشكل كافٍ، مما أدى إلى عدم القدرة على التأكيد على أن U غير صفر في المكعب الفائق؛ بينما عالجت Binius هذه المشكلة بشكل صحيح، حتى في حالة كون المقام صفر، يمكن لـ ProductCheck الخاص بـ Binius الاستمرار في المعالجة، مما يسمح بالتوسع إلى أي قيمة حاصل ضرب.
تحقق من التبديل عبر الأعمدة: HyperPlonk لا يتضمن هذه الوظيفة; يدعم Binius إجراء تحقق من التبديل بين عدة أعمدة، مما يمكّن Binius من معالجة حالات ترتيب متعدد الحدود الأكثر تعقيدًا.
لذلك، قامت Binius بتحسين آلية PIOPSumCheck الحالية، مما زاد من مرونة البروتوكول وكفاءته.
! [أبحاث Bitlayer: تحليل مبدأ Binius STARKs والتفكير الأمثلي])https://img-cdn.gateio.im/webp-social/moments-1fb9ecbf9b3b2beaec758f3ab686a012.webp(
! [أبحاث Bitlayer: تحليل مبدأ Binius STARKs والتفكير الأمثل])https://img-cdn.gateio.im/webp-social/moments-a5d031be4711f29ef910057f4e44a118.webp(
! [بيتل
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
Binius: STARKs المحسنة على مجال ثنائي
تحليل مبادئ Binius STARKs وتأملات في تحسينها
1 المقدمة
أحد الأسباب الرئيسية لانخفاض كفاءة STARKs هو: أن معظم القيم في البرامج الفعلية صغيرة نسبيًا، مثل الفهارس في حلقات for، والقيم المنطقية، والعدادات، إلخ. ومع ذلك، لضمان أمان الإثباتات القائمة على شجرة ميركل، عند استخدام ترميز ريد-سولومون لتوسيع البيانات، ستشغل العديد من القيم الزائدة الإضافية النطاق بالكامل، حتى لو كانت القيم الأصلية صغيرة جدًا. لحل هذه المشكلة، أصبح تقليل حجم النطاق استراتيجية رئيسية.
كما هو موضح في الجدول 1، عرض ترميز الجيل الأول من STARKs هو 252 بت، وعرض ترميز الجيل الثاني من STARKs هو 64 بت، وعرض ترميز الجيل الثالث من STARKs هو 32 بت، لكن عرض الترميز 32 بت لا يزال يحتوي على مساحة هائلة من الفضاء المهدر. بالمقارنة، يسمح المجال الثنائي بإجراء عمليات مباشرة على البتات، مما يجعل الترميز مضغوطًا وفعالًا دون أي مساحة مهدر، أي الجيل الرابع من STARKs.
الجدول 1: مسار تطور STARKs
| الجبر | عرض كود البت | تنفيذ تمثيلي | |------|----------|------------| | الجيل الأول | 252bit | StarkWare | | الجيل الثاني | 64 بت | Plonky2 | | الجيل الثالث | 32بت | BabyBear |
| الجيل الرابع | 1bit | Binius |
مقارنةً بـ Goldilocks و BabyBear و Mersenne31 وغيرها من الأبحاث الحديثة حول الحقول المحدودة، فإن دراسة الحقول الثنائية يمكن إرجاعها إلى الثمانينيات من القرن الماضي. حاليًا، تم استخدام الحقول الثنائية على نطاق واسع في علم التشفير، ومن الأمثلة النموذجية ما يلي:
عند استخدام مجالات أصغر، تصبح عمليات توسيع المجال أكثر أهمية لضمان الأمان. يعتمد المجال الثنائي الذي تستخدمه Binius تمامًا على توسيع المجال لضمان أمانه وقابليته للاستخدام العملي. معظم المتعددات التي تتعلق بحسابات Prover لا تحتاج إلى الدخول في توسيع المجال، ولكن يمكنها العمل تحت المجال الأساسي، مما يحقق كفاءة عالية في المجالات الصغيرة. ومع ذلك، لا يزال يتعين على فحص النقاط العشوائية وحساب FRI أن تتعمق في توسيع مجال أكبر لضمان الأمان المطلوب.
عند بناء نظام الإثبات على أساس المجال الثنائي، توجد مشكلتان عمليتان: عند حساب تمثيل trace في STARKs، يجب أن يكون حجم المجال المستخدم أكبر من درجة كثير الحدود؛ وعند الالتزام بشجرة Merkle في STARKs، يجب إجراء ترميز Reed-Solomon، ويجب أن يكون حجم المجال المستخدم أكبر من الحجم بعد التمديد.
قدم 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 ). تشير الورقة "استكشاف مساحة تصميم ECC-Hardware Implementations بين الحقول الأولية والحقول الثنائية" إلى أن الحقول الثنائية لا تحتاج إلى إدخال حمل في كل من عمليات الجمع والضرب، وأن عملية التربيع في الحقل الثنائي فعالة جداً لأنها تتبع قاعدة التبسيط (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، حيث يتبنى مجموعة من آليات التحقق الأساسية المستخدمة للتحقق من صحة المتعددات والمجموعات متعددة المتغيرات. تشمل هذه الفحوصات الأساسية:
GateCheck: التحقق من أن الشهادة السرية ω والمدخل العام x تفيان بعلاقة العمليات الدائرية C(x, ω)=0، لضمان تشغيل الدائرة بشكل صحيح.
PermutationCheck: تحقق مما إذا كانت نتائج تقييم متعددات الحدود المتغيرة f و g على مكعب بولياني هي علاقة تبديلية f###x( = f)π(x)(، لضمان اتساق ترتيب متغيرات الحدود.
LookupCheck: تحقق مما إذا كانت قيمة多项式 موجودة في جدول البحث المحدد، أي f(Bµ) ⊆ T)Bµ(، لضمان وجود بعض القيم ضمن النطاق المحدد.
MultisetCheck: تحقق من ما إذا كانت مجموعتان من المتغيرات متعددة القيم متساويتين، أي {)x1,i,x2,(}i∈H={)y1,i,y2,(}i∈H، لضمان التناسق بين المجموعات المتعددة.
ProductCheck: تحقق مما إذا كانت قيمة كثيرات الحدود المعقولة على مكعب بولياني تعادل قيمة معينة مُعلنة ∏x∈Hµ f)x( = s، للتأكد من صحة حاصل ضرب كثيرات الحدود.
ZeroCheck: التحقق مما إذا كانت نقطة عشوائية متعددة المتغيرات في مكعب بولي على أنها صفر ∏x∈Hµ f)x( = 0, ∀x ∈ Bµ، لضمان توزيع نقاط الصفر للمتعددات.
SumCheck: التحقق مما إذا كانت قيمة مجموع متعددة المتغيرات متعددة الحدود تتطابق مع القيمة المعلنة ∑x∈Hµ f)x( = s. من خلال تحويل مشكلة تقييم متعددة الحدود متعددة المتغيرات إلى تقييم متعددة حدود ذات متغير واحد، يتم تقليل تعقيد حسابات الجهة المراجعة. بالإضافة إلى ذلك، يسمح SumCheck أيضًا بالمعالجة الدفعة، من خلال إدخال أرقام عشوائية، لبناء تركيبات خطية لتحقيق معالجة دفعات من حالات التحقق من المجموع.
BatchCheck: بناءً على SumCheck، يتحقق من صحة تقييمات متعددة للمتعددات المتغيرة المتعددة، لتحسين كفاءة البروتوكول.
على الرغم من أن Binius و HyperPlonk لديهما العديد من أوجه التشابه في تصميم البروتوكول، إلا أن Binius قد أجرى تحسينات في المجالات الثلاثة التالية:
تحسين ProductCheck: في HyperPlonk، يتطلب ProductCheck أن يكون المقام U غير صفر في كل مكان على المكعب العالي، ويجب أن يكون الناتج مساوياً لقيمة محددة؛ قامت Binius بتبسيط هذه العملية من خلال تخصيص هذه القيمة إلى 1، مما يقلل من تعقيد الحساب.
معالجة مشكلة القسمة على الصفر: HyperPlonk لم يتمكن من معالجة حالات القسمة على الصفر بشكل كافٍ، مما أدى إلى عدم القدرة على التأكيد على أن U غير صفر في المكعب الفائق؛ بينما عالجت Binius هذه المشكلة بشكل صحيح، حتى في حالة كون المقام صفر، يمكن لـ ProductCheck الخاص بـ Binius الاستمرار في المعالجة، مما يسمح بالتوسع إلى أي قيمة حاصل ضرب.
تحقق من التبديل عبر الأعمدة: HyperPlonk لا يتضمن هذه الوظيفة; يدعم Binius إجراء تحقق من التبديل بين عدة أعمدة، مما يمكّن Binius من معالجة حالات ترتيب متعدد الحدود الأكثر تعقيدًا.
لذلك، قامت Binius بتحسين آلية PIOPSumCheck الحالية، مما زاد من مرونة البروتوكول وكفاءته.
! [أبحاث Bitlayer: تحليل مبدأ Binius STARKs والتفكير الأمثلي])https://img-cdn.gateio.im/webp-social/moments-1fb9ecbf9b3b2beaec758f3ab686a012.webp(
! [أبحاث Bitlayer: تحليل مبدأ Binius STARKs والتفكير الأمثل])https://img-cdn.gateio.im/webp-social/moments-a5d031be4711f29ef910057f4e44a118.webp(
! [بيتل