*ข้อจำกัดความรับผิดชอบ: สิ่งนี้ไม่ได้หมายความว่าเป็นการเล็กน้อยต่อลูกค้ารายใดโดยเฉพาะ มีความเป็นไปได้สูงที่ลูกค้าแต่ละรายและแม้แต่ข้อกำหนดอาจมีการกำกับดูแลและจุดบกพร่องของตัวเอง Eth2 เป็นโปรโตคอลที่ซับซ้อน และผู้ที่ใช้โปรโตคอลนี้เป็นเพียงมนุษย์เท่านั้น จุดประสงค์ของบทความนี้คือการเน้นย้ำถึงวิธีการและเหตุผลในการลดความเสี่ยง*
ด้วยการเปิดตัว Medalla testnet ผู้คนได้รับการสนับสนุนให้ทดลองกับลูกค้าที่แตกต่างกัน และตั้งแต่แรกเริ่ม เราเห็นว่าทำไม: โหนด Nimbus และ Lodestar ไม่สามารถรับมือกับปริมาณงานของเครือข่ายทดสอบเต็มรูปแบบและติดขัดได้ (0)(1) เป็นผลให้ Medalla ไม่สามารถสรุปได้ในช่วงครึ่งชั่วโมงแรกของการดำรงอยู่
ในวันที่ 14 สิงหาคม โหนด Prysm สูญเสียการติดตามเวลา เมื่อหนึ่งในเซิร์ฟเวอร์เวลาที่พวกเขาใช้เป็นข้อมูลอ้างอิงจู่ๆ ก็กระโดดข้ามไปสู่อนาคตในวันหนึ่ง จากนั้นโหนดเหล่านี้ก็เริ่มสร้างบล็อกและการรับรองราวกับว่ามีอยู่ในอนาคตเช่นกัน เมื่อนาฬิกาบนโหนดเหล่านี้ได้รับการแก้ไข (ไม่ว่าจะโดยการอัปเดตไคลเอนต์ หรือเนื่องจากเซิร์ฟเวอร์เวลากลับมาเป็นเวลาที่ถูกต้อง) ผู้ที่ปิดใช้งานการป้องกันการเฉือนเริ่มต้นจะพบว่าเงินเดิมพันของพวกเขาถูกเฉือน
สิ่งที่เกิดขึ้นนั้นละเอียดอ่อนกว่านั้นอีกเล็กน้อย ฉันขอแนะนำให้อ่านอย่างยิ่ง การเขียนรายงานเหตุการณ์ของราอูล จอร์แดน–
ความล้มเหลวของนาฬิกา – การให้กำลังใจ
ช่วงเวลาที่โหนด Prysm เริ่มการเดินทางข้ามเวลา โหนดเหล่านี้คิดเป็นประมาณ 62% ของเครือข่าย ซึ่งหมายความว่าไม่เป็นไปตามเกณฑ์สำหรับการสรุปบล็อก (>2/3 ในห่วงโซ่เดียว) ที่แย่กว่านั้นคือ โหนดเหล่านี้ไม่พบห่วงโซ่ที่พวกเขาคาดหวังไว้ (มี “ช่องว่าง” 4 ชั่วโมงในประวัติศาสตร์และพวกเขาทั้งหมดกระโดดไปข้างหน้าไปยังเวลาที่ต่างกันเล็กน้อย) ดังนั้นพวกเขาจึงทำให้เครือข่ายท่วมท้นด้วยส้อมสั้น ๆ ตามที่พวกเขาคาดเดา ข้อมูล “หายไป”
ปัจจุบัน Prysm คิดเป็น 82% ของโหนด Medalla 😳 ! (ethernodes.org)
ณ จุดนี้ เครือข่ายเต็มไปด้วยการเดาที่แตกต่างกันหลายพันรายการว่าส่วนหัวของ chain คืออะไร และลูกค้าทั้งหมดก็เริ่มตกอยู่ภายใต้ภาระงานที่เพิ่มขึ้นในการหาว่า chain ใดถูกต้อง สิ่งนี้นำไปสู่โหนดที่ล้าหลัง จำเป็นต้องซิงค์ หน่วยความจำไม่เพียงพอ และความวุ่นวายในรูปแบบอื่น ๆ ทั้งหมดนี้ทำให้ปัญหาแย่ลง
ท้ายที่สุดแล้ว นี่เป็นสิ่งที่ดี เนื่องจากช่วยให้เราไม่เพียงแต่แก้ไขปัญหารากเหง้าที่เกี่ยวข้องกับนาฬิกาเท่านั้น แต่ยังช่วยทดสอบความเครียดกับไคลเอนต์ภายใต้สภาวะความล้มเหลวของโหนดมวลและโหลดของเครือข่ายอีกด้วย ถึงกระนั้นก็ตาม ความล้มเหลวนี้ไม่จำเป็นต้องรุนแรงมากนัก และผู้กระทำผิดในกรณีนี้คือการครอบงำของ Prysm
การกระจายอำนาจของชิลลิง – ตอนที่ 1 เหมาะสำหรับ eth2
อย่างที่ฉันได้พูดคุยไปแล้ว1/3 คือตัวเลขมหัศจรรย์เมื่อพูดถึงอัลกอริธึม BFT แบบอะซิงโครนัสที่ปลอดภัย หากผู้ตรวจสอบความถูกต้องมากกว่า 1/3 อยู่ในสถานะออฟไลน์ จะไม่สามารถสรุปยุคได้อีกต่อไป ดังนั้นในขณะที่ห่วงโซ่ยังคงขยายใหญ่ขึ้น ก็ไม่สามารถชี้ไปที่บล็อกได้อีกต่อไปและรับประกันได้ว่าจะยังคงเป็นส่วนหนึ่งของห่วงโซ่มาตรฐาน
การกระจายอำนาจของชิลลิง – ตอนที่ 2 มันดีสำหรับคุณ
ในขอบเขตสูงสุดที่เป็นไปได้ ผู้ตรวจสอบความถูกต้องจะได้รับแรงจูงใจให้ทำสิ่งที่ดีต่อเครือข่าย และไม่เพียงแต่ได้รับความไว้วางใจให้ทำอะไรบางอย่างเพราะมันเป็นสิ่งที่ถูกต้องที่ต้องทำ
หากโหนดออฟไลน์มากกว่า 1/3 บทลงโทษสำหรับโหนดออฟไลน์จะเริ่มเพิ่มขึ้น สิ่งนี้เรียกว่าการลงโทษเมื่อไม่มีการใช้งาน
ซึ่งหมายความว่า ในฐานะผู้ตรวจสอบความถูกต้อง คุณต้องพยายามให้แน่ใจว่าหากมีสิ่งใดที่ทำให้โหนดของคุณออฟไลน์ ก็ไม่น่าจะทำให้โหนดอื่นๆ จำนวนมากออฟไลน์พร้อมกันได้
เช่นเดียวกับการถูกเฉือน แม้ว่าจะมีโอกาสเสมอที่เครื่องมือตรวจสอบความถูกต้องของคุณจะถูกเฉือนเนื่องจากข้อมูลจำเพาะหรือข้อผิดพลาด/ข้อบกพร่องของซอฟต์แวร์ แต่บทลงโทษสำหรับการเฉือนเพียงครั้งเดียวคือ “เพียง” 1 ETH เท่านั้น
อย่างไรก็ตาม หากมีผู้ตรวจสอบความถูกต้องหลายคนถูกตัดออกในเวลาเดียวกันกับคุณ บทลงโทษจะสูงถึง 32 ETH จุดที่สิ่งนี้เกิดขึ้นคือขีดจำกัดเวทย์มนตร์ 1/3 อีกครั้ง (คำอธิบายว่าทำไมถึงเป็นกรณีนี้สามารถพบได้ที่นี่)–
สิ่งจูงใจเหล่านี้เรียกว่าการต่อต้านความสัมพันธ์ที่มีชีวิตชีวาและการต่อต้านความสัมพันธ์ด้านความปลอดภัยตามลำดับ และเป็นลักษณะที่ตั้งใจอย่างมากในการออกแบบของ eth2 กลไกการต่อต้านความสัมพันธ์จะจูงใจผู้ตรวจสอบความถูกต้องให้ตัดสินใจที่เป็นประโยชน์สูงสุดของเครือข่าย โดยผูกบทลงโทษส่วนบุคคลกับจำนวนผู้ตรวจสอบความถูกต้องแต่ละคนที่ส่งผลกระทบต่อเครือข่าย
การกระจายอำนาจของชิลลิง – ตอนที่ 3, ตัวเลข
Eth2 ได้รับการนำไปใช้โดยทีมอิสระจำนวนมาก โดยแต่ละทีมกำลังพัฒนาลูกค้าอิสระตามที่ระบุไว้ ข้อกำหนด เขียนโดยทีมวิจัย eth2 เป็นหลัก สิ่งนี้ทำให้แน่ใจได้ว่ามีการใช้งานโหนดบีคอนและไคลเอนต์เครื่องมือตรวจสอบความถูกต้องหลายรายการ โดยแต่ละอันทำการตัดสินใจที่แตกต่างกันเกี่ยวกับเทคโนโลยี ภาษา การเพิ่มประสิทธิภาพ ข้อเสีย ฯลฯ ที่จำเป็นในการสร้างไคลเอนต์ eth2 ด้วยวิธีนี้ จุดบกพร่องในชั้นใดๆ ของระบบจะส่งผลกระทบต่อการใช้งานไคลเอนต์เฉพาะเท่านั้น ไม่ใช่ทั้งเครือข่าย
ในตัวอย่างข้อผิดพลาดของเวลา Prysm Medalla มีเพียง 20% ของโหนด eth2 ที่ใช้งาน Prysm และ 85% ของผู้คนออนไลน์อยู่ ดังนั้น การลงโทษการไม่ใช้งานจะไม่เกิดขึ้นกับโหนด Prysm และปัญหาได้รับการแก้ไขแล้ว มีบทลงโทษเพียงเล็กน้อยและบางคืนนอนไม่หลับสำหรับผู้พัฒนา
ในทางตรงกันข้าม เนื่องจากมีผู้คนจำนวนมากใช้งานไคลเอนต์เดียวกัน (หลายคนปิดใช้งานการป้องกันแบบเฉือน) ผู้ตรวจสอบความถูกต้องระหว่าง 3,500 ถึง 5,000 รายถูกเฉือนในช่วงเวลาสั้น ๆ * ความสัมพันธ์ในระดับสูงหมายความว่าการเฉือนนั้นอยู่ที่ ~16 ETH สำหรับเครื่องมือตรวจสอบเหล่านี้เพราะพวกเขาใช้ไคลเอนต์ยอดนิยม
– ตอนที่เขียนยังมีการฟันเข้ามาเรื่อยๆ เลยยังไม่มีเลขสุดท้าย–
ลองอะไรใหม่ๆ
ตอนนี้เป็นเวลาที่จะทดลองกับลูกค้ารายต่างๆ ค้นหาไคลเอนต์ที่มีผู้ตรวจสอบส่วนน้อยใช้งานอยู่ (คุณสามารถดูการกระจายได้ ที่นี่– ประภาคาร– เตกุ– เมฆฝนและ ปริซึม ล้วนมีความเสถียรพอสมควรในขณะนี้ ดาวหาง กำลังตามทันอย่างรวดเร็ว
ที่สำคัญที่สุด ลองลูกค้าใหม่! เรามีโอกาสที่จะสร้างการกระจายที่ดียิ่งขึ้นบน Medalla เพื่อเตรียมพร้อมสำหรับเมนเน็ตแบบกระจายอำนาจ