BTC
ETH
HTX
SOL
BNB
ดูตลาด
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

ความคืบหน้า Ethereum เฟส 2 (2019-12)

以太坊爱好者
特邀专栏作者
บทความนี้มีประมาณ 8647 คำ การอ่านทั้งหมดใช้เวลาประมาณ 13 นาที
การทำงานกับ Ethereum 2.0 Phase 2 ยังคงดำเนินต่อไป บทความนี้อธิบายถึงการพัฒนาล่าสุดในขณะนี้
สรุปโดย AI
การทำงานกับ Ethereum 2.0 Phase 2 ยังคงดำเนินต่อไป บทความนี้อธิบายถึงการพัฒนาล่าสุดในขณะนี้

หมายเหตุบรรณาธิการ: บทความนี้มาจากผู้ที่ชื่นชอบ Ethereum (ID: ethfans)หมายเหตุบรรณาธิการ: บทความนี้มาจาก

ผู้ที่ชื่นชอบ Ethereum (ID: ethfans)

ผู้ที่ชื่นชอบ Ethereum (ID: ethfans)

ผู้แต่ง: Will Villanueva แปลและพิสูจน์อักษร: A Jian & Zeng Mi ทำซ้ำโดย Odaily โดยได้รับอนุญาต

การทำงานกับ Ethereum 2.0 Phase 2 ยังคงดำเนินต่อไป บทความนี้อธิบายถึงการพัฒนาล่าสุดในขณะนี้ งานส่วนใหญ่ในเฟส 2 ดำเนินการโดยความร่วมมือระหว่างทีม Ewasm และทีม Quilt ที่ Ethereum Foundation

เนื้อหาในส่วนต่าง ๆ ของบทความนี้มักจะชี้ไปยังฟิลด์ต่าง ๆ และมีจุดตัดเล็กน้อย ดังนั้น โปรดเลือกส่วนที่คุณต้องการอ่าน ก่อนอ่านบทความนี้ เราขอแนะนำให้คุณทำความเข้าใจความรู้พื้นฐานของ Phase2 และ Execution Environmental Proposal (EE) ก่อนผ่านเนื้อหาต่อไปนี้:

ถนนสู่ Eth 2 Phase 2 และ Testnet Phase 2 (นี่คือการพูดคุยจาก Devcon 5 และสไลด์ที่ใช้สำหรับการพูดคุย)

การตีความเชิงลึกของ EthHub เกี่ยวกับ Ethereum 2.0 Phase 2

เดินทางไปรอบ ๆ Eth2 Phase2 (ความรู้บางจุดล้าสมัย)

Ewasm 2.0: การบังคับใช้ของรัฐใน Eth2.0 (การอ่านขั้นสูง)

ชื่อระดับแรก

การเปลี่ยนแปลงเลเยอร์โปรโตคอลที่ส่งผลต่อเฟส 2

ข้อเสนอที่ 2 ของ Vitalik ปรับปรุงข้อเสนอ 1 และแนวคิดใหม่ของ Eth2 ให้เป็นโปรโตคอลไร้สัญชาติ (บล็อกโพสต์นี้มีชื่อหัวข้อว่า "Shard Chains Don't Need State" ซึ่งอธิบายสั้น ๆ ว่าภาวะไร้สัญชาติคืออะไร)

การออกแบบระยะที่ 2 ปัจจุบันไม่ได้เบี่ยงเบนไปจากแนวคิดของข้อเสนอที่ 2 อย่างมีนัยสำคัญ ในอดีต บางส่วนของข้อเสนอเปลี่ยนไปเมื่อมีการแนะนำแนวคิดของการสร้างสมดุลภาระของห่วงโซ่บีคอน แนวคิดเรื่องการจัดสรรภาระงานนี้เสนอให้เข้าใจชาร์ดเชนว่าเป็นกระบวนการประมวลผลแบบบริสุทธิ์ จากนั้น EE จะสามารถทำงานแบบไดนามิกบนชาร์ดเชนที่กำหนดไว้ล่วงหน้าได้ โดยพื้นฐานแล้ว แนวคิดนี้คือการสร้างสมดุลของภาระการประมวลผลให้กับเชนชาร์ดต่างๆ ผ่านสัญญาการสร้างสมดุลภาระงานที่กำหนดไว้ในบีคอนเชน เป็นสิ่งที่ควรค่าแก่การเน้นย้ำว่าแนวคิดการออกแบบนี้น่าสนใจมาก และโหมดต่างๆ ของธุรกรรมซิงโครนัสข้ามชาร์ดสามารถรับรู้ได้ผ่านรีเลย์ที่ทำงานร่วมกัน มันสมควรได้รับความพยายามมากกว่านี้สำหรับการวิจัยของเรา หากเชื่อถือได้ เราจะเพิ่มเครื่องมือนี้ใน shard chain ในอนาคต (อาจจะหลังจากที่ออนไลน์แล้ว)

ชื่อระดับแรก

Scout

เรามีความคืบหน้าอย่างมากในการสร้างต้นแบบและการใช้งานสภาพแวดล้อมการดำเนินการในช่วงต้น ขั้นแรก เราต้องตรวจสอบว่าสภาพแวดล้อมการดำเนินการสามารถทำงานในโหมดไร้สถานะได้ จำนวนข้อมูลหลักฐาน/พยานที่จำเป็นสำหรับสภาพแวดล้อมการดำเนินการนี้จะมากเกินไปหรือไม่ การใช้การพิสูจน์เพื่อดำเนินการเปลี่ยนสถานะใช้เวลานานเกินไปหรือไม่ เพื่อตอบคำถามเหล่านี้เราได้สร้างสภาพแวดล้อมการดำเนินการจำนวนมากและใช้สภาพแวดล้อมเหล่านี้เพื่อศึกษาคำถามเหล่านี้ อย่างไรก็ตาม อันดับแรกเราต้องการเครื่องมือสำหรับสร้างต้นแบบ: Scout

ชื่อเรื่องรอง

Scout เป็นเครื่องมือสร้างต้นแบบกระบวนการดำเนินการ Ethereum 2.0 เฟส 2 (เดิมพัฒนาโดย Alex Beregszaszi) ซึ่งได้พัฒนา wrapper สำหรับ Ewasm API ดังนั้นนักพัฒนาสามารถใช้เพื่อสร้างต้นแบบของสภาพแวดล้อมการดำเนินการและทำการทดสอบเกณฑ์มาตรฐาน ( การเปรียบเทียบ) และยังมีสคริปต์การประกอบและพอร์ต C ++

ชื่อเรื่องรอง

EE ที่เกี่ยวข้องกับ Eth1

เพื่อรองรับการเปลี่ยนจาก Eth1 เป็น Eth2 เราจำเป็นต้องสร้างกฎการเปลี่ยนสถานะของ Eth1 ให้เป็นสภาพแวดล้อมการดำเนินการใน Eth2 ความท้าทายหลักของสวิตช์นี้คือการแปลง Eth1 เป็นโมเดลไร้สถานะ จากนั้นแปลง EVM และโมเดลธุรกรรม/บัญชีเป็นสภาพแวดล้อมการดำเนินการ EEs ที่กล่าวถึงด้านล่างเป็นรุ่นก่อนหน้าของ Eth1 EE เมื่อเร็ว ๆ นี้ได้มีการจัดตั้งคณะทำงานเพื่อมุ่งเน้นการพัฒนา Eth1 EE อย่างมาก พวกเขาวางแผนการทำงานเบื้องต้นและแนะนำตัวเองในฟอรัมการวิจัยจริยธรรม

โทเค็น Merkel Patricia Tree (SMPT) ไร้สัญชาติ

แหล่งที่มาหลัก: Github การนำเสนอของ Sina Mahmoodi ที่ Devcon 5

ต้นแบบแรกของโทเค็นไร้สัญชาติ EE มีเป้าหมายเพื่อเลียนแบบสถาปัตยกรรมของ Eth 1.0 ใช้รหัสฐานของพาริตีเพื่อใช้แผนผังสถานะ Eth1 (Hexary Merkle-Patricia Trie) และกฎการเข้ารหัส RLP นอกจากนี้ยังรวมการใช้งานรีเลย์พื้นฐานที่ช่วยให้รีเลย์สร้างหลักฐานหลายรายการสำหรับชุดธุรกรรม

เกณฑ์มาตรฐาน: ธุรกรรม 70 รายการและ 5,000 บัญชี/ลีฟโหนด

Turbo Token

เวลาที่ใช้: 5 วินาที

ขนาดหลักฐาน : 235 kb

การปรับปรุงที่สำคัญยังจำเป็นในการดำเนินการดำเนินการและขนาดของหลักฐาน แต่ความคืบหน้าก็เห็นได้ชัดจากผลลัพธ์ในช่วงแรกนี้ ปัญหาหนึ่งเกี่ยวข้องกับการคอมไพล์ไลบรารี่สนิมของ Parity เป็นโค้ด wasm ซึ่งส่งผลให้เกิดการดำเนินการ memcopy (สำเนาหน่วยความจำ) และความไร้ประสิทธิภาพอื่นๆ โดยทั่วไป การรวบรวมสนิมเพื่อประกอบเว็บได้พิสูจน์แล้วว่าค่อนข้างยาก นอกจากนี้ รายการตรวจสอบลายเซ็นใช้เวลา 4 วินาที (จากทั้งหมด 5 วินาที)

ข้อมูลหลัก: ภาพรวม Turboproof (หมายเหตุบรรณาธิการ: ดูไฮเปอร์ลิงก์ที่ท้ายบทความสำหรับการแปลภาษาจีน), Turboproof Rust Github, Turbo Token Github, สุนทรพจน์ Devcon 5 ของ Guillaume Ballet, สุนทรพจน์ Devcon 5 ของ Sina Mahmoodi

เทคโนโลยี turboproofs ที่ใช้ในโมเดล Turbo Token ได้รับการวิจัยเบื้องต้นโดย Alexey Akhunov เพื่อใช้ไคลเอนต์แสงไร้สถานะ Eth1 มันสามารถสร้าง ผสาน และจัดลำดับ multiproof ของแผนผังข้อมูล Eth1 ได้อย่างมีประสิทธิภาพและยังรองรับการทำงานแบบเดี่ยว (single pass) ได้อย่างมีประสิทธิภาพ อัปเดตแผนผังข้อมูล Casey Detrio และ Sina พัฒนาต้นแบบสาขาเดียวเริ่มต้นในสคริปต์การประกอบและสนิมเพื่อตรวจสอบว่าการป้องกันเทอร์โบมีประสิทธิภาพเพียงพอ หลังจากเริ่มได้รับผลลัพธ์ที่น่าพอใจในต้นแบบสาขาเดียว Casey ได้นำโทเค็น EE ที่มีการพิสูจน์เทอร์โบที่เรียบง่ายและใช้งานได้โดยทั่วไปมาใช้กับสคริปต์การประกอบ Sina Mahmoodi คัดลอกการใช้งานนี้แล้วย้ายฐานโค้ดเบสและตัวสร้างสนิมแบบป้องกันเทอร์โบของ Guillaume ไปเป็น typescript

เกณฑ์มาตรฐาน: ธุรกรรม 70 รายการและ 5,000 บัญชี/ลีฟโหนด

เวลาที่ผ่านไป: 140 ms

ขนาดหลักฐาน 50 kb

ล่าม EVM EE

สรุป

เราจำเป็นต้องพัฒนาตัวแปล EVM (มีเว็บแอสเซมบลี) ในเครื่องมือดำเนินการเพื่อรองรับ Eth1 EE Hugo สร้างต้นแบบและทดสอบรอบสัญญาเพิ่มเติมและ mul256 ในอนาคต ต้องมีการแนะนำสัญญาและเกณฑ์มาตรฐานเพิ่มเติมเพื่อปรับปรุงต้นแบบนี้

สรุป

งานทดลองทั้งหมดที่กล่าวถึงข้างต้นคือการปรับใช้สภาพแวดล้อมการดำเนินการ Eth1 เราได้เริ่มสร้างต้นแบบแล้ว แต่ยังมีปัญหาด้านประสิทธิภาพอีกมากที่ต้องพิจารณา ตามที่กล่าวไว้ข้างต้น คณะทำงานเพิ่งเริ่มให้ความสนใจกับการพัฒนา Eth1 EE และสร้างแบบจำลองไร้สถานะ Eth1

C Merkle Token

ชื่อเรื่องรอง

EEs มีศูนย์กลางอยู่ที่ Eth2

ส่วนนี้จะแนะนำ EE ที่ไม่ได้รับการพัฒนาอย่างสมบูรณ์สำหรับการย้ายข้อมูล Eth1 -> Eth2 Eth2 จะใช้สภาพแวดล้อมการดำเนินการตามบัญชีแบบใหม่ ซึ่งแตกต่างจากรูปแบบบัญชีและธุรกรรมของ Eth1 เนื่องจากรูปแบบการทำธุรกรรม บัญชี และตัวสะสมที่ใช้โดย Eth1 นั้นไม่เหมาะสม นอกจากนี้ ควรศึกษาแบบจำลองต่างๆ เช่น optistic rollups และ ZK rollups พื้นที่การออกแบบสำหรับ Eth2 EE นั้นเปิดกว้าง และต่อไปนี้เป็นแนวคิดและต้นแบบเบื้องต้น

ข้อมูลหลัก: Github, การนำเสนอ Devcon 5

การใช้ C ของ Paul Dworzanski ของโทเค็น Merkle ไร้สัญชาติโดยใช้ต้นไม้ Merkle แบบไบนารี (แทนที่จะเป็นต้นไม้ Merkle ที่กระจัดกระจาย) การตรวจสอบและอัปเดตแผนผังข้อมูลใช้การกระจายหน่วยความจำที่เหมาะสมที่สุด และจัดรูปแบบมัลติปรู๊ฟที่ไม่เหมือนใคร การดำเนินการตรวจสอบและอัปเดตแผนผังข้อมูลของโมเดลนี้เสร็จสมบูรณ์ในหนึ่งรอบ (รอบเดียว) (ดังนั้นจึงหลีกเลี่ยงการดำเนินการคัดลอกหน่วยความจำ (memcopy และการทำสำเนา)) และมีความเป็นไปได้สูงที่จะสามารถใช้กับโครงสร้างข้อมูลเลขฐานสิบหกของ Eth1 ได้ อย่างไรก็ตาม ยังไม่ชัดเจนว่าอัลกอริทึมการอัปเดตแผนผังข้อมูลสามารถใช้กับแผนผังข้อมูล Eth1 ได้หรือไม่ (เนื่องจากโดยทั่วไปแล้วโมเดลที่ใช้ Eth1 จะใช้การส่งผ่านหลายครั้ง)

เกณฑ์มาตรฐาน: 40 จาก 222 บัญชีที่เกี่ยวข้องกับการพิสูจน์

ZK Rollup

เวลาที่ผ่านไป: 20 ms (ไม่รวมการตรวจสอบลายเซ็น)

ขนาดหลักฐาน : 25 kb

Shard Ether (Sheth)

ซึ่งปัจจุบันการดำเนินการที่ใช้ในการทดสอบมีประสิทธิภาพสูงสุดแล้ว การตรวจสอบลายเซ็นไม่รวมอยู่ในการวัดประสิทธิภาพ แต่เราประเมินว่าจะใช้เวลาเพิ่มเพียง 30 มิลลิวินาทีเท่านั้น และยังมีโซลูชันการเพิ่มประสิทธิภาพอีกมากมาย เช่น การแคชแฮชและการพิสูจน์เพื่อลดเวลาและขนาดการประมวลผล รูปแบบความยาวแฮชแบบปรับได้ (ความยาวของแฮชเพิ่มขึ้นเมื่อเครือข่ายขยายใหญ่ขึ้น) ยังสามารถลดขนาดการพิสูจน์ได้อีกด้วย สุดท้าย การใช้งานฟังก์ชันแฮชที่ดีขึ้นจะทำให้เวลาในการคำนวณสั้นลง

ข้อมูลหลัก: ภาพรวม ZK Rollup ทั่วไป (หมายเหตุบรรณาธิการ: สำหรับการแปลภาษาจีน ดูไฮเปอร์ลิงก์ "ZK rolup vs. Optimistic rollup" ที่ท้ายบทความ), คำพูดของ Devcon 5, ตัวอย่างการตรวจสอบ EE โดยสิ้นเชิง, ตัวตรวจสอบหลักฐาน WASM, snarks เว็บ

ZK rollups เป็นโซลูชันส่วนขยาย Layer-2 เนื่องจากไม่ได้ใช้กลไกการท้าทายทางออกที่ซับซ้อนและกลไกการล็อคจึงสามารถหลีกเลี่ยงปัญหาประสบการณ์ผู้ใช้ทั่วไปในโซลูชัน Layer-2 ที่มีอยู่ เมื่อเปรียบเทียบกับแผนการถ่ายโอนโทเค็นอื่นๆ ที่แสดงรายการไว้ที่นี่ ZK Rollup จะปรับลดข้อกำหนดด้านความพร้อมใช้งานของข้อมูลลงอย่างมาก การใช้งานที่แสดงรายการที่นี่ใช้เว็บ snark - ตัวสร้างที่ใช้งานใน wasm ที่สามารถใช้สำหรับการตรวจสอบ snark หรือฟังก์ชันการจับคู่อื่นๆ ในการพัฒนา EE จาเร็ดดัดแปลง websnark โดยพัฒนาไลบรารี wasm แยกต่างหากสำหรับตรวจสอบการพิสูจน์ของ Groth16 EE นี้ยังเป็นต้นแบบระยะแรกและต้องพัฒนาต่อไป

แหล่งที่มาหลัก: Github, การพูดคุย Devcon 5 ของ Matt Garnett, การพูดคุยภายใน Quilt (รายละเอียดเพิ่มเติม), ภาพรวม SSZ

Sheth เป็นสารตั้งต้นของสัญญา Eth2 EE (ขึ้นอยู่กับ Eth1 แต่ทำซ้ำเพื่อให้เหมาะกับ wasm / Eth2) Sheth ขึ้นอยู่กับ Simple Serialization Encoding Specification (SSZ) ที่ใช้ใน Eth2 ซึ่งใช้แผนผัง Merkle tree แบบกระจาย ยืม opcodes แบบ turboproof แต่ใช้รูปแบบอื่นเพื่อจัดการข้อกำหนดการอ่าน เขียน และอัปเดต แนวคิดการออกแบบของ Diederik Loerakker คือการตัดสินใจว่าจะสำรวจแผนผังข้อมูลทั้งหมดอย่างไรโดยจัดเก็บรายการออฟเซ็ต จุดแข็งของการพิสูจน์ Merkle tree แบบกระจัดกระจายคือคุณสามารถกำหนดดัชนีโดยรวมของข้อมูลที่คุณกำลังอ้างอิงในเวลาคอมไพล์ได้แบบคงที่ นอกจากนี้ยังช่วยลดความซับซ้อนของตรรกะที่จำเป็นในการอัปเดตสถานะ เนื่องจากโหนดจะไม่ถูกลบหรือแทรกลงในแผนผังข้อมูล อย่างไรก็ตาม มีการเสียสละบางอย่าง (การคำนวณแฮชความเข้มสูง) สำหรับสิ่งนี้ Sheth ยังมีไคลเอนต์บรรทัดคำสั่งที่สามารถทำหน้าที่เป็นผู้ส่งต่อหรือผู้ให้บริการสถานะ

เกณฑ์มาตรฐาน: 50 บัญชีและ 50 ธุรกรรม

ขนาดหลักฐาน : 517 kb

SimpleUmbrella — Eth2 สัญญาอัจฉริยะ EE

เนื้อหาหลัก: ข้อเสนอในฟอรัม Eth Research, รันโค้ดโฮสต์ฟังก์ชัน PR

ชื่อระดับแรก

Ewasm - ล่าม คอมไพเลอร์ และเมตริกการคำนวณ

ชื่อเรื่องรอง

นักแปล

ชื่อเรื่องรอง

ล่าม

ชื่อเรื่องรอง

เมตริกการคำนวณ

Paul Dworzanski สำรวจพื้นที่นี้ในเชิงลึกในการพูดคุยเรื่อง Devcon 5 ของเขา ในการวัดการคำนวณ การเรียก use_gas จะใส่รหัส wasm bytecode (ไม่ว่าจะทำงานใน EE หรือ EE ร่ม) เมื่อสัญญา wasm ถูกปรับใช้และตรวจสอบ ความซับซ้อนของการฉีดและการยืนยันจะส่งผลต่อต้นทุนของการปรับใช้สัญญาอย่างไม่ต้องสงสัย เกณฑ์มาตรฐานปัจจุบันแสดงให้เห็นว่าโค้ด wasm ทำงานช้าลง 1.04-2.4 เท่าหลังจากใส่เมตริกการคำนวณ การเปรียบเทียบรูปแบบที่ดีขึ้นของกระบวนการฉีดและการประกอบรีจิสทรีจะชี้ให้เห็นถึงการเพิ่มประสิทธิภาพเพิ่มเติม

ต้นแบบเฟส 1 และ 2 ในไคลเอนต์ Lighthouse หรือการจำลองเฟส 2

เราต้องการจำลองว่าไคลเอนต์เฟส 1 และ 2 จะถูกสร้างขึ้นอย่างไร และทีมที่พัฒนาการใช้งานจะได้รับการสนับสนุนอย่างไร นอกจากนี้ เรายังหวังว่าจะใช้งานนี้เพื่อจำลองและทดสอบ EE ที่ทำงานบนชาร์ดต่างๆ ในสภาพแวดล้อมจริง ในช่วง Devcon 5 ฉันได้พูดคุยเกี่ยวกับการจำลองที่เราสร้างขึ้น เราพัฒนา/แนะนำต้นแบบเฟส 1 ที่เรียบง่ายมาก (ไม่มีการเพิ่มส่วนประกอบเครือข่าย) ในไคลเอนต์ Lighthouse และรวมรันไทม์ Ewasm เฟส 2 ไว้ในไคลเอนต์ เราโต้ตอบกับ Sheth (Sheth ทำหน้าที่เป็นผู้ส่งต่อและผู้ให้บริการของรัฐ) และสามารถจำลองการถ่ายโอน EE หรือโทเค็นพื้นฐานใน Lighthouse

เนื่องจากไคลเอนต์ Lighthouse ยังคงได้รับการพัฒนาอย่างต่อเนื่อง เราจึงตระหนักว่าการรักษาไคลเอนต์ Lighthouse ไว้และพัฒนาต่อยอดนั้นน่าจะยากกว่าที่เราคิดไว้ในตอนแรก ดังนั้นเราจึงตัดสินใจนำสารอาหารจากต้นแบบเริ่มต้นมาพัฒนาเป็นเวอร์ชันนามธรรมภายใน Scout เราจะจำลองการทำงานของ beacon chain และ shard chain ต่อไป แต่เราสามารถลดความซับซ้อนของตรรกะได้อย่างมาก เนื่องจากเรามุ่งเน้นที่การวิจัยสภาพแวดล้อมการดำเนินการและการเปรียบเทียบข้ามชาร์ด งานส่วนนี้ได้รับการจัดการโดยสมาชิกใหม่สองคนของทีม Quilt

ชื่อระดับแรก

John Adler ได้เขียนภาพรวมที่ครอบคลุมมากเกี่ยวกับหัวข้อนี้ บทความของเขายังบอกเล่าวิวัฒนาการที่น่าสนใจของข้อเสนอ Eth2 โดยสรุป ข้อเสนอลดความซับซ้อนของการแบ่งส่วนย่อยล่าสุดของ Vitalik ช่วยขจัดปัญหามากมายที่เรามีกับโมเดลรีเลย์ตั้งแต่แรก อย่างไรก็ตาม ยังมีคำถามเปิดอยู่มากมายเกี่ยวกับวิธีที่ผู้ให้บริการของรัฐส่งธุรกรรมไปยังผู้ผลิตบล็อก และวิธีที่ผู้ผลิตบล็อกรวมชุดธุรกรรมเข้ากับมัลติปรู๊ฟที่เหมาะสม หนึ่งในข้อเสนอคือการปรับใช้สภาพแวดล้อมการดำเนินการใหม่ด้วยสคริปต์ผสานการพิสูจน์

ในที่สุด ผู้ส่งต่อหรือผู้ให้บริการสถานะจะรับตำแหน่งข้อมูล RPC ที่ web3.js หรือ ethers.js เชื่อมต่ออยู่ เป็นสิ่งสำคัญที่จะต้องกำหนดมาตรฐานสำหรับการดำเนินการเหล่านี้ใน EE หลายแห่ง

ชื่อระดับแรก

ธุรกรรมข้ามชาร์ด

ชื่อเรื่องรอง

  • ธุรกรรมข้ามส่วนแบบอะซิงโครนัส

  • ข้อเสนอ Phase 0 & 1 ล่าสุดของ Vitalik เป็นข่าวดีสำหรับทั้งธุรกรรมข้ามชาร์ดและความสามารถในการจัดองค์ประกอบ ในข้อเสนอใหม่ การโทรข้ามชาร์ดสามารถดำเนินการให้เสร็จสิ้นได้ด้วยการหน่วงเวลาเพียงหนึ่งช่วงเวลา (6 วินาที) ในขณะที่ข้อเสนอที่ผ่านมา การโทรต้องรอการหน่วงเวลา 12 ถึง 18 นาทีจึงจะสิ้นสุด ดังนั้น การถ่ายโอนสถานะของคุณ (หรือ eth) ระหว่างเศษชิ้นส่วนจึงรวดเร็วมาก ก่อนหน้านี้ เราต้องการใช้รากที่มองโลกในแง่ดีเพื่อเร่งการโทร แต่พบว่าวิธีแก้ปัญหาเหล่านี้ซับซ้อนมาก

  • จากมุมมองของนักพัฒนา dApp การเรียกใช้ข้ามชาร์ดจำเป็นต้องทำตามกระบวนทัศน์และวิธีการแบบอะซิงโครนัสเท่านั้นในการเขียนโปรแกรมแบบมัลติเธรด เมื่อเขียนสัญญาอัจฉริยะ HLL (Slodity) และ DSL (Vyper) จำเป็นต้องมีเครื่องมือที่จำเป็นเพื่อแยกพฤติกรรมข้ามชาร์ดออกเป็นกระบวนทัศน์แบบอะซิงโครนัส สคีมาทั้งหมดจะมีลักษณะดังนี้:

  • การโทรแบบอะซิงโครนัสอย่างง่าย (รอ async, การโทรกลับ ฯลฯ)

การยืนยันแบบสองเฟส (atomicity)

ล็อค - อ่าน/เขียน (ดึงสัญญา)

วิธีสนับสนุนรูปแบบเหล่านี้ใน EE หรือในสัญญาอ้างอิงจำเป็นต้องมีการวิจัยเพิ่มเติม การจำลองที่กล่าวถึงข้างต้น (และเครื่องมือประสานที่กล่าวถึงด้านล่าง) ควรเป็นพื้นฐานสำหรับการทดลองของเรากับแบบจำลองเหล่านี้ แต่จริงๆ แล้ว เราจะบอกว่านี่เป็นส่วนสำคัญของการวิจัย และหากผู้คนเต็มใจที่จะมีส่วนร่วม เราจะ มีความสุขมากๆ การระบุพฤติกรรมก่อนกระบวนการและหลังกระบวนการในระดับที่ต่ำกว่า ตามที่อธิบายไว้ในโพสต์นี้ อาจให้กรอบการทำงานที่สมเหตุสมผลสำหรับการระงับและการดำเนินการต่อภายในสัญญาในภายหลัง

ซิงโครไนซ์ธุรกรรมข้ามชาร์ด

ก่อนหน้านี้ Vitalik ได้เผยแพร่โพสต์เกี่ยวกับแผนการของรัฐ สาระสำคัญของโซลูชันเหล่านี้คือโหมดเลเยอร์ 2 บนเชน และการแยกส่วนจะใช้เป็นเลเยอร์ความพร้อมใช้งานของข้อมูลเท่านั้น แบบจำลองเหล่านี้ (นั่นคือ แบบจำลอง "การประมวลผลสถานะล่าช้า" ในตำนานก่อนหน้านี้ แบบจำลอง "การดำเนินการแบบขี้เกียจ" หรือ "ห่วงโซ่เงา") แท้จริงแล้วเป็นรุ่นก่อนหน้าของสิ่งที่เรียกว่าการยกเลิกในแง่ดี การใช้ชาร์ดหลายรายการเป็นชั้นความพร้อมใช้งานของข้อมูลสำหรับแผนการยกเลิกในแง่ดีทำให้สามารถซิงโครไนซ์ธุรกรรมข้ามชาร์ดได้ เราอาจพัฒนาต้นแบบตามแนวคิดนี้ในอนาคตอันใกล้นี้

ชื่อเรื่องรอง

เราจำเป็นต้องโทรข้ามเศษหรือไม่?

อีกมุมมองที่ควรค่าแก่การศึกษาเพิ่มเติมคือเนื้อหาหลักของ Eth2 ควรเอนเอียงไปทางช่องทางของรัฐ การเลิกใช้ในแง่ดี และการเลิกใช้ zk (หลังจากที่แผนการเหล่านี้บรรลุนิติภาวะแล้ว) ในแนวคิดนี้ Eth2 เองเป็นเลเยอร์ความพร้อมใช้งานของข้อมูล และการเรียกใช้ข้ามชาร์ดจะใช้เฉพาะเมื่อเชื่อมโยงโครงร่างเหล่านี้หรือระหว่างการท้าทายทางออก/การพิสูจน์เท็จ ยังคงต้องกำหนดค่าสะสมภายในขอบเขตของสภาพแวดล้อมการดำเนินการ Eth1 หรือ Eth2 อย่างไรก็ตาม การคำนวณจะต้องดำเนินการแบบออนไลน์เท่านั้นเมื่อจำเป็นต้องส่งการพิสูจน์ข้อผิดพลาด

  • ชื่อระดับแรก

  • ระยะที่ 2 ห่วงโซ่เครื่องมือ

  • เพื่อพัฒนาการวิจัยของเรา เราเสนอ toolchain ที่นักพัฒนาจำเป็นต้องใช้ ตามที่กล่าวไว้ในหัวข้อ "ต้นแบบระยะที่ 1 และระยะที่ 2 ในประภาคาร" ข้างต้น เรากำลังพัฒนาชุดของการจำลองเพื่อทดสอบและเรียกใช้สภาพแวดล้อมการดำเนินการทั่วทั้งชาร์ด อย่างไรก็ตาม เพื่อเพิ่มประสิทธิภาพโหมดการทำงานของสัญญาอัจฉริยะ เราต้องเพิ่มเครื่องมือการประสานจำนวนมาก โพสต์นี้จะอธิบายเครื่องมือเหล่านี้ในเชิงลึกยิ่งขึ้น

  • การจำลองเฟส 1 และ 2

  • แทรกสภาพแวดล้อมรันไทม์ของไคลเอนต์ Phase 1

แบ็คเอนด์แบบหลายตัวที่เชื่อถือได้ (อนุญาตให้ลูกค้าสร้าง รวม และจัดการหลายตัว)

Relayer เครื่องมือของผู้ให้บริการของรัฐสำหรับการโต้ตอบกับ web3.js (ดูส่วน "รีเลย์ ผู้ให้บริการของรัฐ และตลาดค่าธรรมเนียม")

  • Eth1 ->ชื่อระดับแรก

  • ผลงานอื่น ๆ ของ Vitalik ใน Phase2

  • Vitalik ยังได้กล่าวถึงหัวข้อที่เกี่ยวข้องกับเฟส 2 ในโพสต์อื่นๆ เมื่อเร็ว ๆ นี้ แต่ฉันไม่ได้อ้างถึงโดยตรงข้างต้น ในที่นี้ขอชี้ให้เห็นว่า:

  • การโยกย้าย Eth2

  • ตระหนักถึงธุรกรรมข้ามชาร์ด

  • ทำให้เป็นทางการและปรับปรุงแนวทางของ Eth2 เพื่อกำหนดการตอบสนองต่อ Shard Blocks ที่ไม่ถูกต้อง

สัญญาที่บันทึกไว้ในห่วงโซ่สัญญาณ

ความสามารถในการผสม DeFi แบบข้ามชาร์ด

หากคุณสนใจที่จะช่วยเหลือเรา กรุณาติดต่อและมีส่วนร่วม โปรดเข้าร่วมช่องโทรเลขนี้สำหรับการอัปเดตหรือคำถาม เรามีความคืบหน้า แต่ยังมีงานอีกมากที่ต้องทำ

สรุปแล้ว

ในที่สุด เราจะเริ่มการประชุมวิดีโอรายเดือนของเรา การประชุมครั้งแรกกำหนดไว้ในวันอังคารที่ 3 ธันวาคม เวลา 10:00 น. ET

ชื่อระดับแรก

ETH
ยินดีต้อนรับเข้าร่วมชุมชนทางการของ Odaily
กลุ่มสมาชิก:
https://t.me/Odaily_News
กลุ่มสนทนา:
https://t.me/Odaily_GoldenApe
บัญชีทางการ:
https://twitter.com/OdailyChina
สารบัญบทความ
คลังบทความของผู้เขียน
以太坊爱好者
อันดับบทความร้อน
Daily
Weekly
ดาวน์โหลดแอพ Odaily พลาเน็ตเดลี่
ให้คนบางกลุ่มเข้าใจ Web3.0 ก่อน
IOS
Android