Confidential Blockchain Database via Trusted Execution Environment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing technologies face challenges in building a database or query-and-command system with data consistency, availability, and fault tolerance while synchronizing with blockchain network consensus, leading to performance degradation, higher storage costs, and extensive application code changes.
Innovation Solution
A distributed query-and-command system is implemented using a trusted execution environment (TEE) on each node, where both database and distributed ledger code are executed, creating a consortium blockchain with a distributed ledger and query-and-command system, ensuring data integrity, confidentiality, and tamper-resistance, while allowing clients to interact with the database in a standard manner.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a blockchain-based database system is implemented to ensure data consistency and integrity, then data reliability and security are improved, but system complexity and storage costs increase
Solution Approach 1:
The system separates the database instance from the distributed ledger, with the database running in a trusted execution environment (TEE) and the ledger maintained separately on the blockchain network. This segmentation allows the database to operate with standard performance characteristics while the ledger provides cryptographic verification, thus maintaining reliability without proportionally increasing overall system complexity.
Solution Approach 2:
A TEE acts as an intermediary between the database and the blockchain network. The TEE creates a trusted boundary that allows the database to interact with the blockchain without exposing its internal state, enabling data consistency verification while preventing the complexity of full blockchain implementation from propagating to the database layer.
2Reliability
If blockchain consensus mechanisms are integrated to ensure fault tolerance, then system reliability is improved, but transaction latency increases
Solution Approach 1:
The system implements partial blockchain integration where only critical data integrity verification requires full consensus mechanisms, while routine database operations can proceed with simpler validation. This partial application of blockchain consensus reduces transaction latency for non-critical operations while maintaining fault tolerance for important data operations.
3Reliability
If a distributed ledger is maintained across multiple nodes to ensure data availability, then system reliability is improved, but storage costs increase
Solution Approach 1:
The system extracts only the essential cryptographic elements (hashes, merkle roots, transaction signatures) to the distributed ledger, while the actual database data remains stored locally at each node. This extraction approach ensures data availability through the distributed ledger's consensus mechanism without requiring every node to store complete database copies, thus reducing storage costs.
4Reliability
If extensive code changes are made to synchronize database operations with blockchain consensus, then data consistency is improved, but ease of operation deteriorates
Solution Approach 1:
The TEE serves as an intermediary that abstracts the complexity of blockchain synchronization from the database application code. It provides standardized interfaces for data submission and verification, allowing applications to interact with the blockchain-based database using conventional database operations without requiring extensive code changes for consensus synchronization.
Data Source
AI summary
The disclosed technology is generally directed to a distributed query-and-command system. In one example of the technology, in a trusted execution environment (TEE) of a first node, database code of the first node and distributed ledger code of the first node is executed, such that execution of the distributed ledger code of the first node instantiates a first instance of a distributed ledger of a consortium blockchain, and such that execution of the query-and-command code of the first node instantiates a first instance of a query-and-command system. The consortium blockchain is distributed among a plurality of nodes, and the query-and-command system is distributed among the plurality of nodes. A first transaction that is associated with modifying the query-and-command system is received. The first transaction is executed. Changes associated with the first transaction to the distributed ledger are persisted.


