ينقسم المقال إلى قسمين رئيسيين:
في الجزء الأول، سيبدأ بالاقتراح الأول AA من عام 2015، مُنظمًا بشكل منهجي الشؤون الرئيسية لمقترحات EIP حتى الآن. يهدف إلى استكشاف التطور التاريخي لمقترحات AA وتقييم مفصل لنقاط القوة والضعف لكل مقترح.
في الجزء الثاني، سيتم التركيز على مقارنة ردود الفعل السوق بعد إدخال EIP-4337 ثم الانغماس في تحليل EIP-7702، الذي من المقرر أن يتم تضمينه في ترقية إثيريوم القادمة. من المتوقع أن يؤدي هذا الاقتراح، بمجرد دمجه، إلى تحول كبير في طبيعة التطبيقات على السلسلة.
يعد EIP-7702 بتغييرات ثورية، وسنناقشه بالتفصيل.
في نهاية عام 2023، قام مؤسس إيثيريوم فيتاليك بوتيرين بتحديث خريطة تطوير إيثيريوم مرة أخرى. ومع ذلك، بقيت الأحكام المتعلقة بتجريم التجريد للحساب دون تغيير. يستمر النموذج الرئيسي الحالي في التطور من EIP-4337 إلى المرحلة التالية: تحويل EOA الطوعي (تحويل الحسابات EOA تلقائيا).
https://x.com/VitalikButerin/status/1741190491578810445
منذ إصدار EIP-4337 قبل أكثر من عام (في 1 مارس 2023، في WalletCon في دنفر، أعلن مطورو مؤسسة Ethereum أن العقود الأساسية لـ ERC-4337 قد اجتازت عملية التدقيق التفصيلي لـ OpenZeppelin، مما يشكل نقطة تحول تاريخية لإطلاقه الرسمي)، فقد حظي بتقدير واسع النطاق من المستخدمين ولكن لم يشهد انتشارًا واسعًا. هذا البيئة السوقية المتناقضة قد سرعت من تقدم EIP-7702، والذي تم تأكيده الآن ليتم تضمينه في الترقية القادمة.
دون مزيد من اللف والدوران، دعونا نلقي نظرة على البيانات.
بعد عام ونصف من التطوير، اكتسبت EIP-4337 فقط 12 مليون عنوانًا تحت حسابات السلسلة الرئيسية. ما هو مفاجئ بشكل خاص هو أنه على شبكة Ethereum الرئيسية، هناك فقط 6,764 عنوان نشط. بينما قد تكون هناك مشاكل مع الأبعاد الإحصائية، إلا أن هذا الرقم مختلف تمامًا عن عدد العناوين لـ EOAs و CAs. لسياق الفكرة، وصل عدد العناوين الفريدة على شبكة Ethereum الرئيسية إلى 270 مليون (المصدر: https://etherscan.io/chart/address.
يمكن القول أن EIP-4337 لم يحقق تقدماً كبيراً على الشبكة الرئيسية.
(مصدر الرسم البياني: https://dune.com/niftytable/account-abstraction)
ومع ذلك، لا يقلل هذا من القيمة الجوهرية لتجريم الحسابات (AA). من البداية، كان تصميم EIP-4337 مقدرًا على مواجهة مشاكل كبيرة في التوافق مع الإصدارات السابقة على الشبكة الرئيسية. ونتيجة لذلك، مع تكامل سلاسل Layer 2 المختلفة مع AA الأصلية، شهد EIP-4337 نموًا كبيرًا في عدد العناوين على Layer 2. على سبيل المثال، في يوليو، بلغ عدد المستخدمين النشطين على سلاسل القاعدة والبوليجون 1 مليون و 3 ملايين على التوالي، وهو أمر ملفت للانتباه بشكل كبير.
لذلك، ليس من الصحيح أن تكون تصميم EIP-4337 معيبًا؛ لديه العديد من المزايا التي سنلخصها بشكل منهجي. تنشأ الحالة الحالية من الاختلافات بين الشبكة الرئيسية والطبقة 2، حيث يتطلب كل منها حلولًا مخصصة.
قد يبدو تجريد الحساب معقدًا، ولكنه في الأساس يتناول مسألة فصل الملكية.
في الهندسة المعمارية لآلة الحاسوب الافتراضية Ethereum (EVM)، هناك نوعان من الحسابات: حسابات الممتلكات الخارجية (EOAs) وحسابات العقود. في حسابات الممتلكات الخارجية (EOAs)، تتمتع الكيانات بالملكية وسلطة التوقيع. الشخص الذي يمتلك المفتاح الخاص ليس فقط يمتلك الحساب ولكنه أيضًا لديه الحق في توقيع ونقل جميع أصوله.
يتم تحديد هذا الإعداد من خلال هيكل تحويل حساب إيثيريوم. في تحويل إيثيريوم القياسي، لا يوجد عنوان "من" مباشر مرئي. عند حدوث تحويل الأموال، يتم استنتاج العنوان الفعلي الذي يتم إنفاق الأموال من خلال معلمات VRS (أي توقيع المستخدم).
هذا يتضمن مفاهيم مثل التشفير اللاسلكي ECDSA ووظائف العتبة في اتجاه واحد، ولكننا لن نغوص في تلك التفاصيل هنا. في الأساس، يضمن التشفير الأمان، مما يؤدي إلى الوضع الحالي حيث تتم دمج ملكية وسلطة التوقيع في EOAs.
التأثير الأساسي ل EIP-4337 هو إضافة حقل عنوان المُرسِل إلى المعاملة، مما يسمح بفصل المفتاح الخاص وعنوان العملية.
لذا لماذا يعتبر فصل الملكية مهمًا جدًا؟
لأن تصميم حسابات الممتلكات الخارجية يؤدي إلى العديد من المشاكل:
حماية المفتاح الخاص: فقدان المفتاح الخاص (بسبب الضياع أو الاختراق أو التعرض للتشفير) يعني فقدان جميع الأصول.
خوارزميات التوقيع المحدودة: البروتوكول الأصلي يدعم فقط ECDSA للتوقيع والتحقق.
سلطة التوقيع العالية: بدون دعم التوقيع المتعدد الأصلي (الذي لا يمكن تحقيقه إلا من خلال العقود الذكية)، يمكن لتوقيع واحد تنفيذ أي عملية.
رسوم المعاملات: يمكن دفع الرسوم فقط بالإيثريوم، الذي لا يدعم حجمًا كبيرًا من المعاملات.
الخصوصية في المعاملات: تجعل المعاملات الواحدة إلى الواحدة من السهل تحليل معلومات الحساب الخاصة بحامل الحساب.
هذه القيود تجعل من الصعب على المستخدمين العاديين استخدام إثيريوم:
لاستخدام أي تطبيق على إثيريوم، يجب على المستخدمين الاحتفاظ بالإيثر (وتحمل مخاطر تقلب سعر الإيثر).
يحتاج المستخدمون إلى التعامل مع منطق الرسوم المعقد، مثل سعر الغاز، وحدة الغاز، وحجب العمليات (ترتيب nonce)، والتي يمكن أن تكون معقدة للغاية.
على الرغم من محاولات العديد من محافظ البلوكتشين أو التطبيقات لتحسين تجربة المستخدم من خلال تحسين المنتج، إلا أن كفاءتها كانت محدودة.
الحل يكمن في تنفيذ تجريد الحساب، الذي يفصل بين الملكية (المالك) وسلطة التوقيع (الموقع) لمعالجة هذه المشاكل. من الناحية التاريخية، ظهرت العديد من الحلول، تحولت في النهاية إلى نهجين رئيسيين.
على الرغم من أنه قد يبدو وكأن هناك العديد من مقترحات EIP تتناول المشكلة، إلا أن هناك في الأساس مجرد نهجين أساسيين. القضايا التي تم النظر فيها في المقترحات السابقة التي لم يتم الموافقة عليها في النهاية قد تلاقت في الحلول الحالية.
في 15 نوفمبر 2015، اقترح فيتاليك بوتيرين هيكل حساب جديد حول EIP-101، الذي ينطوي على استخدام العقود كحسابات. سيحول هذا العناوين إلى كيانات تحتوي فقط على الشيفرة ومساحة التخزين، ويغير دعم الرسوم ليتم دفعها عبر رموز ERC20، ويستخدم العقود المُعدة مُسبقًا لتحويل العملات الأصلية إلى عملات مشابهة لـ ERC20 لتخزين الأرصدة (بميزات مثل التفويض المُفوض). تم تبسيط حقول المعاملة لتتضمن فقط الوجهة، الغاز الابتدائي، البيانات، والشيفرة)
بناء على التقدير، كانت هذه تغييرًا ثوريًا سيغير تصميم الأساسي بشكل جذري، مما يمنح كل عنوان حساب منطقه الخاص “كود”، وهذا هو في الأساس ما يهدف إليه EIP-7702 لتحقيقه اليوم. يمكن أيضًا أن يمكن هذا النهج تمكين ميزات إضافية، مثل:
السماح للمعاملات باستخدام مزيد من خوارزميات التشفير المحددة بواسطة الرمز الداخلي لكل عنوان للتحقق والمصادقة.
توفير مقاومة الكم بسبب طبيعة الرمز القابلة للترقية.
منح إيثر نفس الخصائص الوظيفية لعقود ERC20 ، مع ميزات مثل التفويض المفوض ، مما يلغي الحاجة إلى إنفاق العملة الأصلية.
تعزيز تخصيص الحساب، دعم استعادة الاجتماعية، SBT (رموز مقيدة الروح)، واستعادة المفتاح.
السبب في عدم تقدم هذا المقترح كان بسيطًا: كانت الخطوات طموحة للغاية. لم يتم التعامل بشكل كامل مع قضايا مثل اصطدامات تجزئة التحويلات والمخاوف الأمنية، مما أدى إلى تأجيله. ومع ذلك، أصبحت العديد من فوائده ميزات أساسية في EIPs التالية، بما في ذلك EIP-4337 و EIP-7702.
حاولت عدة EIPs لاحقًا تحسين هذا المنطق:
EIP-859: Account Abstraction on Mainnet (January 30, 2018) aimed to address code deployment issues. Its core function was to use the رمز
المعلمة المرفقة بالمعاملات لنشر محافظ العقود إذا لم يتم نشر العقد. كما قدمت عملية PAYGAS الجديدة لفصل أوامر التحقق والتنفيذ في أجزاء المعاملة.
على الرغم من أنه لم يتقدم في ذلك الوقت، إلا أن هذا المنطق أصبح جزءاً أساسياً من EIP-7702، الذي يسمح لعناوين EOA بأن تمتلك قدرات العقد من خلال هياكل المعاملات الخاصة التي يمكن أن تتضمن الشيفرة.
EIP-7702: تعيين كود حساب EOA (7 مايو 2024) هو مفتاح EIP المُناقَش هنا. اقترح فيتاليك EIP-7702 كبديل لـ EIP-3074. ونتيجة لذلك، تم التخلي عن EIP-3074، ومن المقرر تضمين EIP-7702 في تحديث البراغ/إليكترا (بيكترا) القادم. سيتم مناقشة تفاصيل إضافية أدناه.
EIP-3074: إضافة تعليمات التشغيل AUTH و AUTHCALL (15 أكتوبر 2020)
هذا EIP يقدم اثنين من أوامر جديدة، AUTH و AUTHCALL، إلى EVM، مما يسمح لـ EOAs بتفويض العقود لاستبدال هويتهم واستدعاء عقود أخرى. في جوهره، يمكن لـ EOA إرسال رسالة موقعة (معاملة) إلى عقد موثوق به (يسمى Invoker). يمكن لعقد Invoker بعد ذلك استخدام أوامر AUTH و AUTHCALL لإرسال المعاملة نيابة عن EOA.
EIP-4337: تنفيذ التجريد الحسابي عن طريق حمامات المعاملات (29 سبتمبر 2021)
مستوحاة من MEV، القيمة الأساسية لهذا EIP هي أنه يتجنب التغييرات في بروتوكول طبقة التوافق. يقدم EIP-4337 كائن معاملة جديدًا، UserOperation، الذي يقدمه المستخدمون إلى حوض ذاكرة. ثم يجمع المجمعون ويقدمون هذه المعاملات إلى تنفيذ العقد، مما ينقل بشكل فعال عمليات المعاملات والحسابات على مستوى أدنى إلى طبقة العقد.
EIP-5189: عمليات الحساب المجردة عبر الموكلين (29 يونيو 2022)
يقوم هذا EIP بتحسين EIP-4337 عن طريق التعامل مع المشاكل المحتملة مع المجمعين الخبيثة. يقدم آلية لصناديق المدعمين من قبل المروجين لمنع هجمات DoS عن طريق معاقبة العناصر السيئة.
EIP-2718: ظرف نوع المعاملة الجديد (13 يونيو 2020)
تحدد هذه الاقتراحات النهائية نوعًا جديدًا للمعاملات كظرف لأنواع المعاملات المستقبلية. إنها تضمن أنه عندما يتم تقديم أنواع جديدة من المعاملات، يمكن تمييزها بواسطة ترميز محدد، مع الحفاظ على التوافق مع الإصدارات السابقة دون التأثير على الأنواع القديمة. مثال شائع هو EIP-1559، الذي قام بتفريق رسوم المعاملات مع ترميز نوع معاملة جديد مع الاحتفاظ بالأنواع القديمة.
EIP-3607: منع عناوين EOA من نشر العقود (10 يونيو 2021)
يتناول هذا الاقتراح التكميلي مسألة عناوين نشر العقود المتعارضة مع عناوين EOA. يتحكم في طرق إنشاء العقود ، مما يمنع نشر التعليمات البرمجية إلى العناوين المستخدمة بالفعل من قبل EOAs. الخطر ضئيل بالنظر إلى طول 160 بت من عناوين Ethereum ، على الرغم من أنه ممكن نظريا من خلال الاصطدامات الرئيسية ، إلا أنه سيتطلب جهدا حسابيا كبيرا.
لفهم قيمة الانتقال إلى عناوين CA، من الضروري فهم التأثيرات العملية لـ EIP-4337، التي يمكن أن تحقق...
ومع ذلك، العيب الأساسي في EIP-4337 هو أنه ينتهك مبدأ الحوافز البشرية. على الرغم من أنه يبدو أنه يقدم تحسينات، إلا أنه يقع في طريق مسدود لتطوير السوق. لا تزال العديد من تطبيقات اللامركزية غير متوافقة معه، مما يجعل المستخدمين مترددين في استخدام عناوين CA. بالإضافة إلى ذلك، يمكن أن يؤدي استخدام عناوين CA إلى زيادة تكاليف المعاملات (على سبيل المثال، يمكن أن تتضاعف رسوم المعاملات في سيناريوهات النقل العادي)، مما يجعله يعتمد بشكل كبير على توافق تطبيقات اللامركزية.
وبنتيجة لذلك، لم تصبح شائعة على شبكة إثيريوم الرئيسية حتى الآن. التكلفة هي العامل الأكثر أهمية بالنسبة للمستخدمين، ويجب تخفيضها. لتقليل تكاليف الGAS حقًا، سيحتاج إثيريوم نفسه إلى ترقية ناعمة لتعديل حسابات الGAS أو تغيير استهلاك الGAS لل opcodes. نظرًا للحاجة إلى ترقية ناعمة، لماذا لا تنظر مباشرة إلى EIP-7702؟
يتميز بأنواع معاملات جديدة، مما يسمح لـ EOA بأن تكون لديها وظيفة عقد ذكي مؤقت في معاملة واحدة، داعمًا بذلك المعاملات الدُفعية والمعاملات بدون رسوم وإدارة الأذونات المخصصة في الأعمال، دون الحاجة إلى إدخال كود تشغيل EVM جديد (التأثير على التوافق الأمامي).
يتيح للمستخدمين الحصول على معظم قدرات AA دون نشر عقود ذكية، ويمكنه حتى توفير القدرة لطرف ثالث بالقيام بتنفيذ المعاملات نيابة عن المستخدمين. لا يتطلب من المستخدمين تقديم المفاتيح الخاصة، ولكن يحتاج فقط إلى توقيع المعلومات المصرح بها.
حدد نوع معاملة جديد 0x04. TransactionPayload لهذا النوع من المعاملات هو نتيجة تسلسل الترميز RLP للمحتوى التالي
rlp([
chain_id، // معرف السلسلة، يستخدم لمنع هجمات الإعادة.
رقم تكراري ، // عداد المعاملات لضمان فرادى المعاملة.
max_priority_fee_per_gas، //1559 رسوم المعاملة
max_fee_per_gas، //1559 رسوم المعاملة
حد_الغاز،
الوجهة، // عنوان العملية المستهدف
القيمة،
بيانات،
access_list, //قائمة الوصول، تستخدم لتحسين الغاز في EIP-2929.
قائمة التفويض،
signature_y_parity، // 3 معلمات توقيع، تستخدم للتحقق من توقيع المعاملة.
توقيع_r,
توقيع_s
]
الشيء المهم هو أن تُضاف كائن authorization_list إلى التخزين الذي يرغب الموقع في تنفيذ الكود الخاص به في حسابه الشخصي. عندما يوقع المستخدم على المعاملة، يوقع أيضًا على كود العقد الذي سيتم تنفيذه. يوجد كقائمة ثنائية الأبعاد، مما يدل على أنه يمكن تخزين معلومات عملية متعددة بدفعات، وتنفيذ عمليات دفعات.
authorization_list = [[chain_id، address، nonce، y_parity، r، s]، …]
في بداية مرحلة تنفيذ المعاملة، لكل[chain_id, address, nonce, y_parity, r, s]
tuple in the قائمة التفويض
:
استخدم الecrecover
وظيفة لاستعادة عنوان الموقع الذي وقع بواسطته الشخص الموقع من التوقيع(r, s)
. توجه إلى أن هذا يستخدم آلية إيثيريوم الحالية، لذلك يبقى خوارزمية التوقيع دون تغيير من خلال هذا EIP. يتم استرداد العنوان باستخدام: السلطة = ecrecover(keccak(MAGIC || rlp([chain_id, address, nonce])), y_parity, r, s)
. هذا يشبه كيفيةمن
العنوان مشتق من التواقيع، لكنه ينطبق على توقيع القائمة المحددة.
تحقق من معرف السلسلة لمنع هجمات الإعادة على سلاسل مختلفة.
تحقق مما إذا كانسلطة
كود الموقع فارغ أو تم تفويضه (لتأكيد ما إذا كانت المعاملة صالحة بموجب EIP-7702، مع آليات التفويض التي تدير التنفيذ).
تحققسلطة
رقم التعريف الخاص بالموقع لمنع هجمات اللعب المتكرر على التواقيع.
ضبط السلطة
كود الموقع للتوقيع0xef0100 || العنوان
(لتجاوز استراتيجيات منع الاصطدام EIP-3607).
زيادة السلطة
العدد العشوائي للموقع (لمنع إعادة التوقيع المحلي).
أضف السلطة
حساب الموقع للموافقة على قائمة الوصول (للانتقال إلى التخزين الساخن، مما يقلل من تكاليف الغاز للوصول).
أين يتم تنفيذ رمز العقد والتعليمات التشغيلية؟
النسخة الجديدة تغير كيفية نشر كود العقد. بدلاً من تعيين كود الحساب مباشرة، يقوم بجلب الكود من القائمة التفويض
العنوان ويضبطه ككود الحساب.
عند تنفيذ الشفرة المصرح بها، قم بتحميل الشفرة من العنوان المحدد في القائمة الترخيص
وتنفيذه في سياق حساب الموقع. وهذا يعني أن كود عقد المستخدم مخزن في عنوان محدد على سلسلة الكتل، بدلاً من أن يكون مضمنًا مباشرة في الصفقة.
تُخزن التعليمات التشغيلية والمعلمات ذات الصلة في البيانات
حقل حمولة المعاملة.
EIP-7702 يقدم قيمة كبيرة حيث يغير بشكل جوهري عملية العمليات بأكملها لمحافظ Web3، مما يؤدي إلى تحول جذري في تجربة المستخدم. يمكن الآن للعمليات العادية التي يبدأها EOA (حساب يملكه مالك خارجي) تنفيذ العديد من المنطقيات المشابهة لتنفيذ العقود الذكية، مثل التحويلات الجماعية. يؤثر ذلك أيضًا على سيناريوهات CeFi، مما يؤثر على تحديد العمليات والرسوم للسحب والتوحيد.
إيب-7702 يكسر العديد من الافتراضات الطويلة الأمد: إنه يكسر الثابت الذي يمكن أن يقل رصيد الحساب فقط بسبب المعاملات الناتجة عن هذا الحساب. إنه يكسر الثابت الذي يزيد من عدد بدء تشغيل حساب العقد الذاتي بمقدار 1 بعد تنفيذ معاملة (قد يزيد الآن بقيم متعددة بشكل متزامن). إنه يكسر البرنامج الوقائي الذي يعتمد على المقارنةtx.origin
وmsg.sender
, مما يعرض للخطر الكثير من العقود القائمة. كما أنه يكسر حقيقة أن EOA نفسه لا يمكن أن يطلق الأحداث، مما قد يؤثر على تحديد ومراقبة بعض الأحداث على السلسلة. وأخيرًا، يكسر افتراض أن عنوان EOA سيتلقى دائمًا بنجاح ERC20 و721 و1155 وغيرها من الأصول (حيث قد يفشل بسبب آلية الاستدعاء).
1.مزايا EIP-7702
EIP-7702 لديه عدة مزايا. أحدها تكاليف الغاز المنخفضة، حيث لا يتطلب المرور عبر وحدة نقطة الدخول، مما يقلل من العمليات على السلسلة. والآخر هو تكاليف هجرة المستخدمين المنخفضة، حيث لا حاجة لنشر عقد على السلسلة ككيان رئيسي مسبقًا.
بالمقارنة مع EIP-4337، يدعم EIP-7702 أيضًا تنفيذ الشيفرة الموكلة ويقدم نوعين من التفويض:
الوفد الكامل: يعني تفويض السيطرة الكاملة على عملية معينة إلى عنوان محدد. على سبيل المثال، يمكن لمستخدم تفويض إدارة جميع الرموز ERC-20 إلى عنوان عقد ذكي، مما يتيح للعقد القيام بجميع العمليات ذات الصلة نيابة عن المستخدم.
الوفد المحمي: يتضمن هذا إضافة قيود وحمايات أثناء الوفد لضمان أمان وقابلية التحكم في العمليات الموكلة. على سبيل المثال، يمكن للمستخدم تفويض حقوق الإدارة الجزئية فقط للرموز ERC-20 إلى عقد ذكي أو تعيين شروط (على سبيل المثال، إنفاق الحد الأقصى لنسبة 1% من الرصيد الإجمالي يوميًا).
2. عيوب EIP-7702
أحد أهم عيوب EIP-7702 هو أنه يتضمن ترقية شوكية ناعمة، تتطلب التوافق من المجتمع للمضي قدمًا. تغييراته كبيرة وقد تكون لها تأثير واسع على النظام البياني. استنادًا إلى التقييم الأولي من شيشي جون، تم تحديد العديد من التحديات، ولكن هذه التحديات يمكن أيضًا أن تمثل فرصًا للسوق:
يجعل الحرية العالية من الصعب على المراجعة، مما يؤدي إلى طلب المستخدمين المزيد من المحافظ الموثوقة لضمان حماية الأمان.
التغييرات على الهندسة المعمارية الأصلية ذات أهمية كبيرة. على الرغم من أن أنواع المعاملات المختلفة يمكن تمييزها، إلا أن العديد من البنية التحتية الأساسية، وخاصة العقود اللاقابلة للتغيير على السلسلة، قد لا تكون متوافقة مباشرة.
بينما يوفر EIP-7702 إمكانيات العقد لعناوين EOA، لا يمكن الاحتفاظ بالمساحة التخزينية المقابلة.
تكلفة المعاملات الفردية أعلى قليلاً بسبب زيادة كبيرة في قسم Calldata. التكلفة الإجمالية المقدرة للمكالمة ستكون 16 (غاز) 15 (bytes) = 240 (gas) لتكلفة البيانات الواردة، بالإضافة إلى تكلفة EIP-3860 بمقدار 2 15 = 30، وحوالي 150 لتكاليف التشغيل. لذلك، حتى إذا قمت بإعداد حساب بدون عمليات، ستزيد تكاليف الغاز بنحو 500.
إذا قام المستلم بتوقيع كود يفتقر إلى وظيفة receive، فقد يواجه المرسل DoS عند محاولة إرسال الأصول. انظر الحالة. تنشأ هذه المشكلة عندما يقوم EOA A بتوقيع شيء لا ينبغي أن يكون عليه - ملف قابل لإعادة البث بتنفيذ غير صحيح (يفتقرreceive()
.
قد تكون منطقيات التجميع والسحب على السلسلة غير متسقة. على سبيل المثال، عند تحويل الرموز القائمة على ERC-20، إذا كان لدى حساب المستلم رمزًا، سيتصل عقد الرمزonERC20Received
على حساب المستلم. إذاonERC20Received
إذا كانت العودة أو الإرجاع قيمة غير صحيحة، سيتم إلغاء تحويل الرمز.
بالإضافة إلى ذلك، إذا كان بإمكان EOA إطلاق الأحداث، هل يمكن أن تحدث أي مشاكل؟ قد تحتاج بعض البنية التحتية إلى إيلاء اهتمام لهذا الأمر.
هذه فقط بعض من العيوب التي تم تلخيصها من قبل Shisi Jun بناءً على مقترح EIP-7702 الحالي والمناقشات على المنتدى الرسمي. سيتطلب تحليل كامل فحص رمز التنفيذ النهائي.
قد يبدو المقال شاملاً، ولكنه يحتوي على نحو 6،000 كلمة فقط. تم ربط العديد من الإشارات إلى تفسيرات EIP السابقة في النص لاستكشافها بشكل أعمق، لذا لن أغوص في ذلك هنا.
حالياً، يبدو أن استيعاب الحساب يمكن أن يوضع فقط في الوحدة السادسة، وهي المرحلة النهائية لإصلاح كل شيء قبل دفعه إلى الأمام. تسبب التقدم المسرع لـ EIP-7702 بشكل رئيسي في تقديم تحديات لأمان النظام. من المتوقع أن يتم تنفيذه في نهاية المطاف. على الأخير، فإن دمج Ethereum، الذي تضمن تحولا رئيسيا في خوارزمية الاتفاق، قد حدث بالفعل. نوع جديد من المعاملات يعتبر ثانوياً بالمقارنة.
ومع ذلك، في هذه المرة التغييرات مُزعجة تمامًا، حيث تكسر العديد من القواعد التي كان يعتبرها البعض “مستحيلة” على السلسلة الرئيسية وتغيير منطق معظم تطبيقات العقود الذكية. ومع ذلك، يُمسك EIP-7702 بشكل قوي بالنقطة الأكثر أهمية: إنه يُقلل بشكل كبير من تكاليف المستخدم. على العكس من ذلك، يقرب EIP-4337 بشكل كبير من تكاليف المعاملات.
يظل المستخدمون عناوين EOA (Externally Owned Account) ولكنهم يستدعون ويستخدمون منطق CA (Contract Account) فقط عند الحاجة، مما يقلل من تكاليف الاحتفاظ. ليس هناك حاجة أولية لتحويل الهوية إلى حساب CA على السلسلة قبل القيام بالإجراءات، مما يعني أن المستخدمين لا يحتاجون إلى التسجيل.
يمكن للمستخدمين أداء عدة معاملات بشكل متزامن بسهولة باستخدام حساباتهم الخاصة، مثل دمج التفويض للخصم وتنفيذ الخصومات. وهذا بطبيعته يقلل من تكاليف المعاملات للمستخدمين. بالنسبة لتطبيقات اللامركزية، وخاصة المشاريع التي تتطلب إدارة مستوى الشركات على السلسلة، مثل التبادلات، فإن هذه الأمثلة هي ثورية. إذا تم تنفيذ تجميع الدفعات بشكل أصيل، فإن التكاليف التشغيلية الأساسية للتبادلات يمكن تقليلها بأكثر من نصف، مما يعود في النهاية بالفائدة على المستخدمين أيضًا.
لذلك، على الرغم من أن EIP-7702 يقدم العديد من التغييرات، إلا أن تأثيره على التكلفة وحده يجعله يستحق الدراسة والتكيف لجميع تطبيقات اللامركزية. هذه المرة، المستخدمون بلا شك على جانب EIP-7702.
ينقسم المقال إلى قسمين رئيسيين:
في الجزء الأول، سيبدأ بالاقتراح الأول AA من عام 2015، مُنظمًا بشكل منهجي الشؤون الرئيسية لمقترحات EIP حتى الآن. يهدف إلى استكشاف التطور التاريخي لمقترحات AA وتقييم مفصل لنقاط القوة والضعف لكل مقترح.
في الجزء الثاني، سيتم التركيز على مقارنة ردود الفعل السوق بعد إدخال EIP-4337 ثم الانغماس في تحليل EIP-7702، الذي من المقرر أن يتم تضمينه في ترقية إثيريوم القادمة. من المتوقع أن يؤدي هذا الاقتراح، بمجرد دمجه، إلى تحول كبير في طبيعة التطبيقات على السلسلة.
يعد EIP-7702 بتغييرات ثورية، وسنناقشه بالتفصيل.
في نهاية عام 2023، قام مؤسس إيثيريوم فيتاليك بوتيرين بتحديث خريطة تطوير إيثيريوم مرة أخرى. ومع ذلك، بقيت الأحكام المتعلقة بتجريم التجريد للحساب دون تغيير. يستمر النموذج الرئيسي الحالي في التطور من EIP-4337 إلى المرحلة التالية: تحويل EOA الطوعي (تحويل الحسابات EOA تلقائيا).
https://x.com/VitalikButerin/status/1741190491578810445
منذ إصدار EIP-4337 قبل أكثر من عام (في 1 مارس 2023، في WalletCon في دنفر، أعلن مطورو مؤسسة Ethereum أن العقود الأساسية لـ ERC-4337 قد اجتازت عملية التدقيق التفصيلي لـ OpenZeppelin، مما يشكل نقطة تحول تاريخية لإطلاقه الرسمي)، فقد حظي بتقدير واسع النطاق من المستخدمين ولكن لم يشهد انتشارًا واسعًا. هذا البيئة السوقية المتناقضة قد سرعت من تقدم EIP-7702، والذي تم تأكيده الآن ليتم تضمينه في الترقية القادمة.
دون مزيد من اللف والدوران، دعونا نلقي نظرة على البيانات.
بعد عام ونصف من التطوير، اكتسبت EIP-4337 فقط 12 مليون عنوانًا تحت حسابات السلسلة الرئيسية. ما هو مفاجئ بشكل خاص هو أنه على شبكة Ethereum الرئيسية، هناك فقط 6,764 عنوان نشط. بينما قد تكون هناك مشاكل مع الأبعاد الإحصائية، إلا أن هذا الرقم مختلف تمامًا عن عدد العناوين لـ EOAs و CAs. لسياق الفكرة، وصل عدد العناوين الفريدة على شبكة Ethereum الرئيسية إلى 270 مليون (المصدر: https://etherscan.io/chart/address.
يمكن القول أن EIP-4337 لم يحقق تقدماً كبيراً على الشبكة الرئيسية.
(مصدر الرسم البياني: https://dune.com/niftytable/account-abstraction)
ومع ذلك، لا يقلل هذا من القيمة الجوهرية لتجريم الحسابات (AA). من البداية، كان تصميم EIP-4337 مقدرًا على مواجهة مشاكل كبيرة في التوافق مع الإصدارات السابقة على الشبكة الرئيسية. ونتيجة لذلك، مع تكامل سلاسل Layer 2 المختلفة مع AA الأصلية، شهد EIP-4337 نموًا كبيرًا في عدد العناوين على Layer 2. على سبيل المثال، في يوليو، بلغ عدد المستخدمين النشطين على سلاسل القاعدة والبوليجون 1 مليون و 3 ملايين على التوالي، وهو أمر ملفت للانتباه بشكل كبير.
لذلك، ليس من الصحيح أن تكون تصميم EIP-4337 معيبًا؛ لديه العديد من المزايا التي سنلخصها بشكل منهجي. تنشأ الحالة الحالية من الاختلافات بين الشبكة الرئيسية والطبقة 2، حيث يتطلب كل منها حلولًا مخصصة.
قد يبدو تجريد الحساب معقدًا، ولكنه في الأساس يتناول مسألة فصل الملكية.
في الهندسة المعمارية لآلة الحاسوب الافتراضية Ethereum (EVM)، هناك نوعان من الحسابات: حسابات الممتلكات الخارجية (EOAs) وحسابات العقود. في حسابات الممتلكات الخارجية (EOAs)، تتمتع الكيانات بالملكية وسلطة التوقيع. الشخص الذي يمتلك المفتاح الخاص ليس فقط يمتلك الحساب ولكنه أيضًا لديه الحق في توقيع ونقل جميع أصوله.
يتم تحديد هذا الإعداد من خلال هيكل تحويل حساب إيثيريوم. في تحويل إيثيريوم القياسي، لا يوجد عنوان "من" مباشر مرئي. عند حدوث تحويل الأموال، يتم استنتاج العنوان الفعلي الذي يتم إنفاق الأموال من خلال معلمات VRS (أي توقيع المستخدم).
هذا يتضمن مفاهيم مثل التشفير اللاسلكي ECDSA ووظائف العتبة في اتجاه واحد، ولكننا لن نغوص في تلك التفاصيل هنا. في الأساس، يضمن التشفير الأمان، مما يؤدي إلى الوضع الحالي حيث تتم دمج ملكية وسلطة التوقيع في EOAs.
التأثير الأساسي ل EIP-4337 هو إضافة حقل عنوان المُرسِل إلى المعاملة، مما يسمح بفصل المفتاح الخاص وعنوان العملية.
لذا لماذا يعتبر فصل الملكية مهمًا جدًا؟
لأن تصميم حسابات الممتلكات الخارجية يؤدي إلى العديد من المشاكل:
حماية المفتاح الخاص: فقدان المفتاح الخاص (بسبب الضياع أو الاختراق أو التعرض للتشفير) يعني فقدان جميع الأصول.
خوارزميات التوقيع المحدودة: البروتوكول الأصلي يدعم فقط ECDSA للتوقيع والتحقق.
سلطة التوقيع العالية: بدون دعم التوقيع المتعدد الأصلي (الذي لا يمكن تحقيقه إلا من خلال العقود الذكية)، يمكن لتوقيع واحد تنفيذ أي عملية.
رسوم المعاملات: يمكن دفع الرسوم فقط بالإيثريوم، الذي لا يدعم حجمًا كبيرًا من المعاملات.
الخصوصية في المعاملات: تجعل المعاملات الواحدة إلى الواحدة من السهل تحليل معلومات الحساب الخاصة بحامل الحساب.
هذه القيود تجعل من الصعب على المستخدمين العاديين استخدام إثيريوم:
لاستخدام أي تطبيق على إثيريوم، يجب على المستخدمين الاحتفاظ بالإيثر (وتحمل مخاطر تقلب سعر الإيثر).
يحتاج المستخدمون إلى التعامل مع منطق الرسوم المعقد، مثل سعر الغاز، وحدة الغاز، وحجب العمليات (ترتيب nonce)، والتي يمكن أن تكون معقدة للغاية.
على الرغم من محاولات العديد من محافظ البلوكتشين أو التطبيقات لتحسين تجربة المستخدم من خلال تحسين المنتج، إلا أن كفاءتها كانت محدودة.
الحل يكمن في تنفيذ تجريد الحساب، الذي يفصل بين الملكية (المالك) وسلطة التوقيع (الموقع) لمعالجة هذه المشاكل. من الناحية التاريخية، ظهرت العديد من الحلول، تحولت في النهاية إلى نهجين رئيسيين.
على الرغم من أنه قد يبدو وكأن هناك العديد من مقترحات EIP تتناول المشكلة، إلا أن هناك في الأساس مجرد نهجين أساسيين. القضايا التي تم النظر فيها في المقترحات السابقة التي لم يتم الموافقة عليها في النهاية قد تلاقت في الحلول الحالية.
في 15 نوفمبر 2015، اقترح فيتاليك بوتيرين هيكل حساب جديد حول EIP-101، الذي ينطوي على استخدام العقود كحسابات. سيحول هذا العناوين إلى كيانات تحتوي فقط على الشيفرة ومساحة التخزين، ويغير دعم الرسوم ليتم دفعها عبر رموز ERC20، ويستخدم العقود المُعدة مُسبقًا لتحويل العملات الأصلية إلى عملات مشابهة لـ ERC20 لتخزين الأرصدة (بميزات مثل التفويض المُفوض). تم تبسيط حقول المعاملة لتتضمن فقط الوجهة، الغاز الابتدائي، البيانات، والشيفرة)
بناء على التقدير، كانت هذه تغييرًا ثوريًا سيغير تصميم الأساسي بشكل جذري، مما يمنح كل عنوان حساب منطقه الخاص “كود”، وهذا هو في الأساس ما يهدف إليه EIP-7702 لتحقيقه اليوم. يمكن أيضًا أن يمكن هذا النهج تمكين ميزات إضافية، مثل:
السماح للمعاملات باستخدام مزيد من خوارزميات التشفير المحددة بواسطة الرمز الداخلي لكل عنوان للتحقق والمصادقة.
توفير مقاومة الكم بسبب طبيعة الرمز القابلة للترقية.
منح إيثر نفس الخصائص الوظيفية لعقود ERC20 ، مع ميزات مثل التفويض المفوض ، مما يلغي الحاجة إلى إنفاق العملة الأصلية.
تعزيز تخصيص الحساب، دعم استعادة الاجتماعية، SBT (رموز مقيدة الروح)، واستعادة المفتاح.
السبب في عدم تقدم هذا المقترح كان بسيطًا: كانت الخطوات طموحة للغاية. لم يتم التعامل بشكل كامل مع قضايا مثل اصطدامات تجزئة التحويلات والمخاوف الأمنية، مما أدى إلى تأجيله. ومع ذلك، أصبحت العديد من فوائده ميزات أساسية في EIPs التالية، بما في ذلك EIP-4337 و EIP-7702.
حاولت عدة EIPs لاحقًا تحسين هذا المنطق:
EIP-859: Account Abstraction on Mainnet (January 30, 2018) aimed to address code deployment issues. Its core function was to use the رمز
المعلمة المرفقة بالمعاملات لنشر محافظ العقود إذا لم يتم نشر العقد. كما قدمت عملية PAYGAS الجديدة لفصل أوامر التحقق والتنفيذ في أجزاء المعاملة.
على الرغم من أنه لم يتقدم في ذلك الوقت، إلا أن هذا المنطق أصبح جزءاً أساسياً من EIP-7702، الذي يسمح لعناوين EOA بأن تمتلك قدرات العقد من خلال هياكل المعاملات الخاصة التي يمكن أن تتضمن الشيفرة.
EIP-7702: تعيين كود حساب EOA (7 مايو 2024) هو مفتاح EIP المُناقَش هنا. اقترح فيتاليك EIP-7702 كبديل لـ EIP-3074. ونتيجة لذلك، تم التخلي عن EIP-3074، ومن المقرر تضمين EIP-7702 في تحديث البراغ/إليكترا (بيكترا) القادم. سيتم مناقشة تفاصيل إضافية أدناه.
EIP-3074: إضافة تعليمات التشغيل AUTH و AUTHCALL (15 أكتوبر 2020)
هذا EIP يقدم اثنين من أوامر جديدة، AUTH و AUTHCALL، إلى EVM، مما يسمح لـ EOAs بتفويض العقود لاستبدال هويتهم واستدعاء عقود أخرى. في جوهره، يمكن لـ EOA إرسال رسالة موقعة (معاملة) إلى عقد موثوق به (يسمى Invoker). يمكن لعقد Invoker بعد ذلك استخدام أوامر AUTH و AUTHCALL لإرسال المعاملة نيابة عن EOA.
EIP-4337: تنفيذ التجريد الحسابي عن طريق حمامات المعاملات (29 سبتمبر 2021)
مستوحاة من MEV، القيمة الأساسية لهذا EIP هي أنه يتجنب التغييرات في بروتوكول طبقة التوافق. يقدم EIP-4337 كائن معاملة جديدًا، UserOperation، الذي يقدمه المستخدمون إلى حوض ذاكرة. ثم يجمع المجمعون ويقدمون هذه المعاملات إلى تنفيذ العقد، مما ينقل بشكل فعال عمليات المعاملات والحسابات على مستوى أدنى إلى طبقة العقد.
EIP-5189: عمليات الحساب المجردة عبر الموكلين (29 يونيو 2022)
يقوم هذا EIP بتحسين EIP-4337 عن طريق التعامل مع المشاكل المحتملة مع المجمعين الخبيثة. يقدم آلية لصناديق المدعمين من قبل المروجين لمنع هجمات DoS عن طريق معاقبة العناصر السيئة.
EIP-2718: ظرف نوع المعاملة الجديد (13 يونيو 2020)
تحدد هذه الاقتراحات النهائية نوعًا جديدًا للمعاملات كظرف لأنواع المعاملات المستقبلية. إنها تضمن أنه عندما يتم تقديم أنواع جديدة من المعاملات، يمكن تمييزها بواسطة ترميز محدد، مع الحفاظ على التوافق مع الإصدارات السابقة دون التأثير على الأنواع القديمة. مثال شائع هو EIP-1559، الذي قام بتفريق رسوم المعاملات مع ترميز نوع معاملة جديد مع الاحتفاظ بالأنواع القديمة.
EIP-3607: منع عناوين EOA من نشر العقود (10 يونيو 2021)
يتناول هذا الاقتراح التكميلي مسألة عناوين نشر العقود المتعارضة مع عناوين EOA. يتحكم في طرق إنشاء العقود ، مما يمنع نشر التعليمات البرمجية إلى العناوين المستخدمة بالفعل من قبل EOAs. الخطر ضئيل بالنظر إلى طول 160 بت من عناوين Ethereum ، على الرغم من أنه ممكن نظريا من خلال الاصطدامات الرئيسية ، إلا أنه سيتطلب جهدا حسابيا كبيرا.
لفهم قيمة الانتقال إلى عناوين CA، من الضروري فهم التأثيرات العملية لـ EIP-4337، التي يمكن أن تحقق...
ومع ذلك، العيب الأساسي في EIP-4337 هو أنه ينتهك مبدأ الحوافز البشرية. على الرغم من أنه يبدو أنه يقدم تحسينات، إلا أنه يقع في طريق مسدود لتطوير السوق. لا تزال العديد من تطبيقات اللامركزية غير متوافقة معه، مما يجعل المستخدمين مترددين في استخدام عناوين CA. بالإضافة إلى ذلك، يمكن أن يؤدي استخدام عناوين CA إلى زيادة تكاليف المعاملات (على سبيل المثال، يمكن أن تتضاعف رسوم المعاملات في سيناريوهات النقل العادي)، مما يجعله يعتمد بشكل كبير على توافق تطبيقات اللامركزية.
وبنتيجة لذلك، لم تصبح شائعة على شبكة إثيريوم الرئيسية حتى الآن. التكلفة هي العامل الأكثر أهمية بالنسبة للمستخدمين، ويجب تخفيضها. لتقليل تكاليف الGAS حقًا، سيحتاج إثيريوم نفسه إلى ترقية ناعمة لتعديل حسابات الGAS أو تغيير استهلاك الGAS لل opcodes. نظرًا للحاجة إلى ترقية ناعمة، لماذا لا تنظر مباشرة إلى EIP-7702؟
يتميز بأنواع معاملات جديدة، مما يسمح لـ EOA بأن تكون لديها وظيفة عقد ذكي مؤقت في معاملة واحدة، داعمًا بذلك المعاملات الدُفعية والمعاملات بدون رسوم وإدارة الأذونات المخصصة في الأعمال، دون الحاجة إلى إدخال كود تشغيل EVM جديد (التأثير على التوافق الأمامي).
يتيح للمستخدمين الحصول على معظم قدرات AA دون نشر عقود ذكية، ويمكنه حتى توفير القدرة لطرف ثالث بالقيام بتنفيذ المعاملات نيابة عن المستخدمين. لا يتطلب من المستخدمين تقديم المفاتيح الخاصة، ولكن يحتاج فقط إلى توقيع المعلومات المصرح بها.
حدد نوع معاملة جديد 0x04. TransactionPayload لهذا النوع من المعاملات هو نتيجة تسلسل الترميز RLP للمحتوى التالي
rlp([
chain_id، // معرف السلسلة، يستخدم لمنع هجمات الإعادة.
رقم تكراري ، // عداد المعاملات لضمان فرادى المعاملة.
max_priority_fee_per_gas، //1559 رسوم المعاملة
max_fee_per_gas، //1559 رسوم المعاملة
حد_الغاز،
الوجهة، // عنوان العملية المستهدف
القيمة،
بيانات،
access_list, //قائمة الوصول، تستخدم لتحسين الغاز في EIP-2929.
قائمة التفويض،
signature_y_parity، // 3 معلمات توقيع، تستخدم للتحقق من توقيع المعاملة.
توقيع_r,
توقيع_s
]
الشيء المهم هو أن تُضاف كائن authorization_list إلى التخزين الذي يرغب الموقع في تنفيذ الكود الخاص به في حسابه الشخصي. عندما يوقع المستخدم على المعاملة، يوقع أيضًا على كود العقد الذي سيتم تنفيذه. يوجد كقائمة ثنائية الأبعاد، مما يدل على أنه يمكن تخزين معلومات عملية متعددة بدفعات، وتنفيذ عمليات دفعات.
authorization_list = [[chain_id، address، nonce، y_parity، r، s]، …]
في بداية مرحلة تنفيذ المعاملة، لكل[chain_id, address, nonce, y_parity, r, s]
tuple in the قائمة التفويض
:
استخدم الecrecover
وظيفة لاستعادة عنوان الموقع الذي وقع بواسطته الشخص الموقع من التوقيع(r, s)
. توجه إلى أن هذا يستخدم آلية إيثيريوم الحالية، لذلك يبقى خوارزمية التوقيع دون تغيير من خلال هذا EIP. يتم استرداد العنوان باستخدام: السلطة = ecrecover(keccak(MAGIC || rlp([chain_id, address, nonce])), y_parity, r, s)
. هذا يشبه كيفيةمن
العنوان مشتق من التواقيع، لكنه ينطبق على توقيع القائمة المحددة.
تحقق من معرف السلسلة لمنع هجمات الإعادة على سلاسل مختلفة.
تحقق مما إذا كانسلطة
كود الموقع فارغ أو تم تفويضه (لتأكيد ما إذا كانت المعاملة صالحة بموجب EIP-7702، مع آليات التفويض التي تدير التنفيذ).
تحققسلطة
رقم التعريف الخاص بالموقع لمنع هجمات اللعب المتكرر على التواقيع.
ضبط السلطة
كود الموقع للتوقيع0xef0100 || العنوان
(لتجاوز استراتيجيات منع الاصطدام EIP-3607).
زيادة السلطة
العدد العشوائي للموقع (لمنع إعادة التوقيع المحلي).
أضف السلطة
حساب الموقع للموافقة على قائمة الوصول (للانتقال إلى التخزين الساخن، مما يقلل من تكاليف الغاز للوصول).
أين يتم تنفيذ رمز العقد والتعليمات التشغيلية؟
النسخة الجديدة تغير كيفية نشر كود العقد. بدلاً من تعيين كود الحساب مباشرة، يقوم بجلب الكود من القائمة التفويض
العنوان ويضبطه ككود الحساب.
عند تنفيذ الشفرة المصرح بها، قم بتحميل الشفرة من العنوان المحدد في القائمة الترخيص
وتنفيذه في سياق حساب الموقع. وهذا يعني أن كود عقد المستخدم مخزن في عنوان محدد على سلسلة الكتل، بدلاً من أن يكون مضمنًا مباشرة في الصفقة.
تُخزن التعليمات التشغيلية والمعلمات ذات الصلة في البيانات
حقل حمولة المعاملة.
EIP-7702 يقدم قيمة كبيرة حيث يغير بشكل جوهري عملية العمليات بأكملها لمحافظ Web3، مما يؤدي إلى تحول جذري في تجربة المستخدم. يمكن الآن للعمليات العادية التي يبدأها EOA (حساب يملكه مالك خارجي) تنفيذ العديد من المنطقيات المشابهة لتنفيذ العقود الذكية، مثل التحويلات الجماعية. يؤثر ذلك أيضًا على سيناريوهات CeFi، مما يؤثر على تحديد العمليات والرسوم للسحب والتوحيد.
إيب-7702 يكسر العديد من الافتراضات الطويلة الأمد: إنه يكسر الثابت الذي يمكن أن يقل رصيد الحساب فقط بسبب المعاملات الناتجة عن هذا الحساب. إنه يكسر الثابت الذي يزيد من عدد بدء تشغيل حساب العقد الذاتي بمقدار 1 بعد تنفيذ معاملة (قد يزيد الآن بقيم متعددة بشكل متزامن). إنه يكسر البرنامج الوقائي الذي يعتمد على المقارنةtx.origin
وmsg.sender
, مما يعرض للخطر الكثير من العقود القائمة. كما أنه يكسر حقيقة أن EOA نفسه لا يمكن أن يطلق الأحداث، مما قد يؤثر على تحديد ومراقبة بعض الأحداث على السلسلة. وأخيرًا، يكسر افتراض أن عنوان EOA سيتلقى دائمًا بنجاح ERC20 و721 و1155 وغيرها من الأصول (حيث قد يفشل بسبب آلية الاستدعاء).
1.مزايا EIP-7702
EIP-7702 لديه عدة مزايا. أحدها تكاليف الغاز المنخفضة، حيث لا يتطلب المرور عبر وحدة نقطة الدخول، مما يقلل من العمليات على السلسلة. والآخر هو تكاليف هجرة المستخدمين المنخفضة، حيث لا حاجة لنشر عقد على السلسلة ككيان رئيسي مسبقًا.
بالمقارنة مع EIP-4337، يدعم EIP-7702 أيضًا تنفيذ الشيفرة الموكلة ويقدم نوعين من التفويض:
الوفد الكامل: يعني تفويض السيطرة الكاملة على عملية معينة إلى عنوان محدد. على سبيل المثال، يمكن لمستخدم تفويض إدارة جميع الرموز ERC-20 إلى عنوان عقد ذكي، مما يتيح للعقد القيام بجميع العمليات ذات الصلة نيابة عن المستخدم.
الوفد المحمي: يتضمن هذا إضافة قيود وحمايات أثناء الوفد لضمان أمان وقابلية التحكم في العمليات الموكلة. على سبيل المثال، يمكن للمستخدم تفويض حقوق الإدارة الجزئية فقط للرموز ERC-20 إلى عقد ذكي أو تعيين شروط (على سبيل المثال، إنفاق الحد الأقصى لنسبة 1% من الرصيد الإجمالي يوميًا).
2. عيوب EIP-7702
أحد أهم عيوب EIP-7702 هو أنه يتضمن ترقية شوكية ناعمة، تتطلب التوافق من المجتمع للمضي قدمًا. تغييراته كبيرة وقد تكون لها تأثير واسع على النظام البياني. استنادًا إلى التقييم الأولي من شيشي جون، تم تحديد العديد من التحديات، ولكن هذه التحديات يمكن أيضًا أن تمثل فرصًا للسوق:
يجعل الحرية العالية من الصعب على المراجعة، مما يؤدي إلى طلب المستخدمين المزيد من المحافظ الموثوقة لضمان حماية الأمان.
التغييرات على الهندسة المعمارية الأصلية ذات أهمية كبيرة. على الرغم من أن أنواع المعاملات المختلفة يمكن تمييزها، إلا أن العديد من البنية التحتية الأساسية، وخاصة العقود اللاقابلة للتغيير على السلسلة، قد لا تكون متوافقة مباشرة.
بينما يوفر EIP-7702 إمكانيات العقد لعناوين EOA، لا يمكن الاحتفاظ بالمساحة التخزينية المقابلة.
تكلفة المعاملات الفردية أعلى قليلاً بسبب زيادة كبيرة في قسم Calldata. التكلفة الإجمالية المقدرة للمكالمة ستكون 16 (غاز) 15 (bytes) = 240 (gas) لتكلفة البيانات الواردة، بالإضافة إلى تكلفة EIP-3860 بمقدار 2 15 = 30، وحوالي 150 لتكاليف التشغيل. لذلك، حتى إذا قمت بإعداد حساب بدون عمليات، ستزيد تكاليف الغاز بنحو 500.
إذا قام المستلم بتوقيع كود يفتقر إلى وظيفة receive، فقد يواجه المرسل DoS عند محاولة إرسال الأصول. انظر الحالة. تنشأ هذه المشكلة عندما يقوم EOA A بتوقيع شيء لا ينبغي أن يكون عليه - ملف قابل لإعادة البث بتنفيذ غير صحيح (يفتقرreceive()
.
قد تكون منطقيات التجميع والسحب على السلسلة غير متسقة. على سبيل المثال، عند تحويل الرموز القائمة على ERC-20، إذا كان لدى حساب المستلم رمزًا، سيتصل عقد الرمزonERC20Received
على حساب المستلم. إذاonERC20Received
إذا كانت العودة أو الإرجاع قيمة غير صحيحة، سيتم إلغاء تحويل الرمز.
بالإضافة إلى ذلك، إذا كان بإمكان EOA إطلاق الأحداث، هل يمكن أن تحدث أي مشاكل؟ قد تحتاج بعض البنية التحتية إلى إيلاء اهتمام لهذا الأمر.
هذه فقط بعض من العيوب التي تم تلخيصها من قبل Shisi Jun بناءً على مقترح EIP-7702 الحالي والمناقشات على المنتدى الرسمي. سيتطلب تحليل كامل فحص رمز التنفيذ النهائي.
قد يبدو المقال شاملاً، ولكنه يحتوي على نحو 6،000 كلمة فقط. تم ربط العديد من الإشارات إلى تفسيرات EIP السابقة في النص لاستكشافها بشكل أعمق، لذا لن أغوص في ذلك هنا.
حالياً، يبدو أن استيعاب الحساب يمكن أن يوضع فقط في الوحدة السادسة، وهي المرحلة النهائية لإصلاح كل شيء قبل دفعه إلى الأمام. تسبب التقدم المسرع لـ EIP-7702 بشكل رئيسي في تقديم تحديات لأمان النظام. من المتوقع أن يتم تنفيذه في نهاية المطاف. على الأخير، فإن دمج Ethereum، الذي تضمن تحولا رئيسيا في خوارزمية الاتفاق، قد حدث بالفعل. نوع جديد من المعاملات يعتبر ثانوياً بالمقارنة.
ومع ذلك، في هذه المرة التغييرات مُزعجة تمامًا، حيث تكسر العديد من القواعد التي كان يعتبرها البعض “مستحيلة” على السلسلة الرئيسية وتغيير منطق معظم تطبيقات العقود الذكية. ومع ذلك، يُمسك EIP-7702 بشكل قوي بالنقطة الأكثر أهمية: إنه يُقلل بشكل كبير من تكاليف المستخدم. على العكس من ذلك، يقرب EIP-4337 بشكل كبير من تكاليف المعاملات.
يظل المستخدمون عناوين EOA (Externally Owned Account) ولكنهم يستدعون ويستخدمون منطق CA (Contract Account) فقط عند الحاجة، مما يقلل من تكاليف الاحتفاظ. ليس هناك حاجة أولية لتحويل الهوية إلى حساب CA على السلسلة قبل القيام بالإجراءات، مما يعني أن المستخدمين لا يحتاجون إلى التسجيل.
يمكن للمستخدمين أداء عدة معاملات بشكل متزامن بسهولة باستخدام حساباتهم الخاصة، مثل دمج التفويض للخصم وتنفيذ الخصومات. وهذا بطبيعته يقلل من تكاليف المعاملات للمستخدمين. بالنسبة لتطبيقات اللامركزية، وخاصة المشاريع التي تتطلب إدارة مستوى الشركات على السلسلة، مثل التبادلات، فإن هذه الأمثلة هي ثورية. إذا تم تنفيذ تجميع الدفعات بشكل أصيل، فإن التكاليف التشغيلية الأساسية للتبادلات يمكن تقليلها بأكثر من نصف، مما يعود في النهاية بالفائدة على المستخدمين أيضًا.
لذلك، على الرغم من أن EIP-7702 يقدم العديد من التغييرات، إلا أن تأثيره على التكلفة وحده يجعله يستحق الدراسة والتكيف لجميع تطبيقات اللامركزية. هذه المرة، المستخدمون بلا شك على جانب EIP-7702.