The WWW revolutionized information in the 1990’s. 10 years later, the Internet became more mature & programmable. We saw the rise of the so called Web2, which brought us social media and e-commerce platforms. The Web2 revolutionized social interactions, bringing producers and consumers of information, goods and services closer together. We enjoyed P2P interactions, but always with a middle man: a platform that had the role of a trusted intermediary between A and B who did not know or trust each other. A platform that dictated and still dictates all rules of the transactions, and owns all of our data.
In this context Blockchain seems to be a driving force of the next generation Internet, the Decentralized Web, or Web3. It can bring us true P2P transactions without a middle man, and Bitcoin is the first use case. Bitcoin is P2P money without banks and bank managers. The same technology that brought us Bitcoin could now allow us to build ride sharing without Uber, apartment sharing without Airbnb, and social media without Facebook and Twitter.
# Killing the Server: Redesigning Data Structures
We first had the computer, and then we started connecting computers over the Internet Protocol. In the early days of personal computers, we used to save data on a floppy disc, eject it, walk over to the colleague that needed the file, insert the floppy disc into that person’s computer, and copy the file onto their computer so they could use it. Data was stored locally.
30 years into mass adoption of the internet, our data architectures are mostly still client server based. Which means that data is stored locally on one computer, and retrieved remotely by another computer over the Internet. Even though we live in an ever more connected world, where every device whether toaster or fridge are also connected to the internet, data is still stored locally: on our devices, on the USB stick or even in the Cloud. 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? Centralized Data Structures have centralized points of failure. It’s as if we never invented the Internet.
# From Data Monarchy to Data Democracy
P2P data architectures have existed since the 1990’s where they rose to fame with file sharing programs like bittorrent and Tor browser. In combination with cryptography and game theory incentive mechanisms 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 computer, to more decentralized or fully distributed data architectures.
In the Web3, we are now redefining data structure, given that we live in a connected world. It is important to note that Blockchain is only one of many technologies in this Decentralized Web. While Blockchain is a great P2P way to record who did what and when, it is not ideal for storing large amounts of data, for two reasons: (1) scalability: blockchains are too slow, and (2) doesn’t allow privacy by design: never store private data on the Blockchain.
# Web3 Technology Stack
Similar to building a normal web or mobile applications, creating a dApp commonly requires a few things: computation, file storage, external data, monetization, and payments. The community has made a lot of progress building the ecosystem in the past 4 years. While it was borderline impossible to build a dApp in 2014, in 2017 it’s feasible to build a basic dApp that requires minimal computation and file storage. The Web3 ecosystem has come a long way to develop a technology stack that devs can build upon. Here a listing of a few selected graphics:
# Further Reading
- The dApp Developer Stack: The Blockchain Industry Barometer, by Fred Ehrsam
- Blockchain will usher in the era of decentralised computing, Bruce Pon, BigchainDB