ビットコインのエスクローについて、サトシらが議論

特集 サトシ・ナカモトが残した言葉〜ビットコインの歴史をたどる旅

小宮自由

ビットコインのエスクローについて、サトシらが議論

ビットコインを発明し、未だその正体が分かっていないサトシ・ナカモト。そんなサトシが残した約2年間の文章を、小宮自由氏の解説と共に紹介する連載「サトシ・ナカモトが残した言葉〜ビットコインの歴史をたどる旅」の第52回。

まずサトシのメールの前に、本連載の元になっている書籍『ビットコイン バイブル:サトシナカモトとは何者か?』の著者フィル・シャンパーニュ氏の解説も掲載する。

フィル・シャンパーニュ氏の解説

複数の署名を要求する取引がビットコインプロトコルには組み込まれており、これはエスクロー(預託)サービスに利用可能である。例えば、三つの鍵が含まれるとき、このうち二つだけが取引の署名には必要となる。このケースでは、鍵の一つは支払人のもの、二つ目は受取人、三つ目はエスクロー代理人である。争いや対立がないときは、支払人と受取人が取引に署名し、受取人が代金を受け取る。

争いがあるときは、エスクロー代理人が争いの内容を吟味し、支払人・受取人いずれかの側に有利な裁定を下した後、エスクロー代理人が送金先と判定した側への送金取引に署名する。これは、三者のうち二者の署名を要求する銀行小切手に似ている。三者とはこのケースでは支払人、受取人、エスクロー代理人である。

ビットコイン取引のエスクローサービスは今日、存在する。以下の三つのスレッドでは、エスクローをどのように処理するか、ビットコインにとってエスクローの意味とは何かが論じられている。

サトシ・ナカモトの投稿

それではサトシの投稿をみていこう。

=======================

半自動的なエスクロー・メカニズムの提案
投稿:Olipro 2010年07月30日 午後07時29分08秒

(注:斜体部分は、サトシ以外の者の質問を指す)

ですので、エスクローの基本的な仕組みは、第三者を介して二人が商品・サービスの交換取引をする(通常はお金)ことです。

両者とも誠実な人である場合、買い手は商品を受け取ると代金のリリースに同意するため、エスクロービジネスは基本的に自動的に実行されます。争いがあるときのみ、人間の介在が必要になります。

1) 請求額のエスクロー取引を作成します。この取引は自分の鍵で認証し、受取人の鍵/データなどが含まれます。このブロックは、後続のブロックを買い手が発行し、承認するまで要求できません。買い手は、売り手による返金の承認なしに再要求するのも不可能です。

2) エスクロー取引がネットワークに入り、検証されると、売り手は商品を発送します。買い手は受け取るとリリース取引を作成し、売り手は代金のビットコインを受け取ります。

3) 争いが起きて両者が資金のリリースを、購入代金として、返金として、どちらでも構いませんが、拒否した場合、判定を下す第三者が必要になります。この状況では、第三者の介在を正式に認定する買い手と売り手双方の署名が必要になります。この署名により、その第三者には、元になったエスクロー取引の保有権が与えられ、仲裁できるようになります。

Re:半自動的なエスクロー・メカニズムの提案

投稿:サトシ 2010年08月05日 午後06時08分30秒

送金に必要な二つの署名を要求する取引を書くことが可能です。送金に必要な受取人と送金人の双方の署名を要求する支払を書きます。エスクローのリリースとは、あなたの側の署名を受取人に渡すか、受取人が自分の側の署名をあなたに渡して返金するか、いずれかのことです。この単純なケースでは仲介者はいません。リコース(頼みの綱)*1 は代金のリリースの拒否で、それはつまり、本質的にはお金を焼き捨てることです。

Re:半自動的なエスクロー・メカニズムの提案

投稿:サトシ 2010年08月07日 午後08時04分59秒

引用:jgarzik 2010年08月05日 午後07時00分30秒

このリコースがあるので、エスクローの仕組みとしては使えそうにありません: – )

【フィル・シャンパーニュ氏の発言】ここで、サトシがエスクロー取引に特化したスレッドを立てた。

エスクロー

投稿:サトシ 2010年08月07日 午後08時13分52秒

ソフトウェアで実行可能なエスクロー取引の概要をここに述べます。これは実装されておらず、たぶんすぐに実装する時間はとれませんが、どんなことが可能かだけ、お知らせします。

基本的なエスクローは次の通りです。買い手はロックされた代金の支払をエスクローに委ねます。売り手はエスクローに入った代金の付いた取引を受け取りますが、買い手がロックを解除するまでは使えません。買い手による支払のリリースはロックの解除後ならいつの時点でも良いし、リリースしない選択肢もあります。この仕組みだと、買い手はお金を取り戻すことはできませんが、悪意からリリースせずにお金を焼き捨てる選択肢を持つことができます。売り手は代金を買い手にリリースし返す(返金する)選択肢を持っています。

このシステムはどちらの側にとっても損失に対する保証がないため、不正による利益が生まれます。

売り手は、商品を発送しなければ支払を受け取れません。買い手はお金を失ったままですが、少なくとも、売り手にも、買い手に送らずに逃げる金銭的動機はありません。

買い手には不払いで得られる利益はありません。エスクローの代金を取り戻すのは不可能です。資金がないからといって支払を不払いにすることはできません。売り手は資金が自分の鍵と紐付けされているため、他の第三者には送れません。

さて、経済学者に言わせると、詐欺的な売り手は例えば、「代金をリリースすれば、半額を返金します」というように交渉を始めます。しかし、その時点では、信用がほとんどなく、悪意に満ちているため、交渉はありえないように見えます。詐欺者は盗み取ろうとしてすでに約束を破っているのに、一体どうして約束を守ってあなたに半額を送るでしょうか? 小額のケースなら、ほとんど全員が原則のみを理由に拒否すると思います。

Re:エスクロー

投稿:jgarzik 2010年08月07日 午後09時25分40秒

買い手がお金の焼き捨て以外にリコースを持たなければ、利便性の制約を招くと思います。

投稿:aceat64 2010年08月08日 午前02時55分59秒

引用:jgarzik 2010年08月07日 午後09時25分40秒

買い手がお金の焼き捨て以外にリコースを持たなければ、利便性の制約を招くと思います。

たぶん仲裁の形で進めることができます。買い手と売り手の双方が合意すれば、代金は第三者へ迂回させることができます。その第三者が仲裁し、代金を買い手に返金するか、売り手に送るか、それとも盗むか、です(もちろん、信用できる仲裁者を選定したいですよね)。

それが今日のオンライン・エスクローの仕組みです。買い手と売り手は第三者が代金を物理的に保持することに同意します。買い手と売り手は双方とも、中立的な第三者が従う取引の決定/回収のルールに同意します。中立的第三者はどちらかへ資金の支払を実行する人です。

こちらがかなり適切な概要です。

https://www.escrow.com/ solutions/escrow/process.asp

ビットコイン仕様の署名入りエスクロー手法を用いる選択をする人もいるでしょう。しかし、「お金の焼き捨て」というリコースの存在は、ビットコイン・エスクローを誠実に用いるインセンティブになるよりも、ビットコイン・エスクローを完全に回避するインセンティブになると思います。

Re:エスクロー

投稿:aceat64 2010年08月08日 午前05時49分44秒

私はこのスレッドのOliproの提案が気に入っています。http://bitcointalk.org/index.php?topic=645.0

買い手と売り手の双方が同額のビットコインをエスクローに委ね、売り手は、買い手が正式に同意するまで両セットとも回収できません。最善のケースとしては、元の所有者への資金の返金に両者が同意するか、両方のセットが両者同意の仲裁者に送られるケースです。Oliproの提案では、判定者のみが買い手側に対してコントロールを有しますが、私個人的には、両者がこの問題へのビットコイン利害関係を保てるように、仲裁者は両者へのコントロールを有するべきと思います*2 。

Re:エスクロー

投稿:jgarzik 2010年08月10日 午後06時53分57秒

引用:nimnul 2010年08月10日 午後05時51分49秒

顧客が代金を取り戻せるようだと、売り手には大きな問題になるので、サトシの解決法は適切です。昨今のインターネットでのクレジットカード支払と入金取消を考えて下さい。入金取消は売り手の主要な悩みの種になっていて、それはビットコインでは何があろうと回避すべきです: – )

現実世界のビジネスオーナーに、代金が永久に失われてどちらの側も回収不能になる可能性をお客さんに告げる気になれるかどうか、聞いてみて下さい。

Re:エスクロー

投稿:nelisky 2010年08月10日 午後08時20分36秒

技術的な選択肢に関係なく、エスクローはその定義からして、常に信用される機関でなければならないと思います。物事が順調に進んでいるときには、自動化された手続きの流れが手軽なのは理解できます。

・買い手はBTCをエスクローに送り、受取人のアドレスを告げます。
・売り手はエスクローにBTCがあるのを見て、自分のアドレスへの送金が指示されているのを確認します。
・買い手は売り手へ代金をリリースできます。
・エスクローはX日後に自動的にリリースを実行します。
・両者とも不平を言い始めます。

自動化が可能なのはそこまでです。物事が悪い方に進むときは、双方とも損が出るよう、両者ともにエスクローに手数料を支払うべきです(この手数料は口座開設のため事前に支払うべきですか?)。エスクローの任務は仲介することだけです。

手数料と人間の介在があるため、詐欺の成功の確率はおそらく、長期的には経済的な関心の対象にはならないでしょう。すでに信用された人なら、この点で理想的な人物になり、たぶん、小額の手数料があれば、私たちのような「普通の人」なら、私たちが彼らにとって身近な存在ならば、両者の主張に対応することができるでしょう。

しかし、お金を焼き捨てる解決法は、経済的に実行可能な詐欺を防ぐには素晴らしいですが、復讐を防ぐ効果はなく、実際、片方が不誠実なら全員が失うことになります。私はそれを支持しません。

Re:エスクロー

投稿:サトシ 2010年08月11日 午前01時30分02秒

引用:jgarzik 2010年08月10日 午後06時53分57秒

現実世界のビジネスオーナーに、代金が永久に失われてどちらの側も回収不能になる可能性をお客さんに告げる気になれるかどうか、聞いてみて下さい。

その言い方では何かお金が失われたように聞こえ、両者がたとえ協力したくてもお金を獲得できないように聞こえます。

前金で支払えば、取り戻すこともできません。買い手はそれに甘んじているようです。それもまた同様によくないことです*3 。

どちらの側も常に、相手方に向けてリリースするオプションを持っています。

引用:nelisky 2010年08月10日 午後08時20分36秒

しかし、お金を焼き捨てる解決法は、経済的に実行可能な詐欺を防ぐには素晴らしいですが、復讐を防ぐ効果はなく、実際、片方が不誠実なら全員が失うことになります。私はそれを支持しません。

それなら、前金支払の一般的なシステムにも反対しなければなりません。前金支払では買い手が失います。

前金支払では、買い手が失い、盗人がお金を得ます。単純なエスクローでは、買い手は失いますが、盗人がお金を得ることもないです。

皆さんは、前金支払の方が、盗人がお金を得る、つまり、少なくとも誰かがお金を得るから優れていると言いたいですか?

あなたが何かを盗まれたと想像しましょう。取り戻すのは無理ですが、もし可能なら、もしその盗まれた品物に遠隔起動用の無効化スイッチ*4 があるのなら、それを使いますか? 盗人にとっては、あなたの所有物全てに無効化スイッチが組み込まれていて、盗んでも役立たずになると知るのは良いことでしょうか? あなたもその品物を失うことになりますけど。もし盗人が返しに来るなら、あなたは再度有効化できます。

金が盗まれると鉛に変わるのを想像してみましょう。盗人が返すと、また金に戻ります。

私には、なお、それを正しく提示できるかどうかの問題であるように思えます。一つとしては、ゲーム理論の議論のために「お金の焼き捨て」という表現をあまり直接的に使わないことです。お金が本当に焼かれるわけではありません。いつでもリリースできる選択肢を持ちます。

Re:エスクロー

投稿:ribuck 2010年08月11日 午前11時13分12秒

引用:Inedible 2010年08月11日 午前01時52分53秒

商品販売による邪悪な意図を鎮めるためにできることが何もなく、支払を「焼き捨てる」だけ、商品(これは実在するとします)を発送しないだけとは、ただもう恥ずかしい話です。

次の例は単なる悪意のケースですが、とても現実的な脅威です。

例えば、

Aがラップトップを販売します。
Bは購入を決め、2000ビットコインをエスクローします。AはBに商品の発送を確認させますが、実際は発送しません。
Bは受け取れず、ビットコインをリリースしません。
Aは気に留めません。なぜなら、Aの意図は、返金保証のないBにビットコインを「送金させる」ことだからです。

次のケースはどうでしょう。

Aはラップトップを2000ビットコインで販売し、保証金として2500ビットコインをエスクローします。
Bはこれを購入し、2500ビットコインをエスクローします。AはBに商品の発送を確認させますが、実際は発送しません。
Bは受け取れず、ビットコインをリリースしません。
Aは、保証金として2500ビットコインをエスクローに入れているので、心配になります。

このシナリオでは、ラップトップの発送はAの利害に関わり、発送しないとAは2500 BTCの保証金を失います。ラップトップの受領確認はBの利害に関わり、受領確認しないと「余分な」500 BTCを失います。

厄介な状況が生じるのは、AとBの両者が誠実な人間であるのに、無保険の配送業者がラップトップを紛失・破損するケース、または、エスクローのリリース前にどちらかが死亡するケースです。

【フィル・シャンパーニュ氏の発言】エスクローについて、後に別のスレッドが立てられた。

分散型のビットコイン・エスクローサービスの作り方

投稿:harding 2010年09月26日 午前01時16分18秒

要約。ビットコインに非集中型のエスクローを作れば、他のどの交換手段をも上回るアドバンテージを獲得し、普及率が上がります。詳細は次の通りです。

非集中型の通貨にしては、集中型のエスクローが今日、ビットコインの標準になっているようです。以下は一例です。

アリスはボブから5米ドル相当のビットコインを買おうと思いますが、アリスとボブはどちらも完全には相手を信用していないので、両者が信用するサイト、例えばマウントゴックスのサイトに行きます。そこで二人は各自の代金を預け、マウントゴックスに交換取引を代行させます。

マウントゴックスに悪気はないですが(私が気に入っているサイトです)、これをエスクローサービス抜きでできませんか?

以下はほぼ分散型の代替サービスです。

チャーリーは信用される第三者で、ビットコインの秘密鍵を生成します。

すると、チャーリーはUnixの分割コマンド「split」を用いて秘密鍵を半分に分割し、半分をアリスに、半分をボブに与えます。

ボブは分割されたビットコインアカウントに5米ドル相当のビットコインを預けます。

アリスは公開ブロックを用いて取引を検証します。

アリスはボブに5米ドルをペイパルで送金します。

ボブはペイパル取引を検証します。

ボブは、前に自分が預けたビットコインアカウントにアリスがアクセスできるよう、分割された秘密鍵のうち、自分が持つ半分をアリスに送ります。

(話の単純化のため、誰が取引手数料を払うか、入金取消詐欺の回避のためどのくらい待つ必要があるか、など、ペイパルの詳細を部分的に省略しています。ボブが最後のステップを実行するインセンティブも省いています)

これより進化したほぼ分散型の例としては、Unixの分割コマンド「split」に替えてさらに複雑なものを使うことです。例えば、ssssのような、「シャミアの秘密分散法」の実装です。ssssのような便利なものがあると、アリスとボブは不同意のケースに備えて仲裁者を契約できます。

この全てにまつわる問題点は、もちろん、チャーリーは自分で作成した秘密鍵のフルのコピーを悪用しないと、私たちが信用しなければならない点です。

アリスとボブにとって理想的な解決策は、各自が自分で秘密鍵の半分を生成することです。私は近代的な鍵ペアに用いられる計算を完全には理解していませんが、現行のアルゴリズムではこれは不可能ではないかと思います。

アリスとボブがそれぞれ、鍵全体を誰かに与えることなく、秘密鍵の半分を取得する別の方法はありますか?

– Dave

Re:分散型のビットコイン・エスクローサービスの作り方

投稿:サトシ 2010年09月26日 午後05時34分26秒

まだ実装されていませんが、ネットワークでは二つの署名を要求する取引をサポートできます。ここに書かれています。

http://bitcointalk.org/index.php?topic=750.0

エスクロー抜きの直接の支払よりは絶対的に安全ですが、人間を十分に信用できるとして、人間が仲裁するエスクローほど優れてはいません。

この種のエスクローでは、詐欺者には勝つ見込みはありませんが、あなたが負ける可能性はなお残ります。少なくとも詐欺者からは、不正を働く利潤的な動機はなくなります。売り手は代金が自分のために確保されて安心し、買い手は、売り手には取引完了まで代金が支払われないという優越性を保てます。

========================

【訳注】

*1 ここでの「リコース(recourse)」は、金融用語の「遡及権」や「償還請求」の意味ではなく、「債務者が債務の履行を行ったときの対抗手段」という程度の意味で用いていると思われる。このケースの場合、送金人は自分のお金を焼き捨てる(自分を含めて誰も使えないようにする)ことによって、不誠実な受取人を利さないことを「recourse」と述べている。
*2 買い手が払ったお金だけがロックされた場合、売り手のトローリング行為(冷やかしやいたずらの意。お金だけ送らせておいて商品を送らないこと)に対して買い手が無防備になるため、売り手にも資金をロックさせることにより、不誠実に振る舞った際のリスクを付与するという考え。
*3 現在のECでよく使われているクレジットカード等の前払い手段では、買い手は基本的に払った金銭を取り戻すことができず、そのやり方には問題があるとサトシは指摘している。
*4 原文だと「kill switch」。

解説

ビットコインは特定の参加者への信頼を必要としない分散型システムですが、現実の取引においては物理的制約があるため他者へのある程度の信頼は不可欠です。サトシはこの点では妥協しており、信頼できる第三者に仲裁を依頼するエスクローの仕組みを提唱しています。

原始的なエスクローは「買い手の合意がない限りロックした資金は売り手にはお金が渡らない」という実装になりますが、ロックしているので売り手が不誠実な場合買い手は資金を事実上失います。このため本文では、売り手も資金をロックすべきだと主張している人がいます。しかし、現実の取引においては、双方が資金を失う可能性があると説明すると利用者が(リスクが高すぎると感じ)納得しないだろうという指摘もなされています。

サトシが最後に述べているのは、いわゆるマルチシグです。本文中のエスクローの問題は「2 of 3」(取引の承認には、3つの鍵のうち2つの署名が必要)のマルチシグで解決できます。買い手と売り手と仲裁者がそれぞれ鍵を所有し、紛争時には仲裁者が状況を見て、売り手に理があると考えれば取引を有効化する署名をし(売り手+仲裁者の2つの署名で売り手は資金を得られる)、買い手に理があると考えれば取引を無効化(返金)する署名をする(買い手+仲裁者の2つの署名で買い手に返金される)。この例では、仲裁者が資金を着服するリスクはありません(仲裁者の鍵だけでは資金を移動できないから)。この仲裁者は裁判官のように、利害関係なく中立の立場で取引の有効性を判断できます。買収などの問題は依然として残っているため、仲裁者の信頼性を判断するためのシステムは別途必要でしょう。

小宮自由

→この連載の他の記事を読む

関連するキーワード

この記事の著者・インタビューイ

小宮自由

東京工業大学でコンピュータサイエンスを学び、東京大学ロースクールで法律を学ぶ。幾つかの職を経た後に渡欧し、オランダのIT企業でエンジニアとして従事する。その後東京に戻り、リクルートホールディングスでAI(自然言語処理)のソフトウェア作成業務に携わり、シリコンバレーと東京を行き来しながら働く。この時共著者として提出した論文『A Lightweight Front-end Tool for Interactive Entity Population』と『Koko: a system for scalable semantic querying of text』はそれぞれICML(International Conference on Machine Learning)とACM(Association for Computing Machinery)という世界トップの国際会議会議に採択される。その後、ブロックチェーン業界に参入。数年間ブロックチェーンに関する知見を深める。現在は BlendAI という企業の代表としてAIキャラクター「デルタもん」を発表するなど、AIに関係した事業を行っている。 https://blendai.jp/ https://twitter.com/blendaijp https://twitter.com/BorderlessJpn https://twitter.com/BorderlessDAO

この特集のその他の記事

サトシも危惧していた、ビットコインのスケーラビリティ問題

ビットコインを発明し、未だその正体が分かっていないサトシ・サカモト。そんなサトシが残した約2年間の文章を、小宮自由氏の解説と共に紹介する連載「サトシ・ナカモトが残した言葉〜ビットコインの歴史をたどる旅」の第2回。

経済的ディスインセンティブが、ビットコイン51%攻撃を防ぐ

ビットコインネットワークに対する著名な攻撃(取引履歴を不正に改ざんすること)に、51%攻撃というものがあります。ビットコインは世界中のコンピュータがその計算能力を使い、取引履歴をブロックとして保存しています。この計算能力・処理能力の51%、つまり過半数を占めてしまえば、不正な取引履歴を正当とみなせるようになります。この問題は理論上取り除くことはできず、サトシもそれを認めています(ビットコイン以外の多くのブロックチェーンも、同じ問題を有しています)。