What is Blockchain? #2 ブロックチェーンの仕組み

What is Blockchain? #2 ブロックチェーンの仕組み

Kouta Takeuchi
Kouta Takeuchi
2018/08/21

ブロックチェーン

ブロックチェーンという言葉を聞いたことがある人は多いと思います。ブロックチェーンはネットワークの参加者全体で共有の台帳を管理することでシステムを成り立たせていく仕組みです。

ブロックチェーンはインターネットに次ぐIT革命であると言われています。ブロックチェーンを利用した仕組みとしては仮想通貨が有名ですが、その利用法は仮想通貨に留まりません。現在ではあらゆる企業がブロックチェーンの導入を検討していますが、そもそもブロックチェーンがどのような仕組みで動いているかを知らない方も多いのではないでしょうか。この記事ではブロックチェーンの仕組みについて簡単に解説して参りたいと思います。

ブロックチェーンは共通の台帳をネットワークの参加者全体で管理する仕組みでした。この仕組みを実現している技術の一つがP2P型の通信方式です。現在では、多くのweb上のサービスがサーバークライアント型の通信方式を使用しています。サーバークライアント型の通信方式とは、サービスを提供するサーバーというものが存在し、サービスを利用しているクライアントの要求に応じて情報をやり取りする通信方式です。一方でP2P型の通信方式とは、ネットワークの参加者の役割に区別がなく、ネットワークの参加者全員がサーバにもなり得るし、クライアントにもなり得るような通信方式です。ブロックチェーン上はP2P型の通信方式でつながるネットワーク上で動作するのです。

ブロックチェーンの強み

参加者全体で成立させていく仕組みであるブロックチェーンならではの強みがあります。仮想通貨を例に挙げると、ブロックチェーンは国同士をまたいだ送金への応用が試みられています。なぜ、国際間の送金にブロックチェーンの技術が有利であるかというと、ブロックチェーンが共通の台帳を管理するものだからです。異なる国の異なる銀行間での通貨のやり取りには、その基盤システムの違いや運用ルールの違いから多くのロスが存在します。一方でブロックチェーンであれば、お互いに共通の台帳を操作するだけなので、国内外における送金のコストが変化せず、国をまたいだ送金のコストが下がるという仕組みです。

また、ブロックチェーン上に記載された情報は改ざんすることができないという特徴があります。それは、ブロックチェーン上のデータがネットワークの参加者全体で管理されているものであり、ある工夫を以って一度書き込まれたものを変更することが実質不可能な仕組みになっているためです。この仕組みはあらゆるデータベースに透明性を付加し、情報の信頼性を向上させます。この改ざんすることができないという性質が仮想通貨の台帳としての信頼性を担保している特徴の内の一つになります。仮想通貨に限らず、情報の信頼性や透明性が要求される分野において、ブロックチェーンの応用が検討されています。

ブロックチェーンを語る上で欠かせない特徴が、ブロックチェーンが管理主体を持たないデータベースの仕組みを可能にするというものです。従来のクライアントサーバー型の通信方式に基づいたサービスでは、サービスを提供する側が恣意的に情報を利用・操作したり、システムを変更したりすることが可能でした。しかし、P2Pネットワーク上で監視されるブロックチェーン上の情報やアプリケーションはサービス提供者による恣意的な操作が不可能です。ブロックチェーンのこのような一面に共感を覚えた人たちが「自律分散」を掲げて新たなサービスを創り出している例もあります。

ブロックが生成されていく仕組み

ブロックチェーンは、その名前の通りブロックを繋げていくことでデータを管理します。ブロックとはデータの時系列上の一塊であり、やり取りに関するデータや、タイムスタンプ、過去の全てのブロックのデータを圧縮したものなどが格納されています。やり取りに関するデータはトランザクションと呼ばれていて、例えば仮想通貨における送金のデータを指します。参加者の間でトランザクションが発生したら、そのデータはP2Pネットワーク上にストックされ、マイナーと呼ばれるネットワークにコンピュータの計算力を提供している人達がブロックの中に書き込んでいきます。

ブロックは一定時間ごとに閉じられ、新たなブロックが生成されていくのですが、「ブロックを閉じる」「チェーンでブロックを繋ぐ」という操作を実現しているのが、ハッシュ化という暗号化の技術です。ハッシュ化により暗号化されたデータは、「暗号から元のデータを特定することができない」、「データの内容が少しでも変わると出力される暗号は全く異なったものになる」という性質を持ちます。前のブロックの全てのデータをハッシュ化することにより、次のブロックへと情報を繋いでいくのです。ハッシュ化においては、あらゆるデータが64桁の16進数で表現され、これはデータを圧縮し、データ量を軽減させる役目も果たします。

そして、このハッシュ化の際に用いられる不正を防ぐ一つの工夫として「ナンス値」というものがあります。例えば仮想通貨では、マイナーと呼ばれる人たちが送金のやり取りをブロックに書き込んでいくのでしてた。誰もが容易にブロック上への書き込みができたとしたならば、不正な書き込みが蔓延することになります。そのため例えばビットコインでは、マイナーがブロックへの書き込みを行い、ブロックを繋げていくためにはある一定の労力を必要とする仕組みを設けています。それがPoWという(Proof of Work)という仕組みです。ハッシュ化した際には、64桁の16進数の暗号が出力されるということでした。PoWにおいて、マイナーはブロックを生成する際にハッシュ化した暗号の出力において、上位の位から0が~個並ぶようなナンス値を見つけるという課題をこなして初めてブロックの生成が可能になります。

ブロックチェーンでセキュリティが担保される仕組み

ブロックチェーンのセキュリティを担保している仕組みについて説明したいと思います。ブロックチェーンを繋いでいくハッシュ化という操作がありました。実はこのハッシュ化がブロックチェーンの改ざんを防いでいるのです。ハッシュ化には、入力される情報が少しでも異なると出力される暗号が全く異なったものになるという性質がありました。ブロックのハッシュ値には過去のトランザクションの全てが組み込まれているので、もし過去の一時点におけるトランザクションの情報を操作すると、その後全てのブロックにおけるハッシュ値と辻褄が合わなくなります。このような仕組みを用いてブロックチェーンは改ざんを防いでいるのです。

また、トランザクションを不正に操作して、誰かが他人のお金を使用できないようにしている仕組みについても説明いたします。この仕組を成立させるための技術が秘密鍵と公開鍵という暗号方式です。これらは、公開鍵によって変換された暗号はそのペアとなる秘密鍵によってのみ解読できるという性質を持っています。AさんからBさんに送金する場合は、AさんがBさんの公開鍵を使って暗号化することで、Bさんにしか使用できないトランザクションを生み出しているのです。こうして、トランザクションを他者が不正に利用できない仕組みが成立しているのです。

LINE@

LINE@で最新情報をチェック!!

Economies 2.0のLINE@を友達に追加して 最新情報を受け取りましょう

LINE@で最新情報を受け取る