I was looking at FEPs and had some thoughts:
Would it be beneficial to specify Decentralized Identifiers fields as a normally resolvable URL like https://example.com/.well-known/did:example:1234 so that software that doesn't support DIDs silently uses the URL for lookup, but software that does support DIDs treats the values as DIDs and applies special processing for them? You do something similar in FEP-ef61 with did:apkey and /.well-known/apkey except for still using the did: scheme in the field values.
The webfinger lookup in FEP-4adb made me think it would be possible to use a DHT to determine servers that have DID data. I think any such DHT needs to have support for multiple addresses on different networks (clearnet, tor, i2p, etc.).
Are there any Content Addressible DIDs? I saw a mention of urn:sha256: in FEP-cb76 but couldn't find anything on that elsewhere or a did: that used a hash function for verification. If you know of any, i would like to know.
That's good to know there is a way to implement this that doesn't cause every existing Activity Pub server to break. Makes it more likely I will try it.
On the content addressing question, I'm looking to see if there is an existing way to refer to images, archives, pdfs and the like by a name that is derived from the contents of the file. I may be misunderstanding what a Decentralized Identifier is supposed to be used for.
@teknomunk I'm currently in favor of IPFS URIs because IPFS folks made an effort to bring them to the Web (there's a browser extension that can open them, IIRC they even work in Brave browser out of the box).
I understand, but I am disinclined from using IPFS after having run a node for several years, because of a few issues:
IPNS is terrible, unless there has been massive improvement in the last couple of years. If you have used IPNS, you know exactly what I'm talking about. IPNS should resolve in less than a second, not dozens of seconds or a couple minutes. DNSLink is pretty much required.
Creates a new protocol utilizing Protocol Buffer instead od using HTTP and other web standards.
Written in Go and last time I checked doesn't link to other languages, so if you want to use it, you are using the command line utility, writing ypur program in Go, or reimplementing it. I tried making a way to link to it from other languages (opaque interger handles for Go objects is basically the only way that isn't insanity), but it was still difficult enough I gave up.
Feel free to use it, but I am looking elsewhere. Just a difference in priorities.
@silverpill I really don't know of a good alternative.
It would be nice to just be able to use standard HTTP for serving files, though. Long track record. Only difficult part is translating a urn: or a did: into a list of server addresses.