Become a better investor
Lesson in Course: Crypto (beginner, 6min )
What is the underlying technology that makes cryptocurrencies possible?
Blockchains are a chain of blocks that contain information. This information is public for everyone to see, but it is very difficult to change the data once added inside of a blockchain.
Each block contains data, the hash of the block, and the hash of the previous block. The data stored in a block can vary. For cryptocurrencies like Bitcoin, it contains transaction data (the sender, receiver, and the amount). We can think of the hash of a block as a fingerprint, a unique marker for identifying that block and the information it contains.
If the information in a block changes, then the hash changes, and it's no longer the same block. Holding the hash of the previous block is what creates the chain, and it's also what makes them so secure. If someone tries to tamper with a block in the chain, that block will change, causing the hash to change - invalidating all blocks after it in the chain.
Hashing alone doesn't make it secure. Blockchains use mechanisms called Proof-of-work (PoW) or Proof-of-stake (PoS) to validate new blocks that are added. This validation ensures there is consensus among everyone using the blockchain. Everyone has to agree which blocks are valid and which aren't - invalid blocks get ignored.
Blockchains are often called smart contract platforms because complex financial contracts (or simple ones, like transferring money on someone's birthday each year) can be encoded into one of the blocks. This gives us greater self-sovereignty since we no longer need to rely on a centralized entity, like a bank, to perform the same transaction.
Smart contracts are immutable contracts (like our example of the recurring birthday money) that live on the blockchain. Smart contracts require the input of the utility token native to that blockchain to change, or execute.
Here are extra readings that dive deeper into the origins of blockchains.
Blockchains are decentralized systems of participants acting on different incentives and information. Therefore, it can only create a secure consensus if it is fault tolerant in the presence of bad actors within the system.
This article extends the Two Generals Problem to the Byzantine Generals’ Problem and discusses Byzantine Fault Tolerance as it relates to the blockchain space.
Blockchains use consensus algorithms to elect a leader who will decide the contents of the next block. That leader is also responsible for broadcasting the block to the network, so that the other peers can verify the validity of its contents.
This article explores Proof-of-work and Proof-of-stake as alternative consensus algorithms that achieve the Byzantine Fault Tolerance for blockchains.