“Decentralized applications” (also known as DApps) has become a hot spot in the current blockchain industry, but once we get down to do researches, we will find that most DApps are just gaming plate or funds plate. What’s more worrying is that DApps may become another word with vague definition after the “blockchain” and there are various misunderstandings in the market about it.
Now, we’d like to share the current status of DApps and the key solutions and methods from the history of decentralization and centralization. We believe that our experience shared as follows will bring inspirations for you.
Seesaw Game Between “Centralization” and “Decentralization”
The process of computer software is a process of “centralization —- decentralization —- re-centralization —– re-decentralization”.
Internet originated from the research project ARPANET by the US Department of Defense. According to its initial design, if there was only one centralized military command center, once it was destroyed by Soviet nuclear weapons, the military command nationwide would be in a state of paralysis. Therefore, it’s necessary to design a distributed network system with shared data. Therefore, the idea of decentralization had been rooted in the design philosophy of Internet. Many early Internet protocols, including TCP/IP, were designed based on the idea of decentralization.
Then gradually developed character-oriented terminal. As the name suggested, it only owned the function of input and output characters without processors or hard disks. They were connected to the host through the serial interfaces and all the work must be handled by the host; then followed by the appearance of time-sharing operating systems, that is, multiple users shared the resources in the host.
Since the character-oriented terminal, time-sharing operating system, etc. could do nothing without the host, the software was completely running on the centralized computers, which brought us into the period of centralization.
It was not until the appearance of PC era that we ushered in the first truly decentralized applications. Yes, never be surprised because all the “stand-alone” software we have used should belong to the decentralized applications to some extent.
The most important protocol in the Internet era is “file”. With the “file” protocols, all the applications spread across countless computers have a common communication “language” and new applications can be installed by means of the “file”. The application results must also be propagated to other applications through “file”. Therefore, we ushered in a decentralization period without having to rely on the centralized host.
When the way of “file” exchange suffered from bottleneck and could not meet the requirements, a network application model known as “client-server framework (C/S framework)” became popular, which appeared in the pre-Internet era based on enterprise applications. Such a kind of framework has never been outdated till now.
C/S became an evolution which got more centralization from the decentralization. However, for each C/S framework system, different “languages” (protocols) were spoken between the client and the server.
When browser became popular, people began to realize that it was a common client which could understand more general standard “language” (HTML), which enabled applications more centralized and easier to be developed, deployed and maintained. So, a more centralized mode, the browser/server framework (B/S framework), has started to be popular again.
According to the recent situation, the “Web 2.0” movement in 2005 was the closest to the decentralization of desktop Internet era. As the decentralized publisher and media, Blog adopted the RSS, the simple and open protocol. At that time, the social networks with personal nodes were booming and FOAF, Microformat, OpenID, OAuth, etc. were the development standards which came into being in that era.
Therefore, the “protocol” is the key to decentralized applications. The most important protocol in Internet era is the TCP/IP protocol family as well as more application protocols based on it. These open protocols enable all the developers around the world to build up the Internet today.
However, unfortunately, the industry giants such as Google and Facebook strategically extinguished the “Web 2.0” decentralization movement. They pushed the Internet centralization to the extreme. The giants in China also established a monopoly and closed force to boost the centralization to the extreme. In the browser war during that period, Microsoft made use of its monopoly position to defeat Netscape with the public conspiracy, then Google and Facebook took the lead in strangling “Web 2.0” was the conspiracy concealed by the perfect sunshine. Portable data, decentralized content and social interaction had been killed by them, but now we still believe they are innovative, open and contributing.
Of course, we must admit that Google and Facebook have contributed a lot of open source products, many of which have become a weapon usable in the blockchain era. For example, Level DB used by Bitcoin is just the Google product, RockDB adopted by Ethereum and ArcBlock is a Facebook product. The fate of technology is sometimes the process of repetition and iteration.
If there’s a seesaw game between centralization and decentralization, it’s also comparative.
Take Bitcoin as an example, from the perspective of the network topology, there are numerous and scattered bitcoin nodes. According to the mining mechanism of POW, launching attack on Bitcoin needs more than 50% of the overall hashrate. The crash, shutdown and attack of a few nodes will not affect the security and proper operation of the entire Bitcoin network—which means the Bitcoin network is decentralized.
However, from the perspective of Bitcoin software development and distribution, only the Bitcoin Core team can release new versions of Bitcoin code. Although they recently announced how to use a series of means to ensure the safe and reliable code release process, and they also adopted the open source approach to enable everyone to participate in the contribution and make modification after the fork, it still belongs to centralization from the perspective of software distribution upgrade.
As an application, Bitcoin is designed as a P2P E-cash. Its wallet address is generated by the user without being issued and approved by anyone. Without the private key, no one or organization can steal the bitcoin. Meanwhile, Bitcoin transfer doesn’t need the involvement of any third party, and no other persons or organizations can ban or tamper with the transaction; the record of Bitcoin transaction is permanently stored in Bitcoin blockchain, which cannot be tampered, deleted or hided. All these are enough to prove that Bitcoin is a truly decentralized application.
There’s another thought-provoking fact. Since the public has recognized the high degree of decentralization of Bitcoin network, it is also highly decentralized as an application. In the end, everyone has recognized the Bitcoin network service —- there is only one Bitcoin in the world. From this perspective, Bitcoin is also highly centralized. So, it’s very interesting. When a system is decentralized from a certain aspect; however, from another perspective, it may seem to be more centralized due to its decentralization. Therefore, the difference and definition of any centralization and decentralization are relative instead of being absolute, and they even keep evolving and intricating.
Current Rivalry between “Centralization” and “Decentralization”
Now, the Internet centralization seems to have reached its limit. What are the reasons for pushing the centralization to the extreme?
We think there are several reasons as follows:
- Closed centralized account system. In the past two years, Internet thinking was very popular and many companies were inspired to obtain many users first, collect their information and then benefit from advertising or promotion. So, many companies exclusively competed for users and tried all means to lock the users in their own platforms as much as possible;
- Repetitively create incompatible “wheels” to set up so-called “competition barriers.” It actually violated the original spirit of the Internet and the Web, but now they have become the most common means of competition, so that we many have 10 different message apps, 10 different bank apps, 10 different movie apps… and they play the same role only with the different SPs;
- Occupy the data which should belong to the users free of charge or with extremely cheap prices. Not allow users to migrate data or create various obstacles to make the users inconvenient to migrate data, occupy the users’ time, attention, bandwidth, etc. as much as possible to obtain endless data stream;
- Failure to comply with the protocols, or provide open protocols, or only partially provide the protocols to create the illusion of “openness.” They use the illusion of “openness” to acquire users while use the reality of “non-openness” to make it more difficult and expensive for the users to migrate data to restrain them permanently.
However, it’s a general trend to divide after a long period of integration and vice versa. Nowadays, the representative force of decentralization —- the blockchain, has brought the trend of decentralized applications. Of course, just as we have discussed before, the decentralization and centralization are relative. The blockchain also evolved after the continuous development of the Internet and computer technology. Without the rapid growth of Internet bandwidth and computer performance in recent years, the blockchain will never get boomed and developed.
In addition to the technology development, there are other factors and events: the huge losses caused by repeated leakage of users’ privacy data, the indifference of big companies such as Facebook on privacy issues, the implementation of European GPDR Act, etc. More and more people start to realize the value of decentralization again.
The development of DApps and blockchain can just solve the four major pain points of centralized monopoly of Internet:
- Unified, autonomous and decentralized ID;
- Reuse “wheels” in large numbers instead of constant recreation;
- Data belongs to users completely and users have decision-making right;
- Complete and fully open protocols, backward compatibility as much as possible (not to create unnecessary forks).
Therefore, the DApps development is firstly at the premise of personal identity, your ID, relationship, data, assets… which should be controlled by yourself instead of others; secondly, peer-to-peer digital asset flows (cryptocurrency and others) without any intermediary or approval by others; then data should be migrated and you have the rights to make your own decisions on your data. Nobody could use your data unless being authorized. These important foundations are unsolvable before the emergence of blockchain, but making a breakthrough has become the key to the future development of computer technology.
Understand the Development of DApps
Unfortunately, most applications claiming as DApps today have no property of decentralization at all. Most applications simply make use of some attributes of blockchain smart contracts.
Take the game application such as CryptoKitty as an example, it only adopts the feathers of Ethereum ERC721. The frontend and design of the whole game are not much different from a traditional web game. Its biggest feature is that it makes use of smart contract of Ethereum to guarantee the uniqueness and distinctiveness of these cats.
The gaming type games also use smart contracts to make users mistakenly think they open and transparent. No one can control the games behind the curtain. As a matter of fact, quite a lot of these games are more vulnerable to attacks due to the problems such as code design or blockchain technology. They are more unreasonable and unfair than traditional games, or even more unsafe.
But we believe that in the future there will be very successful and playable games which fully use of the blockchain decentralization. But they will never be those with poor security and experience today.
Why didn’t DApps become popular now? In fact, the popularity of any novelties should indispensably undergo the long and dark eve. Many people only see the stage of the explosive popularity while overlooking the slow accumulation process of the potential energy.
Before the advent of iPhone, the concept of smart phone had come into being for more than 10 years. The famous investor, Peter Thiel, pointed out in the book “From 0 to 1” that if a new product aims to achieve a high-speed growth, it must be more than 10 times better than the existing solution.
Therefore, the application should not be decentralized simply for the sake of decentralization. The key to decentralized application is to find a problem to be solved. The decentralized solutions for this problem should be N times better than other methods, or obtain the “unfair” competitive advantages by breaking the conventions If all the aforesaid questions can be answered, then congratulations, this decentralized application is doomed to get very popular.
Take Bitcoin as an example, as a peer-to-peer cryptocurrency, it breaks countless conventions and solves some real pain points. Therefore, Bitcoin has almost unfair competitive advantages compared to other traditional cryptocurrencies or payments such as Paypal. Although Bitcoin is slow and inconvenient to use, it has grown rapidly over the past decade.
Therefore, the developers and product managers of decentralized applications should focus their attention on finding and solving problems first, and then other issues such as user experience, especially how to make it easier for the public to enter the world to solve their original pain points by the new products.
The blockchain has been developed for only a decade now and the blockchain environment DApps relies on is still very primitive. EOS is indeed faster than Ethereum, but there’s no public opinions on whether it’s a better or worse solution. Other public chains copying and stimulating Ethereum need more time and results to prove whether they’re more workable.
Although the blockchain technology today is still in its infancy with unmatured technology, all the teams with strength, faith and willingness are making endless efforts to solve the technological bottleneck today as soon as possible.