Blockchain: Understanding the Basics & the Buzz Around It
This post evaluates blockchain technology as implemented by Bitcoin. Note, it is possible for the methods to vary with the company or use case.
There is a lot of buzz about blockchain. Even if you’ve never heard of it, you might have heard of Bitcoin — the first and largest cryptocurrency conceived in 2008 and built on blockchain technology. Today, industries outside of tech are exploring the benefits of implementing blockchain technology beyond Bitcoin.
The financial and banking industry has started using it to save time and money in processing payments. Healthcare and IoT could benefit from its data security power to prevent ransomare and malware attacks. And it may potentially solve the music industry’s copyright database weakness and confusion over the ownership of music.
So, what is blockchain?
A blockchain is a distributed database that manages a number of recorded transactions made over a period of time. A list of recorded transactions in a container is called a block and the number of blocks in a blockchain can continually increase over time.
Blockchains are decentralized, meaning data is stored across a peer-to-peer network of devices or nodes instead of a centralized location. As a result:
- No one source owns the data
- All users have access to the data
- Users have to approve any changes
- Every change is recorded
- All copies of the data are automatically updated at once
- Can’t delete or alter past transactions without the network knowing
Blockchain as a database
As a database, blockchain isn’t as efficient for processing high volumes of data. You can’t store a very large amount of data in a block. And blockchain doesn’t have any good built-in search or indexing — it’s primarily read/write capabilities.
As of now, as a database, blockchain has not demonstrated the ability to be widely used yet.
Blockchain for data sanitizing and protection
The blockchain’s ability to verify and secure data is where it really shines. Bitcoin’s blockchain implements a hash tree (or merkle tree) data structure which hashes the contents of a timestamped block into a hashcode using an SHA256 (Secure Hash Algorithm of 256-bits) cryptographic hash function. The block’s individual transactions are first each hashed and then hashed together to produce one hashcode for the block. Hashing the contents of the block summarizes and ciphers it.
The hash of each block depends on the block directly before it. The blocks are hashed recursively in consecutive pairs of leaf nodes forming a parent node. This pattern continues until there is one resulting hash (the merkle root) for the entire data structure of blocks.
Since hashes produce a unique, fixed-size combination of characters based on the exact input of data, even the slightest change to the data in a block (in the case of Bitcoin exchange the data is a transaction) would result in a completely different hash. Manipulating one block would generate a different hashcode and require tampering with every block in succession to resolve the discrepancy in the hashes.
There is no method of deciphering the hash and reversing it would be extremely difficult, which makes it nearly impossible to discover the original input. And without a centralized location managing a blockchain’s data, there is no main point of vulnerability, which lessens the likelihood of outside attacks. An inside attack would need a consensus of at least 51% of users to successful execute.
While the blockchain still has challenges in its scalability as a database for handling large volumes of data, there is a great opportunity for it to bring organization, efficiency, transparency, and security to companies, small industries and networks.