LINEで送る
Pocket

第1回ではビットコインの送金の仕組みについて解説を行いました。そしてそこでは,ビットコインの維持管理は,不特定多数の自由参加の人たちにより行われていると触れました。

銀行送金であれば銀行が,電子マネーであれば発行会社が適切に残高や送金状況を管理してくれているという期待があるため,私たちは日常生活の中で安心して利用しています。

ビットコインには,この「特定の誰か」という管理者がいないにも関わらず,高い信頼性を実現している点が特徴となります。

hbw2-1

ビットコインでは「管理者がいない」といっても,実態は「管理者が分散されている」ということであり,そこで「維持管理の仕事」は行われることになります。

太郎から花子に10BTC送金する例で考えてみよう

第1回目同様に,太郎から花子に10BTC送金する例を考えてみます。

hbw2-2

取引の流れは以下のようになります。

(1)太郎から花子にはP2Pの仕組みで直接10BTCが即時に届けられます。しかし取引は「未承認」というステータスになり,花子は受け取った10BTCを次の人には送金できません。

(2)ビットコインでは,太郎から花子に送金したと同時に,送金情報がビットコインの維持管理ネットワークにも送信されます。

(3)ビットコインの維持管理ネットワークでは,送金情報の内容に不正が無いか確認し,正しければビットコインの全取引履歴データベースに記録します。

(4)ビットコインの維持管理ネットワークから花子に対し,「取引が承認」されたことが送られ,「太郎から花子への10BTCの送金」は完了となります。

このように,太郎から花子に送金された裏側で,ビットコインの維持管理ネットワークによる確認・記録作業が行われており,これによりビットコインの信頼性は確保されていることになります。

では,次に,維持管理ネットワークについて見ていきましょう。

ビットコインの維持管理ネットワークの参加者

ビットコインの維持管理ネットワークに参加する人を「マイナー」と言い,そこでの作業を「マイニング」と呼びます。

これは,維持管理作業に参加するとビットコインの報酬が得られること,作業内容が単純作業の繰り返しであることから,金の採掘(mining)に例えて呼ばれているものです。

維持管理作業には,世界中の誰でも自由に参加,退出可能で,条件はありません。ある程度高いIT知識は必要となりますが,ビットコインのソフトウェアをダウンロードし,コンピュータを用意すればインターネットを介して簡単に始められます。

ビットコインの初期は個人が自分の普通のPCを用いて参加していたのですが,近年では参加者も大きく増えたため,報酬を勝ち取るには専用のコンピュータを使って,チームで参加する人が大部分となっています。チームの事は「マイニングプール」と呼ばれます。

専用のコンピュータはビットコインの維持管理作業に特化して設計されたマシンで,「ASIC(エーシック)」と呼ばれます。
昔はUSB型の簡易なものもありましたが,最近はハイパワーの専用ASICが主流となっています。

hbw2-3 hbw2-4

ビットコインの維持管理ネットワークでの作業

ビットコインの維持管理ネットワークでの作業では,大きく以下の2つのことをしています。

(1)取引情報が不正ではないかの確認
(2)取引履歴データベースへの記録

ビットコインの維持管理ネットワークでの作業(1)取引情報が不正ではないかの確認

まず,取引情報が不正ではないかの確認です。

「太郎⇒花子へ10BTC」の送金を例にすると,悪意のあるマイケルが,「太郎⇒マイケルへ10BTC」のような偽の送金データをネットワークに流してしまう「なりすまし」と,10BTCしか残高のない太郎が,同時に花子と美由紀それぞれに10BTC送金してしまうような「残高の二重使用」の二つが行われていないかを確認することになります。

「なりすまし」への対策としては,公開鍵・秘密鍵暗号技術が用いられており,太郎以外の人が太郎になりすまして送金を行うことを防いでいます。

ここでは詳しくは触れませんが,公開鍵・秘密鍵暗号技術はインターネットではクレジットカード決済などで一般的に用いられているセキュリティ技術で,通信内容について,「本人が送ったこと」と「送信の途中で内容が改ざんされていないこと」の2つを確認できます。

hbw2-5

「残高の二重使用」への対策としては,ビットコインの全取引履歴データベースを参照することで,残高が不正に水増しされて使われていないかを確認することが行われます。

ビットコインでは,「どのビットコインアドレスからどのビットコインアドレスへ,いつ,いくらのビットコインが送金されたか」がすべて記録・公開されています。

「太郎から花子へ10BTC送金された」と「太郎から美由紀へ10BTC送金された」という情報が同時に維持管理ネットワークへ送られてきた場合,まず過去に太郎が受け取った取引履歴を参照すると,「太郎は今10BTCしか持っていない」ことが分かり,その太郎が花子へ10BTC送金すると残高は0となり,そのうえで美由紀へ10BTC送ることはできない,つまり二重使用として不正取引検出されるということになります。

これは,全移動履歴の帳簿を作成しておけば,不正な残高操作や水増しはすぐに分かるという,いわば単純だけれども最も確実な方法と言えます。

単に現在の残高だけを記録しておく方法であれば,それを書き換えられてしまうと改ざんを見破ることは難しいですが,全移動履歴の形で記録を残しておけば,今の残高だけを書き換えても,過去の残高の推移と不整合となるため,攻撃者が改ざんに成功するにはすべての移動記録を書き換える必要があり,それはとても難易度が高いことになります。

hbw2-6

ビットコインの維持管理ネットワークでの作業(2)取引履歴データベースへの記録

全移動履歴の帳簿を作成しておくことが,ビットコインが不正に利用されないことを防ぐポイントになるため,このデータベースを適切に作ることが維持管理ネットワークの重要な仕事になります。

ビットコインでは全取引履歴データベースのことを「ブロックチェーン」と呼んでいます。

取引情報が不正ではないかの確認が終わると,その取引情報は,ビットコインの全取引履歴データベースに追加されます。

なお,実際の追加作業は,1取引毎に行うと負荷が高い等の理由で,10分ごとに,複数の取引をまとめて追加する仕組みになっています。
このまとめた取引の塊を「ブロック」と呼んでいます。

なお,ここでは分かりやすいように「太郎⇒花子へ10BTC」という1取引のみでブロックが構成されるとして解説を進めていきます。

hbw2-7

ビットコインの特徴としては,取引が取引履歴データベースに記録されるときに,合わせて維持管理者への報酬の支払いも記録される点があります。

この報酬の支払いは,「ビットコインの新規発行」と,「徴収した手数料の分配」から構成されます。

ビットコインは発行上限数2,100万ビットコインまで新規発行が続けられますが,新規発行は,中央銀行のような誰かが行うのではなく,維持管理作業への報酬の付与という形でのみプログラムにより自動的に,そして少しずつ行われていくことになります

現在の報酬は10分ごとに行われる1回の追加作業で25BTCとなっています。この報酬額は一定期間で半減していく仕組みで,2016年半ばには12.5BTCとなり,その後6.25BTCとなっていきます。最終的に発行上限2,100万ビットコインに達した後は,「徴収した手数料の分配」のみが報酬となります。

今回は,ビットコインの維持管理作業は,マイナーと呼ばれる人たちにより行われている事,維持管理作業では,取引内容に不正が無いかの確認と,全取引履歴データベース(ブロックチェーン)の作成が行われている事,そして維持管理作業の対価として,報酬のビットコインが新規発行されている事を解説しました。

次回はビットコインの全取引履歴データベース(ブロックチェーン)について詳しく解説をしていきます。

この記事を書いた人

後藤 あつし
大手金融機関における市場リスク管理、信用リスク管理、流動性リスク管理、バーゼル規制対応等の長年の経験を有する。ビットコインおよびその技術であるブロックチェーンについては初期の頃から金融イノベーションに繋がる可能性を感じ調査・研究を行うとともに、主に金融の側面から関連事業者・団体への助言、各所記事や資料等の作成サポート、BTCNへの寄稿なども行なっている。

連絡先 gotoa123tアットマークyahoo.co.jp