(hardingの文脈投稿)
要約: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
まだ実装されていないが、ネットワークは2つの署名を必要とするトランザクションをサポートできる。ここに説明がある: topic 750
エスクローなしの直接支払いよりは絶対に安全だが、人間が仲裁するエスクローほどではない(もちろん、その人間を十分に信頼できると仮定した場合だが)。
この種のエスクローでは、詐欺師は勝つことができないが、あなたが損をする可能性はまだある。少なくとも、あなたを騙す利益動機を取り除くことはできる。売り手はお金が自分のために確保されていることが保証され、買い手は完了するまで売り手にまだ支払われていないという交渉力を保持する。