تحليل تجريد الحساب متعدد السلاسل: الفرق والتحديات بين ERC-4337 و AA الأصلية

تحليل تجريد الحساب متعدد السلاسل: استكشاف مستقبل البنية التحتية للتشفير

من 8 إلى 11 يوليو 2024، سيعقد أكبر حدث سنوي للإيثريوم في أوروبا - مؤتمر مجتمع الإيثريوم (EthCC) في بروكسل، بلجيكا، مع التركيز على التطوير التكنولوجي والمجتمعي.

عُقد مؤتمر مجتمع الإيثيريوم هذا (EthCC 7) ودُعي فيه أكثر من 350 من قادة الرأي في صناعة البلوك تشين لإلقاء كلمات. وقد دُعي مطور imToken Labs ألفريد للمشاركة، وألقى كلمة بعنوان "كشف المستقبل: تحليل تجريد الحسابات متعددة السلاسل".

مستقبل البنية التحتية للتشفير؟ تحليل تجريد الحسابات متعددة السلاسل

نظرة عامة على نقاط الحديث

  • جوهران رئيسيان لتجريد الحساب (AA): تجريد التوقيع وتجريد الدفع. يسمح تجريد التوقيع للمستخدمين باختيار أي آلية تحقق، بينما يوفر تجريد الدفع خيارات دفع متعددة للمعاملات، مما يعزز الأمان وتجربة المستخدم.

  • ERC-4337 ونقاط الدخول الثابتة لوظائف "التحقق" في AA الأصلية كلاهما ثابت، ولكن في مرحلة "التنفيذ"، فإن AA الأصلية فقط هي التي تحافظ على نقطة الدخول الثابتة. تختلف الطرق التنفيذية في قيود التحقق من المعاملات وخطوات تنفيذ المعاملات.

  • عند تنفيذ ERC-4337 على سلاسل متوافقة مع EVM، هناك اختلافان رئيسيان: اختلافات البروتوكول في تصميم Rollup واختلافات في طريقة حساب العناوين. تؤدي هذه الاختلافات إلى ظهور بعض التفاصيل التطويرية التي يسهل تجاهلها عند تنفيذ ERC-4337 بين L1 و L2.

تجريد الحساب简介

1. تعريف تجريد الحساب

تجريد الحساب (AA) يحتوي بشكل رئيسي على نقطتين رئيسيتين:

  • تجريد التوقيع: يمكن للمستخدم اختيار آلية التحقق بحرية، دون أن يقتصر على خوارزمية توقيع رقمية معينة (مثل ECDSA).
  • تجريد الدفع: يمكن للمستخدمين استخدام خيارات دفع متعددة، مثل استخدام أصول ERC-20 بدلاً من الأصول الأصلية للدفع، أو أن يتم رعاية المعاملات من قبل طرف ثالث.

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

2. تحليل ERC-4337

حالياً، توجد بعض القيود في الحسابات الخارجية المملوكة في بروتوكول الإيثيريوم (EOA)، مثل طريقة التوقيع الثابتة وتصميم الدفع. يقوم ERC-4337 بحل هذه المشكلات من خلال تقديم إدارة حسابات ومعالجة معاملات أكثر مرونة.

  • هيكل userOp: في ERC-4337، يقوم المستخدم بإرسال هيكل userOp إلى Bundler. يقوم Bundler بجمع عدة userOp، ثم يرسلها إلى عقد EntryPoint عن طريق استدعاء دالة handleOps.
  • عقد EntryPoint: هذا العقد يشبه نظام التشغيل، تشمل الوظائف الرئيسية لمعالجة المعاملات:
    • استدعاء دالة validate في عقد الحساب، لضمان حصول userOp على تفويض من مالك الحساب.
    • فرض رسوم.
    • استدعاء دالة execute في عقد الحساب، لتنفيذ العملية المستهدفة لـ userOp.

3. مقدمة حول AA الأصلية

في الإيثيريوم، يتم تقسيم الحسابات إلى EOA وحسابات العقود. وفي AA الأصلية، كل حساب هو عقد، وآلية معالجة المعاملات مدمجة مباشرة في بروتوكول البلوكشين.

تصميم AA في الشبكات المختلفة للتشفير:

  • تجريد الحساب ERC-4337: إيثيريوم، أربيتروم، أوبتيميزم، بيس، لينا، سكروول، بوليغون PoS
  • الالتزام بتجريد الحساب الأصلي ERC-4337: StarkNet و zkSync Era
  • حساب تجريد ذو تصميم خصوصية: Aztec

البنية التحتية للتشفير في المستقبل؟ تحليل تجريد الحساب متعدد السلاسل

الفرق بين ERC-4337 و AA الأصلية

1. دور نظام التشغيل

تحتاج AA OS إلى حل المشكلات التالية:

  • من يحدد سعر الغاز؟
  • من يحدد ترتيب المعاملات؟ أين توجد الذاكرة المؤقتة؟
  • من الذي قام بتفعيل دالة نقطة الدخول؟
  • ما الذي يحدد عملية معالجة المعاملات؟

في ERC-4337، يتم تنفيذ هذه الأدوار بالتعاون مع Bundler و EntryPoint Contract.

في AA الأصلية، يقوم المستخدم بإرسال userOps الخاص بهم إلى مشغل/مرتّب الخادم الرسمي، بدلاً من Bundler و EntryPoint Contract.

في StarkNet، يتحمل Sequencer مسؤولية معالجة جميع هذه المهام.

الفرق الرئيسي بين zkSync Era وغيرها من تطبيقات تجريد الحساب هو أن المشغل يحتاج إلى العمل بالتعاون مع محمل الإقلاع (العقدة النظامية). يقوم محمل الإقلاع بفتح كتل جديدة، وتحديد معلماتها (بما في ذلك معلمات الكتلة وغيرها من معلمات الغاز)، ويتلقى المعاملات من المشغل للتحقق منها.

2. واجهة العقد

بسبب وجود ثلاثة خطوات، فإن واجهة عقد الحساب مشابهة في تنفيذات مختلفة، ولا يمكن استدعاء هذه الدوال المدخلة إلا بواسطة AA OS:

  • ERC-4337: تحقق من عمليات المستخدم
  • zkSync: التحقق من المعاملات، دفع المعاملات، تنفيذ المعاملات
  • ستارك نت: تنفيذ، تحقق، تحقق_إعلان، تحقق_نشر

في ERC-4337 و AA الأصلي، فإن دالة نقطة الدخول في مرحلة "التحقق" ثابتة، بينما في مرحلة "التنفيذ"، فإن نقطة الدخول ثابتة فقط في AA الأصلي.

3. قيود خطوات التحقق

نظرًا لعدم وجود قيود على تكلفة التحقق من المعاملات، قد يقوم المهاجمون بشن هجوم DoS على تجمع الذاكرة، مما يؤثر على المجمعين (EIP-4337) أو المشغلين/الفرز (AA الأصلية).

EIP-4337 يحدد رموز العمليات المحظورة وكيفية تقييد الوصول إلى التخزين. يقوم zkSync Era بتخفيف بعض استخدامات الرموز البرمجية:

  • منطق العقد يمكنه الوصول فقط إلى فتحة التخزين الخاصة به. إذا كان عنوان عقد الحساب هو العنوان A، فيمكنه الوصول إلى:
    • خزانة التخزين التابعة للعناوين A
    • فتحة التخزين التي تنتمي إلى أي عنوان آخر A
    • مخزن أي عنوان آخر keccak256(A || X): هذا يعني استخدام العنوان مباشرة كمفتاح في الخريطة، مما يعادل الوصول إلى الخزانة keccak256(A || X). على سبيل المثال، رصيد الأصول في عقد ERC-20.
  • منطق العقد غير قادر على الوصول إلى المتغيرات العالمية، مثل رقم الكتلة. كما أن StarkNet لا يسمح باستدعاء العقود الخارجية.

4. قيود خطوات التنفيذ

في zkSync، يتطلب تنفيذ استدعاءات النظام تأكيد وجود علامات النظام. على سبيل المثال، الطريقة الوحيدة لزيادة nonce هي التفاعل مع NonceHolder، بينما يتطلب نشر العقد التفاعل مع ContractDeployer. تضمن علامات النظام أن مطوري الحسابات يتفاعلون بوعي مع عقود النظام.

في ERC-4337 و StarkNet، لا توجد قيود خاصة في مرحلة التنفيذ.

5. رقم عشوائي

  • في ERC-4337، يميز تصميم عدد النقاط المدخلات بين قيمة مفتاح بطول 192 بت وقيمة عشوائية بطول 64 بت.
  • في zkSync، يدير عقد النظام NonceHolder النون، ويضمن زيادة صارمة، أي زيادة الرقم العشوائي بمقدار 1.
  • في StarkNet، يكون nonce أيضًا في تزايد صارم، ولكن لا يوجد nonce تجريدي يتم إدارته بواسطة عقد معين.

6. استخدام المعاملة الأولى للنشر

  • يحتوي ERC-4337 على حقل initcode في هيكل userOp لتوزيع المرسل (تعاقد الحساب) في أول userOp له.
  • في StarkNet و zkSync، يجب على المستخدمين إرسال المعاملة الأولى إلى المُشغل/الترتيب لنشر عقد الحساب.

7. التصميم الخاص في zkSync

إذا قمت بنقل ETH مباشرة من EOA الإيثيريوم إلى zkSync دون الحاجة إلى نشر عقد حساب مخصص، فسوف تتلقى حسابًا افتراضيًا له نفس العنوان. يمكن أن يعمل هذا الحساب مثل EOA الإيثيريوم ويتم التحكم فيه بواسطة المفتاح الخاص لـ EOA الإيثيريوم المعني.

هذا النوع من الحسابات هو الإصدار None وليس version1. لا يمكنك استدعاء دالة DefaultAccount لأنه لم يتم نشر أي كود في مساحة النواة.

التشفير البنية التحتية المستقبل؟ تجريد الحساب متعدد السلاسل解析

الفرق بين 4337 في L1 و 4337 في L2

هناك اختلافان رئيسيان في تنفيذ ERC-4337 على سلاسل متوافقة مع EVM: اختلافات في البروتوكول واختلافات في العناوين.

1. اختلاف البروتوكول

في تصميم Rollup، يحتاج L2 إلى رفع البيانات إلى L1 من أجل الأمان والتسوية. في سياق ERC-4337، يجب تضمين التكاليف المرتبطة بعملية الرفع هذه، مثل رسوم الأمان L1 ورسوم blob، في غاز التحقق المسبق. إن تحديد التكاليف المناسبة للرفع في غاز التحقق المسبق هو تحدٍ كبير.

2. اختلاف العناوين

تختلف طريقة ترميز العناوين في دالة create في zkSync ERA عن تلك المستخدمة في Ethereum و OP. بالإضافة إلى ذلك، يستخدم StarkNet دالة تجزئة فريدة لحساب العناوين. في سياق ERC-4337 على سلاسل متوافقة مع EVM، نفترض عادةً أن حساب العناوين متسق عبر جميع السلاسل. ومع ذلك، هناك تفاصيل يصعب ملاحظتها قد تؤدي إلى اختلاف عناوين عقود الحساب بين تنفيذ ERC-4337 في Ethereum و L2.

المسألة الرئيسية هي إضافة تعليمات جديدة في الانقسام الصلب. على سبيل المثال، إذا كانت سلسلة L2 لا تدعم الانقسام الصلب في شانغهاي، ولم يتم تحديد إصدار EVM أثناء التجميع، فإن إدخال push0 سيؤدي إلى تغيير في بايت كود، حتى لو كان رمز Solidity هو نفسه.

التشفير البنية التحتية للمستقبل؟ تحليل تجريد الحساب متعدد السلاسل

شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • 4
  • مشاركة
تعليق
0/400
SigmaValidatorvip
· منذ 15 س
تجريد الحساب هذه المسألة مجرد للمتعة
شاهد النسخة الأصليةرد0
NeverPresentvip
· منذ 16 س
هل الدفع المجرد بهذه الثور؟
شاهد النسخة الأصليةرد0
GateUser-beba108dvip
· منذ 16 س
لا فائدة منه، مجرد كلام بلا فعل.
شاهد النسخة الأصليةرد0
StableNomadvip
· منذ 16 س
مه، حديث آخر عن AA... يذكرني بمزاعم "الأمان" لشركة Celsius بصراحة
شاهد النسخة الأصليةرد0
  • تثبيت