การโจมตีแบบแซนด์วิช บน 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 เซนต์เมื่อไรให้ข้ามไป
slippage ที่แคบกำหนดเพดานว่าบอทเอาไปจากคุณได้มากสุดเท่าไร ถ้ามันดันราคาเกินขีดที่ตั้งไว้ ไม้ของคุณถูกยกเลิกทันที และแซนด์วิชทั้งชิ้นก็พังตรงนั้น บอทเหลือโทเคนที่ซื้อมาดักไม้ซึ่งไม่เคยเกิดขึ้นค้างอยู่ในมือ
ไม้ที่ถูกยกเลิกมีต้นทุนแค่ค่าธรรมเนียมเครือข่ายนิดเดียว เอกสารทางการของ Solana เรื่องธุรกรรม ระบุไว้ว่าธุรกรรมสำเร็จหรือย้อนกลับทั้งก้อน และค่าธรรมเนียมถูกหักทั้งสองกรณี เทียบกับแซนด์วิชที่สำเร็จ ซึ่งกินไปเป็นเปอร์เซ็นต์ของทั้งไม้ การถูกยกเลิกถูกกว่ากันมาก
slippage ควรแคบแค่ไหนขึ้นกับความลึกของพูล พูลคือกองโทเคนสองฝั่งที่สวอปเข้าไปแลกด้วย พูลลึกอย่างคู่ 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 ซึ่งแต่ละชุดลงบล็อกเดียวครบทั้งชุด รองรับ Pump.fun, PumpSwap และ Raydium ฝั่งขายใช้แนวคิดลำดับผนึกเดียวกัน ค่าธรรมเนียมปัจจุบันแสดงอยู่บนหน้าเครื่องมือ
สิ่งที่ดูเหมือนการป้องกันแต่ไม่ใช่
มีทริกยอดนิยมไม่กี่อย่างที่ให้ความรู้สึกปลอดภัยแบบหลอก ๆ
- ปิดการตรวจ 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
บทความนี้มีไว้เพื่อให้ความรู้ ไม่ใช่คำแนะนำทางการเงิน การเทรดโทเคนมีความเสี่ยงจริงรวมถึงการสูญเงินทั้งก้อน และไม่มีการป้องกันใดลบความเสี่ยงนั้นออกไปได้ หาข้อมูลเอง ตัดสินใจเอง และเทรดเท่าที่รับความเสียหายไหว


