คำจำกัดความ
Allowance คือกลไกพื้นฐานด้านความปลอดภัยที่กำหนด “วงเงิน” เชิงปริมาณว่า address อื่น (ซึ่งมักเป็น smart contract) สามารถทำอะไรกับโทเค็นของผู้ใช้ได้บ้าง โดยเป็นการกำหนดเพดานการใช้จ่ายหรือการจัดการล่วงหน้า ซึ่งมักถูกบันทึกไว้ในระบบบัญชีภายในของสัญญาโทเค็น การตั้งค่า allowance ทำให้ผู้ถือโทเค็นสามารถมอบอำนาจในการจัดการแบบมีการควบคุมให้กับอีกฝ่ายหนึ่งได้ โดยไม่ต้องโอนความเป็นเจ้าของโทเค็นจริง ๆ
ในมาตรฐานโทเค็นจำนวนมาก allowance จะผูกกับกลไก approval อย่างแนบแน่น เพื่อบันทึกว่าผู้ใช้ที่ถูกกำหนดให้เป็นผู้ใช้จ่าย (spender) สามารถโอนโทเค็นได้มากแค่ไหน โครงสร้างนี้ทำหน้าที่เป็นขอบเขตการเข้าถึงแบบละเอียด (fine-grained access boundary) ที่จำกัดการเคลื่อนย้ายโทเค็นไม่ให้เกินจำนวนที่ได้รับอนุญาตไว้อย่างชัดเจน ด้วยเหตุนี้ allowance จึงเป็นหัวใจสำคัญของวิธีที่แอปพลิเคชันแบบกระจายศูนย์บังคับใช้ Access Control กับยอดคงเหลือของผู้ใช้
บริบทและการใช้งาน
Allowance มักถูกใช้เมื่อผู้ใช้โต้ตอบกับแอปพลิเคชันบนเชนที่ต้องการสิทธิ์ชั่วคราวหรือสิทธิ์ต่อเนื่องในการย้ายโทเค็นแทนผู้ใช้ ค่า allowance ทำหน้าที่เป็นราวกันตก (guardrail) เพื่อให้แม้ว่าผู้ใช้จ่าย (spender) จะถูกโจมตีหรือถูกยึดครอง ก็ไม่สามารถใช้โทเค็นเกินวงเงินที่กำหนดไว้ได้ หากไม่มีการอนุมัติใหม่ เนื่องจากเป็นข้อมูลที่บันทึกถาวรบนเชน ค่า allowance จึงยังคงมีผลจนกว่าจะมีการเปลี่ยนแปลงหรือตั้งค่าใหม่
การตั้งค่า allowance ที่ผิดพลาดหรือกว้างเกินไปอาจเพิ่มความเสี่ยงต่อรูปแบบการโจมตีแบบ Approval Exploit ซึ่งสัญญาที่เป็นอันตรายหรือมีบั๊กอาจนำสิทธิ์ที่ได้รับไปใช้ในทางที่ผิด ด้วยเหตุนี้ allowance จึงถูกมองว่าเป็นองค์ประกอบหลักของการออกแบบ Access Control ในระบบนิเวศของโทเค็น ที่กำหนดว่าการมอบและจำกัดสิทธิ์ต่าง ๆ ในระดับโปรโตคอลจะปลอดภัยเพียงใด