Re: Bitcoin 自動販売機(高速トランザクション問題)

人物: aceat64
llamaの投稿(2010年7月18日 00:03 UTC)
サトシ・ナカモトの投稿(2010年7月17日 22:29 UTC)

サービスプロバイダーは多くのノードと接続を持つ。トランザクションを受け取ると、それを一斉に放送し、同時にネットワークの二重支払いを監視する。多数のリスニングノードのいずれかで二重支払いを受信したら、そのトランザクションは不正だと警告する。二重支払いされたトランザクションは、リスナーの一つに聞かれることなしには遠くまで届かない。二重支払い者はリスニング段階が終わるのを待たなければならないが、その時点ではサービスプロバイダーの放送はすでにほとんどのノードに届いているか、伝播がはるかに進んでいて、残りのノードのうち相当な割合をつかむ見込みは二重支払い者にはない。

これは良いスタートだが、まだ完全ではない。この種のセキュリティはノードの大多数(要するにIPの大多数)が誠実であるという事実に依存している。だが、攻撃者が多くのIPアドレスを集められれば、伝播を制御でき(例えば、自販機でのトランザクションの伝達を拒否することで)、二重支払い攻撃を成功させられる。これがbitcoinの主要な新しいアイデアに俺たちを引き戻す。すなわち、真実はIPではなく計算能力によって投票される、ということだ。

飲み物程度では、この攻撃は経済的に成り立たないように見えるかもしれない。だが、代わりに自販機が少額のギフトカードを配り、攻撃が何千回も(おそらく協調された取り組みで同時に)行われるとしよう。突然、そのIPブロックのコストは攻撃者にとってお買い得になるかもしれない……

より高額な商品(多額のギフトカード)については、ビジネスはトランザクションを信頼するリスクが許容できるか、それとも承認を待つかを判断しなければならない。ほとんどのビジネスは、誰かが頻繁に騙し取り始めない限り、リスクを取ると思う。現実世界での類似は小切手だ。多くのビジネスが小切手を受け取っているが、本物かどうか判定するのに数日かかることがある(小切手をスキャンしてデビットとして処理する場所を除いて)。リスクのため小切手を受け取らないことを選んだビジネスもあれば、小切手で支払うために追加情報(運転免許番号、生年月日など)の提供を求めるところもある。

もし俺が自販機ビジネスを運営していたら、(今日と同じように)大多数の顧客は俺を騙さないと想定し、検証なしでトランザクションを受け入れるだろう。もちろんサトシの「十分良い」チェックは使う。より高額な商品については、顧客にトランザクションの検証を待つ気がないなら、登録や州発行の ID 提示を求めるかもしれない。