Re: BitDNS と Bitcoin の汎用化

人物: RHorning
da2ce7の投稿(2010年12月9日 15:10 UTC)
サトシ・ナカモトの投稿(2010年12月9日 13:46 UTC)

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

nanotubeとtheymosの提案では、BitDNSを作成する実際のコストはトランザクション手数料によって_自動的に_支払われ、二次市場を作る必要がない。チェーンにはいくつでもドメイン名が含まれ、生成者はそのサービスの提供に対してBitcoinで補償される。

問題は、トランザクション手数料を受け取るマイナーはただ棚ぼたを得ているだけだということだ。手数料はスパマーを排除するために存在するかもしれないが、DNS システムに関連する作業は一切していない。生のデータを処理し認証するコンピューターには一切の手数料が支払われず、生成者は Bitcoin で補償されていない。起きていることは、マイナーが本質的にデータストレージサービスとして支払われているだけであり、それは私の意見では限定的な有用性しかない。

これが、Bitcoin のブロックチェーンを汎用データストレージシステムとして使うことに対する大きな不満がある理由でもある。当然のことだと思う。

ribuckの投稿(2010年12月10日 03:21 UTC)

ドメイン名登録用に別のブロックチェーンがあり、Bitcoin で支払いを受けたいとする。

少しの間、ドメインデータだけを含む別のブロックチェーンがあると仮定しよう。暗号的にハッシュされているが、Proof of Work があるかないかは別として(後述する)。このブロックチェーンの目的は主にデータの認証であり、ドメインサーバーの「ネットワーク」がチェーン内のデータがネットワークルールに適合し、誰がどのドメインを「所有」しているかについて有効であることを「認証」できる。公開ブロックチェーンとして、ネットワークの多数派がそのチェーンに何が入るべきかについて合意していることも示す。不正にフォーマットされたデータは多数派が同意しなければ拒否される。チェーンであるため改ざんに対する検証とタイムスタンプも行い、さらに重要なことに、メインの Bitcoin チェーンの外にあることで、すべての Bitcoin ユーザーが必ずしも関心を持つわけではない専門サービスのデータ負荷を軽減する。これらは Bitcoin のトランザクションデータベースの機能であり、他のデータセットにも適用したいと望まれているものだ。

ここまでは簡単な部分だ。また、このチェーンにデータを入れる「レジストラ」がシステムの登録と認証のために「支払い」を受けるシステムも構築したい。これはレジストラとして存在する理由にもなり(レジストラとして存在すること自体がデータベースを維持する強い経済的利害を持つ)、ドメイン名のスパムや公共財の濫用を削減するための手数料の理由も提供する。手数料はデータベースの維持のために支払われるものであり、これが重要だ。この手数料なしでは、せいぜいこのデータベースは無料の公共サービスとして認証され世界に提供される。それを好む人もいるだろうが、Bitcoin プロジェクトに関わる人は、そのようなサービスに対して報酬が支払われることがいかに有用で動機付けになるかを理解できると期待する。theymos/nanotube の提案や、トランザクション内の追加データによる Bitcoin データベースへのすべての登録は、認証を無視して Bitcoin のタイムスタンプ機能のみを使用することでこの問題を完全に回避しており、このデータベースはいずれにしても Bitcoin から派生して構築されなければならないが、無料の公共サービスとして提供される。

しかし、ここに本当の問題がある:中央サーバーがないため、登録者は自分の登録が、ブロックチェーンに次のレコードを入れる順番のレジストラ(Proof of Work であれ他の合意されたシステムであれ)によって確実に入力されることを望む。その認証者が受け取れる何らかの汎用トランザクションを送信したい。登録がブロックチェーンに受け入れられた場合にのみ、その認証者に支払われるべきだ。

ここに問題が生じる:Bitcoin マイナーは登録者からの手数料が利用可能であることを知るかもしれないが、それらのコインが適切にどこに帰属するかをどう決定するか?一度 Bitcoin で手数料が処理されると、それは不可逆だ。フォーマット/認証の紛争でドメインレコードにチェーン分裂があった場合(Bitcoin でさえ今起きているように、おそらく起こるだろう)、それらの Bitcoin トランザクションは、実際にはネットワークの多数派がそのドメイン登録ブロックを無視したために登録を完了させなかった認証者に向かっている可能性がある。別のレジストラが善意でその登録を拾って別のブロックに含めるかもしれないが、そのサービスに対する手数料は一切受け取らない。ブロックチェーンのある程度の深さに到達した後で初めて手数料を「解放」 する仕組みを作ることもできるかもしれない。それでも、どう作っても、手数料を受け取り、ドメインレジストリにデータを入れるふりをしながらドメインレジストリのプロトコルには無関心で、Bitcoin マイナーと共謀して手数料を自分のものにする荒らしが現れる。これは大きな金額が絡む話なので、そういう荒らしは常に存在する。「正直な」 レジストラでも、バグなどでこのシステムの下では稀に手数料を不当に取得してしまうことがある。

手数料システムはこのドメイン登録システムの成功に不可欠だと考える。それによりレジストラの利己的な行動が保証され、データベース、コンピューター機器、その他すべてを維持することが自己利益になる。ドメインネームサーバーがコインを稼ぐ他の方法もあり得るが、登録手数料はすでに市場の一部であり、このシステムが獲得しようとしているものでもある。

要するに、認証は完全に別の通貨で行われなければならないか、あるいはデータの認証(単なるタイムスタンプではなく)が Bitcoin クライアント内で行われ、そのデータが何らかの形で Bitcoin ブロックチェーンにより直接的に含まれ、マイナー自身がデータを認証する必要があることを示そうとしている。Bitcoin マイナーはドメインデータの処理を選ばないかもしれないが、ドメインデータを含む特定のブロックが登録手数料を「獲得」するためにブロックチェーンに受け入れられる何らかの認証基準を満たしていることを認証できるシステムを構築する必要がある。そうでなければシステムは崩壊し、Bitcoin マイナーだけに支払われる純粋なトランザクション手数料以外の手数料の話はすべて無意味であり、そのトランザクションはトランザクションデータベースの保持のためにのみ使われる。

また、登録の即時性を確保するためにも、別の通貨である必要があるかもしれない。すべてのマイナーがドメイン登録の認証に関わりたいわけではなく、時間の経過とともに、Bitcoin ネットワークの設定やマイナーの他の優先事項に応じて、ドメイン登録をシステムに入れるまでの遅延が耐えられないほど長くなる可能性がある(数日または数週間のオーダー)。別の通貨を提案するのは、このプロジェクトを Bitcoin から無用なデータとして追い出すためではなく、P2P ドメインサーバーのコンセプトの目標の観点からも実行不可能だということを指摘するためだ。トランザクション内にデータを入れることは認証ではなく、認証に関して Bitcoin が提供するものの多くの力も失う。Bitcoin が使用する Proof of Work システムは、次のブロックを入れる権利を決定する際にシステムの分散化を確保する唯一の合理的な方法でもある。確かに複数の通貨間で共通のマイニングプールを通じて次の Proof of Work ハッシュを見つける何らかの共通プロトコルを設定できるが、それは別の通貨にするかどうかとは完全に別の問題であり、このスレッドでは決定されていないと思う。

唯一の他の解決策は、Bitcoin がこれや将来登場するかもしれない同様のコンセプトを完全に受け入れ、メインの Bitcoin ネットワーク上でこの性質のデータを認証するためのフックと何らかの標準プロトコルを提供することだ。理論的にはそれは可能であり、通貨の増殖を「統合」する意味ではより遠い将来に行われるかもしれない。ただし、それがすぐにメインの Bitcoin チェーンに組み込まれるとは思えないし、完全には探っていないが多くの欠点もある。