﻿---
title: "ขีดจำกัด Gas ของบล็อก"
description: "คู่มือที่คำนึงถึง fork สำหรับขีดจำกัด Gas ของบล็อก Ethereum, เป้าหมาย EIP-1559, เพดาน Gas ต่อธุรกรรม, Gas ที่ใช้จริง, การคิดค่าธรรมเนียม, การประมาณ throughput และผลกระทบต่อทรัพยากรของโหนด"
image: "https://wiki.fcontext.com/og.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://wiki.fcontext.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ขีดจำกัด Gas ของบล็อก

> จัดทำขึ้นเพื่อการศึกษาเท่านั้น ไม่ใช่คำแนะนำการลงทุน การลงทุนอาจทำให้สูญเสียเงินลงทุนได้

<a id="answer"></a>

## คำตอบโดยตรง

ขีดจำกัด Gas ของบล็อกคือเพดาน Gas สำหรับการประมวลผลที่บันทึกในส่วนหัวบล็อก Ethereum ธุรกรรมที่บรรจุในบล็อกต้องเป็นไปตามกฎบัญชีของโปรโตคอล เพื่อให้ `gasUsed` รวมไม่เกิน `gasLimit` Gas เป็นหน่วยวัดเชิงนามธรรมซึ่งกฎของ opcode, calldata, หน่วยความจำ, storage และ refund เปลี่ยนไปตาม fork ไม่ใช่จำนวนคำสั่ง CPU, ไบต์ หรือธุรกรรมโดยตรง

หลัง Fusaka ค่าพื้นฐานที่ไคลเอนต์ mainnet Ethereum ประสานกันคือ `60,000,000 gas` ต่อบล็อก แต่ส่วนหัวจริงยังเป็นหลักฐานที่ชี้ขาด และความต้องการของ validator สามารถขยับขีดจำกัดทีละน้อยภายใต้กฎปัจจุบันที่อิงบล็อก parent เมื่อ EIP-1559 มีตัวคูณความยืดหยุ่น `2` เป้าหมายระยะยาวจึงเป็น `30,000,000 gas` บล็อกอาจใช้ได้ถึงเพดานชั่วคราว และ base fee ถัดไปจะสูงขึ้นเมื่อการใช้ของ parent เกินเป้าหมาย EIP-7825 แยกกำหนดเพดาน Gas ที่ธุรกรรมผู้ใช้ประกาศไว้ที่ `2^24 = 16,777,216 gas` ส่วน EIP-7934 กำหนดขีดจำกัดบล็อกประมวลผล RLP อิสระที่ `8,388,608 bytes` ค่าเหล่านี้เฉพาะ mainnet และเวลาที่สังเกต ไม่ใช่ค่าคงที่สากลของ EVM

<a id="mechanism"></a>

## วิธีการทำงาน

1. ระบุเชน เครือข่าย แฮชและหมายเลขบล็อก fork ที่ใช้งาน ไคลเอนต์หรือ RPC และเวลาที่สังเกต อ่าน `gasLimit`, `gasUsed` และ `baseFeePerGas` จากส่วนหัวบล็อก อย่าใช้ตารางพารามิเตอร์คงที่จากเว็บไซต์แทน
2. แยกขีดจำกัด Gas ของบล็อก เป้าหมาย Gas ของ EIP-1559 ขีดจำกัด Gas ที่ธุรกรรมประกาศ Gas ที่ธุรกรรมใช้จริง และราคาต่อ Gas รวมทั้งแยก Gas ประมวลผลออกจาก blob gas, จำนวนไบต์ของบล็อกประมวลผล RLP และหน่วยวัดเฉพาะ L2
3. ทำซ้ำการตรวจความถูกต้องและการประมวลผลธุรกรรมตามตาราง Gas ของ fork ที่ใช้งาน โดยรวม intrinsic gas, calldata, access list, การขยายหน่วยความจำ, การเข้าถึงแบบ cold และ warm, การเขียน storage, precompile และ refund ค่าประมาณขึ้นอยู่กับ state และ block tag ไม่ใช่การรับประกัน
4. กระทบยอดความจุบล็อก รวม Gas ที่ใช้จาก receipt หรือใช้ค่าสะสมของ receipt สุดท้าย ยืนยัน `gasUsed <= gasLimit` และคำนึงถึงลำดับธุรกรรมกับต้นทุนที่ขึ้นกับ state จำนวนธุรกรรมไม่เท่ากับขีดจำกัด Gas หรือ TPS คงที่
5. ใช้ EIP-1559 ให้ถูกต้อง เมื่อความยืดหยุ่นเป็น `2` เป้าหมายคือ `gasLimit / 2` การใช้ของ parent สูงกว่าเป้าหมายทำให้ base fee ถัดไปเพิ่มขึ้น และต่ำกว่าเป้าหมายทำให้ลดลง ภายใต้กฎปัจจุบัน ขีดจำกัดของบล็อก child ยังต้องอยู่ในช่วงเข้มงวดประมาณ `1/1024` เทียบกับ parent base fee ใช้กำหนดราคาความต้องการ ส่วนขีดจำกัดใช้จำกัดงานประมวลผลที่ยอมรับได้
6. ตรวจขอบเขตการปฏิบัติงาน ธุรกรรมที่เกินเพดานต่อธุรกรรมซึ่งใช้งานอยู่จะไม่ถูกต้อง แม้บล็อกยังมีพื้นที่ Gas และบล็อกประมวลผล RLP ที่ใหญ่เกินไปก็ไม่ถูกต้อง แม้ Gas รวมยังต่ำกว่าเพดาน ส่วน Gas ที่ธุรกรรมจัดสรรแต่ไม่ได้ใช้จะถูกปล่อยคืน ขณะที่ refund counter เป็นการลดอีกประเภทหนึ่งซึ่ง fork จำกัดไว้ `REVERT` รักษา Gas ที่เหลือ แต่การหมด Gas ระดับบนสุดจะย้อน state และใช้โควตาการประมวลผลที่จัดให้ทั้งหมด
7. ทดสอบภาระและติดตามเวลาประมวลผลบล็อกเต็ม การเติบโตของ state การเผยแพร่บล็อก slot ที่พลาด พฤติกรรมรีออร์แกไนซ์ ความสามารถของ builder และ validator ความหลากหลายของไคลเอนต์ และการเปลี่ยนพารามิเตอร์ เปรียบเทียบบล็อกจริงกับเมตริกโหนดก่อนถือว่าขีดจำกัดที่สูงขึ้นคือ throughput ที่ยั่งยืน

<a id="example"></a>

## ตัวอย่างคำนวณ

- **เพดานการโอนอย่างง่าย** ที่ `60,000,000 gas` ในทางทฤษฎีบล็อกหนึ่งบรรจุการโอน ETH ปกติได้ `floor(60,000,000 / 21,000) = 2,857` รายการ เป้าหมาย `30,000,000 gas` บรรจุได้ `1,428` รายการ และใน slot สมมติ `12-second` จะเท่ากับ `1,428 / 12 = 119 transactions/second` นี่เป็นตัวอย่างขอบเขตบนแบบธุรกรรมชนิดเดียว ไม่ใช่ TPS ที่สังเกตจริง
- **บล็อกเป้าหมายแบบผสม** สมมติว่าบล็อกเป้าหมายมีการโอน `400 * 21,000 = 8,400,000 gas` การ swap `80 * 180,000 = 14,400,000 gas` และการ deploy `6 * 1,200,000 = 7,200,000 gas` การใช้รวมคือ `30,000,000 gas` ใน `486 transactions` หรือ `486 / 12 = 40.5 transactions/second` ภายใต้สมมติฐาน slot ที่ระบุ เป้าหมาย Gas เดียวกันรองรับจำนวนธุรกรรมที่แตกต่างกันมาก
- **ขีดจำกัดธุรกรรมเทียบกับค่าที่เรียกเก็บจริง** ธุรกรรมประกาศ `200,000 gas` แต่สำเร็จด้วย `gasUsed = 146,000` ที่ราคาจริง `22 gwei` ค่าธรรมเนียมคือ `146,000 * 22 = 3,212,000 gwei = 0.003212 ETH` และไม่เรียกเก็บ `54,000 gas` ที่ไม่ได้ใช้ ในทางกลับกัน การประกาศ `18,000,000 gas` เกินเพดานโปรโตคอลปัจจุบัน `16,777,216 gas` จึงไม่ถูกต้อง ไม่ว่าบล็อกจะเหลือพื้นที่เท่าใด
- **การตอบสนองของ base fee** เมื่อ `gasLimit = 60,000,000` เป้าหมายคือ `30,000,000` เริ่มจาก `24 gwei` บล็อก parent ที่เต็ม `60,000,000 gas` ทำให้ base fee ถัดไปเพิ่มสูงสุด `12.5%` เป็น `27 gwei` ส่วน parent ว่างทำให้ลด `12.5%` เป็น `21 gwei` เหตุการณ์นี้ไม่เปลี่ยนขีดจำกัดบล็อกหรือรับประกันการใช้บล็อกถัดไป

<a id="risks"></a>

## ความเสี่ยง

- ใช้ค่าขีดจำกัด Gas ของ mainnet ที่ล้าสมัย
- นำพารามิเตอร์ Ethereum ไปใช้กับเชน EVM หรือ L2 อื่น
- สับสนระหว่างขีดจำกัดบล็อกกับเป้าหมาย EIP-1559
- สับสนระหว่างขีดจำกัดบล็อกกับเพดานต่อธุรกรรม
- สับสนระหว่าง Gas ที่ธุรกรรมประกาศกับ Gas ที่ใช้จริง
- ถือว่า Gas เป็นหน่วย CPU ไบต์ หรือธุรกรรมที่คงที่
- ใช้ตาราง opcode, calldata หรือ refund ที่ล้าสมัย หรือมองข้ามขีดจำกัดขนาดบล็อก RLP อิสระ
- พึ่ง `eth_estimateGas` โดยไม่ระบุ state และ block tag ที่ต้องการ
- มองข้ามการประมวลผลที่ขึ้นกับ state และลำดับธุรกรรม
- สับสนระหว่างโควตาธุรกรรมที่ไม่ได้ใช้กับ refund counter ที่แยกต่างหาก
- มองข้าม Gas ที่ถูกเรียกเก็บเมื่อการประมวลผลหมด Gas หรือ revert
- ถือว่า Gas ประมวลผลกับ blob gas เป็นทรัพยากรเดียวกัน
- คำนวณ TPS จากการโอนชนิดเดียวเท่านั้น
- มองข้าม slot ที่พลาด รีออร์แกไนซ์ และความล่าช้าของ finality
- เพิ่มเวลาประมวลผลและเผยแพร่บล็อกในกรณีเลวร้ายที่สุด
- เร่งการเติบโตของ state และข้อกำหนด archive
- เพิ่มข้อกำหนดฮาร์ดแวร์ของ validator, builder และ RPC
- เพิ่มความเสี่ยงการรวมศูนย์หรือความเห็นต่างของไคลเอนต์
- พลาดการเปลี่ยนความต้องการของ validator ค่าเริ่มต้นไคลเอนต์ หรือ fork
- ถือว่าความจุสูงขึ้นรับประกันค่าธรรมเนียมต่ำลงหรือความต้องการ

<a id="misconceptions"></a>

## ความเข้าใจผิดที่พบบ่อย

- ขีดจำกัด Gas ของบล็อกเป็นค่าคงที่สากลของ Ethereum หรือ EVM
- ขีดจำกัด `60,000,000 gas` หมายความว่าทุกบล็อกควรใช้ 60 ล้าน Gas หรือเป้าหมาย EIP-1559 ก็เท่ากับ 60 ล้าน
- การหารขีดจำกัดบล็อกด้วย `21,000` ให้ค่า TPS จริงของเชน
- ธุรกรรมหนึ่งใช้พื้นที่ทั้งบล็อกได้หากบล็อกมีพื้นที่พอ ทั้งที่เพดานต่อธุรกรรมปัจจุบันเป็นอิสระ
- การเพิ่มขีดจำกัด Gas ทำให้ค่าธรรมเนียมลดลงโดยอัตโนมัติ โดยไม่มีผลแลกเปลี่ยนด้านโหนด state การเผยแพร่ ความต้องการ หรือการรวมศูนย์

<a id="related"></a>

## หัวข้อที่เกี่ยวข้อง

- [ค่าธรรมเนียม Gas](/th/crypto/gas-fee/)
- [เครื่องเสมือน Ethereum](/th/crypto/evm/)
- [เวลาบล็อก](/th/crypto/block-time/)

<a id="sources"></a>

## แหล่งข้อมูล

- [ภาพรวมทางเทคนิคของ Gas และค่าธรรมเนียม Ethereum](https://ethereum.org/developers/docs/gas/) - Ethereum.org (เข้าถึงเมื่อ: 2026-08-18)
- [EIP-1559: การเปลี่ยนแปลงตลาดค่าธรรมเนียม](https://eips.ethereum.org/EIPS/eip-1559) - Ethereum Improvement Proposals (เข้าถึงเมื่อ: 2026-08-18)
- [EIP-3529: การลด refund](https://eips.ethereum.org/EIPS/eip-3529) - Ethereum Improvement Proposals (เข้าถึงเมื่อ: 2026-08-18)
- [EIP-7825: เพดานขีดจำกัด Gas ของธุรกรรม](https://eips.ethereum.org/EIPS/eip-7825) - Ethereum Improvement Proposals (เข้าถึงเมื่อ: 2026-08-18)
- [EIP-7934: ขีดจำกัดขนาดบล็อกประมวลผล RLP](https://eips.ethereum.org/EIPS/eip-7934) - Ethereum Improvement Proposals (เข้าถึงเมื่อ: 2026-08-18)
- [EIP-7935: กำหนดขีดจำกัด Gas เริ่มต้นเป็น 60M](https://eips.ethereum.org/EIPS/eip-7935) - Ethereum Improvement Proposals (เข้าถึงเมื่อ: 2026-08-18)
- [ประกาศ Fusaka บน mainnet](https://blog.ethereum.org/2025/11/06/fusaka-mainnet-announcement) - Ethereum Foundation Blog (เข้าถึงเมื่อ: 2026-08-18)
- [API JSON-RPC](https://ethereum.org/developers/docs/apis/json-rpc/) - Ethereum.org (เข้าถึงเมื่อ: 2026-08-18)

Source: https://wiki.fcontext.com/th/crypto/block-gas-limit/index.mdx
