ビットコイン (BTC) はどんな仕組み?

編集:
松本 頌平 (Shohei Matsumoto)

ビットコイン (BTC) とは

ビットコインは日本円や米ドルのような法定通貨とは全く異なる、形で誕生した通貨です。法定通貨では国が中央管理者となり通貨発行量などを管理します。しかしビットコインは主な管理者が存在しません。ビットコインの送金は送金者が自由に行えて安全性も非常に高いです。

このような仕組みはビットコインの基盤となるブロックチェーンによって可能になっています。ブロックチェーンは主体となる管理者が存在せず、世界中のマシンでシステムが維持されています。

ビットコイン (BTC) の仕組み

ビットコインブロックチェーンではユーザーによる取引が行われると、複数の取引情報と共にブロックにまとめられブロックチェーンに繋がります。その際、マイニングというプロセスを経ることで、取引情報が後から改ざんできないような暗号化がなされます。この暗号化作業には膨大な計算をする必要があり、その計算を最初に成功させた人に、ビットコインが新規発行されます。

また、その計算が正しいことを多数のユーザーが検算する「検証」というプロセスもあります。これはフルノード型のデスクトップウォレットを導入している人たちが自動的に行っていますが、ブロックの情報を関数に代入するだけですので、報酬は与えられません。

かんたんに言えば、膨大な計算によってビットコイン取引は改ざんできないように暗号化されており、その暗号化が正しく行われているかどうかを多数のユーザーがチェックすることでビットコインのセキュリティは正当に保たれています。この仕組みをPoW (Proof of works) といいます。

また、この仕組みを実現しているプログラムはオープンソースとなっており、誰でも閲覧できるようになっています。セキュリティが強固なだけでなく、透明性も高いためにビットコインは世界中の人々から信頼されているのです。

ビットコイン (BTC) ブロックチェーンの仕組み

ブロックチェーンは機能的に「分散型台帳」として位置づけられます。分散型台帳とは、文字通り取引を記録した台帳を、多数のユーザーによって分散管理をするシステムのことで、銀行や国家のような中央管理者がいないのが特徴です。

多数のユーザーが台帳を管理していたら、中には悪意を持って台帳の中身を書き換えてしまうかもしれません。それを防ぐのがブロックチェーン技術です。ブロックチェーン上では、取引は数千の束になって「ブロック」に格納され、このブロックの中身が適切かどうかを世界中のマイナーが検証しています。

ノード

ノードとは情報通信の世界で使われる用語です。ビットコインなど仮想通貨的なノードには、ネットワークと利用者の懸け橋となるスマホやパソコンが該当します。ノードの役割には「ルーティング」と「ブロックチェーンデータベース」、「マイニング」と「ウォレット」があります。

中でもブロックチェーンデータベースの役割は、分散型台帳としてのブロックチェーンを実現する為の仕組みです。またマイニング機能を持つノードを活用すれば、マシンパワーを提供してマイニング報酬を狙うこともできます。

ファイナリティ

ファイナリティとは決済機能を有する取引や通貨全般で利用される言葉です。金融業界の言葉として「決済の確定」を意味します。通貨利用や取引で発生する決済は、後で無効化されると意味が無くなります。ファイナリティには「獲得した金額が無価値にならない」点と、「取引が後日無効化されない」という要素が必要です。

ブロックチェーンではブロック内の取引情報がマイニングによって検証、承認されます。複数回の承認を受けた取引情報が覆る可能性は確率的にほとんどありません。このことは「確率的ビザンチン合意」と呼ばれファイナリティも満たすようになっています。

2重支払い

2重支払いは一度利用したビットコインを再び取引に用いることです。ビットコイン取引では秘密鍵を持つ人が署名して送金を行います。秘密鍵の所有者は仕組み上同じビットコインを2つの取引に用いることが可能です。しかしブロックチェーンとPoWが働くことで、2重支払いを防げます。

仮に悪意なしでもトランザクション属性攻撃によって2重支払いが発生することもありますが、同じ取引が2つになるだけなので対策は難しくありません。また悪質なハッカーによる2重支払いは起こりうる問題なので、事業者による防衛策が必要です。

ブロックチェーンの課題

ビットコインは世界で最も知名度の高い仮想通貨です。しかし実用面では大きな課題があります。それがスケーラビリティ問題です。スケーラビリティ問題は1つのブロックに収納できるデータサイズとブロック生成時間が需要に追い付かず、ビットコイン取引が完了するまでに時間を費やすことです。

現在世界で決済手段として提供されているVisaは1秒間に約2,000件の処理が可能です。一方ビットコインでは1秒で7件しか処理が行えません。ビットコインが決済手段として普及するには仕様面で大きな課題だと言えるでしょう。

スケーラビリティ問題の解決には、「ブロックチェーン外で取引をする (ライトニングネットワーク)」か「取引情報のデータサイズを小さくする (Segwit) 」といった方法があります。

ビットコイン (BTC) 取引の仕組み

ビットコインはブロックチェーンシステムを基盤に稼働するため、中央管理者が存在しません。利用者同士でビットコインの送受信が可能となっており、このシステムはP2Pネットワークと呼ばれています。また公開鍵暗号方式という電子署名が活用されることで、ネットワーク上で安全な取引が実現しています。

P2Pネットワーク

ビットコインブロックチェーンは「peer to peer型 (P2P型) 」のネットワークを採用しています。ネットワークとは、情報の通信を行う場のことで、私達が普段使うインターネットは「クライアント・サーバー型」のネットワークシステムを採用しています。クライアント・サーバー型では、複数のクライアントと接続しているサーバーが中心になってネットワークを構築しますが、P2P型では対等なユーザーが互いに通信をしあうことでネットワークを運営しています。

P2P型では、ネットワークを構築する主体が分散しているため、一部のpeerが破損しても他のpeerでネットワークを運営し続けられます。クライアント・サーバー型では、サーバーの破損が起きた場合にネットワークが継続できません。これが大きな違いとなります。

電子署名

インターネットを介して取引を行う場合、対面で相手の顔を確認できない事から一定のリスクが存在します。取引を行う人がなりすましでない証明や、契約内容の正当性など万全に取引を進めるための懸念事項が多いです。

ブロックチェーンでは安全な取引を実現するために電子署名が導入されています。ビットコインで利用されている電子署名方法は公開鍵暗号方式です。ビットコインアドレスを生成するための公開鍵や取引データを暗号化するための秘密鍵が利用されます。

取引時はデータがハッシュ値となり、送信者が秘密鍵を利用して暗号化済みのハッシュ値やデータを送信します。受信者はデータを公開鍵を用いてハッシュ値を回答し、お互いのハッシュ値が一致することで証明が完了する仕組みです。

公開鍵暗号方式

例えば送金者から受信者に1BTCの送金を行います。この時受信者が必要な行動は、送金先アドレスを教えることです。対して送信者は送金のために公開鍵を利用します。公開鍵の利用用途は取引の検証です。誰でも取引に関する情報を確認でき、マイナーによって取引の正当性が確認されます。そのため公開鍵によって資産が不正流出することはありません。

そして秘密鍵はデジタル上で自己を証明するものとなり、秘密鍵の利用で送金が可能です。つまり秘密鍵が発覚すると保有者の資金はかんたんに流出してしまうため、秘密鍵は絶対に知られてはいけません。

ビットコイン (BTC) マイニングの仕組み

ビットコインではブロックチェーンが基盤システムとなっています。そのブロックチェーンを機能させるために必要不可欠なのが、マイニングです。ビットコインを利用した取引が実施されると、取引情報がまとめられ1つのブロックとして形成されます。そのブロックはこれまでのブロックチェーンに連なりますが、この段階でマイニングが行われます。

マイニングを一言で表現すると、「膨大な計算作業」です。ブロックを生成する際に、そのブロックを「ハッシュ関数」という関数に代入して、「ハッシュ値」という値を得なければなりません。しかし、ただ生成するだけでなく、ある一定の条件を満たした数値でなければいけません。その数値を出すために何度も代入する数値を変えて計算を行いますが、計算に成功する確率は、現在の難易度設定で600垓 (6×10^22)分の1であり、膨大な計算量が必要です。[1]

triangle

この計算は世界中で行われており、計算に最初に成功した人には報酬としてビットコインが新規発行されます。

ハッシュ値

ハッシュ値とはハッシュ関数で表示される、適当に表記されたように見える値です。ハッシュ値は一度生成されると元のデータに戻すことがほぼ不可能となっています。この特性を活かすとデータを復元して悪用する行為を防ぐことが可能です。

そのため各ブロックには、ランダムに羅列されたハッシュ値が格納される仕組みとなっています。ビットコインマイニングではGPUの性能が重要視されますが、ビットコイン取引で形成されるハッシュ値はGPUが利用しやすいようになっています。

PoW (Proof of Work)

ビットコインブロックチェーンでは取引の正当性を確認する方法として「PoW」というコンセンサスアルゴリズムが採用されています。ブロックに収納される取引情報はハッシュ関数から形成されたハッシュ値であることはすでに記述しました。

PoWでマイニング時に行われるのはナンス値を導き出す作業です。ナンス値は一度だけ使用される数字を意味しており、正しいナンス値を特定してハッシュ値を完成させるとマイニングが成功します。

正しいナンス値を出すには膨大なマシンパワーが必要です。仮に不正が行われる場合、1つのブロックの情報を改ざんするために最新ブロックまでのナンス値を全て計算しなおさなければなりません。そのためより膨大なマシンパワーが必要となり、実質的に改ざんができない仕様となっています。

半減期

マイニングではナンス値を導き出し承認に成功することで、新規発行されたビットコインを報酬として受け取ります。半減期を迎えると報酬として発行されるビットコインの量が半減するようになっています。

ビットコインマイニングではブロック生成が10分に1回行われる仕様です。半減期は21万ブロックごとに訪れるため、約4年でビットコインの発行量が半減していきます。半減期前後ではビットコインの新規発行量が減る関係から、希少性が高まり価格上昇が発生しやすいです。

51%攻撃

51%攻撃はコンセンサスアルゴリズムにPoWを採用しているブロックチェーンで起こりうる問題です。ブロックの情報を書き換える場合、最新のブロックまでのナンス値計算が必要で、そのために必要なマシンパワーはとても膨大です。

しかしビットコインブロックチェーンで活動しているマシンパワーの過半数である51%を確保すると、ブロックチェーンの改ざんが現実的になります。51%攻撃が成立すると2重支払いによって繰り返し通貨の生成が可能になり、ビットコインの信用性が無くなるような事態も発生します。

マイニングの問題点

マイニングの問題点として環境破壊を増長させるという指摘があります。マイニングは年々難易度が増加傾向にあり、複雑な計算を求められることでよりマシンパワーが必要です。マシンを動かすには当然電気を利用しなければなりません。マシンがマイニングのためにフル稼働するとその分エネルギーを消費します。

近年はマイニングに参入するマイナーも増加しており、マイニングのためにより多くのエネルギーが使用されます。ケンブリッジ大学の試算ではビットコインネットワークを維持するために毎年チリの電力消費量以上の電力が使われているようです。[2]

triangle電力の発電方法には資源を利用します。ビットコインネットワークを健全に維持していくために、マイニング事業者は再生可能エネルギーを利用するといった対策が必要です。

ビットコイン (BTC) の取引所・販売所の仕組み

ビットコインの入手方法には取引所利用と販売所利用の2つが用意されています。それぞれの手段でメリットとデメリットが存在するため、内容を理解して利用者に適した手段を活用することが大切です。なおどちらの方式もほとんどの仮想通貨取引所で利用できます。

取引所

取引所はビットコイン取引を希望するユーザー同士でトレードを行う場所です。仮想通貨取引所は取引所機能に対して、トレード環境を用意しています。トレード方法は様々で、素早く注文が行える「成行注文」や取引量と価格を決められる「指値注文」などが利用可能です。

取引所はユーザー同士の取引を行う場で、運営による仲介手数料は発生しません。売値と買値の差額である「スプレッド」に注意することでお得にビットコインを取引できます。

販売所

販売所は運営が買い付けたビットコインを直接購入できる場所です。取引所のように取引状況によってトレードが複雑化することもありません。また購入方法も数量を決めるだけで、仮想通貨取引初心者でもすぐにビットコインを入手できます。

しかし販売所では運営が広めのスプレッドを設定しており、取引所と比較するとコストが高くなることは否定できません。仮想通貨取引に慣れていない初期段階では販売所がおすすめですが、ある程度経験をつんだら取引所の利用をおすすめします。

ビットコイン (BTC) の仕組みまとめ

ビットコインは高度な技術を駆使することで、ブロックチェーン上で安全に取引できる仕組みが整っています。通貨としての仕組みも既存の法定通貨に一石を投じるモノとなっており、これからの紙幣制度に影響があることは間違いありません。

マイニングによる過剰なエネルギー消費やスケーラビリティ問題など解決するべき課題も含めて、今後のビットコインの発展を見届ける価値があるといえるでしょう。