22 มี.ค. 2022 เวลา 00:30 • คริปโทเคอร์เรนซี
มารู้จักการ “Revoke” - การยกเลิกสิทธิ์การเข้าถึงเหรียญจาก Smart Contract ต่างๆ
เมื่อการใช้งานกระเป๋าคริปโตเพื่อเชื่อมต่อแพลตฟอร์ม DeFi ต่างๆนั้น
👉ไม่ปลอดภัยเสมอไป!👈
มาดูความน่ากลัวของการเชื่อมต่อกระเป๋าแบบไม่ระวัง และการ Revoke เพื่อความปลอดภัยกัน
🎯 การ Revoke คืออะไร ?
Revoke คือการยกเลิกสิทธิ์การเข้าถึงเหรียญใดๆของเราจาก Smart Contract ที่เราเคยไปกดให้สิทธิ์ (Approve) ไว้นั่นเอง โดยทั่วไปการ Approve นั้น จะทำ 1 เหรียญ ต่อ 1 Smart contract ต่อ 1 ครั้ง มักพบได้ทั่วไปในการฟาร์มเหรียญใน DeFi หรือการทำธุรกรรมอื่นๆที่เกี่ยวข้อง
ตัวอย่างง่ายๆ เวลาเราจะ Stake เหรียญๆหนึ่งผ่าน MetaMask เราจำเป็นที่จะต้องให้สิทธิ์เข้าถึงเหรียญของเรากดว่าจะอนุญาตให้ฝากจำนวนเท่านี้นะ แล้วค่อยกดฝากเหรียญอีกที นั่นแหล่ะคือการ Approve
หากคุณไม่รู้จัก MetaMask สามารถอ่านได้ที่นี่ 👇
หากคุณไม่รู้จัก Smart Contract สามารถอ่านได้ที่นี่ 👇
หากคุณไม่รู้จัก DeFi สามารถอ่านได้ที่นี่ 👇
🎯 ทำไมต้อง Revoke ?
อย่างที่รู้กันไปแล้วว่า เราจำเป็นต้อง Approve ให้ Smart Contract เข้าถึงเหรียญเราได้ และนั่นแหล่ะคือปัญหา จะเกิดอะไรขึ้นถ้าตัว Smart Contract แอบใส่โค้ดอะไรแปลกๆไว้ เช่น สามารถดึงเหรียญของเราได้ตลอดเวลา! 😱
โดยปกติการ Approve สามารถระบุจำนวนได้ หรือจะระบุแบบ Unlimited ก็ได้ โดย Metamask และแพลตฟอร์มส่วนใหญ่มักจะตั้งค่าเป็น Unlimited หากไม่ชัวร์เราก็สามารถเข้าไปแก้ไขสิทธิ์ได้โดยกดที่ “Edit permission” บน MetaMask ขณะที่จะทำการ Approve แล้วใส่จำนวนเหรียญที่เราต้องการได้เลย
*แต่ระวังจำนวนเหรียญที่กำหนดเองไม่เท่ากันกับที่จะ Approve ด้วย ผลที่ตามมาคือ Transaction fail หากกลัวพลาดก็อาจจะเลือก Unlimited ไปก่อน เสร็จแล้วเราค่อยไป Revoke ออกก็ได้นะ
1
🎯 Revoke อย่างไร ?
วิธี Revoke นั้นไม่ซับซ้อนเท่าไหร่ และมีเครื่องมือช่วยทำให้มันง่ายขึ้นมาก
1. เข้าไปที่เว็บไซต์ https://app.unrekt.net/ แล้วทำการเชื่อมต่อกับ MetaMask ของเรา (จริงๆมีหลายเว็บให้เลือกใช้เลย เช่น Polygonscan, BSCscan และอื่นๆ)
2. เมื่อเชื่อมต่อกับกระเป๋าแล้ว หน้าเว็บจะแสดงเหรียญที่มีการ Approve ทั้งหมด ไม่ว่าคุณจะไป Approve ที่ไหนก็ตาม ให้กด “Revoke” เหรียญนั้นๆที่ต้องการได้เลย
*การ Revoke จะต้องเสียค่าธรรมเนียม (Gas) เล็กน้อยด้วยนะ
เรียบร้อยแล้ว 2 ขั้นตอนง่ายๆ คำถามคือ แล้วมันจะมีผลอะไรกับเหรียญนั้นๆมั้ย ? คำตอบคือ ไม่จ้า ทุกอย่างยังอยู่ปกติดี แต่เมื่อเรา Revoke ไปแล้ว เราจะ Stake / Unstake หรือโยกย้ายเหรียญไม่ได้ จนกว่าเราจะกด Approve ใหม่ (ก็เสียค่า Gas ใหม่อีกรอบ แฮะๆ 😅… แต่ก็แลกกับความปลอดภัย)
สรุปอีกครั้งแบบง่ายๆ ถ้าเราจะทำอะไรกับเหรียญโดยใช้ Smart Contract กับที่อื่น ต้องมีการ Approve ให้สิทธิ์เข้าถึงเหรียญ โดยจะกำหนดปริมาณที่เข้าถึงได้ หรือไม่จำกัดก็ได้
และความน่ากลัวคือ หากแพลตฟอร์มที่เรา Approve ไปนั้นมีโค้ดคำสั่ง หรือช่องโหว่ที่ทำให้ใครคนหนึ่งสามารถโยกย้ายเหรียญเราได้ตลอดเวลา มันก็จะเป็นปัญหา ทางแก้ก็คือ เราสามารถ Revoke หรือกำหนดปริมาณเหรียญไว้ได้นั่นเอง
โฆษณา