إثيريوم ستشهد قريباً ترقية Pectra، حيث أن EIP-7702 أجرت تغييرات ثورية على الحساب الخارجي (EOA). هذا الاقتراح غامض الحدود بين EOA والحسابات العقدية CA، وهو خطوة رئيسية نحو تجريد الحسابات الأصلية، مما يجلب نمط تفاعل جديد تمامًا إلى نظام إثيريوم البيئي.
تم نشر Pectra على شبكة الاختبار، ومن المتوقع أن يتم إطلاقها على الشبكة الرئيسية قريبًا. ستقوم هذه المقالة بتحليل آلية تنفيذ EIP-7702 بعمق، واستكشاف الفرص والتحديات المحتملة التي قد تجلبها، وتقديم دليل عملي لمختلف المشاركين.
تحليل البروتوكول
نظرة عامة
EIP-7702 قدم نوعاً جديداً من المعاملات، يسمح لــ EOA بتحديد عنوان العقد الذكي وتعيين الكود له. وهذا يمكّن EOA من تنفيذ الكود مثل العقد الذكي، مع الاحتفاظ بقدرة بدء المعاملات. هذه الميزة تعزز من قابلية البرمجة والتركيب لـ EOA، حيث يمكن للمستخدمين تنفيذ ميزات مثل الاستعادة الاجتماعية، التحكم في الأذونات، إدارة التوقيع المتعدد، التحقق من zk، الدفع القائم على الاشتراك، رعاية المعاملات، ومعالجة دفعات المعاملات. EIP-7702 متوافق تماماً مع محفظة العقد الذكي التي تم تحقيقها بواسطة EIP-4337، مما يبسط تطوير وتطبيق الميزات الجديدة.
EIP-7702 قدم نوع المعاملة SET_CODE_TX_TYPE (0x04)، وهيكل بياناته يحتوي على حقل authorization_list، الذي يمكن أن يحتوي على عدة إدخالات تفويض. كل إدخال تفويض يحتوي على chain_id، address، nonce وبيانات التوقيع.
تحقيق
عند توقيع المصرح له لبيانات التفويض، يجب ترميز chain_id و address و nonce باستخدام RLP، ثم إجراء عملية تجزئة keccak256 مع عدد MAGIC، ثم توقيعها باستخدام المفتاح الخاص. عدد MAGIC (0x05) كفاصل نطاق، لضمان عدم تضارب نتائج التوقيع من الأنواع المختلفة.
عندما يكون chain_id هو 0، فهذا يعني أن الإذن يمكن إعادة استخدامه على جميع سلاسل EVM المتوافقة التي تدعم EIP-7702. قبل تنفيذ الصفقة، سيقوم المقترح بإجراء فحص مسبق للتأكد من أن الصفقة ليست صفقة إنشاء عقد. يجب أن تحتوي حقل authorization_list في الصفقة على عنصر إذن واحد على الأقل.
عند تنفيذ العقد، يتم أولاً زيادة nonce للمرسل، ثم يتم إجراء عملية applyAuthorization لكل عنصر مصرح به. في حالة حدوث خطأ، سيتم تخطي هذا العنصر المصرح به، وستستمر العناصر الأخرى في التطبيق. بعد اكتمال التفويض، سيتم تعيين حقل code لعنوان المصرح به إلى 0xef0100||address. يمكن للمصرح به تعيين عنوان الهدف المفوض إلى عنوان 0 لإزالة التفويض.
أفضل الممارسات
على الرغم من أن EIP-7702 يضخ حيوية جديدة في إثيريوم، إلا أنه يجلب أيضًا مخاطر جديدة. فيما يلي الجوانب التي يحتاج المشاركون في النظام البيئي إلى الانتباه إليها:
تخزين المفتاح الخاص
حتى مع إمكانية حل مشكلة فقدان الأموال من خلال طرق مثل الاستعادة الاجتماعية بعد تفويض EOA، لا يمكن تجنب خطر تسرب المفتاح الخاص. يجب على المستخدمين أن يضعوا حماية المفتاح الخاص في المقام الأول.
إعادة تشغيل متعددة السلاسل
يمكن للمستخدم اختيار chainId 0 للتفويض، مما يجعله ساري المفعول عبر عدة شبكات. ومع ذلك، قد يحتوي عنوان العقد نفسه على تنفيذات مختلفة عبر سلاسل مختلفة. يجب على مزودي خدمة المحفظة التحقق من توافق سلسلة تنفيذ التفويض مع الشبكة الحالية، وتنبيه المستخدم بالمخاطر ذات الصلة.
غير قادر على التهيئة
لا يمكن لـ EIP-7702 استدعاء دالة التهيئة عند النشر مثل عقد الوكيل ERC-1967. يجب على المطورين إجراء فحص للأذونات أثناء عملية تهيئة المحفظة لتجنب مخاطر السبق.
إدارة التخزين
إعادة تفويض إلى عنوان عقد مختلف قد يؤدي إلى اختلاف في هيكل التخزين، مما يسبب قفل الحساب أو خسارة الأموال. يجب على المطورين اتباع صيغة مساحة الاسم ERC-7201، وتخصيص المتغيرات إلى مواقع تخزين مستقلة.
شحن وهمي
قد تواجه البورصات المركزية حالة انتشار شحن العقود الذكية، ويجب عليها التحقق من حالة معاملات الشحن من خلال trace لتجنب مخاطر الشحن المزيف.
تحويل الحساب
يمكن تحويل الحسابات بحرية بين EOA و SC، مما يكسر بعض الافتراضات الأمنية التي كانت مقصورة على EOA فقط للمشاركة في المشاريع. يجب على المطورين افتراض أن المشاركين في المستقبل قد يكونون جميعًا عقودًا ذكية.
توافق العقود
يجب على المطورين التأكد من أن العقد الهدف المعتمد من قبل المستخدمين ينفذ دوال الاسترجاع المناسبة، لتكون متوافقة مع الرموز الرئيسية.
فحص الصيد
يجب على مزودي خدمات المحفظة دعم نوع المعاملة EIP-7702 في أقرب وقت ممكن، وعرض العقد المستهدف بشكل بارز عند توقيع المستخدم، وإجراء تحليل تلقائي متعمق لتخفيف مخاطر هجمات التصيد.
ملخص
EIP-7702 من خلال نوع المعاملة الجديد, يجعل EOA تتمتع بالبرمجة والقابلية للتجميع, مما يطمس الحدود بين EOA وحسابات العقود. يواجه المشاركون في النظام البيئي المختلف العديد من التحديات والفرص, وتستحق الممارسات المثلى المقدمة في هذه المقالة الاقتباس والتطبيق في العمليات الفعلية.
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تسجيلات الإعجاب 8
أعجبني
8
4
مشاركة
تعليق
0/400
liquidation_surfer
· 07-14 22:20
البلوكتشين搬砖哥،风控强迫症患者~
请用中文生成一条评论:
赚钱的 فرصة要来咯
شاهد النسخة الأصليةرد0
Blockblind
· 07-14 03:24
Rug Pull أصبح أسهل الآن
شاهد النسخة الأصليةرد0
consensus_failure
· 07-14 03:22
إذا لم تتمكن من اللعب في السلسلة، فما الذي تحاول القيام به؟
EIP-7702: إثيريوم الحساب الخارجي重大变革 为生态带来新机遇与挑战
EIP-7702:إثيريوم外部 الحسابات重大变革
إثيريوم ستشهد قريباً ترقية Pectra، حيث أن EIP-7702 أجرت تغييرات ثورية على الحساب الخارجي (EOA). هذا الاقتراح غامض الحدود بين EOA والحسابات العقدية CA، وهو خطوة رئيسية نحو تجريد الحسابات الأصلية، مما يجلب نمط تفاعل جديد تمامًا إلى نظام إثيريوم البيئي.
تم نشر Pectra على شبكة الاختبار، ومن المتوقع أن يتم إطلاقها على الشبكة الرئيسية قريبًا. ستقوم هذه المقالة بتحليل آلية تنفيذ EIP-7702 بعمق، واستكشاف الفرص والتحديات المحتملة التي قد تجلبها، وتقديم دليل عملي لمختلف المشاركين.
تحليل البروتوكول
نظرة عامة
EIP-7702 قدم نوعاً جديداً من المعاملات، يسمح لــ EOA بتحديد عنوان العقد الذكي وتعيين الكود له. وهذا يمكّن EOA من تنفيذ الكود مثل العقد الذكي، مع الاحتفاظ بقدرة بدء المعاملات. هذه الميزة تعزز من قابلية البرمجة والتركيب لـ EOA، حيث يمكن للمستخدمين تنفيذ ميزات مثل الاستعادة الاجتماعية، التحكم في الأذونات، إدارة التوقيع المتعدد، التحقق من zk، الدفع القائم على الاشتراك، رعاية المعاملات، ومعالجة دفعات المعاملات. EIP-7702 متوافق تماماً مع محفظة العقد الذكي التي تم تحقيقها بواسطة EIP-4337، مما يبسط تطوير وتطبيق الميزات الجديدة.
EIP-7702 قدم نوع المعاملة SET_CODE_TX_TYPE (0x04)، وهيكل بياناته يحتوي على حقل authorization_list، الذي يمكن أن يحتوي على عدة إدخالات تفويض. كل إدخال تفويض يحتوي على chain_id، address، nonce وبيانات التوقيع.
تحقيق
عند توقيع المصرح له لبيانات التفويض، يجب ترميز chain_id و address و nonce باستخدام RLP، ثم إجراء عملية تجزئة keccak256 مع عدد MAGIC، ثم توقيعها باستخدام المفتاح الخاص. عدد MAGIC (0x05) كفاصل نطاق، لضمان عدم تضارب نتائج التوقيع من الأنواع المختلفة.
عندما يكون chain_id هو 0، فهذا يعني أن الإذن يمكن إعادة استخدامه على جميع سلاسل EVM المتوافقة التي تدعم EIP-7702. قبل تنفيذ الصفقة، سيقوم المقترح بإجراء فحص مسبق للتأكد من أن الصفقة ليست صفقة إنشاء عقد. يجب أن تحتوي حقل authorization_list في الصفقة على عنصر إذن واحد على الأقل.
عند تنفيذ العقد، يتم أولاً زيادة nonce للمرسل، ثم يتم إجراء عملية applyAuthorization لكل عنصر مصرح به. في حالة حدوث خطأ، سيتم تخطي هذا العنصر المصرح به، وستستمر العناصر الأخرى في التطبيق. بعد اكتمال التفويض، سيتم تعيين حقل code لعنوان المصرح به إلى 0xef0100||address. يمكن للمصرح به تعيين عنوان الهدف المفوض إلى عنوان 0 لإزالة التفويض.
أفضل الممارسات
على الرغم من أن EIP-7702 يضخ حيوية جديدة في إثيريوم، إلا أنه يجلب أيضًا مخاطر جديدة. فيما يلي الجوانب التي يحتاج المشاركون في النظام البيئي إلى الانتباه إليها:
تخزين المفتاح الخاص
حتى مع إمكانية حل مشكلة فقدان الأموال من خلال طرق مثل الاستعادة الاجتماعية بعد تفويض EOA، لا يمكن تجنب خطر تسرب المفتاح الخاص. يجب على المستخدمين أن يضعوا حماية المفتاح الخاص في المقام الأول.
إعادة تشغيل متعددة السلاسل
يمكن للمستخدم اختيار chainId 0 للتفويض، مما يجعله ساري المفعول عبر عدة شبكات. ومع ذلك، قد يحتوي عنوان العقد نفسه على تنفيذات مختلفة عبر سلاسل مختلفة. يجب على مزودي خدمة المحفظة التحقق من توافق سلسلة تنفيذ التفويض مع الشبكة الحالية، وتنبيه المستخدم بالمخاطر ذات الصلة.
غير قادر على التهيئة
لا يمكن لـ EIP-7702 استدعاء دالة التهيئة عند النشر مثل عقد الوكيل ERC-1967. يجب على المطورين إجراء فحص للأذونات أثناء عملية تهيئة المحفظة لتجنب مخاطر السبق.
إدارة التخزين
إعادة تفويض إلى عنوان عقد مختلف قد يؤدي إلى اختلاف في هيكل التخزين، مما يسبب قفل الحساب أو خسارة الأموال. يجب على المطورين اتباع صيغة مساحة الاسم ERC-7201، وتخصيص المتغيرات إلى مواقع تخزين مستقلة.
شحن وهمي
قد تواجه البورصات المركزية حالة انتشار شحن العقود الذكية، ويجب عليها التحقق من حالة معاملات الشحن من خلال trace لتجنب مخاطر الشحن المزيف.
تحويل الحساب
يمكن تحويل الحسابات بحرية بين EOA و SC، مما يكسر بعض الافتراضات الأمنية التي كانت مقصورة على EOA فقط للمشاركة في المشاريع. يجب على المطورين افتراض أن المشاركين في المستقبل قد يكونون جميعًا عقودًا ذكية.
توافق العقود
يجب على المطورين التأكد من أن العقد الهدف المعتمد من قبل المستخدمين ينفذ دوال الاسترجاع المناسبة، لتكون متوافقة مع الرموز الرئيسية.
فحص الصيد
يجب على مزودي خدمات المحفظة دعم نوع المعاملة EIP-7702 في أقرب وقت ممكن، وعرض العقد المستهدف بشكل بارز عند توقيع المستخدم، وإجراء تحليل تلقائي متعمق لتخفيف مخاطر هجمات التصيد.
ملخص
EIP-7702 من خلال نوع المعاملة الجديد, يجعل EOA تتمتع بالبرمجة والقابلية للتجميع, مما يطمس الحدود بين EOA وحسابات العقود. يواجه المشاركون في النظام البيئي المختلف العديد من التحديات والفرص, وتستحق الممارسات المثلى المقدمة في هذه المقالة الاقتباس والتطبيق في العمليات الفعلية.
请用中文生成一条评论:
赚钱的 فرصة要来咯