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

المؤلف: Alfred، مطور في imToken Labs

加密基础设施的未来?多链账户抽象解析

2024 年 7 月 8 日至 11 日، تعقد مؤتمرات مجتمع إيثيريوم (EthCC) في بروكسل، بلجيكا، وهو أكبر حدث سنوي لإيثيريوم في أوروبا، مع التركيز على التقنية والمجتمع.

شارك أكثر من 350 من القادة الرأي النشطين في صناعة البلوكتشين في مؤتمر EthCC 7 الخاص بمجتمع ETH. وتمت دعوة ألفريد من مختبرات imToken للمشاركة وتقديم محاضرة بعنوان “كشف المستقبل: تحليل تجريد الحساب المتعددة السلاسل” في المؤتمر.

ملخص العرض:

  • الحساب الحجابي (AA) يتكون أساسا من نقطتين رئيسيتين: التجريد التوقيع والتجريد الدفع. التجريد التوقيع يسمح للمستخدم بتحديد آلية التحقق التي يفضلها، بينما التجريد الدفع يسمح باستخدام خيارات دفع متعددة للمعاملات. هذا المرونة توفر تجربة مستخدم أكثر أمانًا وأفضل.
  • في ERC-4337 وAA الأصلية ، يتم تثبيت نقطة دخول الوظيفة لمرحلة “التحقق” ، بينما يتم تثبيت نقطة دخول AA الأصلية فقط في مرحلة “التنفيذ”. هناك خصائص وقيود خاصة بكل من تقييد المعاملات الخاصة بالتحقق وخطوات تنفيذ المعاملات في تنفيذات مختلفة.
  • عند تنفيذ ERC-4337 داخل السلسلة المتوافقة مع EVM، هناك اختلافان رئيسيان: اختلاف في بروتوكول التصحيح واختلاف في طريقة حساب العنوان، مما يؤدي إلى تفاصيل تطوير صعبة اللاحظ عند تحقيق ERC-4337 بين L1 و L2.

ما يلي نص الخطاب:

مرحبًا بالجميع ، أنا ألفريد ، مطور بلوكتشين في imToken Labs الحالي. اليوم ، أود أن أقدم لكم مفهوم ERC-4337 و Native AA ، ونناقش الاختلافات بينهما ونحلل بشكل رئيسي الاختلافات الرئيسية في المعيار 4337 بين L1 و L2.

الحساب抽象介绍

1. 什么是تجريد الحساب

تتضمن تجريد الحساب (AA) نقطتين رئيسيتين: تجريد التوقيع وتجريد الدفع.

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

توفر هذه المرونة تجربة مستخدم أكثر أمانًا وأفضل. الهدف من تجريد الحساب هو تحقيق هاتين النقطتين بعدة طرق.

2. ما هو ERC-4337

加密基础设施的未来?多链账户抽象解析

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

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

3. ما هو AA الأصلي

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

تصميم AA في كل شبكة بلوكشين:

  • ERC-4337 تجريد الحساب: إيثريوم ، التحكيم ، التفاؤل ، القاعدة ، الخط ، التمرير ، مضلع PoS
  • الحساب تجريد يستوفي متطلبات توافق ERC-4337: عصر StarkNet و zkSync
  • الحساب تجريد الحساب الأصلي مع تصميم الخصوصية: Aztec

إذا كنت مهتمًا بـ Aztec Native AA أو EIP-3074 أو EIP-7702 ، فسنركز اليوم على AA الأصلية بعد ERC-4337. لمزيد من المعلومات ، يرجى الرجوع إلى المقال الذي كتبته والمدرج في نهاية النص.

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

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

AA OS يحتاج إلى الإجابة على الأسئلة التالية:

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

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

في AA الأصلي، يرسل المستخدم userOps إلى خادم الشركة / المصنف بدلاً من المجمع وعقد نقطة الدخول.

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

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

加密基础设施的未来?多链账户抽象解析

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

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

  • ERC-4337: التحقق من إجراءات المستخدم
  • zkSync: التحقق من المعاملات ودفع المعاملات وتنفيذ المعاملات
  • StarkNet: ute、التحقق من الصحة、التحقق من الصحة_declare、التحقق من الصحة_deploy

في ERC-4337 و AA الأصلية، يكون نقطة الدخول لمرحلة “التحقق” ثابتة، بينما في مرحلة “التنفيذ”، تكون نقطة الدخول الخاصة بـ AA الأصلية فقط هي الثابتة.

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

نظرًا لعدم وجود تكلفة حدية للتحقق من الصفقات (أساسًا، يُعتبر التحقق من الصفقات استدعاءًا لوظيفة العرض)، يمكن للمهاجمين شن هجمات DOS على مجمع الذاكرة، مما قد يعطل المجمع (EIP-4337) أو المشغل/المصنف الأصلي.

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

  • يمكن لمنطق العقد الذكي الوصول فقط إلى فتحات التخزين الخاصة به. إذا كانت عنوان الحساب للعقد الذكي هو 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 nonce لضمان زيادة صارمة ، أي زيادة عشوائية بمقدار 1.
  • في StarkNet، الـ nonce يزداد بصرامة، ولكن ليس هناك nonce مجرد يتم إدارته من قبل عقد معين.

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

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

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

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

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

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

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

1. بروتوكول差异

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

2. العنوان差异

加密基础设施的未来?多链账户抽象解析

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

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

خاتمة

فيما يلي بعض الموارد لمعرفة المزيد حول تجريد الحساب. لا تتردد في الاتصال بي وإذا كان لديك أي أسئلة ، يمكنك أن تجدني على Twitter (@murmurlu).

للحصول على مقدمة مجردة لحسابات Aztec ، يرجى الاطلاع على:

《StarkNet تجريد الحساب مقدمة》، يرجى الاطلاع على:

《zkSync تجريد الحساب الحسابي 01928374656574839201 إلقاء الضوء على الملف الشخصي》، يرجى الرجوع إلى:

“Starknet و zkSync: تحليل مقارن”، يرجى الاطلاع على: 01928374656574839201

ETH‎-0.36%
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • تعليق
  • إعادة النشر
  • مشاركة
تعليق
0/400
لا توجد تعليقات
  • تثبيت