The most stupid thing about the entire concept of a "DID" is that it was supposed be this one interoperable thing, right? You use "DIDs" in your project and now people using all sorts of DIDs can interoperate.

But what actually happens in practice (obviously) is that projects have to pick one specific DID and support just that.

So Web5 only works with "did-dht" and Bluesky with "did-plc" (aka their server) and one is not compatible with the other.

But somehow Nostr is less compatible and morally wrong because Nostr keys don't have a "did:" prefix in them.

nostr:nevent1qyd8wumn8ghj7urewfsk66ty9enxjct5dfskvtnrdakj7qgmwaehxw309aex2mrp0yh8wetnw3jhymnzw33jucm0d5hsz9mhwden5te0wfjkccte9ehx7um5wghxyctwvshsz9thwden5te0wfjkccte9ejxzmt4wvhxjme0qy88wumn8ghj7mn0wvhxcmmv9uq36amnwvaz7tmwdaehgu3wvf5hgcm0d9hx2u3wwdhkx6tpdshszxrhwden5te0wfjkccte9e3h2unjv4h8gtnx095j7qpqzxjq7cesh9dehesk60k99xlgkqf4st98l8ax2kz6wzd4zt08nkeqz3ts7a

Reply to this note

Please Login to reply.

Discussion

It'll converge somehow. The important part is the basis of cryptographic identities i.e. public/private keypairs.

Everything else are superficial differences. Once tke keypairs are there you can easily convert between formats.

You can even link separate identities from different ecosystems even with different key algos (e.g. EcDsa vs. EdDsa) via certificates a.k.a. nostr "delegates".

nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z

nostr:npub1w4uswmv6lu9yel005l3qgheysmr7tk9uvwluddznju3nuxalevvs2d0jr5

"somehow"

Yup.

That linked document specifies a "did:key" btw -- that's like nostr.

Except no, because keys are different in different curves, and Nostr is not interoperable with anything because Nostr keys specifically sign Nostr events and all the tooling and apps expect that. It's not possible to just plug a new DID method, which was the idea, but I don't expect you understand my point anymore.

did:key has secp256k1 variants, and if you used did:dht, you can just put your npub in your key set, along with any other keys you want to add of any types. Additionally, you can add relay endpoints to your DID's service endpoint routing section.

😃😃

I'm glad we've got smart cookies running the show here.

Btw the did "DHT" thing has been around for a long time in IPFS called IPNS.

https://specs.ipfs.tech/ipns/ipns-record/

Except Mainline is a decade older than IPNS and IPNS doesn't fuckin work like all protocol labs garbage

Be fair. It ... wait... wait... wait... wait... wait... works most of the time!

Both DHTs are Kademlia and work exactly the same. If IPFS appears slower then that's -- ironically -- because it's so much more popular.

You didn't have an answer last time, you don't have one this time.

nostr:note1qm6l6kzcv9acp6zymz068l5gmken8ja8llwptqq0hsvanjajuzyssv2wt8

Good luck.

They all can interoperate as the schemas and standardized, how they are resolved to documents is an implementation detail and adapters are trivial to implement. This is an elegant design pattern for linking systems across orgs.

👍

Yep, DID Resolvers have always been a huge issue.

Funny thing: the universal DID resolver https://dev.uniresolver.io/ instantiates a docker machine for each DID method because it's impossible to develop a single library that resolves them all.

That's fine. It's early days. Things will converge.