الحسابات الذكية في إيثيريوم: شرح UserOperation وBundler ورعاية رسوم الغاز
تتبّع عملية ERC-4337 عبر bundler وEntryPoint، وافهم رعاية paymaster للغاز والفرق بين استعادة الحساب وحفظ مفاتيحه.
في هذا الدليليضع الحساب الذكي قواعد التفويض داخل العقد
ملخص موجز
يسمح ERC-4337 لحساب عقد ذكي بإرسال UserOperation وفق قواعده عبر مسار منفصل عن معاملة EOA. يستدعي bundler عقد EntryPoint، وقد يرعى paymaster الغاز. لا يضمن ذلك الاسترداد أو المعاملات المجانية أو غياب الحفظ.
يضع الحساب الذكي قواعد التفويض داخل العقد
يثبت الحساب الخارجي المملوك (EOA) السيطرة بتوقيع مفتاح خاص، ويحدد nonce ترتيب معاملاته. النموذج بسيط، لكن المفتاح نفسه يجيز عادة كل إجراء. ولكل معاملة EOA إجراء واحد على المستوى الأعلى؛ وقد يستدعي العقد المستهدف عقوداً أخرى داخلياً.
يشرح دليل المعاملات المعلّقة في إيثيريوم هذا المسار المختلف عن ERC-4337. الحساب الذكي عقد يمكنه حفظ الأصول وتنفيذ الاستدعاءات.
وقد يشترط منطق التحقق توقيعاً واحداً، أو عدداً أدنى من عدة توقيعات، أو صلاحية تنتهي في وقت محدد. يحدد ERC-4337 واجهة لتفويض العمليات وتنفيذها، ولا يفرض محفظة أو سياسة استرداد بعينها.
تعرض Ethereum.org مفاتيح احتياطية وصلاحيات محدودة ورعاية الغاز كإمكانات وليست وظائف مضمونة في كل محفظة. لا يكشف اسم «المحفظة الذكية» وحده من يسيطر عليها.
تحقّق من العقد الذي يحتفظ بالأصول، ومن الشيفرة وEntryPoint اللذين يثق بهما الحساب، ومن يملك مفاتيح تفويض الاستدعاءات. إذا أمكن ترقية منطق الحساب، فصلاحيات المدير وإجراءات التغيير جزء من السيطرة أيضاً.
UserOperation ليست بعد معاملة إيثيريوم مدرجة في كتلة
تصف UserOperation ما يريد الحساب الذكي تنفيذه. وتشمل عادة عنوان الحساب المرسل، وnonce خاصاً بالحساب، وبيانات الاستدعاء، والتوقيع، وحدود الغاز وشروط الرسوم. وقد تتضمن بيانات مصنع لإنشاء الحساب أو بيانات paymaster للرعاية.
وتختلف الحقول الدقيقة باختلاف نسخة EntryPoint. بدلاً من إرسال هذا الكائن مباشرة إلى السلسلة عبر eth_sendTransaction، ترسله المحفظة إلى bundler أو relay يوفّر RPC خاصاً بـERC-4337 مثل eth_sendUserOperation.
يمر الطلب عبر مجموعة UserOperation منفصلة عن مجموعة معاملات EOA. يعرّف hash العملية الطلب، أما معاملة bundler على السلسلة فلها hash وإيصال منفصلان. يحدد ERC-7769 واجهات الإرسال والاستعلام عن الإيصالات.
قد يعني رد bundler أن الطلب اجتاز فحوص ذلك المزود ودخل مجموعته.
لكنه لا يثبت إدراجه في كتلة أو نجاح إجراء التطبيق. ويتوقف نشر الطلب إلى bundlers آخرين على البنية والسياسات. ميّز بين إقرار المزود والنتيجة المسجلة على السلسلة.
يحاكي bundler التحقق ويجهز استدعاء السلسلة
يتلقى bundler العملية، ويتحقق من توافقها مع نسخة EntryPoint، ثم يحاكي منطق التحقق للحساب وpaymaster. يفحص التوقيع، وثقة الحساب بـEntryPoint، وnonce والغاز وشروط الرعاية. ويمكنه رفض العملية التي تخالف قواعده أو تفشل في المحاكاة.
يشرح دليل bundler الخاص بـERC-4337 المحاكاة وتجميع الطلبات. بعد ذلك يختار عملية صالحة أو أكثر وينشئ معاملة إيثيريوم عادية تستدعي handleOps في EntryPoint. يظل إدراج هذه المعاملة في كتلة خاضعاً لإنتاج الكتل وحالة الشبكة.
ولا يثبت hash UserOperation أن التنفيذ حدث على السلسلة المعتمدة. مجموعة UserOperation منفصلة عن مجموعة معاملات EOA، ولا يرى كل مزود الطلبات نفسها بالضرورة. قد يرفض bundler العملية أو يبقيها قيد الانتظار؛ كما تختلف الشبكات والنسخ المدعومة والسياسات.
عند التحقق من الحالة، فرّق بين عرض المحفظة وإيصال العملية وإيصال معاملة الحزمة على السلسلة.
يتحقق EntryPoint من التفويض ثم يستدعي الحساب
يتلقى EntryPoint استدعاء handleOps من bundler ويستدعي دالة التحقق لكل حساب. ويفحص الحساب أن الاستدعاء جاء عبر EntryPoint موثوق، ويتحقق من التوقيع وقواعد التفويض الخاصة به. يتكون nonce في ERC-4337 من مفتاح بطول 192 بت وتسلسل بطول 64 بت.
يتحقق EntryPoint من التسلسل ويزيده لكل حساب ومفتاح؛ ويمكن للحساب تخصيص معنى المفتاح أو فرض فحوص إضافية. يوضح دليل EntryPoint في ERC-4337 مراحل التحقق والتنفيذ.
ويتحقق paymaster الاختياري أيضاً مما إذا كان سيغطي العملية. بعد نجاح التحقق، يستدعي EntryPoint دالة التنفيذ في الحساب لتنفيذ ما تصفه callData وتسوية التكلفة. EntryPoint عقد مشترك يتيح مسارات الحسابات الذكية من دون تغيير البروتوكول لكل تصميم محفظة.
تحقّق من العنوان والنسخة والشبكة المستخدمة فعلياً.
المحاكاة معاينة مفيدة وليست وعداً بالإدراج. قد تتغير حالة السلسلة أو الرسوم أو مدة الصلاحية أو حالة عقد خارجي أثناء الانتظار. وحتى بعد اجتياز التحقق قد يفشل استدعاء التطبيق أو يتراجع. إدراج العملية في كتلة لا يثبت وحده نجاح التحويل المقصود.
يرعى paymaster الغاز فقط إذا وافق على العملية
إذا تضمنت UserOperation بيانات paymaster، يسأل EntryPoint العقد إن كان مستعداً للرعاية. قد تتحمل التطبيقات الرسوم عن المستخدم أو تسمح ببدء العملية من دون ETH في الحساب. وتتيح بعض التصاميم الدفع بالرموز أو شروط أهلية أخرى بحسب المحفظة وpaymaster.
لا تختفي التكلفة بسبب الرعاية. قد يحد paymaster التطبيقات أو المستخدمين أو عدد العمليات أو المبالغ، ويفحص الطلب ثم يرفضه. رصيده المودع لدى EntryPoint هو مصدر دفع التكلفة. وإذا اشترطت القواعد stake منفصلاً، فهو ضمان ولا يساوي رصيد الغاز القابل للصرف.
يشرح دليل paymaster وEIP-4337 التحقق والتسوية. ظهور رسوم صفرية في التطبيق لا يعني انعدام التكلفة. قد يدفع الراعي أولاً ثم يسترد قيمة عبر اشتراك أو رمز أو شروط الخدمة.
تحقق ممن يتحمل التكلفة في النهاية، ومن حدود الرعاية، وما إذا كانت العملية الفاشلة قد تستهلك الغاز.
افحص الاستدعاءات المتعددة ورسومها كلّاً على حدة
إذا دعمت المحفظة ذلك، يمكن أن تضم UserOperation موافقة للتطبيق ومبادلة. يمر الإجراءان عبر EntryPoint كعملية واحدة. يختلف هذا عن معاملة EOA عادية، كما يختلف عن جمع bundler عدة UserOperations مستقلة في معاملة سلسلة واحدة. راجع معاينة المحفظة لمعرفة البنية المستخدمة.
لنفترض مثالاً افتراضياً: تكلفة الغاز الفعلية لعملية راعية مقبولة هي 0.0012 ETH. قد تُسوى من رصيد paymaster المودع لدى EntryPoint بدلاً من رصيد المستخدم. هذا رقم توضيحي، وليس سعراً أو عرضاً حالياً. تتغير التكلفة الفعلية حسب الغاز المستخدم وشروط الرسوم والشبكة.
لا يعني التجميع دائماً تكلفة أقل أو أماناً أكبر. تعتمد ذرية الاستدعاءات على كيفية تعامل الحساب الذكي مع الفشل. تحقق مما إذا كان فشل استدعاء واحد يتراجع عن المجموعة كلها، أو قد تبقى إجراءات أخرى مكتملة، ومن يدفع الغاز. وقد يؤدي تقدير الغاز غير الدقيق إلى الرفض أو الفشل.
يشرح دليل رسوم إيثيريوم حقول الرسوم العامة.
يحدد تنفيذ الحساب الاسترداد، لا ERC-4337
قد يتضمن الحساب مفاتيح احتياطية أو عملية استرداد يستبدل فيها أولياء موثوقون المفتاح عند استيفاء نصاب. وتضيف بعض التصاميم فترة انتظار تتيح للمفتاح الحالي الاعتراض. أما إذا كان توقيع واحد ضرورياً دائماً، فقد يؤدي فقدان المفتاح إلى انعدام الاسترداد.
يسمح ERC-4337 لكل حساب بقواعده، لكنه لا يضيف مفاتيح احتياطية أو استرداداً اجتماعياً تلقائياً. قلة الأولياء أو ضعف قواعد تبديل المفتاح قد يفتحان طريقاً للهجوم. وكثرة الأولياء أو صعوبة المتطلبات قد تؤخر استرداد المالك الشرعي.
افحص النصاب وفترة الانتظار وحق الإلغاء ومكان حفظ مفاتيح الاسترداد. تحدد القواعد أيضاً من يستطيع منع العملية، لا من يستطيع الموافقة عليها فقط. لا يعني كون المحفظة عقداً أنها حاضنة أو غير حاضنة تلقائياً.
تعتمد السيطرة على حيازة مفاتيح التوقيع، وصلاحيات المدير أو الترقية، وما يستطيع الموقّع المستضاف أو خدمة الاسترداد التصريح به. افحص العقد الذي يحتفظ بالأصول منفصلاً عن المفاتيح والخدمات التي تتحكم به.
يشرح دليل استعادة العبارة السرية موضوعاً آخر.
تحقق من العملية ومسار السيطرة قبل الإرسال
راجع في معاينة المحفظة الشبكة والعنوان والعقود المستهدفة وبيانات الاستدعاء ونطاق موافقة الرمز وعدد الاستدعاءات. قد يجيز التوقيع إجراءات أكثر من الإجراء البارز على الشاشة. إذا لم تفهم البيانات الموقعة، ارجع إلى وثائق التطبيق والمحفظة الرسمية.
لفهم الرعاية، اقرأ شروط الأهلية والحدود وخيارات الدفع البديلة وقواعد التكلفة عند الفشل، ولا تعتمد على اسم paymaster فقط. ظهور الرعاية لا يجعل التطبيق مجانياً بلا شروط، وقد يرفض paymaster العملية. يظل ازدحام الشبكة وتأخر إدراج الكتلة عاملين منفصلين.
إذا تأخرت UserOperation، فلا تطبق عليها مباشرة خيار «تسريع» أو «إلغاء» الخاص بمعاملة EOA. ابحث أولاً عن hash العملية وإيصالها. وإذا ظهر hash معاملة bundler، افحص إيصال الكتلة ونتيجة التنفيذ أيضاً. تميّز إيصالات RPC تكلفة ونجاح العملية عن إيصال الحزمة كلها.
أسئلة شائعة
Q1هل UserOperation هي معاملة إيثيريوم نفسها؟
لا. إنها طلب حساب ذكي يمر بمجموعة منفصلة. عندما يرسل bundler استدعاء EntryPoint، تسجل السلسلة معاملة الحزمة ونتيجة كل عملية.
Q2هل يعني paymaster أن المستخدم لا يدفع الغاز؟
قد لا يدفع المستخدم ETH مباشرة من حسابه، لكن تكلفة الشبكة قائمة. قد تنطبق حدود أو مدفوعات رمزية أو شروط خدمة، وقد تستهلك العملية الفاشلة الغاز أيضاً.
Q3هل أستطيع استعادة محفظة ERC-4337 بعد فقدان مفتاح؟
فقط إذا تضمن الحساب مفاتيح احتياطية أو سياسة استرداد. افحص النصاب والمهلة وصلاحية استبدال المفتاح ونطاق سيطرة خدمة الاسترداد.
المصادر والقراءة الإضافية
الإبلاغ عن مشكلة
سنُعدّ رسالة تتضمن رابط هذا المقال. لن يصل البلاغ إلى Mark إلا بعد إرسالها
تحقق سريع
بعد قراءة الدليل، اختبر نفسك في 3 أسئلة
السؤال 01
أعاد bundler hash لـUserOperation. ماذا يثبت ذلك وحده؟
اختر إجابة لرؤية الشرح
معجم الخيارات
حالة يكون فيها سعر تنفيذ الخيار قريباً من سعر الأصل الأساسي في السوق. قد لا تكون للخيار قيمة جوهرية كبيرة في تلك اللحظة، لكنه قد يحتفظ بعلاوة بسبب الوقت المتبقي وعدم اليقين.
اقرأ الدليل المتعمقخيار الشراءعقد يمنح مشتريه الحق، لا الالتزام، في شراء الأصل الأساسي بسعر التنفيذ وفق شروط العقد. ويتحمل بائع العقد الالتزام المقابل إذا مُورِس الحق وأُسنِد إليه.
اقرأ الدليل المتعمق