คําอธิบายโดยละเอียดของ EIP-7706 และกลไกก๊าซ Ethereum ล่าสุด

กลางJun 05, 2024
บทความนี้ให้คําอธิบายโดยละเอียดเกี่ยวกับหลักการและรายละเอียดการใช้งานของ EIP-7706 ข้อเสนอนี้ใช้กลไกการกําหนดราคาก๊าซ Blob จาก EIP-4844 เพื่อลดต้นทุนการดําเนินงานของเลเยอร์ 2 (L2) ช่วยให้ผู้อ่านเข้าใจการพัฒนาล่าสุดในกลไก Ethereum Gas ได้อย่างรวดเร็ว
คําอธิบายโดยละเอียดของ EIP-7706 และกลไกก๊าซ Ethereum ล่าสุด

แนะ นำ

เมื่อวันที่ 13 พฤษภาคม พ.ศ. 2024 Vitalik ได้เสนอ EIP-7706 โดยแนะนําแผนเสริมสําหรับแบบจําลองก๊าซที่มีอยู่ ข้อเสนอนี้แยกการคํานวณก๊าซของ calldata และปรับแต่งกลไกการกําหนดราคาค่าธรรมเนียมพื้นฐานที่คล้ายกับก๊าซ Blob ซึ่งช่วยลดต้นทุนการดําเนินงานของเลเยอร์ 2 (L2) ข้อเสนอที่เกี่ยวข้องมีอายุย้อนไปถึง EIP-4844 ซึ่งเสนอในเดือนกุมภาพันธ์ พ.ศ. 2022 บทความนี้จึงทบทวนเนื้อหาที่เกี่ยวข้องเพื่อให้ภาพรวมของการพัฒนาล่าสุดในกลไก Ethereum Gas ทําให้ผู้อ่านเข้าใจการอัปเดตได้อย่างรวดเร็ว

รุ่นก๊าซ Ethereum ที่รองรับในปัจจุบัน: EIP-1559 และ EIP-4844

ในการออกแบบเบื้องต้น Ethereum ได้นํากลไกการประมูลที่เรียบง่ายมาใช้เพื่อกําหนดราคาค่าธรรมเนียมการทําธุรกรรม โดยกําหนดให้ผู้ใช้เสนอราคาสําหรับธุรกรรมของตนอย่างแข็งขันโดยกําหนดราคาก๊าซ โดยทั่วไป เนื่องจากค่าธรรมเนียมการทําธุรกรรมที่ผู้ใช้จ่ายให้กับนักขุด นักขุดจึงจัดลําดับความสําคัญของธุรกรรมตามราคาเสนอสูงสุด โดยสมมติว่าไม่มีการพิจารณามูลค่าที่สกัดได้ นักพัฒนาหลักระบุปัญหาหลักสี่ประการของกลไกนี้:

ความไม่ตรงกันระหว่างความผันผวนของค่าธรรมเนียมการทําธุรกรรมและต้นทุนฉันทามติ: สําหรับบล็อกเชนที่ใช้งานอยู่มีความต้องการเพียงพอสําหรับการรวมธุรกรรมซึ่งหมายความว่าสามารถเติมบล็อกได้อย่างง่ายดาย อย่างไรก็ตามสิ่งนี้ยังส่งผลให้เกิดความผันผวนของค่าธรรมเนียมอย่างมีนัยสําคัญ ตัวอย่างเช่น เมื่อราคาก๊าซเฉลี่ยอยู่ที่ 10 Gwei ต้นทุนส่วนเพิ่มในการเพิ่มธุรกรรมอื่นลงในบล็อกจะสูงกว่าเมื่อราคาก๊าซเฉลี่ยอยู่ที่ 1 Gwei ถึงสิบเท่า ซึ่งเป็นที่ยอมรับไม่ได้

ความล่าช้าที่ไม่จําเป็นสําหรับผู้ใช้: เนื่องจากขีด จํากัด ของก๊าซแข็งต่อบล็อกและความผันผวนตามธรรมชาติของปริมาณธุรกรรมในอดีตธุรกรรมมักจะรอหลายบล็อกเพื่อรวมเข้าด้วยกัน สิ่งนี้ไม่มีประสิทธิภาพสําหรับเครือข่ายโดยรวม เนื่องจากไม่มีกลไกความยืดหยุ่นในการอนุญาตให้บล็อกหนึ่งมีขนาดใหญ่ขึ้นและบล็อกถัดไปมีขนาดเล็กลงเพื่อตอบสนองความต้องการแบบบล็อกต่อบล็อกที่แตกต่างกัน

ความไร้ประสิทธิภาพในการกําหนดราคา: กลไกการประมูลที่เรียบง่ายนําไปสู่การค้นพบราคาที่ไม่มีประสิทธิภาพทําให้ผู้ใช้กําหนดราคาที่เหมาะสมได้ยาก ซึ่งมักส่งผลให้ผู้ใช้จ่ายค่าธรรมเนียมการทําธุรกรรมมากเกินไป

ความไม่เสถียรในบล็อคเชนที่ไม่มีรางวัลบล็อก: เมื่อรางวัลบล็อกจากการขุดถูกลบออกและใช้รูปแบบค่าธรรมเนียมล้วนๆ อาจนําไปสู่ความไม่เสถียร เช่น การสร้าง "บล็อกลุง" ที่ขโมยค่าธรรมเนียมการทําธุรกรรม

ด้วยการแนะนําและการใช้งาน EIP-1559 แบบจําลองก๊าซได้รับการทําซ้ําที่สําคัญเป็นครั้งแรก เสนอโดย Vitalik และนักพัฒนาหลักรายอื่นเมื่อวันที่ 13 เมษายน 2019 และนํามาใช้ระหว่างการอัปเกรดในลอนดอนเมื่อวันที่ 5 สิงหาคม พ.ศ. 2021 กลไกนี้ละทิ้งรูปแบบการประมูลเพื่อสนับสนุนรูปแบบการกําหนดราคาแบบคู่ซึ่งประกอบด้วยค่าธรรมเนียมพื้นฐานและค่าธรรมเนียมลําดับความสําคัญ ค่าธรรมเนียมพื้นฐานจะถูกปรับเชิงปริมาณผ่านแบบจําลองทางคณิตศาสตร์ที่กําหนดไว้ล่วงหน้าตามปริมาณการใช้ก๊าซในบล็อกหลักที่สัมพันธ์กับเป้าหมายก๊าซแบบลอยตัวและแบบเรียกซ้ํา

การคํานวณค่าธรรมเนียมพื้นฐานและผลกระทบ: หากการใช้ก๊าซในบล็อกก่อนหน้าเกินเป้าหมายก๊าซค่าธรรมเนียมพื้นฐานจะเพิ่มขึ้น หากต่ํากว่าเป้าหมายก๊าซค่าธรรมเนียมพื้นฐานจะลดลง การปรับนี้สะท้อนให้เห็นถึงการเปลี่ยนแปลงของอุปสงค์และอุปทานได้ดีและปรับปรุงความแม่นยําของการคาดการณ์ก๊าซที่เหมาะสมหลีกเลี่ยงราคาก๊าซที่สูงเกินไปเนื่องจากการทํางานผิดพลาดเนื่องจากการคํานวณค่าธรรมเนียมพื้นฐานถูกกําหนดโดยระบบมากกว่าที่ผู้ใช้ระบุ รหัสเฉพาะสําหรับการคํานวณมีดังนี้:

จากเนื้อหา เราสามารถอนุมานได้ว่าเมื่อ parent_gas_used มากกว่า parent_gas_target ค่าธรรมเนียมพื้นฐานของบล็อกปัจจุบันจะเพิ่มขึ้นเมื่อเทียบกับค่าธรรมเนียมพื้นฐานของบล็อกก่อนหน้าด้วยค่าออฟเซ็ต ออฟเซ็ตนี้ถูกกําหนดโดยการคูณ parent_base_fee ด้วยการเบี่ยงเบนของการใช้ก๊าซทั้งหมดจากเป้าหมายก๊าซในบล็อกก่อนหน้าจากนั้นนําส่วนที่เหลือของเป้าหมายก๊าซและค่าคงที่และค่าสูงสุดระหว่างส่วนที่เหลือนี้กับ 1 ในทางกลับกันตรรกะจะใช้ในทํานองเดียวกันเมื่อ parent_gas_used น้อยกว่า parent_gas_target

นอกจากนี้ ค่าธรรมเนียมพื้นฐานจะไม่ถูกแจกจ่ายเป็นรางวัลให้กับนักขุดอีกต่อไป แต่จะถูกเผาแทน สิ่งนี้ทําให้แบบจําลองทางเศรษฐกิจของ ETH เกิดภาวะเงินฝืด ช่วยรักษาเสถียรภาพของมูลค่า ในทางกลับกัน ค่าธรรมเนียมลําดับความสําคัญ ซึ่งคล้ายกับทิปจากผู้ใช้ถึงนักขุด สามารถกําหนดราคาได้อย่างอิสระ ซึ่งช่วยให้สามารถนํากลับมาใช้ใหม่ได้ในระดับหนึ่งในอัลกอริธึมการเรียงลําดับของนักขุด

ภายในปี 2021 การพัฒนา Rollup ได้เข้าสู่ขั้นตอนที่เป็นผู้ใหญ่ เราทราบดีว่าทั้ง OP Rollup และ ZK Rollup เกี่ยวข้องกับการบีบอัดข้อมูล L2 และอัปโหลดข้อมูลหลักฐานบางอย่างผ่าน calldata ไปยังห่วงโซ่สําหรับความพร้อมใช้งานของข้อมูลหรือการตรวจสอบบนเครือข่ายโดยตรง สิ่งนี้นําไปสู่ต้นทุนก๊าซที่สําคัญในการรักษาขั้นสุดท้ายของ L2 ซึ่งผู้ใช้เป็นผู้รับผิดชอบในท้ายที่สุดส่งผลให้ต้นทุนสูงกว่าที่คาดไว้สําหรับโปรโตคอล L2 ส่วนใหญ่

ในขณะเดียวกัน Ethereum ก็เผชิญกับความท้าทายของการแข่งขันบล็อกสเปซ แต่ละบล็อกมีขีดจํากัดก๊าซ ซึ่งหมายความว่าปริมาณการใช้ก๊าซทั้งหมดของธุรกรรมทั้งหมดในบล็อกต้องไม่เกินขีดจํากัดนี้ ด้วยขีดจํากัดก๊าซปัจจุบันที่ตั้งไว้ที่ 30,000,000 ในทางทฤษฎี มีขีดจํากัดที่ 1,875,000 ไบต์ (30,000,000 / 16) ต่อบล็อก โดยที่จําเป็นต้องใช้ก๊าซ 16 หน่วยสําหรับแต่ละไบต์ข้อมูลการโทรที่ประมวลผลโดย EVM ส่งผลให้มีความจุข้อมูลสูงสุดประมาณ 1.79 MB ต่อบล็อก ข้อมูลที่เกี่ยวข้องกับ Rollup ที่สร้างโดยซีเควนเซอร์ L2 มักมีขนาดใหญ่ ทําให้เกิดการแข่งขันกับธุรกรรมของผู้ใช้ mainnet รายอื่น และลดจํานวนธุรกรรมที่สามารถรวมอยู่ในบล็อกเดียว ซึ่งจะส่งผลต่อ TPS ของ mainnet

เพื่อแก้ไขปัญหานี้ นักพัฒนาหลักได้เสนอ EIP-4844 เมื่อวันที่ 5 กุมภาพันธ์ พ.ศ. 2022 ซึ่งดําเนินการหลังจากการอัปเกรด Dencun ในต้นไตรมาสที่ 2 ปี พ.ศ. 2024 ข้อเสนอนี้แนะนําประเภทธุรกรรมใหม่ที่เรียกว่า Blob Transaction ซึ่งแตกต่างจากธุรกรรมแบบดั้งเดิม Blob Transaction มีประเภทข้อมูลใหม่ Blob data ซึ่งแตกต่างจาก calldata ตรงที่ EVM ไม่สามารถเข้าถึงได้โดยตรง แต่ผ่านแฮชหรือที่เรียกว่า VersionedHash เท่านั้น นอกจากนี้ Blob Transactions ยังมีวงจร GC ที่สั้นกว่าเมื่อเทียบกับธุรกรรมปกติ เพื่อป้องกันไม่ให้ข้อมูลบล็อกป่องเกินไป ข้อมูล Blob ยังมาพร้อมกับกลไกก๊าซโดยธรรมชาติ คล้ายกับ EIP-1559 แต่ใช้ฟังก์ชันเลขชี้กําลังตามธรรมชาติในแบบจําลองทางคณิตศาสตร์ ซึ่งให้ความเสถียรที่ดีขึ้นในการจัดการความผันผวนของขนาดธุรกรรม ความชันของฟังก์ชันเลขชี้กําลังตามธรรมชาติยังเป็นฟังก์ชันเลขชี้กําลังตามธรรมชาติซึ่งหมายความว่าโดยไม่คํานึงถึงสถานะปัจจุบันของขนาดธุรกรรมเครือข่ายค่าธรรมเนียมพื้นฐานของก๊าซหยดจะตอบสนองอย่างเต็มที่มากขึ้นต่อการเพิ่มขึ้นของธุรกรรมอย่างรวดเร็วควบคุมกิจกรรมการทําธุรกรรมได้อย่างมีประสิทธิภาพ คุณสมบัติที่สําคัญอีกประการหนึ่งคือค่าฟังก์ชันคือ 1 เมื่อแกนนอนเป็น 0

base_fee_per_blob_gas = MIN_BASE_FEE_PER_BLOB_GAS e*(excess_blob_gas / BLOB_BASE_FEE_UPDATE_FRACTION)

ที่นี่ MIN_BASE_FEE_PER_BLOB_GAS และ BLOB_BASE_FEE_UPDATE_FRACTION เป็นค่าคงที่ ในขณะที่ excess_blob_gas ถูกกําหนดโดยความแตกต่างระหว่างปริมาณการใช้ก๊าซหยดทั้งหมดในบล็อกหลักและ TARGET_BLOB_GAS_PER_BLOCK คงที่ เมื่อปริมาณการใช้ก๊าซหยดทั้งหมดเกินค่าเป้าหมายทําให้ความแตกต่างเป็นบวก e**(excess_blob_gas / BLOB_BASE_FEE_UPDATE_FRACTION) มากกว่า 1 ทําให้ base_fee_per_blob_gas เพิ่มขึ้นและในทางกลับกัน

กลไกนี้ช่วยให้สามารถดําเนินการตามสถานการณ์ที่มีต้นทุนต่ําซึ่งใช้ความสามารถฉันทามติของ Ethereum เพื่อรับรองปริมาณข้อมูลขนาดใหญ่เพื่อให้แน่ใจว่ามีความพร้อมใช้งานโดยไม่ต้องใช้ความสามารถในการบรรจุธุรกรรม ตัวอย่างเช่น ซีเควนเซอร์แบบสะสมสามารถใช้ธุรกรรม Blob เพื่อห่อหุ้มข้อมูล L2 ที่สําคัญลงในข้อมูล Blob และบรรลุการตรวจสอบแบบ on-chain ผ่าน VersionedHash ภายใน EVM

ควรสังเกตว่าการตั้งค่าปัจจุบันสําหรับ TARGET_BLOB_GAS_PER_BLOCK และ MAX_BLOB_GAS_PER_BLOCK กําหนดข้อ จํากัด ใน mainnet โดยมีเป้าหมายเฉลี่ยในการประมวลผล 3 blobs (0.375 MB) ต่อบล็อกและสูงสุด 6 blobs (0.75 MB) ต่อบล็อก ขีดจํากัดเริ่มต้นเหล่านี้มีจุดมุ่งหมายเพื่อลดความเครียดของเครือข่ายที่เกิดจาก EIP นี้ โดยคาดว่าจะเพิ่มขีดจํากัดเหล่านี้ในการอัปเกรดในอนาคต เนื่องจากเครือข่ายแสดงให้เห็นถึงความน่าเชื่อถือภายใต้ขนาดบล็อกที่ใหญ่ขึ้น

การปรับแต่งแบบจําลองการใช้ก๊าซสําหรับสภาพแวดล้อมการดําเนินการ: EIP-7706

หลังจากทําความเข้าใจโมเดล Ethereum Gas ปัจจุบันแล้ว เรามาเจาะลึกเป้าหมายและรายละเอียดการดําเนินการของข้อเสนอ EIP-7706 ข้อเสนอนี้นําเสนอโดย Vitalik เมื่อวันที่ 13 พฤษภาคม 2024 มีจุดมุ่งหมายเพื่อกําหนดแบบจําลอง Gas ใหม่สําหรับฟิลด์ข้อมูลเฉพาะที่เรียกว่า calldata เหมือนกับการเปลี่ยนแปลงก่อนหน้านี้สําหรับข้อมูล Blob นอกจากนี้ ข้อเสนอยังปรับตรรกะโค้ดที่เกี่ยวข้องให้เหมาะสม

แนวคิดพื้นฐาน

ตรรกะการคํานวณค่าธรรมเนียมพื้นฐานสําหรับ calldata ใน EIP-7706 สะท้อนการคํานวณค่าธรรมเนียมพื้นฐานสําหรับข้อมูล blob ตามที่ระบุไว้ใน EIP-4844 ทั้งสองใช้ฟังก์ชันเลขชี้กําลังเพื่อปรับค่าธรรมเนียมพื้นฐานตามความเบี่ยงเบนระหว่างปริมาณการใช้ก๊าซจริงและค่าเป้าหมายในบล็อกหลัก

แง่มุมที่น่าสังเกตของข้อเสนอนี้คือการแนะนําการออกแบบพารามิเตอร์ใหม่ LIMIT_TARGET_RATIOS = [2, 2, 4] นี่คือรายละเอียด:

LIMIT_TARGET_RATIOS[0]: อัตราส่วนเป้าหมายสําหรับก๊าซการดําเนินการ

LIMIT_TARGET_RATIOS[1]: อัตราส่วนเป้าหมายสําหรับก๊าซข้อมูล Blob

LIMIT_TARGET_RATIOS[2]: อัตราส่วนเป้าหมายสําหรับก๊าซคอลดาต้า

อัตราส่วนเหล่านี้ใช้ในการคํานวณค่าเป้าหมายก๊าซสําหรับก๊าซสามประเภทในบล็อกหลักโดยการหารขีดจํากัดก๊าซด้วยอัตราส่วนที่เกี่ยวข้อง

ขีด จํากัด ก๊าซถูกกําหนดดังนี้:

  • gas_limits[0] ทําตามสูตรการปรับที่มีอยู่

  • gas_limits[1] เท่ากับ MAX_BLOB_GAS_PER_BLOCK.

  • gas_limits[2] เท่ากับ gas_limits[0] / CALLDATA_GAS_LIMIT_RATIO.

กําหนดกระแส gas_limits[0] คือ 30,000,000 และ CALLDATA_GAS_LIMIT_RATIO ตั้งค่าไว้ล่วงหน้าเป็น 4 ซึ่งหมายความว่าเป้าหมายก๊าซปัจจุบัน calldata อยู่ที่ประมาณ

[ \frac{30,000,000}{4 \คูณ 4} = 1,875,000 ]

ตามตรรกะการคํานวณก๊าซในปัจจุบัน calldata :

  • แต่ละไบต์ที่ไม่ใช่ศูนย์ใช้ 16 ก๊าซ

  • แต่ละศูนย์ไบต์ใช้ 4 ก๊าซ

สมมติว่ามีการกระจายที่สม่ําเสมอของไบต์ที่ไม่ใช่ศูนย์และศูนย์ในส่วนของ calldataปริมาณการใช้ก๊าซเฉลี่ยต่อไบต์คือ 10 ก๊าซ ดังนั้นเป้าหมายก๊าซในปัจจุบัน calldata จึงสอดคล้องกับประมาณ 187,500 ไบต์ calldataของ ซึ่งเป็นประมาณสองเท่าของการใช้งานเฉลี่ยในปัจจุบัน

ประโยชน์ของข้อเสนอ

การปรับนี้ช่วยลดโอกาสในการ calldata ถึงขีด จํากัด ก๊าซอย่างมีนัยสําคัญรักษา calldata การใช้งานในระดับที่สอดคล้องกันผ่านการสร้างแบบจําลองทางเศรษฐกิจและป้องกันการละเมิด จุดประสงค์หลักของการออกแบบนี้คือเพื่ออํานวยความสะดวกในการเติบโตของโซลูชันเลเยอร์ 2 ลดต้นทุนซีเควนเซอร์เมื่อใช้ควบคู่ไปกับข้อมูลหยด

โดยสรุป EIP-7706 ไม่เพียงแต่ปรับแต่งโมเดล Gas เท่านั้น calldata แต่ยังวางตําแหน่งเชิงกลยุทธ์ Ethereum สําหรับการปรับขนาดโซลูชันเลเยอร์ 2 อย่างมีประสิทธิภาพโดยการควบคุมและเพิ่มประสิทธิภาพการใช้ก๊าซที่เกี่ยวข้องกับข้อมูล

ปฏิเสธ:

  1. บทความนี้พิมพ์ซ้ําจาก [Web3Mario] ลิขสิทธิ์ทั้งหมดเป็นของผู้เขียนต้นฉบับ [Web3Mario] หากมีการคัดค้านการพิมพ์ซ้ํานี้ โปรดติดต่อทีม Gate Learn และพวกเขาจะจัดการทันที
  2. การปฏิเสธความรับผิด: มุมมองและความคิดเห็นที่แสดงในบทความนี้เป็นของผู้เขียนเท่านั้นและไม่ถือเป็นคําแนะนําในการลงทุนใดๆ
  3. การแปลบทความเป็นภาษาอื่นดําเนินการโดยทีม Gate Learn ห้ามคัดลอก แจกจ่าย หรือลอกเลียนแบบบทความที่แปลเว้นแต่จะกล่าวถึง

คําอธิบายโดยละเอียดของ EIP-7706 และกลไกก๊าซ Ethereum ล่าสุด

กลางJun 05, 2024
บทความนี้ให้คําอธิบายโดยละเอียดเกี่ยวกับหลักการและรายละเอียดการใช้งานของ EIP-7706 ข้อเสนอนี้ใช้กลไกการกําหนดราคาก๊าซ Blob จาก EIP-4844 เพื่อลดต้นทุนการดําเนินงานของเลเยอร์ 2 (L2) ช่วยให้ผู้อ่านเข้าใจการพัฒนาล่าสุดในกลไก Ethereum Gas ได้อย่างรวดเร็ว
คําอธิบายโดยละเอียดของ EIP-7706 และกลไกก๊าซ Ethereum ล่าสุด

แนะ นำ

เมื่อวันที่ 13 พฤษภาคม พ.ศ. 2024 Vitalik ได้เสนอ EIP-7706 โดยแนะนําแผนเสริมสําหรับแบบจําลองก๊าซที่มีอยู่ ข้อเสนอนี้แยกการคํานวณก๊าซของ calldata และปรับแต่งกลไกการกําหนดราคาค่าธรรมเนียมพื้นฐานที่คล้ายกับก๊าซ Blob ซึ่งช่วยลดต้นทุนการดําเนินงานของเลเยอร์ 2 (L2) ข้อเสนอที่เกี่ยวข้องมีอายุย้อนไปถึง EIP-4844 ซึ่งเสนอในเดือนกุมภาพันธ์ พ.ศ. 2022 บทความนี้จึงทบทวนเนื้อหาที่เกี่ยวข้องเพื่อให้ภาพรวมของการพัฒนาล่าสุดในกลไก Ethereum Gas ทําให้ผู้อ่านเข้าใจการอัปเดตได้อย่างรวดเร็ว

รุ่นก๊าซ Ethereum ที่รองรับในปัจจุบัน: EIP-1559 และ EIP-4844

ในการออกแบบเบื้องต้น Ethereum ได้นํากลไกการประมูลที่เรียบง่ายมาใช้เพื่อกําหนดราคาค่าธรรมเนียมการทําธุรกรรม โดยกําหนดให้ผู้ใช้เสนอราคาสําหรับธุรกรรมของตนอย่างแข็งขันโดยกําหนดราคาก๊าซ โดยทั่วไป เนื่องจากค่าธรรมเนียมการทําธุรกรรมที่ผู้ใช้จ่ายให้กับนักขุด นักขุดจึงจัดลําดับความสําคัญของธุรกรรมตามราคาเสนอสูงสุด โดยสมมติว่าไม่มีการพิจารณามูลค่าที่สกัดได้ นักพัฒนาหลักระบุปัญหาหลักสี่ประการของกลไกนี้:

ความไม่ตรงกันระหว่างความผันผวนของค่าธรรมเนียมการทําธุรกรรมและต้นทุนฉันทามติ: สําหรับบล็อกเชนที่ใช้งานอยู่มีความต้องการเพียงพอสําหรับการรวมธุรกรรมซึ่งหมายความว่าสามารถเติมบล็อกได้อย่างง่ายดาย อย่างไรก็ตามสิ่งนี้ยังส่งผลให้เกิดความผันผวนของค่าธรรมเนียมอย่างมีนัยสําคัญ ตัวอย่างเช่น เมื่อราคาก๊าซเฉลี่ยอยู่ที่ 10 Gwei ต้นทุนส่วนเพิ่มในการเพิ่มธุรกรรมอื่นลงในบล็อกจะสูงกว่าเมื่อราคาก๊าซเฉลี่ยอยู่ที่ 1 Gwei ถึงสิบเท่า ซึ่งเป็นที่ยอมรับไม่ได้

ความล่าช้าที่ไม่จําเป็นสําหรับผู้ใช้: เนื่องจากขีด จํากัด ของก๊าซแข็งต่อบล็อกและความผันผวนตามธรรมชาติของปริมาณธุรกรรมในอดีตธุรกรรมมักจะรอหลายบล็อกเพื่อรวมเข้าด้วยกัน สิ่งนี้ไม่มีประสิทธิภาพสําหรับเครือข่ายโดยรวม เนื่องจากไม่มีกลไกความยืดหยุ่นในการอนุญาตให้บล็อกหนึ่งมีขนาดใหญ่ขึ้นและบล็อกถัดไปมีขนาดเล็กลงเพื่อตอบสนองความต้องการแบบบล็อกต่อบล็อกที่แตกต่างกัน

ความไร้ประสิทธิภาพในการกําหนดราคา: กลไกการประมูลที่เรียบง่ายนําไปสู่การค้นพบราคาที่ไม่มีประสิทธิภาพทําให้ผู้ใช้กําหนดราคาที่เหมาะสมได้ยาก ซึ่งมักส่งผลให้ผู้ใช้จ่ายค่าธรรมเนียมการทําธุรกรรมมากเกินไป

ความไม่เสถียรในบล็อคเชนที่ไม่มีรางวัลบล็อก: เมื่อรางวัลบล็อกจากการขุดถูกลบออกและใช้รูปแบบค่าธรรมเนียมล้วนๆ อาจนําไปสู่ความไม่เสถียร เช่น การสร้าง "บล็อกลุง" ที่ขโมยค่าธรรมเนียมการทําธุรกรรม

ด้วยการแนะนําและการใช้งาน EIP-1559 แบบจําลองก๊าซได้รับการทําซ้ําที่สําคัญเป็นครั้งแรก เสนอโดย Vitalik และนักพัฒนาหลักรายอื่นเมื่อวันที่ 13 เมษายน 2019 และนํามาใช้ระหว่างการอัปเกรดในลอนดอนเมื่อวันที่ 5 สิงหาคม พ.ศ. 2021 กลไกนี้ละทิ้งรูปแบบการประมูลเพื่อสนับสนุนรูปแบบการกําหนดราคาแบบคู่ซึ่งประกอบด้วยค่าธรรมเนียมพื้นฐานและค่าธรรมเนียมลําดับความสําคัญ ค่าธรรมเนียมพื้นฐานจะถูกปรับเชิงปริมาณผ่านแบบจําลองทางคณิตศาสตร์ที่กําหนดไว้ล่วงหน้าตามปริมาณการใช้ก๊าซในบล็อกหลักที่สัมพันธ์กับเป้าหมายก๊าซแบบลอยตัวและแบบเรียกซ้ํา

การคํานวณค่าธรรมเนียมพื้นฐานและผลกระทบ: หากการใช้ก๊าซในบล็อกก่อนหน้าเกินเป้าหมายก๊าซค่าธรรมเนียมพื้นฐานจะเพิ่มขึ้น หากต่ํากว่าเป้าหมายก๊าซค่าธรรมเนียมพื้นฐานจะลดลง การปรับนี้สะท้อนให้เห็นถึงการเปลี่ยนแปลงของอุปสงค์และอุปทานได้ดีและปรับปรุงความแม่นยําของการคาดการณ์ก๊าซที่เหมาะสมหลีกเลี่ยงราคาก๊าซที่สูงเกินไปเนื่องจากการทํางานผิดพลาดเนื่องจากการคํานวณค่าธรรมเนียมพื้นฐานถูกกําหนดโดยระบบมากกว่าที่ผู้ใช้ระบุ รหัสเฉพาะสําหรับการคํานวณมีดังนี้:

จากเนื้อหา เราสามารถอนุมานได้ว่าเมื่อ parent_gas_used มากกว่า parent_gas_target ค่าธรรมเนียมพื้นฐานของบล็อกปัจจุบันจะเพิ่มขึ้นเมื่อเทียบกับค่าธรรมเนียมพื้นฐานของบล็อกก่อนหน้าด้วยค่าออฟเซ็ต ออฟเซ็ตนี้ถูกกําหนดโดยการคูณ parent_base_fee ด้วยการเบี่ยงเบนของการใช้ก๊าซทั้งหมดจากเป้าหมายก๊าซในบล็อกก่อนหน้าจากนั้นนําส่วนที่เหลือของเป้าหมายก๊าซและค่าคงที่และค่าสูงสุดระหว่างส่วนที่เหลือนี้กับ 1 ในทางกลับกันตรรกะจะใช้ในทํานองเดียวกันเมื่อ parent_gas_used น้อยกว่า parent_gas_target

นอกจากนี้ ค่าธรรมเนียมพื้นฐานจะไม่ถูกแจกจ่ายเป็นรางวัลให้กับนักขุดอีกต่อไป แต่จะถูกเผาแทน สิ่งนี้ทําให้แบบจําลองทางเศรษฐกิจของ ETH เกิดภาวะเงินฝืด ช่วยรักษาเสถียรภาพของมูลค่า ในทางกลับกัน ค่าธรรมเนียมลําดับความสําคัญ ซึ่งคล้ายกับทิปจากผู้ใช้ถึงนักขุด สามารถกําหนดราคาได้อย่างอิสระ ซึ่งช่วยให้สามารถนํากลับมาใช้ใหม่ได้ในระดับหนึ่งในอัลกอริธึมการเรียงลําดับของนักขุด

ภายในปี 2021 การพัฒนา Rollup ได้เข้าสู่ขั้นตอนที่เป็นผู้ใหญ่ เราทราบดีว่าทั้ง OP Rollup และ ZK Rollup เกี่ยวข้องกับการบีบอัดข้อมูล L2 และอัปโหลดข้อมูลหลักฐานบางอย่างผ่าน calldata ไปยังห่วงโซ่สําหรับความพร้อมใช้งานของข้อมูลหรือการตรวจสอบบนเครือข่ายโดยตรง สิ่งนี้นําไปสู่ต้นทุนก๊าซที่สําคัญในการรักษาขั้นสุดท้ายของ L2 ซึ่งผู้ใช้เป็นผู้รับผิดชอบในท้ายที่สุดส่งผลให้ต้นทุนสูงกว่าที่คาดไว้สําหรับโปรโตคอล L2 ส่วนใหญ่

ในขณะเดียวกัน Ethereum ก็เผชิญกับความท้าทายของการแข่งขันบล็อกสเปซ แต่ละบล็อกมีขีดจํากัดก๊าซ ซึ่งหมายความว่าปริมาณการใช้ก๊าซทั้งหมดของธุรกรรมทั้งหมดในบล็อกต้องไม่เกินขีดจํากัดนี้ ด้วยขีดจํากัดก๊าซปัจจุบันที่ตั้งไว้ที่ 30,000,000 ในทางทฤษฎี มีขีดจํากัดที่ 1,875,000 ไบต์ (30,000,000 / 16) ต่อบล็อก โดยที่จําเป็นต้องใช้ก๊าซ 16 หน่วยสําหรับแต่ละไบต์ข้อมูลการโทรที่ประมวลผลโดย EVM ส่งผลให้มีความจุข้อมูลสูงสุดประมาณ 1.79 MB ต่อบล็อก ข้อมูลที่เกี่ยวข้องกับ Rollup ที่สร้างโดยซีเควนเซอร์ L2 มักมีขนาดใหญ่ ทําให้เกิดการแข่งขันกับธุรกรรมของผู้ใช้ mainnet รายอื่น และลดจํานวนธุรกรรมที่สามารถรวมอยู่ในบล็อกเดียว ซึ่งจะส่งผลต่อ TPS ของ mainnet

เพื่อแก้ไขปัญหานี้ นักพัฒนาหลักได้เสนอ EIP-4844 เมื่อวันที่ 5 กุมภาพันธ์ พ.ศ. 2022 ซึ่งดําเนินการหลังจากการอัปเกรด Dencun ในต้นไตรมาสที่ 2 ปี พ.ศ. 2024 ข้อเสนอนี้แนะนําประเภทธุรกรรมใหม่ที่เรียกว่า Blob Transaction ซึ่งแตกต่างจากธุรกรรมแบบดั้งเดิม Blob Transaction มีประเภทข้อมูลใหม่ Blob data ซึ่งแตกต่างจาก calldata ตรงที่ EVM ไม่สามารถเข้าถึงได้โดยตรง แต่ผ่านแฮชหรือที่เรียกว่า VersionedHash เท่านั้น นอกจากนี้ Blob Transactions ยังมีวงจร GC ที่สั้นกว่าเมื่อเทียบกับธุรกรรมปกติ เพื่อป้องกันไม่ให้ข้อมูลบล็อกป่องเกินไป ข้อมูล Blob ยังมาพร้อมกับกลไกก๊าซโดยธรรมชาติ คล้ายกับ EIP-1559 แต่ใช้ฟังก์ชันเลขชี้กําลังตามธรรมชาติในแบบจําลองทางคณิตศาสตร์ ซึ่งให้ความเสถียรที่ดีขึ้นในการจัดการความผันผวนของขนาดธุรกรรม ความชันของฟังก์ชันเลขชี้กําลังตามธรรมชาติยังเป็นฟังก์ชันเลขชี้กําลังตามธรรมชาติซึ่งหมายความว่าโดยไม่คํานึงถึงสถานะปัจจุบันของขนาดธุรกรรมเครือข่ายค่าธรรมเนียมพื้นฐานของก๊าซหยดจะตอบสนองอย่างเต็มที่มากขึ้นต่อการเพิ่มขึ้นของธุรกรรมอย่างรวดเร็วควบคุมกิจกรรมการทําธุรกรรมได้อย่างมีประสิทธิภาพ คุณสมบัติที่สําคัญอีกประการหนึ่งคือค่าฟังก์ชันคือ 1 เมื่อแกนนอนเป็น 0

base_fee_per_blob_gas = MIN_BASE_FEE_PER_BLOB_GAS e*(excess_blob_gas / BLOB_BASE_FEE_UPDATE_FRACTION)

ที่นี่ MIN_BASE_FEE_PER_BLOB_GAS และ BLOB_BASE_FEE_UPDATE_FRACTION เป็นค่าคงที่ ในขณะที่ excess_blob_gas ถูกกําหนดโดยความแตกต่างระหว่างปริมาณการใช้ก๊าซหยดทั้งหมดในบล็อกหลักและ TARGET_BLOB_GAS_PER_BLOCK คงที่ เมื่อปริมาณการใช้ก๊าซหยดทั้งหมดเกินค่าเป้าหมายทําให้ความแตกต่างเป็นบวก e**(excess_blob_gas / BLOB_BASE_FEE_UPDATE_FRACTION) มากกว่า 1 ทําให้ base_fee_per_blob_gas เพิ่มขึ้นและในทางกลับกัน

กลไกนี้ช่วยให้สามารถดําเนินการตามสถานการณ์ที่มีต้นทุนต่ําซึ่งใช้ความสามารถฉันทามติของ Ethereum เพื่อรับรองปริมาณข้อมูลขนาดใหญ่เพื่อให้แน่ใจว่ามีความพร้อมใช้งานโดยไม่ต้องใช้ความสามารถในการบรรจุธุรกรรม ตัวอย่างเช่น ซีเควนเซอร์แบบสะสมสามารถใช้ธุรกรรม Blob เพื่อห่อหุ้มข้อมูล L2 ที่สําคัญลงในข้อมูล Blob และบรรลุการตรวจสอบแบบ on-chain ผ่าน VersionedHash ภายใน EVM

ควรสังเกตว่าการตั้งค่าปัจจุบันสําหรับ TARGET_BLOB_GAS_PER_BLOCK และ MAX_BLOB_GAS_PER_BLOCK กําหนดข้อ จํากัด ใน mainnet โดยมีเป้าหมายเฉลี่ยในการประมวลผล 3 blobs (0.375 MB) ต่อบล็อกและสูงสุด 6 blobs (0.75 MB) ต่อบล็อก ขีดจํากัดเริ่มต้นเหล่านี้มีจุดมุ่งหมายเพื่อลดความเครียดของเครือข่ายที่เกิดจาก EIP นี้ โดยคาดว่าจะเพิ่มขีดจํากัดเหล่านี้ในการอัปเกรดในอนาคต เนื่องจากเครือข่ายแสดงให้เห็นถึงความน่าเชื่อถือภายใต้ขนาดบล็อกที่ใหญ่ขึ้น

การปรับแต่งแบบจําลองการใช้ก๊าซสําหรับสภาพแวดล้อมการดําเนินการ: EIP-7706

หลังจากทําความเข้าใจโมเดล Ethereum Gas ปัจจุบันแล้ว เรามาเจาะลึกเป้าหมายและรายละเอียดการดําเนินการของข้อเสนอ EIP-7706 ข้อเสนอนี้นําเสนอโดย Vitalik เมื่อวันที่ 13 พฤษภาคม 2024 มีจุดมุ่งหมายเพื่อกําหนดแบบจําลอง Gas ใหม่สําหรับฟิลด์ข้อมูลเฉพาะที่เรียกว่า calldata เหมือนกับการเปลี่ยนแปลงก่อนหน้านี้สําหรับข้อมูล Blob นอกจากนี้ ข้อเสนอยังปรับตรรกะโค้ดที่เกี่ยวข้องให้เหมาะสม

แนวคิดพื้นฐาน

ตรรกะการคํานวณค่าธรรมเนียมพื้นฐานสําหรับ calldata ใน EIP-7706 สะท้อนการคํานวณค่าธรรมเนียมพื้นฐานสําหรับข้อมูล blob ตามที่ระบุไว้ใน EIP-4844 ทั้งสองใช้ฟังก์ชันเลขชี้กําลังเพื่อปรับค่าธรรมเนียมพื้นฐานตามความเบี่ยงเบนระหว่างปริมาณการใช้ก๊าซจริงและค่าเป้าหมายในบล็อกหลัก

แง่มุมที่น่าสังเกตของข้อเสนอนี้คือการแนะนําการออกแบบพารามิเตอร์ใหม่ LIMIT_TARGET_RATIOS = [2, 2, 4] นี่คือรายละเอียด:

LIMIT_TARGET_RATIOS[0]: อัตราส่วนเป้าหมายสําหรับก๊าซการดําเนินการ

LIMIT_TARGET_RATIOS[1]: อัตราส่วนเป้าหมายสําหรับก๊าซข้อมูล Blob

LIMIT_TARGET_RATIOS[2]: อัตราส่วนเป้าหมายสําหรับก๊าซคอลดาต้า

อัตราส่วนเหล่านี้ใช้ในการคํานวณค่าเป้าหมายก๊าซสําหรับก๊าซสามประเภทในบล็อกหลักโดยการหารขีดจํากัดก๊าซด้วยอัตราส่วนที่เกี่ยวข้อง

ขีด จํากัด ก๊าซถูกกําหนดดังนี้:

  • gas_limits[0] ทําตามสูตรการปรับที่มีอยู่

  • gas_limits[1] เท่ากับ MAX_BLOB_GAS_PER_BLOCK.

  • gas_limits[2] เท่ากับ gas_limits[0] / CALLDATA_GAS_LIMIT_RATIO.

กําหนดกระแส gas_limits[0] คือ 30,000,000 และ CALLDATA_GAS_LIMIT_RATIO ตั้งค่าไว้ล่วงหน้าเป็น 4 ซึ่งหมายความว่าเป้าหมายก๊าซปัจจุบัน calldata อยู่ที่ประมาณ

[ \frac{30,000,000}{4 \คูณ 4} = 1,875,000 ]

ตามตรรกะการคํานวณก๊าซในปัจจุบัน calldata :

  • แต่ละไบต์ที่ไม่ใช่ศูนย์ใช้ 16 ก๊าซ

  • แต่ละศูนย์ไบต์ใช้ 4 ก๊าซ

สมมติว่ามีการกระจายที่สม่ําเสมอของไบต์ที่ไม่ใช่ศูนย์และศูนย์ในส่วนของ calldataปริมาณการใช้ก๊าซเฉลี่ยต่อไบต์คือ 10 ก๊าซ ดังนั้นเป้าหมายก๊าซในปัจจุบัน calldata จึงสอดคล้องกับประมาณ 187,500 ไบต์ calldataของ ซึ่งเป็นประมาณสองเท่าของการใช้งานเฉลี่ยในปัจจุบัน

ประโยชน์ของข้อเสนอ

การปรับนี้ช่วยลดโอกาสในการ calldata ถึงขีด จํากัด ก๊าซอย่างมีนัยสําคัญรักษา calldata การใช้งานในระดับที่สอดคล้องกันผ่านการสร้างแบบจําลองทางเศรษฐกิจและป้องกันการละเมิด จุดประสงค์หลักของการออกแบบนี้คือเพื่ออํานวยความสะดวกในการเติบโตของโซลูชันเลเยอร์ 2 ลดต้นทุนซีเควนเซอร์เมื่อใช้ควบคู่ไปกับข้อมูลหยด

โดยสรุป EIP-7706 ไม่เพียงแต่ปรับแต่งโมเดล Gas เท่านั้น calldata แต่ยังวางตําแหน่งเชิงกลยุทธ์ Ethereum สําหรับการปรับขนาดโซลูชันเลเยอร์ 2 อย่างมีประสิทธิภาพโดยการควบคุมและเพิ่มประสิทธิภาพการใช้ก๊าซที่เกี่ยวข้องกับข้อมูล

ปฏิเสธ:

  1. บทความนี้พิมพ์ซ้ําจาก [Web3Mario] ลิขสิทธิ์ทั้งหมดเป็นของผู้เขียนต้นฉบับ [Web3Mario] หากมีการคัดค้านการพิมพ์ซ้ํานี้ โปรดติดต่อทีม Gate Learn และพวกเขาจะจัดการทันที
  2. การปฏิเสธความรับผิด: มุมมองและความคิดเห็นที่แสดงในบทความนี้เป็นของผู้เขียนเท่านั้นและไม่ถือเป็นคําแนะนําในการลงทุนใดๆ
  3. การแปลบทความเป็นภาษาอื่นดําเนินการโดยทีม Gate Learn ห้ามคัดลอก แจกจ่าย หรือลอกเลียนแบบบทความที่แปลเว้นแต่จะกล่าวถึง
เริ่มตอนนี้
สมัครและรับรางวัล
$100