FROM : https://docs.blockstack.org/core/naming/namespaces.html
命名空间是BNS中的顶级命名对象。
它们控制了一些关于命名的属性:
- 注册要花多少钱
- 它们需要多长时间才能更新
- 谁(如果有人)收取姓名登记费
- 允许谁用名称空间的初始名称来播种名称空间。
在撰写本文时,到目前为止最大的BNS名称空间是.id名称空间。id名称空间中的名称用于解析用户标识。id中的短名称比长名称更贵,而且必须每两年由所有者更新一次。姓名登记费并没有特别支付给任何人,而是被发送到一个“黑洞”,在那里,姓名登记费无法使用(其目的是阻止使用ID sqautters)。
与DNS不同,任何人都可以创建名称空间并设置其属性。名称空间是在先到先得的基础上创建的,一旦创建,名称空间就会永久存在。
然而,创建名称空间并不是免费的。命名空间创建者必须销毁加密货币才能这样做。名称空间越短,必须销毁的加密货币越多(即短名称空间比长名称空间更有价值)。例如,Blockstack PBC在2015年花费了40 BTC创建.id名称空间花费了5f00b8e609821edd6f3369ee4ee86e03ea34b890e242236cdb66ef6c9c6a1b281。
名称空间长度可以在1到19个字符之间,由字符a-z、0-9、-和_组成。
名称空间组织
BNS名称被组织成一个全局名称层次结构。这个层次结构中有三个不同的层与命名有关:
-
名称空间。这些是层次结构中的顶级名称。与BNS名称空间类似的是DNS顶级域名。现有的BNS名称空间包括.id、.podcast和.helloworld。所有其他名称都只属于一个名称空间。任何人都可以创建名称空间,但是为了持久保存名称空间,必须启动它,以便任何人都可以在其中注册名称。名称空间不属于它们的创建者。
-
BNS的名字。这些名称的记录直接存储在区块链上。这些名称的所有权和状态通过发送区块链事务来控制。示例名称包括verified.podcast和muneeb.id。任何人都可以创建BNS名称,只要包含它的名称空间已经存在。BNS名称的状态通常存储在Atlas网络中。
-
BNS子域名。这些名称的记录存储在off-chain中,但是被集体锚定到区块链。这些名称的所有权和状态位于Atlas网络中。虽然BNS子域名由单独的私钥拥有,但BNS名称所有者必须广播其子域名状态。示例子域名包括jude.personal.id和podsaveamerica.verified.podcast。与BNS名称空间和名称不同,BNS子域名的状态不是区块链一致规则的一部分。
下面给出了一个特征比较矩阵,总结了这些命名对象之间的相似点和不同点:
功能 | 命名空间 | BNS names | BNS Subdomains |
---|---|---|---|
全局唯一 | X | X | X |
人们可以理解的 | X | X | X |
由私钥拥有 | X | X | |
任何人都可以创建 | X | X | [1] |
所有者可以更新 | X | [1] | |
状态保存在链上 | X | X | |
状态保存在下 | X | X | |
由共识规则控制行为 | X | X | |
可能有一个有效期 | X |
[1]需要BNS名称所有者的合作来广播其事务
网友评论