🚀 Fauna Architectural Overview White Paper: Learn how Fauna's database engine scales with zero ops required
Download free ->
Fauna logo
FeaturesPricing
Learn
Customers
Company
Support
Log InContact usStart for free
Fauna logo
FeaturesPricing
Customers
Start for free
© 2024 Fauna, Inc. All Rights Reserved.
<- Back
centralized-decentralized-purple

Building integrated centralized and decentralized applications

Wyatt Wenzel|Jan 25th, 2022|

Categories:

dApps

Investments and interest in decentralized or web3 companies has increased following the rapid adoption of decentralized applications (dApps) being built in the DeFi and NFT ecosystem in the last year. While this is true, the internet, enterprise technology, and financial trading are still largely operating in centralized or web2 architectures — characterized by companies that own and manage the data produced in their applications privately. In the current centralized paradigm, applications and services are managed and provisioned by these respective companies and are not interoperable; hobbyist developers can’t port profile, conversation, or activity history between centralized platforms like Instagram and TikTok.

Web3 is fundamentally focused on decentralizing control and ownership through the deployment of novel technologies like blockchain. Unlike the current paradigm, where decisions and activities are ultimately controlled by centralized entities, blockchain derives consensus on whether an action or transaction takes place contingent on the set of terms embedded in a smart contract (which are made public and agreed upon by those participating on the network). This leads to trustless applications and architectures that allow consumers to no longer be required to place trust on a single centralized entity.

Depending on the use case, an application may be built on a range of different blockchain foundations, each of which are optimized for different characteristics (speed, decentralization, scalability, security, privacy, etc.) The choices in these performance tradeoffs naturally lead to applications residing on a continuum of complete centralization or decentralization across different blockchain layer-1 solutions, and also inform which platform developers select to host their application (Ethereum, Solana, Polygon, and Avalanche, to name a few). Generally speaking, the more decentralized and secure a protocol is engineered, the slower the user experience becomes. As developers and users explore the utility of dApps, we’re witnessing a period of experimentation where communities are deciding the appropriate and necessary blend of user experience, decentralization, and security. And, as a result, developers and users are also prioritizing which platforms are best suited for the hybrid environments naturally unfolding from the intersection of centralized and decentralized technologies.

Oracles and cross-chains, fiat-to-crypto on-ramping, off-chain databases, and hybrid development environments will ultimately be key factors in maturing the blockchain ecosystem.

Oracles and Cross-Chains

Blockchain platforms are still in their infancy, and many robust layer-1 blockchains are insular by design. These layer-1 chains are good at adhering to the rules programmed into their smart contracts, however are either incapable or prohibitively slow at ingesting and processing data from other sources. This is true for both off-chain and cross-chain data.

Blockchain oracles were built to solve the off-chain data translation problem. According to the leading oracle provider Chainlink, oracles are “entities that connect blockchains to external systems, thereby enabling smart contracts to execute based upon inputs and outputs from the real world.” Consider a blockchain application built on top of Ethereum that needs to pull in live pricing data from a stock exchange. Chainlink’s utility, in this case, would be to extract that data from what would likely be a centralized application, and then present that information in the blockchain application in an intelligible format. This example begs the question of whether or not this type of data (non mission-critical/transactional) even needs to reside on-chain.

Blockchain oracles help integrate disparate forms of data: “on-chain code and off-chain infrastructure are combined to support advanced decentralized applications (dApps) that react to real-world events and interoperate with traditional systems.”

Similarly, suppose a blockchain application built on one layer-1 platform needs to access data from another layer-1 platform. This is where cross-chain platforms are necessary. Companies like Polkadot Network are building cross-chain technology to make blockchain applications more interoperable and connected. Just as oracles are necessary to connect live data on centralized and legacy infrastructure with blockchain applications, cross-chain platforms are necessary to ensure that data living on different blockchain platforms is also translatable. Further maturation of these platforms will enhance the usability of blockchain applications considerably, and potentially mark a distinct advantage over centralized companies.

Centralized applications lack embedded interoperability — a user may have identities spread across multiple platforms that purposefully do not interact with each other. Decentralized applications, aided by technologies like cross-chains, provide users with this portable identity.

Fiat-to-crypto on-ramping

A particularly popular use case built on top of blockchain technology is cryptocurrency. Even the most bullish cryptocurrency promoters acknowledge that widespread migration to a fully digital currency is on a longer-term time horizon. Not unlike the examples above, technologies are needed to tether fiat to crypto. On-ramping solutions like Circle are integrating fiat and crypto for businesses and consumers, reflecting the hybrid state of affairs that’s likely to persist for years to come. These solutions need to make the experience as easy as possible. To truly operate within the decentralized ecosystem and trade cryptocurrency today, the barrier to entry is extremely high. Users need to download a variety of wallets, store a unique private key in a safe place, and often wait a very long period of time for transactions to process. In order to increase adoption and utility, on-ramping solutions need to reflect the experience users have with their traditional banking institution. Ultimately, blockchain will be the processing layer under the covers, but the majority of users shouldn’t need to know how it works.

Off-chain database

While there are certain categories of data that need to reside on chain (which is of course the very purpose of blockchain), it’s also true that the blockchain isn’t always the best solution. Data and processing components like user authentication information, unstructured and non-mission critical data, bank account information, or gaming data can all reside off chain while still maintaining decentralized components in your application. Blockchains are very good at processing and storing certain types of data, but less performant when it comes to doing so at scale. While there are a number of platforms that are addressing these concerns, off-chain databases are necessary to ensure a performant application and in turn a great user experience. A database like Fauna is particularly useful in this area because it is serverless. dApp builders can focus simply on the on-chain mechanisms, and Fauna will handle operational demand based on user demand.

Centralized development frameworks in dApps

In order to truly scale, the decentralized ecosystem must continue to attract developers. The flywheel generated from enhanced developer activity around certain protocols will lead to more performant applications. For now, technologies that incorporate tooling and frameworks aligned with centralized patterns will have an advantage. There is a growing ecosystem of developer tools like The Graph, which indexes blockchain data so that when dApps need to directly query on-chain data they can do so with low latency. Similarly, Fauna is an off-chain database with a GraphQL interface that enables dApps to query on-chain and off-chain using the same query language.

We are at a very interesting inflection point in the transition from centralized to dApps, and tools like Chainlink, Circle, The Graph, and Fauna will help blockchain applications bridge the gap.

Storing off-chain data is an important piece of this hybrid architecture, and organizations are adopting Fauna because of its developer experience and security. Fauna empowers developers with the essential capabilities required to build reliable and scalable off-chain storage for dApps and offers a host of capabilities that make your database experience more productive, powerful, and scalable, allowing you to ship dApps faster.

Build your off-chain databases in Fauna

Fauna complements the capabilities of your on-chain data by delivering a secure, performant, and interoperable off-chain database as a GraphQL API. Fauna eliminates scaling, provisioning, sharding, and other operationally intensive tasks so your teams can focus on building the dApp.

Innovators like DIGITALAX and Acoer use Fauna alongside blockchains, Polygon, and TheGraph to innovate relentlessly and quickly push new ideas to production. To learn more about the key off-chain problems we’ve found in our customers' architectures and how Fauna solves them, check out our previous blog.

It’s easy to get started with Fauna. Sign up for our forever free pricing plan to explore all the capabilities and start building! We’re excited to see what problems you solve for your users and partner with you in your journey.

If you enjoyed our blog, and want to work on systems and challenges related to globally distributed systems, and serverless databases, Fauna is hiring

Share this post

TwitterLinkedIn

Subscribe to Fauna's newsletter

Get latest blog posts, development tips & tricks, and latest learning material delivered right to your inbox.

<- Back