Определение
Allowance е базов елемент за сигурност, който задава количествен лимит върху това какво може друг адрес, обикновено smart contract, да прави с токените на даден потребител. Той представлява предварително одобрен таван за харчене или управление, който обикновено се съхранява във вътрешната отчетност на token контракта. Чрез задаване на allowance притежателят на токени делегира контролирани права на друга страна, без да прехвърля собствеността върху самите токени.
В много token стандарти allowance е тясно свързан с механизми за одобрение (approval), които записват каква сума определен разпоредител има право да прехвърля. Тази конструкция действа като детайлна граница за достъп, ограничавайки движенията на токени до максималното изрично разрешено количество. В резултат на това allowance е централен за начина, по който децентрализираните приложения прилагат Access Control върху потребителските баланси.
Контекст и употреба
Allowance обикновено се използва, когато потребител взаимодейства с on-chain приложения, които се нуждаят от временно или постоянно разрешение да прехвърлят токени от негово име. Стойността на allowance действа като предпазна релса, така че дори ако разпоредителят бъде компрометиран, той не може да надвиши предварително зададения лимит без ново упълномощаване. Тъй като това е постоянен on-chain запис, allowance остава в сила, докато не бъде променен или нулиран.
Неправилно конфигуриран или прекалено широк allowance може да увеличи експозицията към рискове като Approval Exploit модели, при които злонамерени или бъгави контракти злоупотребяват с дадените им права. Поради тази причина allowance се разглежда като основен елемент на дизайна на Access Control в token екосистемите, който определя доколко безопасно се делегират и ограничават разрешенията на ниво протокол.