لماذا ظهرت الـ Roll-ups؟
في الأعوام السابقة، خاصة بعد عام 2020، نما النشاط بشكل كبير على شبكات البلوكتشين، مثل نمو مشاريع الرموز الغير قابلة للاستبدال NFTs ومشاريع التمويل اللامركزي DeFi على شبكة Ethereum، مما أدى لزيادة الحمل على الشبكة وظهرت الـ Roll-ups نتيجة لذلك.
هذه الزيادة في الحمل على الشبكة أدت لارتفاع وقت إنهاء المعاملات وزيادة رسومها، ولحل هذه المشاكل كان يتوجب زيادة قدرة الشبكة، أو ما يدعى بتوسيع البلوكتشين Blockchain Scaling.
تعد زيادة قدرة الشبكة إحدى أهم التحديات التي تواجه البلوكتشين اليوم، وهذا لأن العمليات على الشبكة يجب التحقق منها من خلال كل الأجهزة الموجودة على الشبكة، ولكنه من الصعب مراجعة عدد كبير من العمليات في الثانية الواحدة.
وتعتبر الرسوم المرتفعة تحد آخر يواجه البلوكتشين، حيث يتم دفع عمولات على كل عملية تحقق يقوم بها المعدنون، لذا تزداد الرسوم مع زيادة المعدنين.
حتى الآن هناك ثلاث طرق رئيسية لزيادة قدرة معظم شبكات البلوكتشين هي:
- توسعة وزيادة قدرة شبكة البلوكتشين بحد ذاتها وهو ما يدعى بتوسعة الطبقة الأولى (Layer1) مثل دمج Ethereum الذي وضع الأساس لتحسينات رسوم الغاز المستقبلية، إلا أنه لم يخفض بشكل مباشر رسوم تحويل الغاز.
- زيادة قدرة الشبكة من خلال بناء طبقة اولى إضافية موازية للشبكة الرئيسية وهو ما يدعى sidechains.
- زيادة القدرة من خلال التوسع في طبقة ثانية مبنية على الطبقة الأولى، وهو ما يدعى بتوسعة الطبقة الثانية Layer 2.
ما هي الـ Roll-ups وكيف تعمل؟
تنتمي الـ Roll-ups (التجميعات) للنوع الثالث من حلول توسيع الشبكة، أي أنها تعتبر إحدى أنواع زيادة قدرة الشبكة من خلال استخدام طبقة ثانية، يتم بناؤها على الطبقة الأولى للشبكة، وتعمل من خلال نقل عملية معالجة العمليات خارج الشبكة الأصلية وتحويلها لقطعة واحدة من البيانات ثم إعادة إرسالها للشبكة الأصلية، وبمعنى آخر نشر النتائج فقط على الشبكة الاصلية، مما يساعد على سهولة زيادة قدرة الشبكة عن طريق توفير وقت المعالجة وتخفيض الرسوم.
هناك نوعان رئيسيان من الـ Roll-ups هما: Optimistic rollups و ZK rollups
1- Optimistic roll-ups:
يتم تجميع المعاملات فيها خارج الشبكة ثم ترسل للشبكة في حزمة واحدة، وتستخدم اثباتات الاحتيال للتأكد من صحة التحويلات. (ومن اسمها المتفائل) فهذه الطريقة تفترض صحة المعاملة مسبقا عند إرسالها للشبكة ويتم التحقق منها لاحقا عن طريق حسابات إثبات الاحتيال، وإذا تم اكتشاف احتيال يتم إلغاء التحويل وتوقيع مخالفة على المستخدم الذي قام بالعملية.
من ميزات الـ Optimistic rollups أنها تتطلب موارد حسابية أقل لأن مبدأ إثبات الاحتيال مطلوب فقط عند الطعن في معاملة ما وهي أيضا قادرة على التوسع بشكل جيد. ولكن تكمن المشكلة في فترة التحقق. هذا يعني أنه يتعين على المستخدمين الانتظار لفترة أطول لسحب أموالهم ويمكن أن تستمر فترة الانتظار هذه لمدة تصل إلى أسبوع.
ومثال عن الشبكات التي تستخدمها Arbitrum و Optimism.
2- ZK roll-ups:
اسمها يأتي من مبدأ ZKP أو Zero Knowledge Proofs، لأنها تستخدم اثباتات المعرفة الصفرية للتحقق من صحة التحويلات، وفي هذه الطريقة يتم إثبات صلاحية العملية بشكل تلقائي ولكن دون كشف أي معلومات مضمنة في حزمة البيانات، وهذا يجعل هذه الطريقة أكثر أمانا من الطريقة الأولى لأن العمليات دائما صحيحة على الطبقة الثانية ولا تحتاج لإثبات على الطبقة الأولى، ولكن طبيعة التقنية و مراحلها المبكرة تجعلها أكثر تعقيدا وأكثر تكلفة للتنفيذ لأن الإثباتات مطلوبة لجميع العمليات وليس فقط عندما يتم الطعن فيها، مما يحد من قابلية التوسع. ولكنها في نفس الوقت أيضا تتميز بضغط أفضل للبيانات.
من المشاريع التي تعمل على تطوير هذا النوع: zkSync و Starknet و Polygon zkEVM و Scroll، وتختلف كل منها في خوارزمية الإثبات التي سنتحدث عنها في الفقرة القادمة وطريقة تجميع البيانات على السلسلة.
وبسبب تقليل وقت السحب بشكل كبير والتوليد التلقائي لإثبات الصلاحية وأن الـZK-Rollups تتميز بضغط أفضل للبيانات يتم الترويج لها الان على أنها مستقبل الـRollups، لذلك سنركز عليها بشكل أكبر في هذا المقال.
خوارزميات الإثبات في ZK-Rollups
خوارزمية الإثبات هي وسيلة لتوليد إثبات الصلاحية، وكما ذكرنا سابقا فإن هذا النوع من الـ rollups يعتمد في المبدأ العام على إثبات المعرفة الصفري ZKP، الذي يسمح لطرف ما أن يثبت لطرف آخر أنه يعرف شيئا ما دون أن يضطر للكشف عن المعلومة بحد ذاتها لإثبات معرفته.
هذا أحد أسباب أن الـZK-Rollups تستطيع تقليل البيانات التي يتم تبادلها بين المستخدمين وعلى الشبكة. وأنها تسمح للاثباتات بأن يتم التحقق من صلاحيتها بشكل أسرع لأنها تحتوي على كمية كلية أقل من البيانات.
اثنتان من التكنولوجيا الأكثر استخداما لإثبات المعرفة الصفري حاليا هما ZK-SNARKs و ZK-STARKs.
تساعد كل من هذه الخوارزميات على نقل عمليات المعالجة والتخزين خارج الشبكة الرئيسية بشكل امن، والتحقق مما اذا كان لدى المستخدم الرصيد الكافي والمفتاح الخاص الصحيح، دون الحاجة للوصول إلى المعلومات نفسها، وبالتالي تحسين جودة الأمان وزيادة قابلية التوسع للشبكة.
الفروقات بين SNARKs و STARKs
ترمز SNARK لحجة المعرفة الصفرية الموجزة غير التفاعلية (zero-knowledge succinct non-interactive argument of knowledge).
وتعتمد في التشفير الخاص بها على مبدأ المنحنيات الإهليلجية في التشفير (ECC) نفس الذي يستخدم في تشفير تطبيق iMessages الخاص بك، لذا تشكل هجمات القرصنة الكمومية خطرا على أمنها، ولحسن الحظ أن الحوسبة الكمومية ليست متاحة على نطاق واسع حتى الآن.
تتطلب SNARK تهيئة وإعداد موثوقا به لتحضير وإنشاء المفتاح الأولي للتشفير، وتم تبنيها بشكل سريع نظرا لكيفية بدايتها ودعم المطورين لها، وحجم الإثبات الأصغر مقارنة بـSTARK ما يعني رسوم غاز أقل.
ترمز STARK لحجة المعرفة الصفرية الشفافة القابلة للتوسيع (zero-knowledge scalable transparent argument of knowledge).
وتعتمد في التشفير الخاص بها على دوال إعادة الصياغة أو دوال التجزئة (Hash Functions) التي هناك أمثلة شهيرة عنها مثل SHA-256, MD5, CRC64 وغيرها. الأمر الذي يجعلها مقاومة لهجمات القرصنة الكمومية، وفي نفس الوقت يجعل حجم الإثبات أكبر أي أنها تتطلب غازا أكثر.
كما يفتقر مجتمع STARKs لوثائق المطورين مقارنة بـSNARKs، ويتم تطوير موارد لها مثل STARKware التي تدعمها Ethereum Foundation.
لذلك لا توجد إجابة نهائية حول أفضل تقنية لاستخدامها في ZK-Rollups. حيث تأتي كل تقنية بفوائد خاصة ولا يزال العديد من المطورين يستكشفون الخيارات الأفضل لتصميم الـRollups الخاصة بهم.
مستقبل ZK-rollup والتحديات التي يجب التغلب عليها
إحدى المشاكل الحالية أنه يجب ترجمة لغات البرمجة المتوافقة مع EVM، مثل Solidity، إلى لغة مخصصة تم تحسينها خصيصًا لتقنية ZKP، وذلك لتعزيز كفاءتها وهذا بدوره تحدي لتبنيها من قبل المطورين. هناك حلول مقترحة مثل برنامج Warp الذي تتطلع StarkNet إلى حل هذه المشكلة باستخدامه، وهو برنامج يحول من لغة Solidity إلى Cairo (لغة تقنية StarkNet’s ZKP) بشكل تلقائي.
أيضا يعارض الكثيرون فكرة المصدر المفتوح للعملات المشفرة، وأغلب مشاريع ZK-rollups ليست مفتوحة المصدر، مما يقلل من قدرة المجتمع على إصلاح الأخطاء عند حدوثها والاضطرار لجهة مسؤولة عن الإصلاحات.
وكما لتقنية rollups فوائد في تحسين السرعة والتكلفة على البلوكتشين، إلا أن ذلك على حساب اللامركزية. حيث تحتاج جميع rollups حاليًا إلى جهاز مركزي واستخدام عقود ذكية قابلة للترقية تتم إدارتها بواسطة كيان مركزي واحد يجمع المعاملات ويلتزم بالإثباتات على الطبقة الأولى (L1).
لذا سيكون إطلاق رمز ومصدر مفتوح هو الخطوات التالية للعديد من المشاريع التي تسعى إلى اللامركزية. حيث يخطط كل من StarkWare و zkSync لإطلاق رمز خاص، ويمكن أن تستخدم Polygon رمز MATIC لدعم مبادرة zkEVM من Polygon.
سيستمر السباق بين حلول rollup المتزايدة و ينبغي للفائز الحقيقي أن يكون قادرًا على الاستفادة من كفاءة ZK-rollups. بشكل عام ، تعد الـ Rollups تقنية جديدة واعدة لديها القدرة على تحسين قابلية التوسع وقابلية الاستخدام البرمجة على البلوكشين بشكل كبير. صحيح أنها لا تزال قيد التطوير، و لكن لديها القدرة على إحداث ثورة في الطريقة التي نتفاعل بها مع البلوكتشين.