لأغراض تعليمية فقط؛ لا يشكل ذلك نصيحة استثمارية أو توصية استثمارية. قد تؤدي الاستثمارات إلى خسائر.
الإجابة المباشرة
يجعل تجريد الحساب قواعد التفويض والتنفيذ الخاصة بالحساب قابلة للبرمجة. وفي إيثريوم يطبق ERC-4337 ذلك من دون تغيير نوع معاملة الإجماع: ترسل المحفظة UserOperation عبر بنية RPC مخصصة، ويغلف المجمّع عملية أو أكثر في معاملة عادية إلى EntryPoint محدد الإصدار، ثم يتحقق الحساب الذكي من عمليته وينفذها. والاسترداد ومفاتيح المرور ومفاتيح الجلسات وحدود الإنفاق والتجميع ورعاية الرسوم خصائص للحساب أو الخدمة مبنية فوق هذا التدفق، وليست ضمانات تلقائية من ERC-4337.
وهذا يختلف عن ERC-1271 الذي يوحد طريقة تحقق العقد من توقيع رسالة، وعن EIP-7702 الذي يتيح للحساب المملوك خارجياً (EOA) تفويض التنفيذ إلى كود. يمكن لهذه الآليات أن تتكامل، لكنها لا تشترك في واجهة أو nonce أو نشر أو نموذج أمان واحد. ولا يلغي تجريد الحساب بيانات الاعتماد أو تكاليف الغاز أو مخاطر العقود أو ضرورة التحقق من السلسلة والتنفيذ المحددين.
تدفق ERC-4337 في سبع خطوات
- ثبّت البيئة:
chainId، وتنفيذ الحساب الذكي وضوابط ترقيته، والمصنع، وإصدار EntryPoint وعنوانه وتجزئة الكود المنشور، ودعم المجمّع، وما إذا كانت السلسلة قد فعّلت EIP-7702. فالعنوان الصحيح لإصدار EntryPoint أو سلسلة معينة ليس ثابتاً عالمياً. - أنشئ العملية المطابقة للإصدار. تشمل الحقول المنطقية الحالية
senderوnonceوfactoryوfactoryDataوcallDataوcallGasLimitوverificationGasLimitوpreVerificationGasوmaxFeePerGasوmaxPriorityFeePerGasوحقول جهة الدفع الاختيارية وsignature. ويتلقى EntryPoint على السلسلة تمثيلاً مضغوطاً؛ وتُرمّز الاستدعاءات المستهدفة داخلcallDataالتي يحددها الحساب، لا في حقل هدف موحد. - اربط التفويض بالنطاق الصحيح. تغطي
userOpHashالعملية باستثناء توقيعها وتربطها بـEntryPoint والسلسلة، ما يمنع إعادة استخدامها عبر هذين النطاقين. وتتحققvalidateUserOpالخاصة بالحساب من المالك أو التوقيع المتعدد أو مفتاح المرور أو الجلسة أو أي سياسة أخرى. أماisValidSignatureفي ERC-1271 فهي واجهة منفصلة لتوقيع العقود؛ ويمكن لمجمّع اختياري التحقق من التوقيعات المجمعة. ويقدم بيان تفويض EIP-7702 بصورة منفصلة عن UserOperation. - أثبت القدرة على دفع الرسوم. يمكن للحساب التمويل مقدماً من رصيده لدى EntryPoint، أو يمكن لجهة دفع أن تقبل الالتزام شرطياً من وديعتها. وقد ترعى جهة الدفع المستخدم، أو تخصم رمزاً، أو تطبق قوائم سماح أو حصصاً، أو تشغل
postOp؛ ولا يحدد ERC-4337 أياً من هذه القواعد التجارية. ويختلف الرهن عن الوديعة: يدعم الرهن قواعد التحقق والسمعة، بينما تدفع الوديعة الغاز. - قدّر وأرسل عبر RPC الخاص بـERC-7769. يتحقق المجمّع عند الاستلام، ومرة أخرى قبل الاختيار، ومرة ثالثة عند بناء الحزمة. ويقيد ERC-7562 تعليمات التشغيل والوصول إلى التخزين في مرحلة التحقق ويدعم ضوابط السمعة لمواجهة سلوك حجب الخدمة. تفحص هذه المحاكاة القبول وسلامة الرسوم؛ أما توقع تنفيذ العمل فيحتاج إلى محاكاة منفصلة للاستدعاء الكامل.
- يستدعي المجمّع
handleOps. ينفذ EntryPoint أي نشر مسموح، ويتحقق من الحساب وجهة الدفع والتمويل المسبق والتجميع الاختياري قبل التنفيذ. ويمنع فشل التحقق تنفيذ تلك العملية. ومع ذلك قد يرتد الاستدعاء المستهدف بعد قبول صحيح ويستهلك الغاز. ويحدد كود تنفيذ الحساب ما إذا كانت الاستدعاءات داخل حزمة حساب واحدة ترتد كلها ذرياً أو تسمح بنجاح جزئي. - طابق الإيصالات والحالة. طابق إيصال UserOperation ومعاملة الحزمة الأساسية وأحداث EntryPoint ونشر الحساب وأحداث الهدف والغاز الفعلي وخصم الرمز والمبلغ المعاد والأرصدة النهائية. ثم راقب مسارات nonce وتغييرات المالك والاسترداد وإلغاء مفاتيح الجلسات والوحدات وترقيات التنفيذ وبدائل المجمّع وجهة الدفع وإعادة تنظيم السلسلة والترحيل أو إعادة تفويض EIP-7702.
أربعة أمثلة محلولة
- غلاف غاز مبسط. تخصص العملية
120,000غاز للتنفيذ و90,000غاز للتحقق من الحساب و45,000غاز للتحقق من جهة الدفع و40,000غاز قبل التحقق و30,000غاز لما بعد عملية جهة الدفع:120,000 + 90,000 + 45,000 + 40,000 + 30,000 = 325,000 gas. عندmaxFeePerGas = 30 gweiيكون الحد المبسط325,000 × 30 gwei = 0.009750 ETH. وإذا كان الاستخدام الفعلي القابل للتحصيل210,000 gasبسعر22 gwei، فالتكلفة0.004620 ETH. قد تضيف قواعد إصدار EntryPoint وغرامات الغاز غير المستخدم ورسوم بيانات L1 وتسعير شبكات التجميع مبالغ أو تعيد تصنيفها، لذا فهذا دفتر ميزانية لا صيغة عالمية للتمويل المسبق. - مسار nonce متوازٍ. مع
192-bit keyو64-bit sequence، يرمز المفتاح7والتسلسل42إلىnonce = (7 << 64) | 42 = 129127208515966861354 = 0x7000000000000002a. وبعد الإدراج الناجح يتوقع ذلك المسار التسلسل43؛ وتفشل إعادة تشغيل42. ويمكن لمفتاح مختلف امتلاك تسلسل مستقل، مع مراعاة منطق الحساب وقواعد المجمّع. - قدرة جهة الدفع. لدى جهة دفع وديعة
0.50 ETH، وتحتاج كل عملية مقبولة إلى ضمان أقصى0.03 ETH. يمكنها تغطيةfloor(0.50 / 0.03) = 16عملية من هذا النوع، فتحجز0.48 ETHوتبقي0.02 ETH. وتحتاج العملية السابعة عشرة إلى وديعة أكبر أو ضمان أصغر. ولا يمكن لرهن جهة الدفع أن يحل محل وديعة الرسوم. - ارتداد التنفيذ بعد القبول. تحجز عملية ما يصل إلى
0.0060 ETH؛ ينجح التحقق، لكن تنفيذ الهدف يرتد بعد استهلاك180,000 gas × 25 gwei = 0.0045 ETH. ترتد تغييرات حالة الهدف، لكن الحساب أو جهة الدفع يبقى مديناً بـ0.0045 ETH؛ ويظل المبلغ غير المستخدم0.0015 ETHخاضعاً لقواعد التسوية والغرامات المطبقة. ولذلك لا تعد محاكاة المجمّع الناجحة بنجاح العمل أو الإدراج أو النهائية.
المخاطر والضوابط
- قد تبطل العملية أو توجهها خطأ سلسلة أو عنوان EntryPoint أو إصداره أو تجزئة كوده المنشور.
- قد يتيح توقيع لا يربط السلسلة أو نطاق EntryPoint إعادة التشغيل.
- قد يستبدل أو يُحسب خطأ المصنع أو العنوان المضاد للواقع أو بيانات التهيئة أو salt النشر.
- قد يوجه تفويض EIP-7702 حساب EOA إلى كود ضار أو ضعيف ذي صلاحية واسعة على الحساب.
- قد تستولي المبادرة السابقة إلى التهيئة أو إعادة التهيئة على الحساب أو تفسده.
- قد تتعارض ترقية الوكيل أو إعادة تفويض EIP-7702 مع تخطيط التخزين القائم.
- قد يستبدل مدير ترقية أو مدير وحدات مخترق سلوك الحساب.
- قد تجيز أخطاء التحقق من المالك أو التوقيع المتعدد أو مفتاح المرور أو ERC-1271 سرقة الأموال أو حبسها.
- قد تفشل عتبات الاسترداد ومدده والأوصياء ومسارات الإلغاء أو يُستولى عليها.
- قد تتجاوز مفاتيح الجلسات الهدف أو الرمز أو المبلغ أو المدة أو نطاق الدوال المقصود.
- قد تتصادم مسارات nonce أو تنقطع أو يعاد تشغيلها أو تحجب عمليات تابعة.
- قد يؤدي تعطل المجمّع التوقيعي أو عيوب تجميع التوقيعات إلى تعطيل عمليات صحيحة لولا ذلك.
- قد يفرض المجمّعون رقابة أو يتوقفون أو يطبقون سياسات محلية مختلفة أو يرفضون قواعد mempool البديلة.
- قد يكشف تدفق UserOperation العام النية للمبادرة السابقة والربط وMEV.
- قد ينجح التحقق قبل أن تجعل تغييرات الحالة العملية غير صالحة وقت بناء الحزمة.
- قد ترفض سياسة جهة الدفع الخدمة أو تنفد وديعتها أو يفشل
postOp. - قد تشمل رسوم الغاز المقومة بالرمز مخاطر سعر الصرف والموافقة والفارق وهامش الخدمة.
- قد يؤدي نقص تقدير الغاز إلى الارتداد، وقد تزيد الحدود المفرطة الحجز أو التعرض للغرامة.
- قد تسمح دلالات حزمة الحساب بنجاح جزئي حين يتوقع المستخدم ارتداداً ذرياً.
- تبقى أخطاء البروتوكول المستهدف والواجهات العدائية وإعادة تنظيم السلسلة وضعف النهائية خارج تجريد الحساب.
مفاهيم خاطئة شائعة
- “تجريد الحساب يلغي المفاتيح الخاصة.” إنه يغير سياسة بيانات الاعتماد القابلة للبرمجة؛ ولا بد أن تفوض بعض بيانات الاعتماد الأفعال.
- “جهة الدفع تجعل الغاز مجانياً.” يظل الغاز الأصلي مدفوعاً ويتحمل المستخدم أو الراعي أو الخدمة التكلفة في النهاية.
- “محاكاة المجمّع تضمن النجاح.” محاكاة القبول لا تضمن التنفيذ أو الإدراج أو النهائية.
- “ERC-1271 وERC-4337 وEIP-7702 واجهة واحدة.” تعالج هذه المعايير مشكلات مختلفة في التوقيع وتدفق المعاملات والتفويض.
- “كل سلسلة ومحفظة وEntryPoint متوافقة وأكثر أماناً.” يجب التحقق من الدعم والإصدارات وعمليات النشر والكود والوحدات والضوابط كل على حدة.
موضوعات ذات صلة
المصادر
- ERC-4337: Account Abstraction Using Alt Mempool
- ERC-7562: Account Abstraction Validation Scope Rules
- ERC-7769: JSON-RPC API for ERC-4337
- ERC-1271: Standard Signature Validation Method for Contracts
- EIP-7702: Set Code for EOAs
- The EntryPoint Contract
- Simulation Requirements
- Releases - eth-infinitism/account-abstraction