This post may be of interest: AntTP - Serving Autonomi data over HTTP - #336 by Traktion
Locally, I’m experimenting with extending it further to resolve first to a JSON record, which is a bit like a zone file.
I haven’t integrated it into a traditional DNS resolver, but AntTP can use it to resolve a name to something else.
There is a shared key for creating pointers from a name to an address. The latter would usually be a private key based pointer, which can then resolve to somewhere of the private key holder’s choosing.
By using max count, the shared key pointer can be made immutable and fixes to point at a user’s private key pointer. This can then be updated, only by the owner, when necessary.
I’m not sure how similar your design is, but will take a read later.
EDIT: Just looked now:
This is a similar approach to what I was experimenting with AntTP, but I have been using pointers with max counter instead, then chaining pointers where necessary.
My documentation isn’t nearly as detailed as yours, but using the same format as above, it would be a bit like:
Pointer: mydomain.ant (deterministic address via shared key)
└─ Content: "98daa2aba6513e5c..." with counter = MAX
└─ Owners Pointer ("98daa2aba6513e5c...")
└─ Content: <XOR address>
Or what I’m playing with atm:
Pointer: mydomain.ant (deterministic address via shared key)
└─ Content: "98daa2aba6513e5c..." with counter = MAX
└─ Owners Pointer ("98daa2aba6513e5c...")
└─ Content: { "antns": [{ "name": "<subdomain>", "type": "A", "ttl": "3600"}] }
Or chained:
Pointer: mydomain.ant (deterministic address via shared key)
└─ Content: "98daa2aba6513e5c..." with counter = MAX
└─ Owners Pointer 1 ("98daa2aba6513e5c...")
└─ Content: "123aa2aba6513e5c..." with counter = MAX
└─ Owners Pointer 2 ("123aa2aba6513e5c...")
└─ Content: { "antns": [{ "name": "<subdomain>", "type": "A", "ttl": "3600"}] }
etc, to transfer domains.
I wanted to just experiment and see how well it worked before documenting thoroughly. It sounds like the goals are pretty similar though.