ビットコインは、どうやって二重取引を防いでいる?

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

小宮自由

ビットコインは、どうやって二重取引を防いでいる?

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

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

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

この投稿で、サトシは、対立する二つの取引が採掘者に届いたら何が起きるかを説明している。受信した最初の取引が、採掘者が次のプルーフ・オブ・ワークに編入する取引となる。

サトシ・ナカモト 2008年11月09日 日曜日 11時14分17秒 -0800

それでは2008年11月9日11時14分17秒のサトシのメールをみていこう。

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

Re:ビットコイン ピア・ツー・ピア 電子キャッシュ 論文
サトシ・ナカモト 2008年11月09日 日曜日 11時14分17秒 -0800

重要なことは、誰がどのビットコインの所有者かについて、完璧で一貫性のある情報が多くのノードに保存されているという点です。

しかし、一貫性の維持というのはきわどい話です。ある取引を誰かがネットワーク維持者(ノード)の一人に伝え、別の取引を別の誰かが別のネットワーク維持者に伝えると何が起きるのでしょうか。

取引は、グローバルに共有された過去の全取引に編入されるまでは有効にはなりませんし、一定の時間が経過して多くの新しい取引が到着するまでは、グローバルに共有された過去の全取引が、グローバルに共有されている事実は、誰も知りえません。

この仕組みは説明しましたか? ちょうどこの点が私の頭をよぎったところでした。あるいは、それが可能だと確信していたけれど、詳細については少しあいまいだったのでしょうか?

プルーフ・オブ・ワークのチェーンが同期問題の解決策であり、第三者への信用を必要とせずに、グローバルに共有される全取引履歴を知るとはどういうことか、という問題への解答です。

取引は速やかにネットワーク中に伝達されます。ですので、もし同一の取引の二つのバージョンがほぼ同時刻に伝達されたら、先にスタートした方が、より多くのノードにとっての最初に受け取る取引となります。

ノードが受け入れるのは最初に見た取引分のみで、二番目の到着分は拒否しますので、できるだけ早い取引の方が、次のプルーフ・オブ・ワークへの編入作業中の多くのノードを獲得できます。実際に、どちらの取引を先に見たかの観点から、各ノードは、先着分をプルーフ・オブ・ワークの作業に編入する形で一票を投じます。

もし、複数の取引が完全に同時刻に到着したら、どちらが最初にプルーフ・オブ・ワークに編入されるか確率半々のコイントスとなり、それでどちらが有効かを決めます。

ノードがプルーフ・オブ・ワークを見つけると、新たなブロックがネットワーク中に伝達され、それを全員がチェーンに加え、後続の次のブロックの作業をスタートさせます。もう片方の取引を作業していたノードは全員、そのブロックの編入作業は停止します。なぜなら、別のチェーンが承認されたことにより、その作業途中の分は無効となってしまうからです。

プルーフ・オブ・ワークのチェーンそれ自体が、グローバルに共有された全取引履歴に由来することの自己証明になります。ネットワークの過半数の側だけが、非常に難しいプルーフ・オブ・ワークのチェーンの生成に十分なCPUパワーを持っています。

プルーフ・オブ・ワーク・チェーンを受け入れることで、何がネットワークの過半数によって承認されたかを、利用者は知ることができます。取引がリンクへハッシュ化され、チェーン内で数リンク分、過去になったとき、グローバルの履歴に確実に刻印されることになります。

サトシ・ナカモト
暗号学メーリングリスト

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

解説

いわゆる二重取引(二重支払)の問題をサトシが説明しています。簡単な例を挙げると、「1ビットコインだけ持っているときに、BさんとCさんに1ビットコインを送る取引を生成した場合、どちらが有効になるか?」です。

答えは単純であり、「先に多数が承認した方が有効になる」です。有効とならなかった取引は、永遠に無視されるため、事実上なかったことになります。

どの取引が有効になるかは、いうならば「計算速度による早いもの勝ちの投票」です。多数の票を得た取引が有効となります。計算能力によってしか投票ができないため、人の意志は介在せず完全に機械的に取引の有効性は決定されます。

小宮自由

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

(image:iStock/Adrian-Vidal

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

小宮自由

東京工業大学でコンピュータサイエンスを学び、東京大学ロースクールで法律を学ぶ。幾つかの職を経た後に渡欧し、オランダの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%、つまり過半数を占めてしまえば、不正な取引履歴を正当とみなせるようになります。この問題は理論上取り除くことはできず、サトシもそれを認めています(ビットコイン以外の多くのブロックチェーンも、同じ問題を有しています)。