# Understanding BNS & BNS V2

## What is BNS?

The **Bitcoin Name System (BNS)** is a decentralized naming protocol built on the Stacks blockchain with Bitcoin finality. It allows users to register human-readable names, like `yourname.btc`, which function as portable digital identities.

Unlike traditional domain names controlled by centralized registrars, BNS names are **fully owned by users**, recorded on the blockchain, and resistant to censorship. They can be used for:

🔹 **Sending & receiving Bitcoin** ($BTC) & Stacks ($STX) easily.\
🔹 **Decentralized identity** & authentication across Web3.\
🔹 **Building brandable blockchain domains** that last for years.\
🔹 **Accessing decentralized applications** (dApps) using your BNS name as a login.\
🔹 **Enhancing on-chain reputation** by linking your BNS name to your wallet & transactions.\
🔹 **Tokenizing & trading names** as valuable digital assets on Bitcoin.\
🔹 **Securing unique namespaces** for businesses, communities & personal brands.\
🔹 **Future integrations** with Bitcoin Layer 2 solutions for broader Web3 utility.

**BNS is more than a simple naming system, it’s a critical step toward true ownership in the Bitcoin ecosystem.**

***

## The History of BNS

**History & Evolution (Namecoin → Bitcoin → Stacks)**

BNS has a rich history, evolving from early blockchain naming systems to its current role as Bitcoin’s decentralized identity layer:

🔹 **2011 – Namecoin Era**\
BNS has its roots in Namecoin, one of the first altcoins created to decentralize DNS. While Namecoin was an innovative first step, it struggled with security vulnerabilities and miner centralization.

🔹 **2014 – BNS on Bitcoin L1**\
BNS migrated to Bitcoin Layer 1, using OP\_RETURN transactions to anchor names. The `.id` namespace was created in 2015, and the migration from Namecoin to Bitcoin was finalized, making these some of the oldest NFTs on Bitcoin.

🔹 **2021 – BNS on Stacks**\
With the launch of the Stacks blockchain, BNS was rewritten as a smart contract on Stacks L2, enabling cheaper transactions, faster updates, and better scalability while still inheriting Bitcoin’s security.

🔹 **2024 – BNS V2 Upgrade**\
The biggest upgrade in BNS history, BNS V2 introduces multi-name ownership, custom namespace creation, and seamless dApp integrations, setting the stage for broader adoption.

**BNS has grown into a robust, scalable, and developer-friendly identity protocol for Bitcoin.**

***

## Key Upgrades in BNS V2

BNS V2 is a **hard fork of the original BNS core contract**, bringing major improvements:

🔹 **Multi-Name Ownership** – One address can now hold multiple BNS names, making management far easier for users and investors.\
🔹 **Namespace Creation & Management** – Users can now create and manage their own custom namespaces, opening new branding and business opportunities.\
🔹 **Improved Smart Contract Design** – BNS names are now easier to integrate into decentralized applications (dApps), increasing utility across the Stacks and Bitcoin ecosystems.\
🔹 **Better Developer Tools** – The BNS V2 API & SDK, built by Trust Machines, Setzeus & Setpato, streamlines integrations, making BNS more accessible for builders.

With **BNS V2**, the Bitcoin Name System is **stronger, more flexible, and ready for mass adoption**.

***

**To find out more about BNS, visit:** [bns.foundation](https://bns.foundation/)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://bns-one.gitbook.io/bns-one/welcome-to-bns-one/understanding-bns-and-bns-v2.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
