# Decentralized ID Registry

The ID Registry is designed with the principle that every network participant must possess a single, stable, and verifiable identity that they fully own. To ensure security and authenticity, the Griffin ID is managed and secured on-chain using smart contracts, which provide a robust framework for identity verification and management. &#x20;

&#x20;

In the Griffin Ecosystem, identity serves several critical functions as outline below: &#x20;

* Billing and Payments: Identity is crucial for managing billing, payments, and the remaining balances of users.&#x20;
* Access and Services: It allows for personalized model access and the application of flexible terms of service between SP and user.&#x20;
* State Maintenance: Identity helps maintain per-user states, such as conversation logs for chatbots in specific conversations.&#x20;
* Counterparty Identification: It is used to identify counterparties in the network, such as Service Providers (SPs), Client Providers (CPs), and AI Agents, and validate the authenticity of their messages.&#x20;
* Rating and Reputation: The system helps ascertain who exactly posted a specific rating, enabling the validation of their background and history with the service in question.&#x20;

&#x20; \
The table below provides a summary of the different identities utilized within Griffin AI. &#x20;

&#x20;

&#x20;

| Identity                      | Descriptions                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Root Identity**             | <p>The root identity within Griffin AI is a cryptographic private/public key pair belonging to the network participant, whether it be a User, Service Provider, or a network operator. The private key is retained securely by the counterparty and used to sign messages within the Griffin network. While not mandatory, using a non-custodial crypto wallet to manage these keys provides a secure and user-friendly solution for managing cryptographic keys, The initial use of the root identity occurs during registration, after which it ideally remains dormant, safeguarded against exposure. </p><p> </p>                                                                                     |
| **Derived Identity (Signer)** | <p>For operational convenience and security, derived identities (Signers) are used for routine network interactions. These are secondary cryptographic key pairs created under the authorization of the root identity and have predefined, limited permissions to perform specific network functions. This mechanism addresses the impracticality and security risks of continually using the root identity, particularly in environments where frequent user confirmations are cumbersome, or machine-to-machine interactions are required. </p><p> </p>                                                                                                                                                 |
| **Imported Identity**         | <p>A plugin system within Griffin AI allows for the linkage of alternative identities, such as ENS Nameservice, Worldcoin ID, or Google Accounts, to a user's Root Identity. This system enables users to authenticate their actions across the network using familiar and secure external identity providers.  </p><p>To further enhance identity verification, the Griffin AI registry integrates with external protocols that provide proof of humanity or proof of AI. This integration helps to reduce ambiguity in digital interactions by clearly identifying whether interactions are conducted by humans or AI agents, thus bolstering trust and transparency across the network.   </p><p> </p> |

Table 5: Identities within Griffin AI&#x20;

The role of CPs and the client applications they build is instrumental in lowering barriers for new users. CPs manage user states and allow access to services without the immediate need for users to own a Griffin ID. This approach facilitates ease of entry, with client applications potentially abstracting away the complexities of identity management from end users, sometimes replacing it with alternative (even centralized) authentication methods. This system design enables the identity to be created and exported later at the user's request.&#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://griffin-ai.gitbook.io/knowledge-base/griffin-identity-management-and-reputation-system/decentralized-id-registry.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
