ประกาศการผลิตบล็อกของ Stacks
Stacks ซึ่งเป็นโซลูชันบล็อกเชนเลเยอร์ 2 ของ Bitcoin ได้ประกาศเมื่อวันที่ 24 พฤษภาคมว่าได้กลับมาผลิตบล็อกอีกครั้ง หลังจากที่แก้ไขปัญหาที่เกิดจาก “พฤติกรรมที่ผิดปกติซึ่งมาจากตรรกะการซิงค์ mempool ของ stacks-node”. ในประกาศนั้น Stacks ได้แนะนำให้ผู้ดำเนินการโหนดทุกคน รวมถึงนักขุดและผู้เซ็นต์ ให้ทำการอัปเกรดโหนดของตนเป็นเวอร์ชัน 3.1.0.0.11.
การอัปเกรดและการเตือน
อย่างไรก็ตาม ในการอัปเดตที่แชร์ทาง X โซลูชันเลเยอร์ 2 ได้มีการเตือนถึงการ “เสื่อมสภาพเป็นครั้งคราว” ที่อาจเกิดขึ้นในกระบวนการผลิตบล็อก จนกว่าผู้ขุดและผู้เซ็นต์ทั้งหมดจะทำการอัปเกรดเสร็จสิ้น.
การประกาศให้ผู้ดำเนินการโหนดอัปเกรดไปที่เวอร์ชันล่าสุดเกิดขึ้นเพียงไม่กี่ชั่วโมงหลังจากที่นักพัฒนาหลักเปิดเผยว่าได้ระบุสาเหตุของปัญหา.
การระบุปัญหา
ในโพสต์ที่มีอยู่บน GitHub ทีม Stacks ได้ระบุว่า “บั๊กนี้มีต้นกำเนิดตั้งแต่ปี 2020” และเกี่ยวข้องกับการปฏิบัติที่ผิดปกติในตรรกะการซิงค์ mempool ของ stacks-node ซึ่งส่งผลให้โหนดบางตัวส่งข้อความที่ไม่ถูกต้องในการตอบสนองต่อคำเรียกร้อง RPC ที่ใช้ในการซิงค์ mempool ตามปกติ.
บั๊กนี้มีผลกระทบต่อระบบเครือข่ายทำให้ไม่สามารถตอบสนองได้ ซึ่งปัญหานี้กลายเป็นที่เห็นได้ชัดเจนเมื่อมีข้อมูลเพิ่มขึ้นในบล็อกล่าสุด.
ผลกระทบและการดำเนินการ
จากผลการค้นหาเบื้องต้น อัปเกรดล่าสุดสามารถทำงานร่วมกับไดเรกทอรี chainstate จากเวอร์ชัน 3.x.x.x.x ได้ โดยการปล่อยการอัปเกรดคาดว่าจะสามารถแก้ไขปัญหาที่ Stacks ได้รับทราบตั้งแต่วันที่ 18 เมษายน.
ในเวลานั้น ทีม Stacks ยืนยันว่าการ “แพตช์ง่ายๆ” จะสามารถแก้ไขปัญหานี้ได้ และผู้ดำเนินการโหนดไม่จำเป็นต้องดำเนินการใดๆ.
อย่างไรก็ตาม การล่าช้าในการผลิตบล็อกที่เกี่ยวข้องกับการแยกตัว (fork) ของ Bitcoin ที่บล็อก 897442 ได้ทำให้นักพัฒนาต้องเริ่มการสอบสวนเพิ่มเติมในวันที่ 19 พฤษภาคม. เมื่อเห็นว่าผู้เซ็นต์ 70% กลับไปใช้เวอร์ชันก่อนหน้าของ chainstate ซึ่งทำให้การผลิตบล็อกกลับมาเป็นปกติ แต่ในอีกสี่วันหลังจากนั้นก็เกิดการล่าช้าขึ้นอีกครั้งซึ่งนักพัฒนาต้องรายงานปัญหานี้อีกครั้ง.