ブロックチェーンの仕組みとは?初心者でもわかるやさしい解説

近年知名度急上昇の「仮想通貨」。その代表格であるビットコインは、”Blockchain(ブロックチェーン)”という仕組みを採用しています。このブロックチェーンには一体どのような特徴があるのでしょうか。

ブロックチェーンの概要

ブロックチェーン(Blockchain)は、直訳すれば、かたまりの鎖となります。これは、記録データの形状から来ています。ブロックチェーンでは、やりとり・取引記録を一定の量の塊にして1セットとします。この塊には通し番号がつけられ、全部連なって管理されます。

これら一つ一つのデータ集合ブロックと呼び、それが順番に一列に連なってチェーン(鎖)を作っていきます。

時系列に全ての取引記録を書き込み、永久に保管するものを「Blockchain(ブロックチェーン)」と呼んでいます。

ブロックチェーンとは、簡単に言うなら「連続した取引記録の束」となります。また、電子化された(最初から最後までの連続)帳簿だと言うこともできるでしょう。

実は、ブロックチェーンは「お金」ではなく、消すことのできないメモの羅列、どんなことでも書き込める帳簿なのです。ですので、ビットコインなどの仮想通貨以外にも資産管理、著作権管理などに使うこともできる技術です。

その運用方法を大雑把に説明すれば、ブロックチェーン記録を一台のホストコンピュータ(中央のサーバ)でデータを管理するのではなく、同じ「帳簿のコピー」をネットワーク上の端末にたくさん分散させ、常に同期させることで、データの損失や改ざんを防ぐように運用されるのです。

もっと分かりやすく教えなさいよ
そうだな。例えば、ある人の職場でお金の動きをつける会計ソフトがあって、そのアプリのデータが入っている唯一のハードディスクが壊れたら、一極集中のため、ほかにバックアップを取っていないかぎりデータは消失するだろ。
確かに。データが一箇所にしかなかったら、そうなりますね。
だがブロックチェーンは後述するP2Pの方式により、参加しているネットワーク上のコンピュータの多くに同じ帳簿のコピーを渡して、常に同期させるのだ。

ですから、ブロックチェーンのデータは、一台のコンピュータが壊れてもなくならず、消してしまうには、同時に「帳簿のクローン」を持っている世界中の全てのコンピュータが壊すしかないのです。

ブロックチェーンのメリット

ブロックチェーンのメリットを上げるなら、まず一番に「データが消えない」という点があります。

ブロックチェーンを使ったシステムでは、一極集中のサーバに沢山のデータが保存されているのではなく、そのサービスに参加している多くのコンピュータに、これまでのデータ記録のクローンが渡されて、同じものとして保存されています。

つまり、一台のサーバが止まったら全部停止するということがなく、極論すれば何万台壊れても、最後の一台さえ生きていればそのネットワークは稼働し続けるという仕組みになっている。

少しむずかしい言葉を使うなら「単一障害点がない」と言えるでしょう。

また「改ざんが極めて難しい」という点に触れるべきでしょう。後述しますが、ブロックチェーンはただ文字情報が書き込まれているだけでなく、少しでも内容を改ざんすると、後から後から始末しなくてはならない「変化」が発生してしまいます。

その対応を短時間のうちにしなくては、失敗してしまいます。

それも、報酬を得るためにどんどん正しい処理を進めようとしている積極的な協力者(ビットコインなどの仮想通貨で使われるブロックチェーンについて、それらの人々をマイナーと呼んでいます)がいますので、ごく短時間のうちに改ざんとそれにかかわる後処理を、一人で、あるいは数名で行える可能性は絶望的に小さいのです。

このような仕組みにより、ブロックチェーンは悪意ある改ざんから免れています。

ブロックチェーンのデメリット

前述のように、ブロックチェーンは、開始から現在までのあらゆる取引記録が書き込まれている情報の束です。これは中央サーバではなく参加者コンピュータの中に全く同じコピーが保管されます。

ビットコインのように、ローンチ(開始)から数年も経っていると、その記録の量はとても大きく、さらに時間が経つとともにますますデータが肥大していきます。

例えるなら、「創業からいままでの何十年の帳簿を、社員全員がコピーを取ってるから安心だ!」というシステムですが、これはある意味で大げさすぎるのかもしれません。

パソコンの処理能力がまだそれに対応できればいいのですが、ブロックチェーンがあまりにも肥大化したときに、処理に支障が発生することが懸念されます。

ブロックチェーンの仕組み

ブロックチェーンのおおまかな概念と、長所、短所は上記で説明しました。では、この章ではもう少し細かく、ブロックチェーンの動きについて説明して行きましょう。

ブロックチェーンの流れ

その名前の通り、blockchainは取引記録を詰め込んだ「ブロック」が鎖のように連なっていくデータ構造を持っています。基本であるブロックが生成される流れはどのようなものでしょうか。

まず1個のブロックには、内部に以下の情報が含まれています。

  1. トランザクション・データ
  2. タイムスタンプ
  3. 一つ前のブロックからのハッシュ値
  4. ナンス(nonce)
  5. その他の情報等

ブロックチェーンを使った取引が幾つか起こると、それをいくつか(ビットコインでは約10分間分)まとめて書き込みます。これをトランザクション・データと呼んでいます。

それは例えば、山田さんから田中さんへ1.5BTCを送った。というような内容です。

しかし、ただそれを文字として書き込むことはできず、ブロックチェーンに書き込む条件として、一つ前のブロックから生成されたハッシュ値と、ナンス(nonce)というものが必要になります。

ナンスは後述しますが、これを発見した人だけがブロックを生成できる、つまりブロックチェーンに皆を代表して記録をつけられる「記録係」になれます。誰でも書き込めるわけではないのです。

このように「早い者勝ち」のルールで誰かが書き込み者として記録をつけ、また次のブロックについてナンスを発見した人が書き込んで行く、という行為を繰り返し、ブロックチェーンは延々と書き込まれ、保管され続けていくのです。

もし同時にナンスが発見されたら、どうなるの?新しいブロックが2つできるの?
その場合、どちらかより長い分岐チェーンを持つほうが正当であるという冷徹なルールがあり、少しでも短いほうは破棄されるのだ。

P2Pとは

P2Pとは、「Peer to Peer」という言葉の略語です。簡単に言えば、中央管理するサーバが存在せず、ネット上の1台1台のパソコンなどの端末が皆で同じ情報を共有しているという形態です。

ビットコインのブロックチェーンは、「P2P型保存」になっています。つまり、ビットコインのメインのサーバというものは存在せず、世界中にある数多くの端末に、同じ記録がコピーされて、同期を取りながらすべての情報をシェアしているのです。

いわば「会社の出納帳簿を誰かが改ざんしようと金庫を開けたが、そこには帳簿はなかった。jこの会社では、社長から職員まで、全員が同じ出納帳のコピーを持っていて、全員が今のお金の管理状況を知っていた。」というようなものです。

ですから、メインサーバが故障したりハッキングされてダウンした、ということがありません。どこかの端末がデータを紛失しても、他のたくさんの端末には、全く同じ取引記録の羅列)(ブロックチェーン)が保存されているので、わからなくなったり改ざんされることがないのです。

ビットコインについては、大人でも子どもでも、世界の誰でもがこのネットワークに参加できるため、どこかの政府の干渉を受けて封鎖されることがない(封鎖しようがない)のです。

ちなみにビットコインをはじめとするほぼ全ての仮想通貨では、送金などには自分だけが作れる「秘密鍵」と呼ばれるパスワードの一種がかかっており、これは非公開のため、他人がそれを盗んで悪用することはできません。

ハッシュ値とは

ブロックチェーンの仕組みで大変重要な要素に「ハッシュ」があります。これは、「ハッシュ関数」演算を行うことであらゆる任意データを一定長の値に変換したものです。

ハッシュの特性としてには、復元不可能、改ざんにより崩れるという性質があり、この性質によりデータを安全に暗号化することができるのです。

いま注目されているビットコインでは「SHA-256」というハッシュ関数を採用しています。

Nonce(ナンス・ノンス)とは

ブロックの中にはヘッダーという情報が含まれますが、その中にたいへん重要な要素があります。それは「ナンス(nonce、ノンス)」というものです。

この「ナンス」は、それぞれのブロックのヘッダーにあるハッシュについて「ゼロ(0)を一定の数だけ連続させる」ようにしているものです。

この「ナンス」の条件は一定長であるのですが、それ以外は特定規則がありません。そこで、ナンスを変化させてブロックのヘッダーハッシュが0の連続になるようにします。

前述のように、ハッシュの元になっているデータは復元不可能です。マイナーは、ブロックのヘッダーのハッシュがゼロの連続値を作っているナンスの「答え」を一つ一つ探っていきます。

所謂ブルートフォース(ひとつひとつ当てはめて総当たりで探す方法)でやるほかないのです。このように、ナンスを早く見つけるための計算作業が、所謂マイニング(採掘)と呼ばれています。

一つのブロックに含まれるタイムスタンプ・ナンスのデータ例。

一つのブロックに含まれるタイムスタンプ・ナンスのデータ例

参照元:Ken Shirriff’s blog

ナンスが採用されていることで、データの改ざんがほぼ不可能になります。ブロック内の取引情報を少し改ざん(例えば金額を変えてしまうなど)すれば、たちまち連続したハッシュが狂ってしまい、一部の改ざんだけではすまなくなり延々に他のデータまで変えないとつじつまが合わなくなります。

それはおそらく天文学的な時間がかかり、事実上不可能になります。

このように、ただデジタルデータの帳簿というだけではなく、ブロックチェーンは「ナンス」という絶妙な仕掛けによって、悪意ある改ざんを未然に防いでいるのです。

マイニングとは

ビットコインでは、ブロックにはそれぞれの送金の日付、金額、送信者アドレスなどの情報が入っていますが、更に前述の「ナンス(nonce)」という変数が含まれます。

ブロックを書き込むには、まずこのナンスを変化させてハッシュ計算を行い、他の人よりも早く解を見つけなくてはなりません。言い換えれば「正しいナンスを発見する」ことが、ブロックの認証とともに報酬を貰える権利を得られるわけです。

いち早くナンスを発見することで報酬(ビットコインの場合は一定量のビットコイン)がもらえますが、それがまるで「鉱山の中で、貴金属を掘り当てようと岩を掘っている」ような印象があるため、俗称でマイニング(採掘作業)と呼ばれ、それをやっている人のことをマイナー(採掘者)と呼んでいます。

実際には「リグ」と呼ばれる採掘に特化したコンピュータ等の器具を使い、たくさんの電力を消費しながら延々と計算を行っています。

電気代や器材にかかるコストと、報酬としてもらえるビットコインの価値のどちらが上かは、電力の高い先進国・地域で行うのは不利で、電力の安い中国や新興国では儲けが出やすいと言われています。

私が明日からマイニングをやろうとしても、難しいってこと?
そうだな。いまでは個人のパソコンでビットコインのマイニングをやってもほとんど利益は出ず、企業が事業として行うような時代に入っているんだ。

PoW(Proof of Work)とは

PoWは、カタカナで「プルーフ・オブ・ワーク」とも書かれます。これは、ひとつひとつの取引を確認・認証するに必要なデータ・作業を示す言葉です。

取引の認証にある程度の負荷を与え、偽造しようとする者に膨大な仕事量を強いて、実質予防する仕組みです。プルーフ・オブ・ワークでは前述のハッシュ関数が採用されています。

マイニングは、「早く計算してナンスを発見すれば報酬がもらえる!」というインセンティブに惹かれ、多くのマイナーがビットコインの取引を認証する作業です。

ビットコインの場合、1ブロックの生成はほぼ10分です。そこへ、ビットコインを悪意をもって偽造しようとする人が出現したとします。

しかしこの悪者は、1箇所の取引情報を改ざんするだけではなく、ブロックチェーンによって連なる、その後の取引データもどんどん変わっていくために再計算が必要ですが、一人(あるいは数名の)悪人の改ざんの速度に対して、「早く計算を終わって報酬が欲しい!」という数多のマイナー、ここでは「善良な計算者」がいるため、多勢に無勢で、改ざんしようとする再計算速度はとても新取引承認を認証していく計算速度にかないません。

偽造を成功させるには、世界中にいるマイナーの計算速度の合計を上回っていなくてはならず、それはほぼ不可能に等しいことです。

作業の多さで、正当性を証明するというルールが、PoW(Proof of Work)です。

その結果、「マイニング」は正当な報酬を求める人々の欲望(経済原理)によって、きちんとした認証がどんどん進み、途中で改ざんしようとする者を退けることになり、ブロックチェーンの安全が守られるしくみだとも言えます。

ブロックチェーンの仕組みを正しく理解しよう

以上、複雑なブロックチェーンの仕組みをできるだけ平易な言葉で簡単に説明しました。

実際の運用の背後にはもっと細かく説明しなくてはならない複雑なテクノロジが動いていますが、今回ご説明したポイントを押さえておけば、大まかな部分は理解していただけると思います。

share bitters!!この記事をシェア!

堅牢なセキュリティ体制で安心して取引できます!

この記事を読んだご意見、感想などをコメントしてください。