Verity Data Processor (VDP)
The VDP is an optional component specifically designed for Oracles and other Web3 Infrastructure conducting pipelines to existing prominent blockchains. If you're a blockchain operator and developer, this component may not be necessary for you as all data processing can occur within your Blockchain Nodes. As such, please refer to Blockchain Extension.
Once data has been sourced and proofs attesting to the data sourcing are in place, the data can be transformed and processed for compatibility with a destination system, such as a prominent blockchain.
Let’s refer to these data source proofs as sub-proofs. The VDP’s purpose is to transform data from its initial state into a new state that blockchains can accept and verify. For example, consider an Oracle that proves various data sources indicating the price of an asset. Within the VDP, these sources can be verified and a weighted aggregation performed, which can then be verified by the destination blockchain.
To explore the various architectures, please visit Verity Architecture.
-
Developer Requirements:
Developers adopting the VDP need a programmatic stateless function capable of verifying the sub-proofs and processing the API response data.
The Rust programming language is required.
The VDP is essentially a framework, providing libraries to simplify the process of verifying these sub-proofs. Under the hood, a Verifier Layer is incorporated to share in MPC verification of the sub-proofs where necessary.
-
Framework Flexibility:
The framework allows developers to choose between:
- ZK (Zero-Knowledge) Computation: Privacy-preserving computation.
- IC (Decentralised) Computation: High-speed public decentralised computation powered by the Internet Computer.
Both environments leverage Rust, and the provided libraries are compatible between each environment.
-
Cryptographic Proofs:
Each supported verifiable compute environment can produce a succinct cryptographic proof of the data processing outcome.
- ZK Computation: Yields a ZK-SNARK based on the Groth16 primitive, directly compatible with blockchains such as Ethereum and other EVM chains.
- IC Computation: Yields an ECDSA signature powered by TSS (Threshold Signature Scheme), where all parties reach consensus over outcomes to form a single signature.
This proof is highly compatible with various blockchains, making the Internet Computer a viable candidate for versatile pipelines.
-
Integration:
Finally, program logic collects the compute outcome and its associated proof of data processing for submission to a destination blockchain of your choice.