การอนุมัติโทเคนในคริปโตคืออะไร? วงเงินการใช้จ่ายทำงานอย่างไรและควรเพิกถอนเมื่อใด | KTX Crypto Exchange

KTX
KTX
  • ปรับปรุงเมื่อ
KTX Learn cover illustrating token approvals, a spending limit and control over access

สวอปอาจเสร็จสิ้นแล้ว แต่สิทธิ์ที่อยู่เบื้องหลังยังคงใช้งานอยู่ การอนุมัติโทเคนทำให้ที่อยู่ที่ระบุสามารถใช้จ่ายโทเคนจากกระเป๋าของคุณได้ ภายใต้ขอบเขตอำนาจที่คุณมอบให้ การปิดแอปพลิเคชันไม่ได้ลบสิทธิ์ดังกล่าวเสมอไป

คู่มือนี้มุ่งเน้นโทเคน ERC-20 บน Ethereum และเครือข่าย EVM อื่น ๆ มาตรฐานโทเคนและบล็อกเชนอื่นอาจใช้ระบบสิทธิ์ที่แตกต่างกัน สิ่งสำคัญในทางปฏิบัติคือการทำความเข้าใจผู้ใช้จ่าย จำนวน และขอบเขตก่อนอนุมัติ จากนั้นลบสิทธิ์ที่คุณไม่จำเป็นต้องใช้อีกต่อไป

วงเงินการใช้จ่ายคือขีดจำกัดการใช้จ่ายที่ผูกกับผู้ใช้จ่าย

ในกระบวนการทำงานของ ERC-20 โดยทั่วไป approve จะกำหนดวงเงินการใช้จ่าย allowance จะแสดงจำนวนที่เหลือ และ transferFrom อนุญาตให้ผู้ใช้จ่ายที่ได้รับสิทธิ์โอนโทเคนภายใต้กฎของสัญญาโทเคน โดยทั่วไป ธุรกรรมการอนุมัติจะเป็นการกำหนดสิทธิ์ ส่วนการดำเนินการในภายหลังของแอปพลิเคชันจะนำสิทธิ์นั้นไปใช้

ให้ระบุสี่สิ่ง ได้แก่ เครือข่าย สัญญาโทเคน ที่อยู่เจ้าของ และที่อยู่ผู้ใช้จ่าย ชื่อเว็บไซต์ไม่ใช่ตัวสิทธิ์เอง ผู้ใช้จ่ายอาจเป็นสัญญาของแอปพลิเคชันหรือที่อยู่อื่น และโค้ดของผู้ใช้จ่ายจะเป็นตัวกำหนดว่าสามารถใช้สิทธิ์ดังกล่าวได้อย่างไร

ลองพิจารณากระเป๋าสมมติที่ถือโทเคนอยู่ 200 โทเคน คุณอนุมัติให้ผู้ใช้จ่ายใช้โทเคนได้ 100 โทเคน ยอดคงเหลือจะยังคงเป็น 200 จนกว่าโทเคนจะถูกโอนจริง หากผู้ใช้จ่ายโอน 40 โทเคนภายใต้วงเงินแบบจำกัดมาตรฐาน ยอดคงเหลือของคุณจะกลายเป็น 160 และวงเงินที่เหลือจะกลายเป็น 60 ตัวเลขทั้งสองนี้แยกจากกัน

ผู้ใช้จ่ายอาจใช้สิทธิ์ที่เหลือได้โดยไม่ต้องแสดงข้อความขออนุมัติอีกครั้ง ทั้งนี้ขึ้นอยู่กับกฎของสัญญาที่เกี่ยวข้อง โดยปกติการอนุมัติใหม่จะแทนที่วงเงินเดิมด้วยจำนวนที่คุณระบุ ไม่ได้เพิ่มจำนวนนั้นเข้าไปในขีดจำกัดเดิมโดยอัตโนมัติ

Hypothetical finite ERC-20 allowance: approve 100 tokens, spend 40, retain an allowance of 60, then confirm revocation to set that allowance to zero
วงเงินการใช้จ่ายจะติดตามจำนวนที่อนุญาตให้ใช้จ่าย ส่วนยอดคงเหลือในกระเป๋าจะติดตามจำนวนโทเคนที่ถืออยู่

การอนุมัติแบบไม่จำกัดอาจครอบคลุมเงินฝากในอนาคต

แอปพลิเคชันอาจขอวงเงินจำนวนมากเพื่อที่คุณจะได้ไม่ต้องอนุมัติใหม่ทุกธุรกรรม วิธีนี้ช่วยลดขั้นตอนที่ต้องทำซ้ำและค่าใช้จ่ายในการอนุมัติ แต่ก็ทำให้มีจำนวนที่อยู่ภายใต้อำนาจของผู้ใช้จ่ายมากขึ้น

การใช้งานบางรูปแบบที่พบได้ทั่วไปถือว่าวงเงินจำนวนเต็มสูงสุดเป็นวงเงินไม่จำกัด และจะไม่ลดลงเมื่อมีการใช้โทเคน อย่าสันนิษฐานว่าการใช้งานแต่ละครั้งจะค่อย ๆ ลดสิทธิ์แบบไม่จำกัด

วงเงินการใช้จ่ายยังคงอยู่ได้แม้ยอดคงเหลือของโทเคนจะเป็นศูนย์ หากภายหลังคุณได้รับโทเคนชนิดเดิมเพิ่มที่อยู่นั้นบนเครือข่ายเดียวกัน สิทธิ์ที่มีอยู่อาจกลับมาใช้งานได้อีกครั้ง การที่กระเป๋าแสดงยอดว่างไม่ได้ยืนยันว่​​าสิทธิ์เดิมถูกลบไปแล้ว

การเลือกขีดจำกัดที่น้อยลงจะลดจำนวนที่สามารถใช้ผ่านสิทธิ์นั้นได้ แต่ไม่ได้ยืนยันว่าแอปพลิเคชันนั้นน่าเชื่อถือหรือธุรกรรมที่เสนอนั้นเหมาะสม

เพิกถอนสิทธิ์ที่คุณมอบให้จริง

ตรวจสอบวงเงินการใช้จ่ายเมื่อคุณหยุดใช้แอปพลิเคชัน ไม่สามารถระบุผู้ใช้จ่ายได้ พบว่าขีดจำกัดสูงเกินความจำเป็น หรือทราบถึงเหตุการณ์ด้านความปลอดภัยที่เกี่ยวข้อง เป้าหมายคือการลบช่องทางที่ไม่จำเป็นต่อการใช้จ่าย

  1. ตรวจสอบบัญชีและเครือข่าย สิทธิ์บนเชนหนึ่งแยกจากสิทธิ์บนอีกเชนหนึ่ง
  2. ระบุโทเคนและผู้ใช้จ่าย ใช้หน้าจอสิทธิ์ของกระเป๋าที่เชื่อถือได้หรือบล็อกเอ็กซ์พลอเรอร์ที่เหมาะสม ป้ายชื่อที่คุ้นเคยเพียงอย่างเดียวไม่ได้ยืนยันที่อยู่
  3. อ่านการเปลี่ยนแปลงที่เสนอ สำหรับวงเงิน ERC-20 มาตรฐาน การเพิกถอนมักส่งธุรกรรมบนเชนเพื่อกำหนดวงเงินของผู้ใช้จ่ายนั้นเป็นศูนย์ ยืนยันโทเคน ผู้ใช้จ่าย และจำนวนใหม่
  4. ตรวจสอบการยืนยัน การเพิกถอนบนเชนมีค่าแก๊สของเครือข่าย แม้บริการจะเป็นผู้สนับสนุนค่าใช้จ่ายก็ตาม ตรวจสอบว่าธุรกรรมสำเร็จและวงเงินที่เกี่ยวข้องแสดงการเปลี่ยนแปลงตามที่ต้องการแล้ว

การเพิกถอนที่ยังรอดำเนินการยังไม่ได้เปลี่ยนแปลงสถานะของเชน ผู้ใช้จ่ายอาจดำเนินการได้ก่อนที่ธุรกรรมจะได้รับการยืนยัน การเพิกถอนที่เสร็จสมบูรณ์จะจำกัดการใช้งานวงเงินนั้นในอนาคต แต่ไม่สามารถเรียกคืนโทเคนที่โอนไปแล้วได้

การตัดการเชื่อมต่อเว็บไซต์จะเปลี่ยนการเชื่อมต่อของกระเป๋ากับเว็บไซต์นั้น การอนุมัติบนเชนที่มีอยู่ต้องเปลี่ยนแปลงแยกต่างหาก หากคีย์ส่วนตัวหรือคำกู้คืนรั่วไหล สิทธิ์เป็นเพียงส่วนหนึ่งของเหตุการณ์เท่านั้น การเพิกถอนไม่ได้ลบความสามารถของบุคคลอื่นในการลงนามด้วยคีย์เหล่านั้น

หากคุณใช้กระเป๋าส่วนตัวร่วมกับ KTX ให้แยกสิทธิ์ของกระเป๋าออกจากความปลอดภัยของบัญชีแพลตฟอร์ม คู่มือกระเป๋าแบบมีผู้ดูแลและไม่มีผู้ดูแลของ KTX อธิบายว่าใครเป็นผู้ควบคุมการอนุมัติธุรกรรมและการกู้คืน ดู คู่มือการสำรองข้อมูลวลีเริ่มต้นของ KTX เพื่อปกป้องข้อมูลการกู้คืน และอย่ามอบคำกู้คืนให้เว็บไซต์ที่เสนอจะเพิกถอนสิทธิ์

สิทธิ์ที่ลงนามแล้วต้องตรวจสอบเพิ่มเติม

กระเป๋าอาจขอให้คุณลงนามแทนการส่งธุรกรรมอนุมัติทันที ลายเซ็นยังสามารถสร้างอำนาจที่มีนัยสำคัญได้ ตัวอย่างเช่น ERC-2612 permits อนุญาตให้บุคคลอื่นส่งการอนุญาตที่คุณลงนามแล้วเพื่อกำหนดวงเงินการใช้จ่าย

กำหนดเวลาของ permit จะจำกัดช่วงเวลาที่สามารถส่งลายเซ็นนั้นได้ แต่ไม่ได้กำหนดวันหมดอายุให้กับวงเงิน ERC-20 ปกติที่เกิดขึ้นตามมาโดยอัตโนมัติ การกำหนดวงเงินเป็นศูนย์ก็ไม่ได้ทำให้ลายเซ็น permit เก่าที่ยังไม่ได้ใช้เป็นโมฆะเสมอไป ต้องพิจารณากฎเกี่ยวกับ nonce และความถูกต้องแยกต่างหาก

Permit2 เพิ่มอีกชั้นหนึ่ง ได้แก่ การอนุมัติของโทเคนให้กับสัญญา Permit2 ตามด้วยสิทธิ์สำหรับแอปพลิเคชันแต่ละรายการ สิทธิ์ที่อิงตามวงเงินและการโอนด้วยลายเซ็นแบบใช้ครั้งเดียวของ Permit2 มีกฎที่แตกต่างกันเกี่ยวกับจำนวน วันหมดอายุ และ nonce

ตรวจสอบแต่ละชั้นที่เกี่ยวข้องและการอนุญาตที่ลงนามแล้วซึ่งยังค้างอยู่ เครื่องมือตรวจสอบที่อ่านวงเงินปัจจุบันบนเชนอาจไม่แสดงลายเซ็นทั้งหมดที่ลงนามแล้วแต่ยังไม่ได้ส่ง หน้าจอวงเงินที่ดูน่าเชื่อถือไม่สามารถแสดงสิทธิ์ที่ยังไม่ปรากฏให้เห็นได้

คำถามที่พบบ่อย

ฉันจำเป็นต้องมีการอนุมัติ ERC-20 เพื่อส่ง ETH แบบเนทีฟหรือไม่?

การโอน ETH แบบเนทีฟตามปกติไม่ใช้วงเงิน ERC-20 Wrapped ETH เป็นโทเคนและสามารถใช้กลไกดังกล่าวได้ สิทธิ์ระดับบัญชีเป็นอีกเรื่องหนึ่ง

การอนุมัติแบบไม่จำกัดครั้งเดียวครอบคลุมสินทรัพย์ทุกอย่างในกระเป๋าของฉันหรือไม่?

การอนุมัติ ERC-20 ทั่วไปเกี่ยวข้องกับโทเคนและผู้ใช้จ่ายที่เฉพาะเจาะจง ไม่ได้ครอบคลุมโทเคนหรือ NFT ทุกชนิดโดยอัตโนมัติ อย่างไรก็ตาม คำขอลงนามครั้งเดียวอาจมีสิทธิ์หลายรายการอยู่ภายใน ดังนั้นให้ตรวจสอบขอบเขตทั้งหมด

เหตุใดกระเป๋าจึงอาจขอให้ฉันกำหนดวงเงินเป็นศูนย์ก่อนเปลี่ยนแปลงวงเงิน?

การใช้งานโทเคนบางรูปแบบกำหนดให้ทำเช่นนั้น และการแทนที่วงเงินที่ไม่ใช่ศูนย์อาจทำให้เกิดความเสี่ยงจากการจัดลำดับธุรกรรม ให้ปฏิบัติตามขั้นตอนที่รองรับ การรีเซ็ตไม่สามารถยกเลิกการใช้จ่ายที่เกิดขึ้นแล้วได้

กระเป๋าฮาร์ดแวร์จะหยุดการอนุมัติที่เป็นอันตรายหรือไม่?

กระเป๋าช่วยปกป้องคีย์สำหรับลงนามได้ แต่คุณยังสามารถอนุมัติสิทธิ์ที่เป็นอันตรายด้วยคีย์เหล่านั้นได้ ตรวจสอบรายละเอียดธุรกรรมและผู้ใช้จ่าย อย่าพึ่งพาอุปกรณ์เพียงอย่างเดียว

การอนุมัติ NFT ทำงานเหมือนวงเงินโทเคนหรือไม่?

ERC-721 รองรับการอนุมัติ NFT รายการหนึ่งรายการและการอนุมัติผู้ดำเนินการสำหรับ NFT ทั้งสัญญา สิ่งเหล่านี้แตกต่างจากวงเงินตามจำนวนของ ERC-20 ตรวจสอบมาตรฐานและขอบเขตก่อนเพิกถอน

บทความนี้ให้ความรู้ทั่วไป ไม่ใช่คำแนะนำด้านความปลอดภัยหรือการลงทุนเฉพาะบุคคล การใช้งานโทเคนและอินเทอร์เฟซของกระเป๋าอาจแตกต่างกัน อย่าเปิดเผยคีย์ส่วนตัวหรือวลีกู้คืน

บทความนี้มีประโยชน์หรือไม่

0 จาก 0 เห็นว่ามีประโยชน์

มีคำถามเพิ่มเติมหรือไม่ ส่งคำร้องขอ