I've been working on this problem for a long time, over multiple iterations and contexts. In 2008, while writing email encryption software for PGP Corp, I learned about the P2P usage of private keys, how key signing parties gave reputational verifiability without an authority. In PGP we had DNS-bound key discovery with key recovery. However, it was reliant on the authority of the company running the domain — which also had complete control of the private keys. I kept thinking about PKI and alternate ways to connect keypairs to user identity.
After PGP, I briefly hatched an idea that never got off the ground called Truthkeeper, a perspectival fact network meant to act against the fake news that was starting to overtake media. Defining truth is hard, and we needed a mechanism for reputation to determine the truth rankings from your perspective. Decentralized technology was in its infancy, and Bitcoin had not yet been invented, so this idea languished.
In 2014, I attended the first Rebooting The Web Of Trust symposium, alongside Juan Benet, Vitalik Buterin, Art Brock, and other technologists specializing in decentralization and cryptography. In that session, we determined that the thing most needed for interoperable decentralized systems was a universal standard for identity, or at least identifiers. This became the DID standard.
In 2018, I came on the founding team of Good Money as Head of Blockchain, intended as a "cryptocurrency for social good". My task was to design a wallet that grandma could use. That was when my work on recoverable, trust-minimized, non-custodial key management systems really began.
As Good Money was winding down, IdentiKey was born. I saw a need for a credibly neutral, universal identity system, and also that keypairs are well-suited to this. I wanted to bootstrap it, and we found that we needed a use case to drive adoption. About this time a friend proposed that we revive an idea we'd had, and create a mutual credit cryptocurrency. Together we founded ReSource Network. It facilitated exchange of goods and services between a community's businesses with no external currency issuance. The business owners were non-technical, so we designed a recoverable wallet system that looked like a familiar web2 login. It worked well, but was limited to only that blockchain, and only our application. It wasn't yet a general-purpose solution.
Overall, the technical design of ReSource was elegant, but there was one thing that kept it from being a socially scalable protocol. We needed a multi-perspective decentralized reputation system to base community credit lines on. Which requires identity. Which relies on easy-to-use key management.
To see if it would be a suitable implementation environment for IdentiKey, last year I built a decentralized public key infrastructure (DPKI) for Holochain. However, most of the vital pieces of identity don't require a blockchain; I decided to make IdentiKey blockchain-agnostic and universal.
Which brings us to the current iteration.