Identity 3.0: Understanding Self Sovereign Identity and Building Self-Sovereign Revolution

Table of contents
- A random developer’s day
- The Current State of Digital Identity
- Understanding Self-Sovereign Identity
- SSI Architecture: The Trust Triangle
- Blockchain as a Trust Anchor
- Real-World Applications
- Technical Implementation
- Frequently Asked Questions
- Getting Started with SSI
- The End of Our Journey (But Just the Beginning of SSI)

A random developer’s day
"The specification is 'straightforward' and 'simple to implement'..." Right up there with "this will only take 5 minutes" in the hall of fame of tech industry myths. Yet here I was, staring at my screen, first thinking "I'll just ask AI to interpret this spec and give me the code." A 'few' prompts later, the updates to our C# did:peer implementation for the DIDComm mediator are still not working as expected. Just another random day as a developer 🙂
As I take a break from staring at the stubborn code to check my socials, a status from one of the tech community leaders catches my eye: "call for speakers for DevFest Mt. Kenya". And I think to myself – "SSI, this intriguing technology, I can't be keeping this to myself, more people should learn it". That's how I ended up having a Self Sovereign Identity technical session at DevFest Mt. Kenya.
Having built SSI solutions for more than one year now, interacted with the tech communities, listened to industry leaders and presented SSI to both developers and non-developers, I have learned the need for more education on identity management with an aim of promoting user-centered systems and addressing privacy issues. Particularly, my SSI presentation at DevFest Mt. Kenya motivated me to write and engage more on Identity management as I learned that people (in this case my audience who were mostly young developers) are a little aware and some understand the problems with current identity solutions - centralized identity management, but hardly know how to go about solving these problems.
The Current State of Digital Identity
Picture this: It's Monday morning, and you're trying to log into your work system. Was it "ILovePizza2023!" or "ILovePizza2024!" this time? Oh wait, maybe it was "ILovePizza2023@"... Sound familiar? 🤔
In today's digital world, we're all juggling more passwords than a circus performer juggles balls. And just like those circus acts, sometimes things come crashing down – usually right when we need access the most. Each service provider maintains its own identity silo, leading to:
Security Vulnerabilities: Remember that one password you use everywhere? Yeah, hackers remember it too.
Privacy Concerns: "Please accept our cookies" – at this point, we've given away more cookies than a bakery.
User Experience: "Please fill in these 15 fields to create an account" – just to leave a comment on a cat video?
Data Control: Once shared, your data has more copies than your high school yearbook photo.
"But wait!" you might say, "I just click 'Continue with Google' everywhere!" Ah yes, federated authentication seems like the perfect escape from password hell. Just let the tech giants handle your identity, right? Well, that's like solving your storage problem by keeping all your eggs in someone else's basket – convenient until the basket breaks, or worse, the basket-holder decides to peek at your eggs. Every "Sign in with Google/Facebook/Apple" click is essentially saying, "Please, mighty tech overlord, track one more piece of my digital life!"
Key challenges with federated identity include:
Single Point of Failure: When your Google account gets compromised, so do all your linked services
Privacy Concerns: Identity providers can track your service usage, login patterns, and digital behavior
Vendor Lock-in: Switching costs become astronomical once you've linked dozens of services
Service Dependency: When the identity provider is down, you're locked out of everything
Limited Control: Identity providers can change terms, revoke access, or modify data sharing policies at will
Cross-border Complications: Different regions have different regulations about data storage and sharing
Trust Issues: You're essentially trusting a third party with the keys to your entire digital kingdom
Sure, you've escaped password management, but at what cost? When your federated account gets compromised, it's not just one service at risk – it's all of them. When these services go down (and they do), you're locked out of half the internet because you trusted a single company with all your digital keys. And let's not forget, these tech giants now know every service you use, when you use them, and probably your embarrassing late-night shopping habits too.
And that's just the digital authentication world! Let's talk about the rest of your identity. Your physical wallet is probably bulging with various forms of identification: driver's license, national ID, student cards, professional certifications, health insurance cards – each one a separate piece of your identity puzzle. Need to prove your age? Show your ID. Want to prove your qualifications? Pull out those certificates. Getting a new job? Time to gather every piece of paper that proves you're you.
These traditional identity credentials come with their own set of headaches:
Physical documents can be lost, stolen, or damaged
Getting copies or replacements often involves lengthy bureaucratic processes
Verification is manual and time-consuming (ever waited while someone squints at your ID photo?)
Paper certificates can be forged
Each credential exists in isolation (your driver's license doesn't know about your professional certifications)
You often have to share more information than necessary (showing your full ID just to prove your age)
Different documents follow different standards across countries and organizations
Some credentials expire right when you need them most
So whether it's passwords, federated logins, or physical documents, our current identity systems are fragmented, insecure, and often frustrating. There has to be a better way to prove who we are and what we can do, right?
Understanding Self-Sovereign Identity
Self-Sovereign Identity (SSI) is revolutionizing how we manage digital identity by giving users control over their personal information. It uses blockchain (often), verifiable credentials, and decentralized identifiers to create a trust framework that's secure, private, and user-centric.
Think of SSI as your digital wallet, but way cooler than that crypto wallet your friend won't stop talking about 😀. It's like having a smart version of your physical wallet – one that can prove you're old enough to buy that energy drink without showing the cashier your entire life history.
Core Principles
Existence: Users must have an independent existence
Control: Users must control their identities
Access: Users must have access to their own data
Transparency: Systems and algorithms must be transparent
Persistence: Identities must be long-lived
Portability: Information and services about identity must be transportable
Interoperability: Identities should be as widely usable as possible
Consent: Users must agree to the use of their identity
Minimization: Disclosure of claims must be minimized
Protection: The rights of users must be protected
SSI Architecture: The Trust Triangle
Before we dive deeper into the technical bits, let's understand how trust works in SSI. Remember playing "telephone" as a kid where messages got distorted as they passed along? Well, SSI solves that trust problem with what we call the Trust Triangle:
Issuer: The entity that creates and signs credentials (like a university issuing diplomas)
Holder: That's you, holding credentials in your digital wallet (like having that diploma on your phone)
Verifier: Anyone who needs to check your credentials (like that dream company you're applying to)
Think of it like this: The issuer vouches for something about you, you hold onto that proof, and you can show it to anyone who needs to verify it. The beauty? The verifier can check the credential's authenticity without having to call up the issuer every time.
Blockchain as a Trust Anchor
Remember the old days when we kept important documents in a safe? Blockchain serves as our digital safe, but with better backup plans than "hope the house doesn't flood." Let's look at some real-world implementations:
Cardano and did:prism
PRISM is a DID method built on the Cardano blockchain. Cardano in this case is like that super-organized friend who keeps track of everything. It maintains:
DIDs: Your digital identity anchors
Credential Schemas: The templates for your digital credentials
Revocation Registries: A fancy way of saying "who's still valid?"
For example, a university using did:prism could issue digital diplomas that are:
Instantly verifiable (no more calling the university to check if someone really graduated)
Tamper-proof (sorry, Photoshop wizards)
Always available (goodbye, certified copies)
Other Blockchain DID Methods
Take did:ion on Bitcoin, for instance. It's like did:prism's cousin who chose a different path in life but still gets the job done. Both methods achieve similar goals through different approaches, kind of like how some people prefer tabs over spaces in their code (we won't judge... much).
Real-World Applications
Healthcare
Imagine walking into a new doctor's office and instead of filling out the same forms for the millionth time (did I break my arm at 7 or 8 years old?), you just share the relevant credentials from your digital wallet. The doctor gets verified information, and you get to keep your arm-breaking age a secret if you want to.
Education
Remember trying to get your transcript from your university? The process usually involves:
Finding out where to request it
Proving you're really you
Paying a fee
Waiting
Waiting some more
Finally getting it, only to realize they spelled your name wrong
With SSI, it's more like: click, share, done. Your digital credentials are always correct and easily verifiable.
Technical Implementation
Decentralized Identifiers (DIDs)
DIDs are the foundation of SSI, providing globally unique identifiers that are:
Decentralized: No central authority needed
Persistent: Lasting and unchangeable
Cryptographically verifiable: Provably owned and controlled
Resolvable: Can be looked up or decoded to get associated information
Verifiable Credentials
Think of these as your digital certificates, but smarter:
Cryptographically secure
Privacy-preserving
Instantly verifiable
Revocable when needed
DIDComm
The secure messaging protocol that lets DIDs talk to each other:
End-to-end encrypted
Transport agnostic
Protocol-based interactions
Frequently Asked Questions
Do I need blockchain for every SSI solution?
Nope! While blockchain is great for some SSI use cases, not everything needs to be broadcast to the world. Think about it - when you show your ID at a coffee shop, you don't announce it to the whole city, right? Same principle applies here.
Peer-to-peer interactions can work just fine without blockchain. For example, two parties can exchange verifiable credentials directly using DIDComm.
Private DIDs (like did:peer) are perfect for one-on-one relationships without any blockchain involvement.
Blockchain comes in handy when you need public verifiability or to publish things like schemas and revocation registries.
What about privacy? Isn't blockchain public?
Good question! While blockchains are public, we never store personal data on them. The blockchain only stores things like:
Public DIDs of institutions
Credential definitions
Revocation registries
Schema definitions
Your personal information stays with you, in your wallet, where it belongs.
How is this different from existing digital ID systems?
Unlike current systems where every service provider keeps a copy of your data:
You control your information
You choose what to share
Your data isn't scattered across countless databases
No more creating new accounts everywhere you go
Getting Started with SSI
Want to dive into SSI development? Here are some resources to get you started:
W3C Specifications: Start with the DID and VC specs
Development Frameworks and tools:
Hyperledger Aries
Hyperledger Identus
Privado ID
Community: Join SSI communities on various platforms to learn and contribute
The End of Our Journey (But Just the Beginning of SSI)
Oh, and about that C# implementation I was struggling with at the beginning? Yes, I fixed it. Turns out reading the spec wasn't such a bad idea after all. It's these small victories that make building in the SSI space so captivating – every solved puzzle brings us closer to a future where digital identity actually makes sense.
The field of SSI is like a giant puzzle where we're all working together to create something revolutionary. Some days you're scratching your head over understanding DIDComm, and other days you're watching someone's eyes light up when they realize they can prove their identity without sharing all their life history !
So whether you're a developer diving into the specs, an organization looking to innovate, or just someone tired of resetting passwords, welcome to the future of digital identity. It's a beautiful wild ride, but I promise it's worth it.
And yes, while I type this, I'm probably also debugging another DID issue... because that's just how we roll in the SSI world. 😉
This article was written based on experiences implementing SSI solutions and presenting at DevFest Mt. Kenya. If you're interested in learning more or have questions, feel free to reach out!
Subscribe to my newsletter
Read articles from John Ndigirigi directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
