# keystone-gib

"Keystones" are a new ibgib-specific identity mechanism that leverages ibgib's unique Merkle-based DLT structure.

## 📚 Documentation
*   **[Architecture](./docs/architecture.md)**: Detailed design of the Policy Engine, Hash-Based Cryptography, and Lifecycle.

## Overview
A **Keystone** is a "Stone" (ibgib without `dna`) used for Identity. It is a graph of ibgib frames that evolves over time but maintains a strict, verifiable lineage.

Validation in this system is **Auditability**: to verify an identity (e.g., "Is this Alice?"), one "replays" the Keystone timeline from its Genesis to the current Frame, verifying the cryptographic proofs at every step.

## Principles
1.  **DRY**: Leverages the ubiquity of ibgib's existing crypto hypergraph.
2.  **Non-Evil Root**: Prioritizes security/correctness over pre-optimization (signing speed).
3.  **Hash-based**: Uses hash pre-imaging for quantum resistance (`hash-reveal-v1`).
4.  **Merkle Graphs**: Efficient communication by only transmitting missing graph nodes.

## Implementation
The v1 implementation creates a pure TypeScript, isomorphic, hash-based identity system. It is designed to be "Non-Evil" and "Graph-Native".
