มีข้อบกพร่องในเครือข่ายทดสอบ ETH2.0 หรือไม่ สำหรับ Ethereum มันเป็นเพียงลมและคลื่นเล็กๆ
ผู้แต่ง | ฉิน เสี่ยวเฟิง
ผู้แต่ง | ฉิน เสี่ยวเฟิง
บรรณาธิการ | แมนดี้ หวัง เหมิงดี

ผลิต|Odaily
สุดสัปดาห์ที่ผ่านมา Ethereum 2.0 testnet มีมอดอีก

พูดง่ายๆ ก็คือ สาเหตุหลักของ testnet ในครั้งนี้คือเซิร์ฟเวอร์เวลา Roughtime ของไคลเอ็นต์ Prysm ถูกขัดจังหวะ และเกิดการเอียงของนาฬิกา ซึ่งทำให้ตัวตรวจสอบและส่วนหัวของบล็อกไม่ซิงค์กัน และท้ายที่สุดก็ส่งผลกระทบต่อค่าปกติ การทำงานของ testnet Medalla
ชื่อเรื่องรอง
(1) อุบัติเหตุย้อนหลัง
การเอียงของนาฬิกาที่เรียกว่าเป็นการเบี่ยงเบนระหว่างเวลาบล็อกและเวลาปกติ
เวลามีความสำคัญต่อ Eth2.0 และแต่ละบล็อกจะมีการประทับเวลา ทันทีที่เวลาไม่ตรงกัน เครือข่ายจะไม่สามารถทำงานได้ตามปกติ
เพื่อป้องกันไม่ให้เวลาของระบบไม่ถูกต้อง Prysm จึงใช้ Roughtime ซึ่งเป็นเซิร์ฟเวอร์เวลาของ Cloudflare ในสหรัฐอเมริกาเพื่อแก้ไข และเพื่อป้องกันความล้มเหลวของเครื่องจักรเพียงเครื่องเดียว จึงได้เลือก 6 เครื่อง
ตามการวินิจฉัยที่ตามมารายงานรายงาน
ผลลัพธ์สุดท้ายคือ "นาฬิกาเอียง" บนไคลเอ็นต์ Prysm เกิน 2 วินาทีเป็นเวลาสูงสุด 90 นาที และเวลาไคลเอ็นต์โดยรวมยังเร็วกว่าเวลามาตรฐาน 4 ชั่วโมงอีกด้วย ตามทวีตของ Preston Vanloon นาฬิกาเอียงเกิดขึ้นระหว่างเวลา 01.30 น. ถึง 03.00 น. ตามเวลาปักกิ่งของวันที่ 15 ดังต่อไปนี้:

คำอธิบายภาพ
(นาฬิกาเอียง)
หลังจากเกิดอุบัติเหตุ ไคลเอนต์ Prysm หยุดใช้เซิร์ฟเวอร์ Roughtime ทันที และเรียกร้องให้ผู้ใช้เปลี่ยนไปใช้ไคลเอนต์อื่น
"เราตัดสินใจปิดใช้งาน Roughtime sync เป็นค่าเริ่มต้น มีข้อบกพร่องบางอย่างในการคำนวณ Roughtime และเราต้องการแก้ไขให้เร็วที่สุด โดยไม่คำนึงถึงสิ่งที่ค้นพบ เราเชื่อว่าควรเป็นตัวเลือกในการปรับนาฬิกาโดยอัตโนมัติหรือยกเลิกไปเลย เพรสตัน แวนลูน กล่าว
ไม่กี่ชั่วโมงต่อมา นักพัฒนาได้เสร็จสิ้นการตรวจสอบและออกการแก้ไข
"ในขณะที่แก้ไขข้อบกพร่องนี้ เราได้ลบฟังก์ชันการทำงานที่สำคัญทั้งหมดที่โหนด Prysm จำเป็นต้องใช้ในการทำงานโดยไม่ได้ตั้งใจ ซึ่งทำให้ปัญหาแย่ลงไปอีก" นักพัฒนา Raul Jordan กล่าว
ชื่อเรื่องรอง
(2) ผลที่ตามมา
เนื่องจากการซิงค์หมดเวลา "แทบจะไม่มีใครซิงค์กับส่วนหัวของห่วงโซ่" สำหรับการตรวจสอบผ่านไคลเอนต์ Prysm นอกจากนี้ยังหมายความว่าข้อมูลของพวกเขาไม่ถูกต้อง และพวกเขาไม่สามารถเข้าร่วมในการยืนยัน รับรางวัลเดิมพัน ฯลฯ
แม้ว่า Eth2.0 จะยังอยู่ในขั้นของเครือข่ายทดสอบในปัจจุบัน แต่รางวัลเหล่านี้ยังไม่เป็นของจริง—รวมถึง ETH ที่ผู้ใช้เข้าร่วมในการยืนยันคำมั่นสัญญาก็เป็นเวอร์ชันของเครือข่ายทดสอบเช่นกัน ซึ่งไม่มีการหมุนเวียนจริง
เนื่องจากไคลเอนต์ prysm มีสัดส่วนมากกว่า 64% ของเครือข่ายทั้งหมด หลังจากเหตุการณ์ดังกล่าว อัตราส่วนของจำนวนผู้ตรวจสอบความถูกต้องที่ลงคะแนนอย่างแข็งขันต่อจำนวนผู้ตรวจสอบทั้งหมดในเครือข่ายทดสอบ Medalla ลดลงจากประมาณ 75% เหลือต่ำกว่า 5% นอกจากนี้ยังหมายความว่าผู้ตรวจสอบที่เหลือไม่สามารถบรรลุฉันทามติในเครือข่ายทั้งหมด และเครือข่ายไม่สามารถทำงานได้ตามปกติ

คำอธิบายภาพ
(อัตราการมีส่วนร่วมของเครือข่าย)
สื่อต่างประเทศ "Trustnodes" รายงานว่าอุบัติเหตุยังทำให้เครือข่าย Ethereum หยุดทำงานชั่วขณะ: เมื่อประมาณ 30% ของกระบวนการตรวจสอบล้มเหลว ปัญหาหน่วยความจำก็เริ่มปรากฏขึ้น หลังจากนั้นประมาณ 50% ปัญหาก็ใหญ่ขึ้น และสุดท้ายที่ 70% หลังจากนั้น เครือข่ายหยุดลงอย่างเห็นได้ชัด

บ่ายวันนี้ Spark Mining Pool ได้โทรหาเพื่อนทุกคนที่ใช้ไคลเอ็นต์ Prysm เพื่อเข้าร่วมในเครือข่ายทดสอบ Medalla โปรดตรวจสอบว่าไคลเอ็นต์ของคุณได้รับการอัปเกรดเป็นเวอร์ชัน alpha.22 หรือไม่ หากคุณยังไม่ได้ดำเนินการ โปรดดำเนินการโดยเร็วที่สุดเพื่อสนับสนุนการกู้คืน Medalla testnet จากความล้มเหลวในการซิงค์
ชื่อเรื่องรอง
(3) การคิด
อุบัติเหตุครั้งนี้ยังสะท้อนให้เห็นถึงความสำคัญของลูกค้าหลายราย
หากไคลเอนต์บางตัวถูกใช้งานมากเกินไป เมื่อเกิดปัญหาขึ้น การทำงานของเครือข่ายทั้งหมดอาจได้รับผลกระทบ
แต่ในความเป็นจริง ลูกค้า Prysm เป็นที่ชื่นชอบด้วยเหตุผล

ในปัจจุบัน มีลูกค้า 5 รายบน Eth2.0 แต่การสอนโดย Prysm นั้นดีที่สุดอย่างไม่ต้องสงสัย ดังนั้นผู้ตรวจสอบส่วนใหญ่จึงยังคงใช้ Prysm อยู่
ดังนั้นสำหรับระบบนิเวศ Ethereum ทั้งหมด เพื่อสร้างสมดุลของพลังของไคลเอ็นต์แต่ละราย จึงจำเป็นต้องปรับปรุงความสามารถในการใช้งานของไคลเอ็นต์รายอื่น และนี่เป็นวิธีที่ยาวไกล
เมื่อพิจารณาจากพัฒนาการของ Ethereum ในช่วง 5 ปีที่ผ่านมา เมื่อเทียบกับความท้าทายต่างๆ เช่น การโจมตีและส้อมของ DAO อุบัติเหตุที่เกิดขึ้นบนเครือข่ายทดสอบครั้งนี้เป็นเพียงปัญหาเล็กน้อยเท่านั้น
สำหรับ Ethereum มันมีแต่จะทำให้ผิดหวังมากขึ้นเรื่อยๆ


