A Technical Introduction to Blockchains
Selected Technical Discussions on Bitcoin & Ethereum
Greetings from the author. If this is the first article you have come across in our Blockchain 101 series, we invite you not to miss out on the other articles by 0s & 1s, where we dive deep into the introductory-level blockchain and web3 concepts — curated specifically for beginners — going into just enough technicalities of the discussed topics.
In this blog post, our goal is to understand blockchains from a technical point of view. We will see what the blocks are made up of, what the headers of those blocks are made up of, what data structures blockchains feature — and more.
So, without further ado, let’s dive in.
01. Decentralisation Vs. Distribution
Centralized systems have one central master. Such systems are easy to develop, but they are prone to faults, failures and going off the network (unavailability). They are not very secure as well.
In decentralized systems, however, no one authority exerts all the control, rather, there are many authorities that exert control each having their own “small and centralized world,” but they alone do not get to have 100% say in a final decision.
Finally, distributed systems are those where the overall system is being run by multiple computers rather than a single one.
Hence, when we talk about centralization, it’s all about exertion of control,
and when we talk about distribution, it is about a software existing on more than one computers. A great example is that of cloud computers: they are distributed and centralised (controlled by a single authority, like AWS).

02. Blocks, Headers and the Block-chain
— The Bitcoin Blockchain —
Blocks
Blocks can be thought of as containers that store data. Blocks do store the data in its original form and well as the hashed form of the transactions in a data structure, i.e., the Merkle Tree. Each block can store hashed data of, say, X transactions — a limit set by the network via block gas limit.
The Mining Process
Miners pick up unconfirmed (but verified as valid) transactions equal to the number of transactions that go in one, single block (defined by the block gas limit) and start solving the cryptographic puzzle. If they successfully find the nonce (the answer to the puzzle, i.e., switching the first couple of bits off of the final hash), they announce to the whole world that they have found the nonce, so that others can confirm as well to reach a consensus before adding a block to the chain
Headers
The block header contains an 80-byte-long string. It has the following information:
- A 32-byte-long hash of the previous block’s header
- A 32-byte-long root of the Patricia-Merkle tree
- A 4-byte-long creation timestamp of the block
- A 4-byte-long cryptocurrency’s version number
- 4-byte long difficulty target for the block
- 4-byte long nonce used by miners
In essence, the individual transactions become immutable inside the blocks because of a lot of consensus work (PoW) required to undo them, whereas the entire chain becomes immutable because we add the reference to the previous block’s hash in the next one’s header, so that nobody can replace / remove this block from the chain without letting it be known
03. Types of Blockchains
— Based on Access Modification —
There are three types of blockchains based on who can sign up and what they can do.
A) Public Blockchains
Like BTC, that allow anyone to sign up for them, see transaction history, record a copy of the ledger etc.
B) Private Blockchains
They allow only the authorized personnel of a particular
organization to perform all the activities on the blockchain
C) Consortium Blockchains
Hybrid mixture of the above two, that allow only some consortium (like all automobile companies, all software companies, all medical clinics etc.) to sign up for it and do permissible activities
04. UTXOs
— The Bitcoin Blockchain —
UTXOs is short for “Unspent Transaction Output”.
What are They?
UTXOs are the individual unspent outputs from previous Bitcoin transactions that together represent the spendable balance for a wallet. Think of them like the change a shopkeeper returns: each UTXO is a discrete piece of value you can use later. Unlike physical fiat coins and bills, whose denominations are fixed (quarters, dollars, etc.), UTXOs can represent any electronic value amount, allowing more flexible combinations to reach the exact sum needed.
Digital Change
When you make a Bitcoin transaction, all input UTXOs selected for that transaction are consumed (spent). Those consumed outputs cannot be reused; they become part of the immutable transaction history. To complete the payment and return any leftover value, the transaction creates new UTXOs: one (or more) paying the recipient and typically one returning change to the sender. A UTXO can represent any economic and financial value — unlike its fiat counterpart — which is largely limited by the govt.-decided and state-printed denominations of the physical currency.
Blockchain State
This process — consuming input UTXOs and creating new output UTXOs — is the fundamental state transition of the Bitcoin blockchain. The set of all current unspent outputs (the UTXO set) encodes the chain’s present distribution of spendable BTC and is updated with each confirmed transaction.
05. Dissecting “Blockchains”
— The Ethereum Blockchain —
The 3 Merkle Trees
On blockchains, we use Merkle Trees to store information and aggregate it via hashes.
Suppose there are 500 transactions available to us. We need to store them in the block. They are not just thrown away in the block, rather we compute their hash (individual 500 hashes) and store them inside the block in the form of a Merkle Tree. The actual, real transactions are stored at the leaf of the tree, whereas the hashes propagated one step up at each step, starting from the n-1st level nodes, all the way up to the root node.
Merkle trees are used to store on Ethereum:
- Transactions
- Receipts
- State of all accounts, thereby the state of the whole blockchain
… on the Ethereum blockchain
The 3 Merkle Roots
The three roots of these three trees are stored in the header of the
Ethereum block along with all the other information mentioned above.
This root is very important for us: it lets us know in constant time whether or not some change has been made in the whole tree or not. This change, which changes the root hash, can be of several different types:
- Transaction Tampering: You tamper with some transaction in the whole tree and the transaction Merkle root changes.
- Smart Contract Execution: You execute a smart contract and the state of the blockchain changes. Hence, the root of the state Merkle tree will change.
- Receipt Generation: Receipts are generated when state changes (either due to the EOA-EOA transactions or due to the execution of the smart contract (EOA-SCA, SCA-SCA internal transaction). So, both the actions
above will also cause the receipt Merkle root to change as well
In logarithmic time complexity, we can find out which transaction / receipt
has been changed in the whole Merkle-Patricia tree.
Hashing the Header
Finally, we take the hash of the header and generate a 256-bit-long
output. Though this output is only that of the header of the block and not the entire block, we see that the roots stored in the header implicitly and indirectly include all the data of the block in the header. So, even though we link headers with headers, but still we call it a “blockchain” and not the “header-chain” or the “block-header-chain”.
Also, remember, this hash (of the header) will be stored in the next block as well, so that we can reverse-link the whole chain of blocks, a.k.a, the blockchain.
06. Ommers & Ommer Blocks
— The Ethereum Blockchain —
Ommer / Uncle Block
Suppose three people solve the puzzle required to provide the proof of work. Of course, only one of them will win the block. The block winner gets three Ethers (current rate) and all the gas points (a topic we will discuss later in fair detail), thereby creating the famous “tragedy-of-the-commons” problem.
Ommers / Uncles
Those that do not win the block are called Ommers and their blocks are called Ommer blocks. Ommer blocks are added to the main chain,
and Ommers are given a small percentage of the total gas points won by the block winner. An Ommer can thought of as:
- The “uncle” of the current block.
- It is the “sibling” of our parent block.
- It is the “child” of our grandparent block but not our parent. It is NOT mined at the same time as the current block.
07. Gas
— The Ethereum Blockchain —
Gas — what it is
Gas is the unit that measures computational work on Ethereum: every operation executed by the EVM (transactions, smart-contract instructions, storage reads/writes) consumes a fixed number of gas units. Gas separates computation cost from ETH’s market value so the network can bill for CPU/storage deterministically.
Gas Units
Gas units are the total amount of gas requried to carry out a certain operation inside the Ethereum Virtual Machine (EVM).
- Simple ETH transfer: 21,000 gas units
- SSTORE (writing to storage): Typically 20,000 (or 5,000 on certain overwrites; exact values depend on EVM rules)
- Reading from memory/storage: ~20 gas for some read ops
Wallets and estimators compute the gas units required for each transaction based on the operations it will perform.
Gas Unit Price
A unit price is the price decided in Wei units for a gas point. This price depends upon the demand of the Ethereum network and total computational supply on the network. The network sets up this price dynamically.
- Gas price is the amount you pay per gas unit, expressed in Gwei (1 Gwei = 10^-9 ETH).
- Example: if gas price = 100 Gwei and a transaction uses 21,000 gas units → fee = 21,000 * 100 Gwei = 2,100,000 Gwei = 0.0021 ETH.
Since EIP‑1559, fees use a block base fee (burned) plus an optional priority fee/tip (paid to validators): effective per-unit cost = base fee + tip.
- Pre‑EIP‑1559: Transaction fee = Gas units used * Gas price
- Post‑EIP‑1559: Transaction fee = Gas units used * (Base fee per unit + Priority price per unit)
Gas Limit for Transaction Verification
The gas limit for a transaction is the maximum amount of gas a sender is willing to allow for that transaction’s execution. It protects users from runaway contracts by capping the computation cost; if execution consumes more gas than the limit, the transaction aborts, state changes revert, and the gas spent so far is still consumed. Users set the gas limit when creating a transaction — too low and the transaction will fail (wasting the gas used), too high and the user risks overpaying if the transaction uses much less. The gas limit therefore balances cost control and successful execution.
Gas Limit for Block Mining
The gas limit for block mining is the maximum total gas all transactions in a single block may consume. It is determined collectively by miners (and the protocol) and controls how much computation and state-change work can be included per block, effectively capping block size and throughput.
Miners may adjust the network gas limit slightly from block to block within protocol-imposed bounds, so the limit evolves based on miner consensus; a higher block gas limit allows more or heavier transactions per block but increases node resource use and propagation time.
Gas prevents DoS/DDoS attacks
Charging gas makes every computation and state change costly, so attackers cannot cheaply run infinite loops or flood the network with expensive operations. The gas limit caps per-transaction work and miners/validators prioritize transactions by fee, which together throttle spam and make large-scale computational or storage attacks economically unfeasible.
Some Important Considerations
- Ethereum requires paying miners a fee (gas fee) for all actions; Bitcoin fees are optional.
- Gas fee = gas used × gas price. Gas used depends on the work (fixed per operation for a given contract/transaction), gas price varies with network conditions.
- Gas price is set by miners based on supply and demand for computational resources. When network demand is high, miners raise gas prices so only urgent transactions pay to be processed.
- If you set a gas price lower than the network-required level (e.g., offer 100 GWei when 105 GWei is required), your transaction can be reverted mid-execution: the gas already consumed is lost and any state changes are reverted.
- Gas limit = the maximum amount of gas you allow a transaction or block to consume. It protects you from overspending gas and limits how much computation can be performed.
Until Next Time,
0s & 1s
Listen To The Article

Black Friday 30%
Offer


