ブロックチェーンが「ブロック」を使う理由|ブロックチェーンの基礎
前回は仮想通貨がインターネット上のたくさんのコンピュータにより協働して記憶されるイメージを説明しました。今回はコンピュータシステムの観点で説明します。これが分かるとなぜ「ブロックチェーン」は「ブロック」で構成しなければならないのかが理解できます。
基礎知識:トランザクション(Transaction)
コンピュータネットワークを利用してお金を送りたいとき、送りたい人は銀行のATMや自分のPCを用いて「○○さんにx円送金する」という要求を入力します。この要求をコンピュータ上のデータとして記録したものをトランザクションといいます。
1個のトランザクションには「トランザクション番号」「送金元口座番号と送金先口座番号」「送金金額」が書いてあると考えてください。(実際にはその他いろいろな情報が書かれています)
【図1】
図1にトランザクションの絵を描いてみました。以下の説明では図が複雑とならないように「TX A」とだけ描くことにします。
従来の銀行システムの場合
前回の説明でもお話したように、従来の銀行システムでは中央の巨大なコンピュータセンタにすべてデータを集めて計算処理をしています。
銀行のATM端末でAさんが振込み処理を要求すると、トランザクション「TX A」はコンピュータセンタのトランザクションモニタで受け付けられ、トランザクションが到着した順番にアプリケーションプログラムにより各口座からの引き落としや別口座への入金処理を実行します。
銀行の預金口座のデータはデータベースシステムに記録されているので、アプリケーションプログラムはトランザクションの指示内容を調べて対応した処理をデータベースに対して実行します。
この動作によりデータベース上の預金口座の残高は常に最新のトランザクションが実行された結果として記録されていることとなります。
【図2】
ブロックチェーンの場合
仮想通貨のコンセプトは中央の管理者は置かずインターネット上の分散システムで多数の人が協働するということでした。そうすると困ったことが起きてしまいます。
【図3】
図3の中で「マイナー①・・・④」(マイナー:miner)と書いた箱が各人の預金口座を協働して管理するサーバコンピュータだと思ってください。
各マイナーは地球上のあらゆる場所に散在していて、インターネットの回線速度もそれぞれ異なります。したがって、送金トランザクションを要求するA~Dさんそれぞれのトランザクション「TX A」~「TX D」は同時に送信したとしても各サーバに到着する順番が異なります。
例えばマイナー①にはA、Bの順で2個のトランザクションが到着したのにマイナー④ではD、B、Aの順で3個のトランザクションが到着した、といった状態が発生します。そこで一定時間ごとに全マイナーがどこまでトランザクションを受信したかを通信により確認して、共通に受信したものだけを処理対象にする必要が出てくるのです。
図3では点線で囲った部分が各マイナー共通で受信済みのトランザクションであり、非常に簡単に説明をするならば、これをブロックと呼びます。
このブロックは一定時間ごとに新しく入ってくるトランザクションをまとめて作り続けられるので、次から次へとブロックが生まれます。「新しいブロックは前のブロックの次だよ」という形で鎖(チェーン:chain)がつながるように記憶されていきます。
そこでこの技術はブロックチェーンという名前がつけられたのです。
以上のように、中央処理方式の銀行預金管理と分散記憶台帳とも呼ばれるブロックチェーン技術の方式の違いは「中央に強力な管理システムを置く」のか「民主的な分散処理をする」のかの違いにより生じていることがお分かりいただけると思います。
Provided by
上野 仁(Hitoshi Ueno)
1984年山梨大学大学院修士課程(計算機科学専攻)修了後、株式会社日立製作所入社。
システム開発研究所、エンタープライズサーバ事業部などで主としてコンピュータアーキテクチャおよび基本ソフトウェアの研究開発に従事。
2015年より第一工科大学東京上野キャンパス情報電子システム工学科教授に就任。
2023年より東京情報デザイン専門職大学教授。
生体信号処理に関するプログラム開発や種々の先端ソフトウェアついての調査研究に興味を持つ。
技術士(情報工学)。
博士(工学)。
ビットコイン(仮想通貨)を学びたい方にオススメのコンテンツ
東京情報デザイン専門職大学教授の上野仁氏監修による暗号通貨・ブロックチェーンの記事一覧です。
本ホームページに掲載されている事項は、投資判断の参考となる情報の提供を目的としたものであり、投資の勧誘を目的としたものではありません。投資方針、投資タイミング等は、ご自身の責任において判断してください。本サービスの情報に基づいて行った取引のいかなる損失についても、当社は一切の責を負いかねますのでご了承ください。また、当社は、当該情報の正確性および完全性を保証または約束するものでなく、今後、予告なしに内容を変更または廃止する場合があります。なお、当該情報の欠落・誤謬等につきましてもその責を負いかねますのでご了承ください。