ทำไม MEV bot ถึงแย่งกัน skim pool stETH/ETH ?
แถมเรื่องชนิดของ liquid staking token ไปด้วย มาดูกันครับ
- MEV bot คือ bot ที่สร้างโดย miner/staker ของ chain ใดเชนหนึ่ง หากำไรด้วยการทำอะไรบางอย่าง ซึ่งวิธีหากำไรนั้น ทำได้ง่ายขึ้นเมื่อคนๆนั้น เป็น miner/staker (ถ้าเป็น wallet ธรรมดา จะทำวิธีการนั้นๆให้สำเร็จได้ยาก)
- Uniswap stETH/WETH pool คือ smart contract อันนึง ที่ถือเหรียญไว้ 2 ชนิด นั่นคือ stETH และ WETH
- skim คือ function นึงของทุกๆ Uniswap pool โดย function นี้จะเปิดให้ ใครก็ได้ เข้ามาเรียก โดยเมื่อถูกเรียกแล้ว function นี้จะทำการเช็ค 2 ค่าคือ
3.1 balance ของแต่ละเหรียญที่ pool นั้นถืออยู่ (เช็ค function balanceOf ที่ contract เหรียญเลย)
3.2 ค่า balance ที่ควรจะเป็นของ pool นั้นๆ (ค่า reserve) โดย balance เหล่านี้จะเกิดจากการ วาง/ถอน pool และการ swap
โดยถ้ามีคนโอนเหรียญเข้ามาให้ contract pool ตรงๆ … pool ก็จะเปิดให้ใครก็ได้มาถอนเหรียญส่วนเกินนั้น ผ่านการเรียก function skim นั่นเอง ตามรูป
4. การ rebase เหรียญเป็นหนึ่งในวิธีที่ platform liquid staking ใช้ในการแจก staking reward แก่คนที่ถือเหรียญของ platform … โดยวิธีในการแจก reward มีดังนี้
4.1 rebase token คือการให้ reward เป็นเหรียญเดิม
เช่น คนที่ถือ stETH ก็จะได้ stETH เพิ่ม เมื่อทาง platform ทำการแจกรางวัล
โดย platform ที่ใช้วิธีนี้ เช่น Lido
4.2 dual token คือการให้ reward เป็นเหรียญอื่น
เช่น คนที่ถือ frxETH ก็จะได้ sfrxETH เป็นรางวัลจาก platform
โดย platform ที่ใช้วิธีนี้ เช่น Frax
4.3 reward-bearing token คือการที่ platform จะช่วยดันราคาเหรียญของ platform ให้ เป็นรางวัล
เช่น คนที่ถือ swETH จะได้รับรางวัลเป็นการที่เหรียญ swETH ที่ตัวเองถือ ขึ้นราคา ตามสัดส่วนรางวัลของตนเอง
โดย platform ที่ใช้วิธีนี้ เช่น Swell
โอเค
แล้วทำไม MEV bot ถึงแย่งกัน skim pool stETH/ETH ?
โดยสิ่งที่เกิดขึ้นคือ
หลังจากที่ Lido ทำการ rebase เหรียญ stETH แล้ว คนที่ถือ stETH ทุกๆคน จะได้เหรียญ stETH เพิ่ม นี่ทำให้ stETH/ETH (Uniswap V2) pool ได้รับเหรียญเพิ่มเช่นกัน
โดยเมื่อ balance เหรียญที่ pool ถืออยู่ เกินจาก balance เหรียญที่มาจาก action ปกติที่เกิดกับ pool (การวาง/ถอน pool และ การ swap) … pool จะเปิดให้คนมาเอาเหรียญส่วนเกินไปได้เลย ผ่านการเรียก function skim
นี่ทำให้ หลังจากเกิดการ rebase stETH 1 block … MEV bot ต่างพากันแย่งเรียก skim ที่ stETH/ETH pool เพื่อทำการถอน 0.4 stETH ส่วนเกิน มาไว้ที่ตัวเองนั่นเอง