ACK-ID Agent Demo
Detailed step-by-step guide demonstrating ACK-ID identity verification between agents.
Overview
ACK-ID is a protocol built on W3C Standards designed to ensure verifiable, secure, and compliant identity, reputation, and service discovery for autonomous agents.
This interactive command-line demo guides you through:
- Owner Identity Creation: Establish unique decentralized identifiers (DIDs) for entities (individuals or organizations) that offer AI agents.
- Agent Identity Creation: Assign distinct DIDs to AI agents, linked to their respective owners.
- Verifiable Credential (VC) Issuance: Generate digitally signed, tamper-proof credentials proving agent ownership.
- Agent-to-Agent Verification: Demonstrate secure verification of agent identities before or during interactions.
Demo Video
Getting Started
Before running this demo, follow the Quickstart Guide to ensure you are set up properly.
This demo requires either an Anthropic API key or an OpenAI API key.
You may set them in your <root>/demos/identity/.env
file:
Running the Demo
Execute the following from the repository root:
Alternatively, from within the demo directory (./demos/identity
):
Demo Walkthrough
The interactive CLI guides you through these steps:
Agent Setup
Two agents (Client and Server) and their “Owners” are created, each with their own public/private keypairs. DIDs represent their public keys, and each Agent DID points to its Owner.
Ownership Proof
Owners issue Verifiable Credentials (ControllerCredential
) asserting their
control over their respective agents.
Communication Initiation
Client and Server Agents start HTTP servers. The Client attempts communication; the Server demands identity verification first.
DID Exchange
The Server requests the Client’s DID (did:web:...
) for verification.
Identity Verification
Server performs a DID lookup, finds the Client’s service endpoint, and
privately requests the ControllerCredential
. The Server verifies these
credentials.
Interaction Fulfillment
After verification, the Server fulfills the Client’s initial request.
Example DID Methods Supported
ACK-ID supports multiple DID resolution methods, notably:
- did:web: Web-hosted DID Documents secured via SSL (e.g.,
did:web:catenalabs.com
). - did:key: DID Documents with embedded public keys (e.g.,
did:key:zQ3shg46zUAV...
). No key rotation supported. - did:pkh: Uses blockchain addresses (e.g.,
did:pkh:eip155:84532:0xED89...
). No key rotation supported.
View a comprehensive list of DID methods here.
DID Documents Explained
DID Documents broadcast public keys and essential metadata:
Minimal did:key
Document Example:
Complete did:web
Document Example:
Note: DID methods must support custom attributes for enhanced DID Documents (e.g., did:web
). Methods like did:key
and did:pkh
are more restrictive.