في حرب توسع Ethereum ، تتوافق المجموعات المتفائلة بشكل كبير أو حتى معادلة تمامًا لـ EVM ، مما يؤدي إلى المزايا المتأصلة لـ Arbitrum و Optimism على المسار ليتبناه المطورون.
في المقابل ، فإن سلسلة ZK أكثر صعوبة. تتسبب خصائصه التقنية المتأصلة في قيام مجموعات ZK Rollups بتخصيص أجهزتها الافتراضية الخاصة ، مما يعني أن طرف المشروع يحتاج إلى بذل المزيد من العمل "لتفسير" الشفرة من EVM أو حتى تطوير وكتابة رمز جديد من البداية. ومع ذلك ، أطلقت العديد من مشاريع تتبع ZK Rollups بما في ذلك Taiko و Polygon و Linea و Scroll و ZkSync Era تطبيقاتها الخاصة لـ zkEVM.
باعتبارها الكأس المقدسة للتوسع ، فإن zkEVM لها تأثير حاسم على تجربة نشر عقد المطور.في مواجهة مجموعة متنوعة من مشاريع ZK rollups ، كيف يجب على المطورين الاختيار؟
يجمع هذا المقال ملخصًا للتغريدات من Jarrod Watts. وهو مهندس علاقات مطورين في Polygon. من خلال نشر العقود الذكية (1 عقد Solidity الذكي وعقد NFT) في مشروع مجموعات ZK الرائج الحالي ، قام بقياس أداء zkEVM لمشاريع مثل Taiko و Polygon و Linea و Scroll و ZkSync Era ، وقارن بين مزاياها العملية و ZkSync Era ، وقارن بين مزاياها العملية وعيوبها. عقود الطبقة.
فيما يلي تجميع للنص الأصلي من BlockBeats:
** ما هو ZK-EVM ولماذا نحتاجه؟ **** قبل تفسير ماهية ZK-EVM ، دعنا نرى سبب الحاجة إلى ZK-EVM؟ **
تجلب ZK Rollups قابلية التوسع والأداء العالي إلى Ethereum. على الجانب الآخر من العملة ، لا يتوافق حل ZK Rollups مع EVM (آلة افتراضية Ethereum) ، مما يعني أن حل ZK Rollups يمكنه فقط دعم عمليات محدودة ، بما في ذلك النقل أو السك أو الحرق ، ويجب تطوير أدوات مثل المحافظ للمستخدمين.
لذلك ، نحتاج إلى ZK Rollups المتوافقة مع EVM ، ولهذا ، طورت العديد من الشركات ZK-EVMs الخاصة بها.
ZK-EVM ، أو Zero-Knowledge EVM ، هو تطبيق Ethereum Virtual Machine متوافق مع Zero-Knowledge Proofs.
تتمثل الوظيفة الرئيسية لـ ZK-EVM في إجراء معاملات معالجة مجمعة على Ethereum L2 (الطبقة 2) ، وإرسال "إثبات صحة" المعاملات الدفعية مرة أخرى إلى Ethereum L1. بشكل عام ، يمكن لـ zkEVM فعل كل شيء لشبكة Ethereum mainnet. يقوم بتجميع التعليمات البرمجية التي يمكن قراءتها من قبل الإنسان في Solidity أو Vyper إلى رمز ثانوي ، وتنفيذ العقود الذكية ، وتحديث حالة blockchain.
تكمن الصعوبة في إنشاء مجموعات ZK Rollups المتوافقة مع EVM في أن Ethereum لم يتم تصميمه في الأصل مع مراعاة صداقة ZK. هذا يعني أن براهين المعرفة الصفرية تتطلب الكثير من الموارد للحساب.
من بينها ، بعض أكواد التشغيل الخاصة برموز تشغيل EVM هي "ZK-unfri friendly" ، مما يؤدي إلى منتجات ZK-EVM المصممة أخيرًا من قبل شركات مختلفة بتوافق مختلف مع EVM.
** ما هي أكواد التشغيل و bytecode و EVM؟ **
حان وقت العلم الشعبي ، ما هي أكواد التشغيل ، الرموز البايتية و EVM؟
بادئ ذي بدء ، EVM هي بيئة التشغيل للعقود الذكية على Ethereum. يخزن Ethereum ما يسمى بـ "حالة الجهاز" في بنية بيانات شجرة ثلاثية ، والتي تتغير بعد تنفيذ كل معاملة في الكتلة.
يعد EVM حتميًا ، مما يعني أن تنفيذ مجموعة من التعليمات في أي حالة معينة سيؤدي إلى نفس الحالة الجديدة.
وفقًا لوثائق مطور Ethereum ، حالة قديمة صالحة (S) + مجموعة جديدة من المعاملات الصالحة (T) ، ستنشئ Ethereum حالة إخراج صالحة جديدة S '
! [] (alt = "صورة")
يمكنك التفكير في الأمر على أنه لعبة مثل الشطرنج. يشبه Ethereum رقعة الشطرنج ، حيث توجد حالات مختلفة للعبة ، وفي Ethereum ، فإن احتمالات هذه الحالة لا حصر لها. تتمتع ألعاب الطاولة بقواعد الحركة الخاصة بها (قارن المعاملات على Ethereum) ولها قيود محددة على الإجراءات التي يمكن تنفيذها على القطع. يتخذ اللاعبون إجراءات (مقارنة بالمستخدمين الذين يقدمون معاملات على Ethereum) ، وتقوم اللعبة (Ethereum) بصياغة القواعد وإنفاذها ، مما ينتج عنه حالة لوحة جديدة (Ethereum global) بعد كل جولة (تقابل وقت الحظر).
بالنسبة إلى Ethereum أو أي تطوير blockchain متوافق مع EVM ، يجب كتابة العقود الذكية في Solidity. Solidity هي لغة عالية المستوى مصممة لتكون قابلة للقراءة بحيث يمكن للمطورين التركيز على كتابة التعليمات البرمجية بدلاً من السجلات وعناوين الذاكرة ومكدسات المكالمات وغيرها من الأفكار التجريدية.
ومع ذلك ، لا يستطيع EVM قراءة Solidity. بدلاً من ذلك ، لا يفهم سوى "bytecode" ، وهو رمز ثنائي المستوى منخفض المستوى يمكن قراءته آليًا.
في EVM ، يمثل "bytecode" (الرمز الثانوي) سلسلة من "أكواد التشغيل" (أكواد التشغيل) EVM ، أكواد التشغيل هي تعليمات منخفضة المستوى قابلة للقراءة للبرنامج ، تمثل عمليات محددة يمكن إجراؤها في EVM.
نظرًا لأن لغة عالية المستوى مثل Solidity لا يمكن تنفيذها بشكل مباشر في EVM ، فنحن بحاجة إلى طريقة لتحويل رمز العقد الذكي من رمز تشغيل لغة Solidity القابل للقراءة البشرية ليتم تنفيذه بواسطة EVM ، وهو عمل المترجم.
بعد تجميع كود Solidity باستخدام برنامج التحويل البرمجي Remix IDE ، يمكنك رؤية كود التشغيل المحدد الذي تم تحويل العقد الذكي إليه ، وعرض الرمز الثانوي الذي تم إنشاؤه من كود التشغيل.
! [] (alt = "صورة")
فيما يلي رموز التشغيل:
! [] (alt = "صورة")
ما يلي هو رمز بايت المقابل لرمز التشغيل أعلاه.
! [] (alt = "صورة")
من خلال ترجمة الرموز البايتية إلى أكواد تشغيل ، من الممكن معرفة تعليمات التنفيذ الواردة في الرموز البايتية.
نظرًا لصعوبة إثبات ZK لبعض أكواد التشغيل المحددة في EVM ، ظهرت في السوق ZK-EVM بدرجات مختلفة من التوافق. من بينها ، بعض مجموعات أكواد التشغيل ZK-EVM و EVM متكافئة تمامًا ، وبعضها قام بتعديل بعض أكواد التشغيل EVM جزئيًا ، وأحدها له رموز ثانوية مختلفة تمامًا.
** أنواع مختلفة من ZK-EVM **
نظرًا لأن تصميم Ethereum لم يأخذ في الاعتبار ملاءمة ZK في البداية ، نظريًا ، كلما اقتربنا من تصميم Ethereum ، كان إنشاء أدلة ZK أكثر صعوبة واستهلاكًا للوقت. في أغسطس 2022 ، نشر Vitalik ، مؤسس Ethereum ، منشور مدونة بعنوان "استمع إلى تفسير Vitalik لمستقبل أنواع مختلفة من ZK-EVM" ، يصنف ZK-EVMs المختلفة.
في هذا المقال ، صنف Vitalik العديد من ZK-EVMs بناءً على بعدين من توافق EVM ووقت إنشاء دليل ZK (الأداء). أدرج Vitalik أربعة أنواع (شبه) في هذا المخطط ، ويمكن تضمين جميع منتجات ZK-EVM الموجودة حاليًا في السوق.
! [] (alt = "صورة") 1 ، النوع الأول من ZK-EVM يكافئ تمامًا Ethereum ، ولا يغيرون أي جزء من نظام Ethereum ، ويسهل عليهم إنشاء البراهين. في مثل هذه الأنظمة ، يستغرق إنشاء براهين ZK وقتًا طويلاً (عدة ساعات). ينتمي Taiko إلى هذا النوع من ZK-EVM.
النوع الثاني مكافئ تمامًا لـ EVM ، لكنه يغير بعض التمثيلات الداخلية المختلفة ، مثل طريقة التخزين لحالة السلسلة ، لتسريع وقت توليد براهين ZK. حاليًا ، لا توجد ZK-EVMs من هذا النوع في السوق ؛ ومع ذلك ، تعمل Polygon و Linea و Scroll في هذا الاتجاه.
2.5 ، بين النوع 2 والنوع 3 ، هناك أيضًا نوع 2.5. هذا النوع مكافئ تمامًا لـ EVM ، باستثناء أن تكلفة الغاز لأنواع معينة من العمليات يتم زيادتها "لتقليل وقت إثبات الحالة الأسوأ بشكل كبير". حاليًا ، لا يوجد ZK-EVM من هذا النوع في السوق ؛ ومع ذلك ، يعمل عليه مشروع ZK-EVM جديد يسمى Kakarot.
النوع 3 يكافئ تقريبًا EVM ، ولكن مع بعض التنازلات في الدقة المكافئة لتقليل وقت الإثبات بشكل أكبر وتبسيط تطوير EVM. حاليًا ، يعد Polygon و Linea و Scroll من هذا النوع.
النوع 4 مكافئ للغة عالية المستوى لـ ZK-EVM. يجمع هذا النوع من ZK-EVM الكود المصدري للعقد الذكي إلى لغة صديقة لـ ZK-SNARK ، والتي ستوفر وقت إثبات أسرع والعيوب المقابلة مثل عدم التوافق والقيود. حاليًا ، يقع zkSync Era ضمن هذه الفئة.
تجدر الإشارة إلى أن الوقت المطلوب لإرسال إثبات الصلاحية إلى Ethereum L1 هو الوقت الذي يستغرقه المستخدم لتحويل الأموال مرة أخرى إلى L1. إذا استغرق إنشاء الدليل ساعات ، فلن يتمكن هذا المستخدم من إعادة الأموال إلى المستوى 1 خلال تلك الساعات.
** القتال العملي: تقييم تطوير Taiko و Polygon و Linea و Scroll و ZkSync Era **
بعد مراجعة المعرفة النظرية ، فيما يلي الجزء القتالي الفعلي.
من خلال نشر عقود Solidity الذكية وعقود NFT على Taiko و Polygon و Linea و Scroll و ZkSync Era على التوالي ، يتم اختبار الأداء والعيوب المقابلة لكل ZK-EVM. يعطي المؤلف أيضًا موارد المطورين المتاحة ، ويتم التقييم بشكل أساسي من بُعدين لتجربة المطور ووقت التجسير من L2 إلى L1.
** تايكو ZK-EVM **
Taiko هو نوع 1 ZK-EVM وهو حاليًا في مرحلة اختبار الشبكة. تتعامل Taiko مع ما تفعله Ethereum بالضبط ؛ باستخدام نفس وظائف التجزئة ، وأسعار الغاز ، وخوارزميات التشفير ، وما إلى ذلك.
عملية التشغيل: نشر عقد Solidity الذكي البسيط ونشر مجموعة NFT بسيطة باستخدام وكيل ThirdWeb.
الجانب السلبي من النوع 1 ZK-EVM هو أنه يستغرق وقتًا طويلاً لإنشاء البراهين عندما يكون كل شيء هو نفسه تمامًا كما في Ethereum (حتى داخليًا). هذا يعني أن المستخدم يستغرق عدة ساعات لربط ETH من Taiko L2 إلى Ethereum L1 (كما هو موضح أدناه).
! [] (alt = "صورة")
** الخط ZK-EVM **
ينتمي Linea إلى النوع 3 ZK-EVM ، ولا يستطيع Linea حتى الآن إثبات جميع أكواد التشغيل أو التجميع المسبق ؛ فهو يمثل حالة داخلية متسلسلة مختلفة عن Ethereum ، مثل استخدام دالة تجزئة مختلفة.
الرمز الثانوي المنشور هو نفسه Ethereum.
! [] (alt = "صورة")
كانت عملية النشر سلسة تقريبًا ، مما جعل من السهل النشر والتفاعل مع كلا العقدين الذكيين. هذا هو نفس سلوك Ethereum ؛ يمكن استخدام الأدوات والمحافظ الحالية لنشر العقود الذكية والتفاعل معها وصك NFTs وما إلى ذلك.
في وقت كتابة هذا المقال ، لم تكن Linea قد أطلقت بعد واجهة الواجهة الأمامية للجسر. لذلك ، يمكن فقط استدعاء وظائف العقد الذكي المترابط مباشرة.
وفقًا لوثائق Linea ، عادةً ما يستغرق جسر ETH من L2 إلى L1 حوالي 15 دقيقة ، ولكن في هذه الحالة يستغرق حوالي بضع ساعات.
** مضلع ZK-EVM **
ينتمي Polygon ZK-EVM إلى Type 3 ZK-EVM وقد أطلق الشبكة الرئيسية منذ نهاية شهر مارس من هذا العام.
تسرد الوثائق الرسمية Polygon zkEVM جميع الاختلافات الحالية بين EVM و zkEVM.
! [] (alt = "Image") نشر الرمز الثانوي على Polygon zkEVM هو نفسه مثل Ethereum ، مما يجعل نشر العقود الذكية والتفاعل معها أمرًا بسيطًا للغاية. قال Vitalik ذات مرة ، "يتمتع Polygon zkEVM بتصميم فريد ، وهم يستخدمون ZK للتحقق من لغتهم الداخلية الخاصة التي تسمى zkASM".
صرح فريق هندسة Polygon أنه بالإضافة إلى تحسين إنشاء الإثبات ووقت السحب ، سيتم الانتهاء من التجميع المسبق المتبقي في أقرب وقت ممكن في المستقبل ، بهدف أن يصبح النوع 2 في مخطط Vitalik.
في حالة النشر هذه ، تمت عملية ربط الشبكة الرئيسية zkEVM بسلاسة ؛ تستغرق عملية الربط L2 -> L1 حوالي ساعة واحدة.
** تمرير **
ينتمي Scroll إلى Type 3 ZK-EVM وهو حاليًا في مرحلة اختبار الشبكة. يسرد التمرير أيضًا الاختلافات بين ZK-EVM و Ethereum EVM في الوثائق الرسمية.
! [] (alt = "صورة") مثل الأنواع 3 ZK-EVMs الأخرى ، تكون عملية النشر سلسة تقريبًا ، ويتم نشر عقود Solidity الذكية ومجموعات NFT والتفاعل معها بسهولة. من المتوقع أن يستغرق تجسير الأموال من L2 إلى L1 من "10 دقائق إلى بضع ساعات".
** عصر ZkSync **
ينتمي ZkSync Era إلى Type 4 ZK-EVM. يختلف تمامًا عن ZK-EVMs الأخرى ، الرمز الثانوي للعقد الذكي الذي تم نشره على zkEVM الخاص بـ ZkSync Era يختلف عن Ethereum.
يتيح ذلك لـ ZkSync Era توفير ميزة فريدة ، ودعم أصلي لتجريد الحساب ، والذي سيجلب تجربة مطور مختلفة. عادةً ما تكون معظم محافظ العملات الرقمية مجرد عناوين قياسية يمكنها إرسال الأموال واستلامها والتفاعل مع العقود الذكية. مع تجريد الحساب ، يمكن تخصيص محافظ التشفير ويمكن تصميمها بطرق أكثر تعقيدًا لتوفير نطاق أوسع من الوظائف. بالإضافة إلى ذلك ، لا يزال zkEVM يسمح للمطورين باستخدام نفس اللغات عالية المستوى مثل Solidity.
على الرغم من أن ZK-EVM الخاص بـ ZkSync Era يختلف تمامًا عن EVM ، يوفر ZkSync Era مجموعة من أفضل الممارسات والاعتبارات للمطورين. بالإضافة إلى ذلك ، سيحتاج المطورون إلى إجراء بعض التعديلات الطفيفة على عملية التطوير للبناء خصيصًا لـ ZkSync Era.
على سبيل المثال ، في المثال أدناه ، يجب تثبيت بيئة Hardhat وتهيئتها بامتداد zkSync مخصص لإنشاء رمز ثنائي يمكن نشره في Era ZK-EVM.
! [] (alt = "صورة")
ينشئ التجميع رمزًا ثنائيًا جديدًا تمامًا يختلف تمامًا عن Ethereum ، والذي يختلف تمامًا عن الرمز الثانوي الذي تم إنشاؤه بواسطة ZK-EVM أعلاه.
! [] (alt = "صورة")
تجدر الإشارة إلى أن ThirdWeb قد أطلقت zkSync Era لتزويد المطورين بتجربة نشر أكثر ملاءمة.
يتم نشر ما مجموعه عقدين ذكيين خلال هذه العملية ، والتفاعل معهم ، وإرسال الأصول من L2 إلى L1 مرة أخرى. حاليًا ، هناك تأخير لمدة 24 ساعة لعمليات السحب من شبكة ZkSync Era الرئيسية إلى Ethereum L1 لأسباب أمنية.
** كاكاروت ZkEvm **
مشروع آخر مخصص لتحقيق النوع 2.5 ZK-EVM هو Kakarot ZkEvm ، الذي حصل على تمويل من العديد من المؤسسات بما في ذلك Vitalik Buterin و StarkWare في يونيو من هذا العام.ويخطط Kakarot لإطلاق testnet في وقت لاحق في عام 2023.
خاتمة
بالنسبة للمستخدمين النهائيين ، لا يهم من سيفوز بالسباق ، حيث أن التقدم في حل ZK المتوافق مع EVM يعد فوزًا كبيرًا للصناعة ككل. بالنسبة لأطراف المشروع المختلفة ، لا يعد الأمر منافسة بقدر ما يتعلق باستكشاف طرق مختلفة لتعزيز تقدم الصناعة بأكملها. بل إن فيتاليك لديه "نظرية متعددة الشهادات". والافتراض الأساسي هو أن المجموعات المختلفة يمكن أن تعمل معًا لتعزيز الأمن العام لإيثيريوم.
في نهاية اليوم ، يريد الجميع أن ينجح Ethereum. يعد تحول توسعة L2 أحد التحولات التقنية الثلاثة التي يعتقد فيتاليك أن Ethereum بحاجة إلى الخضوع لها. سننتظر ونرى كيف سيتطور في المستقبل.
شاهد النسخة الأصلية
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
أي zkEVM لديه أفضل أداء؟ اختبار نشر عقد Ethereum L2
المؤلف: جارود واتس ؛ تجميع: فوز بلوك
في حرب توسع Ethereum ، تتوافق المجموعات المتفائلة بشكل كبير أو حتى معادلة تمامًا لـ EVM ، مما يؤدي إلى المزايا المتأصلة لـ Arbitrum و Optimism على المسار ليتبناه المطورون.
في المقابل ، فإن سلسلة ZK أكثر صعوبة. تتسبب خصائصه التقنية المتأصلة في قيام مجموعات ZK Rollups بتخصيص أجهزتها الافتراضية الخاصة ، مما يعني أن طرف المشروع يحتاج إلى بذل المزيد من العمل "لتفسير" الشفرة من EVM أو حتى تطوير وكتابة رمز جديد من البداية. ومع ذلك ، أطلقت العديد من مشاريع تتبع ZK Rollups بما في ذلك Taiko و Polygon و Linea و Scroll و ZkSync Era تطبيقاتها الخاصة لـ zkEVM.
باعتبارها الكأس المقدسة للتوسع ، فإن zkEVM لها تأثير حاسم على تجربة نشر عقد المطور.في مواجهة مجموعة متنوعة من مشاريع ZK rollups ، كيف يجب على المطورين الاختيار؟
يجمع هذا المقال ملخصًا للتغريدات من Jarrod Watts. وهو مهندس علاقات مطورين في Polygon. من خلال نشر العقود الذكية (1 عقد Solidity الذكي وعقد NFT) في مشروع مجموعات ZK الرائج الحالي ، قام بقياس أداء zkEVM لمشاريع مثل Taiko و Polygon و Linea و Scroll و ZkSync Era ، وقارن بين مزاياها العملية و ZkSync Era ، وقارن بين مزاياها العملية وعيوبها. عقود الطبقة.
فيما يلي تجميع للنص الأصلي من BlockBeats:
** ما هو ZK-EVM ولماذا نحتاجه؟ **** قبل تفسير ماهية ZK-EVM ، دعنا نرى سبب الحاجة إلى ZK-EVM؟ **
تجلب ZK Rollups قابلية التوسع والأداء العالي إلى Ethereum. على الجانب الآخر من العملة ، لا يتوافق حل ZK Rollups مع EVM (آلة افتراضية Ethereum) ، مما يعني أن حل ZK Rollups يمكنه فقط دعم عمليات محدودة ، بما في ذلك النقل أو السك أو الحرق ، ويجب تطوير أدوات مثل المحافظ للمستخدمين.
لذلك ، نحتاج إلى ZK Rollups المتوافقة مع EVM ، ولهذا ، طورت العديد من الشركات ZK-EVMs الخاصة بها.
ZK-EVM ، أو Zero-Knowledge EVM ، هو تطبيق Ethereum Virtual Machine متوافق مع Zero-Knowledge Proofs.
تتمثل الوظيفة الرئيسية لـ ZK-EVM في إجراء معاملات معالجة مجمعة على Ethereum L2 (الطبقة 2) ، وإرسال "إثبات صحة" المعاملات الدفعية مرة أخرى إلى Ethereum L1. بشكل عام ، يمكن لـ zkEVM فعل كل شيء لشبكة Ethereum mainnet. يقوم بتجميع التعليمات البرمجية التي يمكن قراءتها من قبل الإنسان في Solidity أو Vyper إلى رمز ثانوي ، وتنفيذ العقود الذكية ، وتحديث حالة blockchain.
تكمن الصعوبة في إنشاء مجموعات ZK Rollups المتوافقة مع EVM في أن Ethereum لم يتم تصميمه في الأصل مع مراعاة صداقة ZK. هذا يعني أن براهين المعرفة الصفرية تتطلب الكثير من الموارد للحساب.
من بينها ، بعض أكواد التشغيل الخاصة برموز تشغيل EVM هي "ZK-unfri friendly" ، مما يؤدي إلى منتجات ZK-EVM المصممة أخيرًا من قبل شركات مختلفة بتوافق مختلف مع EVM.
** ما هي أكواد التشغيل و bytecode و EVM؟ **
حان وقت العلم الشعبي ، ما هي أكواد التشغيل ، الرموز البايتية و EVM؟
بادئ ذي بدء ، EVM هي بيئة التشغيل للعقود الذكية على Ethereum. يخزن Ethereum ما يسمى بـ "حالة الجهاز" في بنية بيانات شجرة ثلاثية ، والتي تتغير بعد تنفيذ كل معاملة في الكتلة.
يعد EVM حتميًا ، مما يعني أن تنفيذ مجموعة من التعليمات في أي حالة معينة سيؤدي إلى نفس الحالة الجديدة.
وفقًا لوثائق مطور Ethereum ، حالة قديمة صالحة (S) + مجموعة جديدة من المعاملات الصالحة (T) ، ستنشئ Ethereum حالة إخراج صالحة جديدة S '
! [] (alt = "صورة")
يمكنك التفكير في الأمر على أنه لعبة مثل الشطرنج. يشبه Ethereum رقعة الشطرنج ، حيث توجد حالات مختلفة للعبة ، وفي Ethereum ، فإن احتمالات هذه الحالة لا حصر لها. تتمتع ألعاب الطاولة بقواعد الحركة الخاصة بها (قارن المعاملات على Ethereum) ولها قيود محددة على الإجراءات التي يمكن تنفيذها على القطع. يتخذ اللاعبون إجراءات (مقارنة بالمستخدمين الذين يقدمون معاملات على Ethereum) ، وتقوم اللعبة (Ethereum) بصياغة القواعد وإنفاذها ، مما ينتج عنه حالة لوحة جديدة (Ethereum global) بعد كل جولة (تقابل وقت الحظر).
بالنسبة إلى Ethereum أو أي تطوير blockchain متوافق مع EVM ، يجب كتابة العقود الذكية في Solidity. Solidity هي لغة عالية المستوى مصممة لتكون قابلة للقراءة بحيث يمكن للمطورين التركيز على كتابة التعليمات البرمجية بدلاً من السجلات وعناوين الذاكرة ومكدسات المكالمات وغيرها من الأفكار التجريدية.
ومع ذلك ، لا يستطيع EVM قراءة Solidity. بدلاً من ذلك ، لا يفهم سوى "bytecode" ، وهو رمز ثنائي المستوى منخفض المستوى يمكن قراءته آليًا.
في EVM ، يمثل "bytecode" (الرمز الثانوي) سلسلة من "أكواد التشغيل" (أكواد التشغيل) EVM ، أكواد التشغيل هي تعليمات منخفضة المستوى قابلة للقراءة للبرنامج ، تمثل عمليات محددة يمكن إجراؤها في EVM.
نظرًا لأن لغة عالية المستوى مثل Solidity لا يمكن تنفيذها بشكل مباشر في EVM ، فنحن بحاجة إلى طريقة لتحويل رمز العقد الذكي من رمز تشغيل لغة Solidity القابل للقراءة البشرية ليتم تنفيذه بواسطة EVM ، وهو عمل المترجم.
بعد تجميع كود Solidity باستخدام برنامج التحويل البرمجي Remix IDE ، يمكنك رؤية كود التشغيل المحدد الذي تم تحويل العقد الذكي إليه ، وعرض الرمز الثانوي الذي تم إنشاؤه من كود التشغيل.
! [] (alt = "صورة")
فيما يلي رموز التشغيل:
! [] (alt = "صورة")
ما يلي هو رمز بايت المقابل لرمز التشغيل أعلاه.
! [] (alt = "صورة")
من خلال ترجمة الرموز البايتية إلى أكواد تشغيل ، من الممكن معرفة تعليمات التنفيذ الواردة في الرموز البايتية.
نظرًا لصعوبة إثبات ZK لبعض أكواد التشغيل المحددة في EVM ، ظهرت في السوق ZK-EVM بدرجات مختلفة من التوافق. من بينها ، بعض مجموعات أكواد التشغيل ZK-EVM و EVM متكافئة تمامًا ، وبعضها قام بتعديل بعض أكواد التشغيل EVM جزئيًا ، وأحدها له رموز ثانوية مختلفة تمامًا.
** أنواع مختلفة من ZK-EVM **
نظرًا لأن تصميم Ethereum لم يأخذ في الاعتبار ملاءمة ZK في البداية ، نظريًا ، كلما اقتربنا من تصميم Ethereum ، كان إنشاء أدلة ZK أكثر صعوبة واستهلاكًا للوقت. في أغسطس 2022 ، نشر Vitalik ، مؤسس Ethereum ، منشور مدونة بعنوان "استمع إلى تفسير Vitalik لمستقبل أنواع مختلفة من ZK-EVM" ، يصنف ZK-EVMs المختلفة.
في هذا المقال ، صنف Vitalik العديد من ZK-EVMs بناءً على بعدين من توافق EVM ووقت إنشاء دليل ZK (الأداء). أدرج Vitalik أربعة أنواع (شبه) في هذا المخطط ، ويمكن تضمين جميع منتجات ZK-EVM الموجودة حاليًا في السوق.
! [] (alt = "صورة") 1 ، النوع الأول من ZK-EVM يكافئ تمامًا Ethereum ، ولا يغيرون أي جزء من نظام Ethereum ، ويسهل عليهم إنشاء البراهين. في مثل هذه الأنظمة ، يستغرق إنشاء براهين ZK وقتًا طويلاً (عدة ساعات). ينتمي Taiko إلى هذا النوع من ZK-EVM.
2.5 ، بين النوع 2 والنوع 3 ، هناك أيضًا نوع 2.5. هذا النوع مكافئ تمامًا لـ EVM ، باستثناء أن تكلفة الغاز لأنواع معينة من العمليات يتم زيادتها "لتقليل وقت إثبات الحالة الأسوأ بشكل كبير". حاليًا ، لا يوجد ZK-EVM من هذا النوع في السوق ؛ ومع ذلك ، يعمل عليه مشروع ZK-EVM جديد يسمى Kakarot.
النوع 3 يكافئ تقريبًا EVM ، ولكن مع بعض التنازلات في الدقة المكافئة لتقليل وقت الإثبات بشكل أكبر وتبسيط تطوير EVM. حاليًا ، يعد Polygon و Linea و Scroll من هذا النوع.
النوع 4 مكافئ للغة عالية المستوى لـ ZK-EVM. يجمع هذا النوع من ZK-EVM الكود المصدري للعقد الذكي إلى لغة صديقة لـ ZK-SNARK ، والتي ستوفر وقت إثبات أسرع والعيوب المقابلة مثل عدم التوافق والقيود. حاليًا ، يقع zkSync Era ضمن هذه الفئة.
تجدر الإشارة إلى أن الوقت المطلوب لإرسال إثبات الصلاحية إلى Ethereum L1 هو الوقت الذي يستغرقه المستخدم لتحويل الأموال مرة أخرى إلى L1. إذا استغرق إنشاء الدليل ساعات ، فلن يتمكن هذا المستخدم من إعادة الأموال إلى المستوى 1 خلال تلك الساعات.
** القتال العملي: تقييم تطوير Taiko و Polygon و Linea و Scroll و ZkSync Era **
بعد مراجعة المعرفة النظرية ، فيما يلي الجزء القتالي الفعلي.
من خلال نشر عقود Solidity الذكية وعقود NFT على Taiko و Polygon و Linea و Scroll و ZkSync Era على التوالي ، يتم اختبار الأداء والعيوب المقابلة لكل ZK-EVM. يعطي المؤلف أيضًا موارد المطورين المتاحة ، ويتم التقييم بشكل أساسي من بُعدين لتجربة المطور ووقت التجسير من L2 إلى L1.
** تايكو ZK-EVM **
Taiko هو نوع 1 ZK-EVM وهو حاليًا في مرحلة اختبار الشبكة. تتعامل Taiko مع ما تفعله Ethereum بالضبط ؛ باستخدام نفس وظائف التجزئة ، وأسعار الغاز ، وخوارزميات التشفير ، وما إلى ذلك.
عملية التشغيل: نشر عقد Solidity الذكي البسيط ونشر مجموعة NFT بسيطة باستخدام وكيل ThirdWeb.
الجانب السلبي من النوع 1 ZK-EVM هو أنه يستغرق وقتًا طويلاً لإنشاء البراهين عندما يكون كل شيء هو نفسه تمامًا كما في Ethereum (حتى داخليًا). هذا يعني أن المستخدم يستغرق عدة ساعات لربط ETH من Taiko L2 إلى Ethereum L1 (كما هو موضح أدناه).
! [] (alt = "صورة")
** الخط ZK-EVM **
ينتمي Linea إلى النوع 3 ZK-EVM ، ولا يستطيع Linea حتى الآن إثبات جميع أكواد التشغيل أو التجميع المسبق ؛ فهو يمثل حالة داخلية متسلسلة مختلفة عن Ethereum ، مثل استخدام دالة تجزئة مختلفة.
الرمز الثانوي المنشور هو نفسه Ethereum.
! [] (alt = "صورة")
كانت عملية النشر سلسة تقريبًا ، مما جعل من السهل النشر والتفاعل مع كلا العقدين الذكيين. هذا هو نفس سلوك Ethereum ؛ يمكن استخدام الأدوات والمحافظ الحالية لنشر العقود الذكية والتفاعل معها وصك NFTs وما إلى ذلك.
في وقت كتابة هذا المقال ، لم تكن Linea قد أطلقت بعد واجهة الواجهة الأمامية للجسر. لذلك ، يمكن فقط استدعاء وظائف العقد الذكي المترابط مباشرة.
وفقًا لوثائق Linea ، عادةً ما يستغرق جسر ETH من L2 إلى L1 حوالي 15 دقيقة ، ولكن في هذه الحالة يستغرق حوالي بضع ساعات.
** مضلع ZK-EVM **
ينتمي Polygon ZK-EVM إلى Type 3 ZK-EVM وقد أطلق الشبكة الرئيسية منذ نهاية شهر مارس من هذا العام.
تسرد الوثائق الرسمية Polygon zkEVM جميع الاختلافات الحالية بين EVM و zkEVM.
! [] (alt = "Image") نشر الرمز الثانوي على Polygon zkEVM هو نفسه مثل Ethereum ، مما يجعل نشر العقود الذكية والتفاعل معها أمرًا بسيطًا للغاية. قال Vitalik ذات مرة ، "يتمتع Polygon zkEVM بتصميم فريد ، وهم يستخدمون ZK للتحقق من لغتهم الداخلية الخاصة التي تسمى zkASM".
صرح فريق هندسة Polygon أنه بالإضافة إلى تحسين إنشاء الإثبات ووقت السحب ، سيتم الانتهاء من التجميع المسبق المتبقي في أقرب وقت ممكن في المستقبل ، بهدف أن يصبح النوع 2 في مخطط Vitalik.
في حالة النشر هذه ، تمت عملية ربط الشبكة الرئيسية zkEVM بسلاسة ؛ تستغرق عملية الربط L2 -> L1 حوالي ساعة واحدة.
** تمرير **
ينتمي Scroll إلى Type 3 ZK-EVM وهو حاليًا في مرحلة اختبار الشبكة. يسرد التمرير أيضًا الاختلافات بين ZK-EVM و Ethereum EVM في الوثائق الرسمية.
! [] (alt = "صورة") مثل الأنواع 3 ZK-EVMs الأخرى ، تكون عملية النشر سلسة تقريبًا ، ويتم نشر عقود Solidity الذكية ومجموعات NFT والتفاعل معها بسهولة. من المتوقع أن يستغرق تجسير الأموال من L2 إلى L1 من "10 دقائق إلى بضع ساعات".
** عصر ZkSync **
ينتمي ZkSync Era إلى Type 4 ZK-EVM. يختلف تمامًا عن ZK-EVMs الأخرى ، الرمز الثانوي للعقد الذكي الذي تم نشره على zkEVM الخاص بـ ZkSync Era يختلف عن Ethereum.
يتيح ذلك لـ ZkSync Era توفير ميزة فريدة ، ودعم أصلي لتجريد الحساب ، والذي سيجلب تجربة مطور مختلفة. عادةً ما تكون معظم محافظ العملات الرقمية مجرد عناوين قياسية يمكنها إرسال الأموال واستلامها والتفاعل مع العقود الذكية. مع تجريد الحساب ، يمكن تخصيص محافظ التشفير ويمكن تصميمها بطرق أكثر تعقيدًا لتوفير نطاق أوسع من الوظائف. بالإضافة إلى ذلك ، لا يزال zkEVM يسمح للمطورين باستخدام نفس اللغات عالية المستوى مثل Solidity.
على الرغم من أن ZK-EVM الخاص بـ ZkSync Era يختلف تمامًا عن EVM ، يوفر ZkSync Era مجموعة من أفضل الممارسات والاعتبارات للمطورين. بالإضافة إلى ذلك ، سيحتاج المطورون إلى إجراء بعض التعديلات الطفيفة على عملية التطوير للبناء خصيصًا لـ ZkSync Era.
على سبيل المثال ، في المثال أدناه ، يجب تثبيت بيئة Hardhat وتهيئتها بامتداد zkSync مخصص لإنشاء رمز ثنائي يمكن نشره في Era ZK-EVM.
! [] (alt = "صورة")
ينشئ التجميع رمزًا ثنائيًا جديدًا تمامًا يختلف تمامًا عن Ethereum ، والذي يختلف تمامًا عن الرمز الثانوي الذي تم إنشاؤه بواسطة ZK-EVM أعلاه.
! [] (alt = "صورة")
تجدر الإشارة إلى أن ThirdWeb قد أطلقت zkSync Era لتزويد المطورين بتجربة نشر أكثر ملاءمة.
يتم نشر ما مجموعه عقدين ذكيين خلال هذه العملية ، والتفاعل معهم ، وإرسال الأصول من L2 إلى L1 مرة أخرى. حاليًا ، هناك تأخير لمدة 24 ساعة لعمليات السحب من شبكة ZkSync Era الرئيسية إلى Ethereum L1 لأسباب أمنية.
** كاكاروت ZkEvm **
مشروع آخر مخصص لتحقيق النوع 2.5 ZK-EVM هو Kakarot ZkEvm ، الذي حصل على تمويل من العديد من المؤسسات بما في ذلك Vitalik Buterin و StarkWare في يونيو من هذا العام.ويخطط Kakarot لإطلاق testnet في وقت لاحق في عام 2023.
خاتمة
بالنسبة للمستخدمين النهائيين ، لا يهم من سيفوز بالسباق ، حيث أن التقدم في حل ZK المتوافق مع EVM يعد فوزًا كبيرًا للصناعة ككل. بالنسبة لأطراف المشروع المختلفة ، لا يعد الأمر منافسة بقدر ما يتعلق باستكشاف طرق مختلفة لتعزيز تقدم الصناعة بأكملها. بل إن فيتاليك لديه "نظرية متعددة الشهادات". والافتراض الأساسي هو أن المجموعات المختلفة يمكن أن تعمل معًا لتعزيز الأمن العام لإيثيريوم.
في نهاية اليوم ، يريد الجميع أن ينجح Ethereum. يعد تحول توسعة L2 أحد التحولات التقنية الثلاثة التي يعتقد فيتاليك أن Ethereum بحاجة إلى الخضوع لها. سننتظر ونرى كيف سيتطور في المستقبل.