เมื่อสัปดาห์ที่แล้วลูกค้า ETH2 เจ็ดในแปดคนที่อยู่ภายใต้การพัฒนาที่ใช้งานประสบความสำเร็จในการทำเครื่องหมายสำคัญครั้งสำคัญของการย้ายจากลูกค้ารายเดียวไปเป็น testnets หลายลูกค้าที่ “interop lock-in” ด้วยความสำเร็จที่น่าตื่นเต้นในการพัฒนา ETH2 เราต้องการไตร่ตรองถึงจุดนี้และความหมายของเครือข่าย Ethereum และระบบนิเวศ
ใครก็ตามที่ติดตาม Ethereum ในช่วงสองสามปีที่ผ่านมามีแนวโน้มที่จะคุ้นเคยกับคำศัพท์เช่น “Ethereum 2.0”, “Eth2” หรือ “Serenity” แต่ละเหล่านี้อ้างถึงการอัพเกรดที่สำคัญที่กำหนดไว้สำหรับโปรโตคอล Ethereum ที่ได้รับการจินตนาการในบางรูปแบบตั้งแต่ก่อนที่เครือข่ายจะมีชีวิตอยู่ในปี 2558
ในช่วงปีแรก ๆ ของ Ethereum การวิจัยที่ก้าวล้ำนั้นสามารถทำได้ควบคู่ไปกับการเปิดตัวโซ่ดั้งเดิม (ETH1) ในขณะที่การเติบโตครั้งใหญ่ของชุมชน Ethereum ที่ตามมาด้วยการยอมรับการใช้งานการกระจายอำนาจครั้งแรก ถึงกระนั้นถนนจากความก้าวหน้าในช่วงต้นเหล่านี้ไปสู่การกระจายอำนาจที่มีการกระจายอำนาจอย่างมาก แม้ว่าในช่วง 18 เดือนที่ผ่านมาการวิจัยได้สร้างวิสัยทัศน์ที่เหนียวแน่นและสมบูรณ์แบบสำหรับการอัพเกรดครั้งใหญ่ที่รู้จักกันในชื่อ ETH2
ในขณะที่การวิจัยย้ายไปยังข้อกำหนดในช่วงปลายปี 2561 หลายทีม (ทีมลูกค้า) จากทั่วชุมชนก้าวขึ้นมาเพื่อสร้างการใช้งานหลักของโปรโตคอล (ลูกค้า) ตั้งแต่นั้นมามีการเล่นแบบไดนามิกระหว่างข้อกำหนดและการใช้งาน การโทรแบบป้อม และร่วมกัน สเป็คที่เก็บข้อมูล จัดระเบียบการสื่อสารและการแบ่งปันความคิด แต่ทีมลูกค้าได้ทำงานเป็นหลักในการแยกความสัมพันธ์การสร้างและทดสอบการใช้งานของโปรโตคอล
ในขณะที่สเป็คเป็นเป้าหมายที่เคลื่อนไหวลูกค้าสามารถขุดลึกลงไปในการทำงานร่วมกันและการเพิ่มประสิทธิภาพ แต่เมื่อมีการพิจารณาข้อกำหนดระยะ 0 ของ ETH2 เฟส 0 ของ ETH2 “แช่แข็ง” เมื่อวันที่ 1 กรกฎาคม 2019 ลูกค้ามีความคืบหน้าอย่างมากและเริ่มดำเนินการอย่างเป็นรูปธรรมเพื่อการผลิต
ระหว่างกัน
Joseph Delong จาก เพกากสซิส มีความคิดที่บ้าคลั่งในการรวบรวมสมาชิกจากแต่ละทีมวิศวกรรมลูกค้าในสถานที่ห่างไกลสำหรับงานการทำงานร่วมกันหนึ่งสัปดาห์ เหตุการณ์ถือว่าเป็น “interop lock-in” หรือตามที่เรียกโดยทั่วไป-“interop” ด้วยสเป็คแช่แข็งในสายตาและเดอVCon on the Horizon Interop ในเดือนกันยายนเป็นโอกาสที่ผู้มีส่วนได้ส่วนเสียทั้งหมดเหล่านี้จะทำงานผ่านการเริ่มต้นระหว่างการเริ่มต้นด้วยตนเอง
ที่ วัตถุประสงค์หลัก จากเหตุการณ์คือการมีไคลเอนต์ที่เข้าร่วมแต่ละรายเพื่อให้ได้การทำงานร่วมกันแบบคู่ที่ชาญฉลาดกับลูกค้าอื่น ๆ ในเครือข่ายทดสอบขนาดเล็ก- ประภาคาร <-> อาร์ทิมิส– Lodestar <-> ประภาคาร– Lodestar <-> อาร์ทิมิสฯลฯ
รวมทีมลูกค้าที่เข้าร่วม:
เป้าหมายเพิ่มเติมที่เกี่ยวข้องกับการทดสอบ (1) เครือข่ายขนาดใหญ่ทั้งในการนับโหนดและ (2) จำนวนผู้ตรวจสอบ (3) เครือข่ายที่มีลูกค้า 3+ ราย (4) การเพิ่มเครื่องมือสำหรับการตรวจสอบและการดีบักเครือข่าย ETH2 และ (5) สิ่งสนุกอื่น ๆ
นำไปสู่เหตุการณ์เป้าหมายบางอย่างดูเหมือนจะยืดออก แต่ทีมทำงานอย่างขยันขันแข็งจนกระทั่งถึงกำหนดเวลาและบรรลุความก้าวหน้าที่น่าทึ่ง ในตอนท้ายของสัปดาห์ทีมลูกค้านั้นเกินความคาดหวังดั้งเดิมของการมีเครือข่ายที่ฉลาดไม่กี่คู่แทนที่จะทำการทดสอบคู่ทั้งคู่โดยสร้างเครือข่ายขนาดเล็กของ ทั้งหมด 7 ลูกค้าที่เข้าร่วมและอื่น ๆ
ต่อไปนี้แสดงถึงการเหลือบเข้าไปในไฮไลท์ของความสำเร็จของลูกค้า แต่ไม่ครบถ้วนสมบูรณ์:
testnets หลายไคลเอนต์
- ลูกค้าที่เข้าร่วมทั้งหมด 7 คนประสบความสำเร็จ ความสามารถในการทำงานร่วมกันแบบคู่และถึงแม้ว่า eighth คนขี้เกียจไม่สามารถเข้าร่วมได้พวกเขามี เริ่ม เพื่อทำงานผ่านเหตุการณ์สำคัญนี้เช่นกัน
- testnets ขนาดใหญ่จำนวนมากถูกสร้างขึ้นระหว่างลูกค้า 3+ ราย, 3+ โหนดและสูงกว่าจำนวนผู้ตรวจสอบน้อยที่สุด
- ลูกค้าทั้งหมด 7 ราย ในการเข้าร่วมทำงานได้สำเร็จในเครือข่ายเดียว
- การใช้งาน LIBP2P ของภาษาที่เข้าร่วมทั้งหมดตอนนี้สามารถทำงานร่วมกันได้หลังจากการดีบักปัญหาเล็กน้อย
การดีบักเครือข่ายและเครื่องมือ
- บาง ข้อผิดพลาดฉันทามติ ระหว่างลูกค้าถูกระบุการดีบักและบันทึกเป็นบางส่วนของการเปลี่ยนแปลงของรัฐที่ต้องใช้ความครอบคลุมการทดสอบที่เพิ่มขึ้น
- เครื่องมือบรรทัดคำสั่งถูกสร้างขึ้นเพื่อดีกว่าวัตถุดีบั๊ก SSZ และการเปลี่ยนสถานะ (การเปลี่ยนสถานะ (zcli– Pycliและเครื่องมือที่คล้ายกันที่ฝังอยู่ภายในลูกค้า)
- ความคืบหน้าของแดชบอร์ดตัวชี้วัด, Visualizer ทางแยกและเครื่องมืออื่น ๆ เพื่อทำความเข้าใจกับลูกค้าและเครือข่ายได้ดีขึ้น
- ลูกค้าถูกบรรจุลงในคอนเทนเนอร์เพื่อทำการทดสอบเครือข่ายขนาดใหญ่ภายใน บล็อกสีขาว แพลตฟอร์มปฐมกาล
แล้วบางคน
- ทีมลูกค้าทำหน้าที่เป็นผู้ใช้อัลฟ่าคนแรกของแต่ละคนส่งผลให้ครอบคลุม สร้าง/เรียกใช้สคริปต์ และเอกสารที่เกี่ยวข้อง
- การทดสอบโหลดที่แยกได้ด้วย Nimbus และประภาคารจัดการการตรวจสอบตัวตรวจสอบ 2,000+ บนเครื่องเดียวที่จับคู่กับโหนดเต็มรูปแบบคล้ายกับ LAN
- ลูกค้าหลายรายถูกสร้างและทดสอบในไฟล์ เครือข่าย Raspberry Pi ขนาดเล็ก–
และต่อไป
Interop เป็นจุดเริ่มต้นที่สำคัญสำหรับ ETH2 ยังมีงานอีกมากที่จะทำให้สำเร็จก่อนที่จะเปิดตัว แต่ความพยายามทางวิศวกรรมจะมุ่งไปที่ Testnets การเพิ่มประสิทธิภาพและการใช้งานมากขึ้น – งานที่เริ่มเปลี่ยนซอฟต์แวร์นี้ให้เป็นมือของผู้ใช้
แล้วจะเกิดอะไรขึ้นต่อไปสำหรับทีมลูกค้าและการพัฒนา ETH2
- เกณฑ์มาตรฐานและการเพิ่มประสิทธิภาพ
- การทดสอบการซิงค์เครือข่ายทดสอบความเครียด ฯลฯ
- testnets สาธารณะและแรงจูงใจ
- การตรวจสอบของบุคคลที่สาม
- การขัดประสบการณ์ผู้ใช้ที่ผ่านการตรวจสอบความถูกต้อง
ในที่สุดเราขอขอบคุณเป็นพิเศษสำหรับ เข้าร่วม ทีมที่ช่วยจัดระเบียบโฮสต์และจัดหาทรัพยากรที่ทำให้ Interop เป็นไปได้