Off-Chain Decentralized Storage Backup with Client-Controlled Keys
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Individual blockchain transactions have limited storage capacity, typically in the order of single kilobytes, which restricts the amount of data that can be stored within a blockchain network, necessitating off-chain backend data storage to increase storage availability for decentralized applications (DApps) while ensuring user data control and security.
Innovation Solution
Implementing off-chain decentralized storage systems that utilize arbitrary backend storage providers, such as cloud or local storage, with a storage server interfacing these providers to offer a consistent interface to DApps, and using DApp-specific private keys for encryption and access control, allowing users to manage their data across different storage providers without exposing encrypted data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If off-chain backend data storage is used to increase storage capacity, then storage availability is improved, but data security and user control may be compromised
Solution Approach 1:
The data is segmented into multiple encrypted shards that are distributed across different storage providers. Each shard alone is insufficient to reconstruct the original data, providing both storage scalability and security. The segmentation allows the system to store large volumes of data off-chain while maintaining user control through cryptographic techniques.
Solution Approach 2:
A decentralized storage network acts as an intermediary between the blockchain and backend storage providers. This intermediary layer manages data encryption, shredding, and distribution across multiple providers, ensuring that user data remains secure while enabling large-scale off-chain storage. The intermediary coordinates recovery operations and maintains user control without requiring trust in individual storage providers.
2Reliability
If data is encrypted and stored off-chain, then user control and security are improved, but data accessibility and retrieval efficiency may deteriorate
Solution Approach 1:
Data is pre-encrypted and pre-shredded into multiple fragments before being distributed to storage providers. This preliminary action ensures that user control and security are maintained from the outset, while the fragmented structure is optimized for efficient retrieval. When data needs to be accessed, the system automatically coordinates the collection and reconstruction of fragments, making the process transparent to users.
Solution Approach 2:
The system implements self-service mechanisms where smart contracts automatically manage data retrieval operations. When a user needs to access their data, the blockchain network automatically coordinates with storage providers to gather the necessary encrypted fragments, reconstruct the original data, and deliver it to the user without manual intervention, thereby maintaining ease of operation despite the complex security measures.
3Reliability
If multiple storage providers are used to distribute data, then storage availability and security are improved, but system complexity increases
Solution Approach 1:
The patent implements a universal interface layer that works with multiple different storage providers through a standardized protocol. This multi-functional approach allows the same system to interact with various storage providers (cloud storage, local storage, decentralized networks) without requiring provider-specific integration logic. The universal interface handles encryption, data distribution, and recovery operations consistently across all providers, reducing system complexity while maintaining high availability and security.
Data Source
AI summary
A frontend client system and associated frontend method perform processes for backing up encrypted data in backend storage, such that a frontend client can perform the backup without exposing the encrypted data, using the client-controlled keys, and without long running server-side processes.


