What Is Cross-Network Handshake (XNHNS) ?
Cross-Network Handshake (XNHNS) is a way to easily move your TLD around various blockchains and use them in smart contracts native to that host chain. This allows you to move your TLD to wherever your identity/community/economy will be best utilized while maintaining your ownership of the domain on HNS. This allows other blockchains to delegate naming and identity functionality to Handshake by leveraging Handshake’s app-specific chain design for DNS instead of building their own isolated namespace.
With XNHNS, domains become dynamic, evolving assets across the evolving web3 landscape. Ethereum mainnet too expensive? Move to xDAI for cheaper transactions when updating your DNS records. All your friends are using Cosmos now? Use XNHNS to migrate your domain there so you can integrate your identity natively into social media apps on Cosmos. Want to use your domain for NFT mining for that new shitcoin on Polkadot? Let the apes run wild.
This allows every blockchain. and the entire metaverse to have a single source of truth for identities rooted in Handshake naming system.
Resolver Bridge + Asset Bridge
XNHNS accomplishes two goals for Handshake TLD owners - managing DNS records on another chain (resolver bridge) and tokenizing TLDs as assets on another chain (asset bridge). All of this is done trustlessly with no custody, KYC, platform fees, or any of that nonsense.
The resolver bridge lets you fully configure your domain’s DNS records - its about intrinsic uses of your TLDs. Setup subdomains for your new site kiba.onlyfans/ on Ethereum and that subdomain can be visited by anyone on Handshake (that supports HIP5). Even if they’ve never used Ethereum, their HNS resolver will pull the records for your domain from the XNHNS smart contracts. This means you can setup your own registrar and sell SLDs without needing to run servers, manage payments, etc. since its all handled by smart contracts and your clients have security guarantees from XNHNS (see below) that their SLD records will remain valid.
After you use XNHNS your domain is natively resolvable by any smart contracts on the host chain you migrated your TLD to. This means smart contracts can use your domains to resolve info without needing to make an offchain DNS request which requires an oracle service. This oracle request introduces latency and potential attack vectors to apps trying to integrate HNS domains without using XNHNS. Because of our ENS integration the resolver bridge also means you can host addresses for any chain on XNHNS. So a DAO that earns revenue on both Handshake and xDAI blockchains (😉) can send HNS and DAI tokens to the same domain kiba.onlyfans/ and know that it will reach the appropriate address for each respective chain.
XNHNS allows you to buy your domain on Handshake and own it anywhere!
The asset bridge lets you verify your ownership of a Handshake domain to smart contracts on host chains - its about extrinsic uses of your TLDs. After registering your TLD with XNHNS you receive an NFT representing your TLD within our system (an NFTLD). If you want to use your Handshake domain outside of XNHNS on your host chain they will require you to have ownership of an NFTLD. This ownership can be verified outside the XNHNS smart contracts on the host chain if they choose to setup their own oracle to verify the results returned by XNHNS oracles. Now that your asset is tokenized
Why use XNHNS??
No other system provides the security, flexibility, or composability that XNHNS provides TLD owners. We rely heavily on HIP05, ChainLink, and ENS. This gives us a strong foundation of industry standards to build an interchain protocol for managing domain names.
Benefits of XNHNS:
Maintain control of keys for your TLD
Anonymous, censorship resistant, and no middlemen
No platform lock-in
No code, just clicks
Use Handshake domains with other blockchains and applications e.g. DeFi on Ethereum or dVPN on Cosmos
Manage all DNS records (including SLDs) onchain with full transparency and programmability
FOSS - you can run your own XNHNS instance if you want to
Preserve your identity across all blockchains
How does XNHNS work?
We use ChainLink oracles and HIP-05 to allow top level domain (TLD) to be verified on any other blockchain network and used on there natively. This first implementation will go live on xDAI since it’s easy, cheap, and relatively secure to use as a test-in-prod platform. While oracles are offchain, there are two parts to XNHNS that live on chain - the Registry and Registrars.
We forked ENS as they have created an amazing set of smart contracts with lots of integrations but they do not wish to integrate HNS names into their original app so we have forked them and made some slight modifications. You can read about .badass/, the first TLD ported to ENS, to learn about the advantages of ENS and how it works with HNS domains.
TL;DR of why HNS + ENS:
Leverage the power of ENS resolvers with a verifiable root zone of HNS
Transforms your HNS domain into an ERC-721 standard NFT (an NFTLD)
Integrate HNS domains into the Ethereum NFT and DeFi ecosystem
Instant multi-chain wallet support for HNS domains (e.g. send BTC directly to kiba.onlyfans/)
Process overview:
Setup your TLD with records for XNHNS on the chain you want to migrate to
Tell the registrar you want to use to verify your records from #1 and provide a deposit
Registrar tells oracle to verify records
Oracle returns result onchain. If your records a re configured, the TLD is associated to your address on that blockchain
Now that you’ve verified ownership, tell the registrar to register the TLD to you
Registrar assigns TLD to you in Registry and issues you NFTLD
When you’re done, tell the registrar to unregister you and receive your deposit back
This is a brief overview. I’ll be working on a more technical deep dive and a user guide that will give step by step for relevant stakeholders.
Security Guarantees of NFTLDs on Host Chains
To provide some measure of security for SLD owners or smart contracts integrating NFTLDs we require a small deposit. If the TLD owner ever changes their NS breaking the resolver bridge with XNHNS, anyone can snitch on them to their registrar. The registrar will ask oracles to check if the TLD is still pointed at the correct NS. If its not the snitch earns half the TLD owner’s deposit and the other half is donated to the Handshake Development Fund. If the snitch was wrong, their whole snitch deposit is donated to Handshake Development Fund. Even subdomains with their own NFTs can be trusted because you can trace them back to their TLD on the XNHNS registry.
Once on the host chain your NFTLD can be used for anything you want - setup subdomains and give them to your community members to access token permissioned chats, take out a loan against it, setup your own registrar to sell subdomains, use your domain as a literal storefront by pointing it at a metaverse land plot, etc.
The small deposit will not be a strong enough economic guarantee for many dapps. This is intentional, we don’t want deposits to be prohibitively expensive if you are using your NFTLD for personal uses like identity, web hosting, etc. Any high value or complex application for NFTLDs will need some custom logic and security guarantees depending on what the needs of the application are. A simple subdomain registrar might require the NFTLD owner to escrow some asset that is distributed pro-rata to their customers if they rugpull. A lending dapp like NFTfi will require your NFTLD to be liquidated and ownership transferred, since XNHNS doesnt take custody we can’t transfer ownership of the TLD on HNS but NFTfi can take your deposit on your host chain and payback your lender with it.
If you want to use your NFTLD in more high value applications there are a few options:
Dapps escrow assets on hostchain and monitor HNS using ChainLink oracles for domain to be transfered and finalized before releasing assets on host chain to appropriate parties (e.g. looking into Boson Protocol to facilitate this)
Dapps use scripts on HNS to escrow assets across both networks (e.g. HTLC)
Wrap your NFTLD into an ERC-998 token with other tokens of value so your domain is not the only source of value for the token and the recipient would be fine not getting the actual TLD on HNS.
Dapps require additional collateral on their platform for NFTLD users compared to other NFTs or create incentives to have higher deposits on NFTLD (e.g. lower interest rates if > X tokens backing the NFTLD)
Go try out XNHNS on xDAI now!
Whats next for XNHNS?
Hire a sysadmin/devops to deploy and maintain ChainLink oracles (currently using trusted oracles for alpha release)
Continue developing app interface (please drop feedback in our discord)
Build out v2 of XNHNS contracts to make it easier to deploy new registrars with additional functionality
Explore Cosmos Interchain for truly native integration with other blockchains