تلخيص؛ لم تُقرأ بعد
اليوم، تتداول حلول الطبقة 2 تداول التوازن بين التوسعية وتجزئة الحالة. نقدم تصميم الطبقة 2 (L2)، =nil؛، الذي يدفع حدود توسعية إثيريوم دون التنازل عن فوائد بيئة التنفيذ الموحدة. تجمع الحلول بين آلية تجزئة ديناميكية مع وصول قابل للتحقق إلى بيانات إثيريوم، مؤمنة بتقنيات المعرفة الصفرية. العناصر الرئيسية تشمل:
من خلال zkSharding =nil؛ تستفيد من مزايا التصميمين الأحادي والمعياري بما في ذلك:
قابلية التوسع
بيئة تنفيذ موحدة
أمان
وظائف
في المستوى السفلي، يتم تقسيم حالة =nil; إلى الجزء الأساسي وعدة أجزاء ثانوية. دور الجزء الرئيسي هو مزامنة وتوحيد البيانات من الأجزاء الثانوية. يستخدم الجزء الرئيسي إثيريوم كطبقة توافر البيانات الخاصة به وكمدقق لأدلة انتقال الحالة، على غرار عمليات zkRollups النموذجية.
الأجزاء الثانوية تعمل كـ "العمال", تنفذ معاملات المستخدم. تحافظ هذه الأجزاء على سيولة موحدة وبيانات من خلال بروتوكول رسائل بين الأجزاء، مما يقضي على أي تشتت بينها.
كل قطاع يتم رقابته بواسطة لجنة من المدققين. هناك دورة دورية لهؤلاء المدققين عبر القطاعات. بالإضافة إلى ذلك، يتم التحقق من تحديثات حالة القطاع إلى القطاع الرئيسي باستخدام zkEVM.
لتوضيح تدفق المعاملات من بدء المستخدم إلى تأكيد على إثيريوم، ننظر إلى الخطوات التالية:
يفترض هذا المخطط أن تعملة المستخدم لا تفعل بروتوكول الرسائل بين الأسياخ. ومع ذلك، في هذه الحالة، يبقى تدفق العملية على نفس النحو مع الاختلاف الذي يمكن أن تُثير عملية المستخدم إنشاء عمليات جديدة على أسياخ أخرى.
مع توزيع جميع الحسابات بين الشظايا، قد يبدو هذا مشابهًا لمشكلة تجزئة البيانات الموجودة في نهج الإرساء الخاص بالتطبيقات. ومع ذلك، الفارق الرئيسي يكمن في كيفية التعامل مع التواصل بين الشظايا: إنه متكامل مباشرة في البروتوكول العام، بدلاً من كونه مُدارًا من قِبل جسور خارجية منفصلة.
لضمان أمان كل جزء ثانوي ، تلتزم لجنة المدققين الخاصة بها بإثبات انتقالات حالتها إلى الجزء الأساسي لضمان عدم حدوث احتيال داخل مجموعة مدقق أصغر. كل لجنة من لجان مدققي الأجزاء لديها مهام إضافية تتجاوز صيانة الأجزاء. المدققون مسؤولون عن تتبع أنواع معينة من الأحداث ، وهي رسائل الأجزاء المتقاطعة ، ضمن "الأجزاء القريبة". يتم تحديد الأجزاء القريبة بناء على مسافة Hamming في معرفات الأجزاء.
=nil;s zkEVM هو zkEVM من النوع 1 المترجم باستخدام zkLLVM. لفهم الفروقات بين zkEVMs التقليدية و zkEVM لـ =nil;، نحتاج إلى مناقشة القيود المرتبطة بعملية تعريف الدوائر التي تكمن وراء zkEVMs. دائرة zkEVM هي جزء حرج، المسؤول عن ضمان أن دليل تحويل الحالة يعتبر صحيحًا، وعادة ما يتم تعريفه باستخدام بعض zkDSL المخصص أو ببساطة مكتبة. يثير هذا الطريقة في تعريف الدائرة مسائل تتعلق ب:
=nil؛ يقوم zkEVM بحل جميع هذه التحديات بفعالية من خلال كونه:
تم ترجمة zkEVM المترجمة عبر zkLLVM بتصميم آمن بالطبيعة، مستفيدة من evmone لضمان التناسق الكامل مع EVM المستخدمة في إنتاج إثيريوم. يترجم zkLLVM (C++ أو Rust) تلقائيًا إلى الدائرة، مما يعني إزالة الأخطاء البشرية من عملية تعريف الدائرة.
علاوة على ذلك، لأن =nil؛ تم تجميع zkEVM عبر zkLLVM، فإنه أكثر مرونة بشكل طبيعي (وبالتالي، مستقبل برهنة) من الدوائر المحددة يدويًا حيث يمكن تعديله بسهولة وإنشاء الدائرة تكون تلقائية. كما أنها أكثر قابلية للتدقيق، مما يعني أن أمانها لا يأتي على حساب تضمين أحدث EIPs المضافة إلى Ethereum.
بما أن الشريحة الرئيسية والشرائح الثانوية مختلفة فيما يتعلق بمهامها المخصصة - تركز الشرائح الثانوية على معالجة المعاملات بينما تركز الشريحة الرئيسية على مزامنة البيانات - فإن لديهم نهج مختلف تجاه توافر البيانات (DA)، الذي يساعد في استعادة بيانات الحالة في حالات الطوارئ. وهذا يعني:
تم تحديد هذه الترتيبات من خلال إطلاق نوعين من قطع الشاردز في البداية: تلك التي تحتوي على حلاً خارجيًا منفصلاً وتلك التي لا تحتوي عليه. في المراحل التالية، يمكن دمج قطع من نفس فئة DA فقط. وهذا يعني أنه خلال إنشائها، يجب ربط كل حساب بفئة DA محددة.
بالإضافة إلى ذلك، يمكن توسيع هذا الإطار ليشمل أنواع أخرى من DA.
أحد أهدافنا الرئيسية هو تحسين قابلية التركيب للتطبيقات ومنع تشتت السيولة، لذا من الطبيعي أن يكون نهج zkSharding غير كامل بدون وصول غير معتمد إلى حالة إثيريوم. هذا يعني =nil؛ يقدم قابلية تركيب كاملة وتكامل شفاف مع إثيريوم من خلال وحدة مزود البيانات.
يعمل مزود البيانات مستقلاً عن تخزين البيانات في الشريحة، ويزامن معلوماته مع قاعدة بيانات خارجية ويضيف بصمة إيثيريوم لحالة قاعدة البيانات المراقبة الأخيرة (الممثلة بواسطة تجزئة بلوك إيثيريوم) إلى كتلة الشريحة. يتلقى الحالة الأخيرة لهذه القاعدة بيانات تحققًا من وحدة التأكيد، التي تستخدم جسر zk مع دليل إثيريوم Casper FFG للاتفاق.
=nil؛ و zkSharding هما تجسيد للمنتجات التي قامت =nil؛ بتطويرها على مدى السنوات الأربع الماضية. هدفها أن تكون أول حلاً composable وقابلاً للتطوير والعالمي لـ Ethereum L2 zkRollup. نحن متحمسون لمشاركة المزيد من تفاصيل التنفيذ خلال الأشهر القليلة القادمة. تأكد من متابعة حسابنا على تويتر للبقاء على اطلاع على تقدمنا!
بالنسبة لأولئك الذين لديهم فهم فني، لقد قمنا بتطويرمقدمة منفصلة شاملةالذي يغوص في تفاصيل =nil؛ و zkSharding. هذا المبادئ الأساسية هو بوابتك لفهم تفاصيل هذا النهج، مجهزة بجميع التفاصيل التقنية والتمهيدات التي تحتاج إليها.
انغمس الآن في دليلنا التقني وانضم إلى المحادثة علىDiscordوتيليجرام. دعونا نستكشف سويًا الإمكانيات اللامحدودة لـ zkSharding!
تلخيص؛ لم تُقرأ بعد
اليوم، تتداول حلول الطبقة 2 تداول التوازن بين التوسعية وتجزئة الحالة. نقدم تصميم الطبقة 2 (L2)، =nil؛، الذي يدفع حدود توسعية إثيريوم دون التنازل عن فوائد بيئة التنفيذ الموحدة. تجمع الحلول بين آلية تجزئة ديناميكية مع وصول قابل للتحقق إلى بيانات إثيريوم، مؤمنة بتقنيات المعرفة الصفرية. العناصر الرئيسية تشمل:
من خلال zkSharding =nil؛ تستفيد من مزايا التصميمين الأحادي والمعياري بما في ذلك:
قابلية التوسع
بيئة تنفيذ موحدة
أمان
وظائف
في المستوى السفلي، يتم تقسيم حالة =nil; إلى الجزء الأساسي وعدة أجزاء ثانوية. دور الجزء الرئيسي هو مزامنة وتوحيد البيانات من الأجزاء الثانوية. يستخدم الجزء الرئيسي إثيريوم كطبقة توافر البيانات الخاصة به وكمدقق لأدلة انتقال الحالة، على غرار عمليات zkRollups النموذجية.
الأجزاء الثانوية تعمل كـ "العمال", تنفذ معاملات المستخدم. تحافظ هذه الأجزاء على سيولة موحدة وبيانات من خلال بروتوكول رسائل بين الأجزاء، مما يقضي على أي تشتت بينها.
كل قطاع يتم رقابته بواسطة لجنة من المدققين. هناك دورة دورية لهؤلاء المدققين عبر القطاعات. بالإضافة إلى ذلك، يتم التحقق من تحديثات حالة القطاع إلى القطاع الرئيسي باستخدام zkEVM.
لتوضيح تدفق المعاملات من بدء المستخدم إلى تأكيد على إثيريوم، ننظر إلى الخطوات التالية:
يفترض هذا المخطط أن تعملة المستخدم لا تفعل بروتوكول الرسائل بين الأسياخ. ومع ذلك، في هذه الحالة، يبقى تدفق العملية على نفس النحو مع الاختلاف الذي يمكن أن تُثير عملية المستخدم إنشاء عمليات جديدة على أسياخ أخرى.
مع توزيع جميع الحسابات بين الشظايا، قد يبدو هذا مشابهًا لمشكلة تجزئة البيانات الموجودة في نهج الإرساء الخاص بالتطبيقات. ومع ذلك، الفارق الرئيسي يكمن في كيفية التعامل مع التواصل بين الشظايا: إنه متكامل مباشرة في البروتوكول العام، بدلاً من كونه مُدارًا من قِبل جسور خارجية منفصلة.
لضمان أمان كل جزء ثانوي ، تلتزم لجنة المدققين الخاصة بها بإثبات انتقالات حالتها إلى الجزء الأساسي لضمان عدم حدوث احتيال داخل مجموعة مدقق أصغر. كل لجنة من لجان مدققي الأجزاء لديها مهام إضافية تتجاوز صيانة الأجزاء. المدققون مسؤولون عن تتبع أنواع معينة من الأحداث ، وهي رسائل الأجزاء المتقاطعة ، ضمن "الأجزاء القريبة". يتم تحديد الأجزاء القريبة بناء على مسافة Hamming في معرفات الأجزاء.
=nil;s zkEVM هو zkEVM من النوع 1 المترجم باستخدام zkLLVM. لفهم الفروقات بين zkEVMs التقليدية و zkEVM لـ =nil;، نحتاج إلى مناقشة القيود المرتبطة بعملية تعريف الدوائر التي تكمن وراء zkEVMs. دائرة zkEVM هي جزء حرج، المسؤول عن ضمان أن دليل تحويل الحالة يعتبر صحيحًا، وعادة ما يتم تعريفه باستخدام بعض zkDSL المخصص أو ببساطة مكتبة. يثير هذا الطريقة في تعريف الدائرة مسائل تتعلق ب:
=nil؛ يقوم zkEVM بحل جميع هذه التحديات بفعالية من خلال كونه:
تم ترجمة zkEVM المترجمة عبر zkLLVM بتصميم آمن بالطبيعة، مستفيدة من evmone لضمان التناسق الكامل مع EVM المستخدمة في إنتاج إثيريوم. يترجم zkLLVM (C++ أو Rust) تلقائيًا إلى الدائرة، مما يعني إزالة الأخطاء البشرية من عملية تعريف الدائرة.
علاوة على ذلك، لأن =nil؛ تم تجميع zkEVM عبر zkLLVM، فإنه أكثر مرونة بشكل طبيعي (وبالتالي، مستقبل برهنة) من الدوائر المحددة يدويًا حيث يمكن تعديله بسهولة وإنشاء الدائرة تكون تلقائية. كما أنها أكثر قابلية للتدقيق، مما يعني أن أمانها لا يأتي على حساب تضمين أحدث EIPs المضافة إلى Ethereum.
بما أن الشريحة الرئيسية والشرائح الثانوية مختلفة فيما يتعلق بمهامها المخصصة - تركز الشرائح الثانوية على معالجة المعاملات بينما تركز الشريحة الرئيسية على مزامنة البيانات - فإن لديهم نهج مختلف تجاه توافر البيانات (DA)، الذي يساعد في استعادة بيانات الحالة في حالات الطوارئ. وهذا يعني:
تم تحديد هذه الترتيبات من خلال إطلاق نوعين من قطع الشاردز في البداية: تلك التي تحتوي على حلاً خارجيًا منفصلاً وتلك التي لا تحتوي عليه. في المراحل التالية، يمكن دمج قطع من نفس فئة DA فقط. وهذا يعني أنه خلال إنشائها، يجب ربط كل حساب بفئة DA محددة.
بالإضافة إلى ذلك، يمكن توسيع هذا الإطار ليشمل أنواع أخرى من DA.
أحد أهدافنا الرئيسية هو تحسين قابلية التركيب للتطبيقات ومنع تشتت السيولة، لذا من الطبيعي أن يكون نهج zkSharding غير كامل بدون وصول غير معتمد إلى حالة إثيريوم. هذا يعني =nil؛ يقدم قابلية تركيب كاملة وتكامل شفاف مع إثيريوم من خلال وحدة مزود البيانات.
يعمل مزود البيانات مستقلاً عن تخزين البيانات في الشريحة، ويزامن معلوماته مع قاعدة بيانات خارجية ويضيف بصمة إيثيريوم لحالة قاعدة البيانات المراقبة الأخيرة (الممثلة بواسطة تجزئة بلوك إيثيريوم) إلى كتلة الشريحة. يتلقى الحالة الأخيرة لهذه القاعدة بيانات تحققًا من وحدة التأكيد، التي تستخدم جسر zk مع دليل إثيريوم Casper FFG للاتفاق.
=nil؛ و zkSharding هما تجسيد للمنتجات التي قامت =nil؛ بتطويرها على مدى السنوات الأربع الماضية. هدفها أن تكون أول حلاً composable وقابلاً للتطوير والعالمي لـ Ethereum L2 zkRollup. نحن متحمسون لمشاركة المزيد من تفاصيل التنفيذ خلال الأشهر القليلة القادمة. تأكد من متابعة حسابنا على تويتر للبقاء على اطلاع على تقدمنا!
بالنسبة لأولئك الذين لديهم فهم فني، لقد قمنا بتطويرمقدمة منفصلة شاملةالذي يغوص في تفاصيل =nil؛ و zkSharding. هذا المبادئ الأساسية هو بوابتك لفهم تفاصيل هذا النهج، مجهزة بجميع التفاصيل التقنية والتمهيدات التي تحتاج إليها.
انغمس الآن في دليلنا التقني وانضم إلى المحادثة علىDiscordوتيليجرام. دعونا نستكشف سويًا الإمكانيات اللامحدودة لـ zkSharding!