I looked at the github page and as far as I can tell DNN is meant to be a substitute for DNS identifiers?
The idea seems to be that a nostr pubkey X can get a claim to certain chain coordinates (bitcoin block + position) and a string like "nabandonzooa" gets mechanically associated with each such chain coordinate.
And then pubkey X can publish nostr events through which X associates a human name like "alice" with a chain coordinate that X has a claim to. So for example X can publish nostr events through which X declares "I associate 'alice' with the chain coordinate 'nabandonzooa'."
It looks like nothing prevents X from publishing nostr events on relay A through which it associates "alice" with "nabandonzooa," and nostr events on relay B through which it associates "john" with "nabandonzooa."
Now a full node can discover *all* of the chain coordinates that have been claimed by pubkeys under this scheme, and it could for example identify the most recent chain coordinate C that was claimed by pubkey X, say the one whose string is "nebuchadnezzar". Then one can look at X's nostr events and find an event on relay A showing that X has associated "alice" with "nebuchadnezzar." Of course one can't be sure that there isn't some other event on some unknown relay B through which X has associated "john" with "nebuchadnezzar."
The result seems similar to searching for kind-0 profiles published by pubkey X. One might for example find a profile event signed by X with the profile name "alice" on relay A and choose to display that in a client, but of course one cannot be sure that there is no other profile event signed by X on some other relay B that shows "john" as the profile name.
I'm not sure yet what exactly this system is trying to add.
