How Bitcoin has given birth to decentralized apps
19 May, 2019
Imagine being able to sign up with a new social media site similar to Twitter but with one important distinction: once you post a comment and it becomes part of your feed, it can never be eliminated. You cannot delete it; a system administrator cannot delete it; not even the CEO of the company can delete it. Sound interesting? It is possible, thanks to technology brought to us by Bitcoin.
As you probably already know, Bitcoin accounting takes place via a distributed ledger that exists as an immutable blockchain. Bitcoin's blockchain provided a model on which the Ethereum blockchain was built. And Ethereum, being much more than a cryptocurrency, is a platform that can be used to build all kinds of applications that have nothing to do with crypto itself.
The same decentralized ledger that provides the foundation of Bitcoin's accounting can be applied in a virtually unlimited number of ways - immutability and all. As such, the whole blockchain concept is turning software development on its head.
The world of decentralized apps
Software developers have coined a new term to express the concept of applying blockchain technology to app development. They call the resulting apps decentralized applications, or dapps for short. Some of these apps are built on blockchain from the ground up. They rely entirely on blockchain to function. Other apps rely only on blockchain for a certain portion of their function. Take away the blockchain and that particular feature would no longer work, but the rest of the app would.
As things now stand, there are three kinds of daaps being developed:
1. Money-management apps
It stands to reason that the first category of daaps relate to money management. The fact is that blockchain was originally developed to support Bitcoin as an alternative monetary system. The entire Bitcoin ledger was built around the idea of keeping track of financial transactions in much the same way a person might use a paper ledger in a checkbook.
The design of the Ethereum blockchain is similar. Even though Ethereum itself is more than just a cryptocurrency, its blockchain was created in such a way as to make money management one of the primary functions. Therefore money management apps are at the top of the daaps list.
You know that online casino where you play slots with bitcoins? They might be using a blockchain ledger to keep track of their business accounting. The same goes for your bank. Your bank's main computer network might rely heavily on blockchain to handle all of its commercial accounting.
2. Apps involving money
The second category of daaps include those applications that involve money, but not as a core function. We can use the online casino as an example again. Whenever you play slots, you're playing a video slot machine that combines sounds, graphics, and a random number generator to determine wins and losses. There is money involved inasmuch as you are betting on every spin of the reels.
The game itself relies on the random number generator to operate. That is its core function. But the online casino might also use a blockchain ledger to keep track of your bets. The same ledger could be used to track every win and loss from every player who gambles on the site.
Another good example would be a mobile app you can download to your smartphone free of charge. The app remains free for as long as you want to use it, but the app developer does accept financial donations. He or she can incorporate blockchain into that app to facilitate accepting donations from generous users.
3. Everything else
The third and final category of daaps involves just about everything else. This category is fairly broad because no one really knows what the limits of blockchain are. We haven't even begun to scratch the surface of this amazing technology.
It is fascinating to consider all the different things we do on a daily basis that involve keeping records. Even when we aren't necessarily keeping those records on paper or an electronic device, we are keeping the records in our heads. This is the very reason blockchain has so much potential in the software development arena.
Let us say you run a restaurant in the heart of Paris. Your food costs seem a little high as compared to your total revenues, so you embark on a plan to track every aspect of food cost. You can use a blockchain app to track all of your food inventory as it comes into the restaurant. You can use the same app to track every single dish served on every single day.
You would be creating an accurate and immutable record covering everything from raw ingredients to finished meals. After a month or two of tracking, you would have an incredibly good idea of how much food costs are cutting into the bottom line.
A blockchain distributed ledger can be used by a logistics company to track packages en route to their destinations. It can be used by a construction company to track compliance when bidding on government jobs. We could go on and on. The point is that the same blockchain birthed from Bitcoin can be used to build applications for virtually any need.
Decentralized autonomy
All of this seems pretty straightforward if you go no further than using blockchain's distributed ledger to keep track of certain kinds of records. But it doesn't stop there. As blockchain technology evolves, software developers are working on taking it to the next level by building automation into new apps.
To make it easier to wrap our brains around this, let us go back to Bitcoin. Bitcoin was originally developed as an alternative monetary system. Theoretically, there would no longer be a need for central banks anywhere in the world if every global citizen agreed to transact business with Bitcoin.
Bitcoin is completely decentralized at its very core. That means the Bitcoin network is not controlled by any single government entity or central bank. In fact, neither government entities nor central banks are involved in any way, shape, or form. Bitcoin works on a network maintained by those who choose to participate in it.
The prevailing theory is that blockchain can do for other applications the same thing it has done for Bitcoin. It can remove the need for any controlling authority, thereby making those controlling authorities obsolete. This is where the idea of autonomy comes in.
Decentralized autonomous organizations
One way that autonomy is being conceptualized in the blockchain world is encapsulated in something known as the decentralized autonomous organization (DAO). A DAO is an organized entity (business, charity, government, etc.) that operates without any centralized management. How is this accomplished? Via blockchain technology.
Setting up a DAO would involve creating a list of rules by which the organization is going to be run. These rules cover everything from accounting to services rendered. Those rules are written into the blockchain along with smart contracts capable of executing the rules as needed. Once the system has been fully constructed and tested, it can be launched.
From that point forward, the rules of the blockchain govern everything that occurs within the organization. The organization's employees interact with one another according to blockchain rules. They each perform their designated tasks according to those rules.
The end result is an organization that runs based on a combination of blockchain and the employees who participate in executing the rules of that blockchain. There is no need for a CEO or any other officers for that matter.
We still have a long way to go before DAOs become a reality. And quite frankly, we may never get there. A DAO may sound like a good thing in theory, but an arbitrary set of rules executed by smart contracts cannot always be relied on to do the right thing, so to speak. Sometimes moral and ethical decisions have to be made by human beings. Nonetheless, the door remains wide open to at least some level of autonomy in daaps.
From Bitcoin to decentralized apps
It was just over a decade ago that Bitcoin was released to the public. Back then it seemed like a project with a lot of high hopes that would never mature into reality. But blockchain and its developer, Satoshi, proved everyone wrong. What began as a technology to level the economic playing field across the globe has morphed into something with seemingly limitless possibilities.
Bitcoin was birthed out of a desire to find a new way to pay for things electronically. Its children and grandchildren took the original blockchain and made it more powerful and usable. Now we are at a point where blockchain is a mainstream building block for new applications. It is starting to show up in more and more places.
Who knows? A decade from now, most of the applications you use on your mobile device or computer might be rooted in blockchain. We might be relying on blockchain for everything from driving the car to managing smart homes and offices. Maybe some of our blockchain devices will even be autonomous. Wouldn't that be interesting?