พระเจ้า Ethereum 2.0 มีอะไรให้คุณรู้จักบ้าง? แบ่งเป็นหลายช่วง?

หมายเหตุบรรณาธิการ:หมายเหตุบรรณาธิการ:Mediumเมื่อเร็ว ๆ นี้ "Ethereum Constantinople Fork" ได้กลายเป็นประเด็นร้อนในแวดวงบล็อกเชน และเป็นทางเลือกที่วางแผนไว้สำหรับ Ethereum "จานแข็ง" ที่แท้จริง - ETH2.0 จะค่อยๆ เปิดเผยโฉมหน้าของมัน นอกเหนือจากการตีความคำจำกัดความที่น่าเบื่อแล้ว James Prestwich กล่าวถึงแผนงาน Ethereum ในปัจจุบัน ในเวลาเดียวกัน เขาเปิดใจและจินตนาการถึงทิศทางที่เป็นไปได้ของขั้นตอนต่อไปของ Ethereum ในการอภิปรายเฉพาะเหล่านี้ บทความจาก
ต่อไปนี้เป็นเนื้อหาฉบับเต็มของการรวบรวม
บรรณาธิการ | หลู่ เสี่ยวหมิง
บรรณาธิการ | หลู่ เสี่ยวหมิง
ชื่อเรื่องรอง
ETH2.0 คืออะไร?
ETH2.0 เป็นทางเลือกที่วางแผนไว้สำหรับ Ethereum ในอีกไม่กี่ปีข้างหน้า ผู้พัฒนา ETH2.0 ตั้งใจที่จะรวมระบบฉันทามติปัจจุบันและสถานะของ Ethereum เข้าด้วยกันอย่างสมบูรณ์ เนื่องจากขอบเขตของมันกว้างมาก เราจึงไม่สามารถสื่อได้อย่างแน่ชัดว่า ETH2.0 จะรวมหรือไม่รวมอะไรบ้าง แท้จริงแล้ว เราได้สร้างข้อกำหนดการทำงานบางอย่าง และมีความพยายามของทีมในการดำเนินการในช่วงต้น นักพัฒนา ETH2.0 วางแผนที่จะรวมเทคโนโลยีการแบ่งส่วน (Sharding), โปรโตคอล Casper, การเช่าของรัฐ (State Rent) และโครงการอัปเกรด eWASM ของเครื่องเสมือน Ethereum EVMวันนี้ ไคลเอ็นต์เริ่มต้น ETH2.0 ได้รับการทดสอบทางออนไลน์แล้ว และเป็นไปตามคาดภายในสามเดือน, ETH2.0 จะอนุญาตให้ Ethereum ในห่วงโซ่ Ethereum ถูกแมปกับอดีต แต่ในที่สุดผู้ออกแบบ ETH2.0 วางแผนที่จะเปลี่ยนแปลงสิ่งนี้โดยทำให้ ETH2.0 เป็นห่วงโซ่หลักและ Ethereum 1.X เป็นสาขาย่อยภายใต้การจัดการ สถานการณ์.
ชื่อเรื่องรอง
หมายความว่าอย่างไรสำหรับวิศวกรหากคุณเป็นโปรแกรมเมอร์ Solidity หรือนักพัฒนา Dapp มืออาชีพ และคุณเป็น "แฟนตัวยง" ของการใช้งานสัญญาอัจฉริยะ ETH2.0 คุณอาจต้องทำการอัปเดตซ้ำหลายครั้ง ETH2.0 เป็นการแทนที่ Ethereum โดยสมบูรณ์ ซึ่งจะล้มล้างสมมติฐานมากมายที่เราทำเมื่อเขียนสัญญาอัจฉริยะ การเปิดตัวหลายปีตามที่วางแผนไว้ให้ความรู้สึกเหมือนเป็นรอบการอัปเกรดน้อยลงและเป็นเหมือนรอบการเปิดตัวผลิตภัณฑ์มากขึ้นเครื่องมือและสัญญาอัจฉริยะที่เราเขียนขึ้นสำหรับ ETH1.X อาจจำเป็นต้องได้รับการคิดค้นใหม่
การเปิดตัวแบบค่อยเป็นค่อยไป
การเปิดตัวแบบค่อยเป็นค่อยไป
ในปัจจุบัน,ในปัจจุบัน,แผนงานการชาร์ดดิ้ง(แผนงานของ ETH2.0 สองเท่า) แสดงเจ็ดขั้นตอน เท่านั้นขั้นตอนที่ 0มีข้อกำหนดที่ชัดเจนและ。ปรับปรุงเป็นประจำข้อกำหนดระยะที่ 1มีความเข้มงวดน้อยกว่ามาก แม่นยำน้อยกว่า และอาจอยู่ในสถานะการพัฒนาเชิงลบ
. ตั้งแต่ระยะที่ 1 เป็นต้นไป แผนงานจะกลายเป็นรายการเป้าหมายแทนที่จะเป็นเอกสารทางเทคนิคethresear.ch มากถึงสามเท่าของการเชื่อมโยงไปยัง Github เนื่องจากขั้นตอนใดๆ ในอนาคตเป็นการคาดเดามากกว่าวิศวกรรม การสนทนาเฉพาะของเราจึงจำกัดอยู่ที่ขั้นตอนที่ 0, 1 และ 2 ในขณะเดียวกัน โครงร่างคร่าว ๆ ของทิศทางที่เป็นไปได้สำหรับขั้นตอนต่อมาจะกล่าวถึงในการสนทนาเฉพาะเหล่านี้

ชื่อระดับแรก
ขั้นตอนที่ 0: Beacon Chainเฟส 0 แนะนำ "บีคอนเชน"(Odaily Note: beacon chain เป็น blockchain ใหม่ล่าสุดและครอบครองตำแหน่งหลักใน Ethereum ใหม่ หนึ่งในหน้าที่ของ chain นี้คืออนุญาตให้ผู้ตรวจสอบมีส่วนร่วมในระบบจำนำแทนที่บทบาทของนักขุดและกลายเป็น chain builder ฟังก์ชั่นอื่นคือการจัดเก็บดัชนีของสถานะเศษ)
เห็นได้ชัดว่าการทำซ้ำในช่วงแรกๆ เช่น "beacon chain" นี้ได้รับการออกแบบมาให้เรียบง่ายที่สุดเท่าที่จะเป็นไปได้ ซึ่งเป็นสาเหตุที่เฟส 0 ไม่รองรับสัญญาอัจฉริยะ บัญชี การโอนสินทรัพย์ และไม่รวมการแบ่งส่วนย่อยใดๆ ในเวลาเดียวกัน ether ที่อิงตาม beacon chain ไม่สามารถถ่ายโอนบน chain ได้ ซึ่งหมายความว่าผู้ใช้ไม่สามารถฝากไว้ในการแลกเปลี่ยนได้
ชื่อเรื่องรอง
เบธ: อีเธอร์ใหม่
ในฐานะประเภทสินทรัพย์ใหม่ Beacon ETH (BETH) จะถูกใช้โดยผู้วางเดิมพัน (ผู้ถือเหรียญหรือผู้ใช้) ใน Beacon Chain เท่านั้น BETH สามารถสร้างได้สองวิธีดังต่อไปนี้
เป็นรางวัลสำหรับการตรวจสอบ Beacon Chain (และชิ้นส่วนหลังจากเฟส 1)ผู้ใช้ ETH1.X ทุกคนสามารถผ่านได้สัญญา ETH1.X
ซื้อ 1 ETH ของ BETH สัญญาเรียกว่า "ฝาก/เติมเงิน" (Deposit)
วิศวกรอาจสังเกตเห็นว่าไม่มีฟังก์ชันการเพิกถอนที่กล่าวถึงในสัญญา เนื่องจากเฟส 0 ซึ่งผู้ใช้ไม่สามารถถอน BETH ออกจาก Beacon Chain ได้ กล่าวคือ เมื่อผู้ใช้ถูกเก็บไว้ในสัญญาการลงทะเบียนโปรแกรมตรวจสอบ ETH1.X แล้ว ETH1.X ether จะถูกทำลาย ผู้ตรวจสอบความถูกต้องของ Beacon Chain จะปฏิบัติตามสัญญาและส่งข้อมูลการเติมเงินไปยัง Beacon Chain และ Beacon Chain จะออก BETH ใหม่เพื่อเติมเงินให้กับผู้ใช้
ดังนั้น หลังจากที่ ETH ถูกส่งไปยังสัญญาการลงทะเบียนการตรวจสอบไม่นาน ผู้ใช้จะได้รับ BETH ในจำนวนที่สอดคล้องกันซึ่งออกโดย beacon chain ในระหว่างขั้นตอนนี้ สามารถตรวจสอบการเติมเงินได้ชั่วคราว แต่ตามโปรโตคอลของ Casper จะไม่สามารถตรวจสอบได้อย่างถาวร
ในอดีต โครงการโทเค็นฟังก์ชันต่ำบางโครงการเช่น BETH ได้รับการซื้อขายแลกเปลี่ยนผ่าน IOU ตัวอย่างเช่น ในระหว่างงาน Tezos crowdsale บริษัทได้เปิดตัวตลาดฟิวเจอร์ส HitBit และ BitMEX XTZ ดังนั้น หากมีความต้องการสำหรับ BETH เราควรมุ่งมั่นที่จะสร้างระบบนิเวศการแลกเปลี่ยนที่สนับสนุนการซื้อขายและการถือครอง BETH ที่มีการจัดการ อย่างไรก็ตาม ผู้ใช้อาจมีข้อสงสัยเกี่ยวกับความต้องการในปัจจุบันของ BETH เนื่องจากการตรึงทางเดียวจาก ETH ไปยัง BETH ส่งผลให้เพดานราคา BETH อยู่ที่ 1 ETH ดังนั้น BETH จึงไม่ใช่เป้าหมายการลงทุนที่ยอดเยี่ยม กล่าวอีกนัยหนึ่ง BETH จะไม่มีค่ามากกว่า ETH และอาจมีค่าน้อยกว่าด้วยซ้ำ
ชื่อระดับแรก
ด่าน 0+: การเดิมพัน
บน beacon chain ผู้ใช้สามารถวางเดิมพัน 32 BETH เพื่อเป็นผู้ตรวจสอบความถูกต้อง ในเฟส 0 เครื่องมือตรวจสอบความถูกต้องจะต้องจัดการห่วงโซ่บีคอนเท่านั้น ตั้งแต่เริ่มต้นของเฟส 1 เครื่องมือตรวจสอบความถูกต้องจะจัดการห่วงโซ่ชิ้นส่วน 1024 ชิ้นในขณะที่จัดการห่วงโซ่บีคอน ห่วงโซ่บีคอนและห่วงโซ่ชิ้นส่วนแต่ละชิ้นจะใช้ Casper FFG เพื่อสร้างบล็อกให้เสร็จสมบูรณ์ FFG เป็นอัลกอริธึมการพิสูจน์การเดิมพัน (Proof of Stake) ที่ใช้ในการลงโทษ (เช่น ตัดเดิมพัน) สำหรับพฤติกรรมที่ไม่ดีในเครือข่ายผู้อ่านที่ระมัดระวังจะพบ Casper CBC ลูกพี่ลูกน้องของ FFG ในส่วน "Ethereum 3.0" ของแผนงานการแบ่งส่วน แม้ว่าการตีความโดยละเอียดของ FFG (และแน่นอน CBC) จะอยู่นอกเหนือขอบเขตของบทความนี้ หากคุณสนใจ คุณสามารถอ่าน Vitalik Buterin ผู้ก่อตั้ง Ethereumหมายเหตุเกี่ยวกับ Hybrid PoW / FFGเกี่ยวกับการย่อเงื่อนไขการตัดให้เล็กที่สุดและเอกสาร FFG。
ชื่อเรื่องรอง
ผู้ใช้ (stakers) ต้องทำอย่างไร?
จุดประสงค์ของชาร์ดดิ้งคือเพื่อแยกข้อมูลสถานะของชาร์ดระหว่างโหนด โดยไม่ต้องให้โหนดใดมีภาพรวมทั้งหมดของเครือข่ายในเวลาเดียวกัน ตามนี้ ตัวตรวจสอบความถูกต้องจะไม่ตรวจสอบเศษทั้งหมด แต่สายบีคอนจะประสานงานการตรวจสอบชิ้นส่วนอื่นๆ แทน และผู้ตรวจสอบความถูกต้องทั้งหมดจะดำเนินการตรวจสอบความถูกต้องของสายบีคอนหลังจากระยะเวลาที่กำหนด (64 บล็อกหรือประมาณ 6.4 นาที) สัญญาณบีคอนจะ "ตรวจสอบ" ตัวตรวจสอบความถูกต้องและสุ่มกำหนดให้การกระจายตัวการกระจายตัว. กลุ่มของผู้ตรวจสอบความถูกต้องที่กำหนดให้กับเศษส่วนเรียกว่าคณะกรรมการ ซึ่งรวมถึงสมาชิก 128 คนกระบวนการสร้างตัวเลขสุ่มแบบหลายขั้นตอนเช่นเดียวกับเช่นเดียวกับฟังก์ชันหน่วงเวลาตรวจสอบได้
จึงสามารถขัดขวางความพยายามที่จะชักใยกระบวนการคัดเลือกคณะกรรมการได้
คณะกรรมการจะรับผิดชอบในการปกป้องความปลอดภัย กิจกรรม และความสมบูรณ์ของชิ้นส่วน และในขณะเดียวกันก็จำเป็นต้องยืนยัน (ยืนยัน) สถานะของชิ้นส่วนบน beacon chain ความสำคัญของการมีอยู่ของมันนั้นชัดเจนในตัวเอง ดังนั้น ETH2.0 จะเป็นการเลือกคณะกรรมการแบบสุ่มและการหมุนเวียนสมาชิกของคณะกรรมการบ่อยๆ ในเวลาเดียวกัน นี่เป็นวิธีเดียวที่บีคอนเชนสามารถทราบสถานะของเศษชิ้นส่วนได้ และในทางกลับกัน64。
ชื่อเรื่องรอง
ความหมายของการพิสูจน์ PoS คืออะไร?การยืนยันการชำระเงินแบบง่ายไร้สัญชาติ (SPV)และและหลักฐานการทำงานแบบไม่โต้ตอบ (NIPoPoW)
กล่าวอีกนัยหนึ่ง การพิสูจน์สถานะระยะไกลในการพิสูจน์สถานะจะมีข้อมูลประมาณเท่ากับการตรวจสอบ SPV แบบไร้สถานะของ PoW แต่ต้องมีการยืนยันล่วงหน้าของประวัติ PoS ทั้งหมด ในทางตรงกันข้าม การตรวจสอบ SPV แบบไร้สัญชาติไม่ต้องการข้อมูลเพิ่มเติมสำหรับการตรวจสอบ ซึ่งหมายความว่าแอปพลิเคชันแบบ cross-shard หรือ cross-chain มีฟังก์ชันการทำงานลดลง แต่เพิ่มค่าใช้จ่ายในสภาพแวดล้อมแบบพิสูจน์ตัวตน
ชื่อระดับแรก
ขั้นตอนที่ 1: การแบ่งส่วน
ระยะที่ 1 มีเป้าหมายเพื่อให้เกิดความเห็นพ้องต้องกันเกี่ยวกับเนื้อหาของเศษโซ่ ไม่ใช่ความหมาย กล่าวอีกนัยหนึ่ง นี่คือ "การทดลองใช้งาน" ของโครงสร้างการแบ่งกลุ่มข้อมูล แทนที่จะพยายามใช้การแบ่งกลุ่มย่อยเพื่อการขยาย (มาตราส่วน) ห่วงโซ่สัญญาณถือว่าเศษโซ่เป็นกลุ่มของบิตที่ไม่มีโครงสร้างหรือความหมายง่ายๆ Shard chains ยังไม่ได้เป็นเจ้าของบัญชี ทรัพย์สิน หรือสัญญาอัจฉริยะ ตัวตรวจสอบความถูกต้องของชิ้นส่วนจะถูกสุ่มเลือกโดยสายบีคอนสำหรับแต่ละยุคของชิ้นส่วน เพียงแค่เห็นด้วยกับเนื้อหาของแต่ละบล็อก ไม่สำคัญว่าข้อมูลใดจะปรากฏในชาร์ด ตราบใดที่สมาชิกคณะกรรมการทุกคนมีความเห็นเป็นเอกฉันท์และอัปเดตบีคอนเชนบนชาร์ดอย่างสม่ำเสมอผ่านกระบวนการที่เรียกว่าการเชื่อมขวาง (Crosslinking) ตัวตรวจสอบความถูกต้องของชิ้นส่วนสามารถตรวจสอบเนื้อหาและสถานะของชิ้นส่วนได้ พูดง่ายๆ คือ คณะกรรมการต้องรวมข้อมูลที่ตรวจสอบได้เกี่ยวกับชาร์ด (เช่น รูทแฮช) ในบีคอนเชน ในเฟส 2 หรือสูงกว่านั้น cross-link จะรองรับการสื่อสารแบบข้ามชาร์ด (Cross-Shard Communication) Beacon chain ได้รับ crosslink จากคณะกรรมการหลายชุดพิสูจน์ความถูกต้อง
หลังจากนั้น ห่วงโซ่บีคอนจะวางใจได้ว่าครอสลิงค์เป็นตัวแทนที่แท้จริงของชิ้นส่วนโดยไม่ต้องตรวจสอบความถูกต้องของชิ้นส่วนทั้งหมด หากคณะกรรมการไม่เห็นด้วยกับความถูกต้องของ crosslink เช่น เห็นได้ชัดว่ามีคณะกรรมการคนใดคนหนึ่งผิด ควรตัดผู้ตรวจสอบความถูกต้องออก
นี่คือรากฐานของการรักษาความปลอดภัยสำหรับชิ้นส่วนทั้งหมด เช่น พฤติกรรมที่ไม่เหมาะสมของผู้ตรวจสอบจะถูกค้นพบและลงโทษโดยห่วงโซ่สัญญาณในที่สุด
ที่น่าสนใจคือการดำเนินการในเฟส 0 กำลังดำเนินไปพร้อมกับการพัฒนาข้อกำหนด แม้กระทั่งตอนนี้—ห่างจาก testnet ไม่ถึงสามเดือน—ข้อกำหนดระยะที่ 0 ได้รับการแก้ไขอย่างสม่ำเสมอ การประมาณเส้นเวลายังหมายความว่าจะมีความแตกต่างกันอย่างมากในเวลาในการพัฒนาของเฟส ETH2.0 ในอนาคต คนมองโลกในแง่ดีบอกฉันว่า 6 เดือนก็เพียงพอแล้ว แต่สำหรับฉันแล้วดูเหมือนว่าหลังจากเห็นเฟส 0 เข้าสู่การทดสอบแล้ว เฟส 1 ต้องการวงจรการพัฒนา 12 ถึง 18 เดือน

ชื่อระดับแรก
ขั้นตอนที่ 2: สัญญาอัจฉริยะ eWASMในที่สุด Phase 2 จะนำไปสู่ระบบที่คล้ายกับระบบที่เราคุ้นเคยบน Ethereum ด้วยการเปิดตัวเฟส 2 ห่วงโซ่ชิ้นส่วนจะเปลี่ยนจากคอนเทนเนอร์ข้อมูลธรรมดาไปเป็นสถานะห่วงโซ่ที่มีโครงสร้าง ณ จุดนี้ BETH ใหม่สามารถถ่ายโอนได้และสัญญาอัจฉริยะจะถูกนำมาใช้อีกครั้ง แต่ละส่วนจะขึ้นอยู่กับ
(เราจะเรียกว่า "EVM2") จัดการเครื่องเสมือน
ในขั้นตอนนี้ EVM2 จะรองรับบัญชี สัญญา สถานะ และนามธรรมอื่นๆ ที่คุ้นเคย อย่างไรก็ตาม การเปลี่ยนแปลงเบื้องหลังจำนวนมากอาจทำให้เครื่องมือที่มีอยู่ส่วนใหญ่เสียหายได้ โชคดีที่ทีมเทคนิคของ eWASM ได้ทำงานพื้นฐานบางอย่างให้กับคอมไพเลอร์ของ Solc, เฟรมเวิร์กการพัฒนาและการทดสอบของ Ethereum Truffle และ Ganache ก่อนหรือระหว่างเครือข่ายทดสอบระยะที่ 2 เราจะสามารถเห็นเครื่องมือที่ใช้บ่อยที่สุดที่พอร์ตรองรับ EVM2 ที่นี่State Rent อาจรวมอยู่ในเฟส 2 ซึ่งเป็นความท้าทายที่น่าสนใจสำหรับวิศวกรภาษาโปรแกรม Solidity ในปัจจุบัน การเช่าของรัฐไม่ได้จัดเก็บรหัสและข้อมูลอย่างไม่มีกำหนด แต่กำหนดให้นักพัฒนาสัญญาและผู้ใช้ต้องชำระค่าพื้นที่จัดเก็บ EVM2 ในช่วงระยะเวลาหนึ่ง การป้องกันการขยายตัวของสถานะโดยการทำให้มั่นใจว่าข้อมูลที่ไม่ได้ใช้จะไม่อยู่ในสถานะเมื่อเวลาผ่านไป ในที่สุดก็บรรลุเป้าหมายที่จะให้ผู้ใช้จ่ายค่าใช้จ่ายของรัฐแทนโหนดทั้งหมด คนเสนอที่แตกต่างกันแบบอย่าง
,"ร้อยสำนักคิดชิง" แต่ก็ยังไม่มีข้อสรุปที่ชัดเจนกับบางอย่างแผนอัปเกรด Ethereumล่วงหน้าและมีชื่อเสียงนักพัฒนาหลักของ Ethereum
นอกจากนี้ เราไม่รู้ว่าเฟส 2 จะจบลงที่ใด มันยังอยู่ในช่วงเริ่มต้นของการวิจัยและรวมถึงคำถามที่ยังไม่ได้รับคำตอบที่สำคัญหลายข้อ จากข้อกำหนดและขั้นตอนการพัฒนาอย่างไม่เป็นทางการ และการขยายระยะที่ 2 ไปสู่ระยะที่ 1 การเริ่มระยะที่ 2 ก่อนปี 2563 ดูไม่สมเหตุสมผล กล่าวอีกนัยหนึ่ง แม้ว่า ETH2.0 อาจเปิดตัวในปีนี้ แต่คาดว่าเวอร์ชัน ETH2.0 จะไม่รองรับการโอนสินทรัพย์หรือสัญญาอัจฉริยะจนกว่าจะถึงปี 2020 เป็นอย่างน้อย
ชื่อระดับแรก
ระยะที่ 3: พื้นที่จัดเก็บสถานะออฟไลน์
ระยะที่ 3 ลดสถานะออนเชนให้เหลือน้อยที่สุดโดยย้ายสถานะออกจากเชนให้ได้มากที่สุด เมื่อจัดเก็บในห่วงโซ่ ไม่จำเป็นต้องจัดเก็บสถานะทั้งหมด แต่จะมีการจัดเก็บเฉพาะข้อมูลสถานะและตัวรวบรวม (ตัวรวบรวมเป็นข้อมูลสั้นที่แสดงรายการข้อมูลแบบยาว Merkle tree เป็นตัวรวบรวมประเภทหนึ่ง) ผู้ใช้จะต้องรับผิดชอบในการจัดเก็บสถานะออฟไลน์ทั้งหมด
เมื่อผู้ใช้โต้ตอบกับสถานะ จะมีการพิสูจน์สถานะปัจจุบันในธุรกรรม ด้วยวิธีนี้ ความต้องการทรัพยากรสำหรับการเรียกใช้ตัวตรวจสอบความถูกต้องจะต่ำกว่ามาก ปัจจุบันมีการออกแบบตัวรวบรวมจำนวนมากซึ่งมีคุณลักษณะและคุณลักษณะด้านประสิทธิภาพที่แตกต่างกัน แต่จนถึงขณะนี้ยังไม่มีการเลือกเฉพาะเจาะจง ในขั้นตอนนี้ เราหยุดใช้การสื่อสารบนเครือข่ายสำหรับการประสานงานของผู้ใช้ เนื่องจากเครือข่ายไม่สามารถรับประกันความพร้อมใช้งานของข้อมูลได้อีกต่อไป ในระยะที่ 3 การรักษาและรับสถานะออฟไลน์จะกลายเป็นหนึ่งในปัจจัยสำคัญที่จำกัดการออกแบบของ DApps
ระยะที่ 4: การแบ่งสัญญาอัจฉริยะ
ข้อความ
อย่างไรก็ตาม ปัญหาที่ผ่านไม่ได้ยังคงอยู่ แม้ว่าสัญญา ETH2.0 จะมีประสิทธิภาพเทียบเท่ากับสัญญา Ethereum แต่สัญญาเหล่านี้จำเป็นต้องผูกพันกับชิ้นส่วนหนึ่งและไม่สามารถโต้ตอบโดยตรงกับสัญญาในชิ้นส่วนอื่นได้ นี่เป็นผลโดยตรงจากการแบ่งส่วนย่อย ซึ่งมีจุดประสงค์เพื่อแยกสถานะระหว่างส่วนย่อยโดยไม่ต้องมีความรู้โดยตรงเกี่ยวกับส่วนอื่นๆ การปรับขนาดทำได้โดยการแยกสถานะและลดภาระงานของผู้ตรวจสอบความถูกต้องให้มากที่สุด
ปฏิสัมพันธ์โดยตรงจำเป็นต้องมีการจัดเก็บความรู้โดยตรง จากการออกแบบ ชิ้นส่วนไม่มีความรู้โดยตรงเกี่ยวกับชิ้นส่วนอื่นๆ มันรู้เพียงเศษชิ้นส่วนอื่นๆ ผ่านการสื่อสารข้ามสายกับสายบีคอน ดังนั้นเมื่อผู้ใช้ต้องการโต้ตอบข้ามส่วนข้อมูล พวกเขาต้องรอบีคอนเชน โดยเฉพาะอย่างยิ่ง หมายความว่าหากมีการปรับใช้โมดูล SafeMath บนชาร์ด A ผู้ใช้ในชาร์ด B ต้องรอการเข้าถึง หรือปรับใช้โมดูล SafeMath ใหม่บนชาร์ด B
ความล่าช้าที่ยาวนานระหว่างการเปิดใช้งาน CDP และการรวบรวม DAI อาจส่งผลให้เกิดความสูญเสียทางเศรษฐกิจที่ไม่สามารถจ่ายได้ จะเกิดอะไรขึ้นหากตลาดเปลี่ยนแปลงและ CDP ถูกชำระบัญชีก่อนที่ผู้ใช้จะได้รับ DAI ในทางปฏิบัติ นี่อาจหมายความว่าผู้ใช้จำเป็นต้องมีบัญชีในแต่ละชาร์ดที่มีสัญญาอัจฉริยะ แต่โครงสร้างข้ามชาร์ดนั้นไร้ประโยชน์ Maker และ 0x จะโต้ตอบกันได้ก็ต่อเมื่อทั้งคู่ใช้งานในชาร์ดเดียวกัน และผู้ใช้ 0x ยังต้องเป็นเจ้าของสินทรัพย์จำนวนหนึ่งในชาร์ดนั้นด้วย
ชื่อเรื่องรอง
การแลกเปลี่ยนขั้นพื้นฐาน: ซิงโครไนซ์หรือปรับขนาด
ผู้ออกแบบเวอร์ชัน ETH2.0 ไม่ทราบว่าระบบการสื่อสารข้ามส่วนสุดท้ายจะมีลักษณะอย่างไร เมื่ออ่านข้อเสนอมากมาย ระบบอาจทำการแลกเปลี่ยนพื้นฐานระหว่างการตอบกลับทันทีและการคาดการณ์ ลักษณะของการชาร์ดจะไม่เปลี่ยนแปลง ผู้ใช้จะต้องรอการสื่อสารข้ามชาร์ด อย่างไรก็ตาม เราสามารถเชื่อมโยงขั้นตอนการดำเนินการในท้องถิ่นและระยะไกลของธุรกรรมกับแต่ละส่วนอย่างแน่นหนาหรือหลวมๆ
การต่อแน่นทำให้การรอมีความสำคัญ การทำธุรกรรมจะไม่ทำอะไรเลยจนกว่าชิ้นส่วนจะสื่อสารกัน แต่เราสามารถจับคู่ธุรกรรมแบบหลวม ๆ โดยดำเนินการบางส่วนตอนนี้และดำเนินการบางส่วนในภายหลัง ธุรกรรมถูกดำเนินการบนชาร์ดในเครื่อง จากนั้นดำเนินการในชาร์ดระยะไกลหลังจากการสื่อสารข้ามชาร์ด
การมีเพศสัมพันธ์แบบหลวมช่วยให้ผู้ใช้ได้รับประสบการณ์ที่ดีขึ้น ผู้ใช้สามารถดูการซื้อขายของพวกเขาที่ดำเนินการในพื้นที่ได้ทันที และรู้ว่าการดำเนินการจากระยะไกลจะเกิดขึ้นในอนาคต แต่โชคและโชคร้ายมาพร้อมกัน และผู้ใช้ต้องรอเพื่อทราบผลลัพธ์ของขั้นตอนระยะไกลของการทำธุรกรรมคู่หลวมๆ ธุรกรรมคู่แน่นสามารถคาดเดาได้มากกว่าธุรกรรมคู่หลวม ในขณะเดียวกัน ผู้ใช้จะตระหนักถึงผลลัพธ์มากขึ้น เนื่องจากสถานะระยะไกลไม่ได้เปลี่ยนระหว่างขั้นตอนการดำเนินการภายในเครื่องและระยะไกล แต่ "คุณไม่สามารถกินเต้าหู้ร้อนๆ ได้" การต่อแน่นทำให้ผู้ใช้ต้องรอก่อนที่จะเห็นผลลัพธ์ใดๆมีข้อมูลน้อยมากเกี่ยวกับรูปแบบการสื่อสารของ ETH2.0 เราทราบดีว่าแบบจำลองนั้นต้องมีการเรียกสัญญาข้ามแผนกโดยเสียประโยชน์จากการปรับขนาดเกือบทั้งหมด ฉันไม่โทษคุณถ้าคุณหยุดอ่านที่นี่ เพราะระยะที่ 4 มีอยู่เท่านั้นแผนที่ความคิดและลิงก์ที่คลุมเครือ
. ผลที่ตามมาอย่างชัดเจนของสถานการณ์นี้คือ ETH2.0 จะไม่ให้ข้อได้เปรียบในการปรับขนาดที่สำคัญสำหรับระบบสัญญาอัจฉริยะที่ซับซ้อนจนกว่าจะถึงเฟส 4 ก่อนหน้านี้ สัญญาอัจฉริยะที่ต้องการโต้ตอบกับสัญญาอื่นๆ จะต้องอยู่ร่วมกับชาร์ดและถูกจำกัดความเร็วและเอฟเฟ็กต์การปรับขนาดของชาร์ดนั้น เมื่อเทียบกับ ETH1.X การชาร์ดดิ้งอาจได้รับความเร็วมากที่สุดเพียงค่าคงที่เล็กน้อยเท่านั้น ซึ่งหมายความว่าก่อนการเปิดตัวเฟส 4 (ประมาณปี 2025) ไม่มีเหตุผลที่จะย้ายรหัสสัญญาอัจฉริยะหรือผู้ใช้เนื่องจากข้อดีเพียงเล็กน้อยสำคัญ: ทุกอย่างด้านล่างนี้เป็นการเก็งกำไร。
ชื่อเรื่องรอง
โมเดลพื้นฐาน: ใบเสร็จรับเงินและหลักฐาน
การสื่อสารข้ามสายทุกรูปแบบต้องอาศัย Beacon Chain เนื่องจากห่วงโซ่บีคอนสามารถเรียกคืนสถานะของชิ้นส่วนทั้งหมดได้ และชิ้นส่วนแต่ละชิ้นจะส่งผลต่อสถานะของห่วงโซ่บีคอน จึงถูกใช้เป็นแกนหลักในระบบนิเวศของห่วงโซ่ชิ้นส่วน ข้อมูลจากเชนหนึ่งไปยังอีกเชนหนึ่งต้องส่งผ่านบีคอนเชน เมื่อพิจารณาว่าสิ่งนี้ต้องใช้บีคอนเชนในการประมวลผลธุรกรรมแต่ละรายการด้วยตัวมันเอง เอฟเฟกต์การขยายจะไม่สามารถทำได้เลย ดังนั้นจึงไม่แนะนำให้ส่งแบบสมบูรณ์ ข้อมูล.
เมื่อผู้ใช้หรือสัญญาในชาร์ด A ต้องการโต้ตอบกับชาร์ด B ชาร์ด A จะสร้าง "ใบเสร็จ" พร้อมข้อความสำหรับการโต้ตอบนั้น Shard A ส่งใบเสร็จรับเงินทั้งหมดในส่วนหัวของบล็อก และสายบีคอนจะรอให้ A ยืนยันการเสร็จสิ้นก่อนที่จะส่งไปยังส่วนหัวของบล็อกของ Shard A (รวมถึงการส่งใบเสร็จ) ชาร์ด B ยังต้องรอการยืนยันขั้นสุดท้ายของบีคอนก่อนที่จะยอมรับกับส่วนหัวของบล็อกบีคอน
ไม่ยากที่จะเห็นว่ากระบวนการนี้ใช้เวลามาก ขั้นตอนการสื่อสารทั้งสี่ขั้นตอนต้องใช้เวลาสองสามนาทีจึงจะเสร็จสมบูรณ์ น่าเสียดายที่เราไม่สามารถหลีกเลี่ยงการรอได้โดยสิ้นเชิง หากเราต้องการกำหนดสถานะระยะไกล เราต้องรอผลสุดท้ายในแต่ละขั้นตอน กรณีที่ดีที่สุดสำหรับการสื่อสารแบบไป-กลับคือรอบการยืนยันสุดท้ายสี่รอบ กล่าวอีกนัยหนึ่ง เนื่องจากผู้ใช้สามารถดูข้อมูลของชาร์ด B ได้ก่อนที่ชาร์ด A จะเห็น ผู้ใช้จึงมีความมั่นใจหลังจากยืนยันครบสามรอบ ด้วยระยะเวลาของ ETH2.0 ที่ 6.4 นาที ผู้ใช้ต้องรอ 19 นาทีเพื่อดูผลลัพธ์ และ 26 นาทีจึงจะได้รับผลลัพธ์บนเครือข่าย

ชื่อเรื่องรอง
ใบเสร็จรับเงินที่เป็นรูปธรรม: การโยกย้ายโทเค็นระหว่างเศษ
ความเก่งกาจของโทเค็น ERC20 ทำให้ทุกวันนี้แพร่หลายใน Ethereum อย่างไรก็ตาม ETH2.0 ยังนำปัญหาเชิงตรรกะมาสู่โทเค็นอีกด้วย เนื่องจากสัญญาอัจฉริยะจัดการยอดคงเหลือโทเค็นทั้งหมด และสัญญาอัจฉริยะมีอยู่ในชาร์ดเดียวเท่านั้น ดังนั้น โทเค็นจากชาร์ด A จึงไม่มีอยู่ในชาร์ด B เลย แต่ด้วยการสื่อสารข้ามชาร์ดที่ชาญฉลาด เราสามารถใช้โทเค็นเดียวกันบนชาร์ดหลายตัวและอนุญาตให้มีการถ่ายโอนโทเค็นระหว่างชาร์ด ซึ่งเป็นการสร้างหมุดสองทางระหว่างสัญญาโทเค็นได้อย่างมีประสิทธิภาพ
วิธีแก้ไขนั้นง่ายมาก
เราจำเป็นต้องปรับใช้สัญญาโทเค็นใหม่ในแต่ละชิ้นส่วน แต่ดูเหมือนว่าจะคุ้มค่า การโอนย้ายเป็นแบบทิศทางเดียว โดยต้องมีการยืนยันขั้นสุดท้ายอย่างน้อยสองครั้งสำหรับการสื่อสารข้ามชาร์ด ดังนั้นจึงใช้เวลาประมาณ 10 นาทีหลังจากที่เราเรียก MigrateSend เพื่อให้ "CCT" พร้อมใช้งานในชาร์ดรับ

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

ชื่อเรื่องรอง
การจับคู่ชิ้นส่วน
มาดูแนวคิดการสร้างที่สร้างสรรค์เพิ่มเติมกัน
ใบเสร็จรับเงินได้รับการออกแบบมาเพื่อให้สามารถสื่อสารแบบอะซิงโครนัส (การเชื่อมต่อแบบหลวมๆ) ได้ แต่เราอาจต้องการการสื่อสารแบบซิงโครนัสด้วย ในการทำเช่นนี้ เราต้องมีความคิดสร้างสรรค์มากขึ้น ด้วยการออกแบบที่เรียบง่าย การจับคู่ชิ้นส่วนช่วยให้สามารถดำเนินการควบคู่กันอย่างแนบแน่นโดยมีความยุ่งยากน้อยที่สุด
ในโมเดลนี้ หากต้องการทำธุรกรรมข้ามสายระหว่าง A และ B จำเป็นต้องรอให้ A และ B จับคู่แบบสุ่ม แต่ Vitalik อธิบาย 100 กรณีของการแบ่งส่วน มี 1,024 ชาร์ดและเราคาดว่าจะใช้ 512 บล็อก ดังนั้นจะใช้เวลาประมาณหนึ่งชั่วโมง แต่เนื่องจากการจับคู่เป็นแบบสุ่ม จึงอาจต้องใช้เวลานานขึ้นหรือสั้นลง ดังที่ Vitalik กล่าว สิ่งนี้ไม่ได้ปรับขนาดได้ดีเมื่อคุณต้องการโต้ตอบกับเศษชิ้นส่วนหลายชิ้น
ชื่อเรื่องรอง
โซนเศษ
นี่คือการจับคู่ชาร์ดเวอร์ชันที่กว้างขึ้น
นอกจากนี้ โซนยังปฏิเสธประโยชน์การปรับขนาดจำนวนมากของการชาร์ดดิ้ง เนื่องจากพวกเขาต้องการตัวตรวจสอบความถูกต้องเพื่อทราบสถานะของชาร์ดทั้งหมดในโซน หากภูมิภาคประกอบด้วย 16 ชาร์ด คุณจะเสียสละข้อได้เปรียบในการปรับขนาดประมาณ 15/16 (94%) และรับเพียง 15/1024 (1%) ของการประมวลผลแบบแนบแน่นของเครือข่ายทั้งหมด
ชื่อเรื่องรอง
อย่างไรก็ตาม เมื่อนำไปใช้กับสัญญาอัจฉริยะ โซลูชันนี้จะซับซ้อนเนื่องจากสถานะไม่สามารถเปลี่ยนได้ Stateful IOU ไม่สามารถดำเนินการได้ ดังนั้นจึงไม่เหมาะสำหรับการโต้ตอบทั่วไป เราควรคิดว่าภาระผูกพันคือการปรับปรุงประสบการณ์ผู้ใช้ในการมีเพศสัมพันธ์แบบหลวม ทำให้การมีเพศสัมพันธ์แบบหลวมสามารถจำลองการมีเพศสัมพันธ์แบบแน่น และดำเนินการธุรกรรมบางอย่างได้อย่างรวดเร็ว
ชื่อเรื่องรอง
ฉันทามติและการแยกรัฐ
เฉพาะสถานะทั้งหมดที่อยู่ในบล็อกการดำเนินการต่ออายุต่ออายุ
หลังจากนั้นผู้ขุด Ethereum และโหนดทั้งหมดจะยอมรับบล็อก แต่ความจริงแล้วมันไม่ใช่ แต่สามารถยอมรับบล็อกก่อนแล้วจึงอัปเดตสถานะ ในกรณีนี้ แทนที่จะบรรลุฉันทามติเกี่ยวกับสถานะของระบบเหมือนที่เราทำใน Ethereum เราจะบรรลุฉันทามติเกี่ยวกับประวัติทั้งหมด (หรือ "ลำดับทั้งหมด") ของการทำธุรกรรมทั้งหมดในทุกเศษส่วน
ชื่อระดับแรก
สรุป
สรุป
ETH2.0 จะเป็นระบบที่แตกต่างอย่างสิ้นเชิงจาก Ethereum และทั้งสองจะอยู่เคียงข้างกันเป็นเวลาหลายปีด้วยชุดคุณลักษณะที่แตกต่างกัน ในอนาคตอันใกล้ คาดว่าจะมีการตรึงทางเดียวจาก ETH ไปยัง BETH หากคุณดำเนินการแลกเปลี่ยนหรือบริการเอสโครว์ คุณสามารถพิจารณาสนับสนุนผู้ใช้ให้ทำธุรกรรมและวางเดิมพัน BETH ก่อนที่ BETH จะถูกโอนไปยังเชน ในระยะยาว ยังจำเป็นต้องพิจารณาว่าสัญญาอัจฉริยะสามารถปรับให้เข้ากับการแบ่งส่วนข้อมูลโดยมีหรือไม่มีการสื่อสารข้ามส่วนย่อยได้อย่างไร


