<?php wp_title('|', true, 'right'); ?>

เครือข่ายทดสอบ Ethereum 2.0 ล่ม ผู้ทดสอบเป็นจำนวนมากถูก Slashing

ติดตามสยามบล็อกเชนบนSiam Blockchain

ดูเหมือนว่าเครือข่ายทดสอบเหรียญ Ethereum 2.0 หนังจะเกิดการล้มในช่วงวันศุกร์ที่ผ่านมา โดยมันไม่สามารถเข้าถึงขั้นตอน finality หรือการปิดบล็อกลงได้ในตอนท้าย

โดยเครือข่ายทดสอบดังกล่าวนั้นมีชื่อว่า Prysm และสาเหตุที่มันล้มนั้นมาจากบั๊กตัวหนึ่งที่มีความเกี่ยวข้องกับระบบเวลา โดยเครือข่ายดังกล่าวนั้นมีผู้เข้ามาทดสอบใช้งานเป็นผู้ยืนยันธุรกรรมเป็นจำนวนมาก แม้ว่าจะมีเครือข่ายทดสอบตัวอื่นๆให้ลองอีกก็ตาม

สาเหตุหลักๆที่มันมีผู้เข้ามาตรวจสอบการใช้งานเยอะเนื่องจาก Prysm มีระบบช่วยสอนวิธีการใช้งานแบบตรงไปตรงมาจึงทำให้ผู้คนแห่เข้าไปใช้กันเยอะ

ภายหลังจากนั้นทุกคนที่อยู่บนเครือข่าย Prysm จึงถูก Slash (ถูกริบเหรียญที่นำมา stake เนื่องจากทำผิดกฎโปรโตคอล) โดยมีสาเหตุมาจากความผิดพลาดในการ sync ข้อมูลเวลาที่ผิดพลาด โดยมันรุดหน้าไปในอนาคตถึง 4 ชั่วโมง โดยข้อมูลที่เตือนความผิดพลาดมีลักษณะดังนี้

“WARN roughtime: Roughtime reports your clock is off by more than 2 seconds offset=4h0m0.028854657s.”

ดูเหมือนว่าตัว node ที่ถูกเชื่อมต่อไปยังเซิร์ฟเวอร์ NTP เพื่อทำการ sync เวลาจะมีการคืนข้อมูลที่ผิดพลาดกลับมา โดยตอนนี้ดูเหมือนพวกเขาจะใช้เซิฟเวอร์ NTP จำนวน 6 ตัวเพื่อส่งข้อมูลดังกล่าวแต่ดูเหมือนว่ามันจะไม่เพียงพอเนื่องจากว่าทั้งหมด 6 ตัวนั้นคืนค่าข้อมูลเกี่ยวกับเวลาที่ผิดพลาดทั้งหมด

โดยรายงานการตรวจสอบการล้มของ server เผยว่า ตัว cloudflare rough time server ได้ทำการคืนค่าที่ผิดพลาดกลับมาทั้งหมดส่งผลทำให้ตัว node ของ Prysm ทำงานผิดพลาดตามไปด้วย

นาย Raul Jordan นักพัฒนาเหรียญ ETH 2.0 ของ Prysm ได้ออกมาอธิบายต่ออีกว่าอัตราการ participation หรือการเข้าร่วมเพื่อเป็นผู้ยืนยันธุรกรรมบนเครือข่ายไม่ถูกต้องเนื่องจากว่า

“ตอนนี้ไม่มีใครที่ sync อยู่กับตัว chain head เลย จนกว่าคุณจะมีตัว node ที่ถูก sync อยู่กับ head เราถึงจะทำให้การ participation มีความเสถียรได้ ผมยังไม่แน่ใจด้วยซ้ำว่าปัจจุบันอัตราการ participation นั้นมากกว่า 0% หรือไม่”

นาย Nishant Das อีกหนึ่งนักพัฒนาของ ETH 2.0 สำหรับเครือข่าย Prysm ได้อธิบายว่าโหนดของ Prysm บางตัวมีผู้คนเป็นจำนวนมากที่ต้องการจะ sync เข้ามาในเวลาเดียวกันต้นส่งผลทำให้พวกเขาได้รับข้อความผิดพลาดตามรูปด้านล่างนี้ โดยเขากล่าวต่ออีกว่า

“สิ่งนี้ถือเป็นเรื่องที่หนักหนาสาหัสสำหรับ ETH 2.0 มาก หากมันไม่มี synchronization time เราจะทำการใช้ rough time ของ Cloudflare เพื่อทำการจัดการเวลานาฬิกาโดยตรง”

อย่างไรก็ตามตัว rough time นั้นมีเวลาที่คลาดเคลื่อนไป 4 ชั่วโมงเมื่อวานนี้ซึ่งส่งผลทำให้เกิดความยุ่งเหยิงในเครือข่ายอย่างมาก โดยวิธีการแก้ไขก็คือจากไม่ทำการแก้ไขตัวเวลาของผู้ใช้งานที่อ้างอิงมาจาก rough time แต่ให้ใช้วิธีส่งข้อความผ่าน logs error เพื่อแจ้งเตือนพวกเขาว่าเวลามีความผิดพลาด

โดยบั๊กตามรูปด้านล่างนี้ส่งผลทำให้ทั้งเครือข่ายนั้นเกิดอาการล่ม

ซึ่งก็ต้องรอดูกันต่อไปว่าพวกเขาจะสามารถแก้ไขปัญหาดังกล่าวในอนาคตได้หรือไม่