ข้ามไปยังเนื้อหาหลัก

การโจมตี Blockchain: การโจมตี 51%, การใช้จ่ายสองครั้ง และอื่น ๆ

เทคโนโลยี Blockchain มีชื่อเสียงในด้านความปลอดภัย แต่ก็ไม่ได้ปราศจากความเสี่ยง การเข้าใจเวกเตอร์การโจมตีที่คุกคาม Blockchain networks เป็นสิ่งสำคัญสำหรับบุคคลใดก็ตามที่ถือหรือทำธุรกรรมในสกุลเงินดิจิทัล แม้ว่าโปรโตคอล Blockchain เองได้แสดงการรับแรงกระแทกอย่างน่าทึ่ง — Bitcoin ไม่เคยถูกโจมตีอย่างสำเร็จในระดับโปรโตคอล — แต่ระบบนิเวศที่กว้างขึ่งของ wallets, exchanges, bridges และ smart contracts ต้องเผชิญกับภัยคุกคามอย่างต่อเนื่อง

คู่มือนี้จัดประเภทหมวดหมู่หลักของการโจมตี Blockchain, อธิบายวิธีการทำงาน, ให้ตัวอย่างจากโลกแห่งความเป็นจริง และแนะนำสำหรับการปกป้องสินทรัพย์ของคุณ

การโจมตีในระดับโปรโตคอล​

การโจมตีประเภทนี้มุ่งเป้าไปที่โปรโตคอล Blockchain เอง — กลไกการมีส่วนร่วม, โทโพโลยีเครือข่าย หรือรากฐานการเข้ารหัสลับ

การโจมตี 51% (Majority Attack)​

การโจมตี 51% เกิดขึ้นเมื่อนิติบุคคลเดียวหรือกลุ่มประสานงานได้รับการควบคุมมากกว่า 50% ของ hash power ของเครือข่าย Proof of Work (หรือมากกว่า 33%/67% ของ stake ในเครือข่าย Proof of Stake ขึ้นอยู่กับประเภทการโจมตี)

วิธีการทำงาน:

  1. ผู้โจมตีสะสม hash power ที่มีข้าง, โดยสร้าง/ซื้อฮาร์ดแวร์การขุด หรือเช่า hash power จากบริการเช่น NiceHash
  2. ผู้โจมตีเริ่มขุดเชนส่วนตัว — ส่วนแยก Blockchain ที่มีเฉพาะพวกเขาเท่านั้น
  3. บนเชนสาธารณะ, ผู้โจมตีส่งสกุลเงินดิจิทัลไปยัง exchange และขายเป็นเงินฟิยต หรือสกุลเงินดิจิทัลอื่น
  4. เมื่อ exchange เครดิตการขาย, ผู้โจมตีออกอากาศเชนส่วนตัว ซึ่งยาวกว่า (มีการสะสมงานมากขึ้น) กว่าเชนสาธารณะ
  5. เครือข่ายยอมรับเชนที่ยาวกว่าเป็นเชนที่ถูกต้อง และธุรกรรมดั้งเดิมของผู้โจมตีหายไป — เงินกลับคืนไปยังกระเป๋า Wallet ของผู้โจมตี
  6. ผู้โจมตีมีการใช้จ่ายเหรียญสองครั้งอย่างมีประสิทธิผล: ครั้งหนึ่งบน exchange (ได้รับการชำระเงิน) และครั้งหนึ่งบนเชนส่วนตัว (เหรียญที่ส่งกลับ)

ต้นทุนของการโจมตี 51%:

เครือข่ายต้นทุนการโจมตี 1 ชั่วโมงโดยประมาณ (2026)
Bitcoin10+ พันล้านดอลลาร์ (ปฏิบัติไม่ได้เลย)
Ethereum (PoS)30+ พันล้านดอลลาร์ (ได้มา 33% ของ ETH ที่เก็บไว้)
Litecoin~500K-1M ดอลลาร์
Bitcoin Cash~100K-300K ดอลลาร์
Ethereum Classic~10K-50K ดอลลาร์

ตัวอย่างจากโลกแห่งความเป็นจริง:

  • Ethereum Classic (2019, 2020): ประสบการโจมตี 51% หลายครั้งส่งผลให้มีการใช้จ่ายสองครั้งนับล้าน
  • Bitcoin Gold (2018, 2020): ถูกโจมตีหลายครั้ง โดยการโจมตีหนึ่งครั้งส่งผลให้มีการใช้จ่ายสองครั้ง 70,000+ ดอลลาร์
  • Verge (2018): ถูกโจมตีหลายครั้งเนื่องจากการออกแบบ PoW ที่ใช้หลายอัลกอริทึม

ข้อมูลเชิงลึก: การโจมตี 51% เป็นภัยคุกคามหลักต่อห่วงโซ่ PoW ที่มีขนาดเล็ก Hash rate ของ Bitcoin มหาศาลจนทำให้การโจมตี 51% ไม่สามารถนำไปใช้ได้ทางเศรษฐกิจ สำหรับห่วงโซ่ PoS ขนาดใหญ่เช่น Ethereum ต้นทุนในการได้มาซึ่ง stake ที่เพียงพอ (และแน่นอนว่าจะสูญเสียมันผ่าน slashing) ทำให้การโจมตีไม่สามารถนำไปใช้ได้เช่นเดียวกัน

การโจมตีแบบใช้จ่ายสองครั้ง​

การใช้จ่ายสองครั้ง — การใช้เงินเดียวกันสำหรับธุรกรรมที่แตกต่างกันสองครั้ง — เป็นปัญหาพื้นฐานที่ Blockchain ได้รับการออกแบบเพื่อแก้ไข แม้ว่าการโจมตี 51% เป็นวิธีหนึ่งในการใช้จ่ายสองครั้ง เทคนิคอื่น ๆ ก็มีอยู่สำหรับจำนวนที่น้อยกว่า:

Race attack (zero-confirmation):

  1. ผู้โจมตีส่งธุรกรรมไปยังพ่อค้าด้วยค่าธรรมเนียมต่ำ
  2. ในเวลาเดียวกัน, ผู้โจมตีส่งธุรกรรมขัดแย้ง (ใช้จ่ายเหรียญเดียวกัน) ให้กับตัวเอง ด้วยค่าธรรมเนียมที่สูงขึ้น
  3. หากพ่อค้ายอมรับการชำระเงินก่อนยืนยัน, ธุรกรรมค่าธรรมเนียมที่สูงกว่าจะมีแนวโน้มที่จะได้รับการยืนยันก่อน และการชำระเงินของพ่อค้าจะหายไป

Finney attack:

  1. คนขุด pre-mines บล็อกที่มีธุรกรรมส่งเหรียญให้กับตัวเอง
  2. จากนั้น, คนขุดส่งธุรกรรมขัดแย้งไปยังพ่อค้า
  3. หลังจากได้รับสินค้า/บริการ, คนขุดปล่อย pre-mined block ทำให้การชำระเงินของพ่อค้าไม่มีผล

การป้องกัน: เสมอรอให้ block confirmations เพียงพอก่อนที่จะพิจารณาธุรกรรมว่าเป็นที่สุดท้าย สำหรับจำนวนที่มีนัยสำคัญ, Bitcoin confirmations 6 ครั้งหรือการสิ้นสุดของ Ethereum (~15 นาที) ให้การป้องกันที่ชัดเจน

การขุดแบบเห็นแก่ตัว​

การขุดแบบเห็นแก่ตัวเป็นกลยุทธ์ที่คนขุดที่มี hash power มีนัยสำคัญ (แต่ไม่ใช่ข้าง) ปกปิดบล็อกที่ค้นพบ และปล่อยพวกมันโดยเชิงอย่างชาญฉลาดเพื่อเสียเวลาของคนขุดที่มีความซื่อสัตย์

วิธีการทำงาน:

  1. คนขุดแบบเห็นแก่ตัวค้นพบบล็อก แต่ไม่ออกอากาศทันที
  2. ในขณะที่คนขุดที่มีความซื่อสัตย์เสียเวลาผ้าเบสสายโต้งเก่า, คนขุดแบบเห็นแก่ตัวจะสร้างเชนส่วนตัวของตัวเอง
  3. คนขุดแบบเห็นแก่ตัวปล่อยบล็อกโดยชาญฉลาดเพื่อลบออกจากงานของคนขุดที่มีความซื่อสัตย์, ยึดส่วนแบ่งที่มีมูลค่าสูงกว่าของรางวัลบล็อก

ผลกระทบ: งานวิจัยแสดงให้เห็นว่าการขุดแบบเห็นแก่ตัวสามารถทำกำไรได้สำหรับคนขุดที่มี hash power เพียง 25-33% ของทั้งหมด (เกณฑ์ที่แน่นอนขึ้นอยู่กับการเชื่อมต่อเครือข่ายของคนขุด) อย่างไรก็ตาม ในทางปฏิบัติ, การขุดแบบเห็นแก่ตัวไม่ได้เป็นปัญหาที่สำคัญบนเครือข่ายหลัก เนื่องจากกลยุทธ์นี้สามารถตรวจหาได้, มีความเสี่ยง (เชนส่วนตัวสามารถลบออกได้) และแรงจูงใจทางเศรษฐกิจส่วนใหญ่สนับสนุนการขุดที่มีความซื่อสัตย์

การโจมตี Sybil​

การโจมตี Sybil เกี่ยวข้องกับการสร้างตัวตนปลอมมากมาย (โหนด) เพื่อให้ได้อิทธิพลที่ไม่สมดุลต่อเครือข่าย

วิธีการทำงาน:

  1. ผู้โจมตีสร้างโหนดปลอมนับพันบนเครือข่าย Blockchain
  2. โหนดเหล่านี้ล้อมรอบโหนดที่มีความซื่อสัตย์, ควบคุมมุมมองของเหยื่อต่อเครือข่าย
  3. จากนั้นผู้โจมตีสามารถตัดสินการทำธุรกรรม, ให้ข้อมูลเท็จ, หรือรบกวนการสื่อสารของเครือข่ายแบบ peer-to-peer

การป้องกัน: กลไกการมีส่วนร่วมของ Blockchain ได้รับการออกแบบโดยเฉพาะเพื่อป้องกันการโจมตี Sybil การสร้างโหนดปลอมใน PoW ไม่มีประโยชน์หากไม่มี hash power — แต่ละโหนดต้องพิสูจน์งานเพื่อสนับสนุนการมีส่วนร่วม ใน PoS, ผู้ตรวจสอบแต่ละคนต้องเก็บทุนจริงไว้ ต้นทุนของการเรียกใช้การโจมตี Sybil บน Blockchain ที่ออกแบบมาอย่างดีคือต้นทุนของการได้มาซึ่งทรัพยากร (hash power หรือ stake) ที่จำเป็นสำหรับการมีส่วนร่วมในการมีส่วนร่วม

การโจมตี Eclipse​

การโจมตี Eclipse มุ่งเป้าไปที่โหนดเฉพาะแทนที่จะเป็นเครือข่ายทั้งหมด, แยกตัวจากเพื่อนที่มีความซื่อสัตย์

วิธีการทำงาน:

  1. ผู้โจมตีระบุเพื่อนการเชื่อมต่อของโหนดเป้าหมาย
  2. ผู้โจมตีท่วมเป้าหมายด้วยคำขอการเชื่อมต่อจากโหนดที่ถูกควบคุมโดยผู้โจมตี
  3. การเชื่อมต่อของเพื่อนเป้าหมายจะถูกแทนที่ค่อย ๆ ด้วยโหนดที่ถูกควบคุมโดยผู้โจมตี
  4. เมื่อ eclipsed, เป้าหมายจะเห็นเฉพาะเวอร์ชันของ Blockchain ของผู้โจมตี
  5. ผู้โจมตีสามารถให้ธุรกรรมเท็จแก่เป้าหมาย, หน่วงเวลา หรือตัดสินข้อมูล, หรืออำนวยความสะดวกในการโจมตีใช้จ่ายสองครั้งต่อเหยื่อ eclipsed

ผลกระทบในโลกแห่งความเป็นจริง: การโจมตี Eclipse ได้ถูกสาธิตในเอกสารวิจัยต่อโหนด Bitcoin และ Ethereum พวกมันอันตรายที่สุดสำหรับไคลเอนต์ที่มีน้ำหนักเบา ซึ่งเชื่อมต่อกับเพื่อนไม่กี่คน

การป้องกัน: การใช้โหนดเต็ม ด้วยการเชื่อมต่อเพื่อนที่หลากหลาย, ใช้แหล่งข้อมูลหลายแหล่งเพื่อตรวจสอบสถานะของเชน, และรักษาการเชื่อมต่อเพื่อนที่คงที่กับโหนดที่น่าเชื่อถือ

การโจมตีระยะยาว (PoS specific)​

ในระบบ Proof of Stake, การโจมตีระยะยาวใช้ประโยชน์จากข้อเท็จจริงที่ว่าคีย์ของผู้ตรวจสอบเก่าอาจพร้อมใช้งาน (ผ่านการรั่วไหลของคีย์, วิศวกรรมสังคม, หรือการซื้อจากผู้ตรวจสอบที่ออกจากระบบ)

วิธีการทำงาน:

  1. ผู้โจมตีได้รับคีย์ส่วนตัวของผู้ตรวจสอบที่ใช้งานอยู่ในจุดก่อนหน้าในประวัติของเชน
  2. ผู้โจมตีสร้างประวัติเชนทางเลือกเริ่มต้นจากบล็อกในอดีต
  3. เนื่องจากไม่มีต้นทุนทางกายภาพในการ "re-staking" ในอดีต (ซึ่งแตกต่างจาก PoW, ซึ่งต้องใช้ไฟฟ้าในการขุดใหม่) ผู้โจมตีสามารถสร้างเชนที่เสริมมาตรฐานได้ราคาถูก

การป้องกัน: ระบบ PoS สมัยใหม่ลดอันตรายจากการโจมตีระยะยาวผ่าน:

  • Weak subjectivity checkpoints: โหนดบันทึกสถานะของเชนเป็นระยะ ๆ และการแยก (fork) ที่เก่ากว่าช่วงจุดตรวจสอบจะถูกปฏิเสธโดยอัตโนมัติ
  • Social consensus: โหนดใหม่ขอสถานะเชนปัจจุบันจากแหล่งชุมชนที่น่าเชื่อถือ
  • Key deletion: ผู้ตรวจสอบได้รับการส่งเสริมให้ลบคีย์ลงนามเก่าหลังจากออกจากระบบ

การโจมตีในระดับเครือข่าย​

BGP Hijacking​

Border Gateway Protocol (BGP) ควบคุมวิธีการเดินทางของการจราจรอินเทอร์เน็ตระหว่างเครือข่าย การขโมย BGP เปลี่ยนเส้นทางการจราจรอินเทอร์เน็ตผ่านเครือข่ายที่ถูกควบคุมโดยผู้โจมตี

ผลกระทบต่อ Blockchain: ผู้โจมตีที่ขโมย BGP ของการจราจรระหว่างโหนด Blockchain สามารถหน่วงเวลาการแพร่กระจายบล็อก, แบ่งเครือข่าย, หรือสกัดและแก้ไขการสื่อสารระหว่างโหนด

ตัวอย่างจากโลกแห่งความเป็นจริง: งานวิจัยโดย ETH Zurich (2017) แสดงให้เห็นว่าการขโมย BGP ของผู้ให้บริการอินเทอร์เน็ตเพียงไม่กี่แห่งสามารถแบ่งเครือข่าย Bitcoin ได้ ในปี 2018 เหตุการณ์ BGP ที่น่าสงสัยเปลี่ยนเส้นทางการจราจรที่มีจุดหมายไปยังบริการ Amazon Route 53 DNS ทำให้เกิดการขโมย ~150,000 ดอลลาร์ใน Ethereum

Time-Jacking​

ด้วยการจัดการการรับรู้เวลาของโหนด, ผู้โจมตีสามารถทำให้มันยอมรับบล็อกด้วยแสตมป์เวลาที่ไม่ถูกต้อง, อาจจะแยกตัวออกจากเครือข่ายที่มีความซื่อสัตย์

การป้องกัน: ไคลเอนต์ Blockchain ส่วนใหญ่นำเข้ากฎการตรวจสอบแสตมป์เวลาที่เข้มงวด และไม่ได้อาศัยเฉพาะแสตมป์เวลาที่รายงานโดยเพื่อน

Denial of Service (DoS)​

การท่วมโหนดหรือเครือข่ายด้วยคำขอเพื่อเอาชนะความจุ ในขณะที่เครือข่าย Blockchain มีความต้านทานต่อ DoS โดยเนื้อแท้ (ค่าธรรมเนียมการทำธุรกรรมทำให้สแปมมีค่าแพง) โหนดแยก หรือบริการ (exchanges, block explorers, RPC providers) สามารถเป็นเป้าหมายได้

Solana ประสบเหตุการณ์หยุดชะงักของเครือข่ายหลายครั้งโดยส่วนหนึ่งได้อ้างถึงการท่วมธุรกรรมจากกิจกรรมโบต, เน้นย้ำว่าห่วงโซ่ที่มีความจุสูงอาจมีความเสี่ยงต่อการโจมตีแบบสแปมที่ไม่มีอยู่บนเชนที่ถูก จำกัด ด้วยค่าธรรมเนียมเช่น Bitcoin

การโจมตี Smart Contract​

ความเสี่ยงของ smart contract แสดงถึงแหล่งที่มาของการสูญเสียเงินที่มากที่สุดในระบบนิเวศของสกุลเงินดิจิทัล ดู Smart Contracts Guide ของเราสำหรับการครอบคลุมที่ละเอียด

การโจมตี Reentrancy​

วิธีการทำงาน: สัญญาที่เป็นอันตรายเรียกกลับไปยังสัญญาที่เสี่ยงต่อเวลาดำเนินการ, ก่อนที่สัญญาเหยื่อจะอัปเดตสถานะ

ตัวอย่างที่โดดเด่น: DAO hack (2016) — 60 ล้านดอลลาร์ถูกดึงออกจากกองทุนสมัครใจที่ใหญ่ที่สุดของ Ethereum

Flash Loan Attack​

Flash loans คือสินเชื่อที่ไม่มีการจำนอง (uncollateralized) ที่ต้องยืมและชำระคืนภายในธุรกรรมเดียว ผู้โจมตีใช้มันเพื่อควบคุมทุนจำนวนมากชั่วคราวเพื่อจัดการโปรโตคอล DeFi

รูปแบบทั่วไป:

  1. ยืม millions ในสกุลเงินดิจิทัลผ่าน flash loan (ไม่ต้องจำนอง)
  2. ใช้เงินที่ยืมมาเพื่อจัดการ price oracle หรือ liquidity pool
  3. ใช้ประโยชน์จากราคาที่ถูกจัดการเพื่อสกัดค่าจากโปรโตคอลที่เสี่ยง
  4. ชำระคืน flash loan
  5. เก็บกำไรไว้

ขนาดของความเสียหาย: Flash loan attacks ได้ทำให้เกิดการสูญเสียนับร้อยล้านทั่ว DeFi ตัวอย่างที่โดดเด่น ได้แก่ Euler Finance (197 ล้านดอลลาร์, 2023), Cream Finance (130 ล้านดอลลาร์, 2021) และ Pancake Bunny (45 ล้านดอลลาร์, 2021)

การจัดการ Oracle​

Smart contracts ที่อาศัยข้อเสนอแนะข้อมูลภายนอก (oracles) มีความเสี่ยงหากสามารถจัดการ oracle ได้ ผู้โจมตีใช้ประโยชน์จากโทเค็นที่มีการซื้อขายเบา ๆ หรือ pools ที่มีสภาพคล่องต่ำเพื่อสร้างการเคลื่อนไหวของราคาที่เทียม ซึ่งเรียกใช้เงื่อนไขที่ดำเนินการตามแนวใจในโปรโตคอลการให้ยืม, แพลตฟอร์มสินทรัพย์สังเคราะห์ หรือตลาดอนุพันธ์

การโจมตีด้านการปกครอง​

โปรโตคอล DeFi บางตัวให้ผู้ถือโทเค็นโหวตสำหรับการเปลี่ยนแปลงโปรโตค