สิทธิ์อนุมัติโทเคน (Token Approval): กระเป๋าเงินถูกดูดเงินอย่างไร และวิธียกเลิกสิทธิ์
คู่มือฉบับปฏิบัติเพื่อทำความเข้าใจสิทธิ์อนุมัติโทเคน (Token Approval) วิธีที่สัญญาอันตรายดูดเงินจากกระเป๋าเงินของคุณ พร้อมขั้นตอนตรวจสอบและยกเลิกสิทธิ์อย่างปลอดภัยบนเครือข่ายอย่าง BEP20
เคยไหมที่คุณเชื่อมกระเป๋าเงินเข้ากับเว็บไซต์ dApp ด้วยการกดปุ่ม "Approve" เพียงครั้งเดียว แล้วก็ลืมมันไปเลย? ช่วงเวลาสั้น ๆ นั้นอาจเปิดค้างไว้นานเป็นปี และมันคือหนึ่งในวิธีที่พบบ่อยที่สุดที่กระเป๋าเงินถูกดูดเงินไปในปัจจุบัน บทความนี้จะอธิบายว่า "สิทธิ์อนุมัติโทเคน" (Token Approval) คืออะไร มิจฉาชีพใช้ประโยชน์จากมันอย่างไร และที่สำคัญที่สุดคือวิธีตรวจสอบและยกเลิกสิทธิ์ด้วยตัวเองทีละขั้นตอน
สิทธิ์อนุมัติโทเคน (Token Approval) คืออะไร
เหรียญอย่าง USDT บนเครือข่าย BEP20 เป็นโทเคนที่ไม่สามารถเคลื่อนย้ายได้เอง เมื่อคุณต้องการใช้งานมันในแอปพลิเคชันแบบกระจายศูนย์ ไม่ว่าจะเป็นการสวอป การเพิ่มสภาพคล่อง หรือสัญญาอัจฉริยะใด ๆ สัญญานั้นจะต้อง ได้รับอนุญาตล่วงหน้า ให้ดึงโทเคนออกจากกระเป๋าเงินของคุณ สิทธิ์นี้เรียกว่า "Allowance" และคุณเป็นผู้มอบให้ผ่านธุรกรรม "Approve"
ปัญหาคือแอปพลิเคชันจำนวนมากตั้งค่าเริ่มต้นให้ขอสิทธิ์แบบ ไม่จำกัด (Unlimited) นั่นหมายถึง "อนุญาตให้สัญญานี้ดึงโทเคนนี้จำนวนเท่าไรก็ได้ เมื่อไรก็ได้ ไม่มีวันสิ้นสุด" คุณเซ็นเพียงครั้งเดียว แต่ประตูจะเปิดค้างไว้จนกว่าคุณจะปิดมันเอง
การเซ็น "Approve" ไม่ได้ทำให้เงินของคุณเคลื่อนไหวในทันที แต่มันมอบกุญแจถาวรให้กับสัญญานั้น อันตรายไม่ได้อยู่ที่จำนวนเงินตอนนี้ แต่อยู่ที่สิทธิ์ที่เปิดค้างไว้ในอนาคต
สัญญาดูดเงินทำงานอย่างไร
สัญญาดูดเงิน (Approval Drainers) ไม่ได้ "แฮ็ก" กระเป๋าเงินของคุณโดยตรง แต่หลอกให้คุณเซ็นอนุญาตด้วยตัวเอง สถานการณ์ทั่วไปมักเป็นดังนี้
- คุณเข้าเว็บไซต์ปลอมที่หน้าตาคล้ายแพลตฟอร์มที่มีชื่อเสียง หรือถูกล่อด้วยข้อความเรื่อง "รางวัล" หรือ "แจกฟรี" (Airdrop)
- เว็บไซต์ขอเชื่อมต่อกับกระเป๋าเงินของคุณ แล้วแสดงหน้าต่างเซ็นที่ดูเหมือนเป็นขั้นตอนปกติ
- การเซ็นนั้นแท้จริงแล้วคือการมอบสิทธิ์ไม่จำกัดบนโทเคนที่คุณถืออยู่ (เช่น USDT หรือโทเคนของเครือข่าย)
- ไม่มีอะไรเกิดขึ้นให้เห็น คุณจึงคิดว่าล้มเหลวแล้วปิดหน้าเว็บไป
- หลังจากนั้นไม่กี่ชั่วโมงหรือหลายวัน ผู้โจมตีจะเรียกใช้ฟังก์ชัน
transferFromและดึงยอดเงินของคุณออกไปในครั้งเดียวหรือทีละน้อย
กลลวงที่อันตรายที่สุดคือลายเซ็น Permit และ Permit2 ซึ่งเป็นการเซ็น "นอกเชน" (off-chain) ที่ไม่เสียค่าแก๊สและไม่ปรากฏเป็นธุรกรรม แต่มอบสิทธิ์เต็มรูปแบบ จึงอาจดูเหมือนคำขอที่ไม่มีพิษภัยเลย
ไม่มีแพลตฟอร์มที่น่าเชื่อถือแห่งใดขอให้คุณ "เซ็นเพื่อรับรางวัล" หรือเปิดใช้บัญชีใหม่ด้วยการมอบสิทธิ์บนโทเคนของคุณ คำขอเซ็นเพื่อแลกกับเงินฟรีคือสัญญาณอันตรายที่แทบจะแน่นอน
สัญญาณเตือนก่อนเซ็น
- เว็บไซต์มาจากข้อความส่วนตัว โฆษณา หรือบัญชี "ฝ่ายสนับสนุน" ที่ทักคุณก่อน
- หน้าต่างกระเป๋าเงินแสดงคำว่า
ApproveหรือPermitสำหรับโทเคนที่คุณไม่ได้ตั้งใจจะสวอปตอนนี้ - สิทธิ์ที่ขอเป็นแบบ ไม่จำกัด ทั้งที่คุณต้องการใช้เพียงจำนวนน้อย
- สัญญาที่ได้รับสิทธิ์เป็นที่อยู่แปลกหน้า ไม่ผ่านการตรวจสอบ และไม่ปรากฏเป็นสัญญาที่รู้จักบน block explorer
- มีการเร่งรัดและกดดันเรื่องเวลา เช่น "ข้อเสนอหมดเขตในไม่กี่นาที"
วิธีตรวจสอบและยกเลิกสิทธิ์
ข่าวดีคือสิทธิ์เหล่านี้สามารถยกเลิกได้ทุกเมื่อ และขั้นตอนก็ไม่ยาก หลักการคือคุณส่งธุรกรรมที่ตั้งค่าวงเงินที่อนุญาตกลับเป็นศูนย์
ขั้นตอนปฏิบัติ
- เปิดเครื่องมือตรวจสอบสิทธิ์ (Revoke Tool) ที่เชื่อถือได้ผ่านเบราว์เซอร์ และพิมพ์ที่อยู่เว็บไซต์ด้วยตัวเอง อย่ากดลิงก์จากข้อความ
- เชื่อมต่อกระเป๋าเงิน หรือวิธีที่ปลอดภัยกว่าคือวางเฉพาะ ที่อยู่สาธารณะ เพื่อดูข้อมูลก่อนโดยไม่เชื่อมต่อจริง แล้วค่อยยืนยันการยกเลิกภายหลัง
- เลือกเครือข่ายให้ถูกต้อง (เช่น BNB Smart Chain สำหรับโทเคน BEP20)
- ตรวจดูรายการสิทธิ์ทั้งหมด แต่ละแถวจะแสดงโทเคน สัญญาที่ได้รับสิทธิ์ และวงเงินที่อนุญาต
- มองหาสิทธิ์ที่ ไม่จำกัด หรือสัญญาที่คุณไม่รู้จัก แล้วกด "Revoke"
- เซ็นธุรกรรมยกเลิกและจ่ายค่าแก๊สจำนวนเล็กน้อย จากนั้นรอการยืนยัน
การยกเลิกแต่ละครั้งบนเชนมีค่าแก๊สเล็กน้อย จัดลำดับความสำคัญโดยยกเลิกสิทธิ์ไม่จำกัดบนโทเคนที่มีมูลค่าสูงก่อน (เช่น USDT หรือโทเคนของเครือข่าย)
วิธีตรวจสอบสิทธิ์
| วิธีการ | ทำงานอย่างไร | หมายเหตุ |
|---|---|---|
| เครื่องมือยกเลิกสิทธิ์เฉพาะทาง | แสดงสิทธิ์ทั้งหมดและยกเลิกได้ในคลิกเดียว | เร็วที่สุด; ต้องตรวจสอบที่อยู่เว็บไซต์อย่างละเอียด |
| Block Explorer | แท็บ "Token Approvals" บนตัวสำรวจเครือข่าย | น่าเชื่อถือ อ่านข้อมูลตรงจากเชน |
| กระเป๋าเงินเอง | บางกระเป๋าเงินมีส่วนแสดงสิทธิ์ในตัว | สะดวกหากกระเป๋าเงินของคุณรองรับ |
นิสัยที่ปกป้องคุณในระยะยาว
- กำหนดจำนวนที่ต้องการ: เมื่อเซ็น "Approve" ให้เลือกวงเงินเท่าที่จำเป็นจริง ไม่ใช่ "ไม่จำกัด" หากแอปพลิเคชันอนุญาตให้เลือกได้
- ตรวจสอบเป็นประจำ: ทบทวนสิทธิ์ของคุณทุกสองสามสัปดาห์ และหลังใช้งานเว็บไซต์ใหม่ทุกครั้ง
- แยกกระเป๋าเงิน: ใช้กระเป๋าเงิน "ทดลอง" จำนวนน้อยสำหรับเว็บไซต์ใหม่ ๆ และกระเป๋าเงิน "เก็บสะสม" ที่ไม่เชื่อมต่อกับ dApp ใด ๆ เลย
- อ่านหน้าต่างเซ็นให้เข้าใจ: ตรวจดูชื่อฟังก์ชันและสัญญาที่ได้รับสิทธิ์ก่อนกดยืนยัน หากไม่เข้าใจ อย่าเซ็น
- ระวังลายเซ็นที่ไม่เสียแก๊ส: ลายเซ็น
Permitอาจไม่มีค่าธรรมเนียม แต่ก็มอบสิทธิ์เต็มรูปแบบเช่นกัน
เนื้อหานี้จัดทำขึ้นเพื่อให้ความรู้ด้านความปลอดภัยเท่านั้น ไม่ใช่คำแนะนำทางการเงิน กฎหมาย หรือศาสนา เครื่องมือยกเลิกสิทธิ์และชื่อเครือข่ายอาจเปลี่ยนแปลงได้ตลอดเวลา จึงควรตรวจสอบจากแหล่งที่มาทางการด้วยตัวเองก่อนเชื่อมกระเป๋าเงินหรือเซ็นเสมอ ความรับผิดชอบในการปกป้องกุญแจส่วนตัวและสิทธิ์ต่าง ๆ เป็นของคุณเพียงผู้เดียว
สรุป
สิทธิ์อนุมัติโทเคนเป็นเครื่องมือที่จำเป็นสำหรับแอปพลิเคชันแบบกระจายศูนย์ แต่ก็เป็นประตูหลังที่ถูกใช้ประโยชน์มากที่สุดเช่นกัน หลักการง่าย ๆ คือ อย่ามอบสิทธิ์เกินกว่าที่จำเป็น และยกเลิกสิทธิ์ที่ไม่ได้ใช้แล้ว ทำให้การตรวจสอบสิทธิ์เป็นกิจวัตรเหมือนการทำความสะอาดกระเป๋าเงิน แล้วคุณจะปิดประตูที่กว้างที่สุดของมิจฉาชีพก่อนที่พวกเขาจะมาเคาะ ที่ Paperino เราเชื่อว่าความปลอดภัยเริ่มต้นจากความตระหนักรู้ การยกเลิกสิทธิ์เพียงหนึ่งครั้งวันนี้ อาจปกป้องยอดเงินทั้งหมดของคุณในวันพรุ่งนี้
บทความที่เกี่ยวข้อง
ฟ้าลิขิตคนกล้า ข้ามไปอย่างใจกล้า — เพราะรางวัลเป็นของจริง