Allowance
Last updated
Last updated
เคยสังเกตกันหรือไม่ครับว่าทุกครั้งที่เราได้ทำการเชื่อมต่อกระเป๋า (Wallet) เข้ากับ Farm หรือ Pool ใดๆ ในครั้งแรกจะมี Popup การขออนุญาตการเข้าถึงเด้งขึ้นมาให้เรากด Confirm เสมอ ไม่ว่าจะเป็นการ Swap, Stake, Deposit ซึ่งส่วนใหญ่เราจะกด Confirm ไปเลย ซึ่งตรงนี้เองที่เราหลายๆคนมองข้ามถึงความเสี่ยงตรงนี้ไป เพราะโดยปกติการขออนุญาตเข้าถึงกระเป๋า (Wallet) ของเราสำหรับ Token/LP นั้นๆ มักจะถูกตั้งค่าเป็นการขออนุญาตเข้าถึงแบบไม่จำกัด (Unlimited) อยู่ตลอดเพื่อให้สะดวกของฟาร์มที่จะมาบริหารจัดการให้เราและกรณีเดียวกับที่เราต้องไปดำเนินการต่างๆบน Farm ด้วย
หากเกิดว่า Farm หรือ Pool ที่เราได้อนุญาตให้สิทธิ์การเข้าถึงแบบไม่จำกัด (Unlimited) หรือมีผู้ไม่หวังดีใช้คำสั่ง SmartContract ดึง Token/LP ของเราไป นั่นหมายความว่า เค้าสามารถดึง Token/LP นั้นๆของเราไปได้ทั้งหมดเลยนะสิ! เพื่อความปลอดภัยของเราเอง ในแต่ละครั้งเราควรจะกำหนดจำนวน Token/LP ที่ต้องการจะใช้งานแบบระบุจำนวนไปเลยจะดีกว่าสามารถลดความเสี่ยงด้วยตัวเราเองได้เยอะ
Revoke ก็คือการใช้คำสั่งเพื่อยกเลิกสิทธิ์การเชื่อมต่อนั้นๆกับกระเป๋าของเราที่เราได้ทำไว้ก่อนหน้านี้ผ่าน Smart Contract ถึงจะมีฟังก์ชั่น Revoke มาช่วยแต่เราก็ไม่ควรจะชะล่าใจนะ เหมือนที่ได้บอกไปด้านบน ทางที่ดีเราควรจะมีการจำกัดจำนวน Token/LP นั้นๆก่อนการอนุญาตให้เข้าถึง Wallet ของเรา
จริงๆก็ไม่จำเป็นต้อง Revoke ทุกครั้งไป อย่าลืมว่าทุกครั้งที่เรามีการทำธุรกรรม (Transaction) มันมีค่า Gas แต่ Farm ประเภทที่เราควรจะต้อง Revoke เลยคือ Farm ที่ไม่ผ่านการ Audit Code, ให้ผลตอบแทนสูงมากๆ หรือที่เราเรียกกันติดปากว่า ฟาร์มซิ่ง ถ้าจำกัดวงให้แคบลงอีก เราควรจะเลือก Revoke กับ Token หลักที่เรามักได้ใช้อยู่เป็นประจำเช่น BTC, ETH, BNB, BUSD, USDT, DAI, USDC จำพวกนี้ก็พอ ส่วนพวก governent token ถ้าเราไม่ฟาร์มแล้ว ไม่มี governent token เหลืออยู่ใน wallet แล้ว แม้ จะมี สัญญาแบบ Unlimited ก็ไม่เป็นไร เพราะจะมาถึงเหรียญที่ไม่มีใน Wallet ดึงไปก็มีค่าเท่ากับศูนย์
ความแตกต่างของ Revoke ที่ SafeBSC มีไม่เหมือนที่อื่นคือ ความสะดวกในการดูว่า allowance นั้นมันอยู่ฟาร์มอะไร token อะไร ทำให้เราจำได้ว่า มันเกี่ยวกับตอนที่เราไปฟาร์ม เขาถึงบอกกันว่า ภาพมักทำให้เราเข้าใจก่อนได้เสมอ จะไปหาแบบนี้ที่ไหน ก็คงยากแล้วนะครับ มีบอกรายละเอียด ชื่อ, จำนวน Token/LP นั้นๆ รวมถึงแสดงข้อมูลว่าเชื่อมต่ออยู่กับที่ไหน และที่สำคัญก็คือ จำนวน Token/LP นั้นๆที่เราได้ให้สิทธิ์เข้าถึง Wallet ของเรา และสุดท้ายในส่วนของ Revoke ที่น่าจะมีที่เดียวในโลกใบนี้ คือการเพิ่มความสามารถในการรอข้อมูล Update ด้วยการแสดง Lock pending เข้ามาช่วยให้เราไม่สามารถกด Revoke ซ้ำได้ เราไม่ต้องเสียเงินซ้ำซ้อน เพราะความไม่เข้าใจอีกแล้ว ทีม DEV เราคิดถึงตรงนี้เพื่อทุกคนเลยนะ เพราะที่อื่น ที่เราไปกด Revoke จะแทบไม่บอกเลยว่ามันเสร็จหรือไม่เสร็จ ต้องไปกดซ้ำทำให้เสียค่า GAS เพิ่มโดยที่ไม่มีความจำเป็น