Definicja
Allowance to podstawowy mechanizm bezpieczeństwa, który definiuje ilościowy limit tego, co inny adres – zazwyczaj smart contract – może zrobić z tokenami użytkownika. Reprezentuje on z góry udzielony limit wydatków lub zarządzania, zwykle przechowywany w wewnętrznej księgowości kontraktu tokenu. Ustawiając allowance, posiadacz tokenów deleguje kontrolowane uprawnienia innej jednostce, nie przenosząc jednocześnie własności samych tokenów.
W wielu standardach tokenów allowance jest ściśle powiązany z mechanizmami approval, które zapisują, jaką kwotą wskazany wydający (spender) może dysponować. Taka konstrukcja działa jak precyzyjna granica dostępu, ograniczając transfery tokenów do maksymalnej kwoty wyraźnie autoryzowanej. W rezultacie allowance jest kluczowym elementem tego, w jaki sposób zdecentralizowane aplikacje egzekwują Access Control nad saldami użytkowników.
Kontekst i zastosowanie
Allowance jest powszechnie używany, gdy użytkownik wchodzi w interakcję z aplikacjami on-chain, które potrzebują tymczasowego lub ciągłego uprawnienia do przenoszenia tokenów w imieniu użytkownika. Wartość allowance działa jak zabezpieczenie: nawet jeśli podmiot wydający (spender) zostanie skompromitowany, nie może przekroczyć z góry ustalonego limitu bez nowej autoryzacji. Ponieważ jest to trwały zapis on-chain, allowance pozostaje w mocy, dopóki nie zostanie zmieniony lub zresetowany.
Błędnie skonfigurowane lub zbyt szerokie ustawienia allowance mogą zwiększać narażenie na ryzyka, takie jak wzorce ataków typu Approval Exploit, w których złośliwe lub zawierające błędy kontrakty nadużywają przyznanych uprawnień. Z tego powodu allowance jest postrzegany jako kluczowy element projektowania Access Control w ekosystemach tokenów, kształtujący to, jak bezpiecznie uprawnienia są delegowane i ograniczane na poziomie protokołu.