BitDNSとBitcoinの汎用化

6 件のメッセージ appamatto, サトシ・ナカモト 2010年11月14日 — 2010年12月10日
appamatto 2010年11月14日 原文 · 個別ページ

これは2010年11月14日のIRCチャンネルでの議論に基づくものである。

BitDNS

過去にDNSを分散的に扱う試みはあったが、権威(authority)を完全に排除した解決策はこれまでなかったと思われる。

もしそのような解決策が存在していたなら、その上にビットコインを直接実装することもできたはずだが、周知の通りそうはならなかった。

しかし、ビットコインのクローン(BitDNS)を作成することで、分散型かつ権威不要のドメイン名の割り当てと移転に対する解決策を提供できる可能性がある。

基本的に、このシステムはビットコインのコピーであり、マイナーがブロックを獲得するたびに、自分の選んだ50個の新しいネーム・マッピングを生成する。ネーム・マッピングはBTCと同様の方法で所有者が変わる。

このシステムはBTCとは別個のものであり、エスクローサービスがBTCでのネーム市場を提供する可能性が高い。なぜなら、そのようなエスクローは2つのブロックチェーンを活用してトランザクションを検証できるからである。マイナーは、エスクローに資金が預けられて既に入札が行われているネームを選ぶことで、生成したネームを素早く売却できるようにすることができる。

Bitcoinの汎用化:BitX

ここまでは良いが、現在2つのブロックチェーンが存在することになり、マイナーは一度に1つしか生成できない。ビットコインに類似した特性を必要とするがまだ開発初期で攻撃に脆弱な、より賢いアプリケーションが開発されると、この問題はさらに深刻になる。そこで登場するのがBitXであり、単一のブロックチェーン上であらゆるそのようなアプリケーションをサポートするように設計されている。

BitXはビットコインと同様のブロックチェーンを持つ。ただし、マイナーは以下の方法で任意のアプリケーションデータを配布することを選択する:

  1. ブロック内のペイロードは、アプリケーション名からハッシュへのマッピングである:[“bitcoin”: , “bitDNS”: , “bitHaiku”: , …]

  2. 各ブロックは、ブロックチェーン上にまだ存在しない新しいアプリケーションを1つだけ作成できる。これはスパム防止のためである。

  3. 各ブロックは、任意のアプリケーションのデータを省略することができる。現在の状況と同様に、マイナーはどのトランザクションを含めるかを選択でき、これはどのアプリケーションのデータを送信するかの選択にも拡張される。

  4. アプリケーションデータは別個に転送されるため、例えばビットコインのクライアントが俳句やDNSネームを気にする必要はない。誰かにビットコインのペイロードを要求し、適切なブロック内のハッシュと一致することを確認するだけでよい。

  5. クライアント側では、ブロックは上記4点に関連するエラーの場合にのみ拒否される。つまり、誤ったビットコインのペイロードを含んでいるという理由でブロックが拒否されることはない。なぜなら、それにより有効なDNS移転が拒否される可能性があるからである。代わりに、ビットコインのクライアントは最新のブロックを受け入れるが、無効なビットコインのトランザクションは無視する。

マイナーは自分が利益を得られると考える活動に従事する。例えば、マイナーは俳句に利益の動機を見出さないかもしれないが、DNSネームは容易に売却できるため生成したいと考えるだろう。このシステムは、ブロックチェーン自体にわずかなオーバーヘッドを追加するだけで、非常に幅広い有用なアプリケーションをサポートできると考える。アプリケーションの増殖はマイナー自身の利害によって制御される。

また、これによりブロックチェーンはよりモジュラーになるようである。関心事が分離され、ブロックチェーンは世界中のすべての人にとってのシステムの普遍的な状態を作成することに厳密に限定され、アプリケーションデータは帯域外で移動するがブロックチェーンに対して検証される。

このモジュール性の一つの効果は、アプリケーションが違法または望ましくないアプリケーションデータを無視し、自分が関心のあるアプリケーションのペイロードだけをダウンロードできることである。

最後に一つ:BitXはビットコインにとって重大な脅威をもたらす。なぜなら、通貨がブロックチェーンの「キラーアプリ」ではない可能性があるからだ。つまり、bitBeanieBabiesがビットコインより大きくなったらどうなるのか? 突然、ビットコインシステムのセキュリティが低下したように見える。両方がBitX上で動作していれば、互いのセキュリティを強化し、干渉は最小限に抑えられるだろう。

読んでくれてありがとう。 Appamatto

BitDNSが完全に別のネットワークと別のブロックチェーンでありながら、BitcoinとCPUパワーを共有できるようにすることは可能だと思う。唯一の重複は、マイナーが両方のネットワークのプルーフ・オブ・ワークを同時に検索できるようにすることだ。

ネットワーク間の調整は不要だ。マイナーは両方のネットワークに並行して接続する。ヒットを得た場合、潜在的に両方を同時に解決するようにSHAをスキャンする。一方のネットワークの難易度が低い場合、その片方のネットワークだけの解決になるかもしれない。

外部マイナーが両方のプログラムでgetworkを呼び出し、作業を組み合わせることができると思う。例えばBitcoinを呼び出し、そこから作業を取得し、BitDNS getworkに渡して組み合わせた作業にするとか。

断片化する代わりに、ネットワークは互いの合計CPUパワーを共有し強化する。これは、複数のネットワークがある場合に利用可能なCPUパワーが1つのネットワークに集中すると互いに危険になるという問題を解決する。代わりに、世界中のすべてのネットワークが合算されたCPUパワーを共有し、全体の強度を高める。小さなネットワークが既存のマイナーの基盤を活用して容易にスタートできるようになる。

Quote from: nanotube on December 09, 2010, 09:20:40 PMマイナーは基本的に「余分な作業」をしなければならないようです。そして、その余分な作業(もちろん、メインのbitcoin作業を遅くします)からbitdnsマイニングの報酬がないなら、マイナーがbitdns(およびその他のサイドチェーン)を含めるインセンティブは何でしょうか? インセンティブは、同じ作業で追加のサイドチェーンからも報酬を得ることだ。

ビットコインを生成している間に、同じ作業で無料のドメイン名も得られるのに、なぜそうしないのか?

現在週に50 BTCを生成しているなら、50 BTCに加えていくつかのドメイン名も得られる。

1つの作業単位がある。それを解けば、BitcoinとBitDNSの両方のブロックを解決する。概念的には、Merkle Treeで結び付けられている。Bitcoinに提出するにはBitDNSのブランチを切り離し、BitDNSに提出するにはBitcoinのブランチを切り離す。

実際には、Bitcoinに後付けするために、BitDNS側にはおそらく約200バイトの余分が必要だが、大したことではない。1ブロックあたり50ドメインの話をしているが、後方互換性のための1ブロックあたり200バイトは些細なものだ。十分に気にするなら、将来のブロックでBitcoinがMerkle Treeを上位に持つ近代化された配置にアップグレードするスケジュールを組むこともできる。

チェーンはこの新しいMerkle Treeの下にあることに注意してほしい。つまり、BitcoinとBitDNSそれぞれが自分のブロック内に独自のチェーンリンクを持つ。これは一般的なタイムスタンプサーバーの配置とは逆で、通常はチェーンが上にあってその下にMerkle Treeがあり、1つの共通のマスターチェーンを作る。これはチェーンを共有しない2つのタイムスタンプサーバーだ。

世界中のすべてのプルーフ・オブ・ワーク合意システムを1つのデータセットに詰め込むのはスケールしない。

BitcoinとBitDNSは別々に使える。ユーザーがどちらか一方を使うために両方のすべてをダウンロードしなければならないのはおかしいだろう。BitDNSユーザーは、次の無関係なネットワークがいくつも積み上げることを決めたすべてのデータをダウンロードしたくないかもしれない。

ネットワークは別々の運命を持つ必要がある。BitDNSユーザーは、必要なドメイン登録者が比較的少ないため、大きなデータ機能の追加について完全にリベラルかもしれないが、Bitcoinユーザーは多くのユーザーや小型デバイスでも簡単に使えるようにチェーンのサイズを制限することについてますます厳格になるかもしれない。

Bitcoinでドメインを安全に購入することへの懸念は的外れだ。Bitcoinを他の取り消し不能な商品と交換するのは簡単だ。

それでも心配なら、暗号学的にリスクフリーの取引を行うことが可能だ。両当事者が双方でトランザクションを設定し、両者が署名すると、2番目の署名者の署名が両方のリリースをトリガーする。2番目の署名者は一方をリリースせずにもう一方をリリースすることはできない。

Quote from: Hal on December 10, 2010, 07:14:04 PM追加のブロックチェーンはそれぞれ独自のフレーバーのコインを作成し、それが取引所でビットコインと取引されるのですか?これらのチェーン固有のコインは、そのチェーンのマイナーへの報酬や、そのチェーンのドメイン内での何らかの権利や特権の購入に使われるのですか? そうだ、ドメインとビットコインの間の交換レートは変動するだろう。

BitDNSには10分より長い間隔が適切だろう。

この議論でこれまでに、すでに多くのハウスキーピングデータが必要とされている。Bitcoinのチェーンの高価なスペースに手数料を支払うことを心配せずに、必要なスペースを自由に使えれば、はるかに簡単になるだろう。いくつかのトランザクション:

IPレコードの変更。

名前の変更。ドメインオブジェクトは1つのドメインへの権利を与え、取得されていない任意の名前に自由に変更できる。これにより、ユーザーが不要になった名前を解放することが促されるだろう。生成されたドメインは空白で始まり、マイナーがそれを誰かに売り、その人が希望の名前に変更する。

更新。無料にすることも、更新に別のドメインオブジェクトの消費を必要とすることもできる。その場合、ドメインオブジェクト(ドメインコイン?)は1年間ドメインを所有する権利を表す。使用された手数料は次のブロック手数料でマイナーに支払われる。

同意する。すべてのトランザクション、IP変更、更新などにはマイナーに支払われる何らかの手数料があるべきだ。

固定された総流通量の代わりに、ドメインを生成するために一定量の作業を要求することを検討するかもしれない。ドメインあたりの作業量はムーアの法則に沿って増加するスケジュールにできる。そうすれば、ドメインの数は需要とそれを使用する人の数に応じて増加するだろう。