أحد الأسباب الرئيسية لعدم كفاءة 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، يجب أن يكون حجم الحقل المستخدم أكبر من درجة كثيرة الحدود؛ وعند الالتزام بشجرة ميركل في 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 + المجال الثنائي. بشكل أكثر تحديدًا، تتضمن بينياس خمس تقنيات رئيسية لتحقيق كفاءتها وأمانها. أولاً، تشكل الحسابات المبنية على الأبراج من المجالات الثنائية (towers of binary fields) أساس عملياتها الحسابية، مما يمكنها من إجراء عمليات مبسطة داخل المجال الثنائي. ثانيًا، قامت بينياس بتكييف فحص المنتج والاستبدال الخاص بـ HyperPlonk في بروتوكول إثبات Oracle التفاعلي (PIOP) الخاص بها، مما يضمن فحص متسق وآمن وفعال بين المتغيرات واستبدالاتها. ثالثًا، قدم البروتوكول إثباتًا جديدًا لنقل متعدد الخطوط، مما يعزز كفاءة التحقق من العلاقات متعددة الخطوط على المجالات الصغيرة. رابعًا، استخدمت بينياس إصدارًا محسّنًا من إثبات البحث Lasso، مما يوفر مرونة وأمانًا قويًا لآلية البحث. أخيرًا، يستخدم البروتوكول خطة التزام متعددة الحدود على المجالات الصغيرة (Small-Field PCS)، مما يسمح له بتنفيذ نظام إثبات فعال على المجال الثنائي ويقلل من النفقات المرتبطة عادةً بالمجالات الكبيرة.
2.1 المجالات المحدودة: الحسابات القائمة على أبراج الحقول الثنائية
حقل ثنائي البرج هو المفتاح لتحقيق حسابات سريعة يمكن التحقق منها، ويرجع ذلك أساسًا إلى جانبين: الحسابات الفعالة والتعزيز الفعال. يدعم الحقل الثنائي بشكل أساسي عمليات حسابية عالية الكفاءة، مما يجعله خيارًا مثاليًا للتطبيقات التشفيرية التي تتطلب أداءً حساسًا. علاوة على ذلك، تدعم بنية الحقل الثنائي عملية تعزيم مبسطة، أي أن العمليات التي تُنفذ على الحقل الثنائي يمكن تمثيلها بشكل جبر بسيط وسهل التحقق منه. تجعل هذه الخصائص، جنبًا إلى جنب مع القدرة على الاستفادة الكاملة من خصائصها الهيكلية من خلال هيكل البرج، الحقل الثنائي مناسبًا بشكل خاص لأنظمة الإثبات القابلة للتوسع مثل Binius.
يشير "canonical" إلى التمثيل الفريد والمباشر للعناصر في حقل ثنائي. على سبيل المثال، في أبسط حقل ثنائي F2، يمكن لأي سلسلة مكونة من k بت أن تُعادل مباشرة عنصرًا في الحقل الثنائي يتكون من k بت. هذا يختلف عن الحقول الأولية، حيث لا يمكن للحقول الأولية تقديم هذا التمثيل القياسي ضمن طول بت معين. على الرغم من أن الحقل الأولي المكون من 32 بت يمكن أن يتضمن ضمن 32 بت، إلا أن ليس كل سلسلة مكونة من 32 بت يمكن أن تتطابق بشكل فريد مع عنصر في الحقل، بينما يوفر الحقل الثنائي هذه السهولة في التوافق الواحد إلى واحد. في الحقل الأولي Fp، تشمل طرق الاختزال الشائعة اختزال Barrett، واختزال Montgomery، وطرق الاختزال الخاصة للحقل المحدود المحدد مثل Mersenne-31 أو Goldilocks-64. في الحقل الثنائي F2k، تشمل طرق الاختزال الشائعة الاختزال الخاص (كما هو مستخدم في AES)، واختزال Montgomery (كما هو مستخدم في POLYVAL)، والاختزال التكراري (كما هو مستخدم في Tower). تشير الورقة البحثية "استكشاف مساحة تصميم تنفيذات الأجهزة ECC لحقل أولي مقابل حقل ثنائي" إلى أن الحقل الثنائي لا يحتاج إلى إدخال حمل في عمليات الجمع والضرب، وأن عملية التربيع في الحقل الثنائي فعالة جدًا لأنها تتبع القاعدة المبسطة (X + Y )2 = X2 + Y 2.
كما هو موضح في الشكل 1، سلسلة بطول 128 بت: يمكن تفسير هذه السلسلة بطرق متعددة في سياق المجال الثنائي. يمكن اعتبارها عنصرًا فريدًا في المجال الثنائي بطول 128 بت، أو يمكن تحليلها إلى عنصرين بطول 64 بت من مجالات البرج، أو أربعة عناصر بطول 32 بت من مجالات البرج، أو 16 عنصرًا بطول 8 بت من مجالات البرج، أو 128 عنصرًا من مجال F2. هذه المرونة في التمثيل لا تتطلب أي تكلفة حسابية، بل مجرد تحويل نوع لسلسلة البتات، وهي خاصية مثيرة للاهتمام ومفيدة للغاية. في نفس الوقت، يمكن حزم عناصر المجال الصغيرة في عناصر مجال أكبر دون الحاجة إلى تكلفة حسابية إضافية. يستفيد بروتوكول Binius من هذه الميزة لتعزيز كفاءة الحساب. بالإضافة إلى ذلك، تستعرض الورقة "حول الانقلاب الفعال في مجالات البرج ذات الخاصية الثنائية" تعقيد الحسابات لعمليات الضرب والتربيع والانقلاب في مجال برج ثنائي بطول n (يمكن تفكيكه إلى مجال فرعي بطول m).
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 الحالية، برفع مرونة وكفاءة البروتوكول، خاصة عند معالجة التحقق من المتعددات المتغيرة المعقدة، حيث قدمت دعمًا أقوى للوظائف. لم تحل هذه التحسينات فقط القيود في HyperPlonk، بل وضعت أيضًا الأساس لأنظمة الإثبات القائمة على الحقول الثنائية في المستقبل.
2.3 PIOP:حجة التحويل المتعددة الخطوط الجديدة------مناسب للهيبركيوب البولياني
في بروتوكول Binius ، يعتبر بناء ومعالجة المتعددات الافتراضية واحدة من التقنيات الرئيسية ، التي تمكن من إنشاء والتعامل بفعالية مع المتعددات المشتقة من مقبض الإدخال أو متعددات افتراضية أخرى. فيما يلي طريقتان رئيسيتان:
التعبئة:
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تسجيلات الإعجاب 9
أعجبني
9
3
مشاركة
تعليق
0/400
BlindBoxVictim
· منذ 21 س
32bit؟ صديق لا يزال أفضل من استخدام الورق والقلم للحساب
شاهد النسخة الأصليةرد0
AirdropworkerZhang
· منذ 21 س
لا زلت تتحدث عن عرض المقعد، أنا فقط أريد أن أدفع المال.
Binius: خطة STARKs جديدة فعالة تعتمد على مجال ثنائي
تحليل مبادئ Binius STARKs وأفكار تحسينها
1 المقدمة
أحد الأسباب الرئيسية لعدم كفاءة 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، يجب أن يكون حجم الحقل المستخدم أكبر من درجة كثيرة الحدود؛ وعند الالتزام بشجرة ميركل في 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 + المجال الثنائي. بشكل أكثر تحديدًا، تتضمن بينياس خمس تقنيات رئيسية لتحقيق كفاءتها وأمانها. أولاً، تشكل الحسابات المبنية على الأبراج من المجالات الثنائية (towers of binary fields) أساس عملياتها الحسابية، مما يمكنها من إجراء عمليات مبسطة داخل المجال الثنائي. ثانيًا، قامت بينياس بتكييف فحص المنتج والاستبدال الخاص بـ HyperPlonk في بروتوكول إثبات Oracle التفاعلي (PIOP) الخاص بها، مما يضمن فحص متسق وآمن وفعال بين المتغيرات واستبدالاتها. ثالثًا، قدم البروتوكول إثباتًا جديدًا لنقل متعدد الخطوط، مما يعزز كفاءة التحقق من العلاقات متعددة الخطوط على المجالات الصغيرة. رابعًا، استخدمت بينياس إصدارًا محسّنًا من إثبات البحث Lasso، مما يوفر مرونة وأمانًا قويًا لآلية البحث. أخيرًا، يستخدم البروتوكول خطة التزام متعددة الحدود على المجالات الصغيرة (Small-Field PCS)، مما يسمح له بتنفيذ نظام إثبات فعال على المجال الثنائي ويقلل من النفقات المرتبطة عادةً بالمجالات الكبيرة.
2.1 المجالات المحدودة: الحسابات القائمة على أبراج الحقول الثنائية
حقل ثنائي البرج هو المفتاح لتحقيق حسابات سريعة يمكن التحقق منها، ويرجع ذلك أساسًا إلى جانبين: الحسابات الفعالة والتعزيز الفعال. يدعم الحقل الثنائي بشكل أساسي عمليات حسابية عالية الكفاءة، مما يجعله خيارًا مثاليًا للتطبيقات التشفيرية التي تتطلب أداءً حساسًا. علاوة على ذلك، تدعم بنية الحقل الثنائي عملية تعزيم مبسطة، أي أن العمليات التي تُنفذ على الحقل الثنائي يمكن تمثيلها بشكل جبر بسيط وسهل التحقق منه. تجعل هذه الخصائص، جنبًا إلى جنب مع القدرة على الاستفادة الكاملة من خصائصها الهيكلية من خلال هيكل البرج، الحقل الثنائي مناسبًا بشكل خاص لأنظمة الإثبات القابلة للتوسع مثل Binius.
يشير "canonical" إلى التمثيل الفريد والمباشر للعناصر في حقل ثنائي. على سبيل المثال، في أبسط حقل ثنائي F2، يمكن لأي سلسلة مكونة من k بت أن تُعادل مباشرة عنصرًا في الحقل الثنائي يتكون من k بت. هذا يختلف عن الحقول الأولية، حيث لا يمكن للحقول الأولية تقديم هذا التمثيل القياسي ضمن طول بت معين. على الرغم من أن الحقل الأولي المكون من 32 بت يمكن أن يتضمن ضمن 32 بت، إلا أن ليس كل سلسلة مكونة من 32 بت يمكن أن تتطابق بشكل فريد مع عنصر في الحقل، بينما يوفر الحقل الثنائي هذه السهولة في التوافق الواحد إلى واحد. في الحقل الأولي Fp، تشمل طرق الاختزال الشائعة اختزال Barrett، واختزال Montgomery، وطرق الاختزال الخاصة للحقل المحدود المحدد مثل Mersenne-31 أو Goldilocks-64. في الحقل الثنائي F2k، تشمل طرق الاختزال الشائعة الاختزال الخاص (كما هو مستخدم في AES)، واختزال Montgomery (كما هو مستخدم في POLYVAL)، والاختزال التكراري (كما هو مستخدم في Tower). تشير الورقة البحثية "استكشاف مساحة تصميم تنفيذات الأجهزة ECC لحقل أولي مقابل حقل ثنائي" إلى أن الحقل الثنائي لا يحتاج إلى إدخال حمل في عمليات الجمع والضرب، وأن عملية التربيع في الحقل الثنائي فعالة جدًا لأنها تتبع القاعدة المبسطة (X + Y )2 = X2 + Y 2.
كما هو موضح في الشكل 1، سلسلة بطول 128 بت: يمكن تفسير هذه السلسلة بطرق متعددة في سياق المجال الثنائي. يمكن اعتبارها عنصرًا فريدًا في المجال الثنائي بطول 128 بت، أو يمكن تحليلها إلى عنصرين بطول 64 بت من مجالات البرج، أو أربعة عناصر بطول 32 بت من مجالات البرج، أو 16 عنصرًا بطول 8 بت من مجالات البرج، أو 128 عنصرًا من مجال F2. هذه المرونة في التمثيل لا تتطلب أي تكلفة حسابية، بل مجرد تحويل نوع لسلسلة البتات، وهي خاصية مثيرة للاهتمام ومفيدة للغاية. في نفس الوقت، يمكن حزم عناصر المجال الصغيرة في عناصر مجال أكبر دون الحاجة إلى تكلفة حسابية إضافية. يستفيد بروتوكول Binius من هذه الميزة لتعزيز كفاءة الحساب. بالإضافة إلى ذلك، تستعرض الورقة "حول الانقلاب الفعال في مجالات البرج ذات الخاصية الثنائية" تعقيد الحسابات لعمليات الضرب والتربيع والانقلاب في مجال برج ثنائي بطول n (يمكن تفكيكه إلى مجال فرعي بطول m).
! أبحاث Bitlayer: تحليل مبدأ Binius STARKs والتفكير الأمثل
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 الحالية، برفع مرونة وكفاءة البروتوكول، خاصة عند معالجة التحقق من المتعددات المتغيرة المعقدة، حيث قدمت دعمًا أقوى للوظائف. لم تحل هذه التحسينات فقط القيود في HyperPlonk، بل وضعت أيضًا الأساس لأنظمة الإثبات القائمة على الحقول الثنائية في المستقبل.
! أبحاث Bitlayer: تحليل مبدأ Binius STARKs والتفكير الأمثلي
2.3 PIOP:حجة التحويل المتعددة الخطوط الجديدة------مناسب للهيبركيوب البولياني
في بروتوكول Binius ، يعتبر بناء ومعالجة المتعددات الافتراضية واحدة من التقنيات الرئيسية ، التي تمكن من إنشاء والتعامل بفعالية مع المتعددات المشتقة من مقبض الإدخال أو متعددات افتراضية أخرى. فيما يلي طريقتان رئيسيتان: