The blockchain technology is disruptive to many industries with Bitcoin and cryptocurrency being the most well known Use Case. At its heart a blockchain is a distributed ledger system, and allows you to store data in an immutable form. Cryptocurrencies like Bitcoin are built upon the underlying infrastructure of the blockchain technology.
Blockchain provides a mechanism whereby data is stored in data blocks, and these data blocks are linked cryptographically (using hash functions) to form a chain, in such a way that it is computationally infeasible to change data in a particular block, without having to alter data all the subsequent blocks in the blockchain.
In this post we will dispel some of the common myths about blockchain and cryptocurrency.
This is the most common misperception. The mistaken perception is that the data within the blockchain is somehow cryptographically stored and therefore “secure”, i.e. no one without proper authorization can view or access the data once it is on a blockchain. Thus, you can securely store your bank account, password and social security number etc. on the blockchain without fear of it being hacked. Nothing could be further from the truth!
In case of public blockchain the data that is stored on a blockchain is actually visible to everyone that is part of the blockchain network, i.e. every node in the public blockchain network has a local copy of the entire blockchain on their node and can view the data contents of the blocks.
Data stored within the blockchain can be viewed by anyone!
Thus, public blockchains are not great for storing sensitive or private information (like your password, social security number or bank account number), since every one can view the contents of the blockchain.
When folks say that data on a blockchain is “secure”, they simply mean that it is “immutable”. i.e. no one can alter the data in the blockchain without someone being aware that the data was altered.
Data on a blockchain not secure, it is simply immutable.
The word “secure” means different to different people. In the context of blockchain the word “secure” simply means “immutable”, and does not imply that the data is secure from someone trying to read or access it.
Side note: You can browse through the entire bitcoin blockchain on https://www.blockchain.com/explorer. The site is connected to the bitcoin blockchain and allows you to view any block on the bitcoin blockchain, and also see the individual bitcoin transactions within each block.
Blockchain is actually not great for storing large amounts of data.
The distributed nature of the blockchain means that the every node that is part of the blockchain network has a full copy of the blockchain. If the blockchain is used to store large files (eg. images, video etc.) the size of the blockchain would be huge and each node would have to replicate the entire blockchain data on itself, making it inefficient.
In reality the blockchain is great for recording transactional data. Typically large data files are stored external to the blockchain, using some context-based location distributed file system (eg. IPFS, Swarm, SAFE Network, perkeep etc.) and the hashed address of the data file is stored on the blockchain.
Smart Contracts have absolutely no relation to real world contracts. Smart contracts are simply, computer programs that are stored on the blockchain and can be executed on the blockchain.
Smart contracts are written in a programming language like Solidity or Serpent in Ethereum blockchain, and Go or Java in Hyperledger Fabric blockchain. Smart contracts are executed on the Ethereum blockchain via the EVM (Ethereum Virtual Machine). On the Hyperledger blockchain the chaincode is executed within Docker containers.
The concept of smart contracts was introduced as part of the Ethereum blockchain (Ethereum is considered the second generation of cryptocurrency). Adding the EVM to the Ethereum blockchain platform allowed one to expand the capabilities and uses cases of a Blockchain by enabling computer programs to be stored and run on the blockchain.
Bitcoin blockchain (considered the first generation of cryptocurrency) does not have the concept of smart contracts i.e. You cannot create smart contracts on the Bitcoin blockchain.
Side note: While Smart Contracts in Ethereum blockchain and Chaincode in Hyperledger Fabric blockchain are similar; in that they provide the ability execute to computer programs on the blockchain, they do this using very different mechanisms.
Smart contracts actually reside on the Ethereum blockchain as byte code i.e. the smart contract program written in Solidity programming language, is compiled by the Solidity compiler into byte code, and this byte code is stored on the Ethereum blockchain. The smart contract runs on the Ethereum blockchain itself , and is executed at each node of the Ethereum blockchain by the EVM (Ethereum Virtual Machine).
By contrast in Hyperledger Fabric Chaincode programs, by design, are kept insulated from the blockchain. Chaincode programs are written in Go or Java, and are executed within separate Docker containers that run on each node, and not on the Blockchain. This enables Hyperledger Fabric’s modular architecture which allows consensus algorithms to be plug and play features.
Bitcoin is not a collection of digital coins. In fact a Bitcoin does not actually exist at all!
A Bitcoin only exists as part of a transactional record.
While this may sound confusing, there is no such thing as “newly minted” bitcoins. A miner who spends computational energy to mine the next block in the bitcoin blockchain is rewarded with new bitcoins. But the way this happens is that there is simply a transaction record that says “12.5 bitcoins are transferred to miner’s bitcoin wallet”, and such a transaction is considered a valid transaction by the blockchain.
It is important to understand that these “12.5 bitcoins” that were transferred to the miner’s bitcoin wallet address do not come from anywhere i.e. it’s not like there is a “treasury” of “digital coins” from which the miner is rewarded. The 12.5 bitcoins never existed before and will never exist. The only thing that exists is a (valid) transactional record that 12.5 bitcoins are transferred to the miner’s wallet i.e. Bitcoins simply exists as a transactional record, and not as a real digital coin.
Side note: To connect to the bitcoin blockchain you do not have to download the entire blockchain (the current size of the bitcoin blockchain is upwards of 163 GB as of mid 2018).
If you simply wish to interact with the Bitcoin blockchain i.e. to buy, send and receive Bitcoins, all you need is a bitcoin wallet. You can download a bitcoin wallet from Coinbase (https://www.coinbase.com), one of the most popular and trusted sites to buy, sell and manage your digital currency.
However, it is important to understand that your bitcoin wallet doesn’t actually hold any digital coins.
A bitcoin wallet is simply a cryptographic key (address) and not a real store of bitcoins, since as we mentioned earlier bitcoins do not actually exist as digital coins (bitcoins are simply a transactional record). So your bitcoin wallet will not contain digital coins, instead your bitcoin wallet will simply contain a cryptographic key that will allow nodes to validate if you have the ability to spend bitcoins as part of a valid transaction record.
If you do want to join the bitcoin blockchain as a node, it would mean that you would need to download a copy of the entire Bitcoin blockchain on your computer (which can take several hours to first download). The only reason you would join a Bitcoin blockchain as a node is if you wanted to “mine” new bitcoins. However, owing to the growing computational power required to “mine” new bitcoin blocks, individual personal computers are inadequate; and typically you would connect your computer to a “mining pool” (which is a collection of computers that mine collectively for the next block, and divide the bitcoin rewards within the mining pool).
The only thing standing in the way of Bitcoin being used as a mainstream currency is Bitcoin itself!
Bitcoin in its current form, has an inherent scalability issue, and can only process 7 transactions per second! Ethereum, the second largest cryptocurrency platform, is currently only able to manage 20 transactions per second.
By contrast Visa and PayPal can process 1667 and 193 transactions per second, respectively.
Bitcoin’s inherent limitation is because, by design it takes ten minutes to generate a new Block on the Bitcoin Blockchain, and every block has a size limitation of ~1MB. Also, if the Bitcoin blockchain would process thousand transaction per second, it would require all the nodes on the Blockchain to have high network bandwidth to be able to keep up with all the new records in the local copy of their blockchain.
This makes the Bitcoin blockchain great for use cases like money transfers, that do not need immediate transaction confirmations, and can wait for a hour or so before the transaction is confirmed. However it is not suited for rapid and immediate transaction processing.
So it is not government, legislative or regulatory hurdles, but the inherent scalability issue which is the major reason why Bitcoin cannot, in its current implementation, be used as mainstream currency exchange.
Follow me on Medium for related articles and the latest updates!
Found this post useful? Hit the 👏 button to show how much you liked it :)
Read Next: Top 5 Blockchain Use Cases in Pharma and Healthcare — that you should know about!