Engineering Progress Report | v0.4 Batch Proving

SEDA
3 min readOct 3, 2024

--

With the successful deployment of v0.3 in the previous SEDA developer sprint, the engineering team has begun developing v0.4. This version is one of the largest and most significant upgrades to SEDA devnet, representing the final stage before the team can expect to start network audits. Batch Proving enhances the SEDA protocol by implementing tamper-resistant aggregation and verification of data results, ensuring data integrity and security.

SEDA’s mainnet will follow a successful v0.4 and required audits.

Understanding The Significance Of Batch Proofs On SEDA

Batching involves aggregating multiple Data Results into a single batch while proving appends cryptographic proofs to these batches. Specifically, SEDA chain validators will group data results and attach these proofs, which can be verified on destination chains to ensure the data remains unaltered. This mechanism prevents the Solver Network from manipulating data and guarantees the authenticity of data origins, thereby maintaining the integrity of the SEDA protocol.

Batched results are not from the same data requests; various consumer requests are batched into one verifiable set. Imagine Consumer A queried the price of ETH from 10 APIs, Consumer B queried an API for the five warmest cities in the world, and Consumer C queried transaction states on multiple chains. All these requests include multiple data results aggregated in DR Tally and filed as a single consumable data point, then batched in a larger group of data results within a block.

Breaking Down The Steps To v0.4 Completion

What needs to be done to implement the full feature?

  1. Modify Data Life Cycle in Core Contracts
    Update Data Lifecycle:
    Review and update the data results lifecycle within the core smart contracts to accommodate batching.
    Store Data in Batches: Ensure that data results are stored as part of a batch within a dedicated chain module.
  2. Implement Batch Chain Module
    Develop Batch Module:
    Create a new module to support generating and managing DR batch proofs.
    Integrate with Existing Components: Seamlessly integrate the batch module with existing SEDA chain components, such as contract calls.
  3. Implement Verification Functions in Prover Contracts
    Add Verification Mechanisms:
    Include verification functions within prover contracts to authenticate the cryptographic proofs associated with each data batch.
  4. Update Solver Nodes for Batch Updates
    Modify the Solver node software to support forwarding batches and their cryptographic proofs. Ensure that Solver nodes can interface with the new versions of prover contracts.
  5. Integration of Components
    Ensure Interaction:
    To maintain system coherence, facilitate smooth interaction between the new batching and proving features and the existing components of the SEDA protocol.
  6. Testing For Optimization:
    Perform testing to validate the new features’ functionality, security, and performance across various scenarios.
  7. Deployment and Monitoring:
    Deploy on Devnet:
    Roll out the new features on the SEDA devnet v0.4.

v0.4 a multi-sprint development & network upgrade

The upgrade introduces significant changes to the SEDA protocol, affecting most existing components and requiring high degrees of integration work with thorough coordination. As a core security enhancement, extensive testing ensures the system’s resilience against potential attacks and vulnerabilities.

Changes in one area, such as core contracts, may trigger adjustments in other components, like the batch chain module, leading to iterative development cycles. Each element and the entire system will be tested to ensure reliability. This testing allows the engineering team to optimize the upgrade before the next round of audits.

The v0.4 upgrade is a series of updates within itself, and the SEDA team will ship fortnightly reports to ensure transparency with the community. Prioritizing quality and security ensures the upgrade meets and exceeds community expectations for a more robust and secure network.

--

--

SEDA

SEDA is a modular data layer that allows any blockchain to configure & interact with custom data feeds for price data, RPC data, or any available API endpoint.