อีเธอเรียมพลิกกลับการตัดสินใจ แก้ไขข้อบกพร่องการฝากเงินของ Validator ใน Glamsterdam
cryptonewsนักพัฒนาหลักของอีเธอเรียมได้รวมแพตช์แก้ไขข้อกำหนดที่สำคัญเพื่อแก้ไขข้อบกพร่องในการจัดการการฝากเงินที่มีอยู่ในเลเยอร์ฉันทามติ Gloas ของอัปเกรด Glamsterdam ที่กำลังจะมาถึง ผู้ดูแล Justin Traglia ได้คอมมิตแพตช์เมื่อวันที่ 26 ตุลาคม หลังจากนักพัฒนา avsetsin ค้นพบตรรกะที่อาจทำให้การฝากเงินเพื่อการ stake ของ validator ใหม่ถูกจัดสรรให้กับผู้สร้างบล็อกอย่างผิดพลาด
การอัปเดตนี้ปรับเปลี่ยนตรรกะการประมวลผลการฝากเงินเพื่อแยกความแตกต่างระหว่างการลงทะเบียนของผู้สร้างบล็อกและการเปิดใช้งาน validator โดยอิงจากข้อมูลรับรองการถอนที่ชัดเจน แทนที่จะอาศัยการจับคู่คีย์สาธารณะเพียงอย่างเดียว
รากฐานทางสถาปัตยกรรมของช่องโหว่การจัดสรรการฝากเงินผิดพลาด
ช่องโหว่นี้เกิดจากการเพิ่มโครงสร้างที่นำเสนอโดย Enshrined Proposer-Builder Separation (ePBS) ภายใต้ EIP-7732 ซึ่งเป็นคุณสมบัติหลักของฮาร์ดฟอร์ก Glamsterdam ที่ออกแบบมาเพื่อทำให้การสร้างบล็อกเป็นสถาบันในระดับโปรโตคอล
ภายใต้ข้อกำหนดฉันทามติ Gloas ที่เสนอ ทั้งผู้สร้างบล็อกและ validator ที่ทำการ staking จะลงทะเบียนบนเชนโดยใช้คีย์สาธารณะ นักวิจัย avsetsin ได้สาธิตเมื่อวันที่ 12 ตุลาคมว่า หากผู้สร้างบล็อกลงทะเบียนโดยใช้คีย์สาธารณะเฉพาะก่อนที่จะมีการฝากเงินของ validator ที่ผูกกับคีย์เดียวกันเข้ามา คิวการฝากเงินที่รอดำเนินการจะจัดสรรเงินไปยังยอดคงเหลือของผู้สร้างบล็อก
กลไกนี้ก่อให้เกิดความเสี่ยงในการดำเนินงานอย่างมีนัยสำคัญสำหรับหน่วยงาน staking ระดับสถาบันและโปรโตคอลการ stake แบบมีสภาพคล่อง (เช่น Lido, Rocket Pool และ Origin) ในสถานการณ์การโจมตีที่อาจเกิดขึ้น ผู้ดำเนินการโหนดที่ทำหน้าที่เป็นผู้สร้างบล็อกสามารถสกัดกั้นเงิน staking ของโปรโตคอลที่เข้ามา โดยโอนเข้าบัญชีที่อยู่ภายใต้การควบคุมของตนแต่เพียงผู้เดียว ในขณะที่ป้องกันไม่ให้โหนด validator ที่ตั้งใจไว้เริ่มทำงาน
การเปลี่ยนแปลงฉันทามติของนักพัฒนาและการรวมข้อกำหนด
pull request เริ่มต้นที่เสนอการแก้ไขได้รับการต่อต้านระหว่างการหารือของนักพัฒนาหลัก เมื่อวันที่ 19 ตุลาคม Traglia ได้ปิด PR โดยอ้างถึงฉันทามติที่ไม่เพียงพอในทีมพัฒนาไคลเอนต์ที่จะนำการเปลี่ยนแปลงไปใช้ในขั้นตอนนั้น
อย่างไรก็ตาม การวิเคราะห์ความเสี่ยงอย่างต่อเนื่องทำให้ผู้ดูแลหลักเปิดข้อเสนออีกครั้งในวันที่ 23 ตุลาคม ผู้ตรวจสอบ potuz ได้ขอการทดสอบการถดถอยที่ครอบคลุมเพื่อตรวจสอบกรณีพิเศษที่ซับซ้อนซึ่งเกี่ยวข้องกับคีย์ที่ใช้ร่วมกันในบทบาทคู่ของผู้สร้างบล็อกและ validator หลังจากการส่งชุดการทดสอบเพิ่มเติมเหล่านี้ นักพัฒนาได้รวมแพตช์เข้ากับสาขาข้อกำหนดฉันทามติหลักอย่างเป็นทางการเมื่อวันที่ 26 ตุลาคม
กฎที่อัปเดตบังคับใช้การแยกอย่างเข้มงวดระหว่างประเภทบัญชีโดยการตรวจสอบฟิลด์ข้อมูลรับรองการถอน รับประกันว่าการฝากเงินของ validator ที่ถูกต้องจะถูกส่งไปยังคิวการเปิดใช้งาน validator โดยไม่คำนึงถึงการลงทะเบียนของผู้สร้างบล็อกก่อนหน้า
ความท้าทายสองประการ: ความล่าช้าของ Testnet และข้อกำหนดของไคลเอนต์
การแก้ไขข้อบกพร่องการฝากเงินเกิดขึ้นพร้อมกับการระงับการเปิดตัว testnet สาธารณะของ Glamsterdam อย่างต่อเนื่อง มูลนิธิ Ethereum ได้เลื่อนการเปิดใช้งานในวันที่ 26 ตุลาคมบน testnet Hoodi เพื่อตรวจสอบการเปลี่ยนแปลงการบัญชีแก๊ส EIP-8037 ที่นักวิจัยด้านความปลอดภัยระบุว่าอาจรบกวนตรรกะการประมวลผลในสัญญาอัจฉริยะที่มีอยู่
แม้ว่า Glamsterdam จะเปิดใช้งานอย่างราบรื่นบน testnet Sepolia เมื่อวันที่ 6 ตุลาคม แต่การปรับใช้ mainnet ยังคงไม่มีกำหนดการจนกว่าการทดสอบ Hoodi จะเสร็จสิ้นและการอัปเดตซอฟต์แวร์ไคลเอนต์เพิ่มเติม ทีมไคลเอนต์ฉันทามติแต่ละทีม (รวมถึง Prysm, Lighthouse, Teku และ Lodestar) ต้องรวมแพตช์การฝากเงินที่รวมเข้าด้วยกันแล้วเข้ากับรุ่นซอฟต์แวร์ของตนก่อนการทดสอบซ้อมบน testnet ครั้งถัดไป
เนื้อหานี้จัดทำขึ้นโดยมีวัตถุประสงค์เพื่อแจ้งข้อมูลและให้ความรู้เท่านั้น และไม่ถือว่าเป็นคำแนะนำด้านการลงทุนที่เกี่ยวข้องกับ BTCC แต่อย่างใด BTCC ใช้ความพยายามอย่างเต็มที่ แต่ไม่สามารถรับประกันความจริงแท้ ความถูกต้อง หรือความเป็นต้นฉบับของเนื้อหาข้างต้นได้