تأییدیه توکن چیست و چرا قطع اتصال کافی نیست
یک سایت را باز کردهاید، کیف پول را وصل کردهاید، «Approve» را زدهاید و بعد سایت را بستهاید. کاری که آن روز کردید هنوز روی زنجیره فعال است — و قطع کردن اتصال، بستن مرورگر یا حتی حذف و نصب دوباره کیف پول، هیچکدام برش نمیدارند. این صفحه توضیح میدهد آن مجوز چیست، چطور ببینیدش، و لغو کردنش چه هزینهای دارد.
- ۱مجوزی که دادهاید تا لغو نشود باقی میماند بستن سایت آن را برنمیدارد.
- ۲قطع اتصال یک تنظیم داخل کیف پول است مجوز یک وضعیت روی زنجیره.
- ۳لغو کردن خودش یک تراکنش است و کارمزد شبکه دارد.
پاسخ کوتاه
برای اینکه یک قرارداد هوشمند بتواند توکن شما را جابهجا کند، اول باید به آن مجوز بدهید. این مجوز جدا از خود معامله ثبت میشود، سقف مشخصی دارد، و تا وقتی صریحاً لغو نشود روی زنجیره باقی میماند — حتی اگر سالها از آن سایت استفاده نکنید.
قطع اتصال کیف پول این مجوز را برنمیدارد. آن یک تنظیم محلی در کیف پول شماست؛ مجوز یک وضعیت ثبتشده روی شبکه است. برای برداشتنش باید یک تراکنش دیگر بفرستید، و آن تراکنش کارمزد دارد.
وقتی «Approve» میزنید چه چیزی امضا میشود
توکنها روی شبکه با یک قرارداد اداره میشوند و آن قرارداد یک دفتر ساده دارد: چه آدرسی چقدر توکن دارد. وقتی خودتان توکن میفرستید، قرارداد از دفتر خودتان کم میکند. ولی اگر بخواهید یک برنامه دیگر — مثلاً یک صرافی غیرمتمرکز — از طرف شما توکن را جابهجا کند، آن برنامه اجازه ندارد مستقیم دست به موجودی شما بزند. اول باید شما اجازه بدهید.
این اجازه در استاندارد توکن یک تابع مشخص است. متن خود استاندارد، کاری را که انجام میدهد اینطور توصیف میکند: «به spender اجازه میدهد چند بار از حساب شما برداشت کند، تا سقف مبلغ مشخصشده». دو کلمه در این جمله مهماند: چند بار و تا سقف.
تا وقتی سقف تمام نشده یا صفر نشده، آن قرارداد هر وقت بخواهد میتواند تا همان اندازه از موجودی شما بردارد — بدون اینکه لازم باشد دوباره از شما بپرسد.
چرا این مجوز جدا از خود معامله است
ممکن است تعجب کنید که چرا یک مبادله ساده دو تأیید میخواهد. دلیلش ساختاری است: قرارداد توکن و قرارداد سرویسی که از آن استفاده میکند دو چیز جدا هستند. تأیید اول به قرارداد توکن میگوید «به این آدرس اجازه بده»، و تأیید دوم عملیات واقعی را انجام میدهد. برای همین است که مرحله اول را یک بار انجام میدهید و دفعات بعد فقط یک تأیید میبینید — چون مجوز از قبل آنجاست.
همین «از قبل آنجاست» است که بعداً فراموش میشود.
مجوز نامحدود در برابر مجوز بهاندازه
خیلی از برنامهها بهصورت پیشفرض سقف را روی عددی میگذارند که عملاً بینهایت است. منطقشان راحتی کاربر است: با یک بار تأیید، دیگر برای معاملههای بعدی کارمزد اضافه پرداخت نمیکنید. هزینهاش این است که اگر روزی در آن قرارداد نقصی پیدا شود یا کنترلش دست کسی بیفتد که نباید، سقفی برای آنچه میتواند برداشته شود وجود ندارد.
مجوز بهاندازه امنتر است ولی هر بار یک تراکنش اضافه میخواهد. انتخاب بین این دو، انتخاب بین هزینه و ریسک است — و مثل هر انتخاب دیگری در این حوزه، جواب واحدی ندارد. یک قاعده عملی: هرچه مبلغ کیف پول بیشتر و قرارداد ناشناختهتر، دلیل برای سقفگذاشتن بیشتر.
نکتهای که کمتر گفته میشود: خود متن استاندارد به سازندگان برنامهها توصیه کرده که رابط کاربری را طوری بسازند که «سقف را اول روی صفر بگذارند و بعد مقدار تازه را ست کنند» — چون تغییر مستقیم یک سقف غیرصفر به سقف غیرصفر دیگر، پنجرهای برای سوءاستفاده باز میکند. اگر خودتان دستی سقف را عوض میکنید، همین ترتیب را رعایت کنید: اول صفر، بعد مقدار جدید.
قطع اتصال چه کاری میکند و چه کاری نمیکند
این بخش دلیل اصلی نوشتن این صفحه است. در متنهای فارسی این دو مرتب با هم اشتباه گرفته میشوند و کاربری که فکر میکند کار را تمام کرده، در واقع هیچ کاری نکرده است.
| کار | چه چیزی را عوض میکند | کجا ثبت میشود | بعدش قرارداد هنوز دسترسی دارد؟ |
|---|---|---|---|
| Disconnect کردن سایت از کیف پول | اجازه سایت برای دیدن آدرس و درخواست امضا | فقط داخل کیف پول شما | بله |
| بستن مرورگر یا پاککردن تاریخچه | هیچ چیز مرتبطی | — | بله |
| حذف و نصب دوباره کیف پول | فقط نرمافزار روی دستگاه شما | — | بله |
| انتقال دارایی به آدرس دیگر | موجودی آدرس فعلی | روی زنجیره | بله، ولی چیزی برای برداشتن نمانده |
| لغو تأییدیه (سقف را صفر کردن) | خود مجوز | روی زنجیره | خیر |
ردیف چهارم راهحل اضطراری است، نه راهحل تمیز: اگر نگران یک مجوز خاص هستید و سریع میخواهید ریسک را ببندید، انتقال دارایی به یک آدرس دیگر همان لحظه اثر میکند، ولی مجوز روی آدرس قدیمی باقی میماند و اگر روزی دوباره به آن آدرس توکن بفرستید، دوباره در معرض همان مجوز است.
چطور مجوزهای فعال کیف پولتان را ببینید
مجوزها روی زنجیره عمومیاند، پس دیدنشان به دسترسی خاصی نیاز ندارد. مسیر کلی این است:
- ابزار را از مسیر مطمئن باز کنید
کاوشگر رسمی همان شبکه یا یک ابزار شناختهشده مدیریت مجوز. آدرس را از بوکمارک خودتان یا از مستندات رسمی باز کنید — نه از نتیجه جستوجو، نه از لینکی که کسی برایتان فرستاده. دلیلش در بخش بعد.
- آدرس عمومی کیف پول را وارد کنید
برای دیدن فهرست، وصلکردن کیف پول لازم نیست؛ آدرس عمومی کافی است. اگر ابزاری برای صرفاً نمایش، امضا یا اتصال میخواهد، همانجا مکث کنید.
- فهرست را بر اساس سقف و قدمت بخوانید
دنبال دو چیز بگردید: مجوزهای بدون سقف، و مجوزهایی که مربوط به سرویسهایی هستند که دیگر استفاده نمیکنید. تقاطع این دو، اولویت اول است.
- روی هر شبکه جداگانه چک کنید
مجوزها مال یک شبکه مشخصاند. اگر روی چند شبکه فعال بودهاید، فهرست هر کدام جداست و یکی دیگری را پوشش نمیدهد.
لغو کردن — و هزینهای که دارد
لغو کردن یعنی سقف را صفر کنید، و صفر کردن سقف یعنی یک تراکنش تازه روی شبکه. مثل هر تراکنش دیگری، این هم کارمزد شبکه دارد و مقدارش به شبکه و شلوغی همان لحظه بستگی دارد.
نتیجه عملیاش این است که توصیه رایج «همه مجوزها را لغو کن» رایگان نیست. اگر ده مجوز فعال دارید، ده تراکنش است — و روی شبکه گران، جمعش میتواند از ارزش چیزی که محافظت میکنید بیشتر شود. پس ترتیب مهم است:
- اول: سقف نامحدود روی قراردادی که دیگر استفاده نمیکنید
بیشترین ریسک با کمترین هزینه فرصت. اینجا هیچ چیزی را نمیشکنید.
- بعد: سقف نامحدود روی قراردادی که هنوز استفاده میکنید
میتوانید بهجای صفر کردن، سقف را به اندازه نیازتان کم کنید. یادتان باشد: اول صفر، بعد مقدار جدید.
- آخر: مجوزهای با سقف کوچک
ریسکشان محدود به همان سقف است. اگر کارمزد شبکه بالاست، عجلهای نیست.
و اگر کیف پولی دارید که مدتهاست دست نزدهاید و موجودی قابل توجهی هم ندارد، لغو کردن مجوزهایش ممکن است اصلاً صرف نکند. تصمیم را با نگاه به مبلغی که واقعاً در معرض است بگیرید، نه با تعداد ردیفهای فهرست.
تله: ابزار لغو جعلی
اینجا یک وارونگی تلخ وجود دارد. کسی که تازه فهمیده مجوزهای فراموششدهای دارد، نگران است و عجله دارد — و دقیقاً همین حالت، بهترین شرایط برای فریبخوردن است. الگویی که تکرار میشود این است: صفحهای که شبیه یک ابزار معتبر لغو مجوز است، ولی بهجای صفر کردن سقف، از شما امضایی میگیرد که مجوز تازهای میدهد یا دارایی را منتقل میکند.
سه قاعده که این حالت را تقریباً کامل میبندد:
- آدرس را خودتان تایپ یا بوکمارک کنید
نه از تبلیغ بالای نتایج جستوجو، نه از لینک دایرکت و گروه، نه از توییت. دامنههای جعلی معمولاً یک حرف با اصل فرق دارند.
- متن تراکنش را قبل از امضا بخوانید
لغو مجوز باید مقدار را صفر کند. اگر پنجره تأیید از انتقال دارایی یا دادن مجوز تازه حرف میزند، همان جا لغو کنید.
- هیچ ابزاری عبارت بازیابی نمیخواهد
هیچکدام. اگر جایی این را پرسید، همان لحظه ببندید — بحث مجوز نیست، بحث کل کیف پول است. جزئیاتش در مقاله عبارت بازیابی.
اشتباههای رایج
اولی یک تنظیم محلی است و دومی یک تراکنش روی زنجیره. اولی جای دومی را نمیگیرد.
مجوز به آدرس شما وصل است، نه به نرمافزاری که روی دستگاهتان نصب است.
راحتیاش امروز است و ریسکش تا روزی که لغو کنید باقی میماند. برای قرارداد ناشناخته، سقف بگذارید.
هر لغو یک تراکنش است. اولویتبندی کنید، وگرنه هزینه از فایده بیشتر میشود.
همان لحظهای که ترسیدهاید، بیشترین احتمال را دارید که روی دامنه جعلی امضا بزنید.
مجوزها شبکهبهشبکهاند. فهرست یک شبکه چیزی درباره بقیه نمیگوید.
سوالهای پرتکرار
اگر کیف پولم را از سایت disconnect کنم کافی نیست؟
نه. قطع اتصال فقط اجازه آن سایت برای دیدن آدرس و درخواست امضا را برمیدارد. مجوزی که قبلاً به قرارداد دادهاید یک وضعیت جدا روی زنجیره است و تا وقتی صفر نشود باقی میماند.
مجوز نامحدود واقعاً خطرناک است؟
بهخودیخود یک نقص نیست و بسیاری از سرویسهای شناختهشده از آن استفاده میکنند. ریسکش این است که سقفی برای بدترین حالت نمیگذارد: اگر روزی در آن قرارداد نقصی پیدا شود، محدودیتی برای آنچه میتواند برداشته شود وجود ندارد.
لغو مجوز چقدر هزینه دارد؟
عدد ثابتی ندارد. لغو یک تراکنش معمولی است و کارمزدش به شبکه و شلوغی همان لحظه بستگی دارد؛ روی شبکههای ارزان ناچیز است و روی شبکه گران میتواند قابل توجه شود.
باید همه مجوزها را لغو کنم؟
لازم نیست و معمولاً بهصرفه هم نیست. اولویت با سقفهای نامحدودِ قراردادهایی است که دیگر استفاده نمیکنید. لغو مجوز سرویسی که فعالانه از آن استفاده میکنید، فقط یعنی دفعه بعد باید دوباره تأیید کنید و کارمزد بدهید.
اگر قرارداد معتبر باشد باز هم باید نگران باشم؟
اعتبار امروز، تضمین فردا نیست. کد میتواند نقص کشفنشده داشته باشد و اختیارات مدیریتی میتواند دست کسی بیفتد که نباید. مجوز فراموششده یعنی شما پیشفرض گرفتهاید که تا ابد همهچیز درست میماند.
از کجا بفهمم ابزار لغو جعلی است؟
مطمئنترین راه این است که اصلاً وارد این قضاوت نشوید: آدرس را از بوکمارک خودتان باز کنید و متن تراکنش را قبل از امضا بخوانید. لغو مجوز باید مقدار را صفر کند؛ هر چیزی غیر از این، همان جا متوقف شود.
منابع
- EIP-20: Token Standard متن استاندارد: تعریف مجوز و سقف، و توصیه به صفر کردن سقف پیش از تعیین مقدار تازه
- ethereum.org — ERC-20 Token Standard توابع استاندارد توکن و نقش مجوز در انتقال توسط شخص ثالث
- ethereum.org — Gas and fees چرا لغو مجوز کارمزد دارد و چرا مقدارش ثابت نیست
سلب مسئولیت: این مطلب آموزشی است و توصیه مالی، سرمایهگذاری یا حقوقی محسوب نمیشود. مدیریت مجوزها ریسک را کم میکند، حذف نمیکند. هیچ ابزار، قرارداد یا سرویسی در این صفحه تأیید یا توصیه نشده و تراکنشهای روی زنجیره برگشتناپذیرند.