Decentralizing the Dapp Stack
Decentralized applications, or dapps, are applications that run on a blockchain network. First introduced in the early days of Ethereum, dapps are distinct from traditional web applications in that they are decentralized, meaning they are not controlled by any single entity. This makes them highly resistant to censorship, fraud, and other types of manipulation. Dapps span various use cases and industries, from CryptoKitties, a blockchain-based game for collecting and breeding digital cats, to Uniswap, a decentralized exchange for trading cryptocurrency.
App vs. dapp architecture
Traditional apps
Traditional applications are composed of a frontend, a backend, and a database:
- The frontend, also known as the client-side, is responsible for the user interface and user experience. Frontends are typically built using HTML, CSS, or JavaScript, and are rendered in a web browser or mobile app.
- The backend, also known as the server-side, is responsible for handling logic, data processing, and communication with the database. Backends are typically built using programming languages such as Python, Java, or Ruby and use frameworks such as Ruby on Rails, Express.js, or Django.
- The database is a system that stores and retrieves data, such as user information or application content. It can be a relational database, such as MySQL or PostgreSQL, or a non-relational database, such as MongoDB or Cassandra.
All these three layers work together to make the application function properly. The frontend interacts with the user, the backend handles the logic and communicates with the database, and the database stores and retrieves data.
Dapps
Dapps are imagined differently. Though the frontend of a dapp is similar to a traditional web application, the dapp is supposed to be built directly on the blockchain, with its logic executed by smart contracts, instead of leveraging centralized servers and databases.
- The smart contract, which is a self-executing contract with the terms of the agreement written directly into lines of code, serves as the backend of the dapp—it holds the logic and data processing and is responsible for managing the state of the application on the blockchain.
- The blockchain, on the other hand, acts as the database—it stores all the transactions and data of the dapp.
Are dapps truly decentralized?
Or, at least, that’s the idea. In reality, smart contracts and the blockchain are not nearly robust enough to handle the high throughput and complex data requirements of modern applications. Instead, dapps today are leveraging centralized backends and centralized databases, just like traditional web apps.
Which means that your favorite decentralized application isn’t truly decentralized.
Why does that matter? Centralized infrastructure is simply not suited for integration with the blockchain. Centralized backends and databases are controlled by a single entity, and therefore subject to censorship, data breaches, and other forms of manipulation. This undermines the core value proposition of decentralized applications: to create a trustless system where no one has control over the data and the execution of the code.
Centralized backends and databases are also not transparent and auditable, which can make it difficult for users to verify the integrity of the data stored and the code executed. And a compromise in either layer can lead to loss of user data, which can result in reputational damage and loss of user trust.
A new dapp stack
Space and Time is introducing a new solution for dapp developers: a Web3-native data warehouse that acts as the serverless backend for dapps and operates in a truly decentralized model. Space and Time has developed novel cryptography inside the data warehouse (Proof of SQL) which proves that the SQL operations are valid, and the underlying data has not been tampered with—allowing smart contracts to run queries directly. Space and Time also has a built-in API gateway to allow applications to be built directly on top of the platform.
Now, you as a dapp developer aren’t constrained by the limitations of blockchain, and you don’t have to rely on a centralized backend and a centralized database. All you have to do is build a frontend and write a smart contract. Space and Time takes care of the rest.
This opens up a wealth of powerful new use cases and business logic on blockchain technology. Dapps have the potential to create truly decentralized, open-source platforms for a variety of different industries, from finance to social media. They can ensure equitable and fair distribution of power and resources, as well as increased security and privacy for users. If we fully decentralize the dapp stack, we can transform the way we interact with technology and the internet.