Decentralized networks are becoming commonplace on today's technical landscape, as enterprises seek to write custom applications that solve business problems. Increasingly these are based on smart contracts -- structured programming logic that executes on a blockchain running on a decentralized network. Smart contracts and blockchain are applicable to a wide variety of commercial sectors including agriculture, finance, real estate and industrial manufacturing.
This article covers the basic principle of decentralization: what it is, how it works and how it's used to manage applications such as blockchain-based smart contracts.
Centralization vs. decentralization
Let's start with understanding the difference between centralization and decentralization.
How a centralized network works
In a centralized network, a central authority decides what data can be stored on the network and grants varying levels of access to that data.
An easy way to conceptualize a centralized network is to envision a bank that keeps all its applications and data on a private network. Customers who open accounts at a bank provide a username and password pair, along with personal information. The bank stores all of that in a database hosted on its private network.
The bank implements many restrictions to access the applications and data on its network. Customers provide their username and password to access and work with applications and data, but they can only access what the bank has granted permissions for. They cannot view the data of other customers, nor access applications or data reserved for bank personnel, such as for loan processing. No bank allows just anybody audit its books; auditors must be authorized by someone in charge. However, banks might allow the general public to access and view certain data, such as information applicable to advertising or for support purposes.
Everything is subject to the bank's central authority, which decides what data can be stored on the network and grants a certain degree of trust and permission to a given user.
How a decentralized network works
Decentralized computing is an architectural style in which there is no central point of authority to control access to data or logic that resides within a network. Instead, authority is determined according to algorithms shared by all computers, or nodes, that are part of the network.
Decentralized networks work on a peer-to-peer basis. Each computer or node on the network has an exact copy of all of the network's data and applications, and if one receives additional data, it passes that data on to the other nodes on the network.
Imagine a network of computers, each of which has only a particular text editor and a collection of the same text documents. Anybody could use any computer on that network and have the same computing experience, meaning that they can read any text document in the collection using the installed text editor.
Let's say someone using one of those computers creates a new document with the installed text editor and saves it to the local disk. Then the computer sends the saved document to all the other computers on the network. Furthermore, when a computer on the network receives a new document, it does two things:
- It checks the local hard drive to see if it already has the document and, if so, it ignores the supposedly new document.
- It sends the new document to all the other computers on the network.
The result is that all computers on the network are in the same state in terms of applications (the text editor) and data (the collection of documents), unless and until a new document is introduced to the network.
This is essentially how decentralization works. There is no single central authority that decides what data can be stored on the network and that grants access to applications and data on the network. Instead, all the computers on the network have the same data and applications, and their data and application configurations are identical. Anybody can audit the data on the network.
How decentralization applies to blockchain and smart contracts
Decentralization is the principle that makes blockchain and smart contracts work.
As its name implies, blockchain stores data in immutable blocks that are chained together in sequence. Each additional block in the chain is represented by a hash that describes the content in the current block under construction, as well as all of the content in every preceding block in the chain. This process ensures that data is correct throughout the chain, with each additional block, and preserves the blockchain's data integrity.
Blockchains treat each new block the same, much like the text editor/document scenario described above. New blocks are sent to all other computers on the network, which add the new block to their instance of the blockchain. Every computer on the blockchain network has an identical copy of the blockchain data. Thus, the blockchain network is decentralized. If one computer on the network stops working, it doesn't matter because other computers on the network have the same data and the same computing algorithms.
Decentralization and cryptocurrency
Industrial-strength decentralized networks first emerged with cryptocurrencies. Cryptocurrencies are not operated by any single entity; no central bank creates the money. Probably the most well-known cryptocurrency around is Bitcoin, created in 2009, which uses blockchain technology as its data storage mechanism.
Tools such as Blockchain Explorer let you see the movement of Bitcoin from one account to another through its decentralized network, as well as view the transaction behavior on other cryptocurrency networks. The private banking industry has no analogous tool to provide such visibility -- nor would it ever publish one.
There are a lot more details in decentralization architecture that sync the blockchain among all the computers on the network and also make it difficult for nefarious actors to counterfeit cryptocurrency or steal cryptocurrency from user accounts. The important thing to understand about Bitcoin and other cryptocurrencies is that they operate on decentralized networks. No one computer or agent is in charge of the blockchain.
Despite recent turmoil -- the failure of the FTX exchange and the sagging value of popular cryptocurrencies such as Bitcoin and Ether, for example -- conservative estimates indicate the overall cryptocurrency market is around $1 trillion. Even if half of that money disappeared tomorrow, what remains would still exceed the GDP of Austria. Cryptocurrency is here to stay, and it has proven the value of decentralization.
How do decentralized networks address security?
A major consideration with decentralized networks is security, particularly around user identity. Centralized control means a single security authority, but decentralization throws that model out the window. Companies that rely on smart contracts need to trust in the legitimacy of the blockchain. Those that support cryptocurrencies don't want to be put in a position where they support criminal activities such as money laundering.
A user is typically represented in a cryptocurrency network by an account identifier -- i.e., a unique value expressed as an alphanumeric string.
An account identifier is bound to a digital component called a wallet. Information about the holder of the wallet, such as name, email and other access credentials, is private to the wallet. All user information in a wallet is stored on a local machine, not in a private network or somewhere in the cloud. A wallet might be bound to a variety of cryptocurrency networks, but that information is private to the user, as is their identity information.
However, there are situations that require more information known about a user beyond the account identifier. The decentralized identity model, also known as self-sovereign identity, is sponsored by the World Wide Web Consortium to address sharing personal information in a decentralized manner. Under decentralized identity, users own their identity information and share portions or all of it. No central authority grants access to a user's information, such as how Google's sign-in provides user verification via OAuth. Instead, users store their identity information in a decentralized, encrypted manner, and when an identity must be verified, the user decides which piece of information to share with a particular network.
Programs such as the decentralized identity model are still evolving. The important thing to understand is that decentralization and private identity management are crucial to run decentralized networks.
Putting it all together
When the internet first appeared on desktop computers, many viewed it as merely a better way to send email and a novel way to view cat pictures. Today, the internet is at the center of all social and commercial activity.
The potential of decentralized networking and blockchain technology -- as represented in various initiatives deemed Web3 -- have the same potential. As more companies adopt smart contracts and support cryptocurrencies in their day-to-day activities, they will explore new novel ways to use these technologies.