What Are Distributed Applications (ĐApps)
Distributed Applications (ĐApps) are software applications that are stored and executed mostly on cloud computing platforms and that run on multiple systems simultaneously. These distributed systems run on the same network and communicate with each other in an effort to complete a specific task or command. In contrast, a traditional app utilizes one dedicated system to achieve an assigned task.
- A distributed app, abbreviated as "ĐApp", is a piece of software that is run on a distributed or cloud network rather than on a single dedicated server.
- By distributing the processing power and storage space across many devices, ĐApps are decentralized, making them more resistant to attack as there is no single point of failure that can be undermined.
- Blockchain-based systems have been the platforms upon which many ĐApps have been built and deployed; however, ĐApps can also run on cloud platforms or other network architectures.
Understanding Distributed Applications
A Distributed App is designed to allow users of a network to collaborate and share ideas, co-ordinate on tasks, access information, and exchange apps through a server. DApps are mostly used on client-server networks where the user’s computer accesses information from the server or cloud computing server. The different computer systems that have been distributed across the network are normally tasked with similar or different objectives.
For example, in an e-commerce platform, each of the computers may be responsible for specific tasks such as sending and receiving emails about special offers to current customers; compiling a list of customers and their purchase history to better target products to them; updating the customer list with new customers who have registered with the online market; accepting product reviews from each patron for future product decision-making; accepting various payment methods at checkout; answering customers’ questions online whether as a person behind the computer or a chatbot; etc. Each of these tasks will be carried out by one or more systems on the network, but all systems communicate with each other to ensure that the customer buys and receives the product that is beneficial to him or her.
The popular music-streaming platform Spotify is a decentralized app that utilizes user's storage and computational power to operate efficiently and with low-latency.
Companies in the financial sector are constantly seeking new ways to incorporate ĐApps into their work processes through the blockchain. One reason for adopting a blockchain system is to improve the transparency of the firm’s operations in order to meet the stringent requirements of financial regulators.
Other reasons why a firm in the financial sector may want to integrate ĐApps include reducing the number of intermediaries involved in a financial transaction, providing clients with access to cryptocurrencies, creating access to groups such as peer-to-peer (P2P) lending groups, largely improving verification on historical transactions, simplifying AML and KYC processes, improving trade finance and supply-chain finance, and enabling open banking.
Blockchains and Distributed Apps
In the cryptoeconomy, the blockchain used by most cryptocurrencies uses Distributed Apps to maintain an efficient digital marketplace. Rather than the conventional client-server network adopted by most centralized organizations, blockchains run on a peer-to-peer network where transactional information carried out between two parties is recorded and shared across multiple computers on the network. These computers are referred to as nodes. Each node acts as an administrator in the Bitcoin markets and joins the network voluntarily for the opportunity to receive Bitcoins as a reward.
Each node has a duplicate copy of an original transaction, which gets continually reconciled by the network. So whatever entry that node A has on its record for a Bitcoin transaction between Jane and John cannot differ from what nodes B, C, D, E, and F have. This means of verifying each transaction by multiple nodes is called distributed ledgers. This means that since a version of events can be verifiable with different computers, a hacker, even though he gets into one system to tweak the transaction, would need to get into all the systems spread across various geographical locations to corrupt the recorded data. This feat is impossible, making the Bitcoin blockchain transparent and incorruptible.
Also, by storing blocks of information across various nodes on a blockchain network, the blockchain cannot be brought to ruins by the failure of one system. When a computer or system fails, the other systems act as backups and keep running regardless of the down system. Once all active nodes have received and verified a transaction as valid, the block (i.e. the transaction) is added to the chain (i.e. the general ledger) for public access. The ability of all nodes to keep functioning, even when one or two nodes drop out of the network, ensures that users are constantly getting their transactions recorded and confirmed in an uninterrupted and timely manner.