ビットコインなどの仮想通貨の技術基盤となるブロックチェーン技術の仕組みについて解説

シェアする

この数年程でビットコインという言葉を見聞きすることが多くなりました。
振り返るとNHKをはじめとしたキー局で特集が組まれ、ビックカメラで現金の代わりとして利用可能になり、果ては一時期1BTC=50万円に達する(9/17時点では中国の取引所停止報道により乱高下を続けている状態)など話題に事欠かなかったです。

前回の記事では簡単にブロックチェーン技術と主要仮想通貨を紹介しました。

フィンテックで注目を浴びる主要仮想通貨とそれを支えるブロックチェーン技術の有用性
フィンテックという言葉をご存知でしょうか?これは「金融」を意味する「ファイナンス」と「技術」を意味する「テクノロジー」を掛け合わせた造語...

今回はブロックチェーン技術をもう少し掘り下げて概観について触れていきたいと思います。

ブロックチェーンの歩み

まずはじめにブロックチェーンの歩みを少し振り返ります。

2008年ナカモトサトシ(日本人であるか不明)なる者が提唱した論文が起点となります。
書かれていることはこれまでにある考え方、技術手法であり目新しさはありませんが、それらの組み合わせにより、仮想通貨としてこれまでにないことが提唱されていました。
*この論文を契機に9年ほど経過した現在、仮想通貨は700種類(実際に流通しているのは500種類)もあります。

それは、「発行、管理者が存在しない」というものです。

皆さんご存知のとおり、日本の円をはじめ世界各国の通貨は、中央銀行となる日本銀行等が集中的に取り仕切ります。国家が発行するものですので、皆それを信用し取引に使われ流通されることになります。

ビットコインの管理

では、ビットコインは一体どのように管理されているのでしょうか。

それはP2Pネットワーク全体で共有されることになりますが、それだけではイメージができないためその仕組みを説明します。

ビットコインを利用したときに「AさんがBさんへ1BTCを支払った」という取引情報(トランザクション)が発生します。このトランザクションを全て公開し皆が見える状態(公開台帳)にします。同時にこれらのトランザクションをPSPネットワークに繋がっている複数のコンピュータ(コンピュータとは限りませんが便宜的にコンピュータとします)に分散して管理しますが、1つ1つのトランザクションを複数個にまとめてブロック単位にして持つことにします。
このように各コンピュータは全く同じブロック(トランザクション)を持つことになります。
取引は毎秒発生しトランザクションが生まれますので、一定時間毎に新しいブロックを生成し記録共有することになります。(この一定時間というのはおよそ10分と決まっているのですが、なぜ10分なのかは後半を読んでいただくと理解できるかと思います)

ブロックを繋げることによる正しい取引の証明

しかし、単一のブロック管理だけでは悪意ある者によるトランザクションを改ざんや、二重譲渡が発生する可能性があります。それを阻止するのがまさにブロックチェーンと呼ばれる仕組みです。
先ほど各コンピュータはブロック単位でトランザクションを保持し、新しいブロックは10分ごとに発生していると説明しました。これらのブロックとブロックがきちんと正しく繋がっている(チェーンしている)ことを担保することで、ブロックの中にあるトランザクションの一部のみを改ざんすることができないようにし、正しくチェーンの繋がっている取引のみが承認されていく(二重譲渡の防止)ようになります。

どのようにしてブロックの正しい繋がりを担保しているか

ブロックの正しい繋がりを担保するために各ブロックには複数のトランザクション(Xとします)と”直前”のブロック固有情報(Yとします)があり、[X+Y]に対してある基準を満たす特別な値(Zとします)が含まれます。このZが決まったときに直前のブロックと結ばれチェーンの一つとなります。そのため、チェーン上のブロックはX、Y、Zを持っています。

このZの値は膨大なマシン演算処理により弾き出す必要があり、高性能なマシンを使っても10分程度の時間を要するように定義されています。これがよくビットコインの承認には時間が10分かかると言われる理由であり、ブロックが10分ごとに発生する理由でもあり、また「マイニング」という作業が必要になる理由でもあります。このチェーンを繋げるための特別な値”Z”を求める作業=マイニング=高性能なマシンでも10分程度かける必要のある難易度の計算ということですね。

そしてこの10分という時間は計算の難易度で定義されており、例えマシン性能が飛躍的に向上した場合でも計算難易度を変化させて10分を維持するように調整されます。さらにブロックチェーンにはより長い方が正しいという規則が存在するため、仮に悪意ある攻撃をされた場合でもより長いチェーンに追いつくことはできないため攻撃を防ぐことが可能になります。

このようにブロック同士の結合をより強固で堅牢にするためにはマイニング作業が不可欠です。マイニングをおこなった人に報酬が支払われる理由もこの正しい繋がりの担保のためです。

余談ですが、ビットコインが稼動して8年ほど経過しますが、脆弱性という点でバグが発生し対応したのはたったの1度きりです。Windowsのように毎月色々とアップデートがあるわけではなく、強固な基盤となっています。

まとめ

ブロックチェーンとは以上のように個々のトランザクションとブロックにより構成され、
それらをPSPネットワーク全体で管理共有し、またブロックを繋げることで正しい取引であることを担保する技術です。公平で透明性が高く改ざんの危険性が低いこの技術が今後どのような形で社会に浸透していくのか、非常に楽しみです。

記事作成者からのお知らせ

私が運営しているTRIEDGEではブロックチェーンやAI等の最先端技術の研究開発等を承っております。ご興味のある方はお気軽にお問い合わせください。