เครือข่ายหลักของ ‘수이(SUI)’ ต้องหยุดทำงานติดต่อกันถึงสามครั้งหลังอัปเดตเป็นเวอร์ชัน 1.72 โดยปัญหาเริ่มจากบั๊กใน ‘ตรรกะการชาร์จก๊าซ’ ที่เกี่ยวข้องกับยอดคงเหลือของที่อยู่กระเป๋า และตามมาด้วยบั๊กในกระบวนการรีสตาร์ตตัวตรวจสอบความถูกต้อง(검증자) ระหว่างการเปลี่ยนเอ포크 อย่างไรก็ตาม มูลนิธิ 수이 ยืนยันว่าระหว่างเหตุขัดข้องครั้งนี้ ‘เงินผู้ใช้ไม่ได้ถูกนำไปเสี่ยง’ และหลังการแก้ไขชั่วคราวแล้ว เครือข่ายกลับมาทำงานตามปกติ
ตามรายงานสรุปเหตุขัดข้องของมูลนิธิ 수이 เมื่อวันที่ 13 (เวลาท้องถิ่น) ระบุว่า การหยุดทำงานครั้งแรกเกิดขึ้นช่วงเช้าวันที่ 28 พฤษภาคม เวลาประมาณ 7.00 น. (เวลาฝั่งตะวันตกสหรัฐ) และยืดเยื้อไปจนถึงราว 13.30 น. การหยุดครั้งที่สองเกิดขึ้นวันที่ 29 พฤษภาคม เวลาประมาณ 5.00 น. ก่อนฟื้นตัวได้ในเวลาราว 8.30 น. จากนั้นในวันเดียวกันเครือข่ายหยุดอีกครั้งเวลาประมาณ 13.30 น. และกลับมาดำเนินการได้ราว 19.20 น.
มูลนิธิอธิบายว่า การหยุดครั้งแรกและครั้งที่สองมาจากบั๊ก ‘แครช’ ในตรรกะการชาร์จก๊าซ ที่ผูกกับฟังก์ชันยอดคงเหลือของที่อยู่(address balances) อัปเดต 1.72 ของ SUI อนุญาตให้จัดเก็บยอดคงเหลือและจ่ายค่าธรรมเนียมในระดับที่อยู่กระเป๋า แต่ในทางปฏิบัติเกิดสถานการณ์ยกเว้นขึ้น เมื่อมี ‘ธุรกรรมแข่งกัน’ ใช้ยอดคงเหลือจนไม่เพียงพอ ระบบควรยกเลิกธุรกรรมด้วยข้อผิดพลาด ‘InsufficientFundsForWithdraw’ ทว่าหลังจากนั้น กลไก ‘ก๊าซสแมชชิง’ กลับไปตัดยอดเงินที่ถูกจองไว้ซ้ำอีกครั้ง ทำให้เกิดการล้นด้านลบ (underflow)
‘ปัญหาไม่ได้จำกัดแค่ขั้นตอนก๊าซสแมชชิง แต่ปะทุเต็มที่ในขั้นตอนการชำระบัญชี’ เครือข่ายต้องทำธุรกรรมระบบเพื่อปรับยอดคงเหลือให้ถูกต้อง แต่เมื่อยอดที่ควรเป็น 0 กลับถูกปรับด้วยค่าติดลบ จึงทำให้ระบบหยุดชะงัก ตัวตรวจสอบความถูกต้องจึงต้องใช้แพตช์แก้ไขชั่วคราวเพื่อรีสตาร์ตเครือข่าย ซึ่งมูลนิธิย้ำว่าเป็นเพียงมาตรการกู้ระบบฉุกเฉิน ไม่ใช่ ‘คำตอบถาวร’
ขีดจำกัดของแพตช์ชั่วคราวนี้ก็ชัดเจนเช่นกัน หากธุรกรรมใดมีเหตุผลในการยกเลิกหลายเงื่อนไขซ้อนกัน ข้อผิดพลาด ‘InsufficientFundsForWithdraw’ อาจถูกข้อผิดพลาดอื่นกลบหาย ส่งผลให้เส้นทางข้อบกพร่องเดิมเปิดใช้งานได้อีกครั้ง เหตุนี้จึงทำให้การหยุดครั้งที่สองในเช้าวันถัดมาปรากฏซ้ำในลักษณะคล้ายกัน
การหยุดครั้งที่สามมีต้นตอคนละเรื่องโดยสิ้นเชิง คราวนี้ปัญหาเกิดในช่วงกระบวนการเปลี่ยนเอ포ค(epoch) ตามปกติ ซึ่งเกี่ยวข้องโดยตรงกับการรีสตาร์ตตัวตรวจสอบความถูกต้อง บั๊กที่ถูกพบคือระบบจำ ‘สถานะ DKG (Distributed Key Generation)’ หลังรีสตาร์ตไม่ได้ ทั้งที่ DKG เป็นกระบวนการสำคัญที่รองรับระบบสุ่มบนเชนสำหรับธุรกรรมบางประเภท ก่อนหน้านั้น การรีสตาร์ตเคยล้มเหลวเพราะมีอัตราการเข้าร่วม DKG ต่ำ จนต้องปิดการใช้งานสุ่มบนเชน แต่ข้อมูลการล้มเหลวดังกล่าวกลับไม่ถูกบันทึกลงดิสก์ ส่งผลให้เมื่อเครือข่ายกลับมาทำงานอีกครั้ง ตัวตรวจสอบความถูกต้อง ‘ลืม’ ไปว่ามี DKG ล้มเหลว และตรรกะการปิดเอ포คก็รอขั้นตอนหนึ่งซึ่งไม่มีวันเสร็จสิ้น ทำให้เครือข่ายค้างอยู่ในสถานะกลางทาง
เพื่อแก้ไข มูลนิธิ 수이ได้อัปเดตระบบให้เก็บรักษาสถานะ DKG หลังการรีสตาร์ต และเพิ่มกลไก ‘บังคับปิดเอ포คร่วมกัน’ เพื่อให้ตัวตรวจสอบสามารถปิดเอ포คที่ค้างได้ แม้ขั้นตอนบางส่วนจะไม่เดินตามปกติ มูลนิธิประเมินว่าเหตุการณ์รอบนี้ชี้ชัดว่า ทั้งด้าน ‘ความทนทานของขั้นตอนจบเอ포ค’ และ ‘ตรรกะการชาร์จก๊าซ’ ยังต้องยกระดับวิศวกรรมขึ้นไปอีกขั้น
ในแง่ตลาด นักวิเคราะห์มองว่าการหยุดทำงานหลายครั้งอาจกลายเป็นชนวนให้เกิดคำถามต่อ ‘ความน่าเชื่อถือ’ ของเครือข่าย SUI อย่างหลีกเลี่ยงไม่ได้ ทว่าองค์ประกอบบรรเทาความกังวลก็ยังมีอยู่ เนื่องจากตามคำชี้แจงของมูลนิธิ ไม่มีธุรกรรมใดถูกย้อนกลับ และไม่พบความเสียหายต่อเงินทุนของผู้ใช้งานโดยตรง ช่วงหลังเหตุขัดข้อง SUI เคยถูกซื้อขายที่ราว 0.8798 ดอลลาร์
"ความคิดเห็น" กรณีนี้สะท้อนว่า แม้โปรโตคอลรุ่นใหม่จะออกแบบมาดีเพียงใด การเปลี่ยนแปลงเชิงโครงสร้างทั้งในการจัดการยอดคงเหลือและระบบสุ่มบนเชน ยังคงต้องผ่านการทดสอบหน้างานจริงอย่างเข้มข้น และโปรเจกต์เลเยอร์ 1 ใดที่ต้องการเป็นโครงสร้างพื้นฐานหลัก ย่อมหลีกเลี่ยงไม่ได้ที่จะต้องลงทุนอย่างหนักในด้าน ‘การทดสอบก่อนดีพลอย’ และ ‘กลยุทธ์แพตช์ฉุกเฉิน’ ควบคู่กันไป
ความคิดเห็น 0