لقد كنت أشاهد مؤخرًا توسع وابتكار بعض صناديق التشفير الخارجية في نظام التشفير البيئي. دعونا نلقي نظرة على أداتي SNARK التي أطلقتها A16Z Crypto حديثًا هذا الشهر. حاول أن تتحدث فقط عن الأشياء التي يمكن أن تحل المشاكل.
عندما يتعلق الأمر بـ SNARKs، فلنتحدث عن zkSNARKs أولاً، في الواقع، هذين جانبين مختلفين في موضوع اليوم.
منذ أن بدأنا مع zkSNARKs، لن يتكرر إثبات المبادئ الأساسية للمعرفة الصفرية، فهذه التقنية لها ثلاث خصائص: الاكتمال، والصحة، والمعرفة الصفرية، ويمكن تحقيقها لإثبات الاستنتاج دون الكشف عن أي تفاصيل. وفي الوقت نفسه، في سياق التشفير المتماثل، تكون صعوبة التحقق أقل بكثير من صعوبة إنشاء البراهين.
عندما تحدثنا عن الطبقة الثانية من قبل، ذكرنا بالفعل ZK، مثل Zk-Rollup، كآلية إثبات فعالة، والتي اقترحت حلاً جديدًا لتوسيع Ethereum. في السابق، كان الجميع مشغولين بإجراء عمليات إسقاط جوي لإجراء zkSync التفاعلي، ويتمثل جوهرها في استخدام ZK لحزم عمليات متعددة في دليل، وإكمال معظم أعمال الحوسبة خارج السلسلة.
zkSNARKs - التقنية الأكثر استخدامًا لإثبات المعرفة الصفرية
zk-SNARK، أي "حجة المعرفة غير التفاعلية الموجزة للمعرفة الصفرية"، أي إثبات المعرفة الموجز وغير التفاعلي للمعرفة الصفرية.
الخصائص هي ① إثبات أن عبارة معينة صحيحة ولكنها لا تكشف عن أي معلومات أخرى؛ ② حجم الإثبات صغير وسهل التحقق؛ ③ لا يوجد تفاعل.
في الواقع، النوعان الرئيسيان من ZKP: ZKP التفاعلي وZKP غير التفاعلي هما عمليتان بين المُثبت والمُحقق، لكن عملية تفاعل الإثبات مختلفة.
بأخذ بروتوكول شنور كمثال، يتطلب الوضع التفاعلي من المدقق إنشاء رقم عشوائي، بينما لا يحتاج الوضع غير التفاعلي إلى مثل هذا الدور، ويمكن للمثبت إنشاء أدلة ليتمكن الجميع من التحقق منها.
** المبدأ التقريبي لـ zkSNARKs هو: **
تعتمد zkSNARKs على مشاكل NP، ومشكلات NP غير قابلة للحل في زمن متعدد الحدود، ولكن مع وجود حل، يمكن التحقق في وقت متعدد الحدود مما إذا كان صحيحًا. تعتمد zkSNARKs على مشكلة NP معينة، والتي يصعب حلها ولكن يمكن التحقق منها بسرعة.
قم بتغيير شكل هذه المشكلة وقم بإجراء تحويل برنامج حسابي تربيعي QAP، وفي نفس الوقت قم ببناء حل "QAP Witness" المطابق لإدخال الكود، ثم قم ببناء نظام فعلي لإثبات المعرفة الصفرية بناءً على هذا الحل.
** "VC من الدرجة الأولى" يشارك في التطوير****: أداتان SNARK لتشفير a16z**
أخيرًا، نأتي إلى موضوعنا اليوم، وهو أداتي SNARK اللتين أطلقتهما a16z crypto في 10 أغسطس -**Lasso وJolt. **
** SNARK (إثبات المعرفة غير التفاعلي المقتضب) كبروتوكول تشفير: يسمح لأي شخص بالإدلاء بشهادته أمام محقق غير موثوق به يعلم أنه قد تم استيفاء خصائص معينة. **
التطبيق الآن على وجه الخصوص هو أن Layer2 يجمع ويثبت لـ Layer1 أن Layer2 يعرف التوقيع الرقمي الذي يسمح بسلسلة من المعاملات. بهذه الطريقة، لا يحتاج التوقيع نفسه إلى التخزين والتحقق منه بواسطة Layer1، وهو أكثر ملاءمة للتوسيع.
خلفية سنارك
يعد إجراء العمليات الحسابية على blockchain أمرًا مكلفًا نظرًا لأن العديد من عقد blockchain تتحقق من كل معاملة وتسجلها. ولتجنب ارتفاع تكاليف المعاملات، يقوم المطورون عادةً بإجراء الحد الأدنى من العمليات الحسابية على السلسلة لتمكين تطبيقاتهم.
تلعب SNARKs دورًا مركزيًا في توسيع نطاق blockchain: تمكين التطبيقات من إنشاء إيصالات حسابية باهظة الثمن خارج السلسلة وتحمل فقط تكلفة التحقق من الإيصالات على السلسلة.
و"الإيجاز" هنا يعني أن هذه الإيصالات قصيرة. يمكن إجراء التحقق بجهد أقل بكثير من إعادة حساب كل معاملة.
سؤال
ولكن من الناحية العملية، تعد SNARKs أيضًا باهظة الثمن من الناحية الحسابية ويصعب تدقيقها. يضطر المدققون إلى القيام بعمل إضافي متوازي للغاية.
يمكن أن تعمل SNARKs ذات الأداء العالي على تسريع الطبقة الثانية وتسمح أيضًا للمنشئين بفتح التطبيقات التي لم يتم تصورها بعد.
لذلك تقدم A16Z Crypto تقنيتين جديدتين:
①Lasso، وهي معلمة بحث جديدة، يمكن أن تقلل بشكل كبير من تكلفة المُثبت؛
②Jolt، باستخدام تقنية Lasso، يوفر إطارًا جديدًا لتصميم SNARKs لـ zkVM وتصميم الواجهة الأمامية الأكثر عمومية.
** تعمل هاتان الأداتان معًا على تحسين الأداء وتجربة المطور وإمكانية التدقيق في تصميمات SNARK وتسريع البناء البيئي في Web3. **
أثبت التنفيذ الأولي الحالي لـ Lasso أنه أسرع بأكثر من 10 مرات من معلمات البحث في سلسلة أدوات SNARK الشهيرة halo2. وفقًا لـ A16Z Crypto، عندما يتم تحسين قاعدة أكواد Lasso بالكامل، ستزيد السرعة بحوالي 40 مرة، وستتضمن Jolt أيضًا ابتكارات إضافية أعلى Lasso.
** وسيطة البحث **
تعتبر وسيطة البحث أداة رئيسية في تصميم SNARKs، وهو بروتوكول يسمح لمثبت غير موثوق به بتقديم تشفير إلى ناقل كبير، ثم إثبات أن كل إدخال للمتجه موجود في بعض الجداول المحددة مسبقًا.
يمكن أن تساعد معلمات البحث في إبقاء الدوائر صغيرة من خلال التعامل بكفاءة مع العمليات التي لا يتم حسابها بشكل طبيعي من خلال عدد قليل من عمليات الإضافة والضرب.
الدوائر، من ناحية أخرى، هي في الواقع نموذج حسابي محدود للغاية. الواجهة الأمامية لـ SNARK هي مجرد مترجم يقوم بتحويل برنامج الكمبيوتر إلى دائرة يمكن استيعابها بواسطة الواجهة الخلفية لـ SNARK.
تتيح الواجهة الخلفية لـ SNARK للمدقق الالتزام بالتشفير بقيمة كل بوابة في الدائرة. ثم يثبت المُثبت أن القيمة المقدمة تتوافق مع التنفيذ الصحيح لإجراء التحقق الخاص بالمدقق.
حاليًا، يقوم المطورون بنشر SNARKs إما عن طريق كتابة برنامج بلغة خاصة بمجال معين (والتي تجمع البرنامج في قيود متعددة الحدود) أو عن طريق ترميز القيود يدويًا مباشرةً.
لكن هذا يستهلك القوى البشرية والموارد المادية، وغالباً ما يكون به ثغرات أمنية. Lasso وJolt موجودان هنا لحل هذه المشكلات الثلاث: الأداء، وتجربة المطور، وإمكانية التدقيق.
**لاسو، باعتبارها طريقة "بحث عن معلمة" جديدة، لديها إثبات أسرع. بالمقارنة مع الطرق السابقة، يعد المثل بقيم أقل وأصغر، ويمكن تطبيقه على جداول ضخمة جدًا.
Jolt (جدول بحث واحد فقط) هو طريقة جديدة تعتمد على تصميم Lasso's zkVM (الجهاز الظاهري الذي لا يعرف سوى صفر). كواجهة أمامية جديدة، يمكن تحقيق وظيفة استخدام جداول البحث العملاقة المستندة إلى Lasso.
وهذا ما يمكن أن يفعله كلاهما.
باختصار: يقدم Lasso أسلوب zkVM المبسط الذي يتجنب الدوائر المملة المحسنة يدويًا عن طريق إجراء عمليات بحث على طاولات منظمة ضخمة مع نفايات أقل؛
تتميز الأجهزة الافتراضية المستندة إلى Jolt بالبساطة والسرعة وسهولة التدقيق.
وتسمح بشكل جماعي باستخدام SNARKs مع لغات البرمجة الشائعة الحالية، وليس فقط تلك المصممة لهذه المهمة.
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
"VC من الدرجة الأولى" تشارك في التطوير: أداتان SNARK لتشفير a16z
المؤلف: Arrow@go2mars، المصدر: المؤلف Twitter @ArrowCrypto_eth
لقد كنت أشاهد مؤخرًا توسع وابتكار بعض صناديق التشفير الخارجية في نظام التشفير البيئي. دعونا نلقي نظرة على أداتي SNARK التي أطلقتها A16Z Crypto حديثًا هذا الشهر. حاول أن تتحدث فقط عن الأشياء التي يمكن أن تحل المشاكل.
عندما يتعلق الأمر بـ SNARKs، فلنتحدث عن zkSNARKs أولاً، في الواقع، هذين جانبين مختلفين في موضوع اليوم.
منذ أن بدأنا مع zkSNARKs، لن يتكرر إثبات المبادئ الأساسية للمعرفة الصفرية، فهذه التقنية لها ثلاث خصائص: الاكتمال، والصحة، والمعرفة الصفرية، ويمكن تحقيقها لإثبات الاستنتاج دون الكشف عن أي تفاصيل. وفي الوقت نفسه، في سياق التشفير المتماثل، تكون صعوبة التحقق أقل بكثير من صعوبة إنشاء البراهين.
عندما تحدثنا عن الطبقة الثانية من قبل، ذكرنا بالفعل ZK، مثل Zk-Rollup، كآلية إثبات فعالة، والتي اقترحت حلاً جديدًا لتوسيع Ethereum. في السابق، كان الجميع مشغولين بإجراء عمليات إسقاط جوي لإجراء zkSync التفاعلي، ويتمثل جوهرها في استخدام ZK لحزم عمليات متعددة في دليل، وإكمال معظم أعمال الحوسبة خارج السلسلة.
zkSNARKs - التقنية الأكثر استخدامًا لإثبات المعرفة الصفرية
zk-SNARK، أي "حجة المعرفة غير التفاعلية الموجزة للمعرفة الصفرية"، أي إثبات المعرفة الموجز وغير التفاعلي للمعرفة الصفرية.
الخصائص هي ① إثبات أن عبارة معينة صحيحة ولكنها لا تكشف عن أي معلومات أخرى؛ ② حجم الإثبات صغير وسهل التحقق؛ ③ لا يوجد تفاعل.
في الواقع، النوعان الرئيسيان من ZKP: ZKP التفاعلي وZKP غير التفاعلي هما عمليتان بين المُثبت والمُحقق، لكن عملية تفاعل الإثبات مختلفة.
بأخذ بروتوكول شنور كمثال، يتطلب الوضع التفاعلي من المدقق إنشاء رقم عشوائي، بينما لا يحتاج الوضع غير التفاعلي إلى مثل هذا الدور، ويمكن للمثبت إنشاء أدلة ليتمكن الجميع من التحقق منها.
** المبدأ التقريبي لـ zkSNARKs هو: **
تعتمد zkSNARKs على مشاكل NP، ومشكلات NP غير قابلة للحل في زمن متعدد الحدود، ولكن مع وجود حل، يمكن التحقق في وقت متعدد الحدود مما إذا كان صحيحًا. تعتمد zkSNARKs على مشكلة NP معينة، والتي يصعب حلها ولكن يمكن التحقق منها بسرعة. قم بتغيير شكل هذه المشكلة وقم بإجراء تحويل برنامج حسابي تربيعي QAP، وفي نفس الوقت قم ببناء حل "QAP Witness" المطابق لإدخال الكود، ثم قم ببناء نظام فعلي لإثبات المعرفة الصفرية بناءً على هذا الحل.
** "VC من الدرجة الأولى" يشارك في التطوير****: أداتان SNARK لتشفير a16z**
أخيرًا، نأتي إلى موضوعنا اليوم، وهو أداتي SNARK اللتين أطلقتهما a16z crypto في 10 أغسطس -**Lasso وJolt. **
** SNARK (إثبات المعرفة غير التفاعلي المقتضب) كبروتوكول تشفير: يسمح لأي شخص بالإدلاء بشهادته أمام محقق غير موثوق به يعلم أنه قد تم استيفاء خصائص معينة. **
التطبيق الآن على وجه الخصوص هو أن Layer2 يجمع ويثبت لـ Layer1 أن Layer2 يعرف التوقيع الرقمي الذي يسمح بسلسلة من المعاملات. بهذه الطريقة، لا يحتاج التوقيع نفسه إلى التخزين والتحقق منه بواسطة Layer1، وهو أكثر ملاءمة للتوسيع.
خلفية سنارك
يعد إجراء العمليات الحسابية على blockchain أمرًا مكلفًا نظرًا لأن العديد من عقد blockchain تتحقق من كل معاملة وتسجلها. ولتجنب ارتفاع تكاليف المعاملات، يقوم المطورون عادةً بإجراء الحد الأدنى من العمليات الحسابية على السلسلة لتمكين تطبيقاتهم.
تلعب SNARKs دورًا مركزيًا في توسيع نطاق blockchain: تمكين التطبيقات من إنشاء إيصالات حسابية باهظة الثمن خارج السلسلة وتحمل فقط تكلفة التحقق من الإيصالات على السلسلة.
و"الإيجاز" هنا يعني أن هذه الإيصالات قصيرة. يمكن إجراء التحقق بجهد أقل بكثير من إعادة حساب كل معاملة.
سؤال
ولكن من الناحية العملية، تعد SNARKs أيضًا باهظة الثمن من الناحية الحسابية ويصعب تدقيقها. يضطر المدققون إلى القيام بعمل إضافي متوازي للغاية.
يمكن أن تعمل SNARKs ذات الأداء العالي على تسريع الطبقة الثانية وتسمح أيضًا للمنشئين بفتح التطبيقات التي لم يتم تصورها بعد.
لذلك تقدم A16Z Crypto تقنيتين جديدتين:
①Lasso، وهي معلمة بحث جديدة، يمكن أن تقلل بشكل كبير من تكلفة المُثبت؛
②Jolt، باستخدام تقنية Lasso، يوفر إطارًا جديدًا لتصميم SNARKs لـ zkVM وتصميم الواجهة الأمامية الأكثر عمومية.
** تعمل هاتان الأداتان معًا على تحسين الأداء وتجربة المطور وإمكانية التدقيق في تصميمات SNARK وتسريع البناء البيئي في Web3. **
أثبت التنفيذ الأولي الحالي لـ Lasso أنه أسرع بأكثر من 10 مرات من معلمات البحث في سلسلة أدوات SNARK الشهيرة halo2. وفقًا لـ A16Z Crypto، عندما يتم تحسين قاعدة أكواد Lasso بالكامل، ستزيد السرعة بحوالي 40 مرة، وستتضمن Jolt أيضًا ابتكارات إضافية أعلى Lasso.
** وسيطة البحث **
تعتبر وسيطة البحث أداة رئيسية في تصميم SNARKs، وهو بروتوكول يسمح لمثبت غير موثوق به بتقديم تشفير إلى ناقل كبير، ثم إثبات أن كل إدخال للمتجه موجود في بعض الجداول المحددة مسبقًا.
يمكن أن تساعد معلمات البحث في إبقاء الدوائر صغيرة من خلال التعامل بكفاءة مع العمليات التي لا يتم حسابها بشكل طبيعي من خلال عدد قليل من عمليات الإضافة والضرب.
الدوائر، من ناحية أخرى، هي في الواقع نموذج حسابي محدود للغاية. الواجهة الأمامية لـ SNARK هي مجرد مترجم يقوم بتحويل برنامج الكمبيوتر إلى دائرة يمكن استيعابها بواسطة الواجهة الخلفية لـ SNARK.
تتيح الواجهة الخلفية لـ SNARK للمدقق الالتزام بالتشفير بقيمة كل بوابة في الدائرة. ثم يثبت المُثبت أن القيمة المقدمة تتوافق مع التنفيذ الصحيح لإجراء التحقق الخاص بالمدقق.
حاليًا، يقوم المطورون بنشر SNARKs إما عن طريق كتابة برنامج بلغة خاصة بمجال معين (والتي تجمع البرنامج في قيود متعددة الحدود) أو عن طريق ترميز القيود يدويًا مباشرةً.
لكن هذا يستهلك القوى البشرية والموارد المادية، وغالباً ما يكون به ثغرات أمنية. Lasso وJolt موجودان هنا لحل هذه المشكلات الثلاث: الأداء، وتجربة المطور، وإمكانية التدقيق.
**لاسو، باعتبارها طريقة "بحث عن معلمة" جديدة، لديها إثبات أسرع. بالمقارنة مع الطرق السابقة، يعد المثل بقيم أقل وأصغر، ويمكن تطبيقه على جداول ضخمة جدًا. Jolt (جدول بحث واحد فقط) هو طريقة جديدة تعتمد على تصميم Lasso's zkVM (الجهاز الظاهري الذي لا يعرف سوى صفر). كواجهة أمامية جديدة، يمكن تحقيق وظيفة استخدام جداول البحث العملاقة المستندة إلى Lasso.
وهذا ما يمكن أن يفعله كلاهما.
باختصار: يقدم Lasso أسلوب zkVM المبسط الذي يتجنب الدوائر المملة المحسنة يدويًا عن طريق إجراء عمليات بحث على طاولات منظمة ضخمة مع نفايات أقل؛
تتميز الأجهزة الافتراضية المستندة إلى Jolt بالبساطة والسرعة وسهولة التدقيق.
وتسمح بشكل جماعي باستخدام SNARKs مع لغات البرمجة الشائعة الحالية، وليس فقط تلك المصممة لهذه المهمة.