การโจมตีแบบแซนด์วิช บน Solana และวิธีป้องกัน MEV
สวอปขึ้นว่าสำเร็จแต่เงินหายไปทีละนิด การโจมตีแบบแซนด์วิชทำอะไรในบล็อกเดียว และตั้ง slippage กับซอยไม้อย่างไรให้บอทไม่คุ้มที่จะกิน

หน้าจอขึ้นว่าสวอปสำเร็จ กราฟก็นิ่งเหมือนเดิม แต่จำนวนโทเคนที่เข้ากระเป๋าเงินน้อยกว่าตัวเลขที่เห็นตอนกดยืนยันอยู่นิดหนึ่ง ส่วนต่างไม่กี่ดอลลาร์ตรงนั้นมีชื่อเรียกของมัน คือการโจมตีแบบแซนด์วิช
ตัวเลขที่มีการรายงานกันประเมินว่าบอทแซนด์วิชดูดเงินออกจากเทรดเดอร์ทั่วไปบน Solana ไปแล้วราว 500 ล้านดอลลาร์ ทีละไม่กี่ดอลลาร์ ในขณะที่กราฟดูสงบ บทความนี้ไล่ว่าการโจมตีแบบแซนด์วิชทำอะไรในบล็อกเดียว ทำไม MEV ยังทำงานได้บน Solana และเกราะไหนที่ตั้งได้เลยวันนี้
การโจมตีแบบแซนด์วิชคืออะไร
สวอปคือการแลกโทเคนตัวหนึ่งเป็นอีกตัวหนึ่ง เหมือนแลกดอลลาร์เป็นยูโรที่เคาน์เตอร์สนามบิน ต่างกันตรงที่การซื้อของคุณเองดันราคาขึ้นไปนิดหนึ่งเสมอ เพราะพูลทำงานแบบนั้น
การโจมตีแบบแซนด์วิชคือการที่บอทวางคำสั่งของมันไว้ทั้งหน้าและหลังไม้ของคุณ เพื่อกินส่วนต่างตรงกลาง มันเห็นคำสั่งที่กำลังเข้ามาแล้วทำสามอย่างรวดในบล็อกเดียว บล็อกคือชุดธุรกรรมที่เครือข่ายยืนยันพร้อมกัน และ Solana ปิดบล็อกหนึ่งในเวลาไม่ถึงหนึ่งวินาที
- มันซื้อโทเคนตัวเดียวกัน ก่อนหน้าคุณ เพื่อดันราคาขึ้น
- ไม้ของคุณเข้าเป็นลำดับถัดมา จึงจับที่ราคาที่ถูกดันแล้ว
- บอท ขายทันที ที่ราคาซึ่งไม้ของคุณช่วยยกขึ้นไป แล้วเก็บส่วนต่างไป
คุณคือไส้ตรงกลาง บอทคือขนมปังสองแผ่น ไม้ของคุณยังขึ้นว่าสำเร็จ คุณจึงเดินต่อ กราฟดูไม่ขยับเพราะขาไปและขากลับจบในจังหวะเดียวกัน
MEV คืออะไร และทำไมยังเกิดบน Solana
เครื่องยนต์เบื้องหลังมีชื่อว่า MEV ย่อจาก Maximum Extractable Value คือเงินที่บอทคั้นออกมาจากการสลับลำดับหรือแทรกธุรกรรมรอบไม้ของคุณ ใครกำหนดลำดับธุรกรรมในบล็อกได้ คนนั้นมีโอกาสทำกำไรจากลำดับนั้น
ตรงนี้คนเข้าใจผิดกันบ่อย บน Ethereum ธุรกรรมที่รอยืนยันไปนั่งรวมกันในห้องรอสาธารณะที่เรียกว่า mempool ส่วน Solana ไม่มีห้องรอแบบนั้น ไม้ของคุณวิ่งผ่านผู้ให้บริการเชื่อมต่อ ซึ่งคือบริการที่ส่งธุรกรรมเข้าเครือข่าย แล้วตรงไปหา validator ที่จะสร้างบล็อกถัดไป แล้วบอทเห็นไม้ของคุณได้อย่างไร คำตอบคือมีรูรั่วสองรู
- ผู้ให้บริการเชื่อมต่อบางรายส่งต่อไม้ที่รออยู่ของคุณให้เครือข่ายบอทที่ตกลงกันไว้แบบเงียบ ๆ
- คิวของ validator ที่กำลังสร้างบล็อกถูกอ่านได้โดยบอทที่ทำงานร่วมกับมัน
ปัญหาบน Solana จึงไม่ใช่ห้องรอกระจก แต่เป็นประตูข้างสองบานที่เปิดค้างไว้ การโจมตีส่วนใหญ่ถูกยัดเข้ามาผ่าน Jito ซึ่งเปิดให้ส่งชุดธุรกรรมผนึกที่เรียกว่า bundle พร้อมลำดับตายตัวและทิป โดย validator จะรับทั้งชุดหรือไม่รับเลย
มีจุดพลิกที่ควรจำ กลไก bundle เดียวกับที่บอทใช้เอาเปรียบ กลายเป็นเกราะได้เมื่อคุณเป็นคนใช้เอง รายละเอียดว่ามันรับประกันอะไรบ้างอยู่ในบทความเรื่อง Jito bundle รับประกันอะไร ส่วนกฎรับทั้งชุดหรือไม่รับเลยเขียนไว้ตรง ๆ ในเอกสารทางการของ Jito
สิ่งที่เกิดขึ้นในเวลาไม่ถึงหนึ่งวินาที
ใส่ตัวเลขจริงให้ดู สมมติคุณจะสวอป SOL มูลค่า 1,000 ดอลลาร์ไปเป็นมีมคอยน์ตัวเล็ก โดยเปิดเพดานป้องกันราคาไว้กว้างสุด พอกดยืนยัน ลำดับข้างล่างนี้เกิดขึ้นในบล็อกเดียว
- บอทเห็นคำสั่งซื้อ 1,000 ดอลลาร์ที่กำลังเข้ามา แล้วซื้อตัดหน้าคุณเสี้ยววินาที ดันราคาขึ้นราว 5%
- ไม้ของคุณจับที่เรตที่แย่ลง จำนวนเหรียญที่ได้จึงน้อยกว่าที่หน้าจอบอกไว้ตอนแรก
- บอทขายทิ้งทันทีที่ราคาซึ่งไม้ของคุณยกขึ้นไป แล้วเดินออกไปพร้อมเงินราว 40 ดอลลาร์
กระเป๋าเงินขึ้นว่าสวอปสำเร็จ มีมคอยน์ก็อยู่ในมือ เงิน 40 ดอลลาร์ที่รั่วไปมองไม่เห็น จนกว่าจะย้อนไปเทียบเรตที่คาดไว้กับเรตที่ได้จริง คูณด้วยหลักพันไม้ต่อวัน แล้วจะเห็นว่าตัวเลขที่รายงานกันมาจากไหน
slippage คือเกราะฟรีที่ทำงานหนักที่สุด
ถ้าจำจากบทความนี้ได้เรื่องเดียว ขอให้เป็น slippage มันคือระดับที่ราคาแย่ลงได้มากที่สุดก่อนที่ไม้จะยกเลิกตัวเอง เหมือนสั่งเพื่อนไว้ว่าซื้อขนมปังที่ 3 ดอลลาร์ แต่ถ้าเกิน 3 ดอลลาร์ 30 เซนต์เมื่อไรให้ข้ามไป
เพดานที่แคบคือฝาปิดว่าบอทเอาไปจากคุณได้มากสุดเท่าไร ถ้ามันดันราคาเกินขีดที่ตั้งไว้ ไม้ของคุณถูกยกเลิกทันที และแซนด์วิชทั้งชิ้นก็พังตรงนั้น บอทเหลือโทเคนที่ซื้อมาดักไม้ซึ่งไม่เคยเกิดขึ้นค้างอยู่ในมือ
ไม้ที่ถูกยกเลิกมีต้นทุนแค่ค่าธรรมเนียมเครือข่ายก้อนจิ๋วก้อนเดียว เอกสารทางการของ Solana เรื่องธุรกรรม เขียนสองเรื่องนี้ไว้คู่กัน ธุรกรรมสำเร็จหรือย้อนกลับทั้งก้อน และค่าธรรมเนียมถูกหักทั้งสองทาง เทียบกับแซนด์วิชที่สำเร็จซึ่งกินเป็นเปอร์เซ็นต์ของทั้งไม้ นี่คือฝั่งที่ถูกกว่ามาก
จะแคบแค่ไหนขึ้นกับความลึกของพูล พูลคือกองโทเคนสองฝั่งที่สวอปเข้าไปแลกด้วย พูลลึกอย่างคู่ SOL กับ USDC มีเงินข้างในเยอะ ไม้แทบไม่ขยับราคา เพดานจึงแคบได้ ส่วนมีมคอยน์ที่เพิ่งออกอยู่ในพูลบางและเหวี่ยงแรง ต้องเผื่อเพิ่มอีกหน่อย
| ประเภทพูล | ตัวอย่าง | slippage ที่แนะนำ |
|---|---|---|
| พูลลึกและใหญ่ | SOL คู่กับ USDC | 0.5% ถึง 1% |
| พูลขนาดกลาง | โทเคนกลางที่ตั้งตัวได้แล้ว | 1% ถึง 2% |
| พูลบางและใหม่ | มีมคอยน์ที่เพิ่งออก | 2% ถึง 3% |
ตั้ง slippage ไว้สูงลิ่วอย่าง 50% มีค่าเท่ากับตะโกนว่าจับไม้ให้ผมที่ราคาไหนก็ได้ เท่ากับเชิญบอทแซนด์วิชทุกตัวที่เฝ้าอยู่ให้เข้ามากิน ส่วนการตั้งบางเฉียบอย่าง 0.1% บนมีมคอยน์ที่วิ่งแรง แปลว่าไม้ถูกยกเลิกตลอดจากการแกว่งปกติ โดยไม่ได้การป้องกันกลับมา จับช่วงให้ตรงกับพูล

ตัวเลขละเอียดกว่านี้แยกตามโทเคนและเส้นทางอยู่ในคู่มือเลือกค่า slippage ให้ถูกกับพูล
สี่ขั้นตอนเลี่ยงการโจมตีแบบแซนด์วิช
ไม่ต้องเป็นผู้เชี่ยวชาญก็ปลอดภัยได้ นี่คือสี่ขั้นตอนสำหรับคนที่เทรดปกติ
- ตั้ง slippage ให้แคบ ตามช่วงในตารางด้านบน ลำพังข้อนี้ก็ปัดการโจมตีส่วนใหญ่ที่เล็งไม้เล็กออกไปแล้ว
- ใช้สวอปคลิกเดียวที่หาเส้นทางอย่างซื่อสัตย์ เครื่องมือสวอปโทเคนคลิกเดียว จัดเส้นทางผ่าน Jupiter แสดงราคาเสนอสดก่อนคุณกดยืนยัน และรันการตรวจการทำงานบนเชนให้ด้วย
- เทรดทีละไม้เล็ก หรือซอยไม้ใหญ่ออกเป็นชิ้น บอทแซนด์วิชส่วนใหญ่ข้ามไม้ที่เล็กกว่าราว 500 ถึง 1,000 ดอลลาร์ เพราะค่าธรรมเนียมเครือข่ายบวกทิปกินกำไรจนหมด เครื่องมือซอยสวอปหลายกระเป๋าเงิน รันสวอปเดียวกันข้ามหลายกระเป๋าตามลำดับที่กำหนดไว้เป๊ะ ไม้ก้อนโตจึงกลายเป็นชิ้นเล็กที่ลอดใต้เกณฑ์ของบอท ค่าธรรมเนียมปัจจุบันแสดงอยู่บนหน้าเครื่องมือ
- ดูพูลก่อนแตะ โทเคนที่ความเป็นเจ้าของกระจุกอยู่ในไม่กี่กระเป๋าเงินคือพูลที่ปั่นง่ายกว่า เครื่องมือสแนปช็อตผู้ถือโทเคน แสดงว่าใครถืออยู่บ้างและกระจุกแค่ไหน
ข้อที่ปลอบใจมือใหม่ได้มากที่สุดคือบอทมักไม่สนใจไม้เล็ก สวอป 50 หรือ 100 ดอลลาร์ด้วย slippage ที่สมเหตุสมผล แทบแน่ใจได้ว่าอยู่ต่ำกว่าเรดาร์ อันตรายเริ่มตอนที่ไม้ใหญ่พอจะคุ้มแรงบอท
อะไรเปลี่ยนไปในปี 2026
ปีนี้ฝั่งตั้งรับก็ขยับเยอะ มีสามอย่างที่กำลังเปลี่ยนเกมของบอทแซนด์วิชบน Solana
- Jito DontFront บังคับให้ไม้ของคุณอยู่หัวแถวสุดของ bundle ปิดท่าซื้อตัดหน้าแบบง่าย ๆ ไปได้ ช่วยได้เยอะ แต่ไม่ได้หยุดทุกรูปแบบที่กว้างกว่านั้น
- JitoBAM หรือ mempool แบบเข้ารหัส เก็บไม้ของคุณเป็นความลับด้วยฮาร์ดแวร์ที่ปลอดภัย จนถึงวินาทีที่มันทำงานจริง บอทวางแผนกับสิ่งที่มันอ่านไม่ได้ไม่ถูก ตอนนี้กำลังทยอยเปิดใช้
- อัปเกรด Alpenglow ที่ยังทำอยู่ ดึงจุดที่ธุรกรรมกลายเป็นถาวรหรือ finality ลงมาต่ำกว่าราว 150 มิลลิวินาที เร็วกว่าเดิมราว 100 เท่า ช่องเวลาที่บอทอาศัยอยู่จึงถูกบีบ
ไม่มีอันไหนเป็นปุ่มวิเศษ การป้องกันเป็นการซ้อนหลายชั้น และชั้นไหนเหมาะกับใครขึ้นกับขนาดไม้และความลึกของพูล
| สถานการณ์ของคุณ | การป้องกันที่พอดี |
|---|---|
| ไม้เล็ก ต่ำกว่าราว 500 ดอลลาร์ | slippage แคบอย่างเดียวมักพอ บอทมักข้ามคุณไป |
| ไม้เดี่ยวก้อนใหญ่ ตั้งแต่ 1,000 ดอลลาร์ขึ้นไป | slippage แคบ บวกการซอยไม้ข้ามหลายกระเป๋าเงิน |
| เทรดมีมคอยน์ใหม่ที่พูลบาง | ดูพูลก่อน แล้วตั้ง 2% ถึง 3% |
| เข้าพร้อมกันตอนเปิดตัว สำหรับคนที่ชำนาญแล้ว | ทำ bundle ผนึกของคุณเอง เพื่อไม่ให้สไนเปอร์แทรกเข้ามา |
ขั้นสูง สำหรับคนเปิดตัวโทเคนและคนรันหลายกระเป๋าเงิน
หัวข้อนี้เป็นของคนที่กำลังเปิดตัวโทเคนหรือคุมกระเป๋าเงินหลายใบพร้อมกัน ถ้าคุณเทรดปกติ ข้ามไปได้เลย
ตอนเปิดตัวโทเคนแล้วอยากให้กระเป๋าเงินหลายใบของคุณเข้าให้สวย เส้นทางที่เปิดโล่งจะเหลือช่องให้สไนเปอร์ ซึ่งคือบอทที่แข่งกันซื้อวินาทีที่โทเคนมีชีวิต
การส่ง bundle ผนึกของคุณเอง ซึ่งเป็นชุดลำดับตายตัวที่ validator รับทั้งชุดหรือไม่รับเลย เท่ากับล็อกลำดับไม้ของคุณไว้ ไม่มีบอทข้างนอกแทรกเข้ามาระหว่างกลางได้ วันเปิดตัวกระเป๋าเงินทุกใบจึงลงพร้อมกัน วิธีที่บอทพวกนี้ทำงานอยู่ในบทความเรื่อง sniper bot ทำงานอย่างไร

เครื่องมือเทรดแบบบันเดิล ซื้อจากหลายกระเป๋าเงินในบล็อกเดียวกันผ่าน Jito bundle รองรับ Raydium, Pump.fun และ Moonshot แนวคิดลำดับผนึกอันเดียวกันใช้กับขาออกได้ด้วย ค่าธรรมเนียมปัจจุบันแสดงอยู่บนหน้าเครื่องมือ
สิ่งที่ดูเหมือนการป้องกันแต่ไม่ใช่
มีทริกยอดนิยมไม่กี่อย่างที่ให้แค่ความรู้สึกปลอดภัยปลอม
- ปิดการตรวจ preflight การปิดด่านตรวจก่อนส่งไม่ได้ซ่อนไม้ของคุณจากบอท มันแค่ถอดราวกันตกออกหนึ่งชั้น
- เทรดตอนตีสาม บอทไม่นอน มันคือซอฟต์แวร์ที่รันบนเซิร์ฟเวอร์ยี่สิบสี่ชั่วโมง ชั่วโมงที่เงียบสำหรับคนคือชั่วโมงปกติของมัน
- ตราที่เขียนว่าปลอดแซนด์วิช ภาษาการตลาดไม่ใช่การรับประกัน ถ้าถามว่ามันทำงานอย่างไรแล้วคำตอบคลุมเครือ ให้มองว่าเป็นของประดับ
- ตั้ง slippage 0.1% กับทุกอย่าง บนพูลลึกก็พอไหว แต่บนมีมคอยน์ที่บาง มันแค่ทำให้ไม้พังตลอดเวลาในขณะที่คุณคิดว่าตัวเองปลอดภัย
แซนด์วิช front-running และ back-running ต่างกันอย่างไร
สามคำนี้ถูกใช้ปนกันบ่อย แต่อธิบายท่าที่ต่างกันของบอท
- front-running คือคำสั่งซื้อเดี่ยวที่วางไว้หน้าไม้ของคุณ บอทเข้าก่อนแล้วขี่ราคาที่ไม้ของคุณดันขึ้น
- back-running คือคำสั่งเดี่ยวที่วางไว้หลังไม้ของคุณ มักเพื่อเก็บช่องว่างราคาที่ไม้ของคุณเปิดไว้ และบ่อยครั้งไม่ได้ทำให้คุณเสียอะไรโดยตรง
- การโจมตีแบบแซนด์วิช คือทำทั้งสองอย่างพร้อมกัน บอทซื้อตัดหน้า ปล่อยให้ไม้ของคุณดันราคาขึ้น แล้วขายกลับเข้ามาในช่อง slippage ที่คุณเปิดไว้เอง
ทุกแซนด์วิชมี front-running อยู่ข้างใน แต่ไม่ใช่ทุก front-running จะเป็นแซนด์วิช ขาขายปิดท้ายจะคุ้มก็ต่อเมื่อเพดานของคุณเหลือช่องพอให้มัน บีบช่องนั้นแล้วแซนด์วิชก็ไม่คุ้มแรงบอทอีกต่อไป
คำถามที่พบบ่อยเรื่องการโจมตีแบบแซนด์วิช
โดนแซนด์วิชแล้วขอเงินคืนได้ไหม
ไม่ได้ ไม้นั้นเคลียร์บนเชนไปแล้ว และกำไรของบอทก็ออกไปในบล็อกเดียวกัน จึงไม่มีใครให้ไปทวง สิ่งที่เปลี่ยนได้คือไม้ถัดไป เพดานที่แคบลงบวกเส้นทางที่ระวังกว่าทำให้การโจมตีแบบเดิมเลิกคุ้ม
ไม้เล็ก ๆ โดนแซนด์วิชด้วยหรือเปล่า
นาน ๆ ครั้ง บอทแซนด์วิชส่วนใหญ่ข้ามไม้ที่ต่ำกว่าราว 500 ถึง 1,000 ดอลลาร์ เพราะค่าธรรมเนียมเครือข่ายกับทิปกินกำไรจนหมด สวอป 100 ดอลลาร์ที่ตั้ง slippage สมเหตุสมผลมักไม่คุ้มแรงบอท
ใช้ RPC ส่วนตัวแล้วกันแซนด์วิชได้ไหม
ได้บางส่วน Solana ไม่มี mempool สาธารณะ รูรั่วจึงมาจากผู้ให้บริการที่แชร์ออเดอร์โฟลว์ และจากคิวของ validator ที่สร้างบล็อก ผู้ให้บริการที่เก็บไม้ของคุณเงียบไว้ช่วยลดการเปิดเผยได้ แต่งานหนักส่วนใหญ่ยังเป็นของ slippage ที่แคบ
Jito กันการโจมตีแบบแซนด์วิชได้ไหม
ได้บางส่วน กฎหัวแถวอย่าง DontFront ดันไม้ของคุณไปอยู่หน้าสุดของ bundle จึงปิดท่าซื้อตัดหน้าแบบคลาสสิก แต่มันไม่ลบทุกรูปแบบ และไม่ได้มาแทนการตั้ง slippage ให้พอดี ถ้าเป็นสวอปเดี่ยวธรรมดา คุณไม่ต้องใช้ bundle เลย
ควรตั้ง slippage แคบแค่ไหน
พูลเป็นคนตอบ บนคู่ลึกอย่าง SOL กับ USDC ที่ 0.5% ถึง 1% จับได้และยังกันราคาแย่ให้ด้วย โทเคนกลางที่ตั้งตัวแล้วใช้ 1% ถึง 2% ส่วนมีมคอยน์ที่เพิ่งออกอยู่ที่ 2% ถึง 3% ถ้าไม้หนึ่งต้องกว้างกว่านั้นมากถึงจะผ่าน ให้ลดขนาดคำสั่งแทนการเปิดเพดาน
ไม้ถัดไปควรเริ่มจากอะไร
สามอย่างพอ จับเพดานให้ตรงกับความลึกของพูล ซอยเงินก้อนใหญ่เป็นหลายชิ้น และถ้าเป็นโทเคนที่เพิ่งเจอ ให้ดูการกระจายของผู้ถือก่อน ส่วน bundle ผนึกเก็บไว้ใช้ตอนเปิดตัวโทเคนก็พอ
สรุปสำหรับเทรดเดอร์ทั่วไป
บอทแซนด์วิชมีจริงและเก็บเงินไปแล้วไม่น้อย โดยที่คนส่วนใหญ่ไม่รู้ตัวว่าถูกเจียดไปทีละนิด ข่าวดีคือทางแก้สำหรับเทรดเดอร์ทั่วไปแทบไม่มีค่าใช้จ่าย ไม้ปลีกก้อนเล็กนั้น ลำพัง slippage ที่แคบก็ทำให้คุณเป็นเป้าที่ไม่น่าสนใจพอแล้ว
วิธีอ่านความลึกของพูลอยู่ในบทความเรื่องความลึกของ liquidity pool ส่วนจะเลือกสวอปที่ไหนดูได้จากการเทียบ Jupiter, Raydium และ Orca
บทความนี้มีไว้เพื่อให้ความรู้ ไม่ใช่คำแนะนำทางการเงิน การเทรดโทเคนมีความเสี่ยงจริงรวมถึงการสูญเงินทั้งก้อน และไม่มีการป้องกันใดลบความเสี่ยงนั้นออกไปได้ หาข้อมูลเอง ตัดสินใจเอง และเทรดเท่าที่รับความเสียหายไหว


