Hash Tree Proof for Non-Interactive Computation Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing verification methods for computations performed by untrusted machines require significant overhead and continuous communication, making it inefficient to verify computations non-interactively.
Innovation Solution
A method involving the creation of a hash tree from computation states at various points, generating hashes, and transmitting proof paths and siblings for verification, allowing any party to verify the computation without additional communication with the untrusted entity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If verification is performed by repeating the computation, then verification reliability is improved, but computational overhead increases significantly
Solution Approach 1:
The computation is divided into discrete steps, and verification is performed on selected steps rather than all steps. The verifier chooses a random step k and verifies only that specific step, segmenting the verification process to reduce overall computational overhead while maintaining reliability through probabilistic sampling of computation steps
Solution Approach 2:
Instead of repeating the entire computation, the verifier creates a copy of only the necessary verification data (the kth step and surrounding context) from the worker's proof. This allows verification of computation integrity without replicating the full computational workload, significantly reducing overhead while maintaining verification reliability
2Measurement precision
If continuous communication with the worker is maintained for verification, then verification accuracy is improved, but system complexity increases
Solution Approach 1:
The worker performs preliminary actions by computing the entire computation and creating the hash tree proof structure before the verification begins. All necessary verification data is prepared in advance and included in the submitted proof, eliminating the need for continuous interaction during verification while maintaining accuracy through pre-computed verification paths
Solution Approach 2:
A hash tree structure serves as an intermediary between the worker's computation and the verifier's validation. The hash tree encapsulates verification information in a self-contained manner, allowing the verifier to check computation integrity without direct communication with the worker, thus reducing system complexity while preserving verification accuracy
3Reliability
If the worker remains online to respond to verification queries, then verification completeness is improved, but loss of time increases
Solution Approach 1:
The worker performs all necessary computation and proof generation in advance before submission. The complete proof including all verification paths is prepared beforehand, allowing the verifier to conduct complete verification offline without requiring the worker to remain online, thus eliminating waiting time while maintaining verification completeness
Solution Approach 2:
The proof structure is designed to be self-verifying, containing all necessary information within the submitted data. The verification process uses only the submitted proof and public parameters, making the system self-sufficient without requiring the worker's continued presence, thereby reducing time loss while ensuring complete verification
Data Source
AI summary
A method of performing a computation by an untrusted entity includes: storing a state of the computation at a plurality of points of the computation; generating a plurality of hashes based on the state of the computation at points of the computation; generating a hash tree including a plurality of leaf nodes corresponding to the plurality of hashes of states of the computation and further wherein internal tree nodes are derived as the hash of at least two child nodes; creating at least one pair of paths from a root of the hash tree to the leaf nodes corresponding to the plurality of hashes of states of the computation, selecting the point in the computation corresponding to the leaf node of a created path, along with a succeeding point in the computation; and transmitting a proof of the computation comprising the at one path of the hash tree and siblings of the path to one or more third party entities for verification.


