Exploring the concept that was created with the purpose of breaking free from the control of central authorities and bringing power back to the people. We are going to look into the concept that solved the problem that Crytopunks around the world couldn't solve, we are of course talking about the Blockchain.
We touched upon it briefly in From Crypto to Dapp, and we wanted to dedicate some attention to this technology or method that is currently vying for a place in our lives. Blockchain's capabilities are often seen as a challenge to government and banking institutions, instead of being seen as an unorthodox solution to problems that plague our society today. Because of this, we wanted to explain how the blockchain works, look at its kinks and possible solutions.
The basic blockchain that we know now was developed by Satoshi Nakamoto in 2008, the identity of whom is still unknown, but many speculate it was the work of a small group of individuals rather than just one person. The final goal was to create a cryptocurrency that allowed individuals to self-regulate the value of currency via ownership and use, instead of depending on central government or banks to regulate and distribute the currency as they saw fit.
The blockchain was created as a solution to stop a cryptocoin from double spending. To do that the crypocoin's network needed to log all the transactions to confirm the ownership of the currency. To understand the process let's use what we are familiar with Cash. Cash, the stuff found in most wallets, has a serial number that identifies its origin which is registered by the government reserve. Each banknote has a unique serial number that the government reserve can use to identify if the notes are real or fake and keep track of how many notes are currently in circulation.
Since each cryptocoin is not produced by a government reserve or central institution and can be subdivided into the Nth decimal place, storing the individual serial numbers would require too much space. The network simply agrees on the total amount of cryptocoins that can ever be in circulation, for example, for Bitcoin's total supply is 21 million, while Ethereum's total supply increases yearly.
When the network is first set up it'll begin creating the famous blocks of the blockchain. These blocks are created every few seconds and have to create an identity or hash via the computations to identify the new block. Here's Bitcoin's Block 0: there was only one transaction made and that was the reward given to the miner that completed the computation for the block's hash. The hash is the identity of a block, and since it is the first it will only have its own hash, the next block, Block 1 will have the hash of Block 0 as well as its own hash. Block 2 will have the hash of Block 1 but not of Block 0. These blocks are interlinked in this way to confirm any transaction done within that block and the one before it, this is the blockchain.
Ethereum, for example, creates a block every 14-15 seconds, the block can only process 2MB's worth of transactions each time. If the block is larger than 2MB the block will move the transactions in the next block which will be processed after the current block is finished, this causes delays.
Now the Distributed Ledger is the complete record of every transaction ever done in the cryptocoin's network. Once the block is complete every ledger in the network is simultaneously updated to confirm the amount that each individual in the network owns. Combining the creation of a new block on the blockchain and the constantly updated decentralized ledger is what makes the blockchain network.
Furthermore, individuals can access the individual blocks and see how much was moved in the transaction as well as when the transaction was made. You can better see it for yourself here on Bitcoin's Block 546255.
Many individuals or organizations installing the blockchain’s open-source software on their computers and servers create the blockchain network. Upon successful installation, they must download the latest updated distributed ledger. At this current time, Bitcoin's distributed ledger is around 120 GB worth of data. Once all this is complete they become part of the blockchain network, and they are referred to as Nodes. A basic level node will contain the distributed ledger and be able to validate transactions. If the nodes have mining equipment in the form of very powerful processors they can also share with the network their computational power and earn rewards. Over time the more nodes there are in the network, whether it be miners or simply nodes updating the distributed ledger, the safer and faster the entire network becomes.
By completing the computation miners provide the hash for the new block as well as the confirmed transactions that the ledgers need to update. Keep in mind that in the early days of a cryptocurrency, a single miner can do the computations, via the open-source software, to create the unique hash for the new block and receive the full reward.
The rewards that miners receive are a small fee that people pay when they want to do a transfer, like when you buy a stamp before you send a letter by mail. When the miners are doing the computation they rush to be first to complete the process for the new block.
This was originally done by individual miners, however, at this point in time, the computations are extremely large so most miners have joined together forming miner pools where as a group they can increase their chances of winning the reward as well as increase their computational power. If they are successful the rewards are distributed between the miners in the pool according to the number of correct computations made. If rewards are too minuscule to do a computation to transfer, the miner pool records the amount due to the miner and when the amount is high enough the reward will be given to him.
Not all transactions are successful because sometimes there are simply too many new transactions to add. The best example is CryptoKitties where users lost their minds going on a kittie shopping spree and slowed down the entire Ethereum network with their transactions. Many transactions were stuffed into many blocks waiting to be processed, so many that 14-second intervals were not enough for all the transactions that needed to be processed.
Out of several possible solutions to this issue, the most obvious one is to allow the blocks to be bigger thus allowing more transactions to be completed every 14 seconds. Another exciting solution is the use proof-of-stake consensus which would bench mining, speeding up the processing of the transactions within the block.
There are many benefits that come with not having a central ledger and using a decentralized ledger that is being shared and updated constantly by everyone. Most importantly it is hacker proof. When we see hacks in the news the issues do not stem from the blockchain network, but with the centralized systems that manage the cryptocurrency. An unfortunate example was the Coinrail hack on June 9, 2018, in a South Korean Exchange that lost $40 million in cryptocurrencies in one go.
The biggest concern about using the blockchain network is the fact that there is no backtracking of lost funds. Currently, if there was an unwanted transfer in your bank account you can contact your bank and regain the lost funds. With a blockchain network, this is not possible as once the transaction is made, it cannot be unmade.
Fortunately, this feature seems to be taken in stride by the dapp gaming community as once they buy a Kitty, an Ethermon, it will be forever theirs until they sell it. Developers of gaming dapps can't touch these assets and as long as the network exists the ownership of the assets will as well.
Ending on a hypothetical note, the only plausible way to possibly hack the blockchain is to take over the entire network by having at least 51% of the computational power while processing every new transaction. but such an action is highly improbable as it would require incredible processing power.
Putting this in perspective the current Ethereum hash rate is 231221493.76 mh/s. A very popular GPU (Radeon 480) can mine about 30 mh/s. So you would need to divide the Ethereum hash rate by 30 mh/s in order to get the total amount of GPUs needed to control 51% of the blockchain network to be in control.
If ultimately successful it will have an effect on the market and devalue the crypto-coin the hackers are targeting. Unless the objective is closing down a network or clearing the history of the ledgers, there is no profit in even attempting such a feat.