Skip to main content

Verification

Aqua Protocol’s verification system ensures data integrity, authenticity, and provenance through cryptographic validation and blockchain-based verification.

Overview

Verification in Aqua Protocol is the process of validating that data has not been tampered with and maintains its integrity since the time of notarization. This process involves:
  • Hash validation to ensure content integrity
  • Signature verification to authenticate signers
  • Witness validation to confirm blockchain records
  • Chain verification to validate the complete revision history

Verification Types

Content Verification

Verify that content matches its notarized hash:

Signature Verification

Verify digital signatures on revisions:

Witness Verification

Verify blockchain witness records:

Verification Process

1. Hash Chain Validation

Verify the complete chain of revisions:

2. Timestamp Validation

Verify timestamp consistency across revisions:

3. Complete Verification

Perform comprehensive verification of all aspects:

Verification Methods

Scalar Verification

Default method for performance:
  • Simple hash validation of revision objects
  • Fast processing for high-volume applications
  • Suitable for most verification scenarios
  • Lower computational requirements

Tree Verification

Advanced method for selective disclosure:
  • Merkle tree validation of revision values
  • Selective disclosure capabilities
  • Granular verification options
  • Higher computational requirements

Verification Results

Success Response

Error Response

Verification Tools

Aqua Verifier Chrome Extension

Browser-based verification tool:
  • Name resolution and AquaTree validation
  • Real-time verification of web content
  • Visual indicators for verification status
  • Integration with web applications

Command Line Tools

CLI tools for batch verification:

API Integration

Programmatic verification through REST API:

Best Practices

Verification Strategy

  • Verify early and often to detect tampering quickly
  • Use appropriate verification methods based on requirements
  • Implement caching for frequently verified content
  • Monitor verification results for anomalies

Error Handling

  • Handle verification failures gracefully
  • Provide clear error messages to users
  • Implement retry logic for transient failures
  • Log verification attempts for audit purposes

Performance Optimization

  • Batch verification for multiple revisions
  • Use appropriate verification methods for your use case
  • Implement caching for verification results
  • Monitor API rate limits and usage

Troubleshooting

Common Issues

  • Hash mismatches due to content changes
  • Signature verification failures due to key issues
  • Witness verification failures due to network issues
  • Timestamp validation failures due to clock drift

Debugging

  • Enable verbose logging for detailed verification steps
  • Check network connectivity for witness verification
  • Validate input parameters before verification
  • Review verification logs for error patterns