上海升级完成后,以太坊核心开发者会议又有哪些新内容?

หลังจากอัปเกรด Shanghai เสร็จสิ้น ที่ประชุมนักพัฒนา Ethereum Core มีเนื้อหาใหม่อะไรบ้าง?

BroadChainBroadChain05/05/2566
เนื้อหานี้แปลโดย AI
สรุป

หลังจากการประชุมนักพัฒนาครั้งนี้ จะมีกลุ่ม EIP บางรายการถูกระงับไว้ชั่วคราวเพื่อนำไปรวมเข้ากับการอัป

หัวข้อต้นฉบับ: “สรุปการประชุมนักพัฒนาหลัก Ethereum ครั้งที่ 015”

แหล่งที่มา: AllCoreDevs Update

ผู้แปล: Stephanie, ECN

สรุปย่อ

การอัปเกรด Shapella ได้เปิดใช้งานเรียบร้อยแล้ว! ขณะนี้เรากำลังอยู่ในขั้นตอนสุดท้ายของการวางแผนการอัปเกรดครั้งต่อไปอย่าง Dencun โดยมี EIP ที่คาดว่าจะถูกรวม ได้แก่ 4844, 6780, 1153 และ 6475 แต่ยังไม่มีข้อกำหนดใดที่ถูก “แช่แข็ง” (frozen) อย่างเป็นทางการ ส่วน EIP 2537, 4788 และ 6493 ถูกจัดอยู่ในรายชื่อผู้สมัครแล้ว และยังมี EIP อีกหลายรายการที่กำลังอยู่ในขั้นตอนการอภิปรายบนฟอรัม EthMagicians ฉันได้ร่าง EIP-6953 ซึ่งสรุปกลไกการกระตุ้น (trigger mechanism) สำหรับการเปิดใช้งานการอัปเกรดเครือข่ายที่มีการใช้งานมายาวนาน ในช่วงฤดูร้อนนี้ คุณจะได้เห็นฉันพูดคุยเกี่ยวกับการกำกับดูแล (governance) ของ Ethereum ในหลายๆ ที่ ตารางการประชุมแบบเต็มจะอยู่ด้านล่าง

การอัปเกรด Shapella

เปิดใช้งานแล้ว! แม้จะมีอุปสรรคเล็กน้อยในตอนเริ่มต้น แต่ภายในเวลาไม่ถึงเดือน การถอนเงิน (withdrawals) บน Ethereum ก็ถูกมองว่าเป็นเรื่องปกติและดำเนินไปอย่างราบรื่นแล้ว

การอัปเกรด Dencun

ในบทความสรุปการประชุมครั้งก่อน ข้อกำหนดสำหรับ Shapella ใกล้จะสมบูรณ์แล้ว แต่ก็ยังมีการเปลี่ยนแปลงอีกหลายจุด หลังจากที่ฉันเผยแพร่บทความนั้น ข้อกำหนดทั้งหมดก็ได้รับการยืนยันอย่างเป็นทางการ และประกาศผ่านบล็อกของ Ethereum Foundation ในหัวข้อ “ความคืบหน้า – การอัปเดต – เวอร์ชันหลักสุดท้ายสำหรับ Mainnet” ขณะนี้ระบบประกาศโปรโตคอล (protocol announcements) ยังรองรับการสมัครรับข้อมูลผ่านอีเมล (email subscription) อีกด้วย!

การอัปเดตครั้งนี้ก็มีลักษณะคล้ายกัน ตอนนี้เราได้รวบรวมชุด EIP ที่มีแนวโน้มจะถูกรวมในการอัปเกรดเครือข่ายครั้งต่อไปคือ Dencun (Deneb + Cancun) ซึ่งยังอยู่ในสถานะ “เบื้องต้น” (provisional) ฉันจะสรุปให้ฟังว่า EIP เหล่านี้คืออะไร มีความสำคัญอย่างไร และยังมี EIP ผู้สมัครอื่นๆ ที่กำลังถูกพิจารณาให้รวมในการอัปเกรดครั้งนี้ด้วย

โปรดทราบว่าบทความนี้จะเน้นไปที่ Execution Layer ของ Ethereum เป็นหลัก อาจมีประเด็นอื่นๆ ที่เกี่ยวข้องกับ Consensus Layer ที่ฉันไม่ได้กล่าวถึง หากเป็นไปได้ ฉันจะเผยแพร่การอัปเดตอีกครั้งเมื่อเนื้อหาของการอัปเกรด Dencun ได้รับการยืนยันอย่างเป็นทางการแล้ว แต่ในทางปฏิบัติ บทความถัดไปของฉันน่าจะเป็นประกาศการแยกสาย (fork announcement) สำหรับ testnet แรก มาดูรายละเอียดของ EIP เหล่านี้กันเลย

EIP ที่คาดว่าจะถูกรวม

EIP-4844: Proto-Danksharding

ไม่ต้องอธิบายมาก: EIP-4844 คือฟีเจอร์หลักของการอัปเกรด Dencun โดยสรุป EIP นี้จะนำ “blob ข้อมูล” (data blobs) ชั่วคราวเข้ามาในเครือข่าย Ethereum ซึ่ง L2 สามารถใช้เพื่อเผยแพร่ข้อมูลธุรกรรม/หลักฐาน (transaction/proof data) ที่ปัจจุบันถูกเก็บไว้ใน CALLDATA

เนื่องจาก blob ถูกเก็บชั่วคราว ค่า gas จึงคาดว่าจะต่ำกว่า CALLDATA มาก เพราะ CALLDATA ถูกเก็บไว้บนเครือข่ายอย่างถาวร สิ่งนี้จะช่วยลดค่าธรรมเนียมธุรกรรมบน L2 ลงอย่างมากสำหรับผู้ใช้ เนื่องจากปัจจุบันค่าใช้จ่ายในการเก็บข้อมูลบน L1 คิดเป็นกว่า 90% ของค่าธรรมเนียม L2 ทั้งหมด หากต้องการศึกษาข้อมูลเพิ่มเติมเกี่ยวกับ EIP-4844 สามารถเข้าไปที่เว็บไซต์ eip4844.com ซึ่งมีแหล่งข้อมูลอธิบายหลายระดับ รวมถึงคำถามที่พบบ่อย (FAQ) ด้วย

แม้การอัปเกรดนี้จะไม่ใหญ่เท่ากับ The Merge แต่ EIP-4844 ถือเป็นการเปลี่ยนแปลงครั้งสำคัญสำหรับ Ethereum เพราะเป็นการเพิ่ม “เลเยอร์ข้อมูล” ใหม่ทั้งหมดเข้าไปในเครือข่าย ทั้ง Consensus Layer และ Execution Layer ที่มีอยู่ต้องสามารถทำงานร่วมกับเลเยอร์นี้ได้ ขนาดของ EIP นี้หมายความว่าความสามารถในการปรับเปลี่ยนอื่นๆ ใน Dencun จะถูกจำกัด

นั่นหมายความว่า นอกจาก EIP-4844 แล้ว ยังมี EIP อื่นๆ อีกหลายรายการที่จะถูกรวมในการอัปเกรดครั้งนี้ด้วย

EIP-6780: ยกเลิกการใช้งาน SELFDESTRUCT ยกเว้นกรณีที่ถูกเรียกใช้ภายในธุรกรรมเดียวกับการสร้างสัญญา

การเปลี่ยนแปลงสำคัญอันดับสองใน Dencun คือการยกเลิกการใช้งานคำสั่ง SELFDESTRUCT ตามที่ระบุไว้ใน EIP-6780 ข้อเสนอนี้ถูกพูดคุยกันมาหลายปี และมีการแจ้งเตือนอย่างเป็นทางการเกี่ยวกับการยกเลิกการใช้งานระหว่างการอัปเกรด Shapella

จากการวิเค���าะห์ล่าสุด พบว่า SELFDESTRUCT มีรูปแบบการใช้งานที่พบบ่อยรูปแบบหนึ่ง คือ การสร้างและทำลายสัญญาภายในธุรกรรมเดียวกัน EIP-6780 อนุญาตให้รูปแบบการใช้งานนี้ยังคงทำงานต่อไปได้ หาก SELFDESTRUCT ถูกเรียกใช้ภายในธุรกรรมเดียวกับการสร้างสัญญา พฤติกรรมของมันจะยังคงเหมือนเดิม

สำหรับกรณีอื่นๆ ทั้งหมด แม้ว่าคำสั่งนี้จะไม่ลบข้อมูลเก็บ (storage) หรือโค้ดของสัญญา แต่ ETH ที่อยู่ในสัญญายังคงถูกโอนไปยังที่อยู่ปลายทางตามปกติ

แม้ทีมผู้พัฒนาไคลเอนต์ (client teams) จะมองว่านี่เป็นวิธีที่ดีที่สุดในการจัดการ SELFDESTRUCT ในตอนนี้ แต่การวิเคราะห์ผลกระทบโดยละเอียดยังคงดำเนินอยู่ หลังจากการวิเคราะห์เสร็จสิ้น ข้อกำหนดอาจถูกปรับปรุงเพื่อจัดการกับกรณีขอบเขต (edge cases) อื่นๆ หรืออาจพิจารณาใช้วิธีการที่แตกต่างออกไป เช่น EIP-6046

พูดอีกอย่างคือ ตอนนี้คำถามเกี่ยวกับการลบ SELFDESTRUCT ออกในการอัปเกรด Deneb เปลี่ยนจาก “จะทำหรือไม่” เป็น “จะทำอย่างไร”

EIP-1153: หน่วยความจำชั่วคราว (Transient Storage)

การเปลี่ยนแปลงอันดับสามที่จะถูกรวมใน Dencun คือ EIP-1153 ข้อเสนอนี้มีมานานประมาณ 5 ปี และถูกนำเสนออีกครั้งโดยทีม Uniswap เมื่อปีที่แล้ว ซึ่งได้รับการสนับสนุนอย่างกว้างขวางจากชุมชนนักพัฒนา Ethereum EIP นี้แนะนำคำสั่งใหม่สองคำสั่ง คือ TSTORE และ TLOAD ซึ่งให้หน่วยความจำชั่วคราวที่ถูกลบออกทันทีหลังจากธุรกรรมเสร็จสิ้น EIP นี้เปิดโอกาสให้เกิดการใช้งานใหม่ๆ เช่น การล็อกเพื่อป้องกันการเรียกซ้ำ (reentrancy locks) หรือการอนุมัติโทเค็น ERC-20 หลายครั้งภายในธุรกรรมเดียว

EIP-1153 เคยถูกพิจารณาให้รวมใน Shapella แต่สุดท้ายถูกเลื่อนออกไป ครั้งนี้ ทีมผู้พัฒนาไคลเอนต์เห็นชอบให้ดำเนินการต่อ ควรกล่าวเสริมว่า นอกจากความสมบูรณ์และประโยชน์ของ EIP นี้แล้ว สิ่งที่ช่วยผลักดันให้ EIP-1153 ได้รับการรวมคือการสนับสนุนทางเทคนิคที่ยอดเยี่ยม: Uniswap และทีมอื่นๆ ได้จัดเตรียมการนำไปใช้งานจริง (reference implementation) ของ EIP-1153 อย่างครบถ้วน และชุดกรณีทดสอบ (test cases) ที่ครอบคลุมสำหรับไคลเอนต์ Execution Layer ทั้งหมด

EIP-6475: ค่าแบบ SSZ ที่เป็นทางเลือก (SSZ Optional Values)

การเปลี่ยนแปลงสุดท้ายที่จะถูกรวมอาจถือได้ว่าเป็นส่วนเสริมของ EIP-4844 Proto-danksharding ได้แนะนำประเภทธุรกรรมใหม่ที่ใช้การเข้ารหัสแบบ SSO แทนการเข้ารหัสแบบ RLP ที่ใช้กับประเภทธุรกรรมอื่นๆ

มีการพูดคุยกันมานานเกี่ยวกับการเปลี่ยน Execution Layer ของ Ethereum ไปใช้การเข้ารหัสแบบ SSZ อย่างสมบูรณ์ เนื่องจาก SSZ เป็นโครงสร้างการเข้ารหัสที่มีความยืดหยุ่นมากกว่า และยังถูกใช้งานอยู่ที่ Consensus Layer แต่การดำเนินการนี้ในตอนนี้ยังมีความซับซ้อนทางวิศวกรรมเกินไปสำหรับการอัปเกรด Deneb EIP-6475 นิยามองค์ประกอบหนึ่งของ SSZ (Optionals) ซึ่งเป็นส่วนหนึ่งของรูปแบบธุรกรรม 4844 เพื่อให้แน่ใจว่ามันจะเข้ากันได้แบบย้อนหลัง (forward-compatible) กับวัตถุ SSZ ที่เราตั้งใจจะนำเข้ามาใน Ethereum ในอนาคต

เนื่องจากการอภิปรายเกี่ยวกับรูปแบบ SSZ ที่เหมาะสมที่สุดในระยะยาว ทั้งสำหรับธุรกรรมทั่วไปและโดยเฉพาะธุรกรรม blob 4844 ยังคงดำเนินต่อไป จึงคาดว่า EIP ทั้งสองฉบับนี้จะมีการปรับปรุงเพิ่มเติม

EIP ที่อยู่ระหว่างการพิจารณา

นอกจาก EIP ที่คาดว่าจะถูกรวมอย่างเป็นทางการแล้ว ทีมผู้พัฒนาไคลเอนต์ยังมีรายชื่อ EIP ผู้สมัครที่ยังมีโอกาสได้รับการพิจารณาเพิ่มเติม

EIP-2537: ฟังก์ชันพรีคอมไพล์ (precompiles) สำหรับการดำเนินการบนเส้นโค้ง BLS12-381

EIP ฉบับนี้ได้รับการพิจารณาให้รวมในการอัปเกรดมาตั้งแต่ปี 2019 ใน รูปแบบหนึ่ง ที่ผ่านมา มีความลังเลใจที่จะเพิ่มเส้นโค้งการเข้ารหัสใหม่ลงใน Execution Layer ของ Ethereum อย่างไรก็ตาม Beacon Chain นั้นพึ่งพา BLS12-381 อย่างมาก และหลังจากที่เราเสร็จสิ้น The Merge แล้ว ก็สามารถพูดได้ว่า BLS ได้กลายเป็น “การพึ่งพาหลัก” (core dependency) ของ Ethereum ไปแล้ว พร้อมกับไลบรารีที่ปลอดภัยและได้รับการปรับแต่งมาอย่างดี

การนำ precompile นี้มาใช้จะทำให้สามารถตรวจสอบลายเซ็นจาก Beacon Chain ได้ใน Execution Layer และยังเปิดโอกาสให้เกิดการใช้งานใหม่ๆ ที่อาศัย elliptic curve นี้

EIP-4788: Beacon Block Root ใน EVM

คล้ายกับ EIP-2537 ข้อเสนอนี้ก็เปิดเผยข้อมูลจาก Beacon Chain ไปยัง Execution Layer เช่นกัน โดยค่า root ของบล็อก Beacon Chain จะถูกเพิ่มเข้าไปใน execution payload ก่อนจะถูกจัดเก็บไว้ใน smart contract บน Execution Layer ค่า root ที่จัดเก็บไว้นี้สามารถเรียกใช้ผ่าน opcode ใหม่ชื่อ BEACON_ROOT ซึ่งรับ slot number เป็นอินพุตและคืนค่า root ของบล็อก Beacon Chain ที่เกี่ยวข้อง

EIP นี้จะช่วยให้โปรโตคอลต่างๆ เช่น staking pool, bridge และ restaking protocol ออกแบบให้มีความน่าเชื่อถือ (trustlessness) สูงขึ้นได้

EIP-6493: SSZ Transaction Signature Scheme

EIP นี้เป็นการเสริม EIP-6475 โดยกำหนดรูปแบบการลงนามสำหรับธุรกรรมแบบ SSZ แม้รูปแบบนี้จะใช้กับธุรกรรม RLP เดิมไม่ได้ แต่ช่วยรับประกันว่าการลงนามธุรกรรม SSZ ภายใต้ EIP-4844 ที่ใช้งานอยู่จะยังคงรองรับการปรับปรุงโครงสร้าง SSZ ของ Execution Layer ในอนาคต (forward compatibility)

โปรดทราบว่า EIP ที่เกี่ยวข้องกับ EOF ไม่ได้ถูกรวมอยู่ในการอัปเกรดครั้งนี้

แม้ EIP ที่เกี่ยวกับ EOF เคยถูกพิจารณารวมในอัปเกรด Shapella และ Dencun แต่เนื่องจากข้อจำกัดด้านแบนด์วิธ ชุด EIP ทั้งหมดที่เกี่ยวข้องกับ EOF จึงถูกตัดออกจากการอัป��กรดนี้อย่างเป็นทางการ ขณะนี้มีการหารือว่าจะให้ความสำคัญกับ EIP เหล่านี้เป็น "ฟีเจอร์หลัก" ของการอัปเกรดในอนาคตหรือไม่ แต่ทีมผู้พัฒนาไคลเอนต์ยังไม่ได้ข้อสรุปอย่างเป็นทางการ

EIP อื่นๆ ที่ถูกเสนอ

นอกจาก EIP ที่กล่าวมา รายการ EIP ที่ถูกเสนอทั้งหมดสำหรับการอัปเกรดนี้สามารถดูได้ที่ Ethereum Magicians Forum แม้ส่วนใหญ่ของสิ่งที่ปรากฏใน Dencun อาจผ่านการอภิปรายมาแล้ว แต่ก็ยังอาจมีเซอร์ไพรส์ได้! สังเกตว่าเมื่อทีมรับรู้เกี่ยวกับ EIP-5656 ซึ่งเสนอ opcode MCOPY ในการประชุม ACD ครั้งก่อน ปฏิกิริยาของทีมโดยรวมเป็นไปในเชิงบวก

EIP สำหรับการเปิดใช้งานการอัปเกรดเครือข่าย

ประกาศ: ฉันได้ร่าง EIP แบบ informational ฉบับหนึ่ง ซึ่งระบุกลไกต่างๆ ที่ใช้มาโดยตลอดในการกระตุ้นการอัปเกรดเครือข่าย ตั้งแต่บล็อก PoW ไปจนถึง epoch, TTD และล่าสุดคือ timestamp

หวังว่าเราจะไม่จำเป็นต้องเปลี่ยนแปลงกลไกการกระตุ้นจากชุด "epoch + timestamp" ที่ใช้อยู่ในปัจจุบันอีก

Summer (Remote) Talks — การบรรยายช่วงฤดูร้อน (แบบออนไลน์)

ในอีกไม่กี่เดือนข้างหน้า ฉันจะมีการบรรยายหลายครั้ง เพื่อแบ่งปันมุมมองเกี่ยวกับกระบวนการกำกับดูแล (governance process) ของเครือข่าย Ethereum บางงานเป็นแบบออนไซต์ บางงานเป็นแบบออนไลน์ และบางงานยังอยู่ระหว่างการยืนยัน ตามลำดับเวลา ฉันจะเข้าร่วมงาน EDCON, ETHPrague, ETHShanghai, EthCC และ ETHMontreal