インターネット以来の大発明その2 ~ビットコインの技術、マイニングとプルーフオブワーク~

インターネット以来の大発明その1はこちら
 
インターネット以来の大発明その1で、ビットコインの成り立ちについて書きました。ビットコインは政府の規制に縛られない自由な電子マネーという思想から生まれました。
 
このビットコインが用いたブロックチェーン技術は、インターネット以来の大発明と言われています。

これはどのような技術なのか?

暗号化技術という難しい話を、できる限りわかりやすく書いてみました。
 

ビットコインの技術とは?

決済システム

我々が個人間で送金する場合、金融機関は決済システムの一つです。例えば、図のようにAさんがBさんに10,000円送金する場合、実際に移動するのは金額の情報です。

AさんがC銀行に「D銀行のBさんの口座に10,000円送金する」ように依頼します。するとC銀行はAさんの口座の10,000円をD銀行のBさんの口座に移動するように依頼します。そしてBさんの口座の残高が10,000円増加します。

C銀行とD銀行の間では1日の間に多くのお金が送金されています。一日の終わりに最終的な金額の差をそれぞれの銀行間で移動して決済が完了します。
 
ビットコインを使えば、ブロックチェーン技術を用いて、世界中どこでも「インターネットがつながっていれば」、短時間に極めて低い手数料で送金ができます。その意味ではビットコインは、決済システムの1種です。日本の仮想通貨法では支払い手段と定義しました。
 
図1 従来の銀行間の送金
図1 従来の銀行間の送金
 

公開鍵と暗号鍵

ビットコインの口座は誰でも開設できます。ビットコインの秘密鍵は乱数発生器から生成した英数字で、これをビットコインプログラムに通すと公開鍵がつくられ、これがビットコインアドレスになります。

このように秘密鍵から公開鍵を作りますが、公開鍵からは秘密鍵が何かは分かりません。もし秘密鍵が他人に知られてしまうと、ビットコインアドレスが乗っ取られるので、絶対に他人に知られないように管理します。
 
AさんがBさんにビットコインを0.01BTC(約1万円)送金する場合、まずAさんのアドレスと0.01BTC送金するという情報を自分の秘密鍵で暗号化し、Bさんに送信します。この暗号化を電子署名すると言います。

受け取ったBさんは、この情報をAさんの公開鍵を使って復号します。Aさんの公開鍵で開くことができれば、確かにAさんからのものだということが分かります。ここまでの操作で、BさんはAさんの秘密鍵を知らなくてもできるという点が重要です。
 
図2 秘密鍵と公開鍵の仕組み
図2 秘密鍵と公開鍵の仕組み
 

ハッシュ関数

ビットコインで使われるハッシュ関数とは、次のような特徴を持った関数です。

  • 入力の文字列に対して、決まった固定長の文字列を出力
  • 入力の文字列が一文字でも違えば、出力の文字列は全く違ったものになる
  • 出力の文字列から入力の文字列を逆算することはできない
  • 入力の文字列の長さが変わっても、出力の文字列の長さは変わらない

 
図3 ハッシュ関数の特徴
図3 ハッシュ関数の特徴

P2Pネットワーク

ビットコインは、全体を管理するサーバーのないP2Pネットワーク(Peer to Peer)です。これはネットワークにつながっているコンピューター同士が個々に情報を交換する方式です。
 
図4 ピアトウピア・ネットワーク値は…
図4 ピアトウピア・ネットワーク値は…
 
先の例でAさんからBさんに0.01BTC送金したという情報は、ネットワークにつながっているすべてのコンピューター(ノードと呼ばれる)に送られます。すべての取引は、すべてのコンピューターにも送られ、取引は誰でも見ることができますが、それぞれのビットコインアドレスが誰であるかは分かりません。

今、ビットコインのプログラムをインストールすると、2009年から続いたすべての取引データ(元帳 何十ギガバイト)が送られてきます。
 

プルーフオブワークとマイニング

10分間ごとに取引記録をまとめたものをブロックと呼びます。ビットコインでは、この新しいブロックを承認するためには、誰よりも早く問題を解かなければなりません。これがプルーフオブワーク(Proof of Work)です。これはハッシュ関数と呼ばれる関数を用います。この関数は、入力した文字列に対して、異なる文字列を返す関数です。しかし答えの文字列からは入力した文字列が絶対にわからないようになっています。また入力した文字列が異なれば必ず異なる文字列を返すような関数です。
 
ビットコインは、取引記録を承認するために、取引履歴にある値を加えたものをハッシュ関数にかけて、得られたハッシュ値の先頭に0が一定数並ぶことを求めています。

ここで正解(0が一定数並ぶ)になるようなある値をナンス値と呼びます。
 
実際は、前ブロックのハッシュ値と前ブロックのナンス値、任意のナンス値、この3つを加えてハッシュ関数にかけます。そして出てきた結果、最初の〇桁が0となれば、そのナンス値が正解です。

これを誰よりも早く見つけた人が勝者です。

敗者は勝者のナンス値が正しいかを検証します。そのため、不正ができない仕組みになっています。このナンス値を探すには、総当たり戦でしらみつぶしに行うしか方法がありません。これはマイニングと呼ばれています。
 
図5 Proof of Workの仕組み
図5 Proof of Workの仕組み
 
マイニングは一定時間で完了するように難易度が調整されています。現在は競争が非常に激しくなってきて、工場のような場所で多数のコンピューターを稼働させており(発掘プール)、電気代の安い中国などが中心となっています。そして複数の発掘プールが共同でマイニングを行っています。
 
このようにマイニングは大量の計算を高速で行わなければならないので、大量のコンピュータと電力を消費します。ただし、マイニングの計算自体は、まったく意味がありません。
 
図6 実際のブロックのデータ構造
図6 実際のブロックのデータ構造
 
図7 マイニングツールの変化
図7 マイニングツールの変化
 
図8 マイニング・プールの仕組み
図8 マイニング・プールの仕組み
 
このマイニングの勝者は、12.5BTC(2019年6月のレートで、1570万円)のビットコインの獲得と送金手数料を得ることができます。そして得られたナンス値を加えた新しいブロックがすべての元帳に追加されます。

ビットコインの送金は、マイニングの勝者が送金手数料の高いものを選ぶことができます。一方、送金手数料が低い取引は、いつまでたっても承認されないため、ビットコインのルールでは、新規ページには一定量の特別なスペースを用意して置き、一定時間が経過しても承認されずに陳腐化しそうな取引を必ず埋めるように定めてあります。

つまり手数料を少なくすれば、時間はかかりますが必ず送金される仕組みになっています。
 
ビットコインの総発行量は2,100万BTCと予め決まっています。そしてマイニングのインセンティブは4年ごとに半減するように設計されています。2017年には25BTCから12.5BTCに半減しました。一方ビットコインが増えるに従い送金も増えるため、今後マイニングのインセンティブは、新規に獲得するコインより送金手数料に移行すると考えられています。
 

51%攻撃

ビットコインでは、マイニングで51%の投票権を獲得すればブロックを承認できます。つまり不正を働いてビットコインを獲得したければ、現在採掘している全プレイヤーの51%以上の計算能力を獲得すれば可能になります。2013年3月の時点で1秒間に3,500億回以上のハッシュ関数の総当たり戦が行われており、その51%以上1785億回以上の計算能力が必要です。これは1組織で実現できる規模ではなくなっています。
 
図9 マイナーの比率(2019年3月)
図9 マイナーの比率(2019年3月)
 

ハードフォーク

このマイナーの競争は、時として二人の勝者が生まれ、それぞれ異なったブロックを承認してしまうことが起きます。そうすると同じブロックで内容の異なるものが発生してしまいます。この場合はブロックの数が多い方を正しいとするというルールが決められています。
 
過去には偶発するトラブルにより2つのブロックが承認され、そこから新しいブロックチェーンが生まれました。これがハードフォークです。

あるいは、それまでの仕様では制約があるため、ハードフォークを行い新しい仕様のブロックチェーンを生成することがあります。

ビットコインは1ブロックのサイズが1MBのため、記録できる取引内容に制限がありました。これを解決するため、1ブロックのサイズを8MBにしたビットコインキャッシュが、2017年8月にビットコインからハードフォークしました。
 
図10 ハードフォークの原理
図10 ハードフォークの原理
 
図11 ビットコインキャッシュ
図11 ビットコインキャッシュ
 

ブロックチェーンとは?

ブロックチェーンとは、それぞれの取引を記録した元帳を連結して運用することです。この場合、今まで述べた暗号化やハッシュ関数を用いたマイニングの仕組み、P2Pネットワークも含めて呼ばれることが多いようです。
 
ビットコインはブロックチェーンを用いた暗号通貨のひとつです。

ビットコインの特徴は、完全にオープンなシステムでありながら、改ざんできない仕組みであることです。Mt.Goxの破綻などビットコインをめぐる問題は度々起きています。しかしビットコインの仕組みがハッキングされたことは今まで一度もなく、改ざんも起きていません。

ほとんどの問題は、ビットコイン取引所がハッキングされてビットコインが盗まれたものです。

銀行に何度か泥棒が入ってお金を盗まれましたが、偽札は一度も作られていない、ということです。問題は銀行であり、お金に問題はありません。つまりビットコイン自体のセキュリティに問題は起きていません。
 
ビットコインのブロックチェーン技術の特徴は、
 
【長所】

  • 完全にオープンでありながら改ざん不可能なセキュリティの高さ
  • すべての取引が記録され、それを誰でも見ることができる
  • P2P方式で、管理主体が不要なため、事故やトラブルに強い
  • 供給量が制限され、価値が低下しないため、通貨としての機能を持つ

 
【短所】

  • システムを維持しセキュリティを確保するためのマイニングが非常な努力を必要とする。マイナーへのインセンティブとマイナーの協力がなくなるとシステムを維持できない
  • 承認作業に時間がかかるため、即時処理には向かない
  • すべての取引を毎回記録するため、データのチェックと転送の頻度が高く、そのためシステムの維持コストが高い
  • ユーザー主体のシステムの為、全ユーザーにアップデートを強制できない。そのためアップデートは下位互換を強制される
  • 最初に設計したデータベースからシステムを拡大するのが困難

 
このようにビットコインは、サーバーのような管理主体がない分散型のシステムで、完全にオープンでありながら改ざんできない点で極めて優れたブロックチェーン技術です。

しかし、ビットコインの仕組みを維持するため、発行量の制限や、全く意味のない計算に大量のコンピュータと電力を使用するなど課題もあります。

ただし、ビットコインは「政府に管理されない電子マネーを自由に発行する」というパンドラの箱を開けました。これにより金融の世界は大きく変わる可能性があります。

 
 

前の記事はこちらをご参照ください。
インターネット以来の大発明その1~ビットコインの成り立ちと特徴~

 
 

《ご案内》

◆経営コラム 経営コラム 製造業の経営革新 ~30年先を見通す経営~◆

ものづくり企業の「30年先の経営」を考えるヒントとして、企業経営、技術の進歩、イノベーションなどのテーマを定期的に更新しています。

メルマガのハックナンバーについては、こちらをご参照ください。

 
こちらにご登録いただきますと、更新情報のメルマガをお送りします。

(登録いただいたメールアドレスは、メルマガ以外には使用しませんので、ご安心ください。)


 

◆未来を考えるワンコイン経営勉強会「未来戦略ワークショップ」◆

毎月第3日曜日 9:30~12:00 経営の失敗事例やイノベーションについて学ぶ有志の勉強会「未来戦略ワークショップ」を開催しています。

詳細は、こちらをご参照ください。

申込みは前日までに電話か、お問合せよりお申し込みください。

 

◆ニュースレター「モノづくり通信」◆

ものづくりや技術、イノベーションについて、弊社ニュースレター「モノづくり通信」を発行しています。

詳細は、こちらをご参照ください。

モノづくり通信の発行は、弊社メルマガでご案内しています。

こちらにご登録いただきますと、更新情報のメルマガをお送りします。
 
 


ページ上部へ▲

メニュー