Визначення
Allowance — це базовий механізм безпеки, який задає кількісне обмеження на те, що інша адреса, зазвичай smart contract, може робити з токенами користувача. Він відображає попередньо дозволений ліміт витрат або управління, який зазвичай зберігається у внутрішньому обліку токен-контракту. Встановлюючи allowance, власник токенів делегує контрольовані повноваження іншій сутності, не передаючи при цьому право власності на самі токени.
У багатьох стандартах токенів allowance тісно пов’язаний із механізмами approval, які фіксують, скільки саме може перемістити визначений витрачальник (spender). Ця конструкція працює як детальний кордон доступу, обмежуючи рух токенів максимальною сумою, що була явно дозволена. У результаті allowance є ключовим елементом того, як децентралізовані застосунки реалізують Access Control над балансами користувачів.
Контекст і використання
Allowance зазвичай використовується, коли користувач взаємодіє з on-chain застосунками, яким потрібен тимчасовий або постійний дозвіл переміщувати токени від імені користувача. Значення allowance виступає як запобіжник: навіть якщо витрачальник буде скомпрометований, він не зможе перевищити заздалегідь визначений ліміт без нової авторизації. Оскільки це постійний запис on-chain, allowance залишається чинним, доки його не змінять або не скинуть.
Неправильно налаштований або надто широкий allowance може підвищувати ризики, зокрема пов’язані з патернами експлойтів approval, коли зловмисні або контракти з багами зловживають наданими дозволами. Через це allowance розглядається як ключовий елемент дизайну Access Control в токен-екосистемах, що визначає, наскільки безпечно дозволи делегуються й обмежуються на рівні протоколу.