Babbitt Column | A Clear Understanding of Dapp from Multiple Perspectives

The news of Binance's acquisition of DappReview has captured the hot spot of the currency circle. It may be because the currency circle is still in the early stages of development, or because it is decentralized and has no authority. The same is true for Dapps, each with its own definition.

Dapp, literally means: decentralized application. D is decentralized. App is application, which is the same concept as our commonly used mobile app.

Let's first look at dapps from a user download and use perspective.

Apps are most commonly downloaded and used on mobile phones, and some apps are used on browsers in the form of plug-ins. There are also apps on MacOS and win10.

Dapp can also run on multiple platforms.

At present, the most commonly used dapps for users are running in encrypted digital currency wallets, such as bitpie and imtoken. The user first downloads the wallet. The dapp is developed by the developer and the wallet vendor and presented on the wallet interface. The user uses the wallet as the entrance to the dapp.

Dapp's second largest operating platform is the browser. There is a digital currency wallet on the browser, which exists as a plugin. Such as the widely used MetaMask fox wallet. Users can load Dapp through MetaMask.

There are also Dapps that are themselves a website, and there are also wallets that exist as a web page.

The biggest difference between web wallets and plug-in wallets is that plug-in wallets can be used offline, but web wallets cannot be offline.

No matter what method users use to access the Dapp, they need to use a wallet. This is a bit like a WeChat applet.

The basic usage process of the user is this. The interaction between the user and the dapp is that the user sends a transaction that contains special information (these special information is defined by the dapp). The dapp uses the user interface to facilitate the use of constructing transactions; Then, hand it to the wallet to sign the private key; after signing, broadcast the transaction to the blockchain.

After the user's transaction is submitted to the blockchain, the dapp will listen to the user's address and display the result of the blockchain processing on the user interface.

Users use Dapp, which is the user interface of Dapp to assist users in constructing transactions, submitting transactions to wallet signatures, broadcasting broadcast transactions, Dapp monitoring the blockchain, and giving users feedback on the results.

This is a Dapp with a wallet. Most people currently think that Dapp should be like this.

Others believe that Dapps can also come without a wallet. For example, the blockchain browser is a Dapp. The user enters a specific address through the browser, and the browser feeds back some data to the user. This process does not require signature transactions. The role of the block browser as a Dapp is to help users analyze transaction information.

We define dapp from the perspective of product design principles.

Unlike regular servers and clients used by apps, dapps add a blockchain end. Generally, a dapp also has a server, and the server generally runs a full node of the blockchain to maintain interaction with the blockchain.

From a design perspective, Dapp = server + smart contract (blockchain end) + client.

From the perspective of execution tasks, the client is responsible for sending transactions, the smart contract is responsible for executing transactions, and the server is responsible for parsing transactions. What I am talking about here is the core task. In actual operation, various parts will have multiple tasks.

Some Dapp designs have no server, which is purely peer-to-peer users interacting via the blockchain.

Third, we define dapps from the perspective of computer operating principles.

Any program needs to consume three types of resources: storage, computing, and bandwidth. Dapp is the same.

Dapps typically store data on the blockchain. The transaction must be on the blockchain. The mainstream view of the currency circle is that the real Dapp data should come from the blockchain.

But in fact, a large number of Dapps require off-chain data to run.

The calculation of Dapp will generally be on the server and the blockchain. Smart contracts carry the most important computing tasks, and this part is done by the nodes on the blockchain. Completing core calculations by smart contracts is the most important design to ensure that Dapps cannot be cheated.

Calculation can be considered as an algorithm for processing data. Dapp's conventional algorithm design is designed as a smart contract. Some Dapps will open source the algorithm code and store it on the blockchain, but the actual operation of the algorithm requires the server to complete, and the blockchain does not perform computing tasks. Like decentralized exchanges, calculations are performed by servers plus smart contracts.

Ethereum, the Dapp on EOS, is basically calculated by smart contracts. The Dapps included in Dappreview are basically this type.

The computing tasks of BCH and BSV-like UTXO-type blockchains are basically completed by servers.

The data transmission of Dapp is generally completed by means of the blockchain network.

Fourth, look at Dapps from a decentralized and centralized perspective.

Dapps are strictly decentralized, but basically all dapps will have a main body of operation, basically a company operating. Strictly decentralized dapps will not fail. We can look at Dapp in terms of whether it will fail or not.

100% of the data is Dapp stored on the blockchain and it is difficult to fail. Even if the operating entity fails, others can pick it up and continue. Just like the blockchain browser (if you think it is a Dapp), it is a typical Dapp that will not fail.

Generally speaking, we can define a Dapp that will not fail as a protocol, and the protocol is eternal.

Most of the existing Dapps will go out of business, which is centralized. The main reason is that there are many core data or calculations outside the chain. As long as the operating entity does not operate, others cannot continue these data and calculations.

However, the centralized Dapp is not to deny its value, because with the help of the blockchain, it can do a good job in preventing cheating and be fairer.

The currency circle is too fond of new concepts, and it is really tiring to learn.

Author: Huang Shiliang

Welcome to WeChat public account: Lightning HSL, H13116885

Welcome to BTM: bm1qefc720au672awrgazgw5c3kx7etr5kejju02p7