- From: Gabe Cohen <gabe@tbd.email>
- Date: Tue, 12 Dec 2023 08:07:49 -0800
- To: Brian Richter <brian@aviary.tech>
- Cc: Steve Capell <steve.capell@gmail.com>, W3C Credentials CG <public-credentials@w3.org>, Daniel Buchner <dbuchner@tbd.email>
- Message-ID: <CAPPN6pj-ORkiWuzv8fwtR873=uH=OxMDsO-ic+Udaek8WLn8mQ@mail.gmail.com>
Brian, Thanks for the feedback. Here is what we’re thinking: - As a fallback you can continue to use your did:key/did:jwk as intended — so the root/identity key is guaranteed to be stable - It is only ever an optional resolution step for more keys/properties in the document - Manu had suggested a new prefix for did:key that signifies the DID is resolvable specifically on this DHT, which should address at least one of your concerns - Forking is handled by the sequence number property of the DHT (as specified as a part of BEP44); historical resolution is something the spec covers which partially addresses this too Open to suggestions to mitigate more of your concerns! I think it’s great to call these out. Gabe On Dec 11, 2023 at 2:36:10 PM, Brian Richter <brian@aviary.tech> wrote: > Although I see upgrading of static keys to a more dynamic method as a > desirable trait the proposed approach gives me hesitations. I don't think > an identifier should ever turn from static to dynamic as this introduces > severe interoperability concerns.. > - Is this did:key the static one or has it been upgraded? > - Was it upgraded on did:dht or > did:another-method-that-has-similar-upgradability-pattern? > - Is this fork A or B of did:key:z... > > In general though, this method is great. I look forward to playing with > it. Thanks Gabe! > > On Mon, Dec 11, 2023 at 2:25 PM Gabe Cohen <gabe@tbd.email> wrote: > >> Steve, >> >> Definitely — you can find some comparison of IPFS and Mainline DHT here >> <https://github.com/Nuhvi/pkarr/issues/5#issuecomment-1701608315>. My >> condensed reasoning is that Mainline is more distributed, performant, and >> has significantly more real world usage than IPFS. >> >> I spent some time looking at (and trying to implemented…) IPID DID method >> <https://did-ipid.github.io/ipid-did-method/>. It is quite old and in >> need of an update; I had a hard time implementing it properly and I’m >> curious if there is anyone actually using it. I reached out to the original >> author but that conversation didn’t really go anywhere. Conceptually IPID >> is similar to DID DHT. There are some minor differences, such as Mainline >> only supporting Ed25519 (IPLD supports RSA and some others too), and limits >> on file size (1KB on Mainline), which I think is a good thing for >> decentralization (see: block size wars). >> >> One of the most promising aspects, I believe, for did:dht is >> interoperability and upgradability of existing methods like did:key and >> did:jwk, which we’ve started to profile here >> <https://did-dht.com/registry/#interoperable-did-methods>. Authors of >> both specifications are amenable to this functionality, which I believe >> could result in near-term wide-spread adoption of the method. >> >> Gabe >> >> On Dec 11, 2023 at 1:55:51 PM, Steve Capell <steve.capell@gmail.com> >> wrote: >> >>> Hi gabe >>> >>> Well at least it’s not another me-too cryptocurrency Ponzi scheme ;) >>> >>> I like the idea of DHTs as a decentralised resource discovery mechanism >>> >>> Would you care to offer some comparisons / advantages / disadvantages >>> over the IPLD did method? >>> >>> Steven Capell >>> Mob: 0410 437854 >>> >>> On 12 Dec 2023, at 4:23 am, Gabe Cohen <gabe@tbd.email> wrote: >>> >>> >>> Cross-posting from the DID WG mailing list: >>> >>> Hi everyone, >>> >>> Daniel Buchner and I have been working on a new DID method called DID >>> DHT. Yes, I know what you’re thinking…another DID method, really? But we >>> believe it’s worth it for a truly decentralized and (relatively) simple >>> method which does not rely on a blockchain. We believe this sweet spot can >>> enable true decentralization and broad adoption in the market, as >>> blockchains remain undesirable for many. >>> >>> Here are a few key points: >>> >>> >>> - Utilizes BitTorrent’s mainline DHT >>> - Has tens of millions of nodes >>> - Has been around for 15+ years >>> - Already widely used by many large companies (e.g. Ubuntu, >>> Microsoft) >>> - 1 KB maximum payload size >>> - Uses a mapping of DID Documents to DNS resource records for >>> semantics and compression >>> - Relies on signed mutable records from Mainline DHT (BEP44 >>> <https://www.bittorrent.org/beps/bep_0044.html>) >>> - No need to trust a server — each record is signed! >>> - Order enforced by a sequence number. >>> - Supports any feature of a DID Document >>> - Except for root key rotation; relies on a stable root key >>> - Interoperable with existing DID methods such as did:key and did:jwk >>> - We have spoken with authors of both methods, who are amenable >>> to support an optional resolution step to the DHT to extend these existing >>> methods >>> - We have mechanisms for spam reduction, gateway discovery, and more >>> features! >>> >>> >>> >>> You can find the latest draft of the specification here: >>> https://did-dht.com/ >>> >>> At Block / TBD we’ve already put out a number of open source >>> implementations in Go, Kotlin, and Typescript. You can find links at our >>> repository here <https://github.com/TBD54566975/did-dht-method>. >>> Additionally we’re hosting a free-to-use gateway server which is intended >>> for *testing purposes only: * >>> https://diddht.tbddev.org/swagger/index.html. We will be continuing >>> development of our open source gateway and plan to contribute a driver for >>> the universal resolver. >>> >>> Concretely we are looking for feedback and other parties interested in >>> testing the method out. We have high hopes that should DIDs be on a path to >>> resolution in browsers, DHT could be a strong candidate. >>> >>> Looking forward to your feedback, >>> >>> >>> >>> Gabe Cohen >>> >>> Lead Platform Engineer, Verifiable Credentials >>> >>> gabe@tbd.email <gcohen@tbd.email> >>> >>> TBD <http://tbd.website/> | LinkedIn <https://linkedin.com/in/cohengabe> >>> | Twitter <https://twitter.com/decentralgabe> >>> >>> >>>
Received on Tuesday, 12 December 2023 16:07:57 UTC