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 operate on the same network and communicate with each other in an effort to complete a specific task or command—unlike a traditional app, which utilizes one dedicated system to achieve an assigned task.
Key Takeaways
- 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 (ĐApps)
A Đ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. They 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.
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 them.
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.
Example of Distributed Applications (ĐApps)
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, and creating access to groups such as peer-to-peer (P2P) lending groups. ĐApps might also be utilized to improve verification on historical transactions, simplify AML and KYC processes, improve trade finance and supply-chain finance, and enable open banking.
Blockchains and Distributed Applications (ĐApps)
In the cryptoeconomy, the blockchain used by most cryptocurrencies utilizes Đ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, referred to as nodes, each act as an administrator in the bitcoin markets and join 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.
Since a version of events can be verifiable with different computers, a hacker would need to get into all the systems spread across various geographical locations in order to tweak the transaction and 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—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.