# BNS 的历史

#### Namecoin 起源（2014）

比特币名称系统（BNS）的根源可追溯到 2014 年，当时它作为建立在 Namecoin 之上的命名与身份层，通过 OneName 项目开始运行。

<div data-with-frame="true"><figure><img src="/files/a9ca190f119b996254ed62c6f2ab2ccc11b0255a" alt=""><figcaption></figcaption></figure></div>

这个想法简单却强大：允许用户注册全球唯一、便于人类阅读的名称，并通过密码学与私钥绑定。早期采用者会注册如下格式的名称 `u/ryan`，并将其用作可携带的数字身份。然而，Namecoin 的局限性——包括垃圾信息、较弱的安全保证以及较慢的确认速度——使其长期扩展性变得困难。

#### 迁移到比特币（2015）

2015 年，项目迁移到比特币区块链本身，通过公开承诺销毁约 40 BTC 来锚定该 `.id` 命名空间。这一举措利用比特币的持久性和去中心化，显著增强了安全模型。名称注册被直接记录在比特币交易中，通常使用 `OP_RETURN`，而更丰富的状态数据则保留在链下。这种混合方式使 BNS 既能继承比特币的安全性，又能支持灵活的身份元数据。

#### Stacks 时代（2021）

下一个重要篇章始于 2021 年，随着 Stacks 的推出而展开。随着 Stacks 引入锚定于比特币的智能合约功能，BNS 作为智能合约部署在 Stacks 2.0 的创世区块中。所有先前的 BNS 名称都被迁移过来，在保留所有权历史的同时，实现了更具表达力的链上逻辑。诸如 `.btc` 这样的名称迅速走红，BNS 也演变为 Stacks 生态中的核心身份原语。每个名称都具有全球唯一性，并由私钥强力持有；zonefile 允许最多约 40KB 的链下数据，用于个人资料、地址映射和去中心化标识符（参见下方 BNSv2 变更）。BNS 同时支持完全链上的名称和锚定到区块链状态的链下子域，为开发者在构建身份系统时提供了灵活性。

{% embed url="<https://www.youtube.com/watch?v=5IkK5T9NDqU>" %}

#### **BNS 已经发展成为比特币生态系统的基石。**

BNS 名称已产生可观的市场活动，销售额达到 150 万 STX（估计约 200 万美元）。BNS 市场于 [Gamma.io](http://gamma.io) 在 2022 年 10 月上线，为社区提供了一个专门用于购买、出售和交易名称的空间。这有助于巩固 BNS 作为去中心化域名市场领导者的地位。

2024 年 2 月，BNS 庆祝其 10 周年，标志着其在比特币区块链上的去中心化命名与身份领域走过了十年历程。

#### BNS V1 的局限性

BNS 在 Stacks 上的原始实现，通常称为 V1，运行稳定但存在结构性约束。一个地址在同一时间只能维护一个主名称，这限制了可组合性，也让交易或收藏名称变得更繁琐。此外，这些名称并未实现为 SIP-09 NFT，这意味着它们不会自动与更广泛的 NFT 工具生态互操作。随着 Stacks 的成熟以及 NFT 标准的逐步完善，社区开始推动更灵活、可互操作的重新设计。

#### 迈向 BNS V2 的演进

这一重新设计于 2024 年 9 月以 BNSv2 的形式落地。从 BNSv1 到 BNSv2 的迁移中，名称会空投给截至 2024 年 9 月 11 日迁移快照时拥有它们的账户。用户无需做任何事……他们的 BNSv2 名称会直接出现在钱包中。BNSv1 合约仍然存在于链上，但通过 V1 对名称所做的更改不会反映到 V2 中，反之亦然。

新的实现从根本上重新架构了名称的表示和管理方式。最显著的是，每个顶级名称现在都是符合 SIP-09 的 NFT。这一变化使 BNS 名称能够直接接入钱包、市场和智能合约，而无需自定义处理逻辑。这也意味着名称的行为就像标准数字资产：它们可以以最小摩擦进行转移、上架、托管，或集成到 DeFi 协议中。

BNSv2 还取消了单名称限制，使地址能够同时拥有多个名称。这个看似简单的变化极大改善了可用性，并解锁了更复杂的应用模式，从身份组合到基于命名空间的品牌策略。命名空间本身在 V2 下也变得更加灵活。开发者或社区可以创建无管理的命名空间，按无许可方式运行；也可以创建带指定管理者的受管理命名空间，这些管理者可以定义定价规则、验证要求或其他约束。受管理命名空间由一个 **合约主体** （而不是标准钱包）控制，并且该管理者可以被永久冻结，以实现完全去中心化。这种灵活性为策划型身份层、品牌化生态系统以及实验性命名经济打开了大门。

<details>

<summary><strong>BNSv1 会怎样？</strong></summary>

BNSv1 智能合约将继续存在。但今后通过 BNSv1 合约对名称所做的任何更改都不会反映到 BNSv2 中，反之亦然。

</details>

BNSv2 中的注册流程仍然采用预注册和揭示机制来防止抢跑，即在实际名称被揭示之前先提交该名称的加盐哈希。zonefile 仍是架构的一部分，允许名称引用外部数据，例如钱包地址、个人资料或去中心化身份记录。但 V2 的 zonefile 与 V1 有着根本不同。在 V1 中，zonefile 是通过 Atlas 网络复制的链下数据。在 V2 中，zonefile 被存储在链上的一个独立 zonefile-resolver 合约中。由于名称现在是 NFT，它们能更自然地与 Stacks 生态中的市场和基础设施集成，同时仍通过 Stacks 的锚定模型继承比特币的安全保证。

今天，BNSv2 既是建立在 Stacks 之上的身份系统，也是数字资产框架。它保留了最初关于由比特币保障的全球唯一、用户拥有名称的愿景，同时将架构现代化，以适配 NFT 标准、多资产所有权和可编程命名空间管理。

***

#### 其他资源

* BNS 的更深入历史回顾： <https://mythbtc.xyz/bns-history/>


---

# 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://docs.stacks.co/learn/zh/network-fundamentals/bitcoin-name-system/history.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.
