August, 2024   
Blockchain Principles

A blockchain is a permanent and unalterable ledger of transactions and data, hosted and served by a decentralized network of computers who are rewarded in cryptocurrency for their computational effort.

Blockchains vary in implementation, but have a few key properties; the information they contain is publicly accessible and is unalterable by those reading the information.

Bitcoin was the first implementation of a blockchain and only records how much of the currency each participant possesses. Ethereum builds on this functionality, allowing participants to also write software to the blockchain which can send and receive cryptocurrency. Other blockchains, like Filecoin, or Arweave, are primarily designed as permanent, decentralized data storage systems.

The decentralized nature of these systems is important to the blockchain ethos; there is no single point of control in the network, only a network of incentives. Independent operators run ‘nodes’, which process and add data to the blockchain, and are rewarded in cryptocurrency for their work.

Data is written to the blockchain using a wallet, which is typically a software application which manages a user’s cryptographic keys. Each wallet has a public key, which serves as the user’s public address or mailbox, and a private key, which acts as a password to that mailbox. If the private key is obtained by a hacker, the contents of the wallet can easily and irreversibly be taken.

As these systems are decentralized, there is no authority to which a user can address themselves if something goes wrong. Sending a transaction to the wrong address cannot be reversed.

Wallets are specific to each blockchain; a user needs an Ethereum wallet to transact on the Ethereum blockchain, and this wallet would not work for Bitcoin transactions.

A simple Ethereum transaction would be for Alice to send 1 ETH to Bob. Alice initiates this transaction from her wallet. Her wallet will check if she has enough balance in her account, and that Bob’s address is a legitimate Ethereum address, and then will broadcast the transaction.

If Alice has the funds, and Bob’s address is legitimate, the transaction is broadcast to the network. Chunks of data are grouped and written to the ledger in blocks, and each new block is linked to the previous using a cryptographic technique called a hash function.

A hash function can take in any type of data, and returns a fixed length string of numbers and letters called a hash. Hashing is a widely used cryptographic technique, and its unique ability is that it is repeatable but not reversible. Each time a dataset is entered into a hash function, it will return the same output value. However if the dataset is slightly altered, the output value will be very different.

Each new block of data added to a blockchain contains its own hash, and the hash of the previous block. This creates a link between each block of data.

Each node of a blockchain contains a complete copy of that blockchain. The Ethereum blockchain is for example 1.8 Terabytes as of August 2024. Blockchain nodes communicate with each other to ensure that they have the same data.

When a new block is processed by one of the nodes, it is broadcast to the network of other nodes. The other nodes perform a range of checks on this new block, checking that its previous block hash matches their previous block hashes, and the nodes add it to the blockchain.

If a node tries to modify the data on a new block, the other nodes, having seen the transactions broadcasted, would catch the discrepancy and reject the new block. If a node tries to modify a previous block, other nodes would catch this discrepancy by comparing the block hash they have for that block with the provided block hash.

These functions combine to create a sense of security, that information entered onto a blockchain cannot be edited or changed. This sense of security is great enough that people trust it with vast sums of money; 25 million users entrust around 210 Billion in value on Ethereum, and 40 million users entrust Bitcoin to secure 580 billion in value.

The advantage of blockchain over a simple database is that no single entity can edit the data. A state cannot freeze the assets of a given blockchain wallet, and cannot restrict how it moves its funds. The disadvantage is that there is no recourse if you make a mistake; and no government guarantee of the money you use to buy into the system, as you might find in a bank account.

As long as the internet is operational, and incentives are aligned such that nodes continue to host a given blockchain, users can access and transact with their crypto. But blockchain can do more than just transfer funds. Blockchains can host software, which can store and manipulate funds, acting not just on user input but autonomously, on encoded directives.