2.6 Decentralized application - dAPP

A dApp (Decentralized Application) is an application that enhances modern web applications by distributing key components over a network of peer-to-peer nodes. When comparing dAPPs with the general internet applications, the internet application user first would first see the UI page, then the interface layer, and all the code is completed on the infrastructure, such as the database. The blockchain is similar, except that the infrastructure is the blockchain; the hardware is the node of the miners; the upper-level business layer code is a smart contract, and the top layer is the specific business.

Decentralization is not an absolute description- it has a scope. Well-designed existing web application infrastructure and key components of distributed applications are able to reduce risk and ensure a great user experience.

What needs to be emphasized here is that the middle part puts the transaction on the chain, that is, how an application is connected to the node of the blockchain. Generally, there are two methods below:

● With the help of browser + plug-in wallet, it is analogous to the use of ApplePay and Alipay in the Internet;

● Build a wallet in your own application, which is analogous to a bank app.

Pull the server in, there are often three situations that require it:

● Integrate third-party services;

● As a cache engine;

● Store large blocks of data.

A complete system implemented by dApp will have many advantages. To sum up, the main points are as follows:

A Mitigating Single Points Errors - SPOF

The infrastructure on which modern web applications depend has problems like single points of failure. These single points of failure include server infrastructure, codebases, databases, and more. Progress has been made to mitigate single points of failure with the advent of reliable infrastructure with high availability and service providers such as AWS and GCP. But as strong as AWS, there were outages in early 2018, and it is difficult to avoid downtime.

dAPPs alleviate these problems by storing data or key components of the infrastructure on a network of multiple peer nodes. Data is hard to lose if every participant in the network has a copy of the data.

B Reducing reliance on central institutions

In software, business logic is part of the process. It encodes real-world business rules for how data is created, stored, and changed. Business logic is essentially a set of contracts that dictate how business objects interact with each other and define how users or other objects can access and update objects.In traditional web applications, these business logics are implemented in variable softwares.

In traditional web applications, these business logics are implemented in variable softwares. Softwares can be modified after initial creation, while also running on a private server, which is not guaranteed to be tamper-proof and auditable. Distributed ledgers, on the other hand, provide a way to build and execute business logic in programs that can be tamper-proof, immutable, and fully auditable—smart contracts. Users of smart contracts can verify the implementation logic in smart contracts, including checking the input, execution status, and output of logical interactions. Smart contracts cannot be modified at will, which can reduce trust in centralized institutions.

C To improve security

Given the above two points, application security can be improved by mitigating common risks in current application architectures. More specifically, dApps protect or encrypt certain types of information before sending it to the app’s servers by introducing client‘s encryption. Users can use encryption keys to access data directly without going through a data gateway (such as a company's server or API).

D Exploiting network effects

Modern web applications are able to leverage network effects to create sticky services while trying to capture the largest market share possible. A good example is OAuth or "Login with X". Google and Facebook could provide a coherent cross-product service, but would also be limited by the scope of their user bases and the information stored on their private servers.

dApps can use public ledgers and distributed storage as a source of truth. Ultimately, they can provide identity or authentication, permission rules and data access proportional to all resource participants in the network.

E Cryptography and Distributed Ledgers

Some of the technologies currently in use form some of the fundamental building blocks of the dApp ecosystem, enabling it to achieve its main goals.

● Distributed data storage, which is the data storage without trust issues. Data storage solutions such as distributed ledgers (blockchain), IPFS (interplanetary file system), etc., can store data on multiple nodes.

● Distributed business logic, which executes business logic without trust issues. Technologies like the aforementioned Ethereum smart contracts allow business logic to be executed on a distributed ledger.

● Client-side encryption, mainly for end users. Blockchain technology wallets–Ethereum Clef and Parity-UI port cryptographic functionality to the client. This enables users to encrypt or sign data before sending it to the application's servers. It also supports interaction with distributed storage solutions and distributed ledgers.

All in all, dApps has a new design pattern. This model uses the best modern application design and is enhanced by blockchain and P2P technology. As ideas, resources, and innovation entering this field, it will become one of the most dynamic ecosystems in history and in the future, thereby promoting the formation of a token economic system.

It is foreseeable that dApp will help blockchain technology to be implemented in life and provide us with services in various scenarios.

Last updated