A blockchain is a distributed database or ledger shared among a computer network’s nodes. They are best known for their crucial role in cryptocurrency systems for maintaining a secure and decentralized record of transactions, but they are not limited to cryptocurrency uses. Blockchains can be used to make data in any industry immutable—the term used to describe the inability to be altered. Because there is no way to change a block, the only trust needed is at the point where a user or program enters data. This aspect reduces the need for trusted third parties, which are usually auditors or other humans that add costs and make mistakes.
Since Bitcoin’s introduction in 2009, blockchain uses have exploded via the creation of various cryptocurrencies, decentralized finance (DeFi) applications, non-fungible tokens (NFTs), and smart contracts.
The work of a blockchain might be familiar with spreadsheets or databases. A blockchain is somewhat similar because it is a database where information is entered and stored. But the key difference between a traditional database or spreadsheet and a blockchain is how the data is structured and accessed. A blockchain consists of programs called scripts that conduct the tasks you usually would in a database: Entering and accessing information and saving and storing it somewhere. A blockchain is distributed, which means multiple copies are saved on many machines, and they must all match for it to be valid. The blockchain collects transaction information and enters it into a block, like a cell in a spreadsheet containing information. Once it is full, the information is run through an encryption algorithm, which creates a hexadecimal number called the hash.
The hash is then entered into the following block header and encrypted with the other information in the block. This creates a series of blocks that are chained together. Transactions follow a specific process, depending on the blockchain they are taking place on. For example, on Bitcoin’s blockchain, if you initiate a transaction using your cryptocurrency wallet—the application that provides an interface for the blockchain—it starts a sequence of events.
In Bitcoin, your transaction is sent to a memory pool, where it is stored and queued until a miner or validator picks it up. Once it is entered into a block and the block fills up with transactions, it is closed and encrypted using an encryption algorithm. Then, the mining begins. Every miner starts with a nonce of zero, which is appended to their randomly-generated hash. If that number isn’t equal to or less than the target hash, a value of one is added to the nonce, and a new block hash is generated. This continues until a miner generates a valid hash, winning the race and receiving the reward. Generating random hashes until a specific value is found in the “proof-of-work” you hear so much about—it “proves” the miner did the work. The amount of work it takes to validate the hash is why the Bitcoin network consumes so much computational power and energy.
Once a block is closed, a transaction is complete. However, the block is not considered to be confirmed until five other blocks have been validated. Confirmation takes the network about one hour to complete because it averages just under 10 minutes per block (the first block with your transaction and five following blocks multiplied by 10 equals about 60 minutes). Not all blockchains follow this process. For instance, the Ethereum network randomly chooses one validator from all users with ether staked to validate blocks, which are then confirmed by the network. This is much faster and less energy intensive than Bitcoin’s process. A blockchain allows the data in a database to be spread out among several network nodes—computers or devices running software for the blockchain—at various locations. This not only creates redundancy but maintains the fidelity of the data. For example, if someone tries to alter a record at one instance of the database, the other nodes would prevent it from happening. This way, no single node within the network can alter information held within it. Because of this distribution—and the encrypted proof that work was done—the information and history (like the transactions in cryptocurrency) are irreversible. Such a record could be a list of transactions (such as with a cryptocurrency), but it also is possible for a blockchain to hold a variety of other information like legal contracts, state identifications, or a company’s inventory. Because of the decentralized nature of the Bitcoin blockchain, all transactions can be transparently viewed by either having a personal node that allows anyone to see transactions occurring live.
For example, exchanges have been hacked in the past, resulting in the loss of large amounts of cryptocurrency. While the hackers may have been anonymous—except for their wallet address—the crypto they extracted are easily traceable because the wallet addresses are published on the blockchain. Blockchain technology achieves decentralized security and trust in several ways. To begin with, new blocks are always stored linearly and chronologically. That is, they are always added to the “end” of the blockchain. After a block has been added to the end of the blockchain, previous blocks cannot be changed. A change in any data changes the hash of the block it was in. Because each block contains the previous block’s hash, a change in one would change the following blocks. The network would reject an altered block because the hashes would not match.
Not all blockchains are 100% impenetrable. They have distributed ledgers that use code to create the security level they have become known. If there are vulnerabilities in the coding, they can be exploited.
For instance, imagine that a hacker runs a node on a blockchain network and wants to alter a blockchain and steal cryptocurrency from everyone else. If they were to change their copy, they would have to convince the other nodes that their copy was valid one. They would need to control a majority of the network to do this and insert it at just the right moment. This is known as a 51% attack because you need to control more than 50% of the network to attempt it.
~ Saurav Nerkar (3rd Year)