TNA Whitepaper
  • - TNA Intro -
    • Overview
    • Decentralized Names for Bitcoin
    • Taproot and Lightning Network
    • Supporting Multiple Asset Types
    • Omni-Chain Name Assets
  • - Developer Guide -
    • Technical Details
      • Tech Features
      • Key Components
    • Developer APIs
      • Resolution
        • Get Name Info
        • Get Names from an Address
        • Mint a Name
        • Burn a Name
        • Transfer a Name
      • Data Availability
        • Get Tree Status
        • Get Proof
        • Verify Proof
        • Add Block Txs
        • Get Block Height
        • Get Block Hash
        • Get Block Txids
  • - TNA Core -
    • TNA Core Overview
    • Yellowpaper: TNA Core - a Bitcoin DA framework
  • - Ecosystem -
    • Tokenomics
    • Roadmap
    • TNA FAQ
  • - Social Links -
    • Twitter
    • Telegram
    • Medium
Powered by GitBook
On this page
  1. - Developer Guide -

Technical Details

PreviousOmni-Chain Name AssetsNextTech Features

Last updated 1 year ago

TNA is built on the and follows the standards of the .

It leverages Taproot's, , and mechanisms. It also utilizes its key data structure, the , and further expands it to better suit domain name use cases.

TNA supports reverse resolution, allowing lookups from wallet addresses and other external identifiers to their associated Tapnames.

TNA enables users to create custom top-level domains (TLDs) with suffixes such as.btc, .nostr, etc.

Registry

The TNA registry maintains a list of domains, storing information such as name, target, and owner.

  • name: The domain name, like bob.btc

  • target: The address that the domain name maps to, which can be a wallet address or other external identifiers

  • owner: The creator or current holder of the domain name

Resolver

The TNA resolver is responsible for resolving domain names, i.e., returning the actual address corresponding to a domain name.

Resolving a domain name typically involves two steps:

  1. Determining the domain name's position in the Sparse-Merkle Tree, i.e., the leaf node.

  2. Obtaining the resolution result from the node's structural information, i.e., the target.

Domain’s Asset ID

The asset_id is calculated as follows:

asset_id = sha256(genesis_outpoint || asset_tag || asset_meta)

Where asset_tag represents the top-level domain, such as .btc.

Consensus Network

The TNA Consensus Network is responsible for voting on proposals for top-level domain applications to approve or reject. It consists of a group of wallet addresses, with initial members recruited from the community and new members requiring a majority vote from existing Consensus Network members. The Consensus Network ensures that approved top-level domains are globally unique to avoid confusion, which can be achieved through query requests and negotiations with other domain networks.

Lightning Network
Taproot Assets protocol
Asset ID
Universes
Asset Transfer
Sparse Merkle Tree (SMT)