Aqua ProtocolAqua Protocol
Aqua Protocol
Aqua ProtocolAqua

Documentation

Welcome to Aqua ProtocolQuick StartDevelopment GuideVersion v4 (beta)
Use Cases
Document VerificationIdentity AttestationAqua Protocol Use CasesSupply Chain Tracking
Development Tools
Aqua CLIAqua SDKAquafier API
Schema Reference
Aqua TreeFile IndexAqua Protocol Schema Reference
Revision Types

Documentation

Welcome to Aqua ProtocolQuick StartDevelopment GuideVersion v4 (beta)
Use Cases
Document VerificationIdentity AttestationAqua Protocol Use CasesSupply Chain Tracking
Development Tools
Aqua CLIAqua SDKAquafier API
Schema Reference
Aqua TreeFile IndexAqua Protocol Schema Reference
Revision Types
Docs
Version v4 (beta)

Version v4 (beta)

Concepts, protocol structure, and getting started with Aqua Protocol v4

4 min read

Aqua Protocol v4

Aqua Protocol v4 is the latest version of the protocol, introducing significant improvements in structure, flexibility, and capabilities. This version is currently in beta.

Overview

Aqua Protocol v4 provides a robust framework for creating cryptographically verifiable chains of revisions. Each revision in a chain can represent different types of operations, from storing data to signing, witnessing, and linking to other chains.

Core Concepts

Revisions

A revision is the fundamental unit in Aqua Protocol. There are five types of revisions in v4:

  1. Object Revision - Stores data with an associated template
  2. Template Revision - Defines the schema for object revisions
  3. Signature Revision - Adds cryptographic signatures to verify authenticity
  4. Witness Revision - Provides timestamped proof of existence via blockchain
  5. Link Revision - Creates verifiable connections to other revision chains

Revision Chains

Revisions form chains by referencing previous revisions through cryptographic hashes. The first revision in a chain is called the "genesis revision" and has no previous revision reference.

Methods

Aqua Protocol v4 supports two canonicalization methods:

  • scalar: Direct JSON canonicalization (default for most use cases)
  • tree: Merkle tree-based canonicalization for large datasets

Hash Types

Currently, v4 supports:

  • FIPS_202-SHA3-256: SHA-3 256-bit hashing algorithm

Common Fields

All revision types share these common fields:

FieldTypeDescription
versionstringProtocol version URL: https://aqua-protocol.org/docs/v4/schema
revision_typestring/RevisionLinkType identifier for the revision
noncestringRandom 16-byte hex string (prefixed with 0x) for uniqueness
local_timestampnumberUnix timestamp when the revision was created
methodstringCanonicalization method: "scalar" or "tree"
hash_typestringHashing algorithm: "FIPS_202-SHA3-256"
previous_revisionstringHash reference to the previous revision (optional for genesis)

Schema Structure

The v4 schema is designed to be:

  • Extensible: New revision types can be added without breaking existing chains
  • Verifiable: Every revision can be independently verified through hash computation
  • Composable: Chains can link to other chains, creating complex data structures
  • Flexible: Templates allow custom data structures while maintaining validation

Key Improvements from Previous Versions

1. Unified Revision Structure

All revision types follow a consistent structure with common fields, making implementation and validation simpler.

2. Template-Based Validation

Object revisions reference templates via hash, ensuring data conformity to predefined schemas.

3. Multiple Signature Types

Support for RSA, Ethereum (EIP-191), and DID-based signatures provides flexibility for different use cases.

4. Enhanced Witnessing

Improved witness structure with detailed transaction information and merkle proof support.

5. Explicit Linking

Link revisions create verifiable connections between separate revision chains.

Getting Started

To understand the v4 schema in detail, visit the Schema Reference section, where each revision type is documented with examples and field specifications.

Tooling

Aqua RS SDK

The official Rust SDK for Aqua Protocol v4 provides:

  • Type-safe revision creation and validation
  • Cryptographic operations (signing, hashing)
  • Witnessing capabilities (Ethereum, Nostr, TSA)
  • WASM compilation for web applications

Repository: github.com/inblockio/aqua-rs-sdk

Installation:

Code
bash
1# For Rust projects
2cargo add aqua-rs-sdk
3 
4# For WASM builds
5wasm-pack build --target web --no-default-features --features wasm

CLI Tools

Command-line utilities built on the v4 SDK enable:

  • Creating and validating revision chains
  • Signing revisions with various methods
  • Witnessing to blockchain networks
  • Verifying complete chains

Use Cases

Aqua Protocol v4 is designed for:

  • Document Integrity: Verifiable audit trails for documents and data
  • Supply Chain: Tracking provenance and authenticity
  • Digital Identity: Self-sovereign identity with verifiable credentials
  • Notarization: Timestamped proof of existence
  • Data Provenance: Complete history tracking with cryptographic guarantees
  • Decentralized Attestations: Peer-to-peer verification without central authorities

Next Steps

  • Explore the Schema Reference to understand each revision type
  • Review example revision chains in the SDK repository
  • Try the CLI tools to create your first revision chain
  • Read about specific use cases and implementation patterns

For questions or feedback about v4, please visit the Aqua Protocol GitHub repository.

Edit this pageReport an issue
Previous
Development Guide
Next
Document Verification

Documentation

  • Getting Started
  • API Reference

Community

  • GitHub
  • Discord

Copyright © 2024 Aqua. All rights reserved.

On this page

OverviewCore ConceptsRevisionsRevision ChainsMethodsHash TypesCommon FieldsSchema StructureKey Improvements from Previous Versions1. Unified Revision Structure2. Template-Based Validation3. Multiple Signature Types4. Enhanced Witnessing5. Explicit LinkingGetting StartedToolingAqua RS SDKCLI ToolsUse CasesNext Steps