ขอขอบคุณเป็นพิเศษสำหรับ Sacha Yves Saint-Leger และ Danny Ryan สำหรับรีวิว
ในภาคนี้ เราจะพูดถึงกลไกที่เป็นเอกฉันท์เบื้องหลัง eth2 Eth2 มีแนวทางใหม่ในการตัดสินใจว่าบล็อกใดเป็นส่วนหัวของห่วงโซ่พร้อมกับบล็อกใด เป็น และ ไม่ได้ ส่วนหนึ่งของห่วงโซ่
ด้วยการใช้ไฮบริดระหว่างกลไกทั้งสองนี้ eth2 มีเป้าหมายที่จะมีความเห็นพ้องต้องกัน ซึ่งนอกเหนือจากความรวดเร็วและปลอดภัยเมื่อเครือข่ายทำงานตามปกติแล้ว ยังคงปลอดภัยแม้ในขณะที่ถูกโจมตีก็ตาม
ไตรเลมมา
ความเป็นไปไม่ได้ของ FLP เป็นผลลัพธ์หลักในด้านการคำนวณแบบกระจายซึ่งระบุว่าในระบบแบบกระจายนั้นเป็นไปไม่ได้ พร้อมกัน มีความปลอดภัย ความมีชีวิตชีวา และไม่ซิงโครไนซ์เต็มรูปแบบ เว้นแต่จะมีการสันนิษฐานที่ไม่สมเหตุสมผลเกี่ยวกับระบบของคุณ
ความปลอดภัย เป็นความคิดที่ว่าการตัดสินใจไม่สามารถยกเลิกได้ในขณะที่ ความมีชีวิตชีวา ยึดถือแนวคิดที่ว่าสิ่งใหม่ๆ สามารถตัดสินใจได้ โปรโตคอลก็คือ ไม่ตรงกัน หากไม่มีขอบเขตว่าข้อความอาจใช้เวลานานเท่าใดในการส่ง
หากโหนดสามารถสื่อสารได้อย่างน่าเชื่อถือ ปฏิบัติตามโปรโตคอลอย่างซื่อสัตย์เสมอและไม่ผิดพลาด ฉันทามติก็จะเป็นเรื่องง่าย แต่นั่นไม่ใช่วิธีการทำงานของโลก เมื่อสมมติฐานเหล่านี้ไม่เป็นไปตามนั้น FLP Impossibility คือข้อพิสูจน์ว่าอย่างน้อยหนึ่งในสิ่งต่อไปนี้: ความปลอดภัย ความมีชีวิตชีวา หรือความไม่ตรงกันทั้งหมดจะต้องได้รับความเสียหาย
GHOST และความคิดเห็นของพวกเขาเกี่ยวกับส้อม
Eth2 ใช้ ทรีย่อยที่สังเกตได้หนักที่สุดโลภ (GHOST) ตามกฎการเลือกส้อม GHOST เลือกส่วนหัวของห่วงโซ่โดยเลือกส้อมที่ได้รับการโหวตมากที่สุด (โดยพิจารณาคะแนนทั้งหมดสำหรับแต่ละบล็อกส้อมและบล็อกลูกตามลำดับ)
ใส่วิธีอื่นแต่ละครั้งที่มีทางแยก GHOST จะเลือกด้านที่ข้อความล่าสุดสนับสนุนแผนผังย่อยของบล็อก (เช่น ข้อความล่าสุดเพิ่มเติมสนับสนุนบล็อกนั้นหรือหนึ่งในบล็อกที่สืบทอด) อัลกอริธึมทำเช่นนี้จนกว่าจะถึงบล็อกที่ไม่มีลูก
GHOST มีประโยชน์ในการลดประสิทธิภาพของการโจมตีในช่วงเวลาที่มีความหน่วงของเครือข่ายสูง รวมถึงลดความลึกของการจัดวางลูกโซ่ให้เหลือน้อยที่สุดเมื่อเปรียบเทียบกับกฎลูกโซ่ที่ยาวที่สุด เนื่องจากในขณะที่ผู้โจมตีสามารถเก็บบล็อกการสร้างได้อย่างมีประสิทธิภาพบนเครือข่ายของตนเอง ซึ่งจะทำให้บล็อกนั้นยาวที่สุด GHOST จะเลือกทางแยกอื่นเนื่องจากมีคะแนนโหวตทั้งหมดมากกว่า
โดยเฉพาะอย่างยิ่ง eth2 ใช้รูปแบบของ GHOST ซึ่งได้รับการปรับให้เข้ากับบริบท PoS ที่เรียกว่า Final Message Pushed GHOST (LMD-GHOST) แนวคิดเบื้องหลัง LMD-GHOST คือเมื่อคำนวณส่วนหัวของโซ่ เราจะพิจารณาเฉพาะ ล่าสุด การลงคะแนนเสียงโดยผู้ตรวจสอบความถูกต้องแต่ละคน และไม่ใช่การลงคะแนนเสียงใดๆ ที่ผ่านมา สิ่งนี้จะลดการคำนวณที่จำเป็นลงอย่างมากเมื่อเรียกใช้ GHOST เนื่องจากจำนวนส้อมที่ต้องพิจารณาเพื่อดำเนินการตัวเลือกส้อมต้องไม่มากกว่าจำนวนผู้ตรวจสอบความถูกต้อง ( ในรูปแบบ Massive O)
ภายใต้กฎของ GHOST ผู้ตรวจสอบความถูกต้อง/นักขุดสามารถลองเพิ่มบล็อกใหม่ให้กับบล็อกเชน (ความมีชีวิตชีวา) ได้ตลอดเวลา และพวกเขาสามารถดำเนินการนี้ ณ จุดใดก็ได้ในประวัติของเชน (แบบอะซิงโครนัส) เนื่องจากเป็นแบบสดและอะซิงโครนัสอย่างสมบูรณ์ ต้องขอบคุณ FLP เพื่อนของเรา เรารู้ว่ามันไม่ปลอดภัย
การขาดความปลอดภัยปรากฏในรูปแบบขององค์กรใหม่ซึ่งโซ่สามารถสลับระหว่างส้อมที่มีความลึกตามใจชอบได้ในทันที แน่นอนว่านี่เป็นสิ่งที่ไม่พึงประสงค์ และ eth1 จัดการกับสิ่งนี้โดยให้ผู้ใช้ตั้งสมมติฐานว่าบล็อกของนักขุดจะใช้เวลานานแค่ไหนในการสื่อสารกับส่วนที่เหลือของเครือข่าย ซึ่งอยู่ในรูปแบบของการรอ การยืนยัน ในทางตรงกันข้าม Eth2 ไม่ได้ตั้งสมมติฐานเช่นนั้น
อุปกรณ์สุดท้ายที่เป็นมิตร
บล็อกเชนที่ไม่มีแนวคิดเรื่องความปลอดภัยนั้นไร้ประโยชน์เพราะไม่สามารถตัดสินใจได้และผู้ใช้ไม่สามารถเห็นด้วยกับสถานะของเชนได้ เข้า แคสเปอร์ อุปกรณ์สุดท้ายที่เป็นมิตร (แคสเปอร์ FFG)– Casper FFG เป็นกลไกที่ให้ความสำคัญกับความปลอดภัยมากกว่าความมีชีวิตชีวาในการตัดสินใจ ซึ่งหมายความว่าแม้ว่าการตัดสินใจจะถือเป็นที่สิ้นสุด แต่ภายใต้สภาพเครือข่ายที่ไม่ดี ก็อาจไม่สามารถตัดสินใจสิ่งใดได้
FFG เป็นการปรับตัวทางเศรษฐกิจแบบเข้ารหัสของคลาสสิก ความทนทานต่อความผิดพลาดของไบเซนไทน์ในทางปฏิบัติ (PBFT) ซึ่งมีขั้นตอนที่โหนดแรกระบุว่าพวกเขาต้องการเห็นด้วยกับบางสิ่งบางอย่าง (เหตุผล) แล้วตกลงว่าได้เห็นหน้ากันแล้ว (การสรุป–
Eth2 ไม่ได้พยายามที่จะจัดชิดขอบและสรุปทุกช่อง (เวลาที่คาดว่าจะสร้างบล็อก) แต่จะมีเพียงทุกๆ 32 ช่องเท่านั้น เรียกรวมกันว่า 32 ช่อง เรียกว่า ยุค– ขั้นแรก ผู้ตรวจสอบความถูกต้องลงนามว่าพวกเขาเห็นด้วยกับทั้ง 32 บล็อกในยุคนั้น แล้วถ้า ทำเช่นนั้น บล็อกนั้นก็สมเหตุสมผล ในยุคต่อมา ผู้ตรวจสอบความถูกต้องจะได้รับโอกาสอีกครั้งในการลงคะแนนเสียงเพื่อระบุว่าพวกเขาได้เห็นยุคสมัยที่สมเหตุสมผลก่อนหน้านี้แล้ว และหาก เมื่อทำเช่นนี้ ยุคจะสิ้นสุดลงและจะเป็นส่วนหนึ่งของห่วงโซ่ eth2 ตลอดไป
FFG ใช้กลอุบายอันชาญฉลาด การโหวตจริงๆ แล้วประกอบด้วยการโหวตย่อยสองครั้ง ครั้งแรกสำหรับยุคที่กำลังพยายามพิสูจน์ให้ถูกต้อง และอีกครั้งหนึ่งสำหรับยุคก่อนหน้าที่จะถึงขั้นสุดท้าย ซึ่งช่วยประหยัดการสื่อสารพิเศษระหว่างโหนดได้มาก และช่วยให้บรรลุเป้าหมายในการขยายขนาดไปยังผู้ตรวจสอบความถูกต้องหลายล้านคน
ผีสองตัวในเสื้อกันฝน
ฉันทามติภายใน eth2 อาศัยทั้ง LMD-GHOST ซึ่งเพิ่มบล็อกใหม่และตัดสินใจว่าส่วนหัวของ chain คืออะไร และ Casper FFG ซึ่งทำการตัดสินใจขั้นสุดท้ายว่าบล็อกใด เป็น และ ไม่ได้ ส่วนหนึ่งของห่วงโซ่ คุณสมบัติความมีชีวิตชีวาที่ดีของ GHOST ช่วยให้สามารถเพิ่มบล็อกใหม่ลงในห่วงโซ่ได้อย่างรวดเร็วและมีประสิทธิภาพ ในขณะที่ FFG ตามมาเพื่อความปลอดภัยโดยการสรุปยุคสมัย
โปรโตคอลทั้งสองถูกรวมเข้าด้วยกันโดยการรัน GHOST จากบล็อกที่สรุปผลล่าสุดตามที่ FFG ตัดสินใจ จากการก่อสร้าง บล็อกที่สรุปสุดท้ายจะเป็นส่วนหนึ่งของห่วงโซ่เสมอ ซึ่งหมายความว่า GHOST ไม่จำเป็นต้องพิจารณาบล็อกก่อนหน้า
ในกรณีปกติเมื่อมีการผลิตบล็อคและ ผู้ตรวจสอบความถูกต้องกำลังลงคะแนนให้กับพวกเขา บล็อกเหล่านี้จะถูกเพิ่มไปที่ส่วนหัวของเชนโดย GHOST และไม่นานหลังจากที่ FFG ให้เหตุผลและสรุปผลได้ไม่นาน (ซึ่งพิจารณาสองสามยุคสุดท้าย)
หากมีการโจมตีบนเครือข่ายและ/หรือผู้ตรวจสอบความถูกต้องส่วนใหญ่ออฟไลน์ GHOST จะเพิ่มบล็อกใหม่ต่อไป อย่างไรก็ตาม เนื่องจาก GHOST ใช้งานได้จริง แต่ไม่ปลอดภัย มันอาจเปลี่ยนใจเกี่ยวกับส่วนหัวของห่วงโซ่ นี่เป็นเพราะว่าบล็อกใหม่ถูกเพิ่มเข้าไปในห่วงโซ่อย่างต่อเนื่อง ซึ่งหมายความว่าโหนดจะเรียนรู้ข้อมูลใหม่อยู่เสมอ ในทางกลับกัน FFG ให้ความสำคัญกับความปลอดภัยมากกว่าความมีชีวิตชีวา ซึ่งหมายความว่าจะหยุดการสรุปบล็อกจนกว่าเครือข่ายจะเสถียรเพียงพอให้ผู้ตรวจสอบความถูกต้องลงคะแนนได้อย่างสม่ำเสมออีกครั้ง