Intellectsoft has developed a number of blockchain solutions, and 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.
After taking a meticulous look at blockchain in general and the core elements that make it work in our previous post, we shift our attention to bitcoin and Bitcoin blockchain.
From miners and hash puzzles to block rewards and cryptography, we take the same attentive glance to see what constitutes the most sought-after cryptocurrency and the blockchain behind it.
Bitcoin Blockchain Essentials
Bitcoin blockchain is a peer-to-peer (P2P) ledger that allows users to send online payments in bitcoin directly to each other without the transactions going through any financial institution.
Bitcoin P2P network properties:
- All users are equal.
- New users can join any time.
- Each user is an equal peer.
- Runs on TCP (Transmission Control Protocol, usually). TCP and IP (more commonly TCP/IP) are standard Internet protocols that allow two or more computers to communicate with each other. Main Internet applications like The World Wide Web and email rely on TCP/IP.
- Has random topology.
- Forgets a non-responding user three hours after they joined.
A blockchain user is commonly referred to as a node. Bitcoin blockchain nodes don’t have a persistent long-term identity:
- Constant identity is hard to realise in a P2P network.
- Pseudonymity is an inherent goal of Bitcoin blockchain.
Many nodes choose to become miners — individuals or groups of individuals who amass immense computational power and electricity to find new blocks by solving highly complex computational puzzles. By doing so, they extend the Bitcoin blockchain and collect rewards in bitcoin.
There are two types of block rewards:
- Reward for mining (finding) a new block: a node is allowed to create a coin with the current fixed bitcoin value and send it to a recipient. The reward halves every four years (more on this below in the post).
- Transaction fee. A block owner might set a voluntary amount of bitcoin for a transaction in their block.
The Bitcoin blockchain puzzles are commonly referred to as hash puzzles or proof of work.
This is the incentive-based mechanism the Bitcoin blockchain heavily relies on. Nodes are more interested in profit from bitcoin, thus extending the chain (instead of plotting how to take down the system down).
On the other hand, there’s distributed consensus — when a number of nodes decide on the same value. In the case of Bitcoin blockchain, nodes verify transactions on the chain to check for fraudulent activity like double-spending. If a transaction is valid, they extend the chain. The longer the chain, the more trustworthy it is, and the more a transaction is safe (for more on double-spending and decentralization, see our previous post).
Proof of work and distributed consensus is how Bitcoin blockchain manages to deliver on the promise of a decentralized currency system.
Bitcoin Blockchain Scale and Node Types
According, to Joseph Bonneau, a Technology Fellow at the Electronic Frontier Foundation and Postdoctoral Researcher at Stanford, it is impossible to measure the exact scale of Bitcoin blockchain network.
It’s a system with no authority overseeing it — just nodes exchanging information. No one is responsible for statistics. Still, according to the available estimates Bonneau provides, Bitcoin blockchain might enlist one million temporarily active nodes at a given month.
Among them are full-functioning nodes. Their quantity varies between five and ten thousand. Full-functioning nodes are characterised by the following aspects:
- Have permanent connection to Bitcoin blockchain.
- Store the entire blockchain.
- Read and forward every node and transaction (ensuring distributed consensus).
Another node type is called a light node (this type can also be referred to as a think client or simple payment verification client). Lights nodes have the following properties:
- Store only the parts of the chain they need.
- Store block headers only.
- Request transactions.
- Trust full-functioning nodes.
Bitcoin Blockchain Blocks and Transactions
Bitcoin blockchain relies on two different hash-based infrastructures.
Like any other blockchain, Bitcoin blockchain is a hash chain — a succession of blocks where every block includes a hash pointer of the previous block.
This is a tamper-evident log. If someone tries to change the content (including the hash pointer) of any block in Bitcoin blockchain, this will affect the entire chain, and every node on the network will see something’s wrong.
As for the blocks, transactions are stored in a hash tree (also called a Merkle tree or a binary tree). Each block inside a hash tree contains two hash pointers, but it’s also a tamper-evident log.
Let’s look at a piece of a hash chain, and the Merkle tree of one its blocks:
A block consists of two parts:
- Header (contains the hash pointer, the puzzle, and other information).
- Transaction information.
As for a bitcoin transaction—it has two aspects:
- One output to send to a recipient.
- Second output to send back to oneself the remainder of the sum (if one doesn’t transfer all of their bitcoins).
Bitcoin blockchain software
According to Bonneau, ninety percent of nodes run a library called Core Bitcoin, written in C++ by the core stack of the Bitcoin blockchain developers. The remaining nodes use other implementations of Core Bitcoin:
- BitcoinJ (Java)
- Libbitcoin (C++)
- btcd (GO)
Bitcoin Blockchain Cryptography and Limits
The core stack of Bitcoin blockchain developers have placed several fixed limits (or hard-coded limits) on the system:
- There are twenty-one million total bitcoins in the bitcoin economic ecosystem.
- Every four years the mining reward (block reward) is halved.
- The cryptography is fixed.
- Bitcoin blockchain processes seven transactions per second (VISA has 2000-10000, PayPal — 50-100).
The first limit suggests that Bitcoin blockchain is a controlled supply ecosystem. This means it will no longer be active when the last bitcoin would be mined.
The second should postpone this for as long as it’s possible. The end date varies depending on the advent of computer processing capabilities and the third limit on the list — cryptography.
For data encryption, Bitcoin blockchain uses ECDSA, or Elliptic Curve Digital Signature Algorithm Standard. According to Princeton professor Edward Felten, the standard provides good randomness; this is essential for bitcoin as it allows users to create many identities, decentralize the ID management system, and stay private.
Still, the Bitcoin blockchain cryptography is a mixed blessing. It cannot be modified, and thus malevolent actors might come up with ways to take down the Bitcoin blockchain in the following years with new technology and software.
If this doesn’t happen, the date when the last bitcoin will be found depends solely on the development of computer processing capabilities. See the short and long term estimates here.
Bitcoin blockchain is an extremely complex topic. It is very important to separate a number of concepts, so it won’t become even harder to grasp.
Bitcoin is a cryptocurrency, inspired by e-cash systems and introduced by Satoshi Nakamoto in 2009.
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.
Bitcoin blockchain is a decentralized database (commonly referred to as a ledger) relayed across a network of computers where users can perform transactions in bitcoin; transaction information is stored in interconnected blocks, ensuring a higher level of data security.
Bitcoin technology — software that leverages the promise of a decentralized database for more secure financial and data transactions, as well as data storage.