Blockchain Node Off-Chain Data Authentication via Merkle Proofs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current blockchain technologies face challenges in verifying conversations and executing smart contracts, particularly in accessing and utilizing external data in a secure and trustworthy manner.
Innovation Solution
A method and system for establishing a cryptographically protected communications session between a node on a blockchain network and a computing entity, allowing for the receipt of input data to execute a program published on the blockchain. This involves generating a proof of correct execution and an attestation of data origin using Merkle trees and cryptographic hashes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If blockchain nodes verify all external data themselves, then data authenticity is improved, but computational overhead and processing time increase significantly
Solution Approach 1:
The patent applies preliminary action by having data providers generate cryptographic proofs (Merkle proofs) and attestations in advance, before blockchain verification occurs. The provider establishes a cryptographically protected communications session, generates a Merkle tree from the data set, and creates proofs beforehand. This allows blockchain nodes to verify data authenticity efficiently without performing computationally intensive verification operations, thus improving reliability while reducing verification time.
Solution Approach 2:
The patent uses cryptographic proofs and Merkle trees as intermediaries between data providers and blockchain nodes. Instead of nodes directly verifying all external data, the intermediary cryptographic structures enable efficient verification. The Merkle proof acts as a mediator that concisely represents the relationship between individual data items and the complete data set, allowing nodes to verify authenticity without processing the entire data set.
2Reliability
If cryptographic verification of all communications is performed, then security is improved, but computational complexity increases
Solution Approach 1:
The patent extracts the computationally intensive cryptographic verification operations from the blockchain node and relocates them to the data provider. The provider generates cryptographic proofs, digital signatures, and Merkle trees before submitting data to the blockchain. This extraction allows nodes to perform only lightweight verification of pre-computed proofs, maintaining high security while significantly reducing the computational complexity burden on blockchain infrastructure.
Solution Approach 2:
The patent uses cryptographic copying by creating Merkle trees and Merkle proofs that represent the complete data set in a compressed form. Instead of verifying all original communications, nodes verify a cryptographic copy (the Merkle proof) that contains sufficient information to authenticate the entire data set. This copying approach maintains security while reducing computational complexity.
3Measurement precision
If complete conversation data is stored on-chain, then verification capability is improved, but storage requirements and transaction size increase
Solution Approach 1:
The patent extracts only the essential verification elements (Merkle root hash, Merkle proof, and attestation) from the complete conversation data and stores them on the blockchain. The actual conversation data remains off-chain, accessible through the cryptographic proofs. This extraction maintains full verification capability while dramatically reducing the quantity of data stored on-chain, as only compact cryptographic representations are persisted.
Solution Approach 2:
The patent creates cryptographic copies (Merkle proofs) that enable verification without storing the complete original data on-chain. The Merkle proof is a compact cryptographic representation that allows nodes to verify the integrity and authenticity of off-chain data without needing to store the entire conversation history on the blockchain, thus maintaining verification capability while minimizing storage requirements.
Data Source
AI summary
Determining when and/or how to execute a program or script published to a blockchain network may rely on data that is external to the blockchain (i.e., external data) such as data about the real-world state and events. A prover (e.g., a node of the blockchain network) may perform one or more computations on behalf of a client, such as the execution of the program. To execute the program properly, the prover may rely on external data, which the prover may obtain from a data provider that has a trust relationship with the client (e.g., the client accepts as valid data provided by a trusted data provider). Systems and methods described herein may be utilized by a prover to provide cryptographically verifiable assurances of the authenticity of input data purportedly obtained from a data provider, the input data utilized in the execution of a program or script published to a blockchain network. An example of a blockchain network is a Bitcoin-based network.


