รวมการออก ETH
การควบรวมกิจการของ Ethereum ทำให้การเปลี่ยนเครือข่าย Ethereum จากหลักฐานการทำงานเป็นการพิสูจน์การเดิมพันเสร็จสิ้น วิธีการออก ETH มีการเปลี่ยนแปลงในระหว่างกาล ก่อนหน้านี้ การออก ETH ใหม่มาจากสองแหล่ง: เลเยอร์การดำเนินการ (เช่น mainnet) และเลเยอร์ฉันทามติ (เช่น เชนบีคอน) การออก ETH ในชั้นการดำเนินการเป็นศูนย์ตั้งแต่การควบรวมกิจการของ Ethereum
การออก Execution Layer หลังจากการควบรวมกิจการ: ภายใต้กฎฉันทามติที่ปรับปรุงแล้ว การ Proof of Work ไม่ใช่วิธีการผลิตแบบบล็อกที่มีประสิทธิภาพอีกต่อไป กิจกรรมเลเยอร์การดำเนินการทั้งหมดถูกบรรจุเป็น "บล็อกบีคอน" ("beacon blocks") นั่นคือออกและตรวจสอบโดยผู้ตรวจสอบหลักฐานการมีส่วนได้ส่วนเสีย รางวัลสำหรับการตรวจสอบและเผยแพร่ "บล็อกบีคอน" จะคำนวณแยกกันในชั้นฉันทามติ
การออก Consensus Layer หลังการควบรวมกิจการ: การออก Consensus Layer ETH ยังคงดำเนินต่อไป เช่นเดียวกับก่อนการควบรวมกิจการ โดยมีรางวัลเล็กน้อยสำหรับผู้ตรวจสอบที่ตรวจสอบความถูกต้องและเสนอบล็อก รางวัลของ Validator จะยังคงเพิ่มขึ้นตามยอดคงเหลือของ Validator ที่จัดการภายในชั้นฉันทามติ บัญชี Validator บน Beacon Chain จะแยกจากบัญชีที่เราใช้บน Ethereum mainnet และการถอนออกจากบัญชี Validator จะไม่สามารถทำได้จนกว่าจะมีการอัปเกรด Shanghai ที่วางแผนไว้ หลังจากการอัปเกรด Shanghai ผู้ใช้จะสามารถถอนรางวัลและเงินเดิมพันได้หากต้องการ นอกจากนี้ยังหมายความว่าในขณะที่ยังคงออก ETH ใหม่ แต่จะยังคงถูกล็อค 100% ในตลาดจนกว่าจะมีการอัปเกรด Shanghai
คีย์ ethereum
ที่นี่เราแนะนำ "คีย์" ของบัญชี Ethereum Ethereum ใช้การเข้ารหัสคีย์สาธารณะและส่วนตัวเพื่อปกป้องทรัพย์สินของผู้ใช้ รหัสสาธารณะถูกใช้เป็นพื้นฐานของที่อยู่ Ethereum นั่นคือ สาธารณะสามารถมองเห็นได้และทำหน้าที่เป็นตัวระบุเฉพาะ คีย์ส่วนตัวควรเข้าถึงได้โดยเจ้าของบัญชีเท่านั้น คีย์ส่วนตัวใช้เพื่อ "ลงนาม" ธุรกรรมและข้อมูลเพื่อให้การเข้ารหัสสามารถพิสูจน์ได้ว่าผู้ถืออนุมัติการดำเนินการบางอย่างสำหรับคีย์ส่วนตัวเฉพาะ เนื่องจาก Ethereum เปลี่ยนจาก Proof of Work เป็น Proof of Stake ผู้ใช้จึงต้องการคีย์ประเภทใหม่เพื่อเข้าร่วมใน Proof of Stake โดยการ Stake ETH และจัดการตัวตรวจสอบความถูกต้อง รหัส mainnet ดั้งเดิมของ Ethereum ยังคงเหมือนเดิมทุกประการ แต่ผู้ใช้ที่ต้องการเป็นผู้เดิมพันอิสระในห่วงโซ่บีคอนจำเป็นต้องมีรหัสตรวจสอบความถูกต้องและรหัสการถอน หลังจากการอัพเกรด Shanghai จำเป็นต้องมีรหัสการถอนสำหรับการถอนคำสัญญา
เซี่ยงไฮ้อัพเกรด
ชื่อระดับแรก
เราได้สรุป EIP สี่รายการที่จะเปิดใช้งานในการอัพเกรดเซี่ยงไฮ้:
EIP- 3651 : Warm COINBASE
เริ่มอุ่นเครื่องที่อยู่ COINBASE
ภาพรวม: ตามต้นทุนที่แท้จริงของการอ่านบัญชี ที่อยู่ COINBASE ควรอุ่นขึ้นเมื่อธุรกรรมเริ่มดำเนินการ
อธิบายว่า COINBASE ในที่นี้มาจากแนวคิดของ Bitcoin นั่นคือ ธุรกรรมแรกในบล็อกคือธุรกรรมพิเศษที่เรียกว่าธุรกรรม COINBASE ซึ่งแต่เดิมออกแบบมาสำหรับนักขุดเพื่อบรรจุและรวบรวมรายได้จากการทิปสำหรับการขุด ที่อยู่ COINBASE จะถูกทำให้ร้อน (โหลดเข้าสู่ระบบ) เมื่อทำธุรกรรม หลีกเลี่ยงความจำเป็นในการรับข้อมูลที่อยู่ COINBASE ใหม่จาก 0 ทุกครั้งที่ได้รับทิป
แรงจูงใจ: การชำระเงินโดยตรงของ COINBASE กำลังเป็นที่นิยมมากขึ้นเรื่อยๆ การชำระเงินของ COINBASE ถูกนำมาใช้เนื่องจากอนุญาตให้มีการชำระเงินแบบมีเงื่อนไข ซึ่งเป็นประโยชน์ต่อเครือข่าย เช่น ธุรกรรมที่ป้องกันการย้อนกลับของแพ็กเกจ อย่างไรก็ตาม ราคาการทำธุรกรรมกับ COINBASE นั้นสูงมาก ในกรอบรายการเชิงโต้ตอบที่นำเสนอโดย EIP-2929 ที่อยู่ COINBASE จะแสดงเป็น "ที่อยู่เย็น" และจะต้องได้รับข้อมูลของที่อยู่ COINBASE อีกครั้งสำหรับการทำธุรกรรมแต่ละครั้ง แม้ว่าค่าใช้จ่ายก๊าซที่ไม่ตรงกันนี้สามารถกระตุ้นให้เกิดวิธีการชำระเงินอื่นนอกเหนือจาก ETH เช่น ERC 20 แต่ ETH เป็นวิธีการชำระเงินหลักสำหรับธุรกรรม Ethereum EIP-3651 ช่วยให้นักขุดสามารถประหยัดค่าธรรมเนียมก๊าซและเพิ่มความเร็วในการทำธุรกรรมของนักขุด
EIP-3855, คำสั่ง PUSH 0 (0x5f)
แนะนำคำสั่งใหม่ที่ผลักค่าคงที่ 0 เข้าสู่สแต็ก
ภาพรวม: แนะนำคำสั่ง PUSH 0 ( 0 x 5 f ) ซึ่งจะผลักค่าคงที่ 0 ไปยังสแต็ก
แรงจูงใจ: คำแนะนำจำนวนมากคาดหวังการชดเชยเป็นอินพุต ซึ่งในหลายกรณีคือ 0 ตัวอย่างที่ดีคือพารามิเตอร์ข้อมูลส่งคืนของการโทร ซึ่งตั้งค่าเป็นศูนย์หากสัญญาต้องการใช้ RETURNDATA* นี่เป็นเพียงตัวอย่างหนึ่งเท่านั้น แต่ยังมีเหตุผลอื่นๆ อีกมากมายที่ทำให้สัญญาจำเป็นต้องดันค่าเป็น 0 พวกเขาสามารถทำได้ในขณะนี้ด้วย PUSH 1 0 ซึ่งมีต้นทุน 3 แก๊สที่รันไทม์และเข้ารหัสเป็น 2 ไบต์ ซึ่งหมายถึงต้นทุนการปรับใช้ 2 * 200 แก๊ส ด้วยคำสั่ง PUSH 0 ไม่จำเป็นต้องเสียค่าใช้จ่ายเพิ่มเติมในการปรับใช้ก๊าซนี้ นอกจากนี้ จากมุมมองที่ "สูญเปล่า" ในบัญชีที่มีอยู่ 340,557,331 ไบต์ถูกทิ้งไปกับการพุช 100 คำสั่ง ซึ่งหมายความว่าการปรับใช้จะใช้ก๊าซ 68,111,466,200 ไบต์ เป้าหมายของ EIP-3855 คือการลดการใช้ก๊าซที่ไม่มีความหมาย
EIP- 3860 ,Limit and meter initcode
จำกัดขนาดสูงสุดของ initcode เป็น 49152 และใช้ค่าแก๊ส 2 สำหรับแต่ละก้อน initcode 32 ไบต์
ภาพรวม: ขยาย EIP-170 โดยเพิ่มขีดจำกัดของขนาดสูงสุดของ initcode (MAX_INITCODE_SIZE = 2 * MAX_CODE_SIZE = 49152) แนะนำค่าแก๊ส 2 ต่อ 32 ไบต์ของ initcode chunk เพื่อแสดงต้นทุนของการวิเคราะห์ jumpdest
แรงจูงใจ: ในระหว่างการสร้างสัญญา ลูกค้าต้องทำการวิเคราะห์ Jumpdest ของรหัสการเริ่มต้นก่อนที่จะดำเนินการ initcode งานที่ทำจะปรับขนาดตามขนาดของรหัสเริ่มต้น ตาม EIP 170 ขนาด initcode ถูกจำกัดไว้ที่ 24576 และตอนนี้ขีดจำกัดขนาด initcode สูงสุดจะเพิ่มเป็น 49152 เห็นได้ชัดว่าความจุโค้ดที่ใหญ่ขึ้นหมายความว่าขนาดสัญญาสามารถเพิ่มเป็นสองเท่า และผู้พัฒนาสัญญาสามารถใช้ฟังก์ชันที่สมบูรณ์ยิ่งขึ้นได้ กล่าวโดยย่อ จุดประสงค์ของ EIP-3860 คือเพื่อรองรับ Dapps ที่ใหญ่ขึ้น
EIP-4895 Beacon Chain แนะนำการถอนเงินเป็นคำแนะนำในการปฏิบัติงาน
รองรับตัวตรวจสอบเพื่อถอนเงินจากบีคอนเชนไปยัง EVM ผ่านประเภทการดำเนินการ "ระดับระบบ" ใหม่
ภาพรวม: แนะนำ "การดำเนินการ" ระดับระบบเพื่อรองรับ "การพุช" จากบีคอนเชนไปจนถึงการถอน EVM หลังจากการปรับใช้เสร็จสิ้น ฟังก์ชันถอนการจำนำ Ethereum beacon chain จะถูกเปิดใช้งาน
แรงจูงใจ: EIP นี้เป็นช่องทางสำหรับผู้ตรวจสอบความถูกต้องบนบีคอนเชนเพื่อถอนเงินเข้าสู่ EVM เป็นผลให้ดำเนินการถอน ETH ที่จำนำไว้ และวิธีการดำเนินการคือการแนะนำการถอนคำสั่งระดับระบบตามข้อมูลของ beacon chain (consensus layer) ควบคุมยอดคงเหลือ ETH ของที่อยู่ที่ระบุโดยตรงโดยไม่มีเงื่อนไข วัตถุประสงค์ของ EIP-4895 คือการนำฟังก์ชันถอนคำจำนำไปใช้
อ้างถึง:
อ้างถึง:
https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/keys/#withdrawal-key
https://ethereum.org/en/upgrades/merge/issuance/#cl-issuance-post-merge
https://eips.ethereum.org/EIPS/eip- 3651
https://eips.ethereum.org/EIPS/eip- 3855
https://eips.ethereum.org/EIPS/eip- 3860
https://eips.ethereum.org/EIPS/eip- 4895
