Distributed Ledger Technology หรือที่ทุกคนรู้จักกันในชื่อว่าบล็อกเชน (Blockchain) เทคโนโลยีเติบโตขึ้นอย่างมากในทศวรรษที่ผ่านมา ได้ขึ้นชื่อเรื่องความปลอดภัยสูง ซึ่งส่งผลต่อความน่าเชื่อถือในการทำระบบธุรกรรมทางการเงินเป็นอย่างมาก เห็นได้ชัดว่าเกิดนวัตกรรมทางการเงินขึ้นมามากมายหลังจากเทคโนโลยีบล็อกเชนเติบโต ตั้งแต่ Decentralize Finance (DeFi) ที่เราคุ้นเคยกัน และยังมีการใช้งานจากฝั่ง Traditional Finance อย่างเช่น Central Bank Digital Currency (CBDCs) อีกด้วย จะเห็นได้ว่าความปลอดภัยของบล็อกเชนได้รับความเชื่อถืออย่างล้นหลาม แต่อย่างไรก็ตาม ระบบบล็อกเชนก็ยังมีจุดอ่อนที่สามารถทำให้ความปลอดภัยและความเชื่อมั่นเหล่านั้นพังทลายลงมาได้ นั่นก็คือ 51% Attack
51% Attack คืออะไร?
51% Attack หรือ Majority Attack จะเกิดขึ้นเมื่อมีคนใดคนหนึ่งในระบบมีกำลังในการประมวณผลธุรกรรม (Hash Power) ที่มากจากผู้ยืนยันธุรกรรม (Node) มากกว่า 50% ของทั้งหมด ซึ่งแต่ละ Blockchain จะมีรูปแบบของของผู้ยืนยันธุรกรรมแตกต่างกันไปเช่น Bitcoin ที่ใช้ Proof of Work ซึ่งผู้ยืนยันธุรกรรมใน Bitcoin Blockchain คือ Graphic Card (GPU), Asics ต่างๆ หรือที่เราเรียกกันว่านักขุด และใน Ethereum ที่ใช้ Proof of Stake ซึ่งผู้ยืนยันธุรกรรมคือคนที่มาวางเงินค้ำประกันไว้กับ Etheruem Foundation
51 % Attack มักจะเกิดขึ้นใน Proof of Work Blockchain เพราะว่าเปิดอิสระเสรีให้ทุกคนเข้ามาเป็นผู้ยืนยันธุรกรรมได้ และที่ไม่เกิดขึ้นใน Proof of Stake Blockchain เพราะว่าจะมีผู้ดูแลผู้ยืนยันธุรกรรมทั้งหมดอีกทีหนึ่ง เช่น Ethereum มี Etheruem Foundation ดูแล ซึ่งหากมีผู้ยืนยันธุรกรรมทำตัวแปลกไปจากระบบ Etheruem Foundation สามารถยึดเงินค้ำประกันแล้วไล่ผู้ยืนยันธุรกรรมคนนั้นออกไปได้
51% Attack ทำงานอย่างไร?
ถ้านักขุดมีกำลังขุดมากกว่า 50% นั้นหมายถึงนักขุดคนนั้นสามารถขุดบล็อกได้เร็วกว่า 49% ที่เหลือ แล้วขุดเร็วกว่ามันมีปัญหาอะไรล่ะ? เพื่อให้เข้าใจได้ง่ายเราจะอธิบายวิธีการสร้าง Block ของบล็อกเชนกันก่อนดีกว่า
เทคโนโลยีบล็อกเชนถูกสร้างมาเพื่อการทำธุรกรรมแบบ Peer to Peer ซึ่งต้องเกิดจากการทำธุรกรรมของคนสองคน เพื่อให้เข้าใจง่ายขึ้นเราจะยกตัวอย่างจากสถาณการณ์ ซึ่งเราจะให้ชื่อตัวละครสองคนนี้ว่า Alice กับ Bob ซึ่งหลังจาก Alice ทำธุรกรรมหรือโอนเงินให้ Bob แล้วเกิดอะไรขึ้น

- Alice โอนเงินให้ Bob เกิด Transaction (Txn)
- Transaction ที่เกิดขึ้นจะถูกส่งไปเก็บใน Pool Transaction ที่ยังไม่ได้ยืนยันหรือ Unconfirm Transaction pool

- Transaction บน Unconfirmed Transaction pool จะถูกนำไปดำเนินการต่อผ่านระบบ Blockchain ซึ่งต้องใช้ Validator Node ในการยืนยันธุรกรรม
- Validator node ดึง Transaction ที่อยู่บน Unconfirmed Transaction pool ลงมาเพื่อยืนยันธุรกรรมและสร้างเป็น Block

- แต่ว่า Validator Node มี 2 แบบคือ Node ปกติ และ Hacker Node
ซึ่งปัญหาที่ทำให้เกิด 51% Attack อยู่ตรงนี้เพราะ Hacker node ซึ่งที่มากกว่า 50% สามารถดึง Transaction จาก Unconfirmed Transaction Pool และยืนยันธุรกรรมได้เร็วกว่า Node ปกติ ซึ่งทำให้สร้าง Block ได้เร็วกว่า
โอเคเราเข้าใจการทำงานคร่าวๆ แล้วเราจะลงลึกกันที่ 51% Attack ว่าเขาเปลี่ยนแปลงระบบยังไง
สมมุติว่าผมมีกำลังขุด 51% และกำลังจะซื้อรองเท้าคู่หนึ่งราคา 100 BTC สิ่งที่ผมทำคือผมใช้แรงขุด 51% ขุดบล็อกเปล่าทิ้งไว้ใน Blockchain ที่ใช้โจมตีของผม

Noted : a,b,c,d,f BTC แทนการโอนอื่นที่อยู่ใน Unconfirmed Transaction Pool ไม่ใช่ Transaction เดียวกัน
หลังจากนั้นผมได้ทำการจ่ายเงินเพื่อซื้อรองเท้าของผมใน Block ที่ 100 ใน Bitcoin Blockchain ซึ่งเขาจะเห็นว่าผมได้จ่ายเงินในราคา 100 BTC แต่ในขณะเดียวกันใน Blockchian ที่ใช้โจมตีของผม ผมได้ทำการขุดบล็อกเปล่าไว้แทน

หลังจากนั้นผมทิ้งเวลาไปช่วงหนึ่งเพื่อให้ผมได้รองเท้าก่อน (2 block, 101&102) พอผมได้รองเท้าผมก็ได้ให้ Private Blockchain ขุด Block ที่ 103 ด้วยความเร็วที่สูงกว่า (จากที่อธิบายไปในการสร้างบล็อก)ใน Bitcoin Blockchain แล้วผมก็เอาสิ่งที่เกิดขึ้นใน Blockchain ที่ใช้โจมตีไปบอกทุกคนใน Bitcoin Blockchain
หลังจากนี้จะเกิดความสับสนกันแล้วเพราะมี Block 2 สายอยู่ในระบบ ซึ่งโดยปกติแล้ว Blockchain จะเชื่อ Block สายที่ยาวกว่าเสมอ ซึ่ง Block สายที่เป็น Blockchain ที่ใช้โจมตีของผม (100 ถึง 104, 4 Block) ยาวกว่า Bitcoin Blockchain (100 ถึง 103, 3 block) ทำให้ Bitcoin Blockchain เอา Block สายที่ยาวกว่าหรือ Blockchain ที่ใช้โจมตีของผมมาเป็นของตัวเอง
Blockchain จะเชื่อ Block สายที่ยาวกว่าเสมอ

Noted: หลังจาก Bitcoin Blockchain เอา Block สายที่ยาวกว่าหรือ Blockchain ที่ใช้โจมตีของผมมาเป็นของตัวเอง
จะเห็นได้ว่าผมไม่ได้เสีย BTC เลยแต่ผมได้รองเท้ามาแล้ว ซึ่งผมสามารถนำ BTC ที่ผมมีนี้ไปใช้ได้อีกรอบหนึ่ง และวิธีการนี้เรียกว่า Double Spending ที่มากไปกว่านั้น 51% Attack ไม่ได้ทำได้แค่นี้ เราสามารถแบนไม่ให้คนอื่นโอน BTC ได้ด้วยวิธีการเดียวกันอีกด้วย

โอกาสในการเกิด 51% Attack
โอกาสในการเกิด 51% Attack ใน Bitcoin เกิดขึ้นค่อนข้างยาก หลังจากที่เราเข้าใจวิธีการทำงานจากข้างบนแล้ว สิ่งที่ได้มากจากการ 51% Attack เมื่อเทียบกับต้นทุนในการทำแล้วมันไม่คุ้มที่จะเสีย

ขอบคุณข้อมูลจาก https://www.crypto51.app/
จากรูปเป็นข้อมูลให้เช่า Hashrate จาก NiceHash แต่ สำหรับ BTC ไม่มีเหลือให้เช่าแล้ว แล้วถ้า Hacker จะเอาเครื่อง Asic มาขุดเองต้องมีต้นทุนอย่างน้อยเท่าใด
- Bitcoin Miner S19 XP Hyd ขุดได้ 257 Th/s และมีราคา 8,400 USD
- Hashrate Bitcoin อยู่ที่ 365,000,000 TH/s ซึ่งถ้าจะเพิ่ม Hashrate ให้ได้ 50% ต้องเพิ่มเข้าไป 1 เท่า
- ถ้าจะใช้ Asic ต้องใช้ Asic อยู่ที่ 365,000,000257 = ~ 1,420,234 เครื่อง
- ซึ่งคิดเป็มูลค่า 1,420,234 8,400 = 11,930,000,000 USD หรือประมาณ 12 Billion USD
จะเห็นได้ว่าการทำ 51% Attack ใน Bitcoin นั้นแทบจะเป็นไปไม่ได้เลย เพราะนอกจากเงิน 12 Billion USD ที่หามาซื้อ Asic แล้วเขาต้องมีพื้นที่สำหรับวาง Asic กว่า 1 ล้านเครื่อง และอีกสิ่งหนึ่งที่เป็นไปไม่ได้คือไม่สามารถหา Asic 1 ล้านเครื่องได้ หากจะเป็นไปได้ต้องเป็นระดับประเทศเท่านั้นและต้องเป็นประเทศขนาดใหญ่ด้วย ซึ่งเมื่อรวมต้นทุนทั้งหมดในการทำ 51% Attack จะเยอะกว่า 12 Billion USD แน่นอน ในตอนสุดท้ายถ้าทำ 51% Attack สำเร็จ Asic จำนวนมากนั้นจะมีมูลค่าตำ่ลงมากและไม่สามารถขายเป็นทุนคืนได้แน่นอน
แต่นอกเหนือจาก Bitcoin สำหรับ Altcoin ตัวอื่นๆ ก็มีโอกาสโดน 51% Attack ได้เหมือนกันและในอดีตก็เคยมี Altcoin โดน 51% Attack มาแล้วถึง 3 ตัว เช่น Bitcoin gold (BTG), Ethereum classic (ETC), Verge (XVG)
51% Attack History
Bitcoin Gold (BTG) โดน 51% Attack ในปี 2018 โดยใช้วิธีการ Double Spending วิธีการจะแยกออกเป็นสองเส้นทางคือ BTG Blockchain กับ Blockchain ที่ใช้โจมตี ซึ่งใน BTG Blockchain Hacker ได้โอน BTG เข้า Exchange หลังนั้น Hacker ได้เปลี่ยน BTG เป็นเหรียญอื่นแล้วโอนออกจาก Exchange ทันที

ใน Blockchain ที่ใช้โจมตี Hacker ได้ปลอม Transaction (ถ้าในตัวอย่างข้างบนเป็นการขุดบล็อกเปล่า) ด้วยการโอน BTG ไปที่ Wallet อื่นของตัวเอง หลังจากที่ทำการเปลี่ยนเป็นเหรียญอื่นเสร็จแล้วบนเชนหลัก Hacker ก็บอกสิ่งที่เกิดขึ้นใน Blockchain ที่ใช้โจมตีและทำให้ Transaction BTG ที่โอนเข้า Exchange ไม่เกิดขึ้น แต่ Hacker ได้เหรียญอื่นที่ถอนออกมาจาก Exchange แล้ว ซึ่งมูลค่าความเสียหายรวมสูงสุดถึง 18 Million USD
Ethereum Classic (ETC) โดน 51% Attack มากถึง 15 ครั้ง แต่ยกตัวอย่างที่ยกมาเกิดขึ้นใน Coinbase ใน วันที่ 7 มกราคม 2019 Hacker ได้เปลี่ยน Txn ไป 15 Block มีการทำ Double Spending ถึง 12 ครั้ง และมีมูลค่าความเสียหายสูงถึง 219,500 ETC ประมาณ 1.1 Million USD
Verge (XVG) โดน 51% Attack ในเดือนกุมภาพันธ์ปี 2021 Hacker ได้เปลี่ยน Transaction ของ 200 วันที่มีปริมาณ Transaction มากกว่า 560,000 Transaction ด้วยบล็อกเปล่า ทำให้มูลค่าของ Verge ลดลงไปถึง 15% และหลุดออกจาก Top 100 เหรียญที่มีมูลค่าเยอะที่สุดในโลกไป แต่ 2 วันต่อมาทาง Verge ได้ออกมาประกาศว่า XVG Blockchain ได้มีแรงขุดเยอะกว่า Blockchain ที่ใช้โจมตีแล้วและทำให้ทุกอย่างกลับมาเป็นเหมือนเดิม
สรุป
เทคโนโลยี Blockchain ที่มีความปลอดภัยสูงจนได้รับการยอมรับอย่างกว้างขวางก็ยังมีจุดอ่อนที่สามารถโจมตีได้อยู่ นั่นคือการทำ 51% Attack หรือก็คือการที่มีนักขุดควบคุมกำลังขุดมากกว่า 50% ของระบบ ซึ่งการทำ 51 % สามารถทำได้หลายรูปแบบไม่ว่าจะเป็น Double Spending หรือ Wallet Ban อย่างไรก็ตามการทำ 51% Attack มีโอกาสเกิดขึ้นจริงน้อยมากใน Bitcoin มี Hashrate ที่มากพอทำให้ต้นทุนการทำ 51% Attack นั้นสูงมากจนไม่คุ้มกับการโจมตี แต่มี Altcoin ตัวอื่นๆ ที่ไม่ต้องใช้ต้นทุนมากขนาดนั้นโดน 51% อย่างเช่น Bitcoin Gold, Ethereum Classic, Verge