Navigating the world of blockchains requires a solid grasp of fundamental concepts like gas and fees. These are critical for understanding how transactions are processed and how network resources are allocated. This guide breaks down the differences and similarities between how Ethereum and OKTC handle these essential components.
What Are Gas and Fees?
At its core, gas represents the computational effort required to execute operations, such as sending a transaction or interacting with a smart contract, on a blockchain network. It acts as a measure of the work the network must perform.
A fee is the cost you pay for that computational work. It is typically calculated by multiplying the amount of gas used by the current gas price, denominated in the network's native cryptocurrency.
Both concepts work together to secure the network. They prevent resource exhaustion by making operations costly and deter malicious actors from spamming the network with infinite loops or computationally expensive tasks.
The OKT Denomination System
OKTC, like Ethereum, uses a metric system of denominations for its native token, OKT. The smallest unit is the Wei, and each larger unit represents an exponential increase in value. Many denominations pay homage to pioneers in computer science and cryptoeconomics.
| Unit | Wei Value | Wei (Numerical) |
|---|---|---|
| wei | 1 wei | 1 |
| Kwei (babbage) | 1e3 wei | 1,000 |
| Mwei (lovelace) | 1e6 wei | 1,000,000 |
| Gwei (shannon) | 1e9 wei | 1,000,000,000 |
| microether (szabo) | 1e12 wei | 1,000,000,000,000 |
| milliether (finney) | 1e15 wei | 1,000,000,000,000,000 |
| okt | 1e18 wei | 1,000,000,000,000,000,000 |
The term "ether" is sometimes used ambiguously to refer to a unit of 1e18 Wei, similar to how 1 OKT equals 1 quintillion Wei.
Gas in Ethereum vs. Cosmos (OKTC)
While the core purpose of gas is consistent across blockchains, its implementation can differ.
Ethereum's Gas Model
Gas was pioneered on Ethereum to create an economic layer for computation. Every operation on the Ethereum Virtual Machine (EVM)—from simple arithmetic to storing data—has a fixed gas cost. This system:
- Prevents infinite loops by requiring a cost for every step.
- Requires users to pay for the computational resources they consume.
- Creates a market where users can pay higher gas prices to prioritize their transactions.
Cosmos SDK's Gas Model
OKTC is built using the Cosmos SDK, which also utilizes a gas model to track resource usage. Here, operations are seen as reads from or writes to the chain's state.
The Cosmos SDK uses two primary gas meters:
- GasMeter: Tracks gas consumption during the execution of a single transaction. It is reset after each transaction is processed.
- BlockGasMeter: Tracks the total gas consumed within an entire block. It enforces a block gas limit, which is a network parameter that can be adjusted through governance.
The fee for a transaction is the sum of the gas consumed during its execution multiplied by the gas price.
How OKTC Matches EVM Gas Consumption
A key feature of OKTC is its EVM compatibility, meaning it can run Ethereum-based smart contracts and work with Web3 tooling. To ensure perfect compatibility, OKTC must replicate Ethereum's gas consumption patterns exactly.
This creates a unique challenge because the Cosmos SDK has operations that Ethereum does not, such as:
BeginBlockandEndBlocklogic that runs at the start and end of a block.- The
AnteHandler, which performs pre-execution checks like signature verification.
To ensure the gas metering for EVM transactions remains consistent with Ethereum, OKTC's EVM module resets the main GasMeter to zero. This isolates the EVM's gas costs from the additional Cosmos-specific overhead. Furthermore, OKTC uses a customized AnteHandler that employs Ethereum's IntrinsicGas calculation from go-ethereum to verify fees for EVM transactions, ensuring costs scale exactly as they would on the Ethereum mainnet.
👉 Explore more strategies for managing gas costs
Gas Refunds: A Key Difference
Handling leftover gas is another area where the two networks diverge.
- On Ethereum: You specify a gas limit for a transaction. After execution, any unused gas is automatically refunded to you. If the gas provided is insufficient, the transaction fails, and you lose the gas spent on computation up to that point (a "revert").
On OKTC: The behavior depends on the transaction type.
- EVM-type transactions behave like Ethereum and will refund any unused gas.
- Cosmos-type transactions do not offer gas refunds. Any gas you allocate for the transaction is consumed, whether it was needed or not.
For Cosmos-type transactions, it is crucial to estimate gas accurately. Using the --gas-adjustment flag with command-line tools can help automatically calculate and apply a buffer to prevent transactions from failing due to insufficient gas.
Can You Send Zero-Fee Transactions?
The possibility of submitting a transaction with a zero fee depends on network rules and validator policies.
In the Cosmos SDK, the AnteHandler does not enforce a universal minimum gas price. Instead, each validator sets their own min-gas-prices configuration. A transaction will only be included in a block if its gas price meets the minimum requirement of the validator proposing that block.
This means:
- Theoretically, if a validator sets their
min-gas-pricesto zero, they could include transactions with zero fees. - Practically on OKTC, this is disabled for EVM module transactions. Because gas is inherently required by the Ethereum protocol, OKTC's custom
AnteHandlerand theValidateBasicfunction for EVM transactions explicitly reject any transaction that attempts to set a zero fee. For other, non-EVM transaction types, the possibility remains subject to validator configuration.
Frequently Asked Questions
What is the difference between gas and a fee?
Gas is the unit that measures the computational work required for a transaction. The fee is the total cost of that work, calculated as Gas Units Used * Gas Price. Think of gas as the "hours of labor" and the fee as the "total bill."
Why is my OKT transaction not refunding unused gas?
Gas refunds are only available for EVM-type transactions on OKTC, which behave like Ethereum. If you are using a native Cosmos-SDK transaction type, the network does not refund unused gas. Always use the --gas-adjustment flag to get a better estimate for Cosmos transactions.
How can I avoid paying too much for gas on OKTC?
For EVM transactions, tools like MetaMask provide gas estimates. For Cosmos transactions, use command-line flags like --gas-auto or --gas-adjustment to let the client software calculate a sufficient gas amount for you, preventing overestimation.
Is OKTC more expensive than Ethereum?
Not necessarily. While the gas cost for an identical operation should be the same due to EVM compatibility, the gas price is determined by market dynamics on each network. Since OKT and ETH have different market values, the final fee in dollar terms may differ.
Can a validator really accept a zero-fee transaction?
Yes, for non-EVM transactions, a validator can configure their node to accept a minimum gas price of zero. However, this is highly uncommon as validators are incentivized to earn fees. For EVM transactions, it is technically impossible as it is prohibited by the network's protocol rules.
What happens if my transaction runs out of gas?
On both Ethereum and OKTC (for EVM transactions), if a transaction exhausts its gas limit, it will revert. All state changes are canceled, but the gas spent on computation up to the point of failure is not refunded. For Cosmos transactions on OKTC, the transaction will simply fail.