Definícia
Allowance je základný bezpečnostný prvok, ktorý definuje kvantitatívny limit toho, čo môže iná adresa, typicky smart contract, robiť s tokenmi používateľa. Predstavuje vopred schválený limit na míňanie alebo správu, ktorý je zvyčajne uložený vo vnútornom účtovníctve tokenového smart contractu. Nastavením allowance držiteľ tokenov deleguje kontrolovanú právomoc na iný subjekt bez toho, aby previedol vlastníctvo samotných tokenov.
V mnohých tokenových štandardoch je allowance úzko prepojený s mechanizmami schvaľovania (approval), ktoré zaznamenávajú, koľko môže určený „spender“ presunúť. Táto konštrukcia funguje ako jemne nastavená prístupová hranica, ktorá obmedzuje pohyb tokenov na maximálnu sumu, ktorá bola výslovne autorizovaná. V dôsledku toho je allowance kľúčovým prvkom toho, ako decentralizované aplikácie vynucujú Access Control nad zostatkami používateľov.
Kontext a použitie
Allowance sa bežne používa, keď používateľ interaguje s on-chain aplikáciami, ktoré potrebujú dočasné alebo priebežné oprávnenie presúvať tokeny v mene používateľa. Hodnota allowance funguje ako ochranná hranica: aj keď je „spender“ kompromitovaný, nemôže prekročiť vopred definovaný limit bez novej autorizácie. Keďže ide o trvalý záznam on-chain, allowance zostáva v platnosti, kým nie je zmenený alebo resetovaný.
Nesprávne nastavený alebo príliš široký allowance môže zvýšiť vystavenie rizikám, ako sú vzory útokov typu Approval Exploit, pri ktorých škodlivé alebo chybné smart contracty zneužívajú udelené oprávnenia. Z tohto dôvodu sa na allowance pozerá ako na kľúčový prvok návrhu Access Control v tokenových ekosystémoch, ktorý určuje, ako bezpečne sú oprávnenia delegované a obmedzované na úrovni protokolu.