พิมพ์เขียวในอนาคตและความท้าทายของ Ethereum 2.0
หมายเหตุบรรณาธิการ: บทความนี้มาจากผู้ที่ชื่นชอบ Ethereumหมายเหตุบรรณาธิการ: บทความนี้มาจากmediumแปลโดย A Jian ข้อความต้นฉบับมาจาก

ผู้เขียน Frank Lee พิมพ์ซ้ำโดยได้รับอนุญาตจาก Odaily
คำอธิบายภาพCrosslink 2019 TaiwanDanny Ryan (ที่มา: Crosslink 2019 ไต้หวัน) -
1. สถาปัตยกรรมของ Ethereum 2.0

1. สถาปัตยกรรมของ Ethereum 2.0
สถาปัตยกรรม Ethereum 2.0 (ที่มา: Crosslink 2019 ไต้หวัน)-
เฟส 0 (เฟส 0)
เฟส 0 (เฟส 0)
ใน Ethereum 1.0 (Ethereum 1.0) จะใช้ Proof of Work (PoW) เป็นกลไกฉันทามติ (Consensus) เพื่อสร้างบล็อกใหม่ เพื่อลดพลังการประมวลผลจำนวนมากที่จำเป็นในการสร้างบล็อกใหม่และปัญหาการใช้เวลานานเกินไป Ethereum 2.0 จะเปลี่ยนเป็น Proof of Stake (PoS) เป็นกลไกที่สอดคล้องกันในการสร้างบล็อกใหม่
เมื่อเฟส 0 เสร็จสมบูรณ์ จะมีเชน Ethereum สองอันที่ใช้งานอยู่ Ethereum 1.0 chain (ปัจจุบันใช้ PoW main chain) และ Ethereum 2.0 chain (beacon chain ใหม่) ในขั้นตอนนี้ ผู้ใช้ล็อค Ethereum ไว้ในสัญญาในเชน 1.0 เพื่อลงทะเบียนคีย์สาธารณะ และเชน 2.0 จะรับรู้คีย์สาธารณะที่ลงทะเบียนในสัญญา อย่างไรก็ตาม พวกเขาไม่สามารถโอนย้ายอีเทอร์นั้นกลับไปยังเชน Ethereum 1.0 ได้ และเพื่อที่จะใช้งานบีคอนเชน คุณจะต้องมีไคลเอนต์บีคอนเชน ขณะนี้หลายทีมกำลังพัฒนาไคลเอนต์เหล่านี้
ระยะที่ 1 (ระยะที่ 1)
ระยะที่ 1 (ระยะที่ 1)
ในขั้นตอนแรก shard chain จะถูกเพิ่ม ในขั้นตอนนี้ โฟกัสหลักอยู่ที่โครงสร้างข้อมูลของ shard chain รวมถึงความถูกต้อง (Validity) และความสอดคล้องกัน (Consensus) shard chain ใช้เป็นข้อมูลเท่านั้น ที่สเตจเชนนี้ และไม่ได้ระบุสถานะการดำเนินการ (State Execution) หรือยอดบัญชี (Account Balances) ของชาร์ดเชน นี่เป็นเหมือนการทดสอบโครงสร้างการแบ่งส่วนมากกว่าการพยายามใช้การแบ่งส่วนเพื่อปรับขนาดห่วงโซ่บีคอน ในขั้นตอนนี้ beacon chain จะถือว่าบล็อกของ shard chain (Block) เป็นชุดของบิต (Collections Of Bits) โดยไม่มีโครงสร้างหรือความหมาย Ethereum 1.0 และ Ethereum 2.0 จะยังคงอยู่เคียงข้างกัน ด้วยการทดสอบและการโยกย้ายบนเครือข่าย Ethereum 2.0
ในขั้นตอนนี้ ชาร์ดเชนจะเชื่อมขวางกับบีคอนเชน (ครอสลิงค์) และสถานะปัจจุบันของแต่ละชาร์ด - "รูทข้อมูลรวม (รูทข้อมูลรวม)" จะถูกบันทึกเป็นประจำในบล็อก "บีคอนเชน" เป็น ครอสลิงค์ หลังจากสร้าง beacon chain block เสร็จแล้ว จะถือว่า Shard block ที่สอดคล้องกันนั้นสมบูรณ์ และ Shard อื่นๆ จะรู้ว่าสามารถใช้ block เหล่านี้ในการทำธุรกรรมข้ามชาร์ดได้
Shard Validator จะถูกสุ่มเลือกสำหรับแต่ละ Shard ในแต่ละสล็อตของ Beacon Chain และ Shard Validator ใช้เพื่อบรรลุข้อตกลงเกี่ยวกับเนื้อหาของแต่ละบล็อกเท่านั้น พวกเขาส่ง cross-link เพื่อพิสูจน์เนื้อหาและสถานะของ Shard ไม่สำคัญว่ามีอะไรอยู่ในชาร์ด ตราบใดที่คณะกรรมการทั้งหมดเห็นด้วยและอัปเดตสายบีคอนในชาร์ดอย่างสม่ำเสมอ
ระยะที่สอง (ระยะที่ 2)
2. ข้อเสนอการแบ่งส่วนใหม่

2. ข้อเสนอการแบ่งส่วนใหม่
คำอธิบายภาพ
กลไกที่ดำเนินการโดยข้อเสนอดั้งเดิมของ Ethereum 2.0 คือการดำเนินการเชื่อมโยงข้ามในหน่วยของแต่ละช่วงเวลา (Epoch) มี 1,024 ชิ้น (เศษ) ในแต่ละเชน เมื่อจำเป็นต้องมีธุรกรรมข้ามเชน (Tx) เนื่องจากการ cross-linking ในแต่ละช่วงเวลาจะเกิดความล่าช้ามาก ข้อเสนอใหม่ได้รับการปรับปรุงเพื่อดำเนินการ cross-linking ในแต่ละช่วงเวลา และลดจำนวนเศษ (Shards) เป็น 32 เพื่อลดการ cross-sharding (Cross- Shard) เวลาล่าช้าของธุรกรรม ธุรกรรมข้ามส่วนแบ่งจะดำเนินการทุกช่วงเวลา
ข้อดีของข้อเสนอใหม่
เกี่ยวกับข้อได้เปรียบของข้อเสนอใหม่ของ Ethereum 2.0 ประการแรก จำนวนชิ้นส่วน (Shards) ของข้อเสนอใหม่นั้นลดลงจาก 1,024 เป็น 32 ชิ้น ซึ่งช่วยลดความซับซ้อนของการดำเนินการ เนื่องจากเวลาข้ามชิ้นส่วนลดลงจาก หนึ่งยุคต่อหนึ่งสล็อตและเวลาก็สั้นลง ข้อดีคือ ให้นักพัฒนาและผู้ใช้ DApp มีประสบการณ์ที่ดีขึ้น ในการออกแบบดั้งเดิมของ Ethereum 2.0 จำเป็นต้องมีโมเดลตลาดค่าธรรมเนียมที่ซับซ้อนและโซลูชันที่มองโลกในแง่ดีเพื่อรับรู้ค่าธรรมเนียมธุรกรรมข้ามส่วน แต่ข้อเสนอใหม่จะเปลี่ยนการออกแบบของสภาพแวดล้อมการดำเนินการ เพื่อให้แบบจำลองที่ซับซ้อนดั้งเดิมนั้นง่ายขึ้นอย่างมาก
ธุรกรรมที่เสนอใหม่
ข้อเสนอใหม่ต้องการเพียงเศษชิ้นส่วน (เศษ) น้อยกว่าข้อเสนอก่อนหน้าเพื่อเริ่มการทำธุรกรรม อาจมีระยะเวลาการแบ่งส่วนย่อยที่นานขึ้น (12 วินาที) เศษส่วนบล็อกที่ใหญ่ขึ้น (Shard Block) ซึ่งปัจจุบันอัปเดตเป็นศูนย์ระยะที่ 0 การทดสอบของ Testnets ระยะที่ 0 (Testnets) อาจล่าช้า และข้อเสนอใหม่จะลดเวลาที่จำเป็นสำหรับการเปิดตัว Phase 0
ความคิดปัจจุบัน
3. สภาพแวดล้อมการดำเนินการ

3. สภาพแวดล้อมการดำเนินการ
คำอธิบายภาพ
แผนภาพสถาปัตยกรรมอย่างง่ายของ Ethereum 1.0 (ที่มา: Crosslink 2019 ไต้หวัน)-
ใน Ethereum 2.0 และ Ethereum 1.0 ที่ออกแบบมาก่อนหน้านี้ รัฐมีบทบาทสำคัญมากในกลไกฉันทามติ กลไกฉันทามติจะอ่านและเขียนสถานะทั้งหมดได้ตลอดเวลา โดยไม่คำนึงถึงแนวคิดของการดำเนินการ ธุรกรรม หรือบัญชี แนวคิด ของโครงสร้างแบบต้นไม้และแนวคิดทั้งหมดในโครงสร้างข้อมูลนั้นฝังลึกอยู่ในฉันทามติ
ภาพด้านบนเป็นแผนภาพสถาปัตยกรรมอย่างง่ายของ Ethereum 1.0 ในภาพ เราสามารถเห็นกลไกที่เป็นเอกฉันท์และห่วงโซ่ กลไกที่เป็นเอกฉันท์ประกอบด้วยสถานะและกลไกการดำเนินการ สถานะรวมถึงแผนผังสถานะ กลไกการดำเนินการในที่นี้เป็นเรื่องยาก -coded Rules ซึ่งรวมถึงการดำเนินธุรกรรม รูปแบบบัญชี และโครงสร้างบัญชี เราจะเห็นว่ามีเชนทางด้านขวาของรูป และมีข้อมูลธุรกรรมบนเชน ใน Ethereum 1.0 เราจะใช้ความเห็นพ้องต้องกัน กลไกเกี่ยวกับข้อมูลธุรกรรมในการแก้ไขและปรับปรุงสถานะ
หากคุณทำตามคำแนะนำของ EIP (Ethereum Improvement Proposals) นักพัฒนามักจะขอ opcodes ใหม่เสมอ หรือเปลี่ยนต้นทุนของนักขุด (Gas Cost) เพื่อรองรับแอปพลิเคชันของตน มีตัวอย่างมากมาย เช่น Plasma และ Zkrollup ดังนั้นจึงจำเป็น เพื่อแก้ไขสภาพแวดล้อมการดำเนินการของ EVM 1.0 เพื่อรองรับแอปพลิเคชัน (DApp)

แต่ในระยะที่สองของ Ethereum 2.0 เราสามารถรองรับสภาพแวดล้อมการดำเนินการที่หลากหลายได้ นอกจากนี้ยังสามารถมีรูทสถานะหลายรายการ โมเดลบัญชีที่แตกต่างกัน เป็นต้น ตัวอย่างเช่น คุณสามารถกำหนด Facebook Coin Execution Environment (Libra EE) เพื่อเรียกใช้ Libra บน Ethereum 2.0 หรือคุณสามารถกำหนด Bitcoin Execution Environment (BitCoin EE) เพื่อให้คุณสามารถเรียกใช้ Bitcoin บน Ethereum 2.0
คำอธิบายภาพ
แผนภาพสถาปัตยกรรมอย่างง่ายของ Ethereum 2.0 (ที่มา: Crosslink 2019 ไต้หวัน)-
ในไดอะแกรมสถาปัตยกรรมอย่างง่ายของ Ethereum 2.0 เราสามารถเห็น state root ซึ่งอาจจะเป็น 32 Bytes blob ที่มีรหัสดำเนินการ WASM (Execution Code) อยู่ ซึ่งสามารถตั้งค่าโดยละเอียดในระดับผู้ใช้ได้ มีห่วงโซ่ทางด้านขวาของภาพ มีข้อมูลธุรกรรมทั่วไปและพยานอยู่บนห่วงโซ่ พยานจะปรากฏในบล็อกของฐานข้อมูล คุณต้องดำเนินการธุรกรรมกับรัฐแทนฐานข้อมูล และ คุณต้องพิสูจน์ด้วยว่าข้อมูลนั้นมีไว้สำหรับรูทสถานะปัจจุบันนั้นถูกต้อง ตัวอย่างเช่น หากเราต้องการโอนค่าระหว่างบัญชี A และบัญชี B สมมติว่าเราย้าย 5 ETH จากบัญชี A ไปยังบัญชี B เราไม่สามารถพูดได้โดยตรงว่าบัญชีและยอดคงเหลือ (Balance) มีอยู่จริง ในกระบวนการ จำเป็นต้องเพิ่มข้อมูล we Witness เพื่อพิสูจน์สถานะปัจจุบันของบัญชี 2 บัญชี เมื่อรหัสการดำเนินการกำลังเรียกใช้ข้อมูลธุรกรรม รากของสถานะ สามารถปรับเปลี่ยนและอัปเดตแผนผังสถานะได้
ในข้อเสนอเดิม สถานะและฉันทามติมีความสัมพันธ์กันอย่างใกล้ชิด และบัญชีการดำเนินการและฉันทามติรวมถึงโครงสร้างแผนผังสถานะ ในข้อเสนอใหม่ สภาพแวดล้อมการดำเนินการเป็นแบบไร้สถานะ (Stateless Model) ซึ่งเป็นนามธรรมสูง และความสามารถในการปรับขนาดได้ สูงกว่าข้อเสนอเดิมมาก
ข้อดีของสภาพแวดล้อมการดำเนินการ
ข้อดีของสภาพแวดล้อมการดำเนินการ
การออกแบบสภาพแวดล้อมการดำเนินการเสร็จสมบูรณ์เพื่อให้การย้ายจาก Ethereum 1.0 ไปยัง Ethereum 2.0 มีทิศทางที่ชัดเจนขึ้น การใช้สภาพแวดล้อมการดำเนินการจะไม่ทำให้ปัญหาเทคโนโลยีล้าสมัยเมื่อเวลาผ่านไป
ดำเนินการธุรกรรมโดยรอบ
ดำเนินการธุรกรรมโดยรอบ
เครื่องเสมือนอาจมีปัญหาการแตกแฟรกเมนต์ ซึ่งจะส่งผลต่อความเร็วของธุรกรรม
ความคิดปัจจุบัน
การวิจัยในปัจจุบันทั้งหมดกำลังพัฒนาในเชิงบวกและยังมีเวลาอีกมากในการพยายามและทำความเข้าใจพื้นที่การออกแบบให้ดียิ่งขึ้น ในอนาคต เราจะใช้เวลามากขึ้นในการสร้างกลไกการสื่อสารสภาพแวดล้อมการดำเนินการที่ดีขึ้น โดยรวมแล้ว ความก้าวหน้าในปัจจุบันเป็นก้าวสำคัญสำหรับอนาคต
สี่สะพานสองทาง

หัวข้อที่แล้วส่วนใหญ่จะกล่าวถึงการพัฒนาสะพานสองทางว่าคุ้มหรือไม่? ในช่วงเวลาใดที่ทีมจะสามารถสร้างสะพานสองทางได้
คำอธิบายภาพ
ในข้อเสนอที่ผู้พูดกล่าวถึงก่อนหน้านี้ เดิมที Ethereum 2.0 มีสะพานแบบทางเดียว ดังนั้นคุณจึงสามารถเปลี่ยนจาก Ethereum 1.0 เป็น Ethereum 2.0 ได้ แต่สถาปัตยกรรมดั้งเดิมไม่อนุญาตให้ backhaul ด้วยเหตุผลหลายประการ ซึ่งทำให้เราจำเป็นต้องรวมเข้าด้วยกันอย่างใกล้ชิด การพัฒนา Ethereum 1.0 ด้วยการ hard fork ของ Ethereum 1.0 และ Ethereum 2.0 และทำให้ทั้งสองระบบมีความเสี่ยงที่จะมีอิทธิพลซึ่งกันและกัน ดังนั้น ทีมงานเชื่อว่าก่อนที่ Ethereum 2.0 จะเปิดตัวและมีเสถียรภาพ .
ปัญหาเกี่ยวกับสะพานทางเดียว
ปัญหาเกี่ยวกับสะพานทางเดียว
การเชื่อมโยงแบบสองทิศทาง

คำอธิบายภาพ
ขณะนี้มีสองเส้นทางที่เป็นไปได้สำหรับการเชื่อมโยงแบบสองทาง หนึ่งคือ สร้าง light node ของ Ethereum 2.0 ที่ด้านบนของ Ethereum 1.0 อีกทางหนึ่งคือใช้โหนดทั้งหมดของ Ethereum 2.0 ที่ด้านบนของ Ethereum 1.0
เส้นทาง A: บน Ethereum 1.0 ให้สร้างโหนดแสง Ethereum 2.0

เส้นทาง A: บน Ethereum 1.0 ให้สร้างโหนดแสง Ethereum 2.0
คำอธิบายภาพ
เส้นทาง B: บน Ethereum 1.0 ให้รันโหนดเต็มของ Ethereum 2.0

เส้นทาง B: บน Ethereum 1.0 ให้รันโหนดเต็มของ Ethereum 2.0
คำอธิบายภาพ
แผนผังของเส้นทาง B (ที่มา: Crosslink 2019 ไต้หวัน)-
เส้นทางที่สองจะเรียกใช้โหนดเต็มของ Ethereum 2.0 บนโหนดของ Ethereum 1.0 เส้นทางนี้ช่วยให้เราสามารถใช้กลไกการสรุปได้ ดังนั้น เราไม่เพียงสามารถใช้กลไกนี้เพื่อส่งเสริม Ethereum 1.0 และ Ethereum 2.0 เท่านั้น เรายังสามารถใช้ตัวตรวจสอบความปลอดภัย เพื่อปกป้องห่วงโซ่ Ethereum 1.0 และฉันคิดว่าผู้คนตื่นเต้นกับเรื่องนี้มาก ซึ่งมักเรียกกันว่า "ข้อเสนอ Gadget ขั้นสุดท้าย"
ข้อดีอีกประการของการส่งออกรูทสถานะของ Ethereum 2.0 ก็คือ Ethereum 1.0 มีกลไกที่แข็งแกร่งในการทำให้เป็นจริง และในขณะเดียวกันก็มีความสามารถในการปรับขนาดสูงและความพร้อมใช้งานของข้อมูลของ Ethereum 2.0 ซึ่งสามารถสร้างแอปพลิเคชันที่น่าสนใจ เช่น ZK Rollup และ การยกเลิกในแง่ดี
ข้อดีของการเชื่อมแบบสองทิศทาง
หากคุณอยู่ในการแลกเปลี่ยน การแสดงรายการ Ethereum 1.0 Ether และ Ethereum 2.0 Ether ควรมีราคาเท่ากัน ถ้าไม่ คุณสามารถซื้อ ether หนึ่งอันในราคาที่ถูกกว่า ส่งไปที่สะพาน รับ ether อีกอันในราคาที่สูงกว่า แล้วขายมัน การเก็งกำไรนี้ทำให้ราคาของพวกเขาคงที่ ซึ่งสร้างความสับสนให้กับผู้ใช้ ผู้ตรวจสอบความถูกต้อง และนักพัฒนา และสะพานสองทางจะป้องกันไม่ให้สกุลเงินทั้งสองด้านถูกแปลงเป็นสกุลเงินอื่นโดยใช้วิธีการเก็งกำไร
ธุรกรรมการเชื่อมโยงแบบสองทาง
ธุรกรรมการเชื่อมโยงแบบสองทาง
แต่มีการแลกเปลี่ยนบางอย่างที่นี่ และในขณะที่มั่นใจมากในการออกแบบของ Ethereum 2.0 ทีมงานต้องการตรวจสอบความถูกต้องในการผลิตก่อนที่จะส่งผลกระทบต่อโปรไฟล์ความปลอดภัยและความเสี่ยงของ Ethereum 1.0
ดังนั้น หากเราเชื่อมโยงสิ่งเหล่านี้เข้าด้วยกันเร็วกว่านี้ มันอาจทำให้วงจรการพัฒนาและการ Fork ของ Ethereum 2.0 ช้าลง และนี่จะเป็นการเพิ่มค่าใช้จ่ายเพิ่มเติม กล่าวคือ ค่าใช้จ่ายในการตรวจสอบว่าเราสามารถเชื่อมโยงไคลเอนต์นั้นค่อนข้างมาก
ความคิดปัจจุบัน
เราควรเปิดใช้งานบริดจ์ก่อนที่จะเพิ่มสภาพคล่องของตัวตรวจสอบความถูกต้อง แต่ให้รอจนกว่าเฟสแรกของผลิตภัณฑ์จะเสถียร อีกครั้ง มีงานวิจัยที่เกี่ยวข้องจำนวนมากเกิดขึ้นพร้อมกัน ซึ่งอาจส่งผลต่อการดำเนินการนี้ให้เสร็จสมบูรณ์เมื่อใด
อภิธานศัพท์:
อภิธานศัพท์:
EIP (Ethereum Improvement Proposals): EIP เป็นมาตรฐานของแพลตฟอร์ม Ethereum และเนื้อหารวมถึงข้อกำหนดของโปรโตคอลหลัก API ไคลเอนต์ และมาตรฐานสัญญา
ยุค: ใน Ethereum 2.0 ยุคหมายถึงหน่วยเวลาที่กินเวลา 6.4 นาที และแต่ละยุคมี 32 ช่อง
สล็อต (จุด): แต่ละช่วงเวลาคือ 12 วินาที และไม่สามารถสร้างบล็อกได้ในทุกช่วงเวลา และช่องสุดท้ายในยุคนั้นเรียกว่าช่วงขอบเขต (Boundary Slot) หรือเรียกว่าจุดตรวจ (จุดตรวจ C)
Solidity: Solidity เป็นภาษาที่มุ่งเน้นสัญญา ส่วนใหญ่ใช้เพื่อพัฒนาสัญญาอัจฉริยะ
ฉันทามติ (กลไกฉันทามติ): กลไกฉันทามติเป็นอัลกอริทึมที่พัฒนาโดย blockchain เพื่อให้บรรลุฉันทามติระหว่างโหนด
เครื่องมือตรวจสอบความถูกต้อง: โหนดที่ตรวจสอบความถูกต้องของบล็อกนั้นถูกสร้างขึ้นแบบสุ่มโดยสายสัญญาณบีคอนสำหรับแต่ละชิ้นส่วนในแต่ละช่อง
Gas: ค่าธรรมเนียมที่จำเป็นสำหรับการทำธุรกรรม เมื่อ Gas หมด สัญญาอัจฉริยะจะถูกยกเลิกและจะดำเนินการย้อนกลับ
EVM (Ethereum Virtual Machine): EVM คือ Ethereum Virtual Machine ในภาษาจีน ซึ่งเป็นสภาพแวดล้อมของเครื่องเสมือนที่มีน้ำหนักเบา สภาพแวดล้อมการทำงานของสัญญาอัจฉริยะใน Eth 1.0 คือ EVM
Dapp (แอพที่กระจายอำนาจ): ใน Ethereum แอปพลิเคชันที่อิงตามสัญญาอัจฉริยะเรียกว่าแอปพลิเคชันที่กระจายอำนาจ กล่าวคือ Dapp (แอพที่กระจายอำนาจ)
อีเธอร์ (สกุลเงินอีเธอร์): ชื่อสกุลเงินของอีเธอเรียม
Finality: "Finality" เป็นแนวคิดใน Casper และเป็นกลไกในการสร้างจุดตรวจสอบที่ย้อนกลับไม่ได้ (Rollback) บนห่วงโซ่ผ่านการโหวตของผู้ตรวจสอบความถูกต้อง
Libra: สกุลเงินดิจิทัลที่เสนอโดย Facebook ซึ่งคาดว่าจะเปิดตัวในปี 2020Ethereum Improvement Proposals
Merkle Tree: Merkle Tree ถูกเสนอโดยนักวิทยาศาสตร์คอมพิวเตอร์ Ralph Merkle แปลว่าต้นไม้ Merkle ในภาษาจีนเพราะเป็นต้นไม้ที่เกิดจากฟังก์ชันแฮชTwo-way bridges between eth1 and eth2
อ้างถึง:Ethereum 2.0 (Serenity) Phases
อ้างถึง:ethfans
อ้างถึง:eth2 quick update
อ้างถึง:


