Giter Club home page Giter Club logo

did-method-dns's Issues

Maybe not mention "zone files"

Zone files are an implementation detail of some DNS servers, but other DNS servers use databases instead of files.

The specification should therefore use generic terminology for this, e.g. "public resource records (on the authoritative servers for the domain)".

Derive verification method `id` from key digest

I think if keys are stored in DNS based on a digest of the key which then also becomes part of the verification method id it would solve #3 as well. In signed documents you would include that key id and fetch exactly the single DNS record you need. I guess the key id could be supplied as extra metadata to the DID resolver which essentially resolves to a subset of the complete DID doc. It's an optimization but an important one I think.

Ignore all other RRs? Probably not

The specification currently says:

"All other RRs MUST be ignored during the DID document construction step."

This language may not be ideal, because wo don't really want to "ignore" other RRs (such as DNSSEC). Instead maybe something like the following is better:

"only URI RRTypes matching the above requirements must be used for construction..."

Activity

I find this resolver very interesting,
I m wondering if it is still active ?
Regards

Is the URI RR type the right choice?

The specification currently uses URI RRs.

  • DNSSEC uses DNSKEY and other RR types.
  • DKIM uses TXT RR types.
  • URI RRs may not be widely supported (e.g. Gandi doesn't support them). OTOH this should probably be not the main concern when choosing which RR type is most appropriate; semantics and functionality should matter more than implementation support.

Deactivate = Deleting the domain name?

The specification currently says:

"To deactivate the DID document, the domain is deleted."

It would probably be better to have a way of deactivating the DID without necessarily deleting the domain name. Perhaps the following is better:

"the respective URI records are removed from the domain"

Or alternatively we could also introduce a special RR pattern that marks the domain name as a "deactivate DID".

DNS queries are usually for a specific record

DNS queries have to be made for a specific RR, rather than retrieving "all" RRs in a zone and then filter them.

Therefore steps 3 and 5 in https://danubetech.github.io/did-method-dns/#resolve are a bit imprecise, and it may not be possible to just "retrieve all keys" with a single query.

Also, we have to make sure we have to be compliant with how the URI RR works (and we should reference RFC 7553 - https://datatracker.ietf.org/doc/html/rfc7553).

Compare to how section 3.1 on "Owner Name" is written here: https://datatracker.ietf.org/doc/draft-mayrhofer-did-dns/

How to represent verification relationships?

The specification currently defines RR patterns for storing public keys, but it doesn't specify their verification relationships (authentication, assertionMethod, etc.).

Should there be an explicit pattern for specifying this, or should a default set of verification relationships be assumed (like e.g. in did:key)?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.