分散型 BitCoin エスクローサービスの作り方

4 件のメッセージ BitcoinTalk デイヴィッド・A・ハーディング, サトシ・ナカモト 2010年9月26日 — 2010年9月26日

要約:BitCoin に分散型エスクローを持たせれば、他のすべての交換手段に対する優位性が生まれ、普及率が高まるかもしれない。詳細は以下の通り。

分散型通貨に対して、中央集権型のエスクローが現在の BitCoin の標準となっているようだ。例を挙げる:

アリスはボブから$5分の BitCoin を買いたいが、アリスもボブもお互いを完全には信頼していないので、両者が信頼するサイト——例えば Mt. Gox に行く。そこにそれぞれの資金を預け、Mt. Gox に交換を行ってもらう。

Mt. Gox に悪意はないが(好きなサイトだ)、そのエスクローサービスなしでやれないだろうか?

ほぼ分散型の代替案:

  • チャーリー(信頼できる第三者)が BitCoin の秘密鍵を生成する。
  • チャーリーは UNIX の split コマンドで秘密鍵を半分に分割し、半分をアリスに、半分をボブに渡す。
  • ボブは$5分の BitCoin を分割された BitCoin アカウントに入金する。
  • アリスは公開ブロックを使って取引を確認する。
  • アリスは PayPal でボブに$5 を送る。
  • ボブは PayPal の取引を確認する。
  • ボブは自分の半分の秘密鍵をアリスに送り、アリスが先に入金された BitCoin にアクセスできるようにする。

(簡略化のため、取引手数料を誰が払うかや、チャージバック詐欺を避けるためにどのくらい待つべきかなどの PayPal の詳細は省略する。また、ボブが最後のステップを実行するインセンティブも省略する。)

UNIX の split コマンドの代わりにもっと洗練されたものを使えば、より高度なほぼ分散型の例が作れる。例えば:ssss[1]のようなシャミアの秘密分散法の実装だ。ssss のようなユーティリティを使えば、アリスとボブは意見が食い違った場合に仲裁人を指名できる。

もちろん、これらすべての問題は、チャーリーが作成する秘密鍵の完全なコピーを悪用しないとチャーリーを信頼しなければならないことだ。

理想的な解決策は、アリスとボブがそれぞれ独自に秘密鍵の半分を生成することだろう。現代の鍵ペアに使われる数学を完全には理解していないが、現在のアルゴリズムではこれは不可能だと思う。

鍵全体をどの当事者にも渡さずに、アリスとボブがそれぞれ秘密鍵の半分を取得する代替方法はあるだろうか?

-Dave

[1] 参照:http://en.wikipedia.org/wiki/Shamir’s_Secret_Sharing (http://en.wikipedia.org/wiki/Shamir's_Secret_Sharing)

まだ実装されていないが、ネットワークは 2 つの署名を必要とするトランザクションをサポートできる。ここに説明がある: topic 750

エスクローなしの直接支払いよりは絶対に安全だが、人間が仲裁するエスクローほどではない(もちろん、その人間を十分に信頼できると仮定した場合だが)。

この種のエスクローでは、詐欺師は勝つことができないが、あなたが損をする可能性はまだある。少なくとも、あなたを騙す利益動機を取り除くことはできる。売り手はお金が自分のために確保されていることが保証され、買い手は完了するまで売り手にまだ支払われていないという交渉力を保持する。

サトシ・ナカモトの投稿(2010年9月26日 17:34 UTC)

まだ実装されていないが、ネットワークは2つの署名を必要とするトランザクションをサポートできる。ここに説明がある: http://bitcointalk.org/index.php?topic=750.0

投稿前の検索でこれを見つけられなかったとは信じがたい。ありがとう。

リンク先の投稿で言っているように、エスクローはソフトウェア(おそらくノード上で動作している)で実装されているので、理論的にはネットワークは n 個の署名を必要とするトランザクションをサポートできる、ここで n は任意の数だ。これで正しいだろうか?

もしそうなら、ネットワークは(登録されたすべての署名ではなく)過半数の署名を必要とするトランザクションもサポートできるだろうか? 例えば、買い手が 3 つのキーペアを生成し、1 つをトランザクションの開始に使い、1 つを資金の解放のために保存し、1 つを両者から信頼される仲裁者に配布する。買い手か仲裁者のどちらかが資金を解放できる。

改めてありがとう、

-Dave

前の投稿をした後で気づいたが、自分の例では 3 つのキーペアは必要ない。買い手は単に 2 つ目のキーペアのコピーを仲裁者に渡せばよい。

3 つ以上のキーペアが必要な、もう一つあり得るシナリオを思いつけない。

とにかくありがとう、-Dave