Page cover

🦄ما هو Permit2؟

Permit2 - هي نظام تم تطويره من قبل فريق Uniswap

كيف يعمل Permit2؟

Permit2 هو عقد ذكي يحتاج المستخدمون إلى منحه إذنًا غير محدود. بعد الموافقة على عقد Permit2 يمكن استخدامه لمنح موافقات فرعية لعقود ذكية أخرى. يمكن القيام بذلك باستخدام الدالة Permit2.approve(), التي تعمل بنفس طريقة دالة approve() لرموز ERC20. ولكن يمكن أيضًا القيام بذلك باستخدام الدالة Permit2.permit(), التي تعمل بشكل مشابه للدالة permit() في EIP2612.

بجانب دعم توقيعات Permit في الرموز التي لا تدعمها، يضيف Permit2 ميزات إضافية أخرى. والأهم من ذلك أنه يضيف مدة صلاحية لجميع الموافقات الصادرة عبر Permit2. وبالتالي، لا تحتاج إلى منح إذن بلا نهاية للعقد؛ بل يمكن جعل الموافقة تنتهي تلقائيًا بعد فترة.

مزايا Permit2

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

بالإضافة إلى ذلك، يحل Permit2 إحدى العيوب الرئيسية لتوقيعات EIP2612 Permit — وهي أنها غير مدعومة من قبل معظم الرموز. يعالج Permit2 هذه المشكلة بالسماح باستخدام توقيعات Permit بلا غاز لكل رمز.

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

عيوب ومخاطر Permit2

على الرغم من أن Permit2 يحتوي على مزايا مهمة، من المهم أن نذكر أنه يخلق أيضًا بعض مخاطر الأمن الجديدة مقارنة بالموافقات العادية أو توقيعات EIP2612 Permit.

نافذة MetaMask المجمعة لPermit2

نظام Permit2 مرن للغاية ويسمح بمنح موافقات لعدة رموز في آنٍ واحد. بسبب هذه المرونة يصبح من الصعب على المستخدمين فهم ما الذي يوافقون عليه بالضبط. يمكن لمواقع التصيد استغلال ذلك لخداع المستخدمين وجعلهم يمنحون موافقة لم يرغبوا بمنحها.

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

إلغاء موافقات Permit2

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

الثاني الذي يجب مراعاته هو موافقات Permit2، وهي الموافقات الفعلية التي يصدرها عقد Permit2 نيابةً عنك. غالبًا ما تكون لهذه الموافقات مدة صلاحية لا ينبغي أن تكون طويلة جدًا، لذلك قد تفكر في جعلها تنقضي تلقائيًا. إذا كانت مدة الصلاحية كبيرة جدًا، فلا يزال بإمكانك إلغاء أو تحديث الموافقة يدويًا باستخدام Revoke.cash.

موافقات Permit2 على Revoke.cash

Last updated