คู่มือการปักหลัก Eth2: ฉันทามติที่แยกส่วน
หมายเหตุบรรณาธิการ: บทความนี้มาจากผู้ที่ชื่นชอบ Ethereum (ID: ethfans)หมายเหตุบรรณาธิการ: บทความนี้มาจาก
ผู้ที่ชื่นชอบ Ethereum (ID: ethfans)
ผู้ที่ชื่นชอบ Ethereum (ID: ethfans)
ผู้แต่ง: Carl Beekhuizen แปล: A Jian ทำซ้ำโดย Odaily โดยได้รับอนุญาต
ขอขอบคุณเป็นพิเศษสำหรับ Sacha Yves-Leger และ Joseph Schweitzer สำหรับการแก้ไข
อย่างไรก็ตาม มี Sharding ประเภทหนึ่งที่รู้จักกันน้อยใน Eth2 และบางทีอาจน่าตื่นเต้นกว่านั้นจากมุมมองการออกแบบโปรโตคอล: ฉันทามติของ Sharded
วิเคราะห์
ฉันทามติที่แตกแยก
เช่นเดียวกับพลังการประมวลผลของโหนดที่ช้าที่สุดในเครือข่ายที่จำกัดทรูพุตของเครือข่าย ทรัพยากรการคำนวณของตัวตรวจสอบความถูกต้องตัวเดียวยังกำหนดจำนวนทั้งหมดของตัวตรวจสอบความถูกต้องที่สามารถมีส่วนร่วมในฉันทามติ เนื่องจากตัวตรวจสอบความถูกต้องใหม่แต่ละตัวสร้างงานเพิ่มเติมสำหรับตัวตรวจสอบความถูกต้องอื่นๆ ทั้งหมดในระบบ เมื่อจำนวนตัวตรวจสอบความถูกต้องเพิ่มขึ้น ในที่สุดก็จะถึงสถานะที่ตัวตรวจสอบที่มีทรัพยากรน้อยที่สุดจะไม่สามารถเข้าร่วมได้อีกต่อไป ฉันทามติ (เนื่องจากไม่มีอีกต่อไป สามารถติดตามการโหวตอื่น ๆ ทั้งหมดของผู้ตรวจสอบได้) ดังนั้นวิธีแก้ปัญหาของ Eth2 คือฉันทามติที่แยกส่วน
วิเคราะห์
มีหน่วยเวลาพื้นฐานสองหน่วยในระบบ Eth2 คือสล็อตและยุค
ช่วงเวลาคือ 12 วินาที ซึ่งเป็นเวลาที่เราคาดว่าจะสร้างบล็อก บล็อกเป็นกลไกที่ช่วยให้การลงคะแนนเสียงของผู้ตรวจสอบความถูกต้องเผยแพร่บนเชน ไม่ใช่แค่รวมธุรกรรมเพื่อทำให้เชนมีประโยชน์
ช่วงเวลาประกอบด้วย 32 ช่อง (เช่น 6.4 นาที) ซึ่งในระหว่างนั้น beacon chain จะทำการคำนวณทั้งหมดที่เกี่ยวข้องกับการบำรุงรักษา chain รวมถึง: การหาเหตุผลเข้าข้างตนเองและการสิ้นสุดของ block ใหม่ การออกรางวัลและบทลงโทษแก่ผู้ตรวจสอบความถูกต้อง
ตามที่เราได้กล่าวไว้ในบทความแรกของชุดนี้ ผู้ตรวจสอบความถูกต้องได้รับมอบหมายให้ทำงานในคณะกรรมการชุดต่างๆ จากนั้นเมื่อใดก็ได้ มีผู้ตรวจสอบที่เป็นทั้งสมาชิกของคณะกรรมการห่วงโซ่สัญญาณและสมาชิกของคณะกรรมการห่วงโซ่ชิ้นส่วน ผู้ตรวจสอบแต่ละคนจะต้องส่งข้อความพยานหนึ่งครั้งในช่วงเวลาหนึ่ง —— บล็อกการลงคะแนน
แบบจำลองความปลอดภัยของ Eth2 ที่แยกส่วนเป็นเอกฉันท์นั้นขึ้นอยู่กับแนวคิดที่ว่าคณะกรรมการเป็นตัวแทนทางสถิติที่ถูกต้องในระดับหนึ่งของผู้ตรวจสอบความถูกต้องทั้งชุด
ตัวอย่างเช่น หาก 33% ของผู้ตรวจสอบความถูกต้องในชุดเครื่องมือตรวจสอบทั้งหมดเป็นอันตราย พวกเขาอาจรวมอยู่ในคณะกรรมการชุดเดียวกัน แล้วมันก็จบลง
ดังนั้น เราต้องแน่ใจว่าไม่ใช่กรณีนี้ กล่าวอีกนัยหนึ่ง สิ่งที่เราต้องรับประกันก็คือหาก 33% ของผู้ตรวจสอบความถูกต้องเป็นอันตราย จะมีเพียง 33% ของผู้ตรวจสอบความถูกต้องในคณะกรรมการเท่านั้นที่มุ่งร้าย
รับประกันการมอบหมายคณะกรรมการแบบสุ่มของผู้ตรวจสอบความถูกต้อง
มีการกำหนดจำนวนขั้นต่ำในการจัดตั้งคณะกรรมการ
ตัวอย่างเช่น หากคณะกรรมการชุดเดียวประกอบด้วยผู้ตรวจสอบความถูกต้องที่สุ่มเลือก 128 คน ความน่าจะเป็นที่ผู้โจมตีที่ควบคุม 1/3 ของเครื่องมือตรวจสอบความถูกต้องของเครือข่ายสามารถควบคุม 2/3 ของผู้ตรวจสอบความถูกต้องของคณะกรรมการชุดเดียวนั้นน้อยมาก (ความน่าจะเป็นต่ำกว่า 2^- 40).
ชื่อเรื่องรอง
ครอบคลุม
คะแนนโหวตที่ส่งมาโดยผู้ตรวจสอบความถูกต้องเรียกว่า "การยืนยัน" ข้อความรับรองประกอบด้วยหลายส่วน:
โหวตให้บล็อกด้านบนของห่วงโซ่สัญญาณ
โหวตให้กับ Rationalization Beacon Blocks/Deterministic Beacon Chain Blocks
โหวตสถานะล่าสุดของห่วงโซ่เศษ
ลายเซ็นของผู้ตรวจสอบทั้งหมดที่เห็นด้วยกับการลงคะแนน
การรวมส่วนต่าง ๆ ให้ได้มากที่สุดเท่าที่จะเป็นไปได้ในข้อความยืนยันเดียว ประสิทธิภาพโดยรวมของระบบดีขึ้น เนื่องจากเมื่อตรวจสอบลายเซ็นของผู้ตรวจสอบความถูกต้อง ไม่จำเป็นต้องตรวจสอบการลงคะแนนบนบล็อกบีคอนเชนและชาร์ดเชนแยกกันอีกต่อไป สำหรับการลงคะแนนแบบบล็อก โหนดจำเป็นต้องทำการคำนวณตามข้อความพยานเท่านั้นเพื่อทราบสถานะของบล็อกเชนบีคอนและสถานะของเชนชาร์ดแต่ละรายการ
หากตัวตรวจสอบความถูกต้องแต่ละรายการส่งข้อความยืนยันของตัวเอง และข้อความยืนยันแต่ละรายการจำเป็นต้องได้รับการยืนยันแยกกันโดยโหนดอื่นๆ ทั้งหมด โอเวอร์เฮดของโหนด Eth2 อาจมีขนาดใหญ่มาก นั่นเป็นเหตุผลที่เราต้องการ "เทคนิคการรวม"
ข้อความรับรองได้รับการออกแบบมาให้เขียนได้ง่าย ดังนั้นหากผู้ตรวจสอบความถูกต้องสองคนหรือมากกว่าลงคะแนนเสียงเดียวกัน ข้อความเหล่านั้นทั้งหมดสามารถรวมเป็นข้อความยืนยันเดียวได้ เพียงแค่ใส่ฟิลด์ลายเซ็นเข้าด้วยกัน เท่านี้ก็เรียบร้อย นั่นคือ "การรวม" และความหมาย
การลงคะแนนเสียงของคณะกรรมการยังง่ายต่อการรวมโดยพื้นฐาน เนื่องจากตัวตรวจสอบความถูกต้องเหล่านี้ถูกกำหนดให้อยู่ในชาร์ดเดียวกันทั้งหมด ดังนั้นการโหวตสำหรับสถานะชาร์ดและการโหวตสำหรับบีคอนเชนบล็อคจึงน่าจะเหมือนกัน นี่คือวิธีที่ Eth2 ปรับขนาดปริมาณงานตามจำนวนตัวตรวจสอบความถูกต้องที่เพิ่มขึ้น โดยการกระจายผู้ตรวจสอบออกเป็นคณะกรรมการ ผู้ตรวจสอบจะต้องดูแลสมาชิกของคณะกรรมการของตนเองเท่านั้น และต้องตรวจสอบข้อความรับรองโดยรวมจากคณะกรรมการอื่นๆ เพียงไม่กี่รายการเท่านั้น
หาก 10% ของ ETH ทั้งหมดเข้าร่วมในการจำนำ Eth2 จะมีผู้ตรวจสอบความถูกต้องประมาณ 350,000 คน ซึ่งหมายความว่าขนาดของข้อมูลลายเซ็นที่สร้างโดยยุคเดียวอาจถึง 33.6 MB ดังนั้น 1 วันคือ 7.6 GB จากนั้นในเวลาเพียง 133 วัน ข้อมูลลายเซ็นจะเกิน 1 TB
สรุป
การออกแบบการกำหนดผู้ตรวจสอบความถูกต้องให้กับคณะกรรมการต่างๆ ช่วยลดปริมาณงานที่จำเป็นในการตรวจสอบ Eth2 ได้หลายลำดับความสำคัญ
วิธีแก้ไขคือลายเซ็น BLS สามารถรวมได้ หาก Alice ส่งลายเซ็น A และ Bob ส่งลายเซ็น B ไปยังข้อมูลเดียวกัน ลายเซ็นของ Alice และ Bob สามารถตรวจสอบได้โดยการจัดเก็บ C = A+B การใช้เทคโนโลยีการรวมลายเซ็น ผู้ตรวจสอบความถูกต้องของคณะกรรมการทั้งหมดสามารถรวมเป็นลายเซ็นเดียวได้ สิ่งนี้จะลดความต้องการพื้นที่เก็บข้อมูลสำหรับข้อมูลที่เซ็นชื่อลงเหลือ 2 MB ต่อวัน
สรุป
การออกแบบการกำหนดผู้ตรวจสอบความถูกต้องให้กับคณะกรรมการต่างๆ ช่วยลดปริมาณงานที่จำเป็นในการตรวจสอบ Eth2 ได้หลายลำดับความสำคัญ


