Skip to main content

Command Palette

Search for a command to run...

An Introduction to Ethereum Blockchain: A Summary

Published
5 min read

What is a Blockchain?

Blockchain is a sequential list of records called blocks that store data publicly and in chronological order.

The participants of the Network have access to the Blockchain data, maintain the data, and hold the democratic right to approve transactions within the Blockchain network.

Every transaction on the ledger is authorized by the digital signature of the owner, authenticating and safeguarding it from tampering.

What is a Cryptographic Hash Function?

A cryptographic hash is a mathematical one-way function that converts a numerical input value of arbitrary length to a compressed numerical output value of fixed length.

Properties of a cryptographic hash include the following:

  • Non-reversibility: A good cryptographic hash makes it hard to reconstruct the original value from the output.

  • Avanlanche effect: A small change in the original value causes a significant change in half the bits of its hash.

  • Determinism: A given value must always generate the same hash value.

  • Collision resistance: A good cryptographic hash function should make it hard to generate the same encoded text from two input values.

  • Predictable: The hash value should not be predictable from the original value.

What is Public Key Cryptography?

Public key cryptography is an encryption scheme that uses two mathematically similar but non-identical keys, a private and a public key.

The public key is used to encrypt, while the private key is used to decrypt.

Because it is computationally infeasible to generate the private key from the public key, public keys are freely shared, allowing users an easy and convenient method for encrypting content and verifying digital signatures.

Merkle Trees

A Merkle tree is a way of hashing a large amount of data, which relies on splitting the data chunks into buckets, where each bucket contains only a few chunks, then taking the hash of each bucket, and repeating the process until the total number of chunks remaining is one.

However, Ethereum uses the Patricia Merkle tree, a combination of the Patricia tree and the Merkle tree.

What is Ethereum?

Ethereum is a deterministic and practically unbound state machine.

Ethereum is made up of a globally accessible singleton state and an EVM that applies changes to that state.

Ether (ETH) is Ethereum’s native currency

It provides a mechanism to fuel the computational resources required to execute transactions and run applications on the Ethereum network.

Ethereum developers and community metaphorically refer to ETH as the fuel that powers the network.

The Merkle tree starts from the chunks of hash to determine the root, meaning the root is unknown until the stored chunks are combined to get the root. The root is stored in a block head.

Blockchain Components

P2P Network

Consensus rules: These are rules that determine how the network agrees on a single, consistent version of the Blockchain.

Transactions: These are cryptographically signed instructions that determine updates in the state of the Ethereum network.

State machines: These are behavioral models that describe how something behaves based on its current state and what happens next

Data Structures: This includes transactions and system state in a serialized hash data structure called the Merkle Patricia tree.

Nodes and Clients: Nodes are devices that run the Ethereum client and maintain a partial or full copy of the blockchain.

Ether (ETH)

Ether is the currency unit of Ethereum.

[if !supportLists]· [endif]The smallest possible unit of Ether is wei.

Externally Owned Accounts and Contracts

Externally Owned Accounts (EOAs) are accounts created with a wallet.

EOAs have private keys that provide control over access to funds and contracts.

Contract accounts, on the other hand, have smart contracts and are controlled by the logic of the smart contract code.

However, contract accounts do not have private keys and, as such, can’t initiate transactions.

Contracts can react to transactions by calling other Contracts.

Smart Contracts

These are self-executing programs that are uploaded to the EVM state and executed by the network. They perform some actions once certain conditions are satisfied.

Ethereum Virtual Machine (EVM)

The EVM is the global virtual computer whose state every participant in the network stores and agrees on.

Transactions

Transactions are cryptographically signed instructions from accounts that initiate a transfer to update the EVM state.

Ethereum transactions refer to actions initiated from an EOA.

Because a transaction changes the EVM state, it needs to be broadcast to the network.

Any node can broadcast a request for a transaction to be executed on the EVM.

Once achieved, a validator executes the transaction and propagates the resulting state change to the rest of the network.

Node and Clients

A node is any instance of Ethereum client software that is connected to other devices also running Ethereum software, forming a network.

An Ethereum client is a software that follows the Ethereum rules.

It contains information on how Ethereum works.

It checks everything from transactions to blocks against the Ethereum rules, ensuring the security of the network.

A node runs two clients: A consensus client and an execution client.

The execution client listens for new transactions broadcast on the network and executes them in the EVM.

The consensus client (Beacon Node) implements the PoS consensus algorithm, enabling the network to reach an agreement based on validated data from the execution client.

Node Types

The different types of Nodes include:

Full Nodes: These do a block-to-block validation of the blockchain, including downloading and verifying the block body and state data of each block. Full nodes can verify every single block by storing the entire history of the blockchain.

Archive nodes: These are full nodes that verify every single block from genesis and never delete any downloaded data.

Light nodes: These nodes only download block headers.