右や左の旦那様

哀れなぎんしゃりにお恵みを

仮想通貨

ビットコインをイチから説明してみる その2

投稿日:2018年2月16日 更新日:

この記事は前回の続きです。
ここから読んでもべつに問題ありませんのでご安心ください。

今回のお品書き

ビットコインを初めとする仮想通貨が成り立つには、「誰もが信じられる台帳」が必要です。
今回は「台帳」とはどういうものか、というのを説明してみましょう。

理想の台帳の姿をかんがえる

仮想通貨のために必要な「台帳」とは、一体どういうものでしょうか。
仮想通貨から逆算して、理想的な台帳の姿を考えてみましょう。

ではまず、仮想通貨とは、一体どういうものでしょうか。

  • 「人」ではなく「ルール」を信じる。「悪いことをたくらむ人が混ざっている」というのを忘れない。
  • 「誰がいくら持っているか」を保証できる仕組みが必要。
  • 仮想通貨を使って何かを買うために、「自分のお金を誰かに渡す」(これを「取引」と言います)ことができないといけない。

最低限こんな感じです。
上記の要件を満たすために、「台帳」が必要になります。
どんな台帳があれば良いでしょうか。

  • 悪い人が好き勝手に書き換えることができない。
  • 「取引」が簡単に台帳に記録できる。
  • 行った「取引」は本人ですら取り消せない。

こんな感じですかね。
さて、こういう台帳を考えてみましょう。
思いつきますか?私は思いつきません。
しかし答えは既にあります。「ブロックチェーンを使った分散台帳」です。

分散台帳とは

一旦、「ブロックチェーン」の部分は置いておきましょう。
分散台帳、というところだけ着目して説明します。

分散台帳とは、「(ビットコインの)参加者全員が台帳を持つ」ということです。
「分散」と付いていますが、全員の台帳は全く同じものです。

図にしましょう。こうです。全員が、同じ台帳を持ちます。これが分散台帳です。

Dさんは都合により居ません。そしてEさんは見た目通り悪い人です。

ここでEさんがいろいろと悪いことを企んだとしましょう。悪いことを企むのはEさんの得意技です。

たとえば、自分の台帳の数字をいじって大金持ちになろうとした、とします。

……他の人の台帳と数字が合わないので、Eさんがウソをついているのがバレバレですね。
台帳の数字をダイレクトに書き換えようと思ったら、参加者全員の台帳を全てハッキングする必要があります。とうていムリな話です。
基本的に、分散台帳の利点はここにあります。「誰か一人が自分の台帳だけを改ざんしても、意味がない」というところです。

自分の台帳を直接書き換えてもイミがない。全員の台帳を書き換えるのはちょっとムリ。じゃあ次にEさんはどういう手に出るでしょうか。
取引の偽造」です。

「取引」ってなんだろう

仮想通貨の世界でのお金の取引を「トランザクション」と言います。
トランザクションは、お金を払う側が参加者全員に伝わるようにネットワークに流します。
例えばAさんがBさんにビットコインを1枚渡す場合、「Aさん→Bさん 1枚」という情報を、CさんやEさんも含めた全員に伝えます。
ビットコインはP2Pネットワークで構成されていて、トランザクションを受け取った人は、まだ受け取れていない人に伝言ゲームしてあげる決まりです。例え自分と関係ない取引でも、です。これは、トランザクションは後で台帳に記載するために、あらゆるトランザクションを全員が知っておく必要があるからです。

取引を偽造しよう

さあEさんが、取引の偽造を試みます。
とりあえずBさんからお金をもらったと主張してみましょう。

しかし周りからはウソだと見抜かれてしまいます。なぜでしょう。Bさんの署名がついてないからです。
トランザクションには「デジタル署名」が付きます。これによって、誰が作ったトランザクションか判別できます。
送り主の署名がないトランザクションは、すぐにニセモノだとバレてしまうわけです。
この署名を作るには、それぞれの参加者が持つ「秘密鍵」が必要になります。

次にEさんが少しアタマをひねります。
なんと、さっき「Aさん→Bさん」で使ったAさんの署名をコピペしてきます。

しかしこれもまたウソだとバレてしまうのです。
なぜなら、「デジタル署名」というのはただのAさんのサインではなく、「取引内容の情報を含んだAさんの署名」だからです。
署名の中の取引内容と、署名がくっついている取引の中身が違えば「確かにAさんの署名だけど、中身が違う」ということが分かるのです。
ちなみにこういう、「ホンモノの通信データを再利用して悪いことをする」手法を「リプレイ攻撃」と言います。

最後に、Eさんが、Cさんの秘密鍵を盗んだとしましょう。
そしてなんと、盗んだ秘密鍵を使って署名を完全に偽造してしまいます。

さすがの分散台帳も、秘密鍵を盗まれてしまうとホンモノとニセモノの区別が付きません
すると、参加者は「これは正しいトランザクションだ」と解釈してしまいます。
Eさんはようやく仮想通貨を盗み出すことに成功したわけです。

さて、この秘密鍵を盗まれたマヌケのCさんは誰でしょうか
そうですね、CoinCheckです。
こうなってしまえば、一度認められた取引を取り下げることはできません。それは仮想通貨のルールに反する行為だからです。
(逆に言えば、参加者の合意のもとに「ルールをねじ曲げて取り下げさせる」というのも手段の一つとして可能です。このように通貨のルールを変える行為を「フォーク」と言います。CoinCheckのXEM盗難事件でも検討されましたが、開発団体であるNEM財団が「ルールをねじ曲げて対応すべきものではない」として却下しました)

分散台帳のまとめ

というわけで、分散台帳は非常に優れた仕組みではありますが、「とにかくなんでもいいから安全!」というわけではありません。
自分の身は自分で守らないと、自分一人をターゲットに攻撃を食らってしまうと、自分の仮想通貨を盗まれる可能性があるんですね。

次回はこの分散台帳を実現する仕組みである「ブロックチェーン」、そして「マイニング」のあたりを説明…できたらいいですね。

(追記)続きできたよー

-仮想通貨

執筆者:


  1. […] この記事は前回の続きです。 ようやく本論に入るので、なんならここから読んだって構いません。 […]

comment

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

セキュリティ面で見る仮想通貨と取引所

昨日のCoinCheck騒動で仮想通貨への信頼がまた揺らいでいます。 どうしてこんなに仮想通貨は流出しやすいの?というあたりを今回考えてみたいと思います。 ちなみに私は登録セキスペでもなければネットワ …

Dogecoinを買って仮想通貨の波に乗ろうぜ

注意:この記事は前回の株よりも激しくジョークです。 また、PC、とくにWindowsでの閲覧を強くオススメします。 激しく読みづらい可能性がありますが、Dogecoinとはそういうものです。 仮想通貨 …

no image

ビットコインをイチから説明してみる その3

この記事は前回の続きです。 ようやく本論に入るので、なんならここから読んだって構いません。 もくじ1 今回のお品書き2 ブロックチェーンとは3 「台帳」という言葉を一旦忘れる4 取引の記録がずらっと並 …

no image

草コインにお金を掛けるのはそろそろやめたほうが良い

もくじ1 自分の話2 草コインは、「危ない」2.1 モナコインとビットコインゴールドへの攻撃2.2 51%攻撃って?2.3 どういうコインが安全なの?3 草コインは、「実力を伴わない」4 どんな暗号資 …

CentOSでXPdをビルドする

$XPの公式がどうやらUbuntu派っぽいんだけど、個人的にはCentOS派なのでメモ。 大前提 対象OSはCentOS7。 2018年1月14日現在(バージョン1.1.0)の情報なので気をつけること …