Blockchain: Networking and Mining

Blockchain technology has undergone significant changes since its inception, attracting the attention of a wide variety of audiences around the world. In the early days of this technology, the participants were the people who could see the change and were interested in the revolution that this technology would bring with its arrival. At its inception, it was a social technology, a public technology, available for everyone to develop, contribute to and actively participate in improving. However, it did not take long for companies and governments to appreciate the technology and see the potential it hid, paying close attention to use it in the development of their private projects.

 

Blockchain: Public Networks and Mining

Bitcoin is a public blockchain, sometimes also called permissionless network. The proof-of-work process shows that a network of nodes that do not know or necessarily trust each other can reach a strong and convincing consensus.

Blockchain networks that rely on Proof-of-Work employ financial incentives as a rough proxy for accountability.

Participants, called miners, guess a number that, when included in a block of transactions and the previous hash, will produce a hash that meets certain criteria. Since hash functions are one-way functions, there is no more efficient approach to discovering thenonce than brute-force trial and error.

The “certain criteria” relate to the probabilities of a random guess that produces a desired result.

For example, consider this artificial transaction log that records that Alice sends 10 to Bob and then Bob sends 5 to Carol, in that order.

Now, the lottery in which the miners compete consists of adding another element, the nonce, to make the hash turn out a certain way. The miners test the nonce possibilities using brute force until a “winning” nonce is found.

The nonce is a meaningless number, so any input is acceptable, but to win the lottery, the resulting hash must start with a certain number of zeros. This is known as “network difficulty“, and the protocol adjusts it automatically.

The difficulty increases as more miners join the network so that the moving average of block discovery intervals matches a target rate (10 minutes, for Bitcoin).

In proof-of-work blockchains, reliability, not performance, scales with processing power.

The idea is to make it prohibitively expensive to obtain and maintain the privilege of defining blocks for a period of time that would be necessary to attack the network.

At the time of this writing, Bitcoin’s hash rate was 136 million Tera hashes per second. The difficulty (leading zeros in the block hashes) is such that in all those guesses, only one of all miners finds (“discovers”) a block once every ten minutes, on average.

 

Why make it so difficult?

Remember that this is a network of anonymous participants who do not know or necessarily trust each other. This lottery-like process prevents an attacker from gaining an inordinate degree of control. The main privilege obtained by the lottery winner is some freedom over the inclusion of transactions and orders in a short time interval. In this way, uncertainty over network latency is resolved without recourse to privileged or authorized nodes.

This process involves a considerable commitment of computing resources to compete for the privilege of establishing the canonical order of transactions that are already known to most of the network.

 

Why would a rational actor participate in such a process?

An interesting trade-off occurs. The network needs considerable participation in this lottery process to thwart various forms of attack. Therefore, the network needs a way to reward those who contribute. This is the beginning of cryptocurrency.

The network needed a form of payment to reward the successful miner, the winner of the lottery, with Bitcoins. This is the only process by which Bitcoins are issued or minted.

Simply put, each Bitcoin originated with a miner who discovered a block.

Public networks that rely on anonymous nodes to help protect the network generally rely on a crypto currency to reward desirable behavior. They also create financial penalties for improper behavior. The idea is to repel various forms of attack by making such attacks financially unviable.

 

Reliable Processes

Proof-of-work and blockchain demonstrate that a set of nodes that do not know or necessarily trust each other can form a consensus on a set of facts. Simple Bitcoin processes, i.e., business logic, run reliably on a distributed platform because the consensus ignores inputs from attacking or malfunctioning nodes.

Reliable shared history, shared state, and robust processes without the need for a centralized registry have inspired new ideas on how to build systems for the regulated financial services industry. But, as you will see, the environment is very different from the public network target for which Bitcoin is optimized.

 

Blockchain: Private Networks and Consensus

With public blockchains come a certain amount of properties. For example, anyone with a computer and freely available software can participate, listening, transacting or mining.

So, any data you include in a transaction or a smart contract is public.

You can have anonymity, but you have no privacy.

Openness also means that the system can end up with a very large number of participants, the management of which requires the application of game theory and economic incentives, like gas. It also means that the performance barrier to participation must be low.

Because of this situation, individuals and companies will carefully decide whether to use and what to store in Ethereum. It means there is room for other implementations of a blockchain, where participation is perhaps free even if not automatically granted, or where consensus is reached faster on a high-performance network.

In the current landscape, that means reintroducing a level of centralization.

Leave a Comment

Your email address will not be published. Required fields are marked *