This document outlines a streamlined approach to teaching XIDs (eXtensible IDentifiers) through a combination of conceptual documentation and hands-on tutorials.
-
Focus on XIDs as the Primary Subject
- Introduce Gordian Envelope and DCBOR only as needed
- Keep technical explanations minimal and directly relevant
-
Learn by Doing
- Each tutorial is primarily hands-on
- Concepts are introduced through practical examples
- Users should be typing commands and seeing results immediately
-
Progressive Complexity
- Start with the absolute minimum (creating a basic XID)
- Each tutorial builds on skills from previous ones
- Advanced features are introduced only after basics are mastered
-
Narrative Continuity
- Use consistent examples and characters throughout
- Build a story that naturally introduces features when needed
- Avoid abstract explanations disconnected from practical usage
-
Testable Steps
- Every command should work in an actual CLI environment
- Each tutorial has validation steps to confirm success
- Commands should be designed to be copy-paste friendly
The concepts guide explains the theoretical foundations. Read concepts before tutorials if you prefer understanding "why" before "how," or reference them as needed during hands-on work.
The tutorials provide practical, step-by-step instructions for working with XIDs:
- Creating Your First XID - Generate and verify a basic XID
- Understanding XID Structure - Examine XID components and add assertions
- Self-Attestation with XIDs - Make verifiable claims about yourself
- Peer Endorsement with XIDs - Create and accept third-party endorsements
- Key Management with XIDs - Rotate keys while maintaining identity
For the most effective learning experience:
- Concept First: Read the relevant concept document
- Hands-on Practice: Complete the related tutorial
- Reflection: Review the concept again with your new practical understanding
- Experimentation: Try the exercises at the end of each tutorial
| Concept | Related Tutorial |
|---|---|
| XID | Tutorial 1: Creating Your First XID |
| Gordian Envelope | Tutorial 1 & 2 |
| Data Minimization | Tutorial 2: Understanding XID Structure |
| Elision Cryptography | Tutorial 2: Understanding XID Structure |
| Fair Witness | Tutorial 3 & 4: Self-Attestation and Peer Endorsement |
| Attestation & Endorsement Model | Tutorial 3 & 4: Self-Attestation and Peer Endorsement |
| Progressive Trust | Tutorial 4: Peer Endorsement |
| Pseudonymous Trust Building | Tutorial 3 & 4: Self-Attestation and Peer Endorsement |
| Public Participation Profiles | Tutorial 3 & 4: Self-Attestation and Peer Endorsement |
| Key Management | Tutorial 5: Key Management with XIDs |
By completing this learning path, developers will be able to:
- Create and manage XIDs for various identity purposes
- Implement secure authentication using XIDs
- Enable private, selectively disclosed identity information
- Build applications that leverage XID capabilities
- Design systems with strong identity and authentication
- Understand the relationship between XIDs and wider trust frameworks
Tutorial: Creating Your First XID
- Installing the envelope CLI
- Creating a simple XID with a name
- Examining its structure
- Extracting the identifier
- Saving and loading an XID document
Tutorial: Understanding XID Structure
- The relationship between keys and XIDs
- Examining the parts of an XID
- How XIDs maintain stable identity
- Adding basic assertions to an XID
Tutorial: Self-Attestation with XIDs
- Creating structured self-claims with proper context
- Adding verifiable evidence to self-attestations
- Building cryptographic commitments to evidence
- Applying fair witness principles to self-claims
- Linking to independently verifiable external sources
Tutorial: Peer Endorsement with XIDs
- Creating structured endorsements of others
- Evaluating and accepting endorsements from peers
- Building a network of multiple perspectives
- Implementing a formal endorsement acceptance model
- Creating verifiable chains of trust through signatures
Tutorial: Key Management with XIDs
- Adding and removing keys while maintaining identity
- Setting permission boundaries for different keys
- Implementing secure key rotation
- Recovering from lost or compromised keys
- Understanding how XIDs provide stable identity across key changes
- Each tutorial should be completely self-contained
- All code snippets must be tested in a real CLI environment
- Examples should build on each other, not introduce disconnected concepts
- Keep prerequisite knowledge minimal
- Provide clear success criteria for each tutorial step
- Focus on practical developer use cases, not theoretical explanations