ほっしーの技術ネタ備忘録

技術ネタの備忘録です。基本的に私が忘れないためのものです。他の人の役にも立つといいなぁ。

namecoin - DNS ブリッジを作ってみた

みなさん、namecoin という仮想通貨をご存知でしょうか!

マイナーすぎてなかなか知られていないので簡単に説明します。

namecoin とは

早い話が bitcoin のちょっとすごいヤツです。
基本的に bitcoin でできることはできます。


さらに、追加として key-value store の機能を持っています。


つまり、普通に暗号通貨としての側面を持ちつつ、
ブロックチェインにユニークな名前&データを書き込むことができる代物です。


このユニークなキーは全世界で重複のないものとなっており、
関連づいたデータは任意のデータを最大 520Byte 書くことができます。


しかも、ストレージとしてはブロックチェインを使っている都合上、
改ざんが非常に困難であることが知られています。


全世界で重複のない名前で、誰か1人だけが更新できて、他の人は改ざんできない。
何かを連想しませんか?


そう、DNS です。


d/ で始まる名前はドメイン名として扱われるようにしよう!
という試みが始まっていまして、d/example というキーで登録すると、
example.bit というドメインが手に入ります。データの部分に
DNS のゾーンデータに該当するものを書くイメージで現在規格化が進んでいます。

.bit TLD の問題

そこで使っている .bit TLD は、ICANN の管轄外になっています。
ということは、そう、普通の DNS サーバじゃ名前が引けないんです。
しょんぼり。


現在、.bit 運営元ではいくつかの実現手段を提示しています。

  1. Public DNS を使う
  2. ローカルに namecoin クライアントを走らせる

どちらも、.bit ドメインにアクセスしたい全ユーザが手を動かす必要があります。


流行ればいつかは標準クライアントとして導入されるだろうとは思いますが...


そんな面倒なもの現状じゃ誰も使わないし流行らねぇよ!


というわけで、もっと簡単に使える方法を用意してみました。

bit.hslab.net ドメイン

偶然にも hslab.net というドメインを持っていたので、
namecoin から d/example といった名前のデータをひっぱり出してきて、
後ろに hslab.net を付けた example.bit.hslab.net で引けるようにしました。


d/example という名前を取得すれば、現行は example.bit.hslab.net でアクセスできる、
将来的に、もしも、もしも仮に namecoin が流行った場合には、
example.bit だけでアクセスできるようになる。


ちょっと面白そうじゃないです?

ちなみに

IPv6 対応も DNSSEC 対応も済んでます。
一種の DDNS なので DNSSEC はどうしようかと悩みましたが、
10分に一回、ゾーン全体再署名とかいうちょっと正気なの??な方法で対応しました。