IT社員3人組によるリレーブログ

某IT企業に勤める同期3人が、日常で思ったことを記録していきます (twitter: @go_mount_blog)

【Bitcoin】で使われるブロックチェーン技術とは?①

どうも、Keiです。

今回は2017年にピークが来てからなにかと話題に上がるビットコインについて取り上げていきます。

 

ãæå·é貨ãããã³ã¤ã³æå·é貨ãããã³ã¤ã³ãã®ããªã¼åçç´ æãæ¡å¤§

 

ビットコインは知っているし、所有もしているけど、実際どういう仕組みになっているかわからないという人はけっこういるのではないでしょうか?

元帳(Ledger)って?ナンス?そもそもブロックって何だ?LEGO

 

いろいろなブロックチェーンの記事はありますが、技術の部分はものすごくふわ~っとしているんですよね。

そんな人達に、わかりやすく、同時に詳細まで解説できればと思います。

 

ビットコインって?

ここは説明不要かと思いますが、ビットコインは仮想通貨と呼ばれるインターネットショッピングなどWeb決済に使用されるお金です。

円やドルなどと異なる最大の違いとして、紙幣や硬貨などの物理的な実体を持たないところが挙げられます。

 

え、どうやって管理しているの?ネット銀行みたいなのがあるの?

ここの部分にビットコインの仕組みを支えるブロックチェーン技術の新しさ、優秀さがあるのです。

 

ブロックチェーンを使ってみんなで通帳を管理

ビットコインはお金である以上、銀行と通帳があって自分のビットコインのお金の出し入れを管理しているはずですよね?

下の図のように、円やドルでは銀行に自分のお金の出し入れが記録されていて、実際のお金も預けられています。

つまり、お金の出し入れの記録は一か所で管理されています。(中央集権的に管理)

 

f:id:go-mount:20180715164417p:plain

 

一方で、ブロックチェーンはどうでしょうか?

ブロックチェーンでは、円やドルのように一か所でお金の出し入れを管理するのではなく、複数の場所(PC)で通帳のようなお金の出し入れを記録する元帳を持ちます。この、複数の場所のことをノードといいます。

 

f:id:go-mount:20180715170038p:plain

 

 ここでいう元帳とは、通帳とイコールで

 

・AさんからBさんに0.5Bitcoin送金

・CさんからAさんに1Bitcoin送金

 

など、AさんならAさんのビットコインの出し入れを記録したものです。

 ここで、通帳を持つ一人になるためのハードルは高くなく申請をすれば誰でもなれます。そのため、自分の通帳を赤の他人が持つことになるのです。(もちろん、暗号化されているので内容は見れません)

 

ブロックチェーン=元帳の書き方のフォーマット

さて、ブロックチェーン技術ではお金の記録は銀行にあるのではなく、複数のノードで管理されることがわかりました。

ここで、元帳の中身を見てみましょう。

 

f:id:go-mount:20180715172901p:plain

 

元帳の中身はお金の出し入れの記録(トランザクション)をいくつかのまとまり(ブロック)に分けて記録します。

お金の動きが増えるたびにブロックを足していき、元々あったブロックとチェーンのようにつないでいくため、ブロックチェーンと呼びます。

 

つまり、ブロックチェーンとは元帳のフォーマットのことなのです。

この元帳は、ビットコインを開始した一番初めの入出金記録からブロックとしてすべて保持します。

 

全員で同じ元帳を持つために

暗号化されているとはいえ、自分のデータを赤の他人が持つことは改ざんや過去の履歴の抹消だったりの心配が怖いですよね。

そこで、ブロックチェーン技術では、新たにお金の入出をブロックとして元帳に追加する際に、本当に追加してよいか、コンセンサス(合意という意味)と呼ばれる方法でチェックします。

このコンセンサスで使われるアルゴリズムが、ビットコインで赤の他人と元帳を共有する際の信頼性を担保するのです。

このコンセンサスには、ブロックチェーン創始者であるサトシ・ナカモトさんが開発したPoW(Proof of Work)やPoS(Proof of Stake)と呼ばれる方法があります。

 

いかがでしたでしょうか?

今回はビットコインの概要からその仕組みの全体像を説明しました。

第2回では、さらに複雑なPoWのアルゴリズムの部分についてハッシュやナンスについてわかりやすく解説をしたいと思います。