Cardano เผชิญเหตุ technical disruption รุนแรงที่สุดนับตั้งแต่เปิดตัวในปี 2017 เมื่อธุรกรรมที่มีรูปแบบผิดพลาด (malformed transaction) ทำให้เชนแยกเป็นสองสายเป็นเวลา 14 ชั่วโมงในวันที่ 21 พฤศจิกายน แยกบล็อกเชนมูลค่า 14 พันล้านดอลลาร์ออกเป็นโฟรกที่แข่งขันกัน และจุดชนวนดีเบตรุนแรงว่ามันเป็นการโจมตีโดยเจตนาหรือการทดสอบที่ผิดพลาดกันแน่
เหตุการณ์นี้ ซึ่งนักพัฒนาตั้งชื่อว่า “Poison Piggy” เผยให้เห็นบั๊กอายุสามปีในซอฟต์แวร์โหนดของ Cardano ที่สร้างมุมมองของบล็อกเชนที่เข้ากันไม่ได้สองแบบ
ขณะที่ผู้ก่อตั้ง Charles Hoskinson ยืนยันว่าเป็น "premeditated attack" ที่มีการวางแผนล่วงหน้าจนต้องให้ FBI เข้ามาเกี่ยวข้อง นักพัฒนาที่ใช้นามแฝงว่า “Homer J” กลับออกมาแสดงความรับผิดชอบ โดยมองว่าเป็น “การกระทำที่สะเพร่า” ระหว่างท้าทายตัวเองเพื่อจำลองความผิดปกติบนเทสต์เน็ต
เหตุฟอร์กเกิดขึ้นได้อย่างไร
ตามรายงานเหตุการณ์ของ Intersect เชนแตกออกมาจากบั๊กด้าน serialization ที่โผล่บน preview testnet ของ Cardano เมื่อ 20 พฤศจิกายน มีคนส่ง delegation certificate ที่ผิดรูปพร้อมแฮชขนาดเกินกำหนด — เท่ากับเป็นการมอบหมายสเตกไปยัง “RATSRATS” แทนที่จะเป็น “RATS” (สเตกพูลส่วนตัวของ Hoskinson)
โหนดเวอร์ชันเก่าปฏิเสธแฮชที่ไม่ถูกต้องได้ถูกต้อง ขณะที่โหนดที่รันโค้ดอัปเดตในเดือนพฤศจิกายน 2024 กลับตัดทอนแฮชและมองว่าถูกต้อง
ความเหลื่อมเวอร์ชันนี้สร้างสิ่งที่นักพัฒนาบล็อกเชน Pi Lanningham described ไว้ในรายงานวิเคราะห์หลังเหตุการณ์อย่างละเอียดว่าเป็นสองเชนที่เข้ากันไม่ได้: “chicken chain” ที่รันโค้ดตรวจสอบที่เข้มงวดกว่า และ “pig chain” ที่ยอมรับธุรกรรมที่ผิดรูปนั้น เมื่อวันที่ 21 พฤศจิกายน เวลาประมาณ 3:02 น. ตามเวลามาตรฐานตะวันออก (EST) มีการส่ง delegation ที่ผิดรูปในลักษณะเกือบเหมือนกันเข้าสู่เมนเน็ต ส่งผลให้เครือข่ายแตกเป็นสองสาย
อ่านเพิ่มเติม: Cardano's Hoskinson Calls Fiat System 'Ponzi Scheme', Tells 'Paper Hands' to Hold as Markets Lost $1 Trillion Since October
การเสื่อมคุณภาพของบริการและผลกระทบ
Lanningham's analysis ระบุว่าความเสียหายมีนัยสำคัญแต่ยังอยู่ในขอบเขตจำกัด ในช่วง 14 ชั่วโมงนั้น pig chain ผลิตบล็อกได้ 846 บล็อก ขณะที่ chicken chain สร้างบล็อกได้ราว 13,900 บล็อก การบรรจุธุรกรรมผ่านโครงสร้างพื้นฐานหลักชะลอตัวลงอย่างมาก โดยดีเลย์แตะราว 400 วินาที และช่วงเวลาออกบล็อกยืดไปถึงราว 16 นาทีในจุดที่เลวร้ายที่สุด
จากธุรกรรมที่สังเกตได้ 14,383 รายการ มี 479 รายการ หรือราว 3.3% ปรากฏเฉพาะบน pig chain ที่ถูกทิ้งและไม่ถูกบันทึกลงในประวัติหลักสุดท้าย ส่วนใหญ่เมื่อส่งซ้ำแล้วกลายเป็นธุรกรรมไม่ถูกต้องเนื่องจากช่วงเวลาความมีผล (validity interval) หมดอายุหรืออินพุตขัดแย้งกัน Block explorers struggled กับการตีความเครือข่ายที่แตกออก ทำให้บางรายถึงขั้นค้างหรือแสดงข้อมูลขัดแย้งกัน
“นี่ถือเป็นการเสื่อมคุณภาพของบริการที่รุนแรงสำหรับผู้ใช้ แต่ยังอยู่ในกรอบที่คาดหมายได้สำหรับบริการที่ออกแบบให้มี uptime ระดับ high-nines” Lanningham เขียนไว้ เขาย้ำว่าถึงคุณภาพบริการจะถดถอยแต่เงินทุนของผู้ใช้ยังปลอดภัย และเครือข่ายยังคงเดินหน้าสร้างบล็อกต่อเนื่องตลอดวิกฤต
การโจมตีหรืออุบัติเหตุ?
เหตุการณ์นี้จุดชนวนข้อถกเถียงอย่างดุเดือดเรื่องเจตนา Hoskinson มองว่าเป็นการโจมตีแบบเจาะจงโดย "disgruntled stake-pool operator" ที่ใช้เวลาหลายเดือนหาช่องโหว่เล่นงานเครือข่าย “มันเป็นการโจมตีแบบเจาะจง มีการวางแผนล่วงหน้า น่าจะใช้เวลาหลายชั่วโมงกว่าจะหาวิธีทำได้… เป็นการกระทำที่มุ่งร้าย” เขากล่าว พร้อมเสริมว่าได้ติดต่อ FBI แล้ว
อย่างไรก็ตาม บุคคลผู้อยู่เบื้องหลังธุรกรรมดังกล่าวที่โพสต์ในชื่อ "Homer J" บนโซเชียลมีเดีย กลับเล่าอีกมุมหนึ่งว่า “ขอโทษครับ/ค่ะ (รู้ว่าคำนี้ไม่พอเมื่อเทียบกับผลกระทบจากการกระทำของผม/ฉัน) ชาว Cardano เป็นผม/ฉันเองที่ทำให้เครือข่ายตกอยู่ในอันตรายจากความสะเพร่าเมื่อคืนวาน มันเริ่มจากความท้าทายส่วนตัวแบบ ‘ลองดูสิว่าจะจำลองธุรกรรมเสีย ๆ นั่นได้ไหม’ แล้วผม/ฉันก็โง่พอที่จะเอามันไปใช้บนเมนเน็ต”
การที่เหตุผิดปกติเดียวกันเพิ่งปรากฏบนเทสต์เน็ตเพียง 24 ชั่วโมงก่อนหน้า ทำให้หลายคนสงสัยว่ามีการทดลอง exploit บนเทสต์เน็ตก่อนจะนำมาใช้จริงบนเมนเน็ต
การฟื้นตัวของเครือข่ายผ่านฉันทามติ
แม้เหตุการณ์จะรุนแรง Cardano's response demonstrated โครงสร้างธรรมาภิบาลแบบกระจายศูนย์ของตัวเองอย่างเป็นรูปธรรม แพตช์ของโหนดถูกเตรียมไว้แล้วจากเหตุการณ์บนเทสต์เน็ต ก่อนรุ่งเช้า Input Output Global, Cardano Foundation, Emurgo, Intersect, ผู้ให้บริการเทรด และผู้ดำเนินการสเตกพูล ได้ประสานงานผ่านการเรียกประชุมฉุกเฉินให้อัปเกรดเป็นเวอร์ชันที่แก้ไขบั๊กและติดตามเชนที่เข้มงวดกว่าคือ chicken chain
ไม่ได้มีการย้อนสถานะระดับโปรโตคอลหรือ “รีสตาร์ต” แบบรวมศูนย์ใด ๆ เมื่อสเตกย้ายไปยังโหนดที่อัปเกรดแล้ว การผลิตบล็อกบน pig chain ก็ชะลอลง ขณะที่ chicken chain เร็วขึ้น เมื่อโฟรกที่สุขภาพดีกว่าแซงโฟรกที่ถูกปนเปื้อน คุณสมบัติ probabilistic finality ของ Ouroboros ก็ทำให้โหนดสลับไปยังเชนที่ยาวและหนาแน่นกว่าด้วยตัวเองโดยอัตโนมัติ
“นี่คือหลักฐานเชิงรูปธรรมว่า Nakamoto consensus ทำงานตามที่ออกแบบไว้และพาเครือข่ายกลับมาบรรจบกันที่ประวัติหลักเพียงเส้นเดียว” Lanningham ชี้ให้เห็น ด้าน Hoskinson ไปไกลกว่านั้น โดยเสนอว่าเหตุการณ์ลักษณะนี้อาจ “ฆ่าเชนอื่นไปแล้ว” แต่การออกแบบของ Cardano เปิดเวลาให้เกิดการฟื้นตัวแบบประสานงานได้สำเร็จ
บทเรียนและการเพิ่มความแข็งแกร่งในอนาคต
ทั้ง Hoskinson และ Lanningham ยอมรับว่ามีจุดอ่อนสำคัญถูกเปิดเผย “ความจริงที่ว่าบั๊กนี้โผล่ขึ้นมาได้เลยถือเป็นความล้มเหลวของความเข้มงวดในการทดสอบของเรา” Lanningham ระบุ การพึ่งพา cardano-db-sync ทำให้ระบบนิเวศ “ตาบอดสนิท” เมื่อคอมโพเนนต์นั้นล่มจากธุรกรรมที่ผิดรูป ผู้ดำเนินการสเตกพูลจำนวนมากก็อัปเกรดโดยไม่ได้พิจารณาทางเลือกของฟอร์กด้วยตัวเอง แต่เชื่อคำแนะนำจากหน่วยงานผู้ก่อตั้ง
แผนปฏิบัติการหลังเหตุการณ์เรียกร้องให้มีการ fuzzing และการทดสอบแบบยึดสเปกที่เข้มข้นขึ้น โปรโตคอล node-to-client ที่อุดมสมบูรณ์ยิ่งขึ้นเพื่อให้กระเป๋าเงินและเว็บเทรดตั้ง circuit breaker จากสถานะสุขภาพของฉันทามติได้จริง เพิ่มความหลากหลายในโครงสร้างพื้นฐานมอนิเตอร์ และให้การศึกษาแก่ผู้ดำเนินการมากขึ้นเกี่ยวกับพฤติกรรมของ Ouroboros ภายใต้ภาวะกดดัน
ADA's price fell approximately 6% ตลอดเหตุการณ์ดังกล่าว ทำผลงานได้แย่กว่าการรีบาวด์ของตลาดคริปโตโดยรวม โดยราคาเคลื่อนไหวแถว 0.41 ดอลลาร์ การร่วงลงในระดับปานกลางเมื่อเทียบกับความรุนแรงของเหตุการณ์บ่งชี้ว่าตลาดมองว่ามันเป็นการทดสอบศักยภาพการฟื้นตัวของเครือข่าย มากกว่าจะเป็นความล้มเหลวเชิงโครงสร้าง — การทดสอบที่ Cardano ผ่านไปได้ในท้ายที่สุด แม้จะเผยให้เห็นพื้นที่ที่ต้องเร่งปรับปรุงอย่างเร่งด่วนก็ตาม
อ่านต่อ: Cardano Whales Accumulate $204 Million in Four Days Despite 30% Price Decline

