Tóm tắt nhanh
Gas fee là khoản phí trả cho validator/miner để xử lý transaction trên blockchain. "Gas" đo lượng computation cần thiết — mỗi opcode EVM có chi phí gas riêng. Gas fee = gas used × gas price. EIP-1559 cải tiến cơ chế này với base fee tự điều chỉnh và đốt ETH, tạo thị trường phí ổn định hơn.
01 Gas Fee là gì?
Nếu blockchain là một máy tính toàn cầu phân tán, thì gas là "nhiên liệu" để chạy máy tính đó. Mỗi operation trên EVM — từ phép cộng đơn giản đến lưu trữ dữ liệu phức tạp — đều tiêu tốn một lượng gas nhất định.
Gas fee là tổng số tiền (ETH) bạn trả để thực hiện một transaction. Nó bao gồm hai thành phần: gas used (lượng computation thực sự dùng) và gas price (giá bạn trả cho mỗi đơn vị gas).
Gas fee phục vụ ba mục đích quan trọng:
- Thù lao cho validator: Trả công cho người duy trì mạng lưới.
- Chống spam: Mỗi transaction đều có chi phí, ngăn kẻ xấu flood mạng bằng transaction vô nghĩa.
- Resource allocation: Người sẵn sàng trả cao hơn được ưu tiên, phân bổ block space hợp lý.
Gas fee chỉ áp dụng cho các blockchain có smart contract như Ethereum. Bitcoin dùng hệ thống phí đơn giản hơn (sat/byte), không có khái niệm "gas" như Ethereum.
02 Gas và Gwei — Đơn vị đo
Để hiểu gas fee, cần nắm hệ đơn vị của Ethereum:
| Đơn vị | Giá trị ETH | Dùng để |
|---|---|---|
| Wei | 0.000000000000000001 ETH (10⁻¹⁸) | Đơn vị cơ bản nhỏ nhất |
| Gwei (Gigawei) | 0.000000001 ETH (10⁻⁹) | Biểu thị gas price |
| ETH (Ether) | 1 ETH | Đơn vị chính |
Gas price thường biểu thị bằng Gwei vì con số dễ đọc hơn. Ví dụ: "gas price 20 Gwei" dễ hiểu hơn "0.00000002 ETH".
Tại sao cần đơn vị nhỏ như Wei?
Ethereum được thiết kế để xử lý micropayment và smart contract phức tạp. Nếu chỉ dùng ETH, một phép tính đơn giản có thể tốn 0.0000000000000001 ETH — số quá nhỏ để biểu thị chính xác. Wei đảm bảo độ chính xác tuyệt đối trong mọi tính toán tài chính on-chain.
03 Gas Limit vs Gas Used
Hai khái niệm thường bị nhầm lẫn:
Gas Limit
Gas Limit là lượng gas tối đa bạn cho phép transaction tiêu thụ. Đây là "mức an toàn" bạn đặt ra để tránh transaction chạy vượt chi phí dự kiến (ví dụ: smart contract vòng lặp vô tận). Nếu transaction cần nhiều gas hơn limit bạn đặt, nó sẽ fail với lỗi "out of gas" — và bạn vẫn mất gas đã dùng cho đến lúc fail.
Gas Used
Gas Used là lượng gas thực tế transaction tiêu thụ khi thực thi thành công. Phần gas limit còn lại (chưa dùng) được hoàn trả lại cho bạn.
Ví dụ thực tế: Bạn đặt gas limit 100,000, transaction chỉ dùng 65,000 gas → bạn được refund 35,000 × gas price.
Block Gas Limit
Ngoài gas limit của từng transaction, còn có Block Gas Limit — tổng gas tối đa của tất cả transaction trong một block. Ethereum mainnet hiện có block gas limit khoảng 30 triệu gas. Đây là giới hạn throughput của mạng, và điều chỉnh dần theo thời gian qua vote của validator.
04 EIP-1559 — Cuộc Cách Mạng Gas Fee
Trước tháng 8/2021 (London Hard Fork), gas fee Ethereum hoạt động theo mô hình "first price auction" — đấu giá mù, dẫn đến overpaying và trải nghiệm tệ. EIP-1559 đã thay đổi hoàn toàn cơ chế này.
Hai thành phần của Gas Fee theo EIP-1559
- Base Fee: Phí tối thiểu bắt buộc để tx vào block. Bị đốt (burn) hoàn toàn — không về tay ai. Tự động tăng/giảm theo demand.
- Priority Fee (Tip): Phần thêm để "thưởng" validator ưu tiên tx của bạn. Về tay validator hoàn toàn.
Cơ chế tự điều chỉnh Base Fee
Base Fee điều chỉnh theo mức độ block đầy:
- Block 100% đầy (30M gas) → Base Fee tăng 12.5% ở block sau
- Block 50% đầy (15M gas) → Base Fee giữ nguyên
- Block trống → Base Fee giảm 12.5%
Mục tiêu: block trung bình đầy ~50%. Khi demand cao, base fee tăng nhanh để giảm demand; khi demand thấp, base fee giảm để thu hút tx.
ETH Burn và Deflationary Pressure
Việc đốt base fee tạo áp lực giảm phát cho ETH. Khi mạng bận (gas > ~15 Gwei), ETH bị đốt nhiều hơn ETH mới phát ra cho staking reward → net supply của ETH giảm. Đây là một trong những thay đổi kinh tế lớn nhất của Ethereum sau The Merge.
05 Gas Price và Market Dynamics
Gas price không cố định — nó biến động theo demand. Hiểu market dynamics giúp bạn giao dịch hiệu quả hơn:
Yếu tố quyết định Gas Price
- Network demand: Nhiều người dùng → gas cao. Ít người dùng → gas thấp.
- Thời điểm trong ngày: Giờ cao điểm Mỹ và châu Âu (UTC 12-22h) thường đắt hơn. Đêm UTC và cuối tuần thường rẻ hơn.
- Sự kiện đặc biệt: NFT launch, DeFi airdrop, thị trường biến động mạnh đẩy gas lên đột ngột.
- Congestion trên mạng L1: Khi nhiều tx tranh vào block giới hạn, base fee tăng nhanh.
Gas Price Units trong Thực tế
| Mức Gas (Gwei) | Tình trạng mạng | Thời gian confirm dự kiến |
|---|---|---|
| < 5 Gwei | Rất thấp, mạng nhàn rỗi | Vài phút đến hàng giờ |
| 5–20 Gwei | Thấp, mạng bình thường | 1–5 phút |
| 20–50 Gwei | Trung bình | <30 giây (1–3 block) |
| 50–200 Gwei | Cao, mạng bận | 1–2 block |
| >200 Gwei | Rất cao, sự kiện lớn | Block ngay tiếp theo |
06 Gas và EVM Opcodes
Mỗi lệnh trong EVM có chi phí gas riêng, được thiết kế để phản ánh chi phí computation và storage thực sự:
| Operation | Gas Cost | Lý do |
|---|---|---|
| ADD, SUB, MUL (arithmetic) | 3–5 gas | Computation đơn giản |
| SLOAD (read storage) | 2,100 gas (cold) | Đọc state tốn kém |
| SSTORE (write storage) | 20,000 gas (new) | Ghi state tốn kém nhất |
| ETH transfer (simple) | 21,000 gas | Base cost mọi transaction |
| CALL (contract call) | 2,600 gas | External call overhead |
| LOG (event emit) | 375+ gas | Event data storage |
Điều này giải thích tại sao smart contract phức tạp tốn nhiều gas hơn: mỗi lần đọc/ghi storage, mỗi vòng lặp, mỗi external call đều cộng dồn gas. Developer cần tối ưu code Solidity để giảm gas cost — đây là cả một nghệ thuật trong blockchain development.
07 Tại sao Gas Fee Có Lúc Quá Cao?
Gas fee cao là một trong những trải nghiệm tệ nhất khi dùng Ethereum. Hiểu nguyên nhân giúp bạn tránh được:
Block Space là Khan Hiếm
Ethereum xử lý khoảng 1–2 MB data mỗi block (30M gas). Trong khi đó, nhu cầu có thể tăng đột biến hàng chục lần khi có sự kiện lớn. Block space giới hạn × demand tăng đột ngột = gas fee tăng vọt theo cơ chế EIP-1559.
Các tình huống gas đột biến phổ biến
- NFT Mint: Hàng nghìn người đồng thời mint cùng một collection — tranh giành block space dữ dội.
- DeFi Liquidation Cascade: Thị trường crash → hàng trăm position cần liquidate → bot đồng thời gửi tx.
- Token Launch: Token mới listing trên Uniswap — bot sniper và người dùng cùng lúc trade.
- Airdrop Claim: Deadline claim airdrop → mọi người cùng claim một lúc.
Gas Fee ảnh hưởng đến ai nhiều nhất?
Gas fee cao nhất không phải là vấn đề với người dùng có tài sản lớn — chi phí $50–100 gas cho một swap $100,000 là không đáng kể. Vấn đề là với người dùng nhỏ lẻ: gas fee $20 cho một swap $50 làm mất 40% giá trị giao dịch. Đây là lý do core của mọi nỗ lực scaling Ethereum.
08 Gas Fee trên Layer 2 — Giải pháp Thực sự
Layer 2 Rollup là giải pháp dứt điểm cho vấn đề gas fee cao. Thay vì thực thi mọi tx trên Ethereum mainnet, L2 batch hàng nghìn tx lại, chỉ submit một proof/data nhỏ lên L1.
| Network | Gas fee swap điển hình | Loại L2 |
|---|---|---|
| Ethereum Mainnet | $2–50 (biến động) | L1 |
| Arbitrum One | $0.01–0.20 | Optimistic Rollup |
| Optimism | $0.01–0.15 | Optimistic Rollup |
| Base | $0.001–0.10 | Optimistic Rollup (OP Stack) |
| zkSync Era | $0.01–0.30 | ZK Rollup |
| Starknet | $0.01–0.20 | ZK Rollup |
Sau EIP-4844 (tháng 3/2024), các L2 giảm phí thêm 80–90% nhờ blob transaction rẻ hơn calldata. Gas fee trên L2 giờ thường dưới $0.01 cho swap đơn giản — cải thiện UX đáng kể so với mainnet.
09 Mẹo Tối Ưu Chi Phí Gas
Không phải lúc nào cũng cần trả gas tối đa. Các cách thực tế để tiết kiệm:
1. Chọn thời điểm giao dịch
Gas rẻ nhất thường vào cuối tuần (thứ Bảy, Chủ Nhật) và ban đêm UTC (0h–8h UTC). Dùng Etherscan Gas Tracker hoặc blocknative.com để xem xu hướng gas theo giờ trong tuần.
2. Dùng Layer 2
Với hầu hết người dùng thông thường, dùng Layer 2 là cách tiết kiệm gas hiệu quả nhất. Gas fee thấp hơn 100–1000 lần so với mainnet cho cùng operation.
3. Đặt Max Fee hợp lý theo EIP-1559
Đặt maxFeePerGas = base fee hiện tại × 1.5 + tip nhỏ (1–2 Gwei). Không cần đặt quá cao — EIP-1559 đảm bảo bạn không trả hơn base fee + tip thực tế.
4. Batch Transaction
Nhiều DeFi protocol cho phép batch nhiều action trong một tx (ví dụ: approve + swap trong một transaction). Tiết kiệm gas đáng kể so với hai tx riêng biệt.
5. Approve Amount Vừa Đủ
Thay vì approve unlimited token cho contract, approve đúng số lượng cần dùng. Tuy nhiên điều này có trade-off: approve mỗi lần tốn thêm gas. Cân nhắc nếu dùng contract đáng tin cậy và thường xuyên.
10 Câu hỏi thường gặp (FAQ)
Gas fee là phí trả cho validator để xử lý transaction trên blockchain. Gas đo lượng computation cần thiết, gas price là giá mỗi đơn vị gas. Gas fee = gas used × gas price. Trên Ethereum sau EIP-1559, phí gồm base fee (bị đốt) + priority tip (về validator).
EIP-1559 chia gas fee thành base fee (bị đốt) và priority tip (về validator). Base fee tự động tăng/giảm theo demand — ổn định hơn nhiều so với đấu giá mù trước đây. Người dùng đặt max fee giới hạn chi tiêu tối đa, phần dư được refund.
Gwei (Gigawei) là đơn vị nhỏ của ETH: 1 ETH = 1,000,000,000 Gwei (10⁹). Gas price thường biểu thị bằng Gwei vì dễ đọc hơn (ví dụ "20 Gwei" thay vì "0.00000002 ETH").
Gas limit là mức tối đa bạn cho phép transaction tiêu — như "hạn mức thẻ tín dụng". Gas used là lượng thực tế transaction dùng. Phần gas limit chưa dùng được hoàn trả. Nếu transaction cần hơn gas limit bạn đặt, nó fail và bạn mất phần gas đã dùng.
Giao dịch vào giờ thấp điểm (cuối tuần, đêm UTC), dùng Layer 2 như Arbitrum/Base/Optimism, batch transaction, và đặt max fee hợp lý theo EIP-1559. Layer 2 là giải pháp dài hạn hiệu quả nhất — gas fee thấp hơn 100–1000 lần so với mainnet.
Tài liệu tham khảo
- Ethereum Foundation — Gas and Fees documentation (ethereum.org)
- EIP-1559 — Fee market change for ETH 1.0 chain (eips.ethereum.org)
- Ethereum Yellow Paper — EVM opcode gas costs (Appendix G)
- Blocknative — Gas Price Estimator and Market Data
- Etherscan — Gas Tracker (etherscan.io/gastracker)