How Blockchain Could Change The Management of Identities Part 4

Why a blockchain like Sovrin can’t use proof-of-work

 

On a blockchain network that uses a proof-of-work algorithm, miners seal blocks of blockchain with hashes. As stated before, a set of data can only have one hash and creating a hash for a set of data is a trivial task for modern computers. This is the reason why the Bitcoin network, the Bitcoin Cash network and other blockchain networks that use proof-of-work consensus algorithm have the parameter of difficulty. Difficulty means that a hash that miners create for a block that they mine needs to be smaller than a target hash. Because a set of data can only have one hash, miners meet the requirement by adding a number to the data about transactions in order to come up with a winning hash. This number is called nonce, which is short for number used once.

In essence, miners play a lottery by taking data about transactions and adding a nonce to it. There is no way to come up with a winning nonce other than to guess it. Just like people try to guess the winning numbers in a PowerBall lottery, miners try to guess a winning nonce by running software that adds a random number to the data about transactions, generates the hash for the set and tries again.

Once a miner guesses a nonce that produces a hash that satisfies the requirements of the network, the network adds the nonce to the data about the block and seals it with the winning hash.

Because the Bitcoin network is fully transparent, all the information about hashes and nonces is available on the public Bitcoin blockchain explorer. In practical terms difficulty is very simple: target hashes need to start with zeros and difficulty determines how many zeros a hash will have. For example for block #521964, which contains 1097 transactions, the winning hash was 00000000000000000038ae5e44f05bca9f4c7e0554eac1a6c2d26807ad33a9fd and the nonce that allowed the winning miner to create this hash was 1812558966.

The reason why a network such as Sovrin can’t use proof-of-work is because proof-of-work is very energy intensive. To find winning nonces and generate winning hashes, miners need to try a lot of nonces, which requires investing in powerful computer equipment and burning a lot of electricity. An article in the Guardian from November of 2017 estimated that on an annual basis Bitcoin miners burn more electricity than a country such as Ireland (source: https://www.theguardian.com/technology/2017/nov/27/bitcoin-mining-consumes-electricity-ireland). According to an article in Wikipedia, Ireland is the 65-th largest electricity consumption country in the world. The list of countries that consume less electricity than Ireland is long and includes such countries as Iceland, Costa Rica, Panama, Estonia, and many others.

Proof-of-work works for the Bitcoin network because miners get rewards from the network for adding blocks to the Bitcoin blockchain. For the first 210,000 blocks of the Bitcoin blockchain this reward was equal to 50 Bitcoins. Then, it split into half and became 25 Bitcoins for the next 210,000 blocks. Currently, the reward is 12.5 Bitcoins and as of the writing of this article, over 17,000,000 bitcoins (or over 80% of all Bitcoins that will ever be in circulation) have been added to the circulation since the launch of the network in 2009. You can see how many Bitcoins there are in circulation as you are reading this article, how many more coins the network will create in the future and when the next division of the reward will happen by visiting http://www.bitcoinblockhalf.com

Obviously, on a network like Sovrin, proof-of-work wouldn’t work because identity verification needs to be a neural process. This is the reason why the creators of the Sovrin blockchain have chosen Byzantine Fault Tolerance consensus algorithm.

Another issue with the proof-of-work is that a blockchain network that uses proof-of-work may get congested, meaning that a block on the network can only contain information about so many transactions and if the number of the transactions starts exceeding the capacity of the network, then it would take the network time to include these transactions onto the blockchain. For example, the Bitcoin network has the size of a block equal to 1 megabyte. The network also aims to create 1 block of the blockchain every ten minutes, which effectively means that the transactional capacity of the Bitcoin network is between 3 and 7 transactions per second. If the network starts having, say, 500 users sending funds to each other each second for a prolonged period of time, the network will get congested and the transactions will be taking a long time to process. Obviously, this would not work for a network that aims to issue confirmations about identities quickly because one of the benefits of self-sovereign identities on blockchain is that it would be possible to get a response almost instantly and not wait for it the way it currently works with a system of patched identity systems where the department of motor vehicles may need to contact the Social Security Administration or some other government agency.