ضمان ترقية إثيريوم EIP-7702: نموذج وكيل لانتقال آمن من EOA إلى المحفظة الذكية

robot
إنشاء الملخص قيد التقدم

قمنا بتطوير EIP7702Proxy ، وهو عقد وكيل ERC-1967 خفيف الوزن مصمم ليكون بمثابة إعادة توجيه المنطق الأساسي لمندوب EIP-7702 ل EOA ... يعالج بعض التحديات الفريدة للحسابات المفوضة EIP-7702. هذه المقالة مأخوذة من مقال كتبه مجتمع Boardlink وتم تجميعها وتجميعها ومساهمتها بواسطة ForesightNews. (ملخص: تقوم Ethereum Pectra بترقية "قلب القراصنة" ، تحذر Wintermut: يعمل EIP-7702 على أتمتة نشر عدد كبير من العقود) (ملحق الخلفية: يصدر "مشروع الأمن بقيمة تريليون دولار" التابع لمؤسسة Ethereum التقرير الأول: فرز العقود الذكية والبنية التحتية والأمن السحابي ... ستة تحديات بيئية تمكن EIP-7702 محافظ Ethereum البسيطة (EOAs) من الترقية إلى محافظ العقود الذكية ، مما يوفر مزيدا من الأمان والميزات المتقدمة وفرص رعاية الغاز ومزايا أخرى. تاريخيا ، كان لابد من بناء المحافظ الذكية من البداية ، ولكن مع إدخال EIP-7702 ، يمكن ترقية المحافظ التقليدية والاحتفاظ بجميع أصولها وسجلها على السلسلة ، بنفس عنوان المحفظة. إنه مثل التبديل من خط أرضي إلى هاتف ذكي دون الحاجة إلى الحصول على رقم جديد. تتم ترقية EOA من خلال إعداد "تعيين تفويض" ، أي مؤشر إلى عقد ذكي مفوض ، ثم تفويض منطق العقد الذكي لإدارة EOA. نتيجة لذلك ، يمكن أن يكون ل EOA الذي تمت ترقيته وظائف ، وتعيين التخزين ، وإصدار الأحداث ، وتنفيذ جميع العمليات الأخرى التي يمكن أن يؤديها العقد الذكي. يمكن ل EOA تغيير هذا المفوض أو حذفه في أي وقت باستخدام تفويض EIP-7702 جديد وموقع. في حين أن هذا يفتح العديد من الاحتمالات الجديدة ، إلا أن هذه الميزة القوية تقدم أيضا تحديات أمنية جديدة تتطلب دراسة متأنية وحلولا مبتكرة. لتمكين EOA من العمل كمحفظة عقود ذكية ، قمنا بتطوير EIP7702Proxy ، وهو عقد وكيل ERC-1967 خفيف الوزن مصمم ليكون بمثابة مندوب EIP-7702 ل EOA. بالإضافة إلى إعادة التوجيه المنطقي الأساسي التي يقوم بها الوكيل ، يتضمن EIP7702Proxy ميزات إضافية وخيارات تصميم تعالج بعض التحديات الفريدة للحسابات المفوضة EIP-7702. يتمثل أحد أهداف تصميم EIP7702Proxy في الحفاظ على أكبر قدر ممكن من قابلية النظير بين محفظة Coinbase الذكية "المنتشرة بشكل قياسي" ومحفظة Coinbase الذكية المفوضة EIP-7702 ، مما يعني تجريد التعقيد الإضافي المطلوب لآلية EIP-7702 في وكيل مخصص والاستمرار في الاعتماد على التنفيذ الأصلي ل CoinbaseSmartWallet. يمكن تطبيق حل هذا التحدي بشكل فعال على أي منطق تنفيذ ، وليس فقط تنفيذ CoinbaseSmartWallet ، مع مساعدة EOA أيضا على البقاء آمنا في بيئة تدعم 7702. نقدم أدناه تحديات محددة وحلول التصميم المقابلة التي تسمح لنا بتكييف أي تطبيق حالي لمحفظة العقود الذكية بشكل آمن لترقيات EIP-7702. التحدي # 1: فرض التهيئة الآمنة تأتي العقبة الرئيسية الأولى أمام تنفيذ EIP-7702 من قيود التهيئة. عادة ما تتعامل محافظ العقود الذكية التقليدية ، بما في ذلك CoinbaseSmartWallet ، مع التهيئة الآمنة (إنشاء ملكية الحساب) ذريا أثناء نشرها ، عادة من خلال عقد مصنع منفصل. تعني هذه الذرية أن العديد من هذه التطبيقات لها وظائف مهيئة غير محمية لا يمكن استدعاؤها إلا مرة واحدة. ومع ذلك ، فإن تصميم EIP-7702 لا يسمح بإجراء بيانات استدعاء التهيئة أثناء عملية تفويض الكود (الخطوة المكافئة ل "النشر") ، لذلك لا يمكن القيام بذلك ذريا. يؤدي فصل الخطوات هذا إلى إنشاء نافذة ثغرة أمنية حرجة. عندما يتم "نشر" عقد التنفيذ إلى EOA عبر EIP-7702 ، ليس هناك ما يضمن أن معاملة EVM القياسية لمحفظة الترقية والتهيئة 7702 هذه سيتم تنفيذها ذريا. من الناحية الفنية ، حتى إذا تم الالتزام بها في نفس الوقت ، يمكن أن تكون التعليمات البرمجية التي تحدد التفويض مستقلة عن تطبيق معاملة التهيئة ، مما قد يسمح للمهاجم بتنفيذ معاملة التهيئة بشكل استباقي والمطالبة بملكية الحساب الذكي. الحل: توقيع EOA مطلوب لتكوين التنفيذ والتهيئة ذريا لاحظ أن محفظة Coinbase الذكية الحالية يتم نشرها بعد وكيل ERC-1967 مع تنفيذ UUPSUpgradeable (منطق CoinbaseSmartWallet الفعلي). التعليمات البرمجية الموجودة في عنوان الحساب الفعلي هي وكيل يستخدم موقع تخزين عادي محدد بواسطة ERC-1967 لتخزين المؤشرات إلى منطق التنفيذ الخاص به. يتضمن حلنا لثغرة التهيئة في سياق 7702 إدراك أن أي منطق تنفيذ يصبح نشطا (وبالتالي خطيرا) فقط عندما ينشئ الوكيل اتصالا به بالفعل. لذلك إذا لم نتمكن من فرض نشر الذرية وتهيئتها ، فيمكننا فرض إعداد تنفيذ الذرية وتهيئتها. EIP-7702Coinbaseهيكل عقد SmartWallet وعملية التفويض المنطقي في سياق EIP-7702 ، فإن EOA نفسها هي السلطة الأولية لإجراء أي تغييرات على حسابها ، ويجب تقديم توقيع لتفويض أي مالك يقوم بتهيئة وإنشاء حساب ذكي جديد. ينفذ عقد EIP7702Proxy الخاص بنا وظيفة setImplementation التي تقوم بإعداد تطبيقات منطقية جديدة وتهيئة الحسابات. setImplementation: التحقق من التوقيع من EOA، والذي يتضمن البيانات الأساسية مثل عنوان عقد التنفيذ الجديد، وتهيئة بيانات الاستدعاء، وعنوان عقد المدقق الذي سيقيم أمان حالة الحساب النهائي، وحماية إعادة تشغيل التوقيع الأساسية مثل nonce ووقت انتهاء الصلاحية. قم بتعيين قيمة مؤشر ERC-1967 إلى التنفيذ الجديد وقم بتنفيذ بيانات الاتصال المقدمة مقابل التنفيذ المنطقي الجديد. استدعاء وظيفة validateAccountState، والتي يجب تنفيذها بواسطة جهة التصديق المضمنة في التوقيع. المدقق هو عقد خاص بالتنفيذ يحتوي على منطق لتقييم ما إذا كان يعتبر حالة الحساب النهائية آمنة. على سبيل المثال ، بالنسبة إلى CoinbaseSmartWallet ، يتحقق CoinbaseSmartWalletValidator مما إذا كانت حالة ملكية الحساب غير فارغة وبالتالي لم تعد عرضة للتهيئة التعسفية. التحدي # 2: التخزين المشترك المفوض عبر EIP-7702 قد تكون تحديات EIP-7702 الأكثر تعقيدا مرتبطة بإدارة التخزين. تتمتع EOA بحرية إعادة تفويض منطقها إلى عقد مختلف في أي وقت ، أو حذف المفوض تماما. يشارك جميع المندوبين عناوين EOA على...

شاهد النسخة الأصلية
المحتوى هو للمرجعية فقط، وليس دعوة أو عرضًا. لا يتم تقديم أي مشورة استثمارية أو ضريبية أو قانونية. للمزيد من الإفصاحات حول المخاطر، يُرجى الاطلاع على إخلاء المسؤولية.
  • أعجبني
  • تعليق
  • مشاركة
تعليق
0/400
لا توجد تعليقات
  • تثبيت