รายงานล่าสุดเกี่ยวกับสถานะของ Ethereum 2.0: มีการเปิดตัว 64 shards และคาดว่าจำนวนผู้ตรวจสอบความถูกต้อง
หมายเหตุบรรณาธิการ: บทความนี้มาจากข้อมูล Babbitt (รหัส: bitcoin8btc)หมายเหตุบรรณาธิการ: บทความนี้มาจาก
ข้อมูล Babbitt (รหัส: bitcoin8btc)สถานะปัจจุบันของ Ethereum 2.0โดย Danny Ryan แปลโดย Kyle เผยแพร่โดยได้รับอนุญาต
บทความนี้เผยแพร่บนบล็อก Ethereum อย่างเป็นทางการโดย Danny Ryan ผู้ประสานงาน Ethereum 2.0 ข้อความต้นฉบับคือ "
สถานะปัจจุบันของ Ethereum 2.0
" (มิถุนายน 2563). ในบทความนี้ Danny Ryan ได้แนะนำสถานะล่าสุด ความคืบหน้า และแผนของ Ethereum 2.0 (eth2)
ขอบคุณมากสำหรับ Sacha Saint-Leger, Joseph Schweitzer, Josh Stark และ protolambda สำหรับข้อมูลและข้อเสนอแนะที่ยอดเยี่ยม
ฉันใช้เวลามากมายในการอธิบายและตอบคำถามเกี่ยวกับ eth2 เมื่อฉันสื่อสารกับผู้สนับสนุนด้านเทคนิคเกี่ยวกับการวิจัยที่เกี่ยวข้องและข้อกำหนดทางเทคนิค บางส่วนเกี่ยวข้องกับเชิงลึกและด้านเทคนิค แต่ทุกวันนี้ ฉันถามชุมชนมากขึ้นเกี่ยวกับความคืบหน้า ทิศทาง แรงจูงใจ การตัดสินใจในการออกแบบ ความล่าช้า ฯลฯ ของ eth2 ฉันสนุกกับบทสนทนาเหล่านี้มาก เมื่อฉันอธิบาย eth2 ฉันตื่นเต้นมาก คิดวิธีใหม่ๆ เพื่ออธิบายความคืบหน้าของส่วนต่าง ๆ หรือค้นหาการเปรียบเทียบที่เหมาะสมตามผู้ชม เพื่อทำให้ชุมชนทำงานได้ และโปร่งใส
อย่างไรก็ตาม แนวทางเชิงพลวัต/การสนทนานี้ แม้ว่าจะมีประโยชน์ แต่คนจำนวนมากในชุมชนยังไม่รู้จักมากนัก ฉันถูกถามคำถามเดิมซ้ำแล้วซ้ำเล่า กระทั่งหกเดือนต่อมา ฉันยังถูกถามคำถามเดิมอีก! เห็นได้ชัดว่ามีปัญหาในการส่งข้อมูลที่นี่ ข้อมูลที่ชุมชนต้องการทราบมีอยู่แล้วในที่สาธารณะ แต่กระจัดกระจายไปทั่วเว็บในรูปแบบต่างๆ เช่น โพสต์การวิจัย เอกสารข้อกำหนดทางเทคนิค เอกสารข้อกำหนด การประชุมทางโทรศัพท์สาธารณะ ช่องแชทสาธารณะ Reddit บล็อกโพสต์ หลังจาก devcon5 ความพยายามครั้งแรกของฉันในการเชื่อมช่องว่างข้อมูลระหว่างผู้ที่อยู่ภายใน eth2 กับคนอื่นๆ ในชุมชนคือชุดบล็อกใหม่ "eth2 Quick Updates" ข้อมูลเหล่านี้เป็นเพียงข้อมูลเล็กๆ น้อยๆ ที่จะช่วยให้คุณติดตาม eth2 ได้ แต่ฉันตระหนักดีว่าข้อมูลเหล่านี้ไม่ได้ถ่ายทอดมุมมอง eth2 ที่กว้างขึ้นจริงๆ แม้ว่าพอดแคสต์ AMAs และการประชุมสามารถสื่อสารและพูดคุยกันได้ แต่ถึงอย่างนั้น การเขียนข้อความเกี่ยวกับ eth2 ก็ยังมีประโยชน์
บทความนี้อาจเป็นประโยชน์กับนักเทคโนโลยี Ethereum ที่ยังสับสนเกี่ยวกับ eth2 ไม่ต้องกังวล ฉันเข้าใจทุกอย่างแล้ว โครงการมีขนาดใหญ่ ซับซ้อน และอยู่ห่างจากการรับรู้ และคุณสามารถเพิกเฉยได้ในขณะที่แก้ปัญหาเร่งด่วนที่อยู่ในมือ หวังว่าบทความนี้จะช่วยให้คุณเข้าใจสิ่งที่กำลังจะมาถึงได้ดีขึ้น
สำหรับคนทำงาน eth2 คุณอาจได้เรียนรู้บางอย่างจากโพสต์นี้ - ความเข้าใจที่กว้างขึ้นว่าตอนนี้เราอยู่ที่ไหนและคิดอย่างไรเกี่ยวกับสิ่งต่าง ๆ ในอนาคต
ข้อจำกัดความรับผิดชอบ: เนื้อหาในบทความนี้เป็นความคิดเห็นของฉันเอง (แดนนี่ ไรอัน) eth2 กำลังพัฒนา พัฒนา และมีหลายเสียงและมุมมอง บทความนี้เป็นเพียงความเข้าใจเกี่ยวกับ eth2 ของผมเอง
ชื่อระดับแรก
eth2 คืออะไร?
"Eth2 เป็นโครงสร้างพื้นฐานแบบพิสูจน์ผลการเดิมพัน (PoS) ที่ปรับขนาดได้"
ถ้าคุณเคยได้ยินฉันพูดมาก่อนในช่วง 6 เดือนที่ผ่านมา คุณน่าจะได้ยินฉันพูดแบบนี้ครั้งแล้วครั้งเล่า Eth2 ถูกสร้างขึ้นสำหรับ Ethereum และจะเป็น Ethereum ในที่สุด มีจุดมุ่งหมายเพื่อให้สภาพแวดล้อมที่ปลอดภัยและปรับขนาดได้มากขึ้นสำหรับ Ethereum mainnet ในปัจจุบันโดยมีการหยุดชะงักน้อยที่สุดในการดำเนินการต่างๆ ในปัจจุบัน ในขณะเดียวกันก็มอบสภาพแวดล้อมที่อัปเกรดให้กับเรา
ก่อนที่ Ethereum จะถือกำเนิดขึ้น เป็นที่ทราบกันดีว่ากระบวนทัศน์บล็อกเชนเดียวไม่สามารถให้แบนด์วิธได้เพียงพอที่จะทำหน้าที่เป็นแกนหลักของอินเทอร์เน็ตแบบกระจายอำนาจใหม่ ประวัติของการวิจัย Proof-of-stake (PoS) และ Sharding (Sharding) ที่เกี่ยวข้องกับ Ethereum สามารถย้อนกลับไปได้ถึงปี 2014 ทั้ง PoS และ sharding มีจุดมุ่งหมายเพื่อตอบคำถามต่อไปนี้: ด้วยทุนจำนวนหนึ่งที่สนับสนุนเศรษฐกิจ crypto เราจะสามารถปรับปรุงความปลอดภัยและปริมาณงานในขณะที่ยังอนุญาตให้ฮาร์ดแวร์ของผู้บริโภคมีส่วนร่วมในฉันทามติได้หรือไม่ แม้ว่าฉันจะไม่กล่าวถึงประวัติก่อนหน้านี้ในบทความนี้ แต่ประเด็นก็คือภารกิจนี้ใช้เวลาหลายปีและดำเนินไปผิดทางมากมาย ในที่สุด เราก็ได้คำตอบยืนยัน และได้รับการพิสูจน์แล้วว่าคำตอบคือโครงการ eth2
Beacon Chain เป็นเฟส 0 ของ eth2 และเป็นแกนหลักของกลไกฉันทามติใหม่ นี่คือที่ที่กิจกรรมระดับระบบและการประสานเกิดขึ้นทั้งหมด ระยะที่ 0 คือการเข้าถึงฉันทามติกับหน่วยงานที่เป็นเอกฉันท์ (ตัวตรวจสอบความถูกต้อง) นับแสนรายการที่กระจายอยู่ตามโหนดนับพันทั่วโลก
ขั้นตอนที่ 1
เนื่องจากข้อกำหนดทางเทคนิคในเฟส 1+ เกี่ยวกับการแจกจ่ายชุดย่อยของตัวตรวจสอบความถูกต้องในส่วนต่างๆ เราจำเป็นต้องสามารถจัดการกับตัวตรวจสอบความถูกต้องจำนวนมากได้ ความซับซ้อนทางวิศวกรรมส่วนใหญ่เกิดจากข้อกำหนดนี้ เมื่อเทียบกับกลไกการพิสูจน์การเดิมพันแบบ non-sharded อื่นๆ ที่มีตัวตรวจสอบความถูกต้อง 100 หรือ 1,000 ตัว แต่ eth2 ได้รับการออกแบบมาให้มีตัวตรวจสอบความถูกต้องอย่างน้อย ~1600 ตัว และคาดว่าจำนวนดังกล่าวจะถึงหลักแสนภายในสองปี
ขั้นตอนที่ 1
ระยะที่ 0 เกี่ยวกับการบรรลุฉันทามติ ในขณะที่ระยะที่ 1 เกี่ยวกับการบรรลุฉันทามติใน "สิ่งต่างๆ มากมาย" "ธุรกรรม" เหล่านี้มาในรูปแบบของ Shard Chain จำนวนมาก คุณสามารถคิดว่า shard chain เป็น blockchain ของตัวเอง ซึ่งมีความซับซ้อนพอๆ กับ ethereum ในปัจจุบัน แต่อยู่ภายใต้ฉันทามติ eth2 (เช่น ภายใต้และสร้าง/ควบคุมโดย beacon chain) ผู้ตรวจสอบความถูกต้องของ Beacon Chain จะได้รับภารกิจระยะสั้นแบบสุ่มเพื่อสร้างและตรวจสอบความถูกต้องของ shard chains สร้างภาระผูกพันด้านเศรษฐกิจ crypto ต่อสถานะ ความพร้อมใช้งาน และความถูกต้องของแต่ละ chain และรายงานกลับไปยังระบบหลัก
เฟส 1.5
ขั้นตอนที่ 2
เฟส 1.5 เป็นการรวมเมนเน็ตปัจจุบันของ Ethereum เป็นชาร์ด (ซึ่งมีอยู่เป็นหนึ่งในชาร์ดจำนวนมากที่สร้างขึ้นในเฟส 1) เข้าสู่กลไกฉันทามติ eth2 ใหม่ มันไม่ใช่ ethereum ที่สร้างขึ้นด้วยอัลกอริทึมการขุดแบบ กลไกฉันทามติแบบ Hot Swap นี้จะมีความโปร่งใสอย่างมากต่อแอปพลิเคชันและผู้ใช้ที่มีอยู่ แอปพลิเคชันเหล่านี้ยังคงพัฒนาต่อไป แต่นักพัฒนาจะมีระบบที่มีความสามารถมากขึ้น ณ จุดนี้ (การรักษาความปลอดภัยที่ดีขึ้น ขั้นสุดท้ายทางเศรษฐกิจที่เหมาะสม ข้อมูลเลเยอร์ 1 ที่มากขึ้นสำหรับการยกเลิกและแอปพลิเคชันที่น่าสนใจอื่นๆ)
ชื่อเรื่องรอง
ขั้นตอนที่ 2
เฟส 2 จะเพิ่มสถานะและการดำเนินการบนชาร์ดมากกว่าเพียงแค่ชาร์ด Ethereum ดั้งเดิม สิ่งนี้สามารถมีได้หลายรูปแบบ การค้นหาว่ารูปแบบใดและรายละเอียดเบื้องหลังเป็นหัวข้อยอดนิยมของการวิจัยและการสร้างต้นแบบในปัจจุบัน ฉันจะพูดถึงเรื่องนี้เพิ่มเติมในส่วนด้านล่าง
ประโยชน์ของ eth2 ต่อชุมชน
เราได้ครอบคลุมขั้นตอนการพัฒนาทั้งหมดนี้อย่างคร่าว ๆ และขั้นตอนที่ 0 รู้สึกเหมือนอยู่ตรงหน้าเรา แต่แผนงานนั้นดูเหมือนยังอีกยาวไกล ฉันคาดหวังอะไรจาก eth2 ระหว่างขั้นตอนการอัปเกรดเหล่านี้
คำถามที่ดี! โดยรวมแล้ว ในแต่ละขั้นตอนจะมีการอัพเกรดที่เกี่ยวข้องกับเครือข่าย Ethereum และชุมชนมากขึ้นเรื่อยๆ ในฐานะผู้ใช้ คุณสามารถเข้าร่วมการเดิมพันในเฟส 0 ให้เร็วที่สุดเท่าที่จะเป็นไปได้ หรือคุณสามารถรอจนกว่า Ethereum จะถูกย้ายไปยัง eth2 โดยสมบูรณ์ในเฟส 1.5 (จากมุมมองของนักพัฒนาและผู้ใช้ dapp การเปลี่ยนแปลงนี้ควรจะราบรื่น) ไม่ว่าคุณจะเลือกเข้าร่วมด้วยวิธีใดและในขั้นตอนใด มีเหตุการณ์สำคัญและผลประโยชน์ที่ต้องจับตามองเมื่อทุกอย่างเริ่มปรากฏออกมา
ก่อนอื่น ฉันรู้ว่าพวกคุณหลายคนเป็นผู้ถือ ETH ที่ "ตายยาก" กระตือรือร้นที่จะเข้าร่วมในการเดิมพันในอนาคต สำหรับผู้ตรวจสอบที่มีศักยภาพทั้งหมด โดยเฉพาะผู้ที่ชื่นชอบ เฟส 0 เหมาะสำหรับคุณ ระยะที่ 0 มาพร้อมกับความเสี่ยงและระยะเวลา ดังนั้นสำหรับผู้เล่นบางคนจึงไม่น่าดึงดูดนัก ดังนั้นโดยส่วนตัวแล้วผมคาดว่าระยะนี้จะเป็นประโยชน์สำหรับทั้งมือสมัครเล่นและผู้เชื่อใน Ethereum ในระยะยาว นี่เป็นโอกาสพิเศษในการก้าวเข้าสู่ eth2 ช่วยมีอิทธิพลต่อวิสัยทัศน์ของ Ethereum เมื่อเวลาผ่านไป และรับรางวัล ETH ที่สูงขึ้นในฐานะผู้เริ่มต้นใช้งาน
แล้วเฟส 1 ล่ะ? เราสามารถทำสิ่งที่เป็นประโยชน์กับข้อมูลทั้งหมดนี้ก่อนที่จะรวม ethereum ปัจจุบันเข้ากับ eth2 ได้หรือไม่? ใช่
ข้อมูลเลเยอร์ 1 มีประโยชน์มากแม้ไม่มีการคำนวณในเครื่อง ในความเป็นจริง โซลูชันการปรับสเกลเลเยอร์ 2 ที่มีแนวโน้มดีที่สุดในช่วง 12 เดือนที่ผ่านมาคือสิ่งที่เรียกว่าเชน "การยกเลิก" (ในแง่ดีและ ZK) ซึ่งจะปรับขนาดเมื่อข้อมูลเลเยอร์ 1 พร้อมใช้งาน ชั้นข้อมูล eth2 คาดว่าจะให้ Ethereum มีความพร้อมใช้งานของข้อมูล 1-4 MB/s ซึ่งแปลงเป็นความสามารถในการปรับขนาดได้อย่างมากเมื่อรวมกับเทคโนโลยีการยกเลิก แต่เนื่องจากความไม่ปะติดปะต่อของ Ethereum และโลกใหม่ของ Sharding ในตอนเริ่มต้น จึงเป็นเรื่องยากที่จะชี้แจงข้อมูลของ eth2 Shard นี่เป็นหนึ่งในเหตุผลที่ EIP 2537 มีความสำคัญต่อ Ethereum mainnet ด้วย BLS ดั้งเดิม (อัลกอริทึมลายเซ็น eth2 ใหม่) ที่คอมไพล์ล่วงหน้า เราสามารถเขียนไคลเอนต์ eth2 light ที่มีประสิทธิภาพเป็นสัญญาที่มั่นคง ทำให้แอปพลิเคชัน Ethereum สามารถอ้างสิทธิ์ความเป็นเจ้าของข้อมูลใน eth2 ก่อนการรวมเฟส 1.5
นอกจากนี้ ยังเป็นไปได้ที่จะเพิ่มความสามารถในการปรับขนาดได้มากขึ้นเมื่อเวลาผ่านไปโดยการเปิดใช้งานสถานะ/การดำเนินการบนเชนชาร์ดอื่นๆ สิ่งนี้อาจมาในรูปแบบของ EVM หรือเครื่องเสมือน (VM) ใหม่ที่เรียกว่า eWASM ไม่ว่าจะเลือก VM ใด Ethereum EVM shards ที่มีอยู่และ shard chain ใหม่จะสามารถโต้ตอบและสื่อสารภายในเครื่องผ่าน beacon chain ซึ่งเป็นการเติมเต็มวิสัยทัศน์ของ multi-execution sharding
เห็นไหม เป็นการเดินทาง แต่มีอะไรมากมายให้ได้รับระหว่างทาง
ความยากลำบากของแนวทางนี้ และเหตุใดจึงคุ้มค่า
ผู้ตรวจสอบความถูกต้องจำนวนมาก
ส่วนสำคัญของการแบ่งย่อยขึ้นอยู่กับการสุ่มตัวอย่างผู้เข้าร่วมที่เป็นเอกฉันท์ (ผู้ตรวจสอบความถูกต้อง) ที่เข้าร่วมคณะกรรมการเพื่อตรวจสอบความถูกต้องของส่วนหนึ่งของโปรโตคอล (เช่น ส่วนแบ่ง) ด้วยตัวตรวจสอบความถูกต้องที่เพียงพอในโปรโตคอล และสมมติว่าผู้โจมตีมีขนาดสูงสุด (เช่น ควบคุม 1/3 ของตัวตรวจสอบความถูกต้อง) จึงเป็นไปไม่ได้ในทางคณิตศาสตร์ (ด้วยความน่าจะเป็น 1/2^40 หรือมากกว่านั้น) ที่จะเข้าควบคุมค่าคอมมิชชันและทำลาย ระบบ. สิ่งนี้ช่วยให้เราสามารถออกแบบระบบเพื่อให้ทุกคนที่มีคอมพิวเตอร์สำหรับผู้บริโภค เช่น แล็ปท็อปหรือแม้แต่โทรศัพท์มือถือเครื่องเก่า สามารถเป็นผู้ตรวจสอบความถูกต้องได้ (เนื่องจากผู้ตรวจสอบความถูกต้องถูกกำหนดให้กับส่วนย่อยของระบบ และทรัพยากรคอมพิวเตอร์ของเครื่องสามารถตรวจสอบความถูกต้องของส่วนย่อยใดก็ได้ ).
นี่คือสิ่งที่ทำให้การแบ่งกลุ่มนั้นเหลือเชื่อและยากในเวลาเดียวกัน อันดับแรก เราต้องมีตัวตรวจสอบความถูกต้องที่เพียงพอเพื่อรับประกันการสุ่มตัวอย่างนี้ ซึ่งหมายความว่า eth2 คาดว่าจะมีผู้ตรวจสอบความถูกต้องมากกว่าโปรโตคอลส่วนใหญ่ (ฉันคิดว่า) การพิสูจน์สัดส่วนการเดิมพันอื่นๆ สิ่งนี้สร้างความท้าทายในทุกขั้นตอนของกระบวนการ ตั้งแต่การวิจัยไปจนถึงข้อกำหนดกลไกที่เป็นเอกฉันท์ เครือข่าย การใช้ทรัพยากร และการเพิ่มประสิทธิภาพไคลเอนต์ ตัวตรวจสอบความถูกต้องเพิ่มเติมแต่ละตัวจะแนะนำโหลดของระบบในแต่ละขั้นตอนของระบบ ซึ่งต้องคำนึงถึง ทีมไคลเอนต์ Eth2 ได้ทำงานอย่างหนักในการจัดการฉันทามติกับตัวตรวจสอบหลายพันคน เพื่อให้เราสามารถรวมส่วนย่อยจำนวนมากได้อย่างปลอดภัยในเฟส 1
เศษมากมาย
การตัดสินใจออกแบบขั้นพื้นฐานอีกประการหนึ่งที่ทำให้เราสร้างได้ยากก็คือใน Ethereum เราเลือกที่จะบรรลุความสามารถในการปรับขนาดโดยไม่ลดทอนการกระจายอำนาจ
หากเราไม่สนใจว่าผู้ใช้จะสามารถตรวจสอบห่วงโซ่ด้วยตัวเองได้จริงหรือรับประกันว่าเครือข่ายมีข้อมูลจริงเท่าใด ก็ไม่ยากที่จะปรับขนาดบล็อกเชนให้รองรับธุรกรรมหลายหมื่นรายการต่อวินาที ความซับซ้อนของกลไกฉันทามติการแบ่งส่วนเป็นสิ่งจำเป็นเพื่อให้ระบบสามารถแยกย่อยออกเป็นบล็อกขนาดไบต์ที่ตรวจสอบได้ การพัฒนาและดำเนินการตามกลไกฉันทามติดังกล่าวเป็นเรื่องยากมาก
ชื่อเรื่องรอง
ลูกค้าจำนวนมาก
หลักการสำคัญของ Ethereum คือ Ethereum เป็นโปรโตคอลก่อน Ethereum คือชุดของกฎนามธรรมที่ประกอบกันเป็นโปรโตคอล ไม่ใช่การนำชุดกฎเหล่านั้นไปใช้อย่างเฉพาะเจาะจง ด้วยเหตุนี้ ชุมชน Ethereum จึงสนับสนุนการพัฒนาการใช้งานไคลเอนต์จำนวนมากตั้งแต่วันที่ 0 วันนี้บน Ethereum mainnet มีการใช้งานไคลเอนต์มากมายอยู่แล้ว เช่น besu, ethereumJS, geth, netermind, nimbus, open-ethereum, trinity และ turbo-geth ใน eth2 ลูกค้ารวมถึงคอร์เท็กซ์ ประภาคาร lodestar นิมบัส ปริซึม เทคู และทรินิตี้
กระบวนทัศน์หลายลูกค้ามีข้อได้เปรียบที่สำคัญหลายประการ:
การอนุญาตให้มีไคลเอนต์จำนวนมากทำให้สามารถสำรวจแนวคิด อัลกอริทึม และสถาปัตยกรรมได้กว้างขึ้น (แต่ละวิธีมีแนวทางและมุมมองของตัวเอง) ในขณะที่เราทุกคนสร้างระบบที่แข็งแกร่งขึ้น มีการเรียนรู้ร่วมกันที่ดีไปพร้อมกัน
ลูกค้าแต่ละรายมักมีเป้าหมายในการออกแบบที่แตกต่างกัน เมื่อเวลาผ่านไป สิ่งนี้จะนำไปสู่ความหลากหลายของผู้ใช้และแอพพลิเคชั่น ไคลเอ็นต์อาจให้ความสำคัญกับสิ่งต่อไปนี้มากหรือน้อย: ประสิทธิภาพ ความปลอดภัย การปรับขนาดแนวนอน UI/UX ไลต์ไคลเอ็นต์ เบราว์เซอร์ อุปกรณ์ที่มีทรัพยากรจำกัด เป็นต้น
ด้วยไคลเอนต์ระดับการผลิตจำนวนมากบน mainnet จะมีความทนทานต่อการโจมตีครั้งใหญ่ (เช่น การโจมตีแบบ DoS) ที่สามารถทำลายไคลเอนต์ใดไคลเอ็นต์หนึ่งได้ เนื่องจากไคลเอนต์ที่เหลือยังคงแข็งแกร่ง สิ่งนี้เห็นได้จาก "การโจมตี Shanghai DoS" ที่ปรากฏในประวัติศาสตร์ยุคแรกของ Ethereum ในเวลานั้น การโจมตี DoS หลายครั้งทำให้ไคลเอนต์ Geth และ Parity เป็นอัมพาต แต่ไม่มีสถานการณ์ใดที่ไคลเอนต์ทั้งสองเสียพร้อมกัน
ไคลเอนต์แต่ละรายทำหน้าที่เป็นประตูสู่ชุมชนภาษาโปรแกรม ฐานลูกค้าสำหรับภาษาใดภาษาหนึ่งเปิดกว้างและเชื้อเชิญให้ทดลองและสร้างสรรค์สิ่งใหม่ๆ ในภาษานั้นๆ เครื่องมือพื้นฐานที่อยู่รอบๆ ตัวไคลเอนต์มักจะทำให้ระบบนิเวศของเครื่องมือและผู้ร่วมสร้างภาษาแข็งแกร่งขึ้นอย่างต่อเนื่อง กระบวนทัศน์หลายลูกค้าช่วยเพิ่มแรงดึงดูดของ Ethereum
การประสานงานของ N ไคลเอ็นต์ทำให้เกิดค่าโสหุ้ยเชิงเส้น (ค่าโสหุ้ย) สำหรับลูกค้ารายเดียวที่ดีที่สุด แต่อาจมีค่าโสหุ้ยกำลังสอง (N^2) ในบางกรณี เราใช้เทคนิคต่างๆ เพื่อลดค่าใช้จ่ายนี้ เช่น ชุดการทดสอบฉันทามติ (และ fastnet) แต่จะคงอยู่ในรูปแบบใดรูปแบบหนึ่งเสมอ
ลูกค้า
สถานะปัจจุบันของไคลเอ็นต์ eth2 และ testnet
ชื่อเรื่องรอง
ลูกค้า
ในช่วงสองปีที่ผ่านมา ไคลเอ็นต์ eth2 เฟส 0 ได้กลายเป็นซอฟต์แวร์ที่มีความซับซ้อนมากที่สามารถจัดการฉันทามติแบบกระจายกับตัวตรวจสอบความถูกต้องนับพันในโหนดนับพัน ขณะนี้เราอยู่ในช่วงทดสอบเครือข่ายและใกล้เปิดตัวมากขึ้นทุกวัน ฉันคาดว่าไมล์สุดท้ายจะยาว ปรากฎว่าเป็นเช่นนั้น
มีความชัดเจน - หากมีไคลเอ็นต์ที่ใช้งานได้และปลอดภัยมากกว่าหนึ่งตัว คุณมีหน้าที่รับผิดชอบในการใช้งานซอฟต์แวร์ไคลเอนต์จำนวนเล็กน้อยเพื่อส่งเสริมการกระจายซอฟต์แวร์ไคลเอ็นต์ที่ดีบนเครือข่าย
เครือข่ายทดสอบ
นอกจากนี้อย่าอาย หากคุณมีปัญหาเกี่ยวกับเอกสาร โปรดแจ้งให้ผู้อื่นทราบ หากคุณเห็นการพิมพ์ผิด โปรดส่ง PR ถ้ามันล่มหรือแสดงบั๊ก โปรดรายงานบน GitHub หรือไคลเอนต์ Discord คุณเป็นผู้ใช้รุ่นเบต้า และด้วยความช่วยเหลือของคุณ เราสามารถสร้างประสบการณ์ที่ดีขึ้นสำหรับทุกคนREADME)。
ชื่อเรื่องรอง
ขณะนี้เรากำลังเรียกใช้เครือข่ายการพัฒนาสาธารณะขนาดเล็ก (devnet) ซึ่งจะรีบูตทุกๆ 1-2 สัปดาห์ ฉันพูดว่า "devnet" เพราะมันเป็นอันดับแรกและสำคัญที่สุดว่านักพัฒนาของทีมไคลเอนต์ทำงานเกี่ยวกับข้อบกพร่อง การเพิ่มประสิทธิภาพ ฯลฯ พวกเขาเป็นสาธารณะและคุณสามารถเข้าร่วมได้ แต่โปรดทราบว่าพวกเขาไม่ได้อยู่มานานเท่ากับ Goerli หรือ Rinkeby รุ่นล่าสุดที่นำโดย Afri Schoedon คือ Witti testnet ที่ใช้ข้อมูลจำเพาะ v0.11 (หากคุณต้องการเรียกใช้บางโหนด ตรวจสอบที่นี่
ทีมลูกค้ากำลังอัปเกรดเป็นข้อกำหนด v0.12 ซึ่งผสานรวมมาตรฐาน IETF BLS เวอร์ชันล่าสุด จากจุดนั้น เราจะเปลี่ยน devnet เป็น v0.12 ขณะที่เราปรับขนาดเครือข่ายต่อไป ทำให้ไคลเอนต์โหลดมากขึ้นเรื่อยๆ หลังจากที่เรามีไคลเอ็นต์ 2-3 รายที่เปิดใช้งานเครือข่าย v0.12 ที่ประสบความสำเร็จและทำงานภายใต้ภาระงานสูงได้อย่างน่าเชื่อถือ จากนั้นเราจะดำเนินการต่อไปยังเครือข่ายทดสอบสาธารณะมากขึ้น ซึ่งคุณจะเรียกใช้โหนดและตัวตรวจสอบความถูกต้องส่วนใหญ่ของคุณ ความตั้งใจในที่นี้คือการสร้าง testnet แบบหลายไคลเอนต์ที่มีอายุการใช้งานยาวนาน ซึ่งเลียนแบบ mainnet ให้ใกล้เคียงที่สุด (ซึ่งผู้ใช้สามารถฝึกฝนการรันโหนดและทดสอบสิ่งอื่น ๆ ที่พวกเขาต้องการได้อย่างน่าเชื่อถือ) อุดมคติคือการทำให้การเริ่มต้นทำงานและทำงาน และตรวจสอบความล้มเหลวใดๆ ในขณะที่บำรุงรักษาเครือข่าย อย่างไรก็ตาม ขึ้นอยู่กับการมีอยู่และความรุนแรงของความล้มเหลว เราอาจต้องเรียกใช้หลายครั้งเพื่อให้ได้ตำแหน่งที่เราต้องการ
นอกจากเครือข่ายทดสอบปกติแล้ว เรายังจัดเตรียม "เครือข่ายโจมตี" ที่ได้รับการจูงใจ ซึ่งทีมลูกค้าสามารถเรียกใช้เครือข่ายทดสอบที่เสถียรและเชิญชวนให้คุณพยายามทำลายเครือข่ายนี้ด้วยวิธีต่างๆ มากมาย สำหรับการโจมตีที่ประสบความสำเร็จ Ethereum Foundation จะมอบรางวัล ETH ข้อมูลเพิ่มเติมเร็ว ๆ นี้ - คอยติดตาม!
ชื่อเรื่องรอง
สถานะปัจจุบันของเครื่องมือ eth2
ในขณะที่เครื่องมือ eth2 ยังอยู่ในช่วงเริ่มต้น แต่เป็นความพยายามที่น่าตื่นเต้นและเติบโต ตามที่กล่าวไว้ข้างต้น เครื่องมือมักจะมาจากฐานรหัสลูกค้าและความพยายามของทีมลูกค้า แต่ผู้คนจำนวนมากขึ้นเรื่อยๆ เข้ามามีส่วนร่วมทุกวัน เพื่อให้มีปฏิสัมพันธ์ เข้าใจ ปลอดภัย และปรับปรุง eth2 ได้ดียิ่งขึ้น เราในฐานะชุมชนจำเป็นต้องขยายและสร้างเครื่องมือ eth2 พื้นฐาน ฉันต้องการส่งเสียงดังให้กับทีมและบุคคลที่ได้มอบคุณค่ามหาศาลให้กับเครื่องมือ eth2 ของพวกเขาแล้ว และหวังว่าจะยินดีต้อนรับทุกคนในการพัฒนาเครื่องมือใหม่และขยายและปรับปรุงเครื่องมือที่มีอยู่
เครื่องมือ Eth2 เป็นโอกาสใหม่ทั้งหมด นี่เป็นโอกาสอันเหลือเชื่อในการแตะ ส่งมอบคุณค่าที่แท้จริง และประสบความสำเร็จ
ต่อไปนี้เป็นตัวอย่างของงานที่กำลังดำเนินการ แต่ยังต้องทำอีกมาก!
นักสำรวจ: Beaconcha.in, Etherscan, Eth2stats
เครื่องมือเครือข่าย: Prrkl, Rumor, Pyrum, Stethoscope
ที่เก็บคีย์และกระเป๋าเงิน: ethdo, ฝาก cli, EIP 2335 และมาตรฐานใหม่อื่นๆ
การออกแบบ API และการรวมต้นแบบ
การตรวจจับอย่างเจ็บแสบ: Prysm "hash slinging slasher"
ต่อไปนี้เป็นตัวอย่างแนวคิดเกี่ยวกับเครื่องมือแบบเปิด:
Eth2 Validator Alerts: ให้บริการที่แจ้งเตือนผู้ดำเนินการโหนดเมื่อตัวตรวจสอบความถูกต้องของโหนดทำงานได้ไม่ดีพอ
การติดตามเงินฝากของผู้ตรวจสอบความถูกต้อง: ช่วยเชื่อมโยง ethereum และ eth2 explorer ปัจจุบันโดยการติดตามกระบวนการฝากเงินของผู้ตรวจสอบความถูกต้อง
การรักษาความปลอดภัยให้กับตัวตรวจสอบความถูกต้องผ่านพร็อกซี: ใช้พร็อกซีเพื่อติดตามข้อความของตัวตรวจสอบเพื่อให้แน่ใจว่าลูกค้าของคุณไม่ได้ส่งข้อความที่ไม่ปลอดภัย
ยิ่งไปกว่านั้น ยังเป็นประเภทของการสนับสนุนที่ไม่จำกัดเฉพาะข้อมูลจำเพาะ ความคิดสร้างสรรค์มีความสำคัญ หากคุณต้องการมีส่วนร่วม โปรดติดต่อทีมลูกค้า eth2 เพื่อเริ่มต้น
สถานะปัจจุบันของการรวม eth1 + eth2
ในไคลเอนต์ ethereum ปัจจุบัน (เช่น geth เป็นต้น) ความซับซ้อนเกือบทั้งหมดอยู่ที่การจัดการกิจกรรมระดับผู้ใช้ - การรวมธุรกรรม การสร้างบล็อก การคำนวณเครื่องเสมือน และสถานะการจัดเก็บ/ดึงข้อมูล ฉันทามติหลักที่แท้จริง (หลักฐานการทำงาน) นั้นค่อนข้างง่ายในโปรโตคอล ความซับซ้อนส่วนใหญ่ได้รับการจัดการโดยฮาร์ดแวร์ที่ซับซ้อนนอกโปรโตคอลหลัก
การแยกข้อกังวลเหล่านี้ช่วยให้สามารถจับคู่ไคลเอนต์ eth1 และ eth2 ได้อย่างสมบูรณ์แบบที่นี่ปัจจุบัน สมาชิกของทีม geth (Ethereum Foundation) และ TXRX (ConsenSys) กำลังทำงานร่วมกันเพื่อรวมทั้งสองทีมเข้าด้วยกัน งานนี้ประกอบด้วย (1) การกำหนดโปรโตคอลการสื่อสารระหว่างไคลเอ็นต์ eth1 และ eth2 (2) การเพิ่มกลไกที่สอดคล้องกันกับไคลเอ็นต์ eth1 ที่สามารถควบคุมผ่านโปรโตคอลการสื่อสาร และ (3) การสร้างต้นแบบและการจำลองพฤติกรรมของ eth2 เฟส 1 เพื่อ ทดสอบการมีเพศสัมพันธ์ เราหวังว่าจะเห็นผลลัพธ์ที่เป็นรูปธรรมในแนวรบเหล่านี้ในฤดูร้อนนี้
คุณสามารถหา
ที่นี่
อ่านเพิ่มเติมเกี่ยวกับความสัมพันธ์ของลูกค้าขั้นสูง eth1+eth2 และขอบเขตของเทคโนโลยีที่รวมกัน
การดำเนินการและการสื่อสารระหว่างส่วนย่อย
ดังที่ได้กล่าวไว้ก่อนหน้านี้ เส้นทางที่แน่นอนในการบรรลุผลการดำเนินการในหลายๆ ชาร์ดเป็นพื้นที่ของการวิจัยและการอภิปรายอย่างกว้างขวาง มีคำถามมากมายที่จะตอบอยู่. ตัวอย่างเช่น:
ควรเปิดใช้งานเศษส่วนสำหรับการดำเนินการกี่รายการ
สำหรับชิ้นส่วนอื่นๆ เราใช้ EVM หรือ eWASM เป็นเครื่องเสมือนหรือไม่
เราจะจัดระเบียบและประมวลผลธุรกรรมข้ามส่วนได้อย่างมีประสิทธิภาพได้อย่างไร
เราต้องทำการเปลี่ยนแปลงอะไรกับ EVM ที่มีอยู่เพื่อรองรับธุรกรรมข้ามชาร์ด
โดยทั่วไปการดำเนินการและโครงสร้างบัญชีสามารถปรับขนาดได้หรือไม่
ในช่วง 12 เดือนที่ผ่านมา ทีม eWASM (EF) และ Quilt (ConsenSys) ได้ทำการวิจัยมากมายในพื้นที่เหล่านี้ ฟิลด์โซลูชันได้รับการพิสูจน์แล้วว่ามีขนาดใหญ่ และในขณะที่เราสามารถจัดการกับความกว้างของฟิลด์ได้ค่อนข้างดีในขณะนี้ โฟกัสเมื่อเร็วๆ นี้อยู่ที่การค้นพบโซลูชันที่เรียบง่ายและจับต้องได้เพื่อให้สามารถทดสอบ สร้างต้นแบบ และสร้างการสนทนาได้จริงๆ จากการริเริ่ม Eth1x64 ของ eWASM (รับมุมมองระดับสูงของโครงการ และดูข้อมูลจำเพาะล่าสุดบางส่วนที่กำลังกล่าวถึง)
มีความก้าวหน้าอย่างรวดเร็วในการนำแนวคิดแบบแยกส่วนที่เป็นนามธรรมมาเป็นข้อกำหนดเฉพาะที่เป็นรูปธรรมสำหรับการอภิปรายและในที่สุดก็เป็นต้นแบบ จับตาดูการพัฒนาในเรื่องนี้ โดยเฉพาะอย่างยิ่งหากคุณเป็นนักพัฒนา dapp ในอีกไม่กี่เดือนข้างหน้า เราตั้งใจที่จะให้บริการบางอย่างที่คุณสามารถเข้าใจ ใช้งาน และให้ข้อเสนอแนะได้
ความสัมพันธ์ระหว่าง Ethereum ไร้สัญชาติและ eth2
สำหรับผู้ใช้ นี่หมายถึงโลกที่คุณสามารถติดตามบล็อกเชนและแม้แต่มุ่งเน้นไปที่ส่วนต่าง ๆ ของสถานะที่คุณสนใจโดยไม่ต้องจัดเก็บสถานะทั้งหมด ผู้เข้าร่วมเครือข่ายบางรายอาจจัดเก็บสถานะทั้งหมด (ผู้ผลิตบล็อก นักสำรวจบล็อก ผู้ให้บริการสถานะแบบจ่ายตามการใช้งานจริง) แต่ผู้เข้าร่วมส่วนใหญ่จะต้องการเพียงส่วนย่อยของรัฐเท่านั้น
ในที่สุด
สำหรับ eth2 นี่เป็นกลไกทางเทคนิคที่สำคัญที่ทำให้โหนดและตัวตรวจสอบความถูกต้องสามารถตรวจสอบและรักษาความปลอดภัยของโปรโตคอลได้ โดยไม่ต้องมีภาระในการจัดเก็บสถานะผู้ใช้ทั้งหมดสำหรับแต่ละส่วนย่อย แต่ตัวตรวจสอบความถูกต้องอาจเลือกที่จะบล็อกผู้ผลิตสำหรับชาร์ดบางชิ้น และตัวตรวจสอบพื้นฐานอาจตรวจสอบเฉพาะบล็อกไร้สัญชาติเท่านั้น Stateless Ethereum เป็นส่วนเสริมที่ประเมินค่าไม่ได้สำหรับการมองเห็น eth2 ทำให้ชั้นฐานของโปรโตคอลการแบ่งส่วนนั้นบางมาก แม้ว่าเราวางแผนที่จะดำเนินการไร้สัญชาติบน eth2 แต่เรามีตัวเลือกอื่นหากเส้นทางไร้สัญชาติไม่พิสูจน์ว่าเป็นไปได้ในท้ายที่สุด (แม้ว่าตัวฉันเองจะมั่นใจในการไร้สัญชาติมากก็ตาม 😄)
สำหรับบทความนี้ ผมจะไม่ค้นคว้าข้อมูลเชิงลึกใดๆ เพิ่งรู้ว่านี่คือเส้นทาง R&D คู่ขนานที่น่าตื่นเต้นเพื่อรับประกันความยั่งยืนในระยะยาวของ Ethereum หากคุณต้องการเรียนรู้เพิ่มเติม โปรดดูชุดบล็อก 1.x ของ Griffin
ในที่สุด
Eth2 เป็นการดำเนินการครั้งใหญ่ในการจัดหา Ethereum ด้วยฉันทามติที่ได้รับการอัพเกรด รุ่นต่อไป ปรับขนาดได้สูง และปลอดภัย มีการกระจายอำนาจ ทีมงานหลายสิบคนและบุคคลหลายร้อยคนทำงานทุกวันเพื่อให้สิ่งนี้เกิดขึ้น เส้นทางที่เราเลือกนั้นยาก แต่มีความก้าวหน้าอย่างมากและยังคงดำเนินต่อไป
หัวใจของกลไกใหม่นี้อยู่ใกล้แค่เอื้อม


