Hang

Namecoin

2017-08-22

互联网到今日已经越来越趋向于中心化,用户的隐私安全以及大公司的行为也日渐引起担忧。去中心化网络是一个应对此问题的重要思想,blockchian,bitcoin,tor 等都是一些具体的技术探索,很多已经有了越来越大的影响力。Namecoin 也是其中的一个。

Namecoin 想要解决的是目前 DNS 存在的一些问题。中央机构控制的 DNS 很容易因为各种原因受到干扰,用户的利益和隐私容易受到侵犯。Namecoin 借助于 bitcoin 的思想,构建了一个去中心化的 DNS 系统。

Zooko’s triangle#

类似于分布式系统中的 CAP 理论。类似 DNS 这样的协议,我们期望它具有的三个特性很难满足: 安全,可读性好,去中心化。目前的最常用的 DNS 系统不满足去中心化。DNSSec 对现有的 DNS 做了一些安全性的增强,但仍然是中心化的。.onionbitcoin是去中心化的和安全的,但是可读性很差等等。

Namecoin 是满足上面要求的一个系统。(Aaron Swartz曾经提出过这样的设计思路)

Namecoin#

Namecoin 基于 BitCoin,本身就是在 Bitcoin 的代码上实现的(大概做了 400 多行改动)。挖矿的方式跟 bitcoin 一样,只是用的是不同的 block chain.二者的目的不同,bitcoin 主要还是为了成为一种货币系统,Namecoin 是为了成为一种命名系统。所以二者的关注点不同,blockchain 分开也是最合理的。二者有一些不同的规则:

  1. namecoin 要求名字的唯一性(域名),而 bitcoin 不要求
  2. 经济交易以及域名注册使用的货币大小不一样,block size 设的不一样更好
  3. 通货膨胀对 bitcoin 的影响很大,namecoin 则不一样。
  4. namcoin 中,注册域名需要花钱,但这些货币会被销毁(0.01NMC).因为是去中心化的系统,没有收费的中央系统。

Namecoin 里的数据主要分为两种 domain name 和 NameID

Domain#

Domain 的格式类似于:

{ 
"name" : "d/opennic",
"value" : "what you want",
"expires_in" : 10227
}

value的示例:

{
"ip" : "192.168.1.1",
"ip6" : "2001:4860:0:1001::68",
"tor" : "eqt5g4fuenphqinx.onion",
"email" : "hostmaster@example.bit",
"info" : "Example & Sons Co.",
"service" : [ ["smtp", "tcp", 10, 0, 25, "mail"] ],
"tls": {
"tcp":
{
"443": [ [1, "660008F91C07DCF9058CDD5AD2BAF6CC9EAE0F912B8B54744CB7643D7621B787", 1] ],
"25": [ [1, "660008F91C07DCF9058CDD5AD2BAF6CC9EAE0F912B8B54744CB7643D7621B787", 1] ]
}
},
"map":
{
"www" : { "alias": "" },
"ftp" : { "ip": ["10.2.3.4", "10.4.3.2"] },
"mail": { "ns": ["ns1.host.net", "ns12.host.net"] }
}
}

其中d/是一个 namespace,主要是为了应用层的区分,表示这个数据是一个 domain.

  • name: d/开头,后面的字符串应该遵守 domain name 的 regex
  • value: json string.关于此 domain 的一些属性。最大长度 520 bytes.

Identity#

用来管理网上的个人身份标识信息。namespace 为 id/testnet
这里可以看到一些在线的信息。

REF#

  1. Zooko’s triangle
  2. Squaring the Triangle: Secure, Decentralized, Human-Readable Names
  3. faq
  4. Domain name specification