EIP-2537: รองรับ ETH 1.0 สำหรับ ETH 2.0
หมายเหตุบรรณาธิการ: บทความนี้มาจากผู้ที่ชื่นชอบ Ethereum (ID: ethfans)ผู้ที่ชื่นชอบ Ethereum (ID: ethfans)
, ผู้แต่ง: Alex Stokes, ผู้แปล & ผู้พิสูจน์อักษร: Min Min & A Jian, ทำซ้ำโดย Odaily โดยได้รับอนุญาต
ชื่อระดับแรก
ดินแดนใหม่
mainnet ของ ETH 2.0 Phase 0 หรือที่เรียกว่า "beacon chain" คาดว่าจะใช้งานได้ในปลายปีนี้ ตอนนี้เราควรคิดถึงคำถามนี้: เครือข่ายที่มีอยู่สามารถทำอะไรได้บ้างเพื่อส่งเสริมการเปิดตัวระบบใหม่อย่างราบรื่น เราสามารถจินตนาการถึงกรณีการใช้งานที่น่าตื่นเต้นที่สามารถใช้ประโยชน์จากการทำงานร่วมกันระหว่างสองเครือข่ายได้ (ก่อนที่ ETH 1.0 จะรวมเป็น ETH 2.0) แต่กลายเป็นว่าหากไม่สามารถแก้ไข EVM (Ethereum Virtual Machine) เพื่อรองรับแอปพลิเคชันเหล่านี้ได้ จะถูกขัดขวางโดย องค์ประกอบการเข้ารหัสใหม่ที่ใช้ในระบบ ETH 2.0 ฉันหวังว่าจะให้ภาพรวมขององค์ประกอบการเข้ารหัสใหม่เหล่านี้และอธิบายว่าทำไมการรวมเข้ากับ EVM จะช่วยให้เราสามารถใช้ประโยชน์จากความสามารถของระบบใหม่ได้ก่อนที่ Eth1 จะโอนย้าย
-https://en.wikipedia.org/อะไรหายไปจาก ETH 1.0?
ข้อมูลทั้งหมดบน Ethereum blockchain นั้นเป็นข้อมูลสาธารณะ ดังนั้นเราต้องใช้ลายเซ็นเข้ารหัสเพื่อให้แน่ใจว่าการทำธุรกรรมใด ๆ สะท้อนถึงเจตนาของฝ่ายที่เกี่ยวข้อง รูปแบบลายเซ็นที่ใช้โดย Ethereum ขึ้นอยู่กับเส้นโค้งวงรี โดยใช้เส้นโค้งที่เรียกว่า secp256k1 จุดบนเส้นโค้งนี้ใช้ในรูปแบบลายเซ็นที่เรียกว่า ECDSA เพื่อให้ลายเซ็นเข้ารหัสของเรามีคุณสมบัติที่เราต้องการ
คำอธิบายภาพ
คุณสมบัติของเส้นโค้งวงรีนี้ช่วยปรับปรุงความปลอดภัยของรูปแบบลายเซ็น ECDSA -
แม้ว่ารูปแบบลายเซ็น ECDSA ที่ใช้ secp256k1 จะได้รับการทดสอบในการใช้งานมาหลายปีแล้ว แต่มาตรฐานที่กำหนดของทั้งสองมีอายุประมาณ 20 และ 10 ปีเท่านั้น ตามลำดับ ETH 2.0 ใช้โครงสร้างที่ค่อนข้างใหม่ซึ่งใช้ประโยชน์จากความก้าวหน้าใหม่ในการเข้ารหัส เครื่องมือตรวจสอบความถูกต้องในระบบ ETH 2.0 (คล้ายกับเครื่องขุด ETH 1.0) ใช้รูปแบบลายเซ็น BLS ตามเส้นโค้งวงรีอีกอันที่เรียกว่า BLS12-381 (โปรดทราบว่า "BLS" เป็นตัวย่อ และตัวอักษรสามตัวมาจากชื่อของผู้เสนอทั้งสาม!) ETH 2.0 นำเทคโนโลยีใหม่นี้มาใช้เป็นหลัก เนื่องจากสามารถรวมลายเซ็นหลายรายการให้เป็นลายเซ็นเดียวได้อย่างมีประสิทธิภาพ เพื่อส่งเสริมความเป็นไปได้ในการมีส่วนร่วมโดยตรงของ ความปลอดภัย ETH 2.0 สำหรับข้อมูลเพิ่มเติม โปรดดูบทความของ Carl Beekhuizen เกี่ยวกับความสำคัญของการรวมลายเซ็นใน ETH 2.0 (หมายเหตุบรรณาธิการ: ดู "Eth2 Staking Guide #2" ที่ไฮเปอร์ลิงก์ที่ท้ายบทความ)
แม้ว่าลายเซ็น BLS จะมีประโยชน์มากมายสำหรับ Eth2 แต่ปัญหาที่เราพบคือ ETH 1.0 เองไม่รองรับองค์ประกอบการเข้ารหัสใหม่นี้ และตรรกะทางคณิตศาสตร์พื้นฐานของมันต้องการการคำนวณที่สูง ซึ่งทำให้เราไม่สามารถนำ BLS ไปใช้กับเครื่องหมาย EVM ได้ โชคดีที่เราสามารถเพิ่มตรรกะการคำนวณเป็นส่วน "คอมไพล์ล่วงหน้า" เพื่อหลีกเลี่ยงข้อจำกัดด้านประสิทธิภาพของ EVM - ผ่านอัลกอริทึมแบบฮาร์ดโค้ด การใช้งานแบบเนทีฟสามารถเรียกได้ด้วยสัญญาอัจฉริยะนอกตัวแปล EVM
วิธีการใช้การคอมไพล์ล่วงหน้า?
ส่วนที่คอมไพล์แล้วของโปรโตคอล Ethereum เป็นทรัพยากรที่หายาก ดังนั้นจะเหลือเพียงตรรกะการคำนวณที่ชุมชนเห็นว่าสำคัญเท่านั้น นอกจากนี้ จำเป็นต้องปรับใช้พรีคอมไพล์ผ่านฮาร์ดฟอร์ก (เนื่องจากเปลี่ยนความหมายของ EVM) ดังนั้นค่าใช้จ่ายในการประสานงานจึงสูง โชคดีที่ในฉบับร่างปัจจุบันของ EIP-2537 เราสามารถเห็นได้ว่างานเกี่ยวกับการคอมไพล์ล่วงหน้าของ BLS เหล่านี้กำลังดำเนินไป EIP-2537 มีการคอมไพล์ล่วงหน้าของการดำเนินการเส้นโค้ง BLS12-381 และการดำเนินการอื่นที่มีราคาแพงที่เรียกว่า "แมปไปยังเส้นโค้ง" ที่ใช้ในโครงร่างอัลกอริทึม BLS หากคุณเจาะลึกเข้าไปในคณิตศาสตร์ของโครงร่างอัลกอริทึม BLS คุณจะพบว่าคุณต้องการกลไกบางอย่างเพื่อแปลงข้อความ (ที่คุณต้องการเซ็นชื่อ) เป็นจุดบนเส้นโค้งวงรีผ่านการดำเนินการ "แมปไปยังเส้นโค้ง"
การรวบรวมล่วงหน้าให้ประโยชน์อะไรแก่เรา
การคอมไพล์ล่วงหน้าของ EIP-2537 จะช่วยให้ ETH 2.0 ใช้งานจริงได้โดยการปรับปรุงประสบการณ์ผู้ใช้สัญญามาร์จิ้น และวางรากฐานสำหรับการสร้าง ETH 2.0 light client ภายใน ETH 1.0 เส้นโค้ง BLS12-381 นั้นสามารถใช้สร้าง zk-SNARK ได้ ซึ่งเมื่อใช้ร่วมกับ BLS ที่ใช้ในบล็อกเชนอื่นๆ จะเป็นการปูทางสำหรับการทำงานร่วมกันระหว่างเครือข่ายเหล่านี้
ประสบการณ์ผู้ใช้สำหรับสัญญาซื้อขายล่วงหน้า
วิธีเริ่มต้นในการเป็นผู้ตรวจสอบ ETH 2.0 Beacon Chain คือการฝาก ETH ไว้ในสัญญาอัจฉริยะบน ETH 1.0 (“สัญญาซื้อขายล่วงหน้า”) เพื่อประหยัดค่าธรรมเนียมแก๊สและลดความซับซ้อน หน้าที่หลักของสัญญามาร์จิ้นคือการจัดเตรียมข้อผูกมัดแบบเข้ารหัส (บน Merkle tree) สำหรับเงินฝากจำนวนหนึ่ง จากนั้นข้อผูกมัดดังกล่าวสามารถใช้เป็นหลักฐานในห่วงโซ่สัญญาณ ที่สำคัญ ลายเซ็น BLS ที่จำเป็นในการยืนยันพันธบัตรนั้นไม่ได้รับการยืนยันในเชน ETH 1.0 ชุดของข้อผิดพลาดในการคำนวณลายเซ็น BLS เกิดขึ้นในเครือข่ายทดสอบเนื่องจากช่องโหว่ และส่วนหนึ่งของเครือข่ายทดสอบ ETH หายไป ในการตรวจสอบลายเซ็น BLS บนห่วงโซ่ ETH 1.0 (ซึ่งสามารถทำได้ผ่าน EIP-2537) เราสามารถเขียนสัญญาอัจฉริยะ "ส่งต่อ" เพื่อรับข้อมูลพันธบัตร ตรวจสอบลายเซ็น แล้วส่งเฉพาะข้อมูลพันธบัตรไปยัง สัญญาพันธบัตร แม้ว่าคุณสมบัตินี้ไม่ใช่ข้อกำหนดเบื้องต้นสำหรับการรับรองความปลอดภัยของสัญญามาร์จิ้น แต่ก็ทำให้นักพัฒนาซอฟต์แวร์ที่โต้ตอบกับสัญญามาร์จิ้นรู้สึกสบายใจ
zk-SNARKs
เราเชื่อว่าก่อนที่จะสร้าง ETH 2.0 light client บนเครือข่าย ETH 1.0 จำเป็นต้องให้ ETH 1.0 "เข้าใจ" เทคโนโลยีการเข้ารหัสที่ใช้โดย ETH 2.0 ด้วยวิธีนี้ จึงเป็นไปได้ที่จะใช้ไคลเอ็นต์แบบไลท์ที่คล้ายกับ BTCRlay ในสัญญาอัจฉริยะ มันจะกลายเป็นเสาหลักของ "สะพาน" ระหว่างเครือข่าย ETH 1.0 และ ETH 2.0 เป็นเรื่องที่น่าตื่นเต้นเล็กน้อยที่จะคิดเกี่ยวกับมัน ผ่านสะพานสองทางนี้ ETH สามารถถ่ายโอนระหว่างเครือข่าย ETH 1.0 และ ETH 2.0 และการแยกส่วน ETH 2.0 ยังสามารถใช้เป็นชั้นข้อมูลที่ปรับขนาดได้สูงเพื่อรองรับสถาปัตยกรรมสองชั้นบน ETH 1.0 (ตัวอย่างเช่น การย้อนกลับในแง่ดี , zk-rollups เป็นต้น)
เครือข่ายอื่นๆ
ความตื่นเต้นคือความตื่นเต้นทั้งหมด แต่โปรดทราบว่าการสร้างไคลเอ็นต์ขนาดเล็กภายใน EVM เป็นสัญญาอัจฉริยะ (แทนที่จะใช้ไคลเอ็นต์แบบเบาที่ระดับไคลเอนต์ ETH 1.0) อาจไม่ใช่วิธีที่ดีที่สุดในการทำให้ ETH 1.0 เข้าใจ ETH 2.0 นอกจากนี้ การวิจัยเมื่อเร็วๆ นี้เกี่ยวกับ "สะพานสองทาง" แสดงให้เห็นว่าวิธีการนี้ไม่สามารถทำได้ เนื่องจากพารามิเตอร์ความปลอดภัยอื่นๆ ของเครือข่าย ETH 1.0 และ ETH 2.0 (อาจแยกสถานะ ETH 1.0 และวางไว้บนเศษ ETH 2.0) ต้องบอกว่าไม่มีอันตรายใดในการวางรากฐานในขณะนี้ และในขณะที่การวิจัยติดตามความคืบหน้า กลยุทธ์การควบรวมกิจการของ ETH 1.0 และ ETH 2.0 อาจมีการเปลี่ยนแปลง
จุดประสงค์ของการสร้างเส้นโค้ง BLS12-381 คือเพื่อให้ ZCash ใช้ zk-SNARK ที่มีประสิทธิภาพมากขึ้น (หากคุณต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับเส้นโค้ง BLS12-381 คุณสามารถดูลิงก์ด้านบนได้) นอกจากนี้ การเพิ่มส่วนโค้งนี้ใน EVM ทำให้ Ethereum สามารถตรวจสอบ SNARK ดังกล่าวได้ เปิดใช้งานความเป็นส่วนตัวและแอปพลิเคชันที่ปรับขนาดได้ผ่านโปรโตคอลที่ปราศจากความรู้
เครือข่ายอื่นๆ
บล็อกเชน "รุ่นต่อไป" บางตัว (Filecoin, Chia, Cosmos และอื่นๆ) กำลังวางแผนที่จะใช้รูปแบบลายเซ็น BLS การให้ EVM สามารถตรวจสอบลายเซ็นเหล่านี้โดยกำเนิดสามารถปลดล็อกกรณีการใช้งานการทำงานร่วมกันได้มากขึ้น เช่นเดียวกับ ETH 1.0 และ ETH 2.0 เช่นนั้น.


