แซงแถวซื้อ NFT ด้วย flash loan และ MEV
1 min readJul 15, 2023
พอดีไปเจอ post NFT attack vector มา เลยอยาก note เก็บไว้หน่อยครับ
โดยสิ่งที่เกิดขึ้นคือ มีคนตั้งขาย NFT ที่ราคา 105 ETH แต่ดันกดผิดเป็นตั้งขายที่ 10 ETH
ของแพงขายถูก แบบนี้ คงมีคนมาแย่งกันซื้อแน่ๆ
แต่ทำยังไงถึงจะได้ซื้อเป็นคนแรกละ ?
ถ้าอยากแซงแถวก็ต้องจ่ายเงินพิเศษให้ miner เพื่อให้ tx โดนขุดเป็นคนแรก
แต่จะเอาเงินที่ไหนไปจ่าย miner ดี ? แค่ราคา NFT ก็ 10 ETH แล้ว
เราสามารถแซงแถวโดยไม่ต้องใช้ทุนได้รึเปล่า ?
คำตอบคือ ได้ โดยใช้ flashLoan และก็มีคนทำจริงๆด้วย
โดย step คร่าวๆที่เกิดขึ้นคือ
- คนขายลงราคาผิดจาก 105 ETH เป็น 10 ETH
- attacker flashLoan มา 48 ETH ไปซื้อ NFT มา
- attacker นำ NFT ไปขายในราคา 68 ETH
- attacker โอน 38 ETH ไปยัง F2 mining pool เพื่อติดสินบน miner ให้การซื้อขายครั้งนี้สำเร็จ ไม่โดนคนอื่นแย่ง
- จบการ flash loan ด้วยการคืน 48 ETH ที่ยืมมา
สรุปแล้ว attacker ทำกำไรไปได้ 68–38 = 20 ETH โดยไม่ต้องใช้ทุนเลย (ยกเว้นค่าแก๊ส)