تعریف
Allowance ایک بنیادی سکیورٹی میکانزم ہے جو یہ مقداری حد (quantitative limit) طے کرتا ہے کہ کوئی دوسرا ایڈریس، جو عموماً ایک smart contract ہوتا ہے، صارف کے ٹوکنز کے ساتھ کیا کچھ کرنے کا مجاز ہے۔ یہ پہلے سے دی گئی اجازت پر مبنی خرچ یا منیجمنٹ کی حد کو ظاہر کرتا ہے، جو عموماً ٹوکن کنٹریکٹ کے اندرونی اکاؤنٹنگ میں محفوظ ہوتی ہے۔ Allowance سیٹ کر کے، ٹوکن ہولڈر ٹوکنز کی ملکیت منتقل کیے بغیر کسی دوسری پارٹی کو محدود اور کنٹرولڈ اختیار سونپتا ہے۔
بہت سے ٹوکن اسٹینڈرڈز میں، allowance منظوری (approval) کے میکانزم کے ساتھ گہری طرح جڑی ہوتی ہے، جو ریکارڈ کرتی ہے کہ مخصوص spender کو کتنے ٹوکن منتقل کرنے کی اجازت ہے۔ یہ ساخت ایک باریک سطح کی رسائی کی حد (fine-grained access boundary) کے طور پر کام کرتی ہے، جو ٹوکن کی حرکت کو صرف اسی زیادہ سے زیادہ مقدار تک محدود رکھتی ہے جس کی واضح طور پر اجازت دی گئی ہو۔ اسی وجہ سے allowance اس بات کے لیے مرکزی حیثیت رکھتی ہے کہ ڈی سینٹرلائزڈ ایپلی کیشنز صارفین کے بیلنسز پر Access Control کیسے نافذ کرتی ہیں۔
سیاق و سباق اور استعمال
Allowance عموماً اس وقت استعمال ہوتی ہے جب کوئی صارف آن چین ایپلی کیشنز کے ساتھ انٹریکٹ کرتا ہے جنہیں صارف کی طرف سے ٹوکنز منتقل کرنے کے لیے عارضی یا مسلسل اجازت درکار ہو۔ Allowance کی ویلیو ایک حفاظتی حد (guardrail) کا کام کرتی ہے، تاکہ اگر spender کمپرومائز بھی ہو جائے تو وہ نئی اجازت کے بغیر پہلے سے طے شدہ حد سے زیادہ خرچ نہ کر سکے۔ چونکہ یہ آن چین مستقل ریکارڈ ہوتا ہے، اس لیے allowance اس وقت تک مؤثر رہتی ہے جب تک اسے تبدیل یا ری سیٹ نہ کر دیا جائے۔
غلط کنفیگر کی گئی یا حد سے زیادہ وسیع allowance سیٹنگز رسک میں اضافہ کر سکتی ہیں، مثلاً Approval Exploit کے پیٹرنز، جہاں بدنیت یا بگ والے کنٹریکٹس دی گئی اجازتوں کا غلط استعمال کرتے ہیں۔ اسی لیے allowance کو ٹوکن ایکو سسٹمز میں Access Control کے ڈیزائن کا بنیادی جزو سمجھا جاتا ہے، جو اس بات کو تشکیل دیتا ہے کہ پروٹوکول لیول پر اجازتیں کتنی محفوظ طریقے سے ڈیلیگیٹ اور محدود کی جاتی ہیں۔