تجريد الحساب متعدد السلاسل: استكشاف مستقبل البنية التحتية للتشفير
من 8 إلى 11 يوليو 2024، ستعقد مؤتمر مجتمع الإيثيريوم (EthCC) في بروكسل، بلجيكا. باعتباره أكبر حدث سنوي للإيثيريوم في أوروبا، يركز هذا المؤتمر على التطورات التقنية والمجتمعية.
في مؤتمر مجتمع الإيثيريوم الحالي (EthCC 7) ، ألقى أكثر من 350 من قادة الرأي في صناعة blockchain كلماتهم. ومن بينهم ، تم دعوة مطور blockchain للمشاركة وألقى كلمة حول "كشف المستقبل: تحليل تجريد الحسابات المتعددة".
ملخص النقاط الرئيسية للخطاب
تجريد الحساب (AA) يشمل جوهره تجريد التوقيع وتجريد الدفع. الأول يسمح للمستخدمين باختيار أي آلية تحقق، بينما يقدم الثاني خيارات متعددة للدفع في المعاملات. هذه المرونة تعزز بشكل كبير الأمان وتجربة المستخدم.
دالة نقطة الدخول في مرحلة التحقق لـ ERC-4337 و AA الأصلي ثابتة، ولكن في مرحلة التنفيذ، يحتفظ AA الأصلي فقط بنقطة الدخول الثابتة. تتميز طرق التنفيذ المختلفة في قيود معاملات التحقق وخطوات تنفيذ المعاملات.
عند تنفيذ ERC-4337 على سلاسل متوافقة مع EVM، تواجهنا بشكل رئيسي تحديين كبيرين: الاختلافات في البروتوكول في تصميم Rollup، وكذلك الاختلافات في طريقة حساب العناوين. هذه الاختلافات تؤدي إلى ظهور بعض التفاصيل التطويرية التي يصعب ملاحظتها عند تنفيذ ERC-4337 بين L1 و L2.
تجريد الحساب简介
تعريف تجريد الحساب
تجريد الحساب (AA) يحتوي بشكل أساسي على مفهومين رئيسيين:
تجريد التوقيع: يمكن للمستخدم اختيار أي آلية تحقق يفضلها بحرية، ولم يعد مقيدًا بخوارزمية توقيع رقمية معينة (مثل ECDSA).
تجريد الدفع: يمكن للمستخدمين استخدام طرق متعددة لدفع رسوم المعاملات، مثل استخدام رموز ERC-20 بدلاً من الرموز الأصلية، أو برعاية طرف ثالث للمعاملة.
هذه المرونة لا تعزز الأمان فحسب، بل تعزز أيضًا تجربة المستخدم. الهدف من تجريد الحساب هو تحقيق هذين المفهومين الأساسيين بعدة طرق.
تحليل ERC-4337
في الوقت الحالي، توجد بعض القيود على الحسابات المملوكة خارجيًا (EOA) في بروتوكول إيثريوم، مثل طريقة التوقيع الثابتة وتصميم الدفع. يحل ERC-4337 هذه المشكلات من خلال تقديم طرق إدارة حسابات ومعالجة معاملات أكثر مرونة.
هيكل userOp: في ERC-4337، يقوم المستخدم بإرسال هيكل userOp إلى Bundler. يقوم Bundler بتجميع عدة userOp، ثم يرسلها إلى عقد EntryPoint عن طريق استدعاء دالة handleOps.
عقد EntryPoint: يقوم هذا العقد بمعالجة المعاملات مثل نظام التشغيل، وتتمثل الوظائف الرئيسية في:
استدعاء دالة validate في عقد الحساب، لضمان حصول userOp على تفويض من مالك الحساب.
استلام الرسوم.
استدعاء دالة execute في عقد الحساب، لتنفيذ العملية المستهدفة لـ userOp.
مقدمة عن AA الأصلية
في إيثريوم، تُقسم الحسابات إلى EOA وحسابات العقود. ومع ذلك، في AA الأصلية، كل حساب هو عقد، وآلية معالجة المعاملات مضمنة مباشرة في بروتوكول البلوكشين.
تصميم AA في شبكات blockchain المختلفة:
تجريد حساب ERC-4337: Ethereum ، Arbitrum ، التفاؤل ، القاعدة ، Linea ، التمرير ، Polygon PoS
اتباع تجريد الحساب الأصلي لـ ERC-4337: عصر StarkNet و zkSync
الحساب المجرد ذو التصميم الخاص: Aztec
الفرق بين ERC-4337 و AA الأصلي
دور نظام التشغيل
يحتاج نظام AA إلى حل المشكلات التالية:
محددات سعر الغاز
مُحدد ترتيب المعاملات وموقع تجمع الذاكرة
مُشغّل دالة نقطة الدخول
عوامل تحديد عملية معالجة المعاملات
في ERC-4337، يتم تنفيذ هذه الأدوار بالتعاون بين Bundler وEntryPoint Contract.
في AA الأصلي، يقوم المستخدم بإرسال userOps الخاص به إلى مشغل / منظم الخادم الرسمي، بدلاً من Bundler و EntryPoint Contract.
في StarkNet، يتحمل Sequencer مسؤولية معالجة كل هذه المهام.
السمات الرئيسية لـ zkSync Era هي أن المشغل يحتاج إلى العمل مع محمل الإقلاع (عقد النظام). محمل الإقلاع مسؤول عن فتح كتل جديدة، وتعريف معلمات الكتل ومعلمات الغاز، واستقبال المعاملات من المشغل للتحقق منها.
واجهة العقد
نظرًا لوجود ثلاث خطوات، فإن واجهة عقد الحساب متشابهة في تطبيقات مختلفة، ولا يمكن استدعاء هذه الوظائف من نقاط الدخول إلا بواسطة AA OS:
ERC-4337: التحقق من عمليات المستخدم
zkSync: التحقق من المعاملات، دفع المعاملات، تنفيذ المعاملات
StarkNet: تنفيذ، تحقق، تحقق_إعلان، تحقق_نشر
في ERC-4337 وAA الأصلية، فإن دالة نقطة الدخول في مرحلة "التحقق" ثابتة، بينما في مرحلة "التنفيذ"، فإن نقطة الدخول ثابتة فقط في AA الأصلية.
قيود خطوات التحقق
نظرًا لعدم وجود قيود على تكلفة التحقق من المعاملات، قد يقوم المهاجمون بشن هجوم DoS على تجمع الذاكرة، مما يؤثر على المجمعين (EIP-4337) أو المشغلين/الترتيبيين (AA الأصلية).
تعرف EIP-4337 رموز العمليات المحظورة وقيود الوصول إلى التخزين. قامت zkSync Era بتخفيف استخدام بعض رموز العمليات:
منطق العقد يمكنه الوصول فقط إلى حجرة التخزين الخاصة به.
منطق العقد الذكي لا يمكنه الوصول إلى المتغيرات العالمية مثل رقم الكتلة.
لا يسمح StarkNet باستدعاء العقود الخارجية.
قيود خطوات التنفيذ
في zkSync، يتطلب تنفيذ استدعاءات النظام تأكيد وجود علامة النظام. على سبيل المثال، تتطلب زيادة nonce التفاعل مع NonceHolder، بينما تتطلب نشر العقد التفاعل مع ContractDeployer.
لا توجد قيود خاصة في مرحلة التنفيذ لـ ERC-4337 و StarkNet.
معالجة الأعداد العشوائية
ERC-4337: تصميم نقطة الدخول يميز بين قيمة المفتاح 192 بت وقيمة العشوائية 64 بت.
zkSync: تدير عقد نظام NonceHolder nonce، لضمان الزيادة الصارمة.
StarkNet: nonce أيضًا يتزايد بشكل صارم، ولكن لا يوجد عقد محدد لإدارته.
نشر الصفقة الأولى
ERC-4337: تتضمن بنية userOp حقل initcode، والذي يُستخدم في أول userOp لنشر المُرسل (تعاقد الحساب).
StarkNet و zkSync: يجب على المستخدمين إرسال المعاملة الأولى إلى المشغل / المنظم لنشر عقد الحساب.
تصميم خاص zkSync
في zkSync، إذا تم نقل ETH مباشرة من EOA الإيثيريوم دون الحاجة إلى نشر عقد حساب مخصص، فسيحصل المستخدم على حساب افتراضي بنفس العنوان. يمكن أن يعمل هذا الحساب مثل EOA الإيثيريوم ويتم التحكم فيه بواسطة مفتاح خاص لـ EOA الإيثيريوم المعني.
هذا النوع من الحسابات هو version None بدلاً من version1. لا يمكن للمستخدم استدعاء دالة DefaultAccount لأنه لم يتم نشر أي رمز في مساحة النواة.
الاختلافات بين L1 و L2 في 4337
تطبيق ERC-4337 على سلاسل متوافقة مع EVM يوجد به اختلافان رئيسيان: اختلافات البروتوكول واختلافات العنوان.
اختلافات البروتوكول
في تصميم Rollup، يحتاج L2 إلى تحميل البيانات إلى L1 لضمان الأمان والتسوية. في ERC-4337، يجب أن تشمل الرسوم المرتبطة بعملية التحميل هذه (مثل رسوم الأمان L1 ورسوم blob) في غاز التحقق المسبق. إن تحديد رسوم التحميل المناسبة في غاز التحقق المسبق هو تحدٍ كبير.
اختلاف العناوين
تختلف طريقة تشفير العنوان في دالة create في zkSync ERA عن تلك المستخدمة في Ethereum و OP. بالإضافة إلى ذلك، تستخدم StarkNet دالة تجزئة فريدة لحساب العناوين.
في سياق ERC-4337 على سلاسل متوافقة مع EVM، نفترض عادة أن حساب العناوين متسق عبر السلاسل. ومع ذلك، قد تؤدي تفاصيل يسهل تجاهلها إلى اختلاف عناوين عقود الحساب بين تنفيذ ERC-4337 في الإيثيريوم و L2.
المسألة الرئيسية هي إضافة عمليات جديدة إلى الانقسام الصلب. على سبيل المثال، إذا كانت سلسلة L2 لا تدعم الانقسام الصلب لشهر上海، ولم يتم تحديد إصدار EVM أثناء التجميع، فإن إدخال push0 سيؤدي إلى تغيير في الشيفرة البايتية، حتى لو كانت شفرة Solidity هي نفسها.
شاهد النسخة الأصلية
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.
تسجيلات الإعجاب 8
أعجبني
8
5
مشاركة
تعليق
0/400
StableGenius
· منذ 9 س
*يتثاءب* حديث آخر عن aa... لقد رأيت هذا الفيلم من قبل، من الناحية التجريبية إنه مجرد تعبير عن قلق ماكسيس الإيثيريوم
مؤتمر EthCC يناقش تجريد الحسابات متعددة السلاسل: مقارنة تقنية بين ERC-4337 و AA الأصلية
تجريد الحساب متعدد السلاسل: استكشاف مستقبل البنية التحتية للتشفير
من 8 إلى 11 يوليو 2024، ستعقد مؤتمر مجتمع الإيثيريوم (EthCC) في بروكسل، بلجيكا. باعتباره أكبر حدث سنوي للإيثيريوم في أوروبا، يركز هذا المؤتمر على التطورات التقنية والمجتمعية.
في مؤتمر مجتمع الإيثيريوم الحالي (EthCC 7) ، ألقى أكثر من 350 من قادة الرأي في صناعة blockchain كلماتهم. ومن بينهم ، تم دعوة مطور blockchain للمشاركة وألقى كلمة حول "كشف المستقبل: تحليل تجريد الحسابات المتعددة".
ملخص النقاط الرئيسية للخطاب
تجريد الحساب (AA) يشمل جوهره تجريد التوقيع وتجريد الدفع. الأول يسمح للمستخدمين باختيار أي آلية تحقق، بينما يقدم الثاني خيارات متعددة للدفع في المعاملات. هذه المرونة تعزز بشكل كبير الأمان وتجربة المستخدم.
دالة نقطة الدخول في مرحلة التحقق لـ ERC-4337 و AA الأصلي ثابتة، ولكن في مرحلة التنفيذ، يحتفظ AA الأصلي فقط بنقطة الدخول الثابتة. تتميز طرق التنفيذ المختلفة في قيود معاملات التحقق وخطوات تنفيذ المعاملات.
عند تنفيذ ERC-4337 على سلاسل متوافقة مع EVM، تواجهنا بشكل رئيسي تحديين كبيرين: الاختلافات في البروتوكول في تصميم Rollup، وكذلك الاختلافات في طريقة حساب العناوين. هذه الاختلافات تؤدي إلى ظهور بعض التفاصيل التطويرية التي يصعب ملاحظتها عند تنفيذ ERC-4337 بين L1 و L2.
تجريد الحساب简介
تعريف تجريد الحساب
تجريد الحساب (AA) يحتوي بشكل أساسي على مفهومين رئيسيين:
تجريد التوقيع: يمكن للمستخدم اختيار أي آلية تحقق يفضلها بحرية، ولم يعد مقيدًا بخوارزمية توقيع رقمية معينة (مثل ECDSA).
تجريد الدفع: يمكن للمستخدمين استخدام طرق متعددة لدفع رسوم المعاملات، مثل استخدام رموز ERC-20 بدلاً من الرموز الأصلية، أو برعاية طرف ثالث للمعاملة.
هذه المرونة لا تعزز الأمان فحسب، بل تعزز أيضًا تجربة المستخدم. الهدف من تجريد الحساب هو تحقيق هذين المفهومين الأساسيين بعدة طرق.
تحليل ERC-4337
في الوقت الحالي، توجد بعض القيود على الحسابات المملوكة خارجيًا (EOA) في بروتوكول إيثريوم، مثل طريقة التوقيع الثابتة وتصميم الدفع. يحل ERC-4337 هذه المشكلات من خلال تقديم طرق إدارة حسابات ومعالجة معاملات أكثر مرونة.
هيكل userOp: في ERC-4337، يقوم المستخدم بإرسال هيكل userOp إلى Bundler. يقوم Bundler بتجميع عدة userOp، ثم يرسلها إلى عقد EntryPoint عن طريق استدعاء دالة handleOps.
عقد EntryPoint: يقوم هذا العقد بمعالجة المعاملات مثل نظام التشغيل، وتتمثل الوظائف الرئيسية في:
مقدمة عن AA الأصلية
في إيثريوم، تُقسم الحسابات إلى EOA وحسابات العقود. ومع ذلك، في AA الأصلية، كل حساب هو عقد، وآلية معالجة المعاملات مضمنة مباشرة في بروتوكول البلوكشين.
تصميم AA في شبكات blockchain المختلفة:
الفرق بين ERC-4337 و AA الأصلي
دور نظام التشغيل
يحتاج نظام AA إلى حل المشكلات التالية:
في ERC-4337، يتم تنفيذ هذه الأدوار بالتعاون بين Bundler وEntryPoint Contract.
في AA الأصلي، يقوم المستخدم بإرسال userOps الخاص به إلى مشغل / منظم الخادم الرسمي، بدلاً من Bundler و EntryPoint Contract.
في StarkNet، يتحمل Sequencer مسؤولية معالجة كل هذه المهام.
السمات الرئيسية لـ zkSync Era هي أن المشغل يحتاج إلى العمل مع محمل الإقلاع (عقد النظام). محمل الإقلاع مسؤول عن فتح كتل جديدة، وتعريف معلمات الكتل ومعلمات الغاز، واستقبال المعاملات من المشغل للتحقق منها.
واجهة العقد
نظرًا لوجود ثلاث خطوات، فإن واجهة عقد الحساب متشابهة في تطبيقات مختلفة، ولا يمكن استدعاء هذه الوظائف من نقاط الدخول إلا بواسطة AA OS:
في ERC-4337 وAA الأصلية، فإن دالة نقطة الدخول في مرحلة "التحقق" ثابتة، بينما في مرحلة "التنفيذ"، فإن نقطة الدخول ثابتة فقط في AA الأصلية.
قيود خطوات التحقق
نظرًا لعدم وجود قيود على تكلفة التحقق من المعاملات، قد يقوم المهاجمون بشن هجوم DoS على تجمع الذاكرة، مما يؤثر على المجمعين (EIP-4337) أو المشغلين/الترتيبيين (AA الأصلية).
تعرف EIP-4337 رموز العمليات المحظورة وقيود الوصول إلى التخزين. قامت zkSync Era بتخفيف استخدام بعض رموز العمليات:
قيود خطوات التنفيذ
في zkSync، يتطلب تنفيذ استدعاءات النظام تأكيد وجود علامة النظام. على سبيل المثال، تتطلب زيادة nonce التفاعل مع NonceHolder، بينما تتطلب نشر العقد التفاعل مع ContractDeployer.
لا توجد قيود خاصة في مرحلة التنفيذ لـ ERC-4337 و StarkNet.
معالجة الأعداد العشوائية
نشر الصفقة الأولى
تصميم خاص zkSync
في zkSync، إذا تم نقل ETH مباشرة من EOA الإيثيريوم دون الحاجة إلى نشر عقد حساب مخصص، فسيحصل المستخدم على حساب افتراضي بنفس العنوان. يمكن أن يعمل هذا الحساب مثل EOA الإيثيريوم ويتم التحكم فيه بواسطة مفتاح خاص لـ EOA الإيثيريوم المعني.
هذا النوع من الحسابات هو version None بدلاً من version1. لا يمكن للمستخدم استدعاء دالة DefaultAccount لأنه لم يتم نشر أي رمز في مساحة النواة.
الاختلافات بين L1 و L2 في 4337
تطبيق ERC-4337 على سلاسل متوافقة مع EVM يوجد به اختلافان رئيسيان: اختلافات البروتوكول واختلافات العنوان.
اختلافات البروتوكول
في تصميم Rollup، يحتاج L2 إلى تحميل البيانات إلى L1 لضمان الأمان والتسوية. في ERC-4337، يجب أن تشمل الرسوم المرتبطة بعملية التحميل هذه (مثل رسوم الأمان L1 ورسوم blob) في غاز التحقق المسبق. إن تحديد رسوم التحميل المناسبة في غاز التحقق المسبق هو تحدٍ كبير.
اختلاف العناوين
تختلف طريقة تشفير العنوان في دالة create في zkSync ERA عن تلك المستخدمة في Ethereum و OP. بالإضافة إلى ذلك، تستخدم StarkNet دالة تجزئة فريدة لحساب العناوين.
في سياق ERC-4337 على سلاسل متوافقة مع EVM، نفترض عادة أن حساب العناوين متسق عبر السلاسل. ومع ذلك، قد تؤدي تفاصيل يسهل تجاهلها إلى اختلاف عناوين عقود الحساب بين تنفيذ ERC-4337 في الإيثيريوم و L2.
المسألة الرئيسية هي إضافة عمليات جديدة إلى الانقسام الصلب. على سبيل المثال، إذا كانت سلسلة L2 لا تدعم الانقسام الصلب لشهر上海، ولم يتم تحديد إصدار EVM أثناء التجميع، فإن إدخال push0 سيؤدي إلى تغيير في الشيفرة البايتية، حتى لو كانت شفرة Solidity هي نفسها.