เวอร์ชันเต็มของสุนทรพจน์การประชุมนักพัฒนา Ethereum ของ Vitalik Buterin
หมายเหตุบรรณาธิการ: บทความนี้มาจากบับบิตต์ผู้แต่ง: เฮเลนเผยแพร่โดยได้รับอนุญาต
หมายเหตุบรรณาธิการ: บทความนี้มาจาก
บับบิตต์
ผู้แต่ง: เฮเลนเผยแพร่โดยได้รับอนุญาต
เมื่อวันที่ 29 มิถุนายน 2019 งาน "2019 Ethereum Technology and Application Conference" ซึ่งสนับสนุนร่วมกันโดย CSDN และ Lingtai Technology จัดขึ้นที่ปักกิ่ง
ในฐานะการประชุมเทคโนโลยี Ethereum ที่ทรงอิทธิพลที่สุดในประเทศจีน การประชุมนี้มุ่งเน้นไปที่ภาพพาโนรามาทางนิเวศวิทยาของ Ethereum การพัฒนา Ethereum ในอนาคต การพัฒนา Ethereum ที่เกิดขึ้นจริง กรณีโครงการคุณภาพสูง ฯลฯ และได้เชิญผู้ก่อตั้ง Ethereum Vitalik Buterin นักพัฒนาเทคโนโลยีหลัก Hsiao-Wei Wang หัวหน้าโครงการที่มีชื่อเสียงทั้งในประเทศและต่างประเทศ ผู้นำอุตสาหกรรม และผู้เชี่ยวชาญด้านนิเวศวิทยา Ethereum หารือเกี่ยวกับความก้าวหน้าใหม่ของระบบนิเวศ Ethereum และแบ่งปันประสบการณ์การพัฒนา Ethereum ล่าสุด
Vitalik Buterin ผู้ก่อตั้ง Ethereum กล่าวสุนทรพจน์ครั้งแรกของการประชุมนี้ในหัวข้อ "Ethereum 2.0 Cross-shard Transactions" ท่ามกลางเสียงปรบมืออย่างอบอุ่น Vitalik ได้แนะนำแนวคิดและความคืบหน้าของ Ethereum 2.0 ให้กับนักพัฒนาโดยละเอียด และมุ่งเป้าไปที่หัวข้อ "ประสิทธิภาพของ Ethereum" ที่นักพัฒนากังวล แนะนำหลักการของการทำธุรกรรมข้ามส่วนให้กับนักพัฒนา และตอบคำถามทั่วไปของนักพัฒนาได้ คำตอบ.
ในห่วงโซ่ปัจจุบัน โหนดทั้งหมดจะดาวน์โหลดและตรวจสอบธุรกรรมทั้งหมด ซึ่งปลอดภัยแต่จำกัดความสามารถในการปรับขนาดอย่างมาก ดังนั้นเราจึงต้องการปรับปรุงสถานการณ์นี้ ในอนาคต blockchain จะถูกแยกส่วน ซึ่งหมายความว่าแต่ละโหนดจะดาวน์โหลดและตรวจสอบธุรกรรมเพียงบางส่วนเท่านั้น
ตัวอย่างเช่น ในการออกแบบ Ethereum 2.0 มี 1024 shards ดังนั้นแต่ละโหนดจึงต้องตรวจสอบธุรกรรม 1/1024 เท่านั้น การเปลี่ยนแปลงนี้จะปรับปรุงประสิทธิภาพของ blockchain และอาจเพิ่มจำนวนธุรกรรมต่อวินาทีบน Ethereum ได้ถึง 10 . 10,000 ธุรกรรมต่อวินาทีแต่สิ่งนี้จะเผชิญกับความท้าทายใหม่ซึ่งก็คือ:
ผู้ใช้และแอปพลิเคชันอยู่ในส่วนที่แตกต่างกัน จะ "สื่อสาร" ได้อย่างไร
ตอนนี้ บัญชีทั้งหมด สัญญาอัจฉริยะถูกจัดเก็บไว้ในคอมพิวเตอร์เครื่องเดียว (หมายถึง Ethereum) และสะดวกมากสำหรับพวกเขาในการสื่อสารระหว่างกัน แต่ถ้าบัญชีและสัญญาของเราอยู่คนละส่วนในอนาคต การสนทนาและการสื่อสารในทันทีจะเป็นเรื่องยาก
ดังนั้นการออกแบบ Ethereum 2.0 จึงไม่อนุญาตให้แต่ละโหนดประมวลผลธุรกรรมและข้อมูลทั้งหมด เรามี 1,024 ชาร์ด และแต่ละชาร์ดเทียบเท่ากับสายโซ่สั้น แต่ละชาร์ดมีอัลกอริทึมที่สอดคล้องกัน ธุรกรรมจะออกในชาร์ดเดียว และทุกๆ 6 นาที แต่ละชาร์ดจะ "สื่อสาร" นั่นคือค่าแฮชของชาร์ดอื่นจะถูกค้นพบ ห่วงโซ่บีคอนจัดการอัลกอริทึมฉันทามติและการสื่อสารข้ามชาร์ด
ธุรกรรม "อะซิงโครนัส" นี่คือสิ่งที่ฉันออกแบบไว้ก่อนหน้านี้ ตัวอย่างเช่น ฉันมี 5 เหรียญ แล้วฉันต้องการโอนให้ Bob Bob มีบัญชีอยู่ บัญชีของเขาอยู่ด้านล่าง ส่วนของฉันอยู่ด้านบน ก่อนอื่น ฉันต้องการทำรายการขอธุรกรรมที่ด้านบนสุด ธุรกรรมนี้จะถูกประมวลผลในชาร์ดแรก จากนั้นสร้างค่าแฮช แต่จะไม่เสร็จสมบูรณ์ในทันที จากนั้นเราสามารถใส่ลงในชาร์ดได้ที่ ด้านล่าง เมื่อมีการตรวจสอบความถูกต้องในส่วนย่อยด้านล่างธุรกรรมจะสามารถดำเนินการได้
ตัวอย่างเช่น ถ้าคุณต้องการจองตั๋วรถไฟและโรงแรม แน่นอน คุณต้องการจองพร้อมกัน มันไม่สมเหตุสมผลถ้ามีเพียงอันเดียวโดยไม่มีอันอื่น จะเกิดอะไรขึ้นถ้ารถไฟและโรงแรมอยู่คนละเศษ ?
เราจินตนาการถึงสัญญาอัจฉริยะสองสัญญา สัญญาหนึ่งใช้เพื่อจองตั๋วรถไฟ และอีกสัญญาหนึ่งใช้เพื่อจองโรงแรม หากสิ่งเหล่านี้ล้มเหลว เราสามารถย้อนกลับธุรกรรมได้ แต่เนื่องจากสัญญาทั้งสองอยู่คนละส่วน จึงยากกว่าที่จะรับประกันความสอดคล้องกัน
หนึ่งในวิธีแก้ปัญหาคือ "ดึง" ตั๋วรถไฟแต่ละใบมีสัญญา และแต่ละห้องมีสัญญา เพื่อให้แต่ละสัญญาสามารถแสดงถึงความสามารถของเราในการจองที่นั่งหรือจองห้อง ตอนนี้เราทำอะไรได้บ้าง? เริ่มต้นสัญญาใน "ดึง" ซึ่งมีหน้าที่ใช้ครั้งละหนึ่งสัญญา ดึงสัญญาจากชิ้นส่วนโรงแรม ดึงสัญญาอื่นจากตั๋วรถไฟ และจองชิ้นส่วนทั้งสองพร้อมกัน และหากคุณยกเลิกการจองและคนอื่นๆ ยังคงต้องการจอง คุณสามารถ "ดึง" เข้าสู่สัญญาของพวกเขาได้ เป็นกระบวนการอัตโนมัติ ไม่ว่าจะสั่งทั้งสองอย่างหรือไม่สั่งเลย
แต่ลองนึกภาพว่าเราต้องใช้เวลา 5 นาทีเพื่อให้ชาร์ดหนึ่งทราบข้อมูลหรือค่าแฮชของอีกชาร์ด แต่เราต้องการให้แอปพลิเคชันนี้เร็วขึ้น
ตัวอย่างเช่น ตอนแรกอลิซมี 10 คน บ็อบมี 20 คน และชาร์ลีมี 52 คน เราบีบอัดข้อมูลเหล่านี้และจัดเก็บไว้ มีสองสถานการณ์ หนึ่งคือ Bob มี 20 เหรียญ และอีกกรณีคือ Bob มี 25 เหรียญหลังจากนั้น หากเราเห็นในกระเป๋าเงินว่ารูทด้านบนคือ R เราสามารถเดาได้ในเศษต่อไปนี้ นั่นคือ Bob มี 25 เหรียญ ดังนั้นเขาจึงสามารถนำไปให้คนอื่นได้ 25 เหรียญ
แต่ในระหว่างขั้นตอนนี้ การคำนวณของเรายังไม่สิ้นสุด แม้ว่าดูเหมือนว่าธุรกรรมจะเสร็จสมบูรณ์แล้วก็ตาม จากนั้นคุณอาจถามว่า ดูเหมือนว่า Bob มีเหรียญเหล่านี้ แต่เขาไม่ได้ใช้เหรียญเหล่านี้ สมมติว่า Bob ต้องการส่ง 25 เหรียญให้ Charlie เขาจะทำอย่างไร
เราไม่ต้องคิดว่า R จริงหรือปลอม เพราะตอนนี้ Charlie มี 52 เหรียญ เขาจึงรู้ว่า R ต้องเป็นของจริง ตรรกะนี้ดำเนินการอยู่เบื้องหลังและผลเชิงตรรกะจะผ่านการวิเคราะห์กระเป๋าเงินของ Bob และ Charlie อย่างน้อยเราก็รู้ว่ามีการทำธุรกรรมดังกล่าวเกิดขึ้น เป็นเรื่องที่น่าสนใจมากที่คุณสามารถใช้การสื่อสารเพื่อทำธุรกรรมข้ามบล็อกเชนได้ และคุณยังสามารถปล่อยให้มันสร้างแอปพลิเคชันที่อนุญาตให้บล็อกเชนต่าง ๆ ทำธุรกรรมข้ามเชนได้
เรายังสามารถบรรลุเป้าหมายอื่นๆ เช่น การทำธุรกรรมแบบซิงโครนัสผ่านวิธีการของ Plasma การทำธุรกรรมสามารถเริ่มต้นได้บนชาร์ดใดๆ และสินทรัพย์จะถูกจัดเก็บไว้ในสัญญา แต่เราจะไม่นับจำนวนสถานะทั้งหมดในทันที และจะใช้เวลา สัปดาห์ที่จะถอน ณ จุดนี้ ถ้าใครสามารถพิสูจน์ได้ว่าสถานะไม่ถูกต้องก็สามารถยกเลิกการถอนได้
วิธีนี้สามารถรับประกันได้ว่าหากเราได้รับเหรียญและไม่ชำระเงินที่ผิดกฎหมาย ธุรกรรมของเราจะถูกซิงโครไนซ์กับบล็อกเชนทั้งหมดเพื่อออกอากาศ เรามีสินทรัพย์สองรายการ X และ Y และเศษของเรามีลำดับความสำคัญของมันเอง ซึ่งอาจเป็นหนึ่งในการทำธุรกรรมก่อนรายการถัดไป
หากเรามีส่วนร่วมในกระบวนการทำธุรกรรม แสดงว่าเรามีสินทรัพย์ และคุณต้องการส่งข้อมูลธุรกรรมด้วย คุณสามารถเผยแพร่บนเศษส่วนใดก็ได้ หากคุณเป็นเจ้าของสินทรัพย์ คุณเพียงแค่วิเคราะห์เศษเหล่านี้และประเมินว่าประวัติการทำธุรกรรมเหล่านี้เป็นอย่างไร
การออกแบบดังกล่าวที่เราเรียกว่า "Active Virtual Machine (OVM)" สินทรัพย์ที่คุณเป็นเจ้าของจะไม่ถูกโอนในทันที เราเริ่มกระบวนการ ไม่จำเป็นต้องควักเงิน อาจใช้เวลาทั้งสัปดาห์กว่าจะมาถึงจริง แต่ถ้าคุณ เป็นผู้ใช้ คุณสามารถทราบได้ว่าเหตุใดสินทรัพย์บางอย่างจึงไม่สามารถถอนออกได้ทันที และคุณมีความรู้สึกว่าการทำธุรกรรมนี้สามารถให้เครดิตได้จริง
ข้อดีของสิ่งนี้คือเราจะได้ความสามารถในการเปิดธุรกรรมและยังสามารถยืนยันได้ทันท่วงทีซึ่งอาจได้รับการยืนยันทันทีภายใน 0.5 วินาที ถ้าเป็นเช่นนั้น ประสบการณ์ของผู้ใช้จะดีมาก คล้ายกับประสบการณ์ที่ได้รับจากเซิร์ฟเวอร์ส่วนกลาง
หากเราเผยแพร่ข้อมูลจากเศษต่างๆ ตรรกะจะซับซ้อนมาก สัญญาอัจฉริยะจะซับซ้อนมาก และกระเป๋าเงินผู้ใช้จะทำการคำนวณจำนวนมาก ซึ่งจะใช้เวลาในการคำนวณนานขึ้น



