განსაზღვრება
Allowance არის უსაფრთხოების პრიმიტივი, რომელიც განსაზღვრავს რაოდენობრივ ზღვარს იმაზე, რას შეუძლია გააკეთოს სხვა მისამართს, როგორც წესი smart contract-ს, მომხმარებლის ტოკენებით. ის წარმოადგენს წინასწარ ნებადართულ ხარჯვის ან მართვის ზედა ზღვარს, რომელიც ჩვეულებრივ ინახება ტოკენის კონტრაქტის შიდა აღრიცხვაში. Allowance-ის დაყენებით, ტოკენის მფლობელი გადასცემს კონტროლირებად უფლებამოსილებას სხვა სუბიექტს ისე, რომ თავად ტოკენების საკუთრება არ გადადის.
ბევრ ტოკენის სტანდარტში allowance მჭიდროდ არის დაკავშირებული approval მექანიზმებთან, რომლებიც აღრიცხავენ, რამდენის გადატანა შეუძლია განსაზღვრულ spender-ს. ეს კონსტრუქცია მუშაობს როგორც წვრილმარცვლოვანი წვდომის საზღვარი, რომელიც ზღუდავს ტოკენების გადაადგილებას მხოლოდ იმ მაქსიმალურ ოდენობამდე, რომელიც აშკარად არის ნებადართული. შედეგად, allowance არის ცენტრალური ელემენტი იმისა, თუ როგორ უზრუნველყოფენ დეცენტრალიზებული აპლიკაციები Access Control-ს მომხმარებელთა ბალანსებზე.
კონტექსტი და გამოყენება
Allowance ჩვეულებრივ გამოიყენება მაშინ, როდესაც მომხმარებელი ურთიერთქმედებს on-chain აპლიკაციებთან, რომლებსაც სჭირდებათ დროებითი ან გრძელვადიანი ნებართვა, რომ გადაადგილონ ტოკენები მომხმარებლის სახელით. Allowance-ის მნიშვნელობა მოქმედებს როგორც დამცავი ზოლი, ისე რომ, თუნდაც spender კომპრომეტირებული იყოს, მან ვერ გადააჭარბოს წინასწარ განსაზღვრულ ზღვარს ახალი ავტორიზაციის გარეშე. იმის გამო, რომ allowance არის მუდმივი on-chain ჩანაწერი, ის ძალაში რჩება მანამ, სანამ არ შეიცვლება ან არ განულდება.
არასწორად კონფიგურირებულმა ან ზედმეტად ფართო allowance პარამეტრებმა შეიძლება გაზარდოს რისკების ზემოქმედება, მაგალითად Approval Exploit შაბლონების შემთხვევაში, როდესაც მავნე ან ხარვეზიანი კონტრაქტები ბოროტად იყენებენ მინიჭებულ ნებართვებს. ამ მიზეზით allowance განიხილება როგორც Access Control დიზაინის საბაზისო ელემენტი ტოკენის ეკოსისტემებში, რომელიც განსაზღვრავს, რამდენად უსაფრთხოდ ხდება ნებართვების დელეგირება და შეზღუდვა პროტოკოლის დონეზე.