DApps guide. Web 3.0: the Basics

Smartz
Smartz Platform Blog
6 min readAug 30, 2018

The WWW revolutionized information in the early nineteens. With the time, the Internet became more mature & programmable. During the Web 1.0-era people were limited to the passive viewing of content, Web 2.0 websites allowed users to interact, collaborate and become the creators of content. Web 2.0 is best characterized as the read-write Web. People could not only read from the Web but also write to it. By the early 2000s, new server-side scripting technologies enabled developers to easily build applications where people could write information to a database with that information being dynamically updated every time they refreshed the page. Almost all of the websites that we know are based on this basic technology it gave us blogging, social networking, video sharing, eBay, YouTube, Facebook and all the large platforms that dominate the web today.

But there always was the problem: a middleman — a platform acting as a trusted intermediary between A and B who did not know or trust each other. While these platforms have done an amazing job at creating a P2P economy, with an ever more sophisticated content discovery layer, they also dictate all rules of the transactions, and these platforms own all of our data.

Physically the internet is decentralized; no single entity owns it. But large, centralized services support its critical components such as server hosting, DNS services, email services, search engines, social media, cloud computing, and more. These services rely on resources concentrated in a limited number of physical or virtual servers. This approach makes it more convenient for companies to keep their services maintained. Even though we live in an ever more connected world, where every device whether a toaster or a fridge are also connected to the internet. Which raises issues of trust: Can I trust those people and institutions that store my data against any form of corruption: internal or external, man-made or machine failure, on purpose or by accident? Such centralized data structures have a unique point of failure.

Blockchain seems to be a driving force of the next generation Internet, the Decentralized Web, or Web 3.0. It seems to be a simple term. But a simple question of “What is Web3/Web 3.0” may get you dozens of different answers. There are different views on what new Web is or might be.

The blockchain provides the protocols and cryptography for a globally distributed network of computers to collaborate on maintaining publicly secure databases. With Ethereum, we can run code on this creating a new set of distributed applications. The big idea here is that these new technologies of the blockchain, IPFS, and the distributed web, enable us to reconfigure the internet into a distributed global computer, so that we are no longer dependent upon the web platforms and data centers of Web 2.0 to run the Internet but can now build and run applications on this shared global computer. P2P data architectures have existed since the 1990’s where they rose to fame with file sharing programs like BitTorrent, eDonkey and Tor browser. Blockchain has taken P2P architectures to a new level. We can now start to move from centralized data structures where all data is stored on a central server to more decentralized or fully distributed data architectures.

There are a number of advantages that Web 3.0 offers:

No central point of control: Middlemen are removed from the equation, Ethereum provides a trustless platform where the rules are unbreakable, and every code execution is indisputable. No government or entity will have the ability to block sites and services and no single individual can control the identities of others.

Ownership of data: Every piece of data, every transaction in a decentralized network is owned by somebody, every change in blockchain is actually a transfer of ownership of some data from one owner to another.

Dramatic reduction in hacks and data breaches: Because data will be decentralized and distributed, hackers would need to turn off the entire network, while state-sponsored tools such as Vault7, used by the three-letter agencies, would be rendered obsolete. Also — any significant actions are public, every attack can be replayed, analyzed by experts and fixed. Simplicity and publicity of decentralized applications design lead to a more secure infrastructure of Web 3.0

Interoperability: Applications will be easy to customize and device-agnostic, capable of running on smartphones, TVs, automobiles, microwaves and smart sensors. At present, applications are OS-specific and are often limited to a single operating system. For instance, many Android cryptocurrency wallets are unavailable on iOS, causing frustration for consumers who use multiple devices. It adds expenses for developers tasked with issuing multiple iterations and updates of their software. Open interfaces to decentralized networks will lead to the death of proprietary formats and will simplify information exchange for heterogeneous environments.

Uninterrupted service: Account suspension and distributed denial of service are dramatically reduced. Because there’s no single point of failure, service disruption will be minimal. Data will be stored on distributed nodes to ensure redundancy and multiple backups will prevent server failure or seizure.

DApps and data will be controlled and accessed by users directly in a P2P fashion. Rather than IP addresses, content will be accessed by hashes similar to those used by IPFS. (In fact, Firefox and Brave browsers are already working on native IPFS support and other decentralized protocols.) There will be no single point of failure or control in these new decentralized networks. Users will finally control their own data. Hackers will continue to target Web 2.0 companies but will no longer be able to access Web 3.0 user accounts due to lack of centralized databases. Web 3.0 browsers have built-in wallets and direct access to the number of DApps. From the latest examples, Opera browser added Ethereum wallet.

Right now, there are already enough powerful toolkits to build DApps using current blockchain infrastructure. Many Ethereum clients, powerful libraries like web3.js, blockchain explorers, development of all these branches of Web 3.0 leads to very simple and effective DApps, capable to automate complex business logic with only several lines of simple JavaScript code. Web 3.0 architectures are much simpler and secure from a system engineer’s view. In Web 3.0 paradigm you don’t need the hosting, server and other centralized infrastructure for publishing your “site”, you directly pay for rent of some space in blockchain to place your application and its data. The responsibility of availability, stability, the correctness of your business logic from this moment is passed to block producers (so-called “miners” in some networks), because they’re incentivized to process as much data, as possible.

While blockchain is a great P2P way to record, who did what and when, and perform corresponding funds transfers, it’s not ideal for all business tasks, for example for simple storing large amounts of data. In such cases, Web 3.0 will use specialized decentralized storages.

Also, there is a scalability issue: blockchains are too slow and, of course, cannot be faster than a simple centralized database. But efforts to make blockchains faster are very intensive, and there are many promising projects in this area.

The transition from client-server internet to the decentralized web will be gradual rather than radical. As the decentralized web stack is still maturing, the transition seems to be shifting from centralized to partially decentralized to fully decentralized. Furthermore, it is important to point out that while decentralized architectures are more fault tolerant and attack resistant, they are also slower. While it is likely that the future of the internet will be more decentralized, this does not mean that we will get rid of centralized systems altogether. Centralized systems also have advantages and will likely prevail, but only for specific use cases. Nothing is “free” in computer science — powerful advances in DApps architecture are balanced by difficulties with software fixes, reverting error consequences, unavailability to return stolen funds, etc. Decentralization is not the “silver bullet”, this is another, very young, class of software, designed to solve specific problems.

References

--

--