SaveSaveSaveSave كل الأدلة →
العربية

دليل · مخاطر المحافظ · · بقلم Stefan Tsezarov

ما الذي توقّع عليه فعلًا عندما توافق على توكن

إذن الإنفاق قد يكون بأهمية الدفع نفسه.

تفتح تطبيق مبادلة، وتختار توكنًا، وتربط محفظتك. وقبل المبادلة، تطلب منك المحفظة الموافقة على الإنفاق.

لا يبدو أن أي توكنات تغادر. يبدو الأمر خطوة إعداد.

إنه خطوة إعداد فعلًا—لكنه يمنح عنوانًا آخر إذنًا بنقل توكناتك. وبحسب ما توافق عليه، قد يبقى ذلك الإذن قائمًا طويلًا بعد أن تغلق الموقع.

الموافقات جزء عادي من استخدام تطبيقات العملات المشفرة. والخطر هو منح وصول أكثر مما قصدت، أو منحه للعنوان الخطأ.

يشرح هذا الدليل ما يعنيه ذلك الوصول، وما الذي تتحقق منه قبل التوقيع، وما الذي تفعله إذا كنت قد وافقت بالفعل على شيء مريب.

يتناول Ethereum والشبكات المتوافقة معها. وتستخدم سلاسل الكتل الأخرى أنظمة أذونات مختلفة.

01الموافقة تمنح إذنًا بالإنفاق

تحتفظ محفظتك بالمفاتيح التي تستخدمها لتفويض الإجراءات. ورصيدك من التوكن مسجّل في العقد الذكي للتوكن.

لكي يتمكن تطبيق مبادلة أو إقراض من نقل تلك التوكنات، يحتاج عادة إلى إذنك أولًا. تمنح ذلك الإذن لعنوان يُسمّى المُنفِق (spender). ويُسمّى المقدار المسموح به الحد المسموح (allowance).

لنفترض أنك تريد مبادلة 50 USDC.

تتعلق تلك الموافقة بالتوكن المحدد على تلك الشبكة. ولا تمنح بحد ذاتها وصولًا إلى كل ما في محفظتك.

موافقة التوكن القياسية لا تنتهي صلاحيتها عمومًا. تبقى حتى تغيّرها أو تلغيها، أو يُستنفد الحد المسموح. إغلاق الموقع أو فصل محفظتك لا يزيلها. يشرح Revoke.cash الفرق بين الفصل والإلغاء.

02الطلبات المختلفة تمنح أذونات مختلفة

تختلف صياغة المحافظ. هذه هي الطلبات الرئيسية التي ينبغي التعرف عليها:

الطلبما يمكن أن يفوّضه
Approve أو سقف الإنفاقيجوز للمُنفِق نقل ما يصل إلى مقدار محدد من توكن واحد.
Set approval for allيجوز للمشغّل تحويل كل رموز NFT الخاصة بك ضمن المجموعة أو العقد المحدد، بما في ذلك ما تحصل عليه لاحقًا طالما بقيت الموافقة نشطة.
Permitتوقيع يمكن تقديمه لاحقًا لإنشاء حد مسموح للتوكن.
Permit2توقيع يمكن أن يفوّض حدًا مسموحًا محدود المدة أو تحويلًا لمرة واحدة، بحسب الطلب.

«Approval for all» أوسع من الموافقة على NFT واحد، لكنها تظل محصورة في عقد NFT المعني. يعرّف ERC-721 هذه الأذونات.

التوقيع يمكن أن يفوّض الإنفاق دون رسوم غاز

تتطلب الموافقة القياسية عادة معاملة على السلسلة. أما الـ permit فيبدأ بتوقيع خارج السلسلة: توقيعه لا ينشئ بحد ذاته معاملة على البلوك تشين ولا يكلّف غازًا.

يمكن لشخص آخر تقديم ذلك التوقيع لاحقًا ودفع رسوم المعاملة.

في permit القياسي وفق ERC-2612، المهلة (deadline) هي آخر وقت يمكن فيه تقديم التوقيع. وليست تاريخ انتهاء للحد المسموح الذي يُنشأ عند تقديمه. يحدد ERC-2612 كيف يعمل ذلك.

يعمل Permit2 بطريقة مختلفة. يتطلب موافقة توكن قائمة لعقد Permit2، ثم يدعم إما أذونات إنفاق محدودة المدة أو تحويلات موقّعة لمرة واحدة. تشرح وثائق Permit2 من Uniswap كلا المسارين.

لا تحتاج إلى حفظ المعايير. تذكّر هذا:

غياب رسوم الغاز لا يعني غياب العواقب المالية.

ليس كل توقيع يمنح وصولًا للإنفاق. رسالة تسجيل الدخول قد تخدم غرضًا مختلفًا. اقرأ ما يفوّضه الطلب بدل الحكم عليه من زر «توقيع».

03كيف يستغل المحتالون هذه الأذونات

الموقع المزيف لا يطلب منك دائمًا إرسال عملات مشفرة. قد يطلب منك «التحقق من محفظتك» أو «المطالبة بمكافأة» أو «المتابعة».

وراء ذلك الزر طلب يمنح المهاجم وصولًا للإنفاق.

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

قد يأتي التحويل فورًا أو لاحقًا. ولا تتلقى طلبًا ثانيًا للموافقة عليه.

لا يلزم أن تُسرق عبارة الاسترداد الخاصة بك كي يحدث هذا. حتى المحفظة المادية لا تستطيع حمايتك من إذن ضار تفوّضه أنت بنفسك. يصف Revoke.cash هذا القيد.

04خمسة فحوص قبل أن توافق أو توقّع

‏طلب موافقة، مع شروح‏ ‏نافذة محفظة عامة بعنوان «طلب سقف إنفاق»، من الموقع swap.example. تذكر التوكن، USD Coin على Ethereum، وعنوان مُنفِق معروضًا كاملًا، وسقف إنفاق «غير محدود» مع زر تعديل. وفي الأسفل زرا الرفض والموافقة. أربع تسميات مرقّمة تشير إلى المُنفِق، والتوكن والشبكة، والسقف، وزر الموافقة.‏ REQUEST FROM swap.example Spending cap request TOKEN · NETWORK USD Coin (USDC) · Ethereum SPENDER 0x1111111111111111111111 111111111111111111 SPENDING CAP Unlimited Edit Reject Approve 1 ‏هل هذا التوكن والشبكة‏ ‏هما ما قصدته؟‏ 2 ‏من يحصل على الوصول؟‏ ‏راجع الوثائق الرسمية.‏ 3 ‏غير محدود؟ عدّله إلى‏ ‏ما يحتاجه هذا الإجراء.‏ 4 ‏هل «الموافقة» تطابق‏ ‏ما قاله الموقع؟‏
رسم توضيحي، لا محفظة حقيقية: تختلف التخطيطات والتسميات بين المحافظ، وعنوان المُنفِق هنا مختلق. ابحث عن الأشياء الأربعة نفسها مهما كانت تسميتها في محفظتك.

1. طابق الطلب مع الإجراء الذي تنويه

قد تتطلب المبادلة بشكل معقول وصولًا إلى التوكن الذي تبيعه.

أما تسجيل دخول بسيط أو مطالبة عادية بتوزيع مجاني فلا ينبغي أن يحتاج إلى وصول غير مقيد إلى توكناتك الحالية. إذا كان الموقع يقول «تحقّق» ومحفظتك تقول «الموافقة على الإنفاق»، فتوقف واعرف السبب.

2. تحقق ممن يحصل على الإذن

المُنفِق هو العنوان الذي يحصل على الوصول. والشعار المألوف أو اسم العقد ليسا دليلًا على أنه يعود للتطبيق.

استخدم الوثائق الرسمية للتطبيق للتحقق من العقد والشبكة المتوقعين. بعض التطبيقات تستخدم عدة عقود، لذا فالتخمين من تسمية العنوان غير موثوق.

3. حدّد المقدار

حيث تسمح محفظتك بذلك، وافق فقط على ما يحتاجه الإجراء.

لمبادلة 50 USDC، يعرّض الحد المسموح غير المحدود من USDC أكثر مما يلزم. السقف الأصغر يحدّ من ذلك التعرض؛ لكنه لا يجعل مُنفِقًا خبيثًا جديرًا بالثقة.

4. اقرأ التوقيعات بالعناية نفسها التي تقرأ بها المعاملات

ابحث عن التوكن، والمُنفِق، والمقدار، والشبكة، وأي مهلة أو تاريخ انتهاء. تختلف أسماء الحقول.

إذا لم تستطع المحفظة شرح الطلب بوضوح كافٍ لتفهمه، فارفضه وتحرَّ عبر الوثائق الرسمية للتطبيق.

5. افصل مدخراتك عن التطبيقات غير المألوفة

استخدم محفظة منفصلة برصيد صغير لتجربة الخدمات الجديدة. وتجنّب ربط المحفظة التي تحتفظ فيها بمدخراتك طويلة الأجل.

يحدّ هذا مما يمكن أن تطاله موافقة ضارة.

05إذا كنت قد وافقت على شيء بالفعل

إذا كنت تشتبه في سرقة جارية، فتصرف بسرعة. تنظيف الموافقات الروتيني والتوقيع المكشوف حالتان مختلفتان.

للموافقات القائمة:

  1. افتح Revoke.cash أو Token Approval Checker من Etherscan مباشرة. تجنّب الروابط التي ترسلها حسابات «دعم» تتواصل معك دون طلب.
  2. تحقق من كل شبكة تستخدمها. يمكنك فحص عنوان عام دون توقيع أي معاملة.
  3. ألغِ الأذونات التي لم تعد تحتاجها، مع إعطاء الأولوية للمُنفِقين المريبين والحدود غير المحدودة غير الضرورية.
  4. تأكد من نجاح كل معاملة إلغاء. تُطبَّق رسوم الشبكة.

الإلغاء يزيل إذن الإنفاق. لكنه لا يستعيد أصولًا حُوّلت بالفعل. وفصل الموقع ليس بديلًا عنه. تتناول الأسئلة الشائعة في Revoke.cash هذه الحدود.

إذا وقّعت permit مريبًا

التوقيع غير المستخدم قد لا يظهر في أداة فحص الموافقات.

إلغاء حد مسموح ظاهر قد لا يُبطل ذلك التوقيع. مثلًا، permit غير منتهي وفق ERC-2612 يمكنه أن ينشئ حدًا مسموحًا إذا ظل الـ nonce الخاص به—العدّاد الذي يمنع إعادة الاستخدام—صالحًا. راجع مواصفة ERC-2612.

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

إذا انكشفت عبارة الاسترداد أو مفتاحك الخاص، فأنشئ محفظة بعبارة استرداد جديدة. الحساب الآخر المشتق من العبارة المكشوفة ليس بديلًا آمنًا.

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

06ما الذي يستطيع SaveSaveSaveSave مساعدتك في فحصه

يستطيع فاحص الرسائل الإشارة إلى صياغة تدفعك نحو توقيع رسائل، أو الموافقة على إنفاق غير محدود، أو منح أذونات توكن واسعة.

هذا تحذير بشأن النص الذي تلصقه. وليس فحصًا للطلب داخل محفظتك.

لا يحدد الفاحص ما يفوّضه توقيع، ولا يسرد حدودك المسموحة القائمة، ولا يضمن أن مُنفِقًا جدير بالثقة. وفحص عنوان دون تحذيرات مُبلّغ عنها ليس سببًا للموافقة عليه.

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

من يستطيع الإنفاق، وأي أصول يستطيع الوصول إليها، وكم تسمح له.


عنوان المُنفِق والموقع في الرسم التوضيحي مختلقان. هذا الدليل معلومات عامة، لا استشارة مالية.