WATS Wallet logoWATS Wallet
تقني7 دقيقة قراءة

أجهزة التجميع (Bundlers) وعمليات المستخدم (UserOperations): كيف تعمل معاملات ERC-4337

شرح واضح ودقيق تقنياً لتدفق ERC-4337 — عمليات المستخدم، وذاكرة الانتظار البديلة، وأجهزة التجميع، وعقد EntryPoint، وأجهزة الدفع — وكيف تتلاءم معاً.

مراجعة سريعة لـ ERC-4337

ERC-4337 هو معيار Ethereum لـ تجريد الحسابات — طريقة لمنح حسابات العقود الذكية القدرة من الدرجة الأولى نفسها على بدء الإجراءات ودفع تكاليفها التي طالما امتلكتها الحسابات المملوكة خارجياً (EOAs)، دون أي تغيير في البروتوكول الأساسي. فبدلاً من تعديل طبقة الإجماع، يُدخل ERC-4337 نظاماً موازياً من الكائنات عالية المستوى والبنية التحتية خارج السلسلة التي تُسوّى في نهاية المطاف عبر معاملات Ethereum عادية. وإن أردت النسخة من الأساس أولاً، فإن شرحنا حول ما هو تجريد الحسابات يغطي الدافع، وما هو ERC-4337 يرسم المعيار الكامل. تركّز هذه المقالة على الآليات: الكائنات التي تتحرك عبر النظام والفاعلون الذين يعالجونها. لاحظ أن ERC-4337 معيار EVM — فهو ينطبق على Ethereum والسلاسل المتوافقة مع EVM، لا على السلاسل غير EVM مثل Solana أو TON.

ما هي عملية المستخدم (UserOperation) فعلاً

الكائن المركزي في ERC-4337 هو عملية المستخدم (UserOperation). تبدو ظاهرياً كمعاملة، لكن من الأفضل فهمها كبيان نية موقّع: "هذا ما يريد حسابي أن يُنجَز، وهذه هي معاملِر التحقق منه ودفع تكلفته." تحمل عملية المستخدم حقولاً مثل الحساب المرسِل، وnonce، وبيانات الاستدعاء (calldata) المراد تنفيذها، وحدود الغاز، ومعاملِر الرسوم، وحقل paymasterAndData اختياري، وتوقيعاً.

الفرق الجوهري عن المعاملة العادية هو مَن وماذا يوقّعها. فمعاملة Ethereum التقليدية يجب أن يوقّعها المفتاح الخاص لحساب EOA باستخدام مخطط ECDSA ثابت، ويدفع الحساب نفسه الغاز. أما عملية المستخدم فيتحقق منها منطق حساب العقد الذكي الخاص بالمرسِل — الذي يمكن أن ينفّذ أي مخطط توقيع أو قاعدة متعددة المفاتيح أو سياسة تخويل يحددها الحساب — وليست مضطرة لدفع تكلفتها بالغاز الأصلي إطلاقاً. وتلك المرونة هي بيت القصيد: فالحساب، لا البروتوكول، هو من يقرر شكل الإجراء الصالح.

ذاكرة الانتظار البديلة التي تقيم فيها

لا تدخل عمليات المستخدم ذاكرة انتظار معاملات Ethereum العادية، لأنها ليست معاملات بعد. بل تُبَثّ إلى ذاكرة انتظار بديلة منفصلة (تُسمى غالباً alt-mempool) — شبكة نظير-إلى-نظير مخصصة لكائنات ERC-4337. تقدّم المحافظ والتطبيقات اللامركزية عمليات المستخدم هنا، وتستمع البنية التحتية التي تستهلكها على هذه الشبكة بدلاً من ذاكرة انتظار الطبقة الأساسية. ويُبقي هذا الفصل حركة تجريد الحسابات بعيدة عن المسار الحرج للإجماع حتى لحظة تغليفها في معاملة حقيقية.

دور جهاز التجميع (bundler)

جهاز التجميع (bundler) هو الفاعل خارج السلسلة الذي يحوّل النوايا إلى واقع على السلسلة. ولمهمته أربعة أجزاء. أولاً، يجمع عمليات المستخدم من ذاكرة الانتظار البديلة. ثانياً، يحاكي كل واحدة ويتحقق منها — بتشغيل منطق التحقق الخاص بالحساب في سياق محاكى لتأكيد صحة التوقيع وصحة nonce وقدرة الحساب (أو جهاز الدفع الخاص به) على تغطية التكلفة — مع إنفاذ قواعد تمنع العمليات من استهلاك موارد لا تستطيع دفع ثمنها. ثالثاً، يحزم عملية مستخدم صالحة واحدة أو أكثر في معاملة Ethereum عادية واحدة. رابعاً، يرسل تلك المعاملة إلى الشبكة من حساب EOA الخاص به، دافعاً غاز الطبقة الأساسية سلفاً ومتوقعاً أن يُردّ إليه على السلسلة.

ولأن جهاز التجميع يقدّم الغاز سلفاً ويكسب رسوماً مقابل الإدراج، فإنه يتصرف إلى حد كبير كباني كتل متخصص لحركة تجريد الحسابات. وخطوة المحاكاة والتحقق لديه هي ما يحميه: فهو لن يجمّع عملية ستفشل في ردّ تكاليفها إليه.

عقد EntryPoint

يتلاقى كل شيء عند عقد ذكي واحد قانوني يُسمى EntryPoint. فمعاملة جهاز التجميع هي استدعاء لـ EntryPoint مع مصفوفة من عمليات المستخدم. ثم يشغّل EntryPoint حلقة صارمة من مرحلتين. في مرحلة التحقق، يستدعي لكل عملية دالة التحقق الخاصة بالحساب المرسِل (ودالة جهاز الدفع، إن حُدِّد) لإعادة فحص التوقيع وnonce وترتيب الدفع على السلسلة. وفقط بعد التحقق من كل العمليات في الدُفعة ينتقل إلى مرحلة التنفيذ، حيث يرسل بيانات استدعاء كل عملية إلى حسابها لأداء التحويل أو المبادلة أو الإجراء الآخر فعلياً.

هذا الفصل مهم: فيُفصل التحقق عن التنفيذ بحيث تُرسّخ ضمانات الدفع للدُفعة قبل تشغيل أي عمل يغيّر الحالة، وبحيث يستطيع EntryPoint احتساب الغاز بدقة عبر عمليات كثيرة دفعة واحدة.

أين يقع جهاز الدفع (paymaster)

جهاز الدفع (paymaster) عقد اختياري يوافق على الدفع مقابل عملية مستخدم نيابة عن الحساب. حين تتضمن عملية مستخدم بيانات جهاز دفع، يسأل EntryPoint ذلك الجهاز، أثناء مرحلة التحقق، عمّا إذا كان سيرعى العملية وبأي شروط. يمكن لجهاز الدفع أن يقبل دون شروط (رعاية حقيقية بدون غاز)، أو أن يقبل مقابل قيمة — والأكثر فائدة أن يحصّل من المستخدم بـ رمز ERC-20 بدلاً من الغاز الأصلي. وللاطلاع الأعمق على هذا المكوّن، انظر ما هو جهاز الدفع. جهاز الدفع هو المشبك في التدفق الذي يفصل "ما يدفع به المستخدم" عن "ما تُدفع به الشبكة".

كيف يُتعامل مع الغاز وحالات الفشل

الغاز في ERC-4337 مطبّق على طبقات. فجهاز التجميع يدفع ETH حقيقياً للمعاملة الخارجية؛ ويقيس EntryPoint غاز تحقق كل عملية مستخدم وتنفيذها مقابل الحدود التي أعلنتها؛ ومن يقع عليه الالتزام — الحساب أو جهاز الدفع الخاص به — يجب أن يكون قد رهن أو أودع ما يكفي لتغطية الفاتورة، التي يسوّيها EntryPoint في النهاية. وحالات الفشل محتواة بتصميم التحقق-أولاً. فإن فشلت عملية أثناء التحقق على السلسلة، تُستبعد ببساطة ولا يمكن أن تُثبَّت، ويُفترض أن تلتقط محاكاة جهاز التجميع خارج السلسلة هذا قبل الإرسال. وإن اجتازت عملية التحقق لكن تنفيذها ارتدّ (revert)، تتراجع آثار التنفيذ بينما يظل الغاز المنفَق مُحتسباً ومدفوعاً — بحيث لا يُترك جهاز التجميع دون تعويض عن عمل نزيه. ولهذا يحاكي أجهزة التجميع بعناية شديدة: فحمايتها من الإضرار المتعمد هي رفض إدراج أي شيء لن يردّ تكاليفها إليها.

كيف تستخدم WATS هذا

على سلاسل EVM، تعتمد WATS على قطعة واحدة بالضبط من هذا التدفق: جهاز دفع (paymaster) بمعيار ERC-4337. حين تجري تحويلاً أو مبادلة أو رهناً في محفظة WATS الساخنة، فإن جهاز الدفع هو ما يتيح احتساب رسمك بـ ATS بدلاً من غاز السلسلة الأصلي — فلست بحاجة أبداً لامتلاك ETH أو BNB أو أي رمز غاز آخر لتُجري معاملة. ولأن ATS رمز OFT من LayerZero، فإن رصيد ATS واحداً يغطي الرسوم عبر EVM وSolana وTON (وعلى السلاسل غير EVM يؤدي دافع رسوم معادل دور جهاز الدفع)، ويُحرَق ATS المُحصَّل من 100,000,000 نحو حدٍّ أدنى قدره 30,000,000. تبقى WATS غير حافظة تماماً — أنت تحمل مفاتيحك الخاصة — وهي أول وأوحد محفظة تجمع بين رسوم الرمز الواحد بمعيار ERC-4337 + OFT المُحتسبة بدلاً من الغاز الأصلي مع ذلك الحرق. انظر كيف يعمل نموذج رسوم ATS للصورة الكاملة.

الأسئلة الشائعة

ما الفرق بين عملية المستخدم (UserOperation) ومعاملة Ethereum العادية؟

المعاملة العادية يوقّعها حساب مملوك خارجياً باستخدام ECDSA ثابت وتدفع غازها الخاص بالرمز الأصلي للسلسلة. أما عملية المستخدم فهي كائن نية عالي المستوى يتحقق منه منطق حساب العقد الذكي الخاص بالمرسِل، الذي يمكن أن يستخدم قواعد مخصصة، وليست مضطرة لدفع تكلفتها بالغاز الأصلي — إذ يمكن لجهاز دفع أن يغطي الرسم. كما تسافر عمليات المستخدم عبر ذاكرة انتظار بديلة منفصلة بدلاً من ذاكرة انتظار المعاملات القياسية.

ماذا يفعل جهاز التجميع (bundler) في ERC-4337 فعلاً؟

يجمع جهاز التجميع عمليات المستخدم من ذاكرة الانتظار البديلة، ويحاكي كل واحدة ويتحقق منها لتأكيد التوقيعات وnonces وإمكانية تغطية الدفع، ثم يحزم الصالحة منها في معاملة Ethereum عادية واحدة تستدعي عقد EntryPoint. ويرسل تلك المعاملة من حسابه الخاص، مقدّماً غاز الطبقة الأساسية سلفاً ومتوقعاً أن يُردّ إليه على السلسلة. والمحاكاة الدقيقة هي ما يحمي جهاز التجميع من إدراج عمليات لن تردّ له تكاليفه.

هل يتيح لي ERC-4337 دفع رسوم الغاز برمز غير ETH؟

نعم، عند استخدام جهاز دفع. جهاز الدفع عقد اختياري يمكنه رعاية عملية مستخدم، وبدلاً من تحصيل الغاز الأصلي، يقبل الدفع برمز ERC-20، مسوّياً رسم الشبكة الفعلي على حدة. وهكذا تتيح لك محفظة إجراء معاملات دون امتلاك رمز غاز السلسلة الأصلي. ERC-4337 وأجهزة الدفع الخاصة به خاصة بـ EVM فحسب؛ أما السلاسل غير EVM مثل Solana وTON فتحقق نتيجة مماثلة عبر دافع رسوم أو جهاز ترحيل معادل.