
مقدمة
هذه المقالة مقسمة إلى وحدتين رئيسيتين:
في الشوط الأول ، بدءًا من اقتراح AA الأول من عام 2015 ، سنقوم بشكل منهجي بتنظيم المحتوى الرئيسي لمقترح EIP حتى الآن ، على أمل استكشاف تاريخ الاقتراح التاريخي AA وتقييم مزايا وعيوب كل خطة بشكل شامل.
في النصف الثاني ، نركز على مقارنة ردود الفعل من انكماش السوق الذي تواجهه EIP4337 بعد الاقتراح ، ثم تحليل التحليل المتعمق لـ EIP7702 ، والذي سيتم تضمينه في الإصدار التالي من ترقية Ethereum. سوف يغير نموذج الطلب على السلسلة في جميع الجوانب.
يحتوي EIP-7702 على تغييرات في صنع الحقبة ، اسمحوا لي أن أستمع إلى الملوك الأربعة عشر بالتفصيل
1. الخلفية التجريدية الحساب
1.1 المعنى التجريدي وضع الحساب
قام مؤسس Ethereum Vitalik بتحديث خريطة طريق ETH Development مرة أخرى في نهاية عام 2023 ، ولكن لم يتم تغيير إعدادات تجريد الحساب.النموذج الرئيسي اليوم هو من EIP-4337 إلى المرحلة التالية من التحويل الطوعي (التحويل الطوعي لحساب EOA).
https://x.com/vitalikbuterin/status/1741190491578810445
أكثر من عام منذ إطلاق EIP4337 (في دنفر WalletCon ، 2023.3.1 ، عقد العقد الأساسي لـ ERC-4337 ، الذي تم الإعلان عنه رسميًا أنه تم تصميمه وتنفيذه من قبل مطوري مؤسسة Ethereum ، مراجعة Openzeppelin و IS يعتبر التاريخ الرسمي لإطلاقه.
لقد تم الاعتراف به دائمًا على نطاق واسع من قبل المستخدمين ، ولكن لم يتم استخدامه على نطاق واسع في بيئة السوق المتناقضة ، وقد تم تطوير تقدم EIP-7702 بشكل كبير ، وقد تم تأكيده حتى يتم دمجه في الترقية التالية.
1.2 حالة السوق التجريدية الحساب
لا حاجة لقول الكثير ، فقط انظر إلى البيانات.
بعد عام ونصف ، يحتوي EIP4337 على 1200 واط فقط تحت مجموعة من حسابات السلسلة السائدة. على الأقل عدد العناوين المختلفين تمامًا عن EOA و CA. ).
يمكن القول أن EIP4337 على الشبكة الرئيسية ليس له تطور كبير.
(مصدر بيانات الرسم البياني: https://dune.com/niftytable/account-abstraction)
ومع ذلك ، فإن هذا لا يمحو القيمة الأساسية لـ AA ، لأنه كان موجودًا من بداية تصميم EIP4337. السلاسل.
لذلك ، فإنه لا يتم تصميم EIP433 بشكل غير صحيح.
2. ما هو تجريد الحساب؟
يبدو تجريد الحساب محيرًا ، ولكنه في الواقع ، يحل مشكلة فصل حقوق الملكية بشكل أساسي.
هناك نوعان من الحسابات في بنية EVM (أي الجهاز الظاهري Ethereum) والحساب الخارجي (EOA) وحساب العقد (حساب العقد) والحساب الخارجيملكيةوتوقيع الحقفي الواقع ، يتم الاحتفاظ بها من قبل نفس الوحدة.يمسكالمفتاح الخاصلا يملك الشخص “ملكية” هذا الحساب فحسب ، بل يحق أيضًا “نقل توقيع جميع الأصول”.
يتم تحديد هذا من خلال بنية المعاملة لحساب Ethereum
من هيكل الشكل أدناه ، يمكننا أن نجد في الواقع معاملات Ethereum القياسية.في الواقع ، يتم تحليل العنوان FROM من خلال معلمات VRS الخاصة به (أي توقيع المستخدم).
يتضمن ذلك مفاهيم مثل ECDSA ، وظائف عتبة أحادية الاتجاه ، وما إلى ذلك. لن نوسعها باختصار.
يتمثل التأثير الأساسي لـ EIP4337 في إضافة حقل عنوان المرسل إلى حقل المعاملة ، بحيث يمكن فصل المفتاح الخاص عن العنوان الذي يتم تشغيله.
إذن لماذا الفصل بين حقوق الملكية مهم للغاية؟
لأن تصميم الحساب الخارجي (EOA) سيؤدي إلى المزيد من المشاكل:
-
من الصعب حماية المفاتيح الخاصة: يفقد المستخدم المفتاح الخاص (المفقود ، القرصنة ، متشققة التشفير) يعني فقدان جميع الأصول.
-
هناك عدد قليل من خوارزميات التوقيع: يمكن للبروتوكولات الأصلية فقط استخدام خوارزميات التحقق من توقيع ECDSA وخوارزميات التحقق من التوقيع في معاملات التحقق.
-
إذن عالي التوقيع: لا يمكن تحقيق توقيع متعدد المواقف (لا يمكن تحقيق توقيع متعددة إلا من خلال العقود الذكية) ، ويمكن تنفيذ العمليات التعسفية عن طريق توقيع واحد.
-
لا يمكن دفع رسوم المعاملات إلا من خلال ETH ولا تدعم المعاملات السائبة.
-
استراحة خصوصية المعاملات: من السهل تحليل المعاملات الفردية لتحليل معلومات الخصوصية لحاملي الحسابات.
إن قيود النداء تجعل من الصعب على المستخدمين العاديين استخدام Ethereum:
أولاً ، باستخدام أي تطبيق على Ethereum ، يجب على المستخدمين الاحتفاظ بالأثير (وافتراض مخاطر تقلبات أسعار الأثير).
ثانياً ، يحتاج المستخدمون إلى التعامل مع منطق التكلفة المعقدة ، ومفاهيم أسعار الغاز ، وحد الغاز ، وحظر المعاملات (Order NonCe) معقدة للغاية بالنسبة للمستخدمين.
أخيرًا ، في حين أن العديد من محافظ blockchain أو التطبيقات تحاول تحسين تجربة المستخدم من خلال تحسين المنتج ، فإنها لا تكون لها تأثير كبير.
لذلك ، تتمثل طريقة كسر الجمود في تحقيق تجريد الحساب وملكية فك (المالك) والتوقيع (Signer) ، وذلك لحل المشكلات المذكورة أعلاه واحدًا تلو الآخر.
في الواقع ، هناك العديد من الخطط التاريخية ، وسوف يجتمعون في النهاية في طريقين.
3. توضيح سياق المقترحات التاريخية AA
يبدو أن هناك العديد من مقترحات EIP للحل للمشكلة ، ولكن في التحليل النهائي ، فهي فكرتان أساسيتان. الخطة الحالية.
3.1 المسار الأول هو تغيير عنوان EOA إلى عنوان CA
في وقت مبكر من 15 نوفمبر 2015 ، اقترح Vitalik هيكلًا جديدًا لاستخدام العقود كحساب حول EIP-101.قم بتغيير العنوان إلى كود ومساحة تخزين فقط ، وتغيير رسوم المناولة ودفع الدعم بواسطة ERC20 ، وتغيير الرمز الأصلي إلى ERC20 من خلال العقود المسبقة لتوفير الرصيد (يمكن أن يكون لها وظائف مثل ترخيص الخصم) ، وتبسيط حقول المعاملة إلى فقط إلى حقول المعاملة إلى إلى ، startgas ، البيانات والرمز.
الآن يبدو أنه تغيير كبير إلى الأمام ، والذي سيغير التصميم الأساسي بشكل كبير بحيث يكون لكل عنوان حساب منطق “رمز” خاص به (في الواقع ، إنه بالضبط التأثير الذي يحتاجه EIP-7702 إلى تحقيقه الآن).
يمكنه أيضًا إنشاء وظائف أخرى ، مثل
-
دع المعاملات تستخدم المزيد من خوارزميات التشفير ، ويمكن تحديد طريقة التحقق من التوقيع بواسطة الكود الداخلي لكل عنوان.
-
لديها خصائص هجمات مكافحة Quantum لأن الرمز له خصائص الترقية.
-
دع Ethereum لها خصائص وظيفية تتفق مع عقد ERC20 ، ويتم خصم التأثير الأساسي ، بحيث لا يكون فقدان العملات المعدنية الأصلية مطلوبًا.
-
تحسين المساحة المخصصة للحساب ، متوافق مع الانتعاش الاجتماعي ، ودعم SBT ، والانتعاش الرئيسي ، إلخ.
من الواضح أن سبب عدم الاستمرار في التقدم. أصبحت واحدة من الوظائف الأساسية لـ EIP4337 اللاحقة و EIP7702.
في وقت لاحق ، كانت هناك سلسلة من eips تحاول تحسين هذا المنطق
EIP-859: تجريد حساب السلسلة الرئيسية-2018-01-30
في محاولة لحل مشكلة النشر في الكود ، فإن الوظيفة الأساسية هي أنه إذا لم يتم نشر عقد حزب المعاملة ، فسيتم إجراء نشر محفظة العقد باستخدام معلمات الكود المرفق. لدفع الغاز ، يصبح أيضًا صفقة.
على الرغم من أنه انتهى دون جدوى في ذلك الوقت ، فقد أصبح هذا أحد المنطق الأساسي لـ EIP7702. .
EIP-7702: إعداد رمز حساب EOA 2024-05-07
هذا هو أيضًا EIP الأساسي للآلية التي تمت مناقشتها في المقالة اللاحقة ، ونشرت Vitalik EIP-7702 كبديل لـ EIP-3074 (2024-05-07).لذلك ، تم إهمال EIP-3074 وتم تحديد EIP-7702 في شوكة ETH Prague/Electra القادمة.
3.2 المسار الثاني هو السماح لعنوان EOA بقيادة عنوان CA
EIP-3074: أضيفمصادقة
وAuthcall
OPCODE-2020-10-15
أضف اثنين من الرموز الإلكترونية الجديدة إلى EVMمصادقة
وAuthcall
، السماح لـ EOA بالاتصال بعقود أخرى بدلاً من هوية EOA من خلال عقدين ترخيص الرمز البسيط هذين العقد.
بناءً على الشكل أدناه ، يمكن لملخص EOA إرسال رسالة موقعة (معاملة) إلىعقد تثق به(مُسَمًّىInvoker
) على هذاInvoker
يمكن استخدام العقودمصادقة
وAuthcall
يتم استخدام رمز opcode لإرسال هذه المعاملة بدلاً من هذا EOA.
EIP-4337: استخدم تجمع ذاكرة المعاملات لتحقيق تجريد الحساب -2021-09-29
باختصار ، كان مستوحى من MEV للتصميم ، وكانت قيمتها الأساسية أنها يمكن أن تتجنب تمامًا تغييرات بروتوكول طبقة الإجماع.
يقترح EIP4337 كائن معاملة جديدuseroperation
، يرسل المستخدم هذا الكائن إلى تجمع الذاكرة ، بواسطةحزم
عقود تسليم الحزم بالجملة لتنفيذ المعاملات من بُعد عامل المناجم ، والذي يجلب بشكل أساسي المعاملات الأساسية وعمليات الحساب إلى مستوى العقد للتنفيذ.
EIP-5189: تشغيل الحسابات التجريدية من خلال التأييد-2022-06-29
وقد أدى هذا إلى تحسين منطق EIP4337 ويواجه ضارحزمة
منع DOS هجمات من خلال إنشاء آلية لصالح FORDS FORDS.
3.3 مقترحات أخرى لدعم AA
EIP-2718: مغلفات التغليف لأنواع المعاملات الجديدة-2020-06-13
هذا اقتراح كان نهائيًا ، والذي يحدد نوع المعاملة الجديد بأنه مغلف لأنواع المعاملات الجديدة في المستقبل.
التأثير النهائي هو أنه عند تقديم نوع معاملة جديد ، يتم تمييزه بترميز محدد ، بحيث يحتاج فقط إلى توافق متخلف دون توافق إلى الأمام.المثال الأكثر شيوعًا هو EIP1559.
EIP-3607: دعeoa
لا يمكن نشر العنوان العقد -2021-06-10
هذا حل إضافي على مسار AA لمنع مشكلة عنوان نشر العقد المتضاربة مع عنوان EOA.يتحكم في طريقة توليد العقد بحيث لا يسمح النظام بنشر الكود على عناوين عناوين EOA بالفعل.هذا الخطر صغير جدًا. استثمار الطاقة من البيتكوين.
3.4 كيف تفهم تاريخ الحساب التجريدي؟
بادئ ذي بدء ، تحتاج إلى فهم القيمة بعد التحويل إلى كاليفورنيا
في الأساس ، هذا هو التأثير الفعلي لـ EIP-4337 ، والذي يمكنه تحقيقه
ومع ذلك ، فإن العيب الأساسي لـ EIP-4337 هو أنه ينتهك مبدأ التحفيز البشري.
يبدو الأمر أفضل ، لكنه محاصر في دورة مفرغة من تطوير السوق. لاستخدام CAS.
لذلك لم يتم تعميمه على الشبكة الرئيسية Ethereum حتى الآن.
التكلفة هي أهم مقياس للمستخدمين ، ويجب تقليل التكاليف.
ومع ذلك ، لتقليل الغاز حقًا ، يجب على Ethereum ترقية الشوكات الناعمة ، وتعديل استهلاك الغاز وغيرها من الوحدات النمطية مثل حسابات الغاز أو تعديل الرموز المطلقة.
4. تحليل شامل لـ EIP-7702
4.1 ما هو EIP-7702
إنه يميزها حسب أنواع المعاملات الجديدة ، مما يسمح لـ EOA بالحصول مؤقتًا على وظيفة العقود الذكية في معاملة واحدة ، وبالتالي دعم المعاملات الدُفع توافق إلى الأمام).
يتيح للمستخدمين الحصول على معظم إمكانات AA دون نشر عقود ذكية ، ويمكن حتى توفير إمكانات الطرف الثالث لبدء معاملات نيابة عن المستخدمين ، دون مطالبة المستخدمين بتوفير مفاتيح خاصة ، فقط التوقيع والمعلومات المعتمدة.
4.2 بنية البيانات
إنه يحدد نوع معاملة جديد 0x04 ، وحمل المعاملات من نوع المعاملة هذا هو نتيجة ترميز RLP للمحتوى التالي
المهم هو أن يتم إضافة كائن Teledization_List لتخزين الكود الذي يريده الموقّع في EOA. يمكن تخزين معلومات التشغيل المتعددة على دفعات.
4.3 دورة حياة المعاملة
4.3.1 مرحلة التحقق
في بداية تنفيذ المعاملة ، لكل تفويض _list[chain_id ، address ، nonce ، y_parity ، r ، s]
مترابطة بيانية:
-
استخدم ERECOVER لاستعادة عنوان الموقع من التوقيعات R و S (لاحظ أن هذه هي آلية Ethereum نفسها ، لذلك لا يغير EIP خوارزمية التوقيع).
Authority = Ecrecover (Keccak (Magic || RLP ([chain_id ، address ، nonce]) ، y_parity ، r ، s]
(على غرار التخلص من التوقيع السابق للحصول على العنوان من ، يتم الحصول على عنوان التوقيع المحلي لهذه القائمة) -
تحقق من معرف السلسلة (إعادة تشغيل السلسلة المضادة للشركات).
-
يؤكد
سلطة
ما إذا كان رمز الموقع فارغًا أو تم تفويضه (تحقق مما إذا كانت المعاملة عبارة عن معاملة 7702 صالحة ، وسيتم تنفيذ المعاملة من خلال آلية التفويض في المستقبل). -
يؤكد
سلطة
Signer’s nonce (الدفاعسلطة
تشغيل التوقيع). -
يثبت
سلطة
رمز الموقع هو0xef0100 ||
(تستخدم لتجاوز استراتيجية EIP3607 لمكافحة الاكتساب) -
يزيد
سلطة
NONCE NONCE (منع إعادة التوقيع المحلي). -
سوف
سلطة
أضف حساب Signer إلى قائمة العناوين التي تم الوصول إليها (استبدل العناوين الساخنة ، وخفض رسوم الغاز لتخزين الاستعلام)
4.3.2 مرحلة عملية التنفيذ
أين يتم تنفيذ رموز العقد وتعليمات التشغيل؟
يغير الإصدار “الجديد” السلوك فقط من حيث نشر الكود.
لم يعد يحدد رمز الحساب علىContract_code
، ولكن منEutlization_List
رمز البحث فيعنوان
وتعيين الرمز كرمز الحساب.
لذلك ، عندما يحتاج رمز التفويض إلى تنفيذ ،Eutlization_List
لعنوان
يقوم العنوان المحدد في الحقل بتحميل الكود وينفذ في سياق حساب Signer.
هذا يعني أن رمز عقد المستخدم يتم تخزينه فعليًا في عنوان محدد على السلسلة ، بدلاً من إدراجه مباشرة في المعاملة.
يتم تخزين تعليمات التشغيل والمعلمات ذات الصلة في تحميل المعاملةبيانات
في الحقل.
4.4 ما هي قيمة EIP-7702؟
سيتغير رابطه الكامل لمحفظة Web3 ، وستتغير تجربة المستخدم أيضًا بشكل كبير ، لأن المعاملات العادية التي بدأت من قبل EOA يمكنها أيضًا تنفيذ العديد من المنطقات المشابهة للعقود ، مثل نقل الدُفعات.بالنسبة لسيناريوهات CEFI ، سيؤثر ذلك على تحديد المعاملات ويؤثر أيضًا على رسوم جمع السحب
بسبب مظهره ، فقد كسر العديد من الأبراج السابقة ، مثل:
-
يكسر ثابتًا لا يمكن تخفيض رصيد حسابه إلا من خلال المعاملات الناشئة عن هذا الحساب.
-
كسر الثابتة أن EOA NONCE يزداد بمقدار 1 (ربما أكثر من واحد في نفس الوقت) بعد بدء تنفيذ المعاملة.
-
كسر منطق الحماية لمقارنة tx.origin و msg.sender ، العديد من العقود السابقة محفوفة بالمخاطر.
-
إنه يكسر الوضع الحالي الذي لا يمكن لـ EOA نفسها إصدار الأحداث ، وقد يكون من الضروري الانتباه إلى تحديد بعض الأحداث على السلسلة والاستماع إليها.
-
كسر الوضع الحالي الذي ستنجح حتما في عناوين EOA في قبول ERC20 ، 721 ، 1155 والأصول الأخرى (بسبب آلية رد الاتصال ، قد تفشل)
4.5 مقارنة EIP-7702 و EIP-4337
1. مزايا EIP-7702
الغاز أقل لأنه لا توجد حاجة للذهاب إلى وحدة نقطة الدخول ، مما يقلل من العمليات على السلسلة.
تكاليف ترحيل المستخدم أقل ، لا حاجة لنشر العقود على السلسلة مقدمًا باعتبارها الهيئة الرئيسية
بالمقارنة مع EIP4337 ، سيكون هناك أيضًا تنفيذ مفوض رمز ، وسيكون هناك طريقتان:
الوفد الكامل
يشير المندوب الكامل إلى تفويض جميع أذونات العملية إلى عنوان محدد.على سبيل المثال ، يمكن للمستخدم تفويض أذونات الإدارة لجميع الرموز المميزة ERC-20 إلى عنوان عقد ذكي ، بحيث يمكن لهذا العقد الذكي أداء جميع العمليات ذات الصلة نيابة عن المستخدم.
وفد محمي
يشير التفويض المحمي إلى إضافة بعض القيود وتدابير الحماية لعملية التفويض لضمان سلامة عملية الوفد وقابليته للسيطرة.
على سبيل المثال ، يمكن للمستخدمين تفويض أذونات الإدارة لجزء فقط من الرموز ERC-20 لعقد ذكي ، أو وضع بعض القيود (مثل إنفاق ما يصل إلى 1 ٪ من إجمالي التوازن يوميًا).
2. عيوب EIP-7702
عيبه الأساسي هو أنها ترقية شوكة ناعمة ، والتي تتطلب إجماع الجميع وترويجها ، ولديه تغييرات ضخمة ، والتي لها تأثير واسع على البيئة. التحدي هو فرصة السوق:
-
درجة الحرية مرتفعة للغاية ويصعب تدقيقها.
-
لقد تغيرت الهندسة المعمارية الأصلية أكثر من اللازم.
-
يتم توفير قدرة العقد لعناوين EOA ، ولكن لا يمكن الاحتفاظ بمساحة التخزين المقابلة.
-
تزداد تكلفة المعاملة المنفصلة قليلاً لأن جزء CallData سيزداد بشكل كبير ، وستكون التكلفة الإجمالية للمكالمة المقدرة
16 (غاز) * 15 (بايت) = 240
(غاز) تكلفة CallData ، بالإضافة إلى تكلفة EIP-38602 * 15 = 30
بالإضافة إلى تكلفة وقت التشغيل تقريبًا150
.لذلك ، مجرد إعداد حساب وعدم القيام بأي شيء ، تحتاج إلى إضافة 500 غاز. -
“إذا قام جهاز الاستقبال بتوسيع رمز بدون وظيفة الاستلام ، فقد يواجه المرسل DOS عند محاولة إرسال الأصل.”المشكلة هي أن eoa يوقع شيئًا لا ينبغي أن يوقعه – إنشاء تطبيق خطأ (لا
يستلم()
) ملف قابل للعب. -
قد يكون منطق التراجع على السلسلة غير متسق ، على سبيل المثال ، عند نقل الرموز المميزة ERC-20 ، إذا كان حساب المتلقي يحتوي على رمز ، فسيتم استدعاء عقد الرمز المميز
ONERC20Received
حساب المتلقي.لوONERC20Received
استعادة أو إرجاع القيمة الخاطئة ، وسيتم استعادة نقل الرمز المميز. -
أيضًا ، إذا كان بإمكان EOA إصدار الأحداث ، فهل ستكون هناك أي مشاكل؟قد تحتاج بعض البنية التحتية إلى الاهتمام.
هذه مجرد بعض أوجه القصور التي تم تلخيصها من قبل أربعة عشر يونيو بناءً على محتوى اقتراح EIP7702 الحالي ومناقشة المنتدى الرسمي المقابل.
المراجع كما يلي:
5. ملخص النص الكامل
يبدو أن هذا المقال كبير ، ولكن في الواقع ، يمكن توسيع محتوى النص أكثر من 6 آلاف كلمة.
في الوقت الحالي ، لا يمكن وضع تجريد الحساب إلا في الوحدة السادسة ، أي كل شيء ، يتم تنفيذه أخيرًا يمكن أن يتوقع في النهاية تنفيذها.
ومع ذلك ، كان هناك الكثير من التخريب ، وكسر القواعد غير المعلنة المستحيلة على سلاسل متعددة وكسر منطق التطبيق لمعظم DAPPs ، لكنه احتل النقطة الأساسية ، أي أن تكلفة المستخدمين أقل الآن!بالمقارنة مع تكاليف المعاملات المزدوجة تقريبًا لـ EIP4337.
لا يزال المستخدم نفسه عنوان EOA ، ويستخدم فقط ويستخدم منطق CA عند الحاجة ، وبالتالي فإن تكلفة الحجز منخفضة.لا حاجة لتحويل هوية CA على السلسلة أولاً قبل القيام بالعملية ، مما يعني أن المستخدم لا يحتاج إلى التسجيل.
يمكن للمستخدمين بسهولة استخدام EOA لتحقيق معاملات متعددة ، مثل الخصم المصرح به وخصم التنفيذ ، والتي ستقلل من تكلفة المعاملة للمستخدمين. أكثر التخريبية والتحسين.
لذلك ، على الرغم من أنه قد تغير كثيرًا ، إلا أنه يستحق الدراسة والتكيف مع جميع DAPPs ، لأنه هذه المرة ، يجب أن يكون المستخدم على جانب EIP7702.