Everything is an Agent
In the realm of Self-Sovereign Identity (SSI), the term “agent” often sparks confusion and endless discussions. Is an agent a wallet? What differentiates an agent from a hub? To address these questions and more, this article delves into the intricate world of agents, particularly SSI agents. The aim is to demystify the concept and show that, in essence, everything is an agent.
What is an Agent?
An agent is a software entity that acts on behalf of a user to interact with a network or another software. For example, a web browser is an agent that allows users to connect to the World Wide Web. Agents hide the complexity of network interactions, providing a simplified interface for the user. In the context of SSI, agents can hold keys, manage identities, and even make decisions for the user.
Agent and middleman and gateway
Agent hide the complexity of interacting with a network or complex set of protocols and give a user access point. So we use agents to talk to somebody on behalf of us or even act and take a decision on behalf . We delegate some part of our identity to an agent.
Type of Agents
- Message-Oriented Agents These agents are designed to handle messaging protocols and facilitate communication between different entities. They can act as intermediaries, forwarding messages, or even storing them temporarily. Could include a chains of routing , storing and passing a messages with a functions of filters etc
- Relay agents are a specific type of message-oriented agent. They are always active and ready to interact. They can store messages and records as a bridge between the sender and receiver. Examples include DID-Com letterboxes and DWN relays.
- Identity Agents manage identities like DID identifiers and Private / Public key pairs
Agent vs. Wallet
A common misconception is that a wallet is passive, requiring user interaction for every operation, while an agent is active and can make decisions on its own. While this distinction is not entirely incorrect, it’s not the most accurate either. A wallet is a combination of agents that implement specific logic and secure storage. For example, agents in a crypto wallet manage keys, transactions, and connections in decentralized networks.
The Anatomy of a Wallet
A wallet, particularly an SSI wallet, is far more complex than just a key storage. It can manage Verifiable Credentials (VCs), maintain connections, and store documents. A wallet is a combination of various agents forming a cohesive unit. For instance, in the mobile wallet, agents manage Decentralized Identifiers (DIDs), handle keys, and even interact with smart contracts on blockchain networks.
The wallet could be represented as a combination of secure storage and agents. Agents could use another agent and could have a local storage or be a gate for a networks or external systems. For example wallet could have the:
- identity agent — manage user DIDs and private keys that form a SSI public crypto identity by using DIDs agent and keys agent
- DID agent — simplify a interface for interaction with DIDS
Active and Passive Agents
- **Keys Agent ** — manage a user private and public keys
- ** VC Agent ** — manage a User VC act as interface for VCs remote storages
- ** web5 agent ** — run a local DWN and keep a user data in sync with remote storages
- ** message agent ** — work as a gateway for did comm communication
Agents can be both active and passive. Active agents are always online and ready to interact, while passive agents require user interaction. For example, DID-Com letterboxes or DWM relays act as active agents that store records and are always ready to interact. On the other hand, MetaMask is a passive agent that requires user interaction for operations.
Cloud or Remote Agents
Remote agents are hosted outside the user’s device, often in a cloud environment. These agents are beneficial for tasks that require constant online presence or significant storage capacity. They can act as extensions of a local agent, providing additional functionalities like backup, message relaying, or even decision-making based on predefined user preferences.
The Concept of Hubs
A hub is a multi-tenant agent that serves more than one user. It can manage multiple wallets, offer extensive storage, and even act as an identity hub that manages multiple DIDs. Hubs are generally cloud-based and require authentication and access control.
Why Everything is an Agent?
The concept of an agent is versatile. Agents can be message-oriented, stateless, or even form networks. They can communicate using various protocols and interact with multiple networks. Understanding that everything, from a simple key manager to a complex SSI wallet, is an agent that simplifies the landscape. It helps to understand that agents are the building blocks that hide the complexity of networks and software interactions.
Conclusion
The concept of an agent is simple yet powerful. Recognizing that everything is an agent can help demystify the complex world of SSI and decentralized networks. Whether it’s managing keys, handling transactions, or making decisions, agents are the unsung heroes that make our interactions with digital worlds seamless and secure.