EIP-7706 และกลไก Gas ล่าสุดของ Ethereum

กลาง5/24/2024, 6:12:02 AM
ข้อเสนอ EIP-7706 มีจุดมุ่งหมายเพื่อลดต้นทุนการดําเนินงานของ Ethereum L2 เปลี่ยนรูปแบบทางเศรษฐกิจและแนะนํารูปแบบการกําหนดราคาคู่ของค่าธรรมเนียมพื้นฐานและค่าธรรมเนียมลําดับความสําคัญ EIP-4844 เสนอ Blob Transaction เพื่อรักษาเสถียรภาพของค่าธรรมเนียมการทําธุรกรรมและจะดําเนินการในปี 2024 แบบจําลองก๊าซใน Ethereum จะเพิ่มข้อ จํากัด เมื่อเครือข่ายพัฒนาขึ้นเช่นการใช้ข้อมูลการโทร สิ่งนี้ช่วยในการพัฒนา L2 และลดต้นทุนซีเควนเซอร์ บทความนี้จะแนะนํากลไกค่าธรรมเนียมก๊าซ Ethereum ล่าสุด

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

รุ่น Gas ของ Ethereum ที่รองรับในปัจจุบัน - EIP-1559 และ EIP-4844

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

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

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

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

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

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

สามารถสรุปได้ว่าเมื่อ parent_gas_used มีค่ามากกว่า parent_gas_target ค่าธรรมเนียมขั้นต้นของบล็อกปัจจุบันจะถูกเปรียบเทียบกับค่าธรรมเนียมขั้นต่ำของบล็อกก่อนหน้าพร้อมกับค่า offset ในค่า offset จะถูกคำนวณโดยการคูณ parent_base_fee ด้วย offset ของการใช้ gas ทั้งหมดของบล็อกก่อนหน้าเทียบกับ gas target และนำมอดูลัสกับ gas target และค่าคงที่ จากนั้นเลือกค่าสูงสุดของผลลัพธ์และ 1 โลจิกนี้เหมือนกันในทางตรงกันข้าม

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

เมื่อเวลาผ่านไปสู่ปี 2021 การพัฒนา Rollups ได้เข้าถึงจุดสูงสุด gradually โดยเราทราบว่าไม่ว่าจะเป็น OP Rollups หรือ ZK Rollups มันแสดงถึงความต้องการที่จะอัปโหลดข้อมูลพิสูจน์บางอย่างของข้อมูล L2 ที่บีบอัดไปยังเชนผ่าน calldata เพื่อบรรจุความสามารถในการใช้ข้อมูล on-chain หรือจะถูกตรวจสอบโดยตรง on-chain นี้ทำให้มีค่าใช้จ่ายในด้านแก๊สที่สำคัญในการรักษาความสมบูรณ์ของ L2 ซึ่งในที่สุดก็ถูกส่งต่อไปยังผู้ใช้ ดังนั้น ค่าใช้จ่ายในการใช้โปรโตคอล L2 ส่วนใหญ่ไม่ได้ต่ำเหมือนที่คาดการณ์ในเวลานั้น

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

เพื่อแก้ไขภาวะที่กลืนไม่เข้าคายไม่ออกนี้นักพัฒนาหลักได้เสนอ EIP-4844 เมื่อวันที่ 5 กุมภาพันธ์ 2022 ซึ่งดําเนินการหลังจากการอัพเกรด Dencun ในไตรมาสที่สองของปี 2024 ข้อเสนอนี้แนะนําประเภทธุรกรรมใหม่ที่เรียกว่า Blob Transaction ในทางตรงกันข้ามกับประเภทธุรกรรมแบบดั้งเดิมแนวคิดหลักของธุรกรรม Blob เสริมประเภทข้อมูลใหม่คือข้อมูล Blob ซึ่งแตกต่างจากประเภท calldata ข้อมูล blob ไม่สามารถเข้าถึงได้โดยตรงโดย EVM แต่สามารถเข้าถึงแฮชหรือที่เรียกว่า VersionedHash เท่านั้น นอกจากนี้ยังมีการแนะนําการออกแบบประกอบสองแบบ ประการแรกเมื่อเทียบกับธุรกรรมปกติวงจร GC ของธุรกรรม blob นั้นสั้นกว่าทําให้มั่นใจได้ว่าข้อมูลบล็อกจะไม่ป่องเกินไป ประการที่สองข้อมูล blob มีกลไกก๊าซดั้งเดิม โดยรวมแล้วผลกระทบที่นําเสนอนั้นคล้ายกับ EIP-1559 แต่แบบจําลองทางคณิตศาสตร์เลือกฟังก์ชันเลขชี้กําลังตามธรรมชาติซึ่งทํางานได้ดีกว่าในเสถียรภาพเมื่อจัดการกับความผันผวนของปริมาณธุรกรรม นี่เป็นเพราะความชันของฟังก์ชันเลขชี้กําลังตามธรรมชาติยังเป็นฟังก์ชันเลขชี้กําลังตามธรรมชาติซึ่งหมายความว่าโดยไม่คํานึงถึงสถานะของปริมาณธุรกรรมของเครือข่ายเมื่อปริมาณธุรกรรมเพิ่มขึ้นอย่างรวดเร็วค่าธรรมเนียมพื้นฐานของก๊าซบล็อบสะท้อนให้เห็นถึงการควบคุมกิจกรรมการทําธุรกรรมอย่างเต็มที่และมีประสิทธิภาพมากขึ้น นอกจากนี้ ฟังก์ชันนี้มีลักษณะสําคัญที่ค่าฟังก์ชันคือ 1 เมื่อ abscissa เป็น 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 จะถูกกำหนดโดยความแตกต่างระหว่างการใช้งาน blob gas รวมในบล็อกหลักและค่าคงที่ TARGET_BLOB_GAS_PER_BLOCK เมื่อการใช้งาน blob gas รวมเกินค่าเป้าหมายค่าคงที่ นั่นคือ ความแตกต่างเป็นบวก ค่า e**(excess_blob_gas / BLOB_BASE_FEE_UPDATE_FRACTION) มากกว่า 1 และ base_fee_per_blob_gas เพิ่มขึ้น มิฉะนั้นจะลดลง

นี่ช่วยให้สามารถดำเนินการในราคาที่ต่ำในสถานการณ์ที่ต้องการเฉพาะความสามารถในการเชื่อมั่นของ Ethereum เพื่อเก็บข้อมูลในมาตราส่วนใหญ่เพื่อให้มั่นใจว่าข้อมูลจะพร้อมใช้งาน โดยไม่ทำให้ความจุการบรรจุธุรกรรมของบล็อกของเรียกใช้เฉพาะไป โดยใช้ตัวอย่างเซควอนเซอร์ Rollup ข้อมูลสำคัญของ L2 สามารถถูกห่อหุ้มเข้าไปในข้อมูลบล็อบผ่านธุรกรรมของข้อมูลบล็อบ และตรรกกระบวนการตรวจสอบบนเชือกสายสามารถนำมาใช้ใน EVM ผ่านการออกแบบที่ซับซ้อนโดยใช้ versionedHash

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

การปรับปรุงโมเดลการใช้ Gas สำหรับ Execution Environment - EIP-7706

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

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

ควรทราบถึงการออกแบบพารามิเตอร์ใหม่ LIMIT_TARGET_RATIOS=[2,2,4], ที่ LIMIT_TARGET_RATIOS[0] แทนสัดส่วนเป้าหมายของ Gas สำหรับการดำเนินการดำเนินการ, LIMIT_TARGET_RATIOS[1] แทนสัดส่วนเป้าหมายของ Gas สำหรับข้อมูล Blob, และ LIMIT_TARGET_RATIOS[2] แทนสัดส่วนเป้าหมายของ Gas สำหรับ calldata โดยใช้เวกเตอร์นี้ในการคำนวณค่าเป้าหมายของ gas สำหรับสามประเภทของ gas ในบล็อกหลัก โดยใช้ LIMIT_TARGET_RATIOS สำหรับการหารเลขจำนวนเต็มในขีด จำกัด gas ดังนี้:

ตรรกะการตั้งค่าสำหรับ gas_limits คือดังนี้:

gas_limits[0] จะต้องปฏิบัติตามสูตรการปรับปรุงที่มีอยู่

ข้อ จำกัด ของ ก๊าส [1] ต้อง เท่ากับ MAX_BLOB_GAS_PER_BLOCK.

gas_limits[2] ต้องเท่ากับ gas_limits[0] // CALLDATA_GAS_LIMIT_RATIO.

เรารู้ว่า gas_limits[0] ปัจจุบันคือ 30000000 และ CALLDATA_GAS_LIMIT_RATIO ถูกตั้งค่าล่วงหน้าเป็น 4 ซึ่งหมายความว่าเป้าหมาย gas calldata ปัจจุบันคือ ประมาณ 30000000 // 4 // 4 = 1875000 โดยเนื่องจากตามตรรกะการคำนวณ gas calldata ปัจจุบัน แต่ละ byte ที่ไม่เท่ากับศูนย์ ใช้ gas 16 หน่วยและ byte ที่เท่ากับศูนย์ ใช้ gas 4 หน่วย โดยสมมติว่าการกระจาย byte ที่ไม่เท่ากับศูนย์และเท่ากับศูนย์ในส่วนหนึ่งของ calldata คือ 50% ค่าเฉลี่ยของการประมวลผล 1 byte ของ calldata จำเป็นใช้ gas 10 หน่วย ดังนั้น เป้าหมาย gas calldata ปัจจุบันควรสอดคล้องกับข้อมูล calldata ขนาด 187500 bytes โดยประมาณเป็นสองเท่าของการใช้งานเฉลี่ยปัจจุบัน

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

ข้อความปฏิเสธความรับผิดชอบ:

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

EIP-7706 และกลไก Gas ล่าสุดของ Ethereum

กลาง5/24/2024, 6:12:02 AM
ข้อเสนอ EIP-7706 มีจุดมุ่งหมายเพื่อลดต้นทุนการดําเนินงานของ Ethereum L2 เปลี่ยนรูปแบบทางเศรษฐกิจและแนะนํารูปแบบการกําหนดราคาคู่ของค่าธรรมเนียมพื้นฐานและค่าธรรมเนียมลําดับความสําคัญ EIP-4844 เสนอ Blob Transaction เพื่อรักษาเสถียรภาพของค่าธรรมเนียมการทําธุรกรรมและจะดําเนินการในปี 2024 แบบจําลองก๊าซใน Ethereum จะเพิ่มข้อ จํากัด เมื่อเครือข่ายพัฒนาขึ้นเช่นการใช้ข้อมูลการโทร สิ่งนี้ช่วยในการพัฒนา L2 และลดต้นทุนซีเควนเซอร์ บทความนี้จะแนะนํากลไกค่าธรรมเนียมก๊าซ Ethereum ล่าสุด

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

รุ่น Gas ของ Ethereum ที่รองรับในปัจจุบัน - EIP-1559 และ EIP-4844

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

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

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

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

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

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

สามารถสรุปได้ว่าเมื่อ parent_gas_used มีค่ามากกว่า parent_gas_target ค่าธรรมเนียมขั้นต้นของบล็อกปัจจุบันจะถูกเปรียบเทียบกับค่าธรรมเนียมขั้นต่ำของบล็อกก่อนหน้าพร้อมกับค่า offset ในค่า offset จะถูกคำนวณโดยการคูณ parent_base_fee ด้วย offset ของการใช้ gas ทั้งหมดของบล็อกก่อนหน้าเทียบกับ gas target และนำมอดูลัสกับ gas target และค่าคงที่ จากนั้นเลือกค่าสูงสุดของผลลัพธ์และ 1 โลจิกนี้เหมือนกันในทางตรงกันข้าม

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

เมื่อเวลาผ่านไปสู่ปี 2021 การพัฒนา Rollups ได้เข้าถึงจุดสูงสุด gradually โดยเราทราบว่าไม่ว่าจะเป็น OP Rollups หรือ ZK Rollups มันแสดงถึงความต้องการที่จะอัปโหลดข้อมูลพิสูจน์บางอย่างของข้อมูล L2 ที่บีบอัดไปยังเชนผ่าน calldata เพื่อบรรจุความสามารถในการใช้ข้อมูล on-chain หรือจะถูกตรวจสอบโดยตรง on-chain นี้ทำให้มีค่าใช้จ่ายในด้านแก๊สที่สำคัญในการรักษาความสมบูรณ์ของ L2 ซึ่งในที่สุดก็ถูกส่งต่อไปยังผู้ใช้ ดังนั้น ค่าใช้จ่ายในการใช้โปรโตคอล L2 ส่วนใหญ่ไม่ได้ต่ำเหมือนที่คาดการณ์ในเวลานั้น

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

เพื่อแก้ไขภาวะที่กลืนไม่เข้าคายไม่ออกนี้นักพัฒนาหลักได้เสนอ EIP-4844 เมื่อวันที่ 5 กุมภาพันธ์ 2022 ซึ่งดําเนินการหลังจากการอัพเกรด Dencun ในไตรมาสที่สองของปี 2024 ข้อเสนอนี้แนะนําประเภทธุรกรรมใหม่ที่เรียกว่า Blob Transaction ในทางตรงกันข้ามกับประเภทธุรกรรมแบบดั้งเดิมแนวคิดหลักของธุรกรรม Blob เสริมประเภทข้อมูลใหม่คือข้อมูล Blob ซึ่งแตกต่างจากประเภท calldata ข้อมูล blob ไม่สามารถเข้าถึงได้โดยตรงโดย EVM แต่สามารถเข้าถึงแฮชหรือที่เรียกว่า VersionedHash เท่านั้น นอกจากนี้ยังมีการแนะนําการออกแบบประกอบสองแบบ ประการแรกเมื่อเทียบกับธุรกรรมปกติวงจร GC ของธุรกรรม blob นั้นสั้นกว่าทําให้มั่นใจได้ว่าข้อมูลบล็อกจะไม่ป่องเกินไป ประการที่สองข้อมูล blob มีกลไกก๊าซดั้งเดิม โดยรวมแล้วผลกระทบที่นําเสนอนั้นคล้ายกับ EIP-1559 แต่แบบจําลองทางคณิตศาสตร์เลือกฟังก์ชันเลขชี้กําลังตามธรรมชาติซึ่งทํางานได้ดีกว่าในเสถียรภาพเมื่อจัดการกับความผันผวนของปริมาณธุรกรรม นี่เป็นเพราะความชันของฟังก์ชันเลขชี้กําลังตามธรรมชาติยังเป็นฟังก์ชันเลขชี้กําลังตามธรรมชาติซึ่งหมายความว่าโดยไม่คํานึงถึงสถานะของปริมาณธุรกรรมของเครือข่ายเมื่อปริมาณธุรกรรมเพิ่มขึ้นอย่างรวดเร็วค่าธรรมเนียมพื้นฐานของก๊าซบล็อบสะท้อนให้เห็นถึงการควบคุมกิจกรรมการทําธุรกรรมอย่างเต็มที่และมีประสิทธิภาพมากขึ้น นอกจากนี้ ฟังก์ชันนี้มีลักษณะสําคัญที่ค่าฟังก์ชันคือ 1 เมื่อ abscissa เป็น 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 จะถูกกำหนดโดยความแตกต่างระหว่างการใช้งาน blob gas รวมในบล็อกหลักและค่าคงที่ TARGET_BLOB_GAS_PER_BLOCK เมื่อการใช้งาน blob gas รวมเกินค่าเป้าหมายค่าคงที่ นั่นคือ ความแตกต่างเป็นบวก ค่า e**(excess_blob_gas / BLOB_BASE_FEE_UPDATE_FRACTION) มากกว่า 1 และ base_fee_per_blob_gas เพิ่มขึ้น มิฉะนั้นจะลดลง

นี่ช่วยให้สามารถดำเนินการในราคาที่ต่ำในสถานการณ์ที่ต้องการเฉพาะความสามารถในการเชื่อมั่นของ Ethereum เพื่อเก็บข้อมูลในมาตราส่วนใหญ่เพื่อให้มั่นใจว่าข้อมูลจะพร้อมใช้งาน โดยไม่ทำให้ความจุการบรรจุธุรกรรมของบล็อกของเรียกใช้เฉพาะไป โดยใช้ตัวอย่างเซควอนเซอร์ Rollup ข้อมูลสำคัญของ L2 สามารถถูกห่อหุ้มเข้าไปในข้อมูลบล็อบผ่านธุรกรรมของข้อมูลบล็อบ และตรรกกระบวนการตรวจสอบบนเชือกสายสามารถนำมาใช้ใน EVM ผ่านการออกแบบที่ซับซ้อนโดยใช้ versionedHash

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

การปรับปรุงโมเดลการใช้ Gas สำหรับ Execution Environment - EIP-7706

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

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

ควรทราบถึงการออกแบบพารามิเตอร์ใหม่ LIMIT_TARGET_RATIOS=[2,2,4], ที่ LIMIT_TARGET_RATIOS[0] แทนสัดส่วนเป้าหมายของ Gas สำหรับการดำเนินการดำเนินการ, LIMIT_TARGET_RATIOS[1] แทนสัดส่วนเป้าหมายของ Gas สำหรับข้อมูล Blob, และ LIMIT_TARGET_RATIOS[2] แทนสัดส่วนเป้าหมายของ Gas สำหรับ calldata โดยใช้เวกเตอร์นี้ในการคำนวณค่าเป้าหมายของ gas สำหรับสามประเภทของ gas ในบล็อกหลัก โดยใช้ LIMIT_TARGET_RATIOS สำหรับการหารเลขจำนวนเต็มในขีด จำกัด gas ดังนี้:

ตรรกะการตั้งค่าสำหรับ gas_limits คือดังนี้:

gas_limits[0] จะต้องปฏิบัติตามสูตรการปรับปรุงที่มีอยู่

ข้อ จำกัด ของ ก๊าส [1] ต้อง เท่ากับ MAX_BLOB_GAS_PER_BLOCK.

gas_limits[2] ต้องเท่ากับ gas_limits[0] // CALLDATA_GAS_LIMIT_RATIO.

เรารู้ว่า gas_limits[0] ปัจจุบันคือ 30000000 และ CALLDATA_GAS_LIMIT_RATIO ถูกตั้งค่าล่วงหน้าเป็น 4 ซึ่งหมายความว่าเป้าหมาย gas calldata ปัจจุบันคือ ประมาณ 30000000 // 4 // 4 = 1875000 โดยเนื่องจากตามตรรกะการคำนวณ gas calldata ปัจจุบัน แต่ละ byte ที่ไม่เท่ากับศูนย์ ใช้ gas 16 หน่วยและ byte ที่เท่ากับศูนย์ ใช้ gas 4 หน่วย โดยสมมติว่าการกระจาย byte ที่ไม่เท่ากับศูนย์และเท่ากับศูนย์ในส่วนหนึ่งของ calldata คือ 50% ค่าเฉลี่ยของการประมวลผล 1 byte ของ calldata จำเป็นใช้ gas 10 หน่วย ดังนั้น เป้าหมาย gas calldata ปัจจุบันควรสอดคล้องกับข้อมูล calldata ขนาด 187500 bytes โดยประมาณเป็นสองเท่าของการใช้งานเฉลี่ยปัจจุบัน

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

ข้อความปฏิเสธความรับผิดชอบ:

  1. บทความนี้ถูกพิมพ์อีกครั้งจาก [TechFlow]. ลิขสิทธิ์ทั้งหมดเป็นของผู้เขียนต้นฉบับ [Web3Mario]. หากมีคำปฏิเสธต่อการพิมพ์นี้ โปรดติดต่อ Gate Learnทีมของเรา และพวกเขาจะจัดการกับมันโดยเร็ว
  2. คำปฏิเสธความรับผิด: มุมมองและความคิดเห็นที่แสดงในบทความนี้เป็นเพียงของผู้เขียนเท่านั้น และไม่เป็นการให้คำแนะนำในการลงทุนใด ๆ
  3. การแปลบทความเป็นภาษาอื่น ๆ ทำโดยทีม Gate Learn หากไม่ได้กล่าวถึง การคัดลอก การแจกจ่าย หรือการลอกเลียนแบบบทความที่ถูกแปล นั้นถือเป็นการละเมิดกฎหมาย
Bắt đầu giao dịch
Đăng ký và giao dịch để nhận phần thưởng USDTEST trị giá
$100
$5500