تأثير EIP-3074 على المحافظ والتطبيقات اللامركزية

متوسط5/27/2024, 9:17:11 AM
يتيح EIP-3074 للحسابات المملوكة خارجيًا (EOAs) تفويض التحكم إلى عقد محدد، وبالتالي الحصول على إمكانيات التنفيذ الشاملة المشابهة للعقود. يعزز هذا بشكل كبير تجربة المستخدم ويمكنه إعادة تعريف طرق الترخيص الحالية المألوفة، مما يعزز الأمان مع الحفاظ على القابلية للإستخدام. يحلل نيك من imToken Labs تأثير EIP-3074، بما في ذلك التحسينات على طرق ترخيص الأصول.

EIP-3074

تجربة مستخدم أفضل وأكثر أمانا

يسمح EIP-3074 للحسابات الخارجية لتفويض التحكم إلى عقود محددة، مكناً بذلك من الحصول على قدرات تنفيذ غنية مشابهة للعقود. قبل EIP-3074، كان بإمكان حساب خارجي إجراء عملية واحدة فقط لكل معاملة، مثل الموافقة على رمز ERC20 أو إجراء صفقة على Uniswap. بعد EIP-3074، يمكن لحساب خارجي إتمام عمليات متعددة في معاملة واحدة، مما يمكّن من حالات استخدام كانت غير متصورة من قبل. في جوهره، يحسن EIP-3074 بشكل كبير تجربة المستخدم ويعيد تشكيل طرق الموافقة المألوفة بينما يعزز الأمان.

وعلاوة على ذلك، مع EIP-3074، لم يعد هناك حاجة للحسابات الخارجية لإرسال المعاملات على السلسلة بأنفسها، مما يقضي على الحاجة إلى الحصول أولاً على ETH لدفع رسوم المعاملات.

عقود المستدعي

العقود التي يمكنها الحصول على السيطرة على الEOAs تسمى عقود Invoker. ليس أي عقد يمكنه الحصول على السيطرة؛ يجب على الEOA توقيعه بمفتاحه الخاص، محددًا العقد Invoker والعمليات التي يأذن للInvoker بأدائها.

يتضمن العملية عادةً:

أليس توقع بمفتاحها الخاص EOA، محددة عقد الداعية والعمليات المصرح بها.

تقدم أليس المحتوى الموقع والتوقيع إلى المزود.

يقوم المحول بإرسال المعاملة على السلسلة إلى عقد النداء.

المحضر يتحقق من التوقيع وعند التحقق، ينفذ العمليات كما EOA لأليس، مثل الموافقة على USDC، تبديل الأصول على Uniswap، واستخدام بعض USDC لدفع الريليه كرسوم.

ملاحظة: يُعتبر الريلير اختياريًا؛ يمكن لأليس تقديم المحتوى الموقع والتوقيع الذي تم التوقيع عليه إلكترونيًا على السلسلة بنفسها.

تجنب هجمات الرد المتكررة

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

تعلم المزيد

للحصول على مقدمة مفصلة حول كيفية عمل EIP-3074، يرجى الرجوع إلى:https://medium.com/taipei-ethereum-meetup/eip3074-%E7%B0%A1%E4%BB%8B-2a880b918234

تطبيقات EIP-3074

Batchcall

يسمح Batchcall للمستخدمين بدمج عدة معاملات في واحدة، مما يوفر عملية التوقيعات على التفويض المتعددة وبعض تكاليف الغاز. يرجى ملاحظة أن هذا يتطلب من DApps دعم وظيفة Batchcall، مثل EIP-5792 المروج حاليًا. من دون مثل هذا الدعم، ستطلب DApps معاملة منفصلة لكل عملية، معاملة المستخدم على أنه EOA عادي.

لمزيد من المعلومات حول EIP-5792، يرجى الرجوع إلى: EIP-5792.

مفتاح الجلسة

يمكن للمستخدمين تفويض العمليات لجهة خارجية بشروط محددة باستخدام مفتاح الجلسة. في المثال أدناه، يمثل مفتاح الوفد الطرف الثالث المُفوض، بينما تحدد سياسة الوصول القيود التشغيلية، مثل تقييد الإجراءات إلى Uniswap، وتحديد حدود التحويلات بمقدار 1 ETH في اليوم، أو تحديد تاريخ انتهاء الإذن. صممت هذه الشروط وفحصت ضمن عقد Invoker. بمجرد تمرير الفحوصات، يمكن للطرف الثالث القيام بالعمليات كـ EOA للمستخدم.

على سبيل المثال، يمكن منح روبوت Telegram أذونات معينة لتنفيذ العمليات نيابة عن عنوان الحساب الخارجي الخاص بالمستخدم.

تصريح ETH الأصلي

إذا تم تحقيق الشروط (أي أن توقيع الإذن صالح)، يمكن تنفيذ العمليات كصاحب EOA المفوض، مما يتيح وظائف تصريح ETH الأصلية.

أمر محدد

يمكن للمستخدمين تعيين شروط الطلب المحددة، والتي، بمجرد تحققها، تسمح بتنفيذ العمليات كـ EOA للمستخدم. ويشمل ذلك الموافقة على الأصول الرقمية ذات الصلة للـ DEX وتبديل الأصول على الـ DEX. بالمقارنة مع وظيفة الطلب المحددة التي تقدمها الـ DEX نفسها، لا يحتاج المستخدمون إلى الموافقة المسبقة على الأصول للـ DEX.

على سبيل المثال ، عندما تكمل Alice أمرا محددا ، يتم تنفيذ الموافقة في وقت واحد ، مما يلغي الحاجة إلى الموافقة المسبقة.

من خلال تصميم الشروط بشكل أكثر عمومية، يمكن إنشاء عقد النية: طالما تم تلبية الشروط المحددة، يمكن لأي شخص تنفيذ النية نيابة عن EOA للمستخدم.

الاسترداد الاجتماعي

إذا فقد المستخدم مفتاحه الخاص EOA ، فيمكنه استخدام إذن EIP-3074 الذي تم توقيعه مسبقًا ، جنبًا إلى جنب مع تواقيع من الأطراف المعتمدة (على سبيل المثال ، الزوج ووكيل الثقة) ، لنقل جميع الأصول من EOA. يتم استعادة الأصول (القابلة للتحويل) ، وليس السيطرة على الحساب. بمجرد فقدان مفتاح EOA الخاص ، لا يمكن استخدام EOA مرة أخرى.

تحسين طرق تفويض الأصول

لدى EIP-3074 الإمكانية لتحسين أو حتى استبدال طرق الموافقة الحالية. تعمل تطبيقات الويب اللامركزية حاليًا تحت افتراض أن المستخدمين هم EOAs: يجب على المستخدمين الموافقة مسبقًا على كمية كبيرة من الأصول إلى عقد التطبيق لتجنب البقاء على الإنترنت باستمرار والموافقة على المعاملات مرارًا وتكرارًا. هذا يحسن تجربة المستخدم بشكل كبير.

على سبيل المثال، تتطلب التطبيقات الشرطية مثل الطلبات المحدودة أو DCA من المستخدمين الموافقة المسبقة على كميات كبيرة من الأصول حتى يمكن لتطبيق DApp تنفيذ العمليات عند تحقق الشروط، ربما مرات عديدة.

ومع ذلك، يتطلب هذا من المستخدمين الثقة في DApp أو تجنب الموافقة على التطبيقات الزائفة، ويجب أن يكونوا قادرين على إزالة الموافقات في الوقت الحقيقي.

نماذج تصريح الحديثة مثل EIP-2612 أو تصريح Permit2 الغير الأصلي تهدف إلى تحسين تجربة مستخدم نموذج الموافقة والأمان. لا يحتاج المستخدمون إلى الموافقة على كميات كبيرة من الأصول لكل عقد DApp؛ بدلاً من ذلك، يمكنهم تفويض DApps لسحب كمية محددة من الأصول في وقت محدد بتوقيع مرة واحدة. هذا يقلل بشكل كبير من مساحة الهجوم ويعزز تجربة المستخدم.

△ يحتاج المستخدمون فقط إلى تسجيل الخروج خارج السلسلة، ويمكنهم تحديد كمية الأصول وفترة الصلاحية، مما يوفر تجربة مستخدم أفضل وأمانًا أفضل من الموافقة.

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

△ عندما يوقع المستخدمون على تصريح، يمكنهم رؤية من يقومون بالتفويض فقط ولكنهم لا يعرفون ما العمليات التي سيتم تنفيذها بالاشتراك معها.

ملاحظة:تصميم التصريح الحالي غير متوافق مع تطبيقات DApps التي تتطلب عمليات متكررة، مثل DCA أو تطبيقات الدفع الدوري الأخرى. وذلك لأن التصريح يحتوي على آلية مكافحة الإعادة، لذلك بمجرد إكمال العملية، لا يمكن استخدام نفس التصريح مرة أخرى. في الأساس، يحتاج المستخدمون إلى توقيع مسبق للتصاريح لكل عملية متكررة مستقبلية.

تعرف أكثر:

لفهم المزيد حول الحوادث التي تم فيها استغلال وضع التصريح كوسيلة احتيال، يرجى نسخ الروابط التالية في متصفحك للحصول على مزيد من المعلومات:

ومع ذلك، يجلب EIP-3074 فرصة للتغيير: عندما يدرك مطورو تطبيقات DApp أن EOA يمكنها أداء عمليات معقدة متنوعة من خلال Invoker، فإن تصميم تفاعلات DApp لن يعد بحاجة للتضحية بالأمان من أجل تجربة مستخدم أفضل، مثل "موافقة المستخدمين على كمية كبيرة من الأصول مسبقًا" أو "مستخدمين يوقعون رسالة تصريح لتفويض السحب".

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

وعلاوة على ذلك، يقوم المستخدمون بالتفويض باستخدام تواقيع خارج السلسلة، لذلك فإن تجربة المستخدم هي نفسها كما هو الحال مع التصريح! وهذا يعني أن التطبيقات اللامركزية لن تعود بحاجة إلى وضع التصريح! في المستقبل، يمكن للمحافظ أن تحظر مباشرة طلبات التوقيع بوضع تصريح أو بشكل أكثر صرامة دون القلق بمنع المستخدمين من الوصول إلى تطبيقات لامركزية معينة (بل بدلاً من ذلك يتم استغلالهم من قبل عمليات احتيال).

△ لن يقوم المستخدمون بالموافقة على عنوان معين فقط بل سيحددون أيضًا الإجراءات التي يمكن اتخاذها، وحتى يمكنهم رؤية نتائج التنفيذ المحاكية.

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

كيف تتعامل المحافظ مع EOA Nonce

حاليا، يتضمن تصميم EIP-3074 قيمة nonce لـ EOA في محتوى التوقيع. لذلك، بمجرد أن يقوم EOA بتقديم عملية تغيير قيمة nonce على السلسلة، تصبح جميع إذنات EIP-3074 الحالية غير صالحة.

إذا سمح المستخدم للآخرين بتشغيل حسابه الشخصي الخارجي نيابة عنه، مثلما هو مذكور من خلال مفتاح الجلسة أو طرق الاسترداد الاجتماعي المذكورة أعلاه، يجب أن يظل رقم التسلسل الخاص بالحساب الشخصي الخارجي دون تغيير. خلاف ذلك، يجب إعادة توقيع جميع التفويضات وتسليمها إلى الوصي، مما يؤثر بشكل كبير على تجربة المستخدم وصلابة الآلية.

إذا كان المستخدم يُفوض نفسه بالتشغيل، فلا حاجة لتجنب تغيير عدم التكرار EOA. التواقيع EIP-3074، مثل المعاملات، من المتوقع تنفيذها خلال فترة معينة. ومع ذلك، يجب على المحافظ إدارة معاملات EIP-3074 للEOA: إذا كان هناك توقيع EIP-3074 في انتظار الانضمام، يجب أن تنتظر أي معاملات EOA.

ملاحظة:يجب أن يحتفظ عقد Invoker نفسه بآلية nonce منفصلة، بحيث يجب تجديد كل توقيع بغض النظر عن التغييرات في nonce EOA.

من المحتمل أن تتم اعتماد مفتاح الجلسة والاسترداد الاجتماعي على نطاق واسع فقط بعد أن يعدل EIP-3074 القواعد لإزالة EOA nonce من محتوى التوقيع. لذلك، يجب على المحافظ التركيز على السيناريو حيث "يوافق المستخدمون على تشغيل أنفسهم" ويعاملون توقيعات EIP-3074 كما لو كانت معاملات، مما يجنب القلق بشأن تغيير EOA transactions لل nonce.

ومع ذلك، إذا أراد المستخدمون تقديم توقيعهم EIP-3074 على السلسلة بأنفسهم، فهناك عيبان:

  1. يحتاج المستخدمون إلى توقيع مرتين: مرة واحدة لتوقيع EIP-3074 ومرة واحدة لتوقيع المعاملة على السلسلة.

  2. نظرًا لأن عملية التحويل على السلسلة ستزيد من عدد مرات استخدام العقد الذكي قبل التنفيذ، يجب زيادة عدد مرات استخدام الـ EOA nonce في توقيع EIP-3074 مسبقًا ليتماشى مع تغيير الـ nonce الناتج عن عملية التحويل على السلسلة.

△ لأن زيادة معاملة السلسلة الرئيسية للمحفظة تؤدي إلى فشل التحقق من توقيع EIP-3074 إذا لم تتطابق الأرقام التسلسلية.

△ يحتاج المستخدمون إلى زيادة عدد EOA مسبقًا في توقيع EIP-3074 ليمر التحقق بنجاح.

من خلال فهم هذه الدقائق، يمكن لمزودي المحفظة إدارة EOA nonce بشكل أفضل، مما يضمن تجربة مستخدم أكثر سلاسة وأمانًا مع تفويضات EIP-3074.

ملخص وأبرز النقاط

  • يمنح EIP-3074 EOAs (الحسابات المملوكة خارجيًا) نفس القدرات الغنية في التنفيذ كما هو الحال مع العقود، مما يفتح العديد من سيناريوهات التطبيقات الجديدة.
  • هذا لا يعزز بشكل كبير تجربة المستخدم فحسب، بل يحول أيضًا طرق التفويض الحالية، مما يجعلها أكثر أمانًا دون التنازل عن سهولة الاستخدام.
  • وبالإضافة إلى ذلك، يتضمن EIP-3074 توقيعات بسيطة، لذلك لا يلزم على المستخدمين تنفيذ هذه التوقيعات على السلسلة بأنفسهم، مما يقضي على الحاجة إلى جمع ETH لدفع رسوم المعاملات.
  • استخدامات EIP-3074 تشمل Batch Call، Session Key، Native ETH Permit، Limit Order، و Social Recovery. العديد من هذه الميزات كان من المستحيل في الأصل تحقيقها مع EOA، وبعضها، مثل Limit Order، يتطلب الموافقة المسبقة وطرق أقل أمانًا أخرى للاستخدام.
  • كانت هذه غير ممكنة سابقاً بالنسبة لـ EOAs. على سبيل المثال، كان استخدام الطلب المحدود يتطلب طرق أقل أماناً مثل ما قبل التفويض.
  • سيغير EIP-3074 أيضًا طرق المصادقة الحالية. يُصادق الطريقة الموافقة مباشرة على عنوان محدد لسحب الأصول الرقمية بلا حدود بشكل دائم، مما يتطلب من EOA للمستخدم إرسال عملية لتنفيذ الموافقة، الأمر الذي يؤدي إلى تجربة مستخدم سيئة وضعف أمان. تتطلب الطريقة الإذن فقط توقيع المستخدم، وكل توقيع يحدد مبلغ الأصول وفترة الصلاحية، مما يحسن بشكل كبير تجربة المستخدم والأمان مقارنة بالموافقة.
  • ومع ذلك، يتم استغلال طريقة التصريح بشكل متكرر في عمليات الاحتيال. عند التوقيع، يمكن للمستخدمين رؤية العنوان ومبلغ الأصول وفترة الصلاحية التي يقومون بالتفويض عليها، ولكن لا يمكنهم رؤية الغرض من التفويض. سيتم تحديد الغرض في توقيع آخر (أو عملية). سيتطلب DApp الشرعي من المستخدم توقيع كل من التصريح والغرض، ولكن هذه تواقيع مستقلة. وبالتالي، عندما يُطلب من المستخدمين توقيع تصريح، لا يمكنهم ولا المحافظ تحديد الاستخدام المقصود للتصريح.
  • مع EIP-3074، لا يحتاج المستخدمون (1) إلى الموافقة على كمية كبيرة من الأصول لـ DApp مسبقًا، ولكن فقط يوافقون عندما يكون هناك عملية، والتأثير هو نفسه مثل الإذن؛ (2) فقط قم بالتوقيع ولا داعي للقلق بشأن جمع ETH لدفع رسوم الإجراء هو نفسه مثل الإذن؛ (3) كل موافقة مرتبطة بالعملية المحددة وموقعة معًا. يمكن للمستخدم معرفة بوضوح "لماذا يتم استخدام الموافقة" هذه المرة. سيكون هذا أكثر أمانًا من الإذن!
  • نأمل أن يحل EIP-3074 محل الطرق الحالية للموافقة والسماح بنجاح، مما يوفر للمستخدمين طريقة تفويض أكثر أمانًا.

تنصل:

  1. تم نشر هذا المقال مرة أخرى من [مختبرات imToken]. جميع حقوق الطبع والنشر تنتمي إلى الكاتب الأصلي [نيك]. إذا كانت هناك اعتراضات على هذا النقل، يرجى التواصل مع البوابة تعلمالفريق، وسيقومون بالتعامل معها على الفور.
  2. إخلاء المسؤولية عن الضرر: الآراء والآراء المعبر عنها في هذه المقالة هي فقط تلك التي تعود إلى الكاتب ولا تشكل أي نصيحة استثمارية.
  3. تتم ترجمة المقالات إلى لغات أخرى من قبل فريق Gate Learn. ما لم يذكر غير ذلك، فإن نسخ أو توزيع أو نسخ المقالات المترجمة ممنوع.

تأثير EIP-3074 على المحافظ والتطبيقات اللامركزية

متوسط5/27/2024, 9:17:11 AM
يتيح EIP-3074 للحسابات المملوكة خارجيًا (EOAs) تفويض التحكم إلى عقد محدد، وبالتالي الحصول على إمكانيات التنفيذ الشاملة المشابهة للعقود. يعزز هذا بشكل كبير تجربة المستخدم ويمكنه إعادة تعريف طرق الترخيص الحالية المألوفة، مما يعزز الأمان مع الحفاظ على القابلية للإستخدام. يحلل نيك من imToken Labs تأثير EIP-3074، بما في ذلك التحسينات على طرق ترخيص الأصول.

EIP-3074

تجربة مستخدم أفضل وأكثر أمانا

يسمح EIP-3074 للحسابات الخارجية لتفويض التحكم إلى عقود محددة، مكناً بذلك من الحصول على قدرات تنفيذ غنية مشابهة للعقود. قبل EIP-3074، كان بإمكان حساب خارجي إجراء عملية واحدة فقط لكل معاملة، مثل الموافقة على رمز ERC20 أو إجراء صفقة على Uniswap. بعد EIP-3074، يمكن لحساب خارجي إتمام عمليات متعددة في معاملة واحدة، مما يمكّن من حالات استخدام كانت غير متصورة من قبل. في جوهره، يحسن EIP-3074 بشكل كبير تجربة المستخدم ويعيد تشكيل طرق الموافقة المألوفة بينما يعزز الأمان.

وعلاوة على ذلك، مع EIP-3074، لم يعد هناك حاجة للحسابات الخارجية لإرسال المعاملات على السلسلة بأنفسها، مما يقضي على الحاجة إلى الحصول أولاً على ETH لدفع رسوم المعاملات.

عقود المستدعي

العقود التي يمكنها الحصول على السيطرة على الEOAs تسمى عقود Invoker. ليس أي عقد يمكنه الحصول على السيطرة؛ يجب على الEOA توقيعه بمفتاحه الخاص، محددًا العقد Invoker والعمليات التي يأذن للInvoker بأدائها.

يتضمن العملية عادةً:

أليس توقع بمفتاحها الخاص EOA، محددة عقد الداعية والعمليات المصرح بها.

تقدم أليس المحتوى الموقع والتوقيع إلى المزود.

يقوم المحول بإرسال المعاملة على السلسلة إلى عقد النداء.

المحضر يتحقق من التوقيع وعند التحقق، ينفذ العمليات كما EOA لأليس، مثل الموافقة على USDC، تبديل الأصول على Uniswap، واستخدام بعض USDC لدفع الريليه كرسوم.

ملاحظة: يُعتبر الريلير اختياريًا؛ يمكن لأليس تقديم المحتوى الموقع والتوقيع الذي تم التوقيع عليه إلكترونيًا على السلسلة بنفسها.

تجنب هجمات الرد المتكررة

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

تعلم المزيد

للحصول على مقدمة مفصلة حول كيفية عمل EIP-3074، يرجى الرجوع إلى:https://medium.com/taipei-ethereum-meetup/eip3074-%E7%B0%A1%E4%BB%8B-2a880b918234

تطبيقات EIP-3074

Batchcall

يسمح Batchcall للمستخدمين بدمج عدة معاملات في واحدة، مما يوفر عملية التوقيعات على التفويض المتعددة وبعض تكاليف الغاز. يرجى ملاحظة أن هذا يتطلب من DApps دعم وظيفة Batchcall، مثل EIP-5792 المروج حاليًا. من دون مثل هذا الدعم، ستطلب DApps معاملة منفصلة لكل عملية، معاملة المستخدم على أنه EOA عادي.

لمزيد من المعلومات حول EIP-5792، يرجى الرجوع إلى: EIP-5792.

مفتاح الجلسة

يمكن للمستخدمين تفويض العمليات لجهة خارجية بشروط محددة باستخدام مفتاح الجلسة. في المثال أدناه، يمثل مفتاح الوفد الطرف الثالث المُفوض، بينما تحدد سياسة الوصول القيود التشغيلية، مثل تقييد الإجراءات إلى Uniswap، وتحديد حدود التحويلات بمقدار 1 ETH في اليوم، أو تحديد تاريخ انتهاء الإذن. صممت هذه الشروط وفحصت ضمن عقد Invoker. بمجرد تمرير الفحوصات، يمكن للطرف الثالث القيام بالعمليات كـ EOA للمستخدم.

على سبيل المثال، يمكن منح روبوت Telegram أذونات معينة لتنفيذ العمليات نيابة عن عنوان الحساب الخارجي الخاص بالمستخدم.

تصريح ETH الأصلي

إذا تم تحقيق الشروط (أي أن توقيع الإذن صالح)، يمكن تنفيذ العمليات كصاحب EOA المفوض، مما يتيح وظائف تصريح ETH الأصلية.

أمر محدد

يمكن للمستخدمين تعيين شروط الطلب المحددة، والتي، بمجرد تحققها، تسمح بتنفيذ العمليات كـ EOA للمستخدم. ويشمل ذلك الموافقة على الأصول الرقمية ذات الصلة للـ DEX وتبديل الأصول على الـ DEX. بالمقارنة مع وظيفة الطلب المحددة التي تقدمها الـ DEX نفسها، لا يحتاج المستخدمون إلى الموافقة المسبقة على الأصول للـ DEX.

على سبيل المثال ، عندما تكمل Alice أمرا محددا ، يتم تنفيذ الموافقة في وقت واحد ، مما يلغي الحاجة إلى الموافقة المسبقة.

من خلال تصميم الشروط بشكل أكثر عمومية، يمكن إنشاء عقد النية: طالما تم تلبية الشروط المحددة، يمكن لأي شخص تنفيذ النية نيابة عن EOA للمستخدم.

الاسترداد الاجتماعي

إذا فقد المستخدم مفتاحه الخاص EOA ، فيمكنه استخدام إذن EIP-3074 الذي تم توقيعه مسبقًا ، جنبًا إلى جنب مع تواقيع من الأطراف المعتمدة (على سبيل المثال ، الزوج ووكيل الثقة) ، لنقل جميع الأصول من EOA. يتم استعادة الأصول (القابلة للتحويل) ، وليس السيطرة على الحساب. بمجرد فقدان مفتاح EOA الخاص ، لا يمكن استخدام EOA مرة أخرى.

تحسين طرق تفويض الأصول

لدى EIP-3074 الإمكانية لتحسين أو حتى استبدال طرق الموافقة الحالية. تعمل تطبيقات الويب اللامركزية حاليًا تحت افتراض أن المستخدمين هم EOAs: يجب على المستخدمين الموافقة مسبقًا على كمية كبيرة من الأصول إلى عقد التطبيق لتجنب البقاء على الإنترنت باستمرار والموافقة على المعاملات مرارًا وتكرارًا. هذا يحسن تجربة المستخدم بشكل كبير.

على سبيل المثال، تتطلب التطبيقات الشرطية مثل الطلبات المحدودة أو DCA من المستخدمين الموافقة المسبقة على كميات كبيرة من الأصول حتى يمكن لتطبيق DApp تنفيذ العمليات عند تحقق الشروط، ربما مرات عديدة.

ومع ذلك، يتطلب هذا من المستخدمين الثقة في DApp أو تجنب الموافقة على التطبيقات الزائفة، ويجب أن يكونوا قادرين على إزالة الموافقات في الوقت الحقيقي.

نماذج تصريح الحديثة مثل EIP-2612 أو تصريح Permit2 الغير الأصلي تهدف إلى تحسين تجربة مستخدم نموذج الموافقة والأمان. لا يحتاج المستخدمون إلى الموافقة على كميات كبيرة من الأصول لكل عقد DApp؛ بدلاً من ذلك، يمكنهم تفويض DApps لسحب كمية محددة من الأصول في وقت محدد بتوقيع مرة واحدة. هذا يقلل بشكل كبير من مساحة الهجوم ويعزز تجربة المستخدم.

△ يحتاج المستخدمون فقط إلى تسجيل الخروج خارج السلسلة، ويمكنهم تحديد كمية الأصول وفترة الصلاحية، مما يوفر تجربة مستخدم أفضل وأمانًا أفضل من الموافقة.

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

△ عندما يوقع المستخدمون على تصريح، يمكنهم رؤية من يقومون بالتفويض فقط ولكنهم لا يعرفون ما العمليات التي سيتم تنفيذها بالاشتراك معها.

ملاحظة:تصميم التصريح الحالي غير متوافق مع تطبيقات DApps التي تتطلب عمليات متكررة، مثل DCA أو تطبيقات الدفع الدوري الأخرى. وذلك لأن التصريح يحتوي على آلية مكافحة الإعادة، لذلك بمجرد إكمال العملية، لا يمكن استخدام نفس التصريح مرة أخرى. في الأساس، يحتاج المستخدمون إلى توقيع مسبق للتصاريح لكل عملية متكررة مستقبلية.

تعرف أكثر:

لفهم المزيد حول الحوادث التي تم فيها استغلال وضع التصريح كوسيلة احتيال، يرجى نسخ الروابط التالية في متصفحك للحصول على مزيد من المعلومات:

ومع ذلك، يجلب EIP-3074 فرصة للتغيير: عندما يدرك مطورو تطبيقات DApp أن EOA يمكنها أداء عمليات معقدة متنوعة من خلال Invoker، فإن تصميم تفاعلات DApp لن يعد بحاجة للتضحية بالأمان من أجل تجربة مستخدم أفضل، مثل "موافقة المستخدمين على كمية كبيرة من الأصول مسبقًا" أو "مستخدمين يوقعون رسالة تصريح لتفويض السحب".

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

وعلاوة على ذلك، يقوم المستخدمون بالتفويض باستخدام تواقيع خارج السلسلة، لذلك فإن تجربة المستخدم هي نفسها كما هو الحال مع التصريح! وهذا يعني أن التطبيقات اللامركزية لن تعود بحاجة إلى وضع التصريح! في المستقبل، يمكن للمحافظ أن تحظر مباشرة طلبات التوقيع بوضع تصريح أو بشكل أكثر صرامة دون القلق بمنع المستخدمين من الوصول إلى تطبيقات لامركزية معينة (بل بدلاً من ذلك يتم استغلالهم من قبل عمليات احتيال).

△ لن يقوم المستخدمون بالموافقة على عنوان معين فقط بل سيحددون أيضًا الإجراءات التي يمكن اتخاذها، وحتى يمكنهم رؤية نتائج التنفيذ المحاكية.

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

كيف تتعامل المحافظ مع EOA Nonce

حاليا، يتضمن تصميم EIP-3074 قيمة nonce لـ EOA في محتوى التوقيع. لذلك، بمجرد أن يقوم EOA بتقديم عملية تغيير قيمة nonce على السلسلة، تصبح جميع إذنات EIP-3074 الحالية غير صالحة.

إذا سمح المستخدم للآخرين بتشغيل حسابه الشخصي الخارجي نيابة عنه، مثلما هو مذكور من خلال مفتاح الجلسة أو طرق الاسترداد الاجتماعي المذكورة أعلاه، يجب أن يظل رقم التسلسل الخاص بالحساب الشخصي الخارجي دون تغيير. خلاف ذلك، يجب إعادة توقيع جميع التفويضات وتسليمها إلى الوصي، مما يؤثر بشكل كبير على تجربة المستخدم وصلابة الآلية.

إذا كان المستخدم يُفوض نفسه بالتشغيل، فلا حاجة لتجنب تغيير عدم التكرار EOA. التواقيع EIP-3074، مثل المعاملات، من المتوقع تنفيذها خلال فترة معينة. ومع ذلك، يجب على المحافظ إدارة معاملات EIP-3074 للEOA: إذا كان هناك توقيع EIP-3074 في انتظار الانضمام، يجب أن تنتظر أي معاملات EOA.

ملاحظة:يجب أن يحتفظ عقد Invoker نفسه بآلية nonce منفصلة، بحيث يجب تجديد كل توقيع بغض النظر عن التغييرات في nonce EOA.

من المحتمل أن تتم اعتماد مفتاح الجلسة والاسترداد الاجتماعي على نطاق واسع فقط بعد أن يعدل EIP-3074 القواعد لإزالة EOA nonce من محتوى التوقيع. لذلك، يجب على المحافظ التركيز على السيناريو حيث "يوافق المستخدمون على تشغيل أنفسهم" ويعاملون توقيعات EIP-3074 كما لو كانت معاملات، مما يجنب القلق بشأن تغيير EOA transactions لل nonce.

ومع ذلك، إذا أراد المستخدمون تقديم توقيعهم EIP-3074 على السلسلة بأنفسهم، فهناك عيبان:

  1. يحتاج المستخدمون إلى توقيع مرتين: مرة واحدة لتوقيع EIP-3074 ومرة واحدة لتوقيع المعاملة على السلسلة.

  2. نظرًا لأن عملية التحويل على السلسلة ستزيد من عدد مرات استخدام العقد الذكي قبل التنفيذ، يجب زيادة عدد مرات استخدام الـ EOA nonce في توقيع EIP-3074 مسبقًا ليتماشى مع تغيير الـ nonce الناتج عن عملية التحويل على السلسلة.

△ لأن زيادة معاملة السلسلة الرئيسية للمحفظة تؤدي إلى فشل التحقق من توقيع EIP-3074 إذا لم تتطابق الأرقام التسلسلية.

△ يحتاج المستخدمون إلى زيادة عدد EOA مسبقًا في توقيع EIP-3074 ليمر التحقق بنجاح.

من خلال فهم هذه الدقائق، يمكن لمزودي المحفظة إدارة EOA nonce بشكل أفضل، مما يضمن تجربة مستخدم أكثر سلاسة وأمانًا مع تفويضات EIP-3074.

ملخص وأبرز النقاط

  • يمنح EIP-3074 EOAs (الحسابات المملوكة خارجيًا) نفس القدرات الغنية في التنفيذ كما هو الحال مع العقود، مما يفتح العديد من سيناريوهات التطبيقات الجديدة.
  • هذا لا يعزز بشكل كبير تجربة المستخدم فحسب، بل يحول أيضًا طرق التفويض الحالية، مما يجعلها أكثر أمانًا دون التنازل عن سهولة الاستخدام.
  • وبالإضافة إلى ذلك، يتضمن EIP-3074 توقيعات بسيطة، لذلك لا يلزم على المستخدمين تنفيذ هذه التوقيعات على السلسلة بأنفسهم، مما يقضي على الحاجة إلى جمع ETH لدفع رسوم المعاملات.
  • استخدامات EIP-3074 تشمل Batch Call، Session Key، Native ETH Permit، Limit Order، و Social Recovery. العديد من هذه الميزات كان من المستحيل في الأصل تحقيقها مع EOA، وبعضها، مثل Limit Order، يتطلب الموافقة المسبقة وطرق أقل أمانًا أخرى للاستخدام.
  • كانت هذه غير ممكنة سابقاً بالنسبة لـ EOAs. على سبيل المثال، كان استخدام الطلب المحدود يتطلب طرق أقل أماناً مثل ما قبل التفويض.
  • سيغير EIP-3074 أيضًا طرق المصادقة الحالية. يُصادق الطريقة الموافقة مباشرة على عنوان محدد لسحب الأصول الرقمية بلا حدود بشكل دائم، مما يتطلب من EOA للمستخدم إرسال عملية لتنفيذ الموافقة، الأمر الذي يؤدي إلى تجربة مستخدم سيئة وضعف أمان. تتطلب الطريقة الإذن فقط توقيع المستخدم، وكل توقيع يحدد مبلغ الأصول وفترة الصلاحية، مما يحسن بشكل كبير تجربة المستخدم والأمان مقارنة بالموافقة.
  • ومع ذلك، يتم استغلال طريقة التصريح بشكل متكرر في عمليات الاحتيال. عند التوقيع، يمكن للمستخدمين رؤية العنوان ومبلغ الأصول وفترة الصلاحية التي يقومون بالتفويض عليها، ولكن لا يمكنهم رؤية الغرض من التفويض. سيتم تحديد الغرض في توقيع آخر (أو عملية). سيتطلب DApp الشرعي من المستخدم توقيع كل من التصريح والغرض، ولكن هذه تواقيع مستقلة. وبالتالي، عندما يُطلب من المستخدمين توقيع تصريح، لا يمكنهم ولا المحافظ تحديد الاستخدام المقصود للتصريح.
  • مع EIP-3074، لا يحتاج المستخدمون (1) إلى الموافقة على كمية كبيرة من الأصول لـ DApp مسبقًا، ولكن فقط يوافقون عندما يكون هناك عملية، والتأثير هو نفسه مثل الإذن؛ (2) فقط قم بالتوقيع ولا داعي للقلق بشأن جمع ETH لدفع رسوم الإجراء هو نفسه مثل الإذن؛ (3) كل موافقة مرتبطة بالعملية المحددة وموقعة معًا. يمكن للمستخدم معرفة بوضوح "لماذا يتم استخدام الموافقة" هذه المرة. سيكون هذا أكثر أمانًا من الإذن!
  • نأمل أن يحل EIP-3074 محل الطرق الحالية للموافقة والسماح بنجاح، مما يوفر للمستخدمين طريقة تفويض أكثر أمانًا.

تنصل:

  1. تم نشر هذا المقال مرة أخرى من [مختبرات imToken]. جميع حقوق الطبع والنشر تنتمي إلى الكاتب الأصلي [نيك]. إذا كانت هناك اعتراضات على هذا النقل، يرجى التواصل مع البوابة تعلمالفريق، وسيقومون بالتعامل معها على الفور.
  2. إخلاء المسؤولية عن الضرر: الآراء والآراء المعبر عنها في هذه المقالة هي فقط تلك التي تعود إلى الكاتب ولا تشكل أي نصيحة استثمارية.
  3. تتم ترجمة المقالات إلى لغات أخرى من قبل فريق Gate Learn. ما لم يذكر غير ذلك، فإن نسخ أو توزيع أو نسخ المقالات المترجمة ممنوع.
Розпочати зараз
Зареєструйтеся та отримайте ваучер на
$100
!