WAVE is a peer-to-peer naming service built on the Radiant blockchain. It enables direct networking without relying on DNS or any centrally managed name lookup service. WAVE offers human-readable names for payments, hostname resolution, and all the functions of DNS with the security and benefits of the Radiant blockchain.
- Introduction
- Name Prefix Tree
- Transaction Contract
- Name Ownership
- Name Resolution Service
- Updating Zone Records
- Permissions
- Localization
- Calculations
- Future Improvements
- Conclusion
- References
WAVE addresses the weaknesses of traditional DNS by using a blockchain-based electronic naming system. By leveraging proof-of-work blockchain transactions, WAVE ensures computational impracticality to reverse or forge records, offering a secure alternative to DNS. This system provides speed, efficiency, and flexibility using Radiant's unique reference system.
Names are represented as a chain of transactions forming a prefix tree. Each letter is represented as a unique output of a transaction stemming from a root transaction. The system supports 37 characters (a-z, 0-9, and hyphen). Users can extend any node and supply funding inputs to incentivize miners.
The transaction contract consists of:
- Determining the claim address.
- Creating at least 38 outputs where the 0th output is the Claim Token, a layer-1 NFT.
- Ensuring the prefix data structure is repeated at each level for easy verification.
Ownership is linked to the private key corresponding to the address in the UTXO representing the Claim Token. Ownership transfers and updates follow a first-in, first-out rule.
Resolving a name involves traversing the prefix tree from the root transaction to the Claim Token. The resolver service must provide all subsequent spends of the Claim Token to the latest unspent output.
The system allows attaching arbitrary data to Claim Tokens, enabling flexible zone record updates. Zone records can include keys for addresses, avatars, names, and more.
The system supports hierarchical name management, allowing businesses to delegate control of subdomains while maintaining top-level control.
To support Unicode characters, WAVE uses Punycode encoding, converting Unicode to a subset of ASCII (letters, digits, and hyphens).
Bandwidth and storage requirements for resolving names and updates are manageable. For example, a name updated 1,000 times requires approximately 1 MB of data.
Potential improvements include reducing storage requirements, exploring alternative encodings, enhancing resiliency against denial of service attacks, and preventing name registration front running.
WAVE provides a robust, secure, and scalable naming system based on cryptographic proof, offering a superior alternative to DNS. It supports flexible permissions and subdomains, making it suitable for various use cases.
- Satoshi Nakamoto, "Bitcoin: A Peer-to-Peer Electronic Cash System," 2008. Bitcoin Whitepaper
- "Radiant: A Peer-to-Peer Digital Asset System," 2022. Radiant Whitepaper
- "DNSSEC: DNS Security Extensions," 1999-. DNSSEC RFC
- "Punycode: A Bootstring encoding of Unicode for Internationalized Domain Names in Applications (IDNA)," 2006. Punycode Spec