Ever since the bitcoin white paper of 2008 by Satoshi Nakamoto (identity still unknown), blockchain technology has gradually pervaded the public eye. Intended to serve as an alternative or replacement for traditional financial institutions because of their expensive transaction cost and vulnerability to double spending, bitcoin presents the world with a transparent electronic cash system in which chains of transaction blocks are distributed among users and secured by cryptographic technology. Distributed systems are not a new concept in computer science – it has been studied and applied since the last century. A number of powerful Internet tools today are built upon distributed systems, appearing to users as one “central” system. One example that comes to mind is the ubiquitous Google search engine – a distributed system that provides an efficient web-surfing service. But if such technology is already so commonplace, what is new about blockchain?
what is new about blockchain?
There are in fact several new and promising concepts to the blockchain that set it apart from the traditional distributed systems. A search engine like Google, which runs on a distributed system, depends on a network of distributed computers belonging to Google, each of which can provide responses to search inquiries without obtaining consensus from other computers. In the blockchain, however, for a decision to become final, the majority of the participants need to reach a consensus while they are not the private property of the blockchain. In this sense, blockchain is more distributed. There are lots of benefits of using blockchain.
Using a chain to warrant trust is not a novel concept either. For example, Java employs a certificate chain to verify the trustworthiness of certificates. At the beginning of this chain is the root of trust. Take, for example, the financial world, where institutions form a chain of trust with the root trust in the central bank. Now let’s suppose the central bank certifies bank A, which then, in turn, certifies bank B. If we trust the central bank, we can also trust bank A, bank B, and whichever banks A and B certify and so on and so forth. Such a trust system seems to work well, but it can fail if an important link is broken, or even worse, if the central bank becomes not trustworthy. Blockchain solves this problem by several means. First, it has no root trust – the trust of the system is distributed among the participants so that no single source grounds the validity of the entire operation. Secondly, the blocks are transparent, and a block is always built with information from the immediately previous block. Therefore, if changes are made to one block, then there is a domino effect all the way down the chain, which requires that all subsequent blocks must also undergo modification accordingly, a task proven impossible by another key concept of blockchain – proof-of-work.
Thirdly, blockchain is built upon cryptography, which provides a mechanism to guarantee that finding a solution to a difficult puzzle is time consuming while validating a solution is easy and straightforward. The proof-of-work requires that in order for a participant to claim the validity of his/ her block, the participant must conduct a labor-intensive work to find a solution to a computationally expensive puzzle. The solution to this puzzle becomes part of the block and can be easily validated by other participants. Once a block is added to the blockchain, it cannot be removed or modified, and new blocks are quickly added afterward. Any attempts to modify a block must involve redoing the convoluted procedure of puzzle-solving. Plainly speaking, the only way to modify a specific block in a blockchain is to change that block and all blocks afterward. For example, blocks A, B, C, …, Z form a blockchain. After modifying block P, all blocks after P (Q, R, …, Z) must be modified accordingly as well. If, for instance, block Q is not modified, Q will fail validation, as would all blocks following Q. Therefore, modifying an existing block becomes computationally impossible unless the attacker is armed with computation power superior to all other participants combined.
Blockchain started from bitcoin. However, its applications are not limited to digital cryptocurrency alone. An underemphasized but significant feature of blockchain is the fact that it is composed entirely of recognizable computer science technology. Bitcoin was written in C + +, adopted peer-to-peer network architecture, and coupled public and private key technology together with other cryptography algorithms. It is through the creative combination of these existing technologies that bitcoin presented the world with the innovative genius of blockchain technology. And bitcoin is likely only the beginning – inventors will continue to explore the potential applications of blockchain (Ethereum blockchain being one example). In the near future, it is expected that we will see the same technology expanding beyond uses in financial transactions and onto new frontiers.
In recent decades, the Internet has grown into a technological giant that has a hand in everything from propagating our social lives to increasing productivity in the workplace. It owes its popularity to its accessibility, curating a world where anyone can log on and participate in just about anything. In a similar vein, the stock market is hailed as one of the greatest inventions in human history partly because it allows “everyone” to participate, a sharp contrast from the self-contained giants of the financial world that operate within elite circles. Bitcoin is simply the newest invention in a long line of accessible platforms and it is revolutionizing the traditional financial system by allowing individuals all over the world to engage in a distributed financial system. This is the value of bitcoin. Beyond bitcoin, blockchain technology has the potential to include everyone in a world that no longer plays by the rules of centralized governance but instead decentralizes control so that anyone who chooses to can play a role. The development of blockchain is still in early growth, however, the potential is undeniable.
In its current form, blockchain is unaltered but transparent. But if there was a way to make it both unalterable and also private, the result could be a hypothetical “unhackable” computing paradigm. The internet is a heterogeneous place where trust is highly demanded but always in low supply. Blockchain has the capacity to build peer-to-peer trust. If harnessed properly, blockchain’s trust-building capacity could become a great business opportunity.
There is no definite answer as to why bitcoin was developed in C + +. It could just be that Satoshi Nakamoto is skilled at C + + (he is for sure), or it could be the fact that C + + is object-oriented but still gives programmers control over memory usage. The latter likely has some influence since memory usage is a heavily-weighted issue directly addressed by the bitcoin white paper. In 2013, the blockchain protocol Ethereum was proposed, and eventually, Ethereum Virtual Machine (EVM) has been implemented in several different programming languages including C + +, Python, Solidity, and Java. Building upon C + +, Java has been ranked the most commonly used programming language for several years including 2017 and 2018 by the TIOBE index. This indicates that there are a large number of Java applications and Java programmers.
Blockchain technology has gained popularity in recent years, but it is far from being mainstream. It is still not ubiquitous enough that we can use it to pay the bills or buy groceries. Where this technology ends up is still unknown. The Internet is by default a distributed environment with a dominant presence in our lives. It is a powerful environment that distributes many services, especially information, and allows everyone to participate. However, the Internet is a heterogeneous environment that is short of trust. Blockchain technology can complement this shortage by distributing trust among participants. The trust would not be placed on a single server or entity. As long as the majority of participants stay honest, blockchain will remain trustworthy. Blockchain’s accessibility is also one of its selling points. It is very possible that in the near future, anyone with network access and computational power (equal to that of a common PC) would be able to provide certain blockchain services. The possibilities are endless.
Cloud computing makes use of a network of server farms to offer computational services anytime and anywhere. From this perspective, cloud computing is distributed because its computational power is distributed. However, cloud services are provided by large companies with a network of powerful servers distributed throughout the Internet. The services are owned by these companies and are provided through servers. In this sense, it is centralized. We could argue that cloud computing makes use of distributed technology to achieve centralized services. Blockchain technology, however, walks one giant step further on the way of decentralization. Take bitcoin for example any network node can join the bitcoin network and become an equal node in the system, so long as it complies with bitcoin protocols. Certainly, blockchain is more open than cloud computing. Cloud computing had a significant impact on the IT industry in the past decade, so what will blockchain’s effect look like?
The largest challenge blockchain faces are that most of its applications are in cryptocurrency, serving as a transaction platform. Even in the cryptocurrency world, blockchain is confronting many challenges. Blockchain is an open environment, making it susceptible to malicious threats that have been meticulously planned before being carried out. Therefore, secure cryptography alone is not enough to protect blockchain applications. We need to be more proactive and write secure codes.
In July 2017, Parity Ethereum was attacked and lost $30,000,000 worth of Ethereum coins (Ether). The attack was based on a minor piece of unsecured coding: two library methods that should have been internal (similar to being private in Java) but were not.
Bitcoin was the work of genius, opening a Pandora’s Box of possibilities. Bitcoin was intended for digital currency only, but its blockchain paradigm led to the birth of Ethereum. The goal of Ethereum was to broaden the usage of blockchain, providing a “world computer” or global platform on which different applications can be deployed. To achieve this, Ethereum blockchain adopts Smart Contract and has developed Ethereum protocol and Ethereum Virtual Machine (EVM). Smart contracts are like digital vending machines with strictly specified rules and triggers. When you insert money into a vending machine, you get your drink. Smart contracts work in the same way. You provide the necessary digital payment and in return, you get what you paid for. Applications are deployed as smart contracts. In this sense, you can think of Ethereum as a distributed iOS platform upon which different applications can be developed. Ethereum blockchain has the potential to become the evolved platform of the Internet, and it is one of the reasons why blockchain technology is so alluring.
Blockchain as a database
At its core, the Blockchain is a type of database. A database is a collection of data formatted for use with a computer program. It allows for there to be an official source of information that can be updated or accessed instantaneously from any authorized endpoint. For example, employees can update their hours on time tracking websites, and then HR can produce an invoice from the resulting timesheet data.
Traditional databases store tabular data such as names, phone numbers, and addresses. These databases allow computers to locate information by indexing the rows and columns, similar to how one reads a spreadsheet. This data format is known as “structured data.”
Some databases store unstructured data. These databases classify and tag information such as written text, photos, and videos. Up to 80% of Internet data is unstructured, and its classification is a significant problem in data mining and machine learning that is spawning a lot of exciting new solutions.
Both of these database types are centralized, meaning that a single computer houses and provides access to the records. If that computer, its software, or the records are damaged, then the data is permanently destroyed. Any backups are typically out of sync from the live version, so backups will never restore the most recent data.
Additionally, centralized databases rely on a central authority to create and maintain access privileges. Some administrators must decide who can create, modify, or read any part of some data set.
Centralized databases power nearly all Internet services today. Gmail, Facebook, Amazon, iTunes, and YouTube are all powered by centralized databases.
A Blockchain database is distributed. A Blockchain database is one that is continually synchronized and replicated. Each computer that participates in a Blockchain database maintains a redundant and validated version of the database. If anyone computer, software, or data is damaged, the data integrity is maintained, and the data remains available for consumption.
Unlike a traditional database, every software that accesses a Blockchain database can read and create data on that Blockchain. A piece of data cannot be altered once it is created. Like a traditional database, additional software can be built to assign different permissions for other software or users that connect to it.
Blockchain as a programming language
The Ethereum Blockchain supports smart contracts, a type of computer software that is executed by nodes on the Blockchain. This code enables the automated exchange of currency, property, shares, unique assets, or any other item of value in a transparent, conflict-free way.
Smart contracts are written in a language called Solidity and interface with other programming languages via an API. Similar to other languages, rules are coded into a smart contract software that triggers execution when certain conditions are met. Unlike other languages, smart contracts are verified and secure and have the ability to send and receive money or other assets. Typical conditions include a minimum or exact payments but may include any number of other things such as sending a message, uploading a photo, or voting. Once a node runs the program, the inputs and outputs are recorded in the Blockchain database and are verified by other nodes to ensure reliable execution.
Smart contracts have the ability to read and write to the Blockchain, send and receive crypto assets, and hold such assets in escrow. Smart contracts work a bit like a vending machine. The machine won’t work unless a person deposits money into a slot. It holds the money in a temporary vault which acts as an escrow. It is available both for the machine to take as payment for a purchase and as a refund if the sale doesn’t complete. If a user has adequate money and selects a product that is in stock, the machine transfers the money to another vault and delivers the product to a receptible for the user to retrieve. Excess money is returned. If there is a problem with the purchase, the machine returns the money from the escrow to the user.
Likewise, a smart contract can hold money in an escrow and wait for some condition to be met before delivering a digital product and depositing the money into an account. If the condition is never met, it can return the money to the user. Smart contracts allow people from anywhere in the world who have never met to trade assets of any value instantaneously and without the aid of a bank or a lawyer.
51% Attack Security
Blockchain technology has a high level of security. In order for an attack against Blockchain to be successful, it needs to have at least 51% of the total hash rate of the entire Blockchain system. Now, you have to consider the fact that the Blockchain is spread over a wide network of computers. As such, it has a very high hash rate. For a hacker to be able to obtain the said 51% is virtually impossible. Take note that this refers to the success of an attack and not to the possibility of an attack. Therefore, even an attack with a hash rate that is lower than 51% is still possible. However, you cannot expect it to be successful.
It is noteworthy that there is a contradicting view on this matter. There are also those who believe that you cannot always depend on the said concept of a 51% attack. Considering that every block on the chain is interconnected with each other, all that a hacker needs to do is to infiltrate a single block. If a hacker is able to attack even just a single block, he can adversely influence the entire network.
Security is very important, especially when engaged in a financial transaction. When you use Blockchain, you are assured of a high level of security. In fact, there are those who believe that Blockchain even provides more security than banks. Not to mention, this technology can effectively minimize the cost of doing business. Nevertheless, Blockchain can still be considered new technology. It is still continuously being developed and updated. Indeed, there is so much that the world can expect from it.
Bitcoin vs. Blockchain
It should be made clear that Bitcoin and Blockchain technology are not one and the same. Take note that Bitcoin is a cryptocurrency, while Blockchain is the technology behind Bitcoin. Still, Bitcoin cannot be separated from Blockchain. However, Blockchain is not limited to Bitcoin. In fact, other cryptocurrencies also use Blockchain technology. It should also be noted that Blockchain technology is not limited to cryptocurrencies. In fact, according to experts, Blockchain has so many uses that it goes beyond the cryptocurrency and financial sectors.
Future of Blockchain
If you take a closer look, it is easy to say that Blockchain appears to have a promising future. Many experts believe that the future will most probably be run by Blockchain technologies. Still, it appears that Blockchain will always be closely associated with cryptocurrencies like Bitcoin. In fact, there is a theory that Blockchain and cryptocurrency will make a big change in global banking.
So, what can you expect? There is a good chance that central banks will soon adopt Blockchain technology and cryptocurrencies will soon be considered legal tender and have worldwide circulation. This is only as far as the financial sector is concerned. As you already know by now, Blockchain is not limited to cryptocurrencies; it can also open doors to other technologies. Studies also show that Blockchain can be used to control or at least minimize cyber risk. This is an interesting claim since the use of cryptocurrencies has been criticized for years due to the level of anonymity enjoyed by its users. These days, cyber crimes or crimes that are facilitated over the Internet are prevalent. After all, we live in an age where everything is made easily accessible and available online. With Blockchain, cyber risks can be minimized.
Other possible uses of Blockchain could be with regard to car rental agencies. They could use smart contracts that would make a rental possible automatically after confirmation of payment and insurance through Blockchain’s system. Small and even big businesses can use a Blockchain platform for offering and selling their goods and services. Blockchain can also be used for supply-chain management.
With respect to crimes, Blockchain can be used to track down criminals. What is more, it can do this with efficiency and at a lower cost. Information about criminal identities and activities can be updated on a worldwide level via Blockchain. After all, when it comes to identifying and catching criminals, the amount and quality of information that you have plays an important role.
Although Blockchain can be used by banks, there is a chance that it might be able to fully replace them. With respect to UBS’s infrastructure cost regarding cross-border payments, savings amounting to $ 20 billion could be made by 2022, as computed by experts. Also, since Blockchain is a repository of records, there will be no need for banks or other financial sectors to worry about offering different applications just to enable a person to transfer an asset. Simply put, Blockchain simplifies things as it also improves efficacy and effectiveness.
Since the world will revolve around and be powered by Blockchain, people need to be educated about it. Blockchain will become a normal part of the school curriculum. Although Blockchain will certainly take the place of various job positions, it will also open new employment opportunities. This is a big plus, especially to those who are into programming and computers. Indeed, the world is shifting towards the age of Blockchain and supercomputers. In fact, there is another theory that it will soon go beyond computers. Someday, there will be a time when transactions are made from robot to robot. It will be the era of robotics— and, of course, Blockchain will continue to be used. Indeed, although Blockchain seems to be very simple, it is its simplicity that makes it very powerful and effective.
How about governments? Well, if there will not be a one-world government, then there will most probably be a one-world cryptocurrency. This cryptocurrency does not necessarily have to be Bitcoin; but whatever it may be, it will most likely be accepted, recognized, and used worldwide. This is not hard to believe considering that even today there are already so many online stores. When it comes to the Internet environment, there is no currency that is more specialized for such an environment than cryptocurrencies. Another beneficial use of Blockchain would be for election purposes, specifically in terms of recording the votes that are cast. When you use a Blockchain that is public and decentralized, the people can rest assured that the recording and the results will be fair. Not only that, the results of the election can be known quickly, almost instantly.
It should be noted that, these days, it appears that cryptocurrencies seem to be losing their value. Because of this, there are people who think that if cryptocurrencies completely disappear then Blockchain might also disappear with them. You should not worry about this. Instead, you have to understand that Blockchain is different from cryptocurrencies as even those who do not like using cryptocurrencies are very much interested in using Blockchain. Hence, you can rest assured that, even if cryptocurrencies like Bitcoin and Ethereum do not last, Blockchain will still survive.
Blockchain will be the most commonly used technology in the future. You should also take into consideration that innovations and developments are continuously being made today. Hence, it is only right to expect that more uses of Blockchain will be discovered in the future. Indeed, Blockchain technology is a completely revolutionizing technology that is making a strong and positive impact on the world.
There are many other ways in which Blockchain can be applied. Indeed, the future is full of possibilities, and Blockchain can turn these possibilities into reality. Although there is no guarantee that Blockchain will continue to prosper and reach its full potential, there are good reasons to believe that it has a bright future to look forward to.