What does a blockchain application (decentralized application) look like?
The technical white paper of EOS gives six conditions required for the application (as shown below), and the software design of EOS is indeed designed to correspond to these conditions. In this section, we will focus on three of EOS’s special designs for applications: free for users, account system, and storage. Six conditions for
blockchain application:
- Supporting millions of users requires blockchain technology that can handle tens of millions of daily active users.
- To use free, Dapps developer need to be flexible enough to provide users with free services; users do not have to pay to use the platform or to benefit from the platform’s services.
- Easy upgrades and bug fixes, the blockchain platform must provide support for software and smart contract upgrades.
- Low latency and timely feedback are the foundation of a good user experience.
- Serial performance, some applications cannot be implemented with parallel algorithms because commands must be executed sequentially. Blockchain needs to provide strong serial performance support.
- Parallel performance, large applications need to distribute the workload among multiple CPUs and computers.
To what extent should blockchain applications be decentralised?
Similar to the Internet, all expectations for blockchain to be useful rest on applications, commonly referred to as decentralized applications (DAPPs). Before discussing the special design of EOS for applications, let’s discuss the architecture of blockchain applications or so-called decentralized applications, which are the forefront of blockchain applications that are still being explored.
Regarding the prospect of application, in the book “Blockchain Revolution”, Don Tapscott once looked forward: “We are entering a new era of digital revolution, people can program and share distributed software. Just like As the blockchain protocol itself is distributed, DApps Development Services a distributed application or DAPP (decentralized application) will run on many computers instead of a single server.”
After more than 20 years of development, We are all familiar with what a website or mobile application of the information Internet looks like, so what exactly is a decentralized application related to blockchain?
To understand blockchain applications or decentralized applications, we still have to start with the familiar.
The currently recognized development prospect is that the Internet will leap from the Internet of Information to the Internet of Value based on blockchain. The applications of the information Internet are websites and mobile apps. When looking at applications, many people naturally think that there will be native blockchain applications or decentralized applications on the blockchain.
The structure thus formed is shown in Figure 1 a): websites and mobile apps correspond to the Internet of Information, while so-called blockchain applications/decentralized applications correspond to blockchains. Early applications did show such a state, such as block explorers, each blockchain’s own wallet, etc. Every blockchain is a distributed ledger and decentralized network that provides data and functionality. Early applications interact with these blockchains.
But we quickly found that when ordinary users want to use the blockchain, the application may become similar to Figure 1 b): there is a “blockchain” in the website and mobile app that interacts with the blockchain for data and functions Apps”, while the average user sees websites and mobile apps. We can even say that for ordinary users, there may be no blockchain applications or decentralized applications at all, only applications.
If you look at the application of a blockchain alone,
- The blockchain is a distributed ledger and decentralized network that provides a range of value-related data and functions.
- Multiple applications access the blockchain network. Among these applications, some may be available to ordinary users, a combination of website/mobile app and blockchain application; some may be pure blockchain applications.
- Some applications may be connected to multiple blockchains. For example, the common application exchanges and wallets are connected to multiple blockchains.
- The Steemit blog application based on the Steem blockchain is one of the few applications that ordinary users can use. On the Steem blockchain, the above application architecture is more clearly displayed:
- The value is stored on the Steem blockchain (STEEM coins, SP, SBD and other three tokens), and the value is distributed according to the content contribution.
- Based on this blockchain, there are multiple applications: Steemit blog platform, video platform DTube, etc. available to ordinary users; standing applications such as blockchain browser steemd.com website. Its community is relatively active, and there are many other applications.
The main developer of Steem is also Daniel Larimer (BM), the main developer of EOS, which generalized the Steem blockchain and made many improvements. For example, comparing Steem and EOS, we can see that EOS no longer adopts the unreasonable design of storing content on the blockchain, DApps development company but it continues to expand the existing account and permission system in Steem.
The Bitcoin system has completed a proof-of-concept for value representation and value transfer with blockchain, while the Steem blockchain and Steemit blogging platform, an early project, may have completed a proof-of-concept for blockchain applications. Now, EOS has carried forward many of its previous designs.
In the book Decentralized Applications, developer Siraj Rawal discusses the degree of decentralization of decentralized applications. In his view, blockchain could decentralize in four ways that it used to be centralized:
- Decentralized data
- Decentralized wealth
- decentralized identity
- Decentralized computing
In my opinion, the core function of blockchain is decentralized value representation and value transfer, which correspond to wealth and computation in the above categories, respectively. When trying to build an application, we should focus on these two. Like other major blockchains, EOS does both well. It also seeks to drastically improve the core performance of the blockchain itself, namely transactions per second (TPS).
Perhaps equally importantly, EOS provides more functionality and features for developing an application usable by ordinary users than other blockchains. Next, we discuss three things that EOS does for applications: free for users, account and permission system, and storage system.