Data Processor
Unlocking the Full Potential of On-Chain Data with Verifiable Compute
Last updated
Unlocking the Full Potential of On-Chain Data with Verifiable Compute
Last updated
HDP (short for Herodotus Data Processor) is a coprocessor that focuses on accessing extensive sets of on-chain data and running computations over them in a trustless manner.
HDP provides a powerful data-proving pipeline for computations over massive on-chain data. By verifying on-chain storage proofs on a zkVM, it securely enables the delegation of intensive computations involving authenticated on-chain data to fully off-chain logic.
Getting started by following the guide!
With HDP, you can unlock the following features:
Access historical on-chain data:
HDP mainly uses the idea of storage proofs. By providing any historical snapshot of a block's root (such as a storage root or account root) and verifying a Merkle-Patricia proof against the root, you can retrieve verified historical data.
Access on-chain data across multiple blockchains:
Using storage proofs and by supplying the valid root, you can access data from multiple chains on any chain via native messages or commitments.
Run custom computations on accessible data:
We provide basic aggregate functions to compute the accessed on-chain data, and we also support custom computations by allowing you to write arbitrary programs.
Users can utilize the extensive features that HDP provides via a single request—either on-chain or off-chain—to trigger the full pipeline and access the computed results on-chain.
The process is straightforward:
Specify which function to run
Define the data to process
Provide the context of the computation
This request is then processed, either synchronously or asynchronously, by the HDP operator. The result is delivered on-chain, allowing smart contracts to query it.
HDP enables cutting-edge use cases that were previously impossible to perform in a fully sound way due to computing complexity or data size constraints.
Calculating Time-Weighted Average Price (TWAP):
TWAP smooths out short-term price fluctuations by averaging prices over a specified period. This results in a more stable and representative value of an asset pair, which is particularly valuable for financial applications like options pricing.
Verifying Average Balance:
To prove an account maintained an average balance of 1 ETH over 1,000 blocks, you would set up a data lake to fetch the account balances for these blocks. Using the avg
function, you can compute the average balance, verifying the account's balance consistency over time.
Identifying Balance Fluctuations:
To count how often an account's average balance drops below 50 ETH, you could use the count_if
function. This helps in assessing the frequency of significant balance reductions, providing insights into account activity.
Ensuring Compliance with OFAC Sanctions:
If you want to restrict access to your dApp to addresses that have never sent funds to a sanctioned address, HDP enables this capability efficiently in a trustless way due to its ability to analyze historical on-chain data.
Predicting a User's Balance:
HDP can perform sophisticated computations, such as linear regression. Given a set of historical ETH balances for an address, you can predict future balances using linear regression within HDP.