في السنوات الأخيرة، كان هناك اتجاه في تصميم بروتوكولات STARKs نحو استخدام حقول أصغر. كانت أولى تطبيقات STARKs تستخدم حقلاً بحجم 256 بت، مما جعل هذه البروتوكولات متوافقة مع التوقيعات المعتمدة على المنحنيات البيانية. لكن هذا التصميم كان غير فعال، حيث كان معالجة الأعداد الكبيرة يستهلك الكثير من القدرة الحاسوبية. لمعالجة هذه المشكلة، بدأت بروتوكولات STARKs في التحول لاستخدام حقول أصغر: أولاً Goldilocks، ثم Mersenne31 و BabyBear.
هذا التحول قد عزز بشكل ملحوظ من سرعة الإثبات. على سبيل المثال، يمكن لـ Starkware إثبات 620,000 قيمة هاش Poseidon2 في الثانية على جهاز M3. هذا يعني أنه طالما يتم الوثوق بـ Poseidon2 كدالة هاش، يمكن حل مشكلة ZK-EVM الفعالة. كيف تعمل هذه التقنيات؟ كيف يتم إنشاء الإثباتات على الحقول الصغيرة؟ ستستكشف هذه المقالة هذه التفاصيل، مع التركيز بشكل خاص على حل Circle STARKs.
عند إنشاء إثباتات قائمة على التجزئة، فإن إحدى الحيل المهمة هي التحقق غير المباشر من خصائص متعدد الحدود من خلال نتائج تقييمات متعدد الحدود عند نقاط عشوائية. هذا يبسط بشكل كبير عملية الإثبات.
على سبيل المثال، افترض أنه مطلوب إنشاء تعهد لحد polynomial A بحيث يتحقق: A^3(x) + x - A(ωx) = x^N. يمكن أن يطلب البروتوكول اختيار إحداثيات عشوائية r وإثبات أن A(r) + r - A(ωr) = r^N. ثم استنتاج A(r) = c، وإثبات أن Q = (A - c)/(X - r) هو polynomial.
لمنع الهجمات، يجب اختيار r بعد أن يقدم المهاجم A. في بروتوكول الحقول الكبيرة، يمكن اختيار رقم عشوائي مكون من 256 بت كـ r. ولكن في STARKs الحقول الصغيرة، هناك حوالي 2 مليار قيمة r متاحة للاختيار، ويمكن للمهاجم تجربة جميع الاحتمالات.
هذه المشكلة لها حلان:
إجراء فحوصات عشوائية متعددة
حقل موسع
تعتبر الفحوصات العشوائية المتعددة بسيطة وفعالة، ولكنها تعاني من مشاكل في الكفاءة. تشبه الحقول الموسعة الجمع، ولكنها مبنية على مجال محدود. يتم إدخال قيمة جديدة α تلبي α^2 = قيمة معينة، لإنشاء هيكل رياضي جديد. هذا يسمح لنا بوجود المزيد من القيم للاختيار، مما يعزز الأمان.
الخطوة الأولى من بروتوكول FRI عادة ما تكون تحويل الحساب إلى صيغة رياضية، بتحويل المشكلة الحسابية إلى المعادلة P(X,Y,Z)=0، حيث P هو كثير الحدود، وX وY وZ هي المعاملات. حل المعادلة يعادل حل المشكلة الأصلية.
لإثبات صحة الحل، يجب إثبات أن القيمة المقترحة هي متعددة الحدود معقولة ولها أعلى درجة. استخدام تقنية التركيب الخطي العشوائي:
افترض أن هناك قيمة تقييم لحدود متعددة A، يجب إثبات أن درجتها أقل من 2^20
ضع في اعتبارك B(x^2) = A(x) + A(-x) ، C(x^ 2) = (A(x) - A(-x)) / x
D هو مزيج خطي عشوائي من B و C: D = B + rC
في جوهره، B يعزل المعاملات الزوجية، و C يعزل المعاملات الفردية. يمكن استعادة B و C إلى A. إذا كانت درجة A < 2^20، فإن درجة B و C تكون على التوالي درجة A و درجة A - 1. D باعتبارها مجموعة عشوائية، يجب أن تكون درجتها هي درجة A.
FRI تكرر هذه العملية المبسطة، كل مرة تقوم بتبسيط المشكلة إلى النصف. هذا التصميم يكشف بفعالية عن المدخلات غير المطابقة للمتطلبات.
هذه هي براعة Circle STARKs. بالنظر إلى عدد أولي p، يمكن العثور على مجموعة بحجم p، تتميز بخصائص مشابهة لخاصية واحد إلى اثنين. تتكون هذه المجموعة من نقاط تلبي شروطًا معينة، مثل مجموعة النقاط التي يكون فيها x^2 mod p مساويًا لقيمة معينة.
تتبع هذه النقاط قاعدة الجمع: (x1,y1) + (x2,y2) = (x1x2 - y1y2, x1y2 + x2y1)
الصيغة الثنائية هي: 2 * (x,y) = (2x^2 - 1, 2xy)
نحن نركز على النقاط في المواقع الفردية على الدائرة، ونجمع جميع النقاط في خط مستقيم واحد:
f0(x) = (F(x,y) + F(x,- y))/2
ثم نقوم بإجراء تركيبة خطية عشوائية، لنحصل على كثير الحدود الأحادي P(x).
من الجولة الثانية فصاعدًا، ستتحول الخريطة إلى:
f0(2x^2-1) = (F(x) + F(-x))/2
هذا التحويل يقلل حجم المجموعة إلى النصف في كل مرة. كل x يمثل نقطتين: (x,y) و (x,-y). (x → 2x^2 - 1) هو قانون مضاعفة النقاط.
تدعم مجموعة الدائرة أيضًا FFT، وطريقة البناء مشابهة لـ FRI. ولكن كائن FFT في دائرة هو مساحة ريمان-روتش، وليس متعددات الحدود الصارمة.
كمطور، يمكنك تجاهل هذه النقطة إلى حد كبير. كل ما تحتاجه STARKs هو تخزين كثيرات الحدود كمجموعة من قيم التقييم. تُستخدم FFT بشكل رئيسي للتوسيع المنخفض: معطى N قيمة، يتم إنشاء k*N من القيم على نفس كثير الحدود.
في Circle STARKs، نظرًا لعدم وجود دالة خطية نقطة واحدة، يجب استخدام تقنيات مختلفة بدلاً من العمليات التجارية التقليدية. من خلال إثبات عند نقطتين، يتم إضافة نقطة افتراضية.
إذا كان كثير الحدود P يساوي y1 عند x1، و y2 عند x2، اختر دالة التداخل L بحيث تكون متساوية عند هاتين النقطتين. ثم أثبت أن P-L يساوي صفر عند النقطتين، ومن خلال قسمة L نحصل على ناتج Q وهو كثير الحدود.
Circle STARKs فعالة للغاية. غالبًا ما تتضمن الحسابات:
الحسابات الأصلية للمنطق التجاري
الحسابات الأصلية للتشفير
البحث عن المعلمات
تتركز الكفاءة على الاستفادة الكاملة من مساحة تتبع الحسابات. يقلل حقل الأرقام الأولية المكون من 31 رقمًا من الهدر. يعد خلط Binius لحقول بأحجام مختلفة أكثر كفاءة، لكنه مفهوم أكثر تعقيدًا.
الاستنتاج
دائرة STARKs ليست معقدة بالنسبة للمطورين. فهم الرياضيات الكامنة يتطلب الوقت، لكن التعقيد مخفي بشكل جيد. إنها أيضًا وسيلة لفهم FFTs الخاصة الأخرى.
حاليًا، كفاءة طبقة STARKs الأساسية تقترب من الحدود القصوى. قد تشمل اتجاهات التحسين المستقبلية:
تعظيم كفاءة وظائف التجزئة وغيرها من الأنسجة الأساسية للتشفير
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
استكشاف Circle STARKs: ثورة الإثبات الفعالة التي تجلبها الحقول الصغيرة
استكشاف عميق لـ Circle STARKs
في السنوات الأخيرة، كان هناك اتجاه في تصميم بروتوكولات STARKs نحو استخدام حقول أصغر. كانت أولى تطبيقات STARKs تستخدم حقلاً بحجم 256 بت، مما جعل هذه البروتوكولات متوافقة مع التوقيعات المعتمدة على المنحنيات البيانية. لكن هذا التصميم كان غير فعال، حيث كان معالجة الأعداد الكبيرة يستهلك الكثير من القدرة الحاسوبية. لمعالجة هذه المشكلة، بدأت بروتوكولات STARKs في التحول لاستخدام حقول أصغر: أولاً Goldilocks، ثم Mersenne31 و BabyBear.
هذا التحول قد عزز بشكل ملحوظ من سرعة الإثبات. على سبيل المثال، يمكن لـ Starkware إثبات 620,000 قيمة هاش Poseidon2 في الثانية على جهاز M3. هذا يعني أنه طالما يتم الوثوق بـ Poseidon2 كدالة هاش، يمكن حل مشكلة ZK-EVM الفعالة. كيف تعمل هذه التقنيات؟ كيف يتم إنشاء الإثباتات على الحقول الصغيرة؟ ستستكشف هذه المقالة هذه التفاصيل، مع التركيز بشكل خاص على حل Circle STARKs.
! عمل فيتاليك الجديد: استكشاف ستارك الدائرة
الأسئلة الشائعة حول استخدام الحقول الصغيرة
عند إنشاء إثباتات قائمة على التجزئة، فإن إحدى الحيل المهمة هي التحقق غير المباشر من خصائص متعدد الحدود من خلال نتائج تقييمات متعدد الحدود عند نقاط عشوائية. هذا يبسط بشكل كبير عملية الإثبات.
على سبيل المثال، افترض أنه مطلوب إنشاء تعهد لحد polynomial A بحيث يتحقق: A^3(x) + x - A(ωx) = x^N. يمكن أن يطلب البروتوكول اختيار إحداثيات عشوائية r وإثبات أن A(r) + r - A(ωr) = r^N. ثم استنتاج A(r) = c، وإثبات أن Q = (A - c)/(X - r) هو polynomial.
لمنع الهجمات، يجب اختيار r بعد أن يقدم المهاجم A. في بروتوكول الحقول الكبيرة، يمكن اختيار رقم عشوائي مكون من 256 بت كـ r. ولكن في STARKs الحقول الصغيرة، هناك حوالي 2 مليار قيمة r متاحة للاختيار، ويمكن للمهاجم تجربة جميع الاحتمالات.
هذه المشكلة لها حلان:
تعتبر الفحوصات العشوائية المتعددة بسيطة وفعالة، ولكنها تعاني من مشاكل في الكفاءة. تشبه الحقول الموسعة الجمع، ولكنها مبنية على مجال محدود. يتم إدخال قيمة جديدة α تلبي α^2 = قيمة معينة، لإنشاء هيكل رياضي جديد. هذا يسمح لنا بوجود المزيد من القيم للاختيار، مما يعزز الأمان.
! عمل فيتاليك الجديد: استكشاف ستارك الدائرة
فري العادي
الخطوة الأولى من بروتوكول FRI عادة ما تكون تحويل الحساب إلى صيغة رياضية، بتحويل المشكلة الحسابية إلى المعادلة P(X,Y,Z)=0، حيث P هو كثير الحدود، وX وY وZ هي المعاملات. حل المعادلة يعادل حل المشكلة الأصلية.
لإثبات صحة الحل، يجب إثبات أن القيمة المقترحة هي متعددة الحدود معقولة ولها أعلى درجة. استخدام تقنية التركيب الخطي العشوائي:
في جوهره، B يعزل المعاملات الزوجية، و C يعزل المعاملات الفردية. يمكن استعادة B و C إلى A. إذا كانت درجة A < 2^20، فإن درجة B و C تكون على التوالي درجة A و درجة A - 1. D باعتبارها مجموعة عشوائية، يجب أن تكون درجتها هي درجة A.
FRI تكرر هذه العملية المبسطة، كل مرة تقوم بتبسيط المشكلة إلى النصف. هذا التصميم يكشف بفعالية عن المدخلات غير المطابقة للمتطلبات.
! عمل فيتاليك الجديد: استكشاف Circle STARKs
دائرة FRI
هذه هي براعة Circle STARKs. بالنظر إلى عدد أولي p، يمكن العثور على مجموعة بحجم p، تتميز بخصائص مشابهة لخاصية واحد إلى اثنين. تتكون هذه المجموعة من نقاط تلبي شروطًا معينة، مثل مجموعة النقاط التي يكون فيها x^2 mod p مساويًا لقيمة معينة.
تتبع هذه النقاط قاعدة الجمع: (x1,y1) + (x2,y2) = (x1x2 - y1y2, x1y2 + x2y1) الصيغة الثنائية هي: 2 * (x,y) = (2x^2 - 1, 2xy)
نحن نركز على النقاط في المواقع الفردية على الدائرة، ونجمع جميع النقاط في خط مستقيم واحد: f0(x) = (F(x,y) + F(x,- y))/2
ثم نقوم بإجراء تركيبة خطية عشوائية، لنحصل على كثير الحدود الأحادي P(x).
من الجولة الثانية فصاعدًا، ستتحول الخريطة إلى: f0(2x^2-1) = (F(x) + F(-x))/2
هذا التحويل يقلل حجم المجموعة إلى النصف في كل مرة. كل x يمثل نقطتين: (x,y) و (x,-y). (x → 2x^2 - 1) هو قانون مضاعفة النقاط.
! عمل فيتاليك الجديد: استكشاف الدائرة الدائرية
FFTs الدائرية
تدعم مجموعة الدائرة أيضًا FFT، وطريقة البناء مشابهة لـ FRI. ولكن كائن FFT في دائرة هو مساحة ريمان-روتش، وليس متعددات الحدود الصارمة.
كمطور، يمكنك تجاهل هذه النقطة إلى حد كبير. كل ما تحتاجه STARKs هو تخزين كثيرات الحدود كمجموعة من قيم التقييم. تُستخدم FFT بشكل رئيسي للتوسيع المنخفض: معطى N قيمة، يتم إنشاء k*N من القيم على نفس كثير الحدود.
! عمل فيتاليك الجديد: استكشاف ستاركس الدائرة
اقتباس
في Circle STARKs، نظرًا لعدم وجود دالة خطية نقطة واحدة، يجب استخدام تقنيات مختلفة بدلاً من العمليات التجارية التقليدية. من خلال إثبات عند نقطتين، يتم إضافة نقطة افتراضية.
إذا كان كثير الحدود P يساوي y1 عند x1، و y2 عند x2، اختر دالة التداخل L بحيث تكون متساوية عند هاتين النقطتين. ثم أثبت أن P-L يساوي صفر عند النقطتين، ومن خلال قسمة L نحصل على ناتج Q وهو كثير الحدود.
! [عمل فيتاليك الجديد: استكشاف ستارك الدائرة](https://img-cdn.gateio.im/webp-social/moments-0277731a7327da529c85417a01718c59.webp019283746574839201
كثيرات الحدود المتلاشية
تكون كثيرات الحدود المفقودة في Circle STARKs هي: Z1)x,y( = y Z2)x,y( = x
Zn+1)x,y( = )2 * Zn(x,y(^2) - 1
يمكن استنتاج ذلك من دالة الطي: إعادة استخدام x → 2x^2 - 1.
عكس ترتيب البتات
يجب تعديل ترتيب العكس في Circle STARKs: عكس كل البتات باستثناء البت الأخير، واستخدام البت الأخير لتحديد ما إذا كان يجب عكس البتات الأخرى.
16 حجم الطي العكسي هو: {0, 15, 8, 7, 4, 11, 12, 3, 2, 13, 10, 5, 6, 9, 14, 1}
! [عمل فيتاليك الجديد: استكشاف ستارك الدائرة])https://img-cdn.gateio.im/webp-social/moments-13da9460855ee8c504c44696efc2164c.webp(
الكفاءة
Circle STARKs فعالة للغاية. غالبًا ما تتضمن الحسابات:
تتركز الكفاءة على الاستفادة الكاملة من مساحة تتبع الحسابات. يقلل حقل الأرقام الأولية المكون من 31 رقمًا من الهدر. يعد خلط Binius لحقول بأحجام مختلفة أكثر كفاءة، لكنه مفهوم أكثر تعقيدًا.
الاستنتاج
دائرة STARKs ليست معقدة بالنسبة للمطورين. فهم الرياضيات الكامنة يتطلب الوقت، لكن التعقيد مخفي بشكل جيد. إنها أيضًا وسيلة لفهم FFTs الخاصة الأخرى.
حاليًا، كفاءة طبقة STARKs الأساسية تقترب من الحدود القصوى. قد تشمل اتجاهات التحسين المستقبلية:
! [إبداع فيتاليك الجديد: استكشاف ستارك الدائرة])https://img-cdn.gateio.im/webp-social/moments-972d4e51e7d92462c519ef900358a6af.webp(