مقدمة إلى إثباتات ZK و STARK

عبارة عن حل ZK-Rollup لا مركزي (وتسمى أيضًا Validity-Rollup). وتُعد StarkNet شبكة من الطبقة الثانية على شبكة Ethereum (الطبقة الأولى)، مما يتيح لشبكة Ethereum بالتوسع عبر بروتوكولات cryptographic.

تم إطلاق Alpha من StarkNet على شبكة Mainnet في نوفمبر 2021؛ وفي سبتمبر 2022، تم إصدار StarkNet Alpha 0.10.0.

تم إنشاء StarkNet بواسطة شركة StarkWare. تقوم شركة Starkware بتطوير حلول تعتمد على حلول STARK لعالم blockchain وهي مخترعة "ZK-STARKs"، والتي سنناقشها بعد قليل.

يمكنك مشاهدة هذا الفيديو لفهم طريقة عمل هذه الشبكات:

لكن أولاً، ما هي حلول rollups؟

تعد حلول rollups إحدى الطرق الأكثر شيوعًا لحل مشكلة قابلية التوسع في blockchain.

تقوم حلول rollups بتجميع المعاملات في معاملة واحدة، وبعد ذلك ترسل المعاملة إلى blockchain الرئيسي (الطبقة الأولى) وكأنها معاملة واحدة. بمعنى آخر، تتعامل حلول rollups مع الحسابات وتخزين حالة blockchain خارج السلسلة الاساسية ثم ترسل بيانات المعاملات إلى الشبكة الرئيسية. يؤدي هذا إلى تقليل البيانات التي سيتم التعامل معها في الشبكة الرئيسية (الطبقة الأولى).

هناك فئتان رئيسيتان من حلول rollups اليوم هما Optimistic Rollups و ZK-Rollups.

يمكنك الحصول على الكثير من المعلومات حول حلول الطبقة الثانية وحلول rullups في كورس مقدمة إلى Layer2 و Rollups.

شبكة Starknet وحل Validity Rollup

كما تحدثنا سابقاً StarkNet هي احد حلول Validity ZK Rollup في الطبقة الثانية - يشار إليها عادة كنوع من Zero-Knowledge Rollup او (zkRollup). فهو يوفر انتاجية عالية وتكاليف منخفضة ويرث مزايا الأمان من الطبقة الأولى من Ethereum.

الفكرة الأساسية بسيطة. بالنظر إلى لغز Sudoku، فمن الأسهل التحقق من الحل المحتمل بدلاً من حل اللغز من الصفر. إذا تمكنا من إقناع الناس بعبارة "تم حل اللغز" بدلاً من التفصيل، فيمكننا توفير الكثير من الحسابات من خلال جعل شخص واحد يحل اللغز ويبثه إلى الجميع للتحقق منه. باستخدام هذه الإستراتيجية، يصبح حل اللغز مهمة لمرة واحدة.

باستخدام هذا التشبيه، تساعد StarkNet على توسيع نطاق Ethereum عن طريق استبدال الحساب الثقيل (تنفيذ المعاملة) على الطبقة الأولى بتحقق أخف وأرخص باستخدام أدلة ZK-STARKs التي يتم حسابها خارج السلسلة (خارج سلسلة الطبقة الأولى).

يرمز zk-STARK إلى حجة المعرفة الشفافة القابلة للتطوير ذات المعرفة الصفرية (Zero-Knowledge Scalable Transparent Argument of Knowledge). وهو نظام إثبات المعرفة الصفرية (ZK) الذي تم تقديمه كبديل لنظام zk-SNARKs في عام 2018، وتم اختراعه من قبل فريق Starkware أيضًا.

تدعم STARKs تقنية قابلية التوسع لـ StarkNet. يمكن للمطورين أخذ التخزين والحساب خارج السلسلة (الطبقة الأولى Ethereum) إلى الطبقة الثانية من StarkNet، ومن ثم يمكن إنشاء أدلة STARK التي تتحقق من دقة تلك الحسابات خارج السلسلة ونشرها على سلسلة الطبقة الأولى في Ethereum.

تقوم شبكات الطبقة الثانية بعد ذلك بفتح فوائد قابلية التوسع عن طريق حساب عدد كبير من المعاملات في دفعة واحدة باستخدام STARKs ثم استخدام دليل STARK واحد لتأكيد صلاحيتها على الطبقة الأولى. وهذا يوفر تكلفة غاز منخفضة لكل معاملة فردية على شبكة الطبقة الثانية.

طبقة البيانات - Data Layer

عند بناء حزمة StarkNet من الأسفل إلى الأعلى، أول شيء يجب مراعاته هو طبقة البيانات. طبقة البيانات هي المكان الذي يمكن تخزين جميع البيانات التي يمكن التحقق منها، مما يمكن أن يساعدنا في التأكد من أن الحالة الحالية على StarkNet صالحة، ويمكن جلب الحالة التاريخية من Ethereum.

نظرًا لأن StarkNet يستخدم الطبقة الأولى من شبكة Ethereum لنشر البراهين، فإنه يستخدم Ethereum كطبقة بيانات للتحقق من البرهان وتوافر البيانات (data availability).

طبقة التنفيذ - Execution Layer

طبقة التنفيذ هي المكان الذي يتم فيه بالفعل تنفيذ المعاملات التي يرسلها المستخدمون، ويتم إنشاء البراهين لنشرها في طبقة البيانات.

في حالة StarkNet، طبقة التنفيذ في الطبقة الثانية من شبكة StarkNet. تستفيد شبكة StarkNet من لغة Cairo - وهي لغة برمجة مُثبتة وفعالة ومتوافقة مع zkRollup للعقود الذكية - للتعبير عن تنفيذ العقود الذكية مع كُتل السلسلة.

بالضبط، StarkNet لا يستخدم EVM من أجل إستخدام لغة Solidity في العقود الذكية كما أعتدنا سابقاً. وبدلاً من ذلك، يستخدم CairoVM لتنفيذ العقود الذكية بلغة Cairo. ولهذا السبب سنقوم بتعلم بعض اساسيات لغة Cairo خلال هذه الدورة التعليمية.

طبقة التطبيقات - Application Layer

بالمضي قدمًا، الخطوة التالية في الأعلى هي طبقة التطبيق.

طبقة التطبيقات هي المكان الذي تدخل فيه. بناء العقود، وإنشاء التطبيقات اللامركزية، والأدوات أعلى StarkNet حتى يكون لدى المستخدمين شيء لاستخدامه.

طبقة النقل - Transport Layer

الخطوة الأخيرة هي طبقة النقل. هذه هي الطريقة التي يتم بها توصيل المعاملات التي أنشأها المستخدمون إلى شبكة الطبقة الثانية لإنشاء تغيير الحالة على blockchain، ثم نشر الإثبات على الطبقة الأولى في النهاية.

يتم تحقيق ذلك من خلال قدرة المستخدمين على التواصل مع عقد طبقة التنفيذ التي يتم تشغيلها إما بأنفسهم أو بواسطة موفر RPC. توفر عُقد طبقة التنفيذ StarkNet واجهة JSON-RPC، مشابهة لعُقد Ethereum، والتي من خلالها يمكن لمحافظ المستخدم أو التطبيقات التواصل مع بقية الشبكة.

وبهذا نكون قد قمنا بتغطية مجموعة StarkNet بأكملها!

كما هو الحال دائمًا، إذا كانت لديك أي أسئلة أو شعرت بالتعثر أو أردت فقط أن تقول مرحبًا، فقم بالإنضمام على Telegram او Discord وسنكون أكثر من سعداء لمساعدتك!