Estimated time: 5 minutes read

The proposed application has a composite structure on the backend side, where some of the functionality is decentralized on the blockchain, and part is managed in a centralized traditional server infrastructure

What is hybrid architecture and why is it used?

Hybrid architecture in a decentralized application is a composite structure on the backend side, where some functionality is decentralized on the blockchain and some is managed in a centralized traditional server infrastructure. It is a design in web3 developments that seeks to balance both ecosystems to leverage the advantages that each one brings.

The proposed model corresponds to the following diagram:

Hybrid Web3 Application Architecture Diagram

What the web3 application consists of?

I am developing a web3 side project on which I can experiment as the technology evolves.

It is a decentralized system to securely register the digital fingerprint and timestamp of a document stored in an external repository on the blockchain, and assign a digital token to its owner.

The goal of the application is to enable the secure and reliable signing and certification of documents on the blockchain.

It is targeted at organizations and individuals who manage document issuance and wish to digitally certify them on the blockchain.

What advantages does decentralization bring to the blockchain?

  1. Ensures transparency and security: In a certification system, it is essential to guarantee authenticity and reliability.
  2. Elimination of intermediaries: Trust between parties is achieved by developing reliable protocols based on smart contracts. This way, the need for trusted third parties can be eliminated.
  3. Resilience: The architecture inherent in decentralized systems makes them highly resistant to errors and malfunctions of individual nodes. This ensures the durability of digital assets over time.
  4. Immutability: The immutable nature of data on both the blockchain and decentralized storage systems like IPFS promotes trust among system users by preventing fraudulent manipulation or unnoticed changes in the smart contracts governing the system’s operations.
  5. Reliability: Anyone can verify the transaction history and data recorded on the blockchain, providing the system with total transparency and reliability. The operation of smart contracts governing the management of digital assets is equally public and auditable.
  6. Automation: The self-executing mechanism inherent in smart contracts prevents malicious manipulation of the system. When the conditions programmed in the smart contract are met, the planned actions are executed without any third party being able to change the behavior.
  7. Sovereign identity: Identity data belongs to the user, they do not have to provide it to any centralized entity.

What advantages does centralization in the cloud bring?

  1. Scalability: Blockchain networks have disadvantages in terms of scalability and transaction throughput. Integrating a centralized server helps improve the speed and efficiency of the system by processing certain operations off-chain in a secure environment.
  2. User experience: Fully decentralized web3 applications suffer from the lack of immediacy inherent in traditional web applications due to the asynchrony in executing transactions with the blockchain. Integration with a centralized server enables a more familiar user experience, with faster response times and a more intuitive interface.
  3. Cost reduction: Storing large amounts of data ‘on-chain’ entails a high overhead cost in user transactions. By extracting part of the storage and logic to a centralized system, costs are reduced since both transactions with the blockchain and the amount of stored data decrease.
  4. Regulatory compliance: Certain regulations such as those related to data protection cannot be fully met on the blockchain. Including centralized components helps meet those requirements and ensures that the application is legal and secure.
  5. Updates and maintenance: Given the inherently immutable nature of blockchain networks, maintaining a fully decentralized application is challenging. By combining with a centralized infrastructure, it is easier to fix errors and add enhancements to those subsystems where the advantages of decentralized systems are not required.

How functionalities are distributed?

Once the choice of the hybrid web3 application model is justified, the functionalities of each subsystem in the project are detailed:

Blockchain subsystem
Blockchain subsystem
  • Proof of ownership: Digital tokens ensure ownership of each document for every user.
  • Permanent and immutable storage: Certificates are stored perpetually on the blockchain. Any changes are recorded in the transaction history.
  • Smart contracts: Protocol rules are programmatically enforced through the application’s smart contracts.
  • Identity: Access to the application is facilitated through the user’s Ethereum wallet address.
Cloud subsystem
Cloud subsystem
  • Centralized storage: Auxiliary data that doesn’t require the benefits of blockchain decentralization is stored in a conventional database, reducing costs.
  • Service endpoint: Interaction between the front-end and auxiliary data is done through conventional REST service requests, enhancing user experience.
  • Personal data: The documents themselves will generally be stored in a centralized repository in accordance with personal data protection laws.

Conclusion: Seeking Balance

Based on the functional requirements of the DApp, the conclusion is reached that a hybrid architecture in a decentralized application is an optimal solution to achieve the objectives by balancing the benefits of decentralized technology provided by the blockchain with the well-proven advantages of centralized cloud systems.

This way, changes in the paradigm of web3 applications (aiming for greater transparency, reliability, immutability, sovereign identity, non-intermediation, etc.) are reflected, while maintaining user experience levels, usage costs, and maintainability in line with current practices.

It is worth noting that although hybrid architecture has many advantages, it also presents some challenges such as increased complexity compared to pure systems: it can be difficult to design and maintain by combining several interconnected independent platforms.

In the upcoming articles, I will delve into the different challenges encountered in implementing the proposed hybrid architecture for decentralized application.

Did you like the article? Do you think it’s an appropriate architecture design for a decentralized application? I invite you to share it and leave your comments.

Do you want to develop your own decentralized application? Contact me and we can discuss the most suitable architecture. Thank you very much!