The term “Blockchain” has been gaining a lot of buzz; especially in more recent time. It all started with Bitcoin and Cryptocurrencies, but has taken off as a pretty remarkable advancement in secure communication and database technology. Blockchain is not just for cryptocurrencies, and many Enterprises are seeing how it can be applied to the business world. With it’s link to cryptocurrency, it seems pretty obvious that it could be used for the Financial industry, but that’s really only the tip of the iceberg (so to say). There are MANY other potential uses for Blockchain within various IT solutions that transcend what you might think at first glance. This article describes what Blockchain is, where it came from, and how it can be utilized in some really innovative ways.
Bitcoin and the Origin of Blockchain
Blockchain is a technology that originated from the digital, cryptocurrency called Bitcoin. Bitcoin is a distributed currency based in mathematics. It’s not backed by any nation state or government, and it’s distributed nature makes it extremely difficult to hack or compromise. It’s pretty universally hated by governments and banks alike. Also, the scarcity of Bitcoin is derived from the difficult and time consuming mathematical calculations necessary to discover (or “mine” as it’s called) new Bitcoin currency. In November 2008, a paper titled “Bitcoin: A Peer-to-Peer Electronic Cash System” was posted to a cryptography mailing list by an author under the name Satoshi Nakamoto. This paper described a new digital currency that could be created that would allow payments between parties without the need for any kind of financial institution. This currency uses public key encryption in combination with a distributed architecture to ensure overall security as well as grant a certain level of anonymity to its users. Here’s the full abstract from the original paper describing what it is:
A purely peer-to-peer version of electronic cash would allow online payments to be sent directly from one party to another without going through a financial institution. Digital signatures provide part of the solution, but the main benefits are lost if a trusted third party is still required to prevent double-spending. We propose a solution to the double-spending problem using a peer-to-peer network. The network timestamps transactions by hashing them into an ongoing chain of hash-based proof-of-work, forming a record that cannot be changed without redoing the proof-of-work. The longest chain not only serves as proof of the sequence of events witnessed, but proof that it came from the largest pool of CPU power. As long as a majority of CPU power is controlled by nodes that are not cooperating to attack the network, they’ll generate the longest chain and outpace attackers. The network itself requires minimal structure. Messages are broadcast on a best effort basis, and nodes can leave and rejoin the network at will, accepting the longest proof-of-work chain as proof of what happened while they were gone.
The first implementation of the Bitcoin paper was released as Open Source in January 2009. This initial implementation was written in C++ and targeted only the Windows operating system. It was written by Satoshi Nakamoto, the author of the Bitcoin paper and specification. The generating of Bitcoin (or Mining) is done by running a computer program that performs cryptographic calculations referred to as “proof-of-work” to Mine new currency within the platform. The first user to generate, or discover, a new Bitcoin gets to keep it. Then users can exchange Bitcoin (in whole or partial) within the network as a form of payment transactions.
The secure and peer-to-peer (or distributed) architecture of Bitcoin ensures that a Bitcoin is only spent once, “owned” by only 1 user at a time, and no double spending or other types of fraud are permitted. Also, as described by Satoshi Nakamoto, the total circulation of Bitcoin will be 21,000,000 coins. There is only a finite number of Bitcoin to be mined, so there’s absolute scarcity built into the system and no single entity can change that; not even governments. It’s based on complicated mathematics and encryption technology! The initial distribution of Bitcoin currency is to assign it to the network nodes (the computers running the mining code) that Mine the coins and the Users who control them. These coins will be deposited into the pseudo anonymous Bitcoin wallets of these users who can spend them as they see fit. The transactions in the Bitcoin network are then validated and double checked my many node across the network, and the reward for performing this validation of transactions is the mining of new Bitcoin.
With the limited scarcity of Bitcoin coins, the mathematics of the system is designed as such that approximately every 4 years the number of Bitcoin that can be mined (or discovered) is cut in half. This is based on a combination of the mathematics getting more difficult to calculate over time, as well as a mechanism built in to accommodate the fact that processing power has been increasing at a predictable rate for a number of years. Here’s a summary of how many Bitcoin will be able to be mined in each 4 year block:
- First 4 years: 10,500,000 coins
- Next 4 years: 5,250,000 coins
- Next 4 years: 2,625,000 coins
- Next 4 years: 1,312,500 coins
- Ans so on…
Currently, at the time of writing this, there are approximately 16.3 million Bitcoin that have been minded.
According to Satoshi’s original estimate of how the number of Bitcoin that will be able to be mined every 4 years, the last Bitcoin will take approximately 4 years to mine and won’t be discovered until the around the year 2104. That means it’ll take nearly 100 years to mine all available Bitcoin. After all the available Bitcoin have been mined, then the network can switch to transaction fees if needed in order to incentivize network nodes to keep validating transactions and keep the Bitcoin network operating. It is likely that there will be a mixture of users within the Bitcoin network at this point that will process transactions for free, and others that will charge a fee. Essentially there’s a new business model approximately 100 years in the future from now that would allow a certain number of users to process transactions autonomously as a way of making money; perhaps enough money for someone to support there family with.
Who is Satoshi Nakamoto?
The short answer is, nobody knows. The name Satoshi Nakamoto is presumably an alias used by the inventor of Bitcoin. They have taken steps to anonymize their contributions to both publishing the Bitcoin paper, as well as the Bitcoin Open Source project. There are even a number of Bitcoin wallets that have been around since the beginning of Bitcoin that have never been spent from that are theorized to belong to Satoshi. There are mixed theories as to the identity of Satoshi Nakamoto. Some think Satoshi is in fact an individual, while others think that Satoshi is perhaps an alias for a small group of people that worked together to create Bitcoin. At this point nobody knows who the real Satoshi Nakamoto is despite of the numerous attempts that have been made to identify an individual as the real Satoshi. For the record, fortunately or unfortunately, I am not Satoshi Nakamoto.
What is Blockchain?
Blockchain is the technology behind Bitcoin. It’s how transactions are processed, and how new Bitcoin are mined. Some variation of Blockchain technology is what powers every cryptocurrency. It’s the technology that really gives Bitcoin it’s ability to be secure, and the transaction ledger of Bitcoin to remain immutable (or unchangeable) once transactions are finalized. Simply put, Blockchain is the technological advancement that makes Bitcoin and other currencies possible.
Blockchain is the technological advancement that makes Bitcoin and other currencies possible.
When first learning about Blockchain it can be difficult to really understand what it is due to the complexity. Blockchain is built around a couple of core technologies that when put together in the right way can be used as a cryptographically secure, append-only transaction ledger (or database) that is optimized for write-once, read-many scenarios. This makes it perfect for use with cryptocurrencies, but it has many other potential uses as well.
Blockchain gets it’s security from the use of Asymmetric Encryption (or Public / Private Key encryption). When a transaction is recorded in the Blockchain, the transaction is cryptographically signed by the parties involved in the transaction. If I send you Bitcoin, then I will sign that with my Private key. Then you or anyone else can use my Public key to verify that I am the one who actually signed it in a secure fashion. Then on the other side of the transaction, you receive the Bitcoin I am sending you so you sign the transaction with your Private key as well. Now the transaction is in a state where we can both verify it legitimacy and authenticity by verifying the signatures securely using each others Public keys. FYI, Asymmetric Encryption is nothing new and is the same technology used to secure the entire Internet primarily through the use of SSL / TLS technology.
Once the transaction is signed, this is where the Distributed Architecture of Blockchain comes in. Blockchain uses a Peer-to-Peer technology where there is no central system in control of the Blockchain. Instead, each computer (or node) in the system stores the data, validates transactions, and communicates with each other to make the entire system work. Even though everything is secured using Asymmetric Encryption, it’s the distributed nature of Blockchain that truly grants it security and ability to be trusted. Each transaction is sent from one node to another across the Blockchain network by addressing the Wallets by their Address. These Nodes are generally computers that are spread across the globe over the Internet. The first node verifies the transaction by utilizing asymmetric encryption as well as comparing it to the previous history of transactions in the ledger. Before committing the transaction to the ledger, it’s not just verified to be secure, but the wallet balances of each of the parties involved in the transaction are also verified to be accurate.
Once everything is set with the transaction, it’s then committed to the ledger (or database) for that node, as well as passed on to other nodes in the system. Eventually the transaction will flow through the entire system being verified and validated by the entire system and committed to the transaction ledger database. Once transactions are committed to the ledger in the Blockchain they cannot be changed.
If someone had control of every node in the Blockchain then there would be a possibility that they could modify data. This is the same way your “traditional” bank has control of your bank account, and could surprise you by saying your account is now empty without you knowing it. Sure, it doesn’t really happen or nobody would trust the banks, but it’s still possible to be hacked. The immutable and distributed nature of Blockchain is what takes the control and ultimately the vulnerability of a central authority away. Blockchain is more much more secure that once a transaction is committed to the system, it will be immutable and verifiable as to its accuracy.
— Chris Pietschmann (@crpietschmann) October 26, 2017
A result of the security implemented by Blockchain, through strong encryption and the Peer-to-Peer distributed network, is the solution the “double spending” problem. As a digital currency you might thing that a Bitcoin could just be copied from one computer to the next and spent multiple times. Well, the distributed way that Blockchain validates and stores transactions and their history actually prevents this from happening. The Blockchain network contains a history of all the transactions across all the wallets within the Blockchain. Every transaction made and cryptocurrency spent is immutably stored and can be looked up and tracked over time. The system is able to verify the cryptocurrency spent and how it’s been spend to validate the accuracy of each wallet’s balance.
Blockchain solves the “double spending” problem using it’s distributed architecture in a way that eliminates the need for any central authority or administration. If every transaction can be tracked and is “publicly” known across the Blockchain network, then how can cryptocurrency be anonymous? Cryptocurrency is only pseudo-anonymous; exactly the same way that the Internet is pseudo-anonymous. Each Wallet is basically just identifiable as a cryptographic key. This in itself is not personally identifiable, just as your Internet IP Address isn’t personally identifiable by itself.
If you were to analyze the transactions within the system and then compare that to some other information then you could infer who is in control of what Wallet, and eventually use this detective work to identify the owner of most of the wallets in the system. It’s also much easier to know the owner of a Wallet if they publicly post their Wallet Address (ala Bitcoin Address) somewhere so people can send them cryptocurrency, or when you send someone a transaction you will essentially know who owns the Wallet your sending cryptocurrency to. However, there are ways to mask your activity and essentially anonymize yourself and your Wallet(s) within the system; it really all depends on how use use it as to the level of anonymity it offers. But, remember, your “traditional” bank account and credit cards are absolutely NOT anonymous at all.
Bitcoin brought with it the first generation of Blockchain. It was tailored specifically for cryptocurrency, but Blockchain has a much greater potential when each transaction can contain more data than just cryptocurrency transfers. As a result a “Blockchain 2.0” was developed, and can be seen as part of the Ethereum cryptocurrency. This development in a “Blockchain 2.0” brought with it the ability to embed a programming language within the Blockchain that allows for programs to be embedded within the transactions. This enables a technology called Smart Contracts to be implemented within the Blockchain.
Smart Contracts enable a small program written in a programming language to be embedded within a transaction. This enables not just additional data to be stored and communicated through a transaction, but also the ability to add “intelligence” to the Blockchain. Just to clarify, we’re not talking about Artificial Intelligence, but rather the ability to embed custom business logic within transactions. Smart Contracts enable the ability to put into place additional, custom conditions that need to be validated before the transaction can be committed to the Blockchain. For example, if a retail store is purchasing a shipment of Milk from a vendor, they could use a Smart Contract to securely verify that the temperature of the Milk was maintained to ensure freshness.
Overall, this is a simplified description of Blockchain. There are entire books that lay out exactly how Blockchain works and it’s fairly complicated to fully understand. This is mostly due to it being a relatively new architecture and design pattern. Don’t worry if it’s still a little fuzzy after reading this general overview. At least now you know the basics of the technology and should have a decent understanding of how the base fundamentals work.
Benefits of Blockchain for the Enterprise
There are many characteristics of Blockchain that make it an attractive technology to be used as a secure database. While Blockchain is built for cryptocurrencies, it does have many other potential uses. Just look at the benefits offered by Blockchain:
- Decentralized through Peer-to-Peer technology
- Highly Secure through the use of Asymmetric Encryption
- Immutable storage of data that’s securely verifiable
- Transparent as every transaction can be looked up
- High Availability and Resiliency against single node failure
The use of distributed database systems like NoSQL Databases is being used more and more frequently within Enterprises due to the benefits of the high availability and resiliency of spreading data and work load across multiple nodes. However, Blockchain adds a few benefits (as listed above) that make it a much superior database technology to be used for scenarios where security and traceability are important.
Combining the above benefits of Blockchain with the capabilities of Smart Contracts, the ability to add custom programming logic to verify transactions and data, there are additional benefits that can be realized by Enterprises. These benefits can be used in areas such as Industrial or Commercial Supply Chain, Internet of Things (IoT) solutions, as well as TONS of additional implementations.
Diving into how to implement and the capabilities of Smart Contracts would be an entire blog post (or even book) in itself, so I’m not going to dive deep into that here. However, let’s just take a look at the following simplified example to give you an idea of how Enterprises could utilize Smart Contracts:
Let’s look at the Supply Chain for a major retailer that sells fresh produce. Basically, the retail store purchases produce from a supplier or farmer. Then the produce is shipped to the store for sale. However, how does the store know the produce was kept at a proper temperature and humidity in transit to ensure freshness? Traditionally, they would just trust the word of the shipping company, and assume that there weren’t any anomolous failures in the cooling system within the trucks transporting the produce. With the implementation of Blockchain and Smart Contracts, there could be tiny IoT devices and sensors in the trucks that record the temperature and humidity data periodically in the truck from the time it’s loaded until it arrives at the retail store. Blockchain can be used to securely make sure that it’s not possible for anyone to modify the data recorded so that each party involved can be certain to trust against any malicious activity. Then the Smart Contract can be used to offload the checking of the temperature and humidity data to the Blockchain itself without the need for a person to even look at the data; thus making the system much more efficient. Each time a sensor reads the temperature and humidity it sends that through the Blockchain where it’s then validated by the Smart Contract embedded within the transaction. Then the Blockchain performs the “intelligence” to ensure the Smart Contract conditions are met and that the produce is in fact kept at the necessary temperature and humidity to ensure freshness during transport.
Blockchain and Smart Contacts are the Future!
There’s tons of buzz in the industry about Artificial Intelligence (AI) and Machine Learning (ML). While these technologies are certain interesting, they are extremely complicated, difficult to make useful and applicable, as well as the fact that they are built around the idea of predicting the future. Sure, AI and ML have some seriously amazing applications, such as self-driving cars, however while they can be used to make future prediction, it’s extremely difficult to get them working to do so. And, the majority of problems don’t need any future prediction intelligence to solve.
As described above with the Produce Supply Chain example, Blockchain combined with Smart Contracts can be used to add intelligence to any transactional system; albeit limited and preprogrammed intelligence. Although, this limited intelligence is what’s needed to solve most of the problems requiring intelligence.
The best way to illustrate what I’m meaning when I say “Blockchain and Smart Contracts are the Future!” is to give you a couple examples usages of the technology to demonstrate why this is.
Consider the following example of a company like Uber:
Think about Uber, the ride sharing service. Users use an app on their smartphone to hail a ride, and the driver picks them up and money is exchanged for the service. At the center of this is Uber the company. Uber is the central authority facilitating transaction, as well as authorizing both drivers and riders. However, what if I told you Uber could exist, but completely without the company running it? That’s right, a completely autonomous Uber where the decisions of the Drivers and Riders are the distributed authority of the system. You might think it is crazy, but consider the following as this is really how the future might be!
When the CryptoUber service, there’s a smartphone app, the CryptoUber Blockchain, and CyptoUber Miners that validate transactions within the system. Also, don’t forget the Smart Contract that the smartphone app uses when it submits transaction into the CryptoUber system. Each Smart Contract is used to verify user preferences each time they request a ride, as well as verify transfer of payment.
A Rider uses the CryptoUber smartphone app, to request / hail a ride. The user enters their preferences into the app, such as “Driver’s average rating”, Type of Car, and desired price to pay for the ride. These preferences get stored within the Smart Contract submitted with the Transaction into the Blockchain. Then, the Driver can accept the Rider, but before they can do so, the CryptoUber Blockchain must verify the conditions of the Smart Contract. The CryptoUber Blockchain will automatically validate the “Driver’s average rating”, Type of Car, and payment balance before authorizing the Driver to pick up the Rider and take them to their destination.
Naturally, Riders only want to ride with Drivers that are good and have certain quality cars. Also, both Riders and Drivers need to ensure proper payment is made within the system for each ride or transaction made. The CryptoUber Blockchain with Smart Contracts will perform entirely all of the validation necessary to authorize rides and operate the entire system. Someone only needs to build the smartphone app, run the CryptoUber Miners, and then the system is fully automated with zero need for a company or any other entity to run it. CryptoUber then becomes a piece of Infrastructure, rather than a company and product.
Consider the following example of a movie rental service like Redbox:
Think about Redbox, the vending machine based movie rental service. There are movie vending machines places strategically, and they are stocked with DVD and Blu-ray movies. Customers go to the vending machines, pay money to rent a movie, then return it the next day. The company Redbox operates the vending machines and stocks them with movies. Redbox owns everything, and is the central authority for the system. What if I told you Redbox could exist, but completely without the company running it?
CryptoRedbox could be made up of open source movie vending machine hardware/software, CyptoRedbox Blockchain, a smartphone app, and Miners to validate transactions. In this case, each vending machine could also be a Miner. Also, don’t forget the Smart Contract that’s used to rent the movies.
A Renter uses the smartphone app to rent a movie from a local CryptoRedbox vending machine. They submit their transaction into the Blockchain with a Smart Contract that validates preferences and details about the movie to be rented. Before they can pickup their movie, the CryptoRedbox Blockchain will validate the Smart Contract to ensure there’s adequate inventory at the vending machine, and payment information. Then when the movie is returned, the Smart Contract can be used to ensure inventory is tracked accordingly along with perhaps information about the condition of the disc as reported by the Renter.
The part about CryptoRedbox being decentralized that gets interesting is that all the Vending Machines and Movie discs don’t need to be owned by a single company or authority. In fact, an individual could own any combination of vending machines and movie discs. Someone could own a CryptoRedbox Vending Machine that they make money from each time someone rents a movie through their vending machine. Plus, the same person or different people could own the Movie discs that are stocked in the vending machine and they could make money each time their discs are rented. Plus, each disc could be rented from and returned to any of the vending machines in the system.
CryptoRedbox would be completely automated with zero need for a company or any other entity to run it. CryptoRedbox then becomes a piece of infrastructure that individuals could use to make money by buying and renting movies, as well as owning the vending machines themselves.
Future Blockchain Economy
Bitcoin and other cryptocurrencies have the potential to take off and become major global currencies. The potential of this is certainly debatable, and assuming they do succeed, we’re really at the beginning stages of this currently. Although, whether cryptocurrency takes off in the near term, it’s obvious there are uses for it in the long run. We must also keep in mind that cryptocurrency alone it’s the ultimate technology, it’s just the start of something truly amazing. Blockchain, coupled with Smart Contracts, is a technology of the future we didn’t know we were waiting for, but we already have it to use today!
Through the use of Blockchain and Smart Contacts (as illustrated in the above examples) it is possible to build fully autonomous systems that contain builtin pseuod-intelligence that can operate similarly to a central authority or corporation, but in a completely stand-alone, autonomous, and distributed way. These systems could be used to build the infrastructure for the future economy where individuals could make passive income from many of the things that require employees and cost overhead today.
Blockchain, coupled with Smart Contracts, is the technology of the future we didn’t know we were waiting for, but we already have it to use today.
When you think about how the future economy will be, don’t just look at Artificial Intelligence (AI) and robot workers. You also need to keep in mind the fully autonomous, distributed systems that will use Blockchain and Smart Contract technologies to ensure the necessary checks and balances that keep things operating smoothly. It’s all these technologies that will power the infrastructure that will enable the future economy.
Whether this future economy is the dystopian future foretold by science fiction authors is up to us to decide. The future is unwritten, fascinating to think about, and up to all of us to write. Just imagine the possibilities!