Blockchain is a rather complex technology to grasp. Since Intellectsoft has already developed a number of blockchain-based solutions, we are starting an ongoing series of posts about blockchain, Bitcoin blockchain, cryptocurrency, and smart contracts to provide a deeper understanding of the entire topic.
From the hash function to decentralization, our first post takes a closer look at the digital gears and core concepts that make the blockchain technology work. Upon finishing it, you will have a better and deeper understanding of this incredibly promising technology.
Blockchain and its Digital Nucleus
A blockchain is a decentralized database relayed across a network of computers where encrypted information is stored in interconnected blocks, ensuring a higher level of data security.
A blockchain is a safe system to store information and perform various transactions, whether its cryptocurrency or data in any digital form.
Key aspects of a blockchain include:
- Blockchain grants anonymity to its users, as users are only identified by alphanumeric.
- Users can only access a block with their digital key. If a user loses their key, they won’t be able to recover the data.
Every system has an underlying element. In case of a blockchain, it’s a hash function — an algorithm that accepts incoming data (a text file, photo, binary code, etc.) and generates a succession of letters and numbers of a fixed length, encrypting the data.
There’s a wide array of hash functions, but SHA256 is the most common.
The aforementioned succession of letters and numbers generated by hash function is assigned to the data and called a hash pointer. In other words, a hash pointer is the digital fingerprint of data.
Here is how a pointer would look like:
Any blockchain is built with and relies on hash pointers — each block contains the hash pointer of the previous block. All blocks become interconnected, allowing for a higher level of security. If somebody tries to change the contents of any block in the chain, they will affect the entire chain. Thus, in order to get to the data, a malevolent actor would need to hack the entire blockchain, which in most cases proves to be nearly impossible.
This is the first element of a blockchain that creates its high level of security.
If you want to learn more about hash pointers and how they work in a real blockchain, see this spot-on video.
Blockchain and Digital Signatures
In blockchain-based systems, digital signatures verify that a certain block (or chain) containing information is related to (or carried out by) a user. A digital signature is the same as a written signature on a paper contract.
Properties of digital signatures:
- Anyone can verify the validity of a signature.
- A signature should be tied to a particular document (this could be a document that contains a financial operation, medical records, or any other data).
- Each transaction has a unique signature that is generated by combining and encrypting the user key and transaction information.
According to Edward Felten, a professor of Computer Science and Public Affairs at Princeton University, a signature is unforgeable. No matter what algorithm an attacker is using, they have only a negligible chance of forging a signature.
This is the second element of blockchain that enables its high level of security.
Blockchain and User Anonymity
Whether you’re using a blockchain to transfer 50 million USD in cryptocurrency or sending personal information, nobody will disclose your real-life identity. Anonymity is one of the major reasons blockchain technology was conceived in the first place. Case in point: the real identity of the Bitcoin blockchain creator (or creators) is unknown.
The properties of a blockchain identity:
- Any individual can have multiple identities.
- An ID management scheme is decentralized.
Blockchain and Decentralization
A blockchain has no single authority controlling the system. Instead, it’s distributed across many computers in a network; this is called a P2P (peer to peer) network. This is primarily how blockchains achieve almost pure decentralization.
As Edward Felten underlines, a blockchain won’t work if a system is based on a cycle. More so, being able to act with no authority (like a financial institution or government) overwatching the entire process was another major reason why blockchain was created in the first place.
Distributed Consensus in Bitcoin-like Blockchains
A blockchain cannot be 100% decentralized, but it’s sufficiently decentralized to fulfill its functions.
Let’s look at the aspects of Bitcoin blockchain decentralization as an example:
- Bitcoin P2P network is close to a purely decentralized network.
- The Mining process cannot be considered as decentralized (an individual can concentrate a lot of processing power in their hands to influence the Bitcoin blockchain).
- The degree to which Bitcoin blockchain is decentralized depends on the software developers delivering the updates (core developers trusted by community could roll out updates that change the rules or need to be installed to continue mining).
Bitcoin and similar blockchains achieve a high level of decentralization nonetheless with distributed consensus — when a number of users (nodes) decide on the same value.
Let’s look at an example:
John transfers 0,3 BTC to Angelina
Allegedly, Angelina now owns this 0,3 BTC, but here is what John does.
John transfers the same 0,3 BTC to a different user, Alfred
This is called double-spending.
Every Bitcoin blockchain user sees every operation in a blockchain. So, they would see Transaction 2 is not valid.
In order to prevent a double-spending attempt, a number of the Bitcoin blockchain users would confirm a transaction (the most common number in Bitcoin blockchains — 6 confirmations).
Why do this? The Bitcoin blockchain is an incentive-based system, where honest users are rewarded with Bitcoin. They look for valid blocks to extend a chain and get profit in return.
As a result, the longer the chain, the more trustworthy it is. The more confirmations—the safer the transaction. Concurrently, the probability of double-spending decreases exponentially with the number of confirmations. This is what makes a blockchain deliver on its promise.
In the next post, we will take a closer look at the Bitcoin blockchain, why reaching consensus in it is inherently hard, why Bitcoin users don’t have many identities, and more.