Pebble Coding

ソフトウェアエンジニアによるIT技術、数学の備忘録

仮想通貨、ブロックチェーンとは何か

2018年は仮想通貨、ブロックチェーンが特に日本で世間一般に認知された年でした。
仮想通貨、ブロックチェーンとは何なのか、今後どうなってゆくのかについてまとめておきたいと思います。

仮想通貨

2008年11月にサトシナカモトという匿名の人物が論文を書きました。
この論文はビットコインのホワイトペーパーと呼ばれています。
サトシナカモトは暗号技術やC++言語に精通しており、この論文を元にC++で実装を行った仮想通貨がビットコインです。

仮想通貨が電子マネーなどの今までの技術と決定的に異なるのは、円やドルなどの法定通貨とは全く異なる方法で、価値を保っているからです。
価値を保つ方法の核となるのが、ブロックチェーンという技術です。
金は金鉱で採掘するより他に新たに生み出す方法がないため、その希少価値によって、価値が保たれています。
仮想通貨も同じように、採掘以外で新たに生み出せないようにすることで、価値が保たれます。

ブロックチェーン

ビットコインは、過去の全ての取引を取引台帳として持っています。2018年時点で500GByte程度の容量を持ちます。
今後も増え続けていきますので、これをどうするのかにはついては今後の課題となっています。
ビットコインはインターネットのP2P環境で世界中のフルノードと呼ばれる多くのサーバによって管理されています。
全てのフルノードで同じ台帳を持っており、お互いにデータを送受信して、常に最新の同じ台帳データを持つように常に動作しています。
一つのノードは他のノードと8本の接続を持っていますので、どれか一つのノードが動かなくなっても、他のノードが動作し続け、全体として動作し続けるようになっています。
取引台帳はブロックチェーンと呼ばれています。
一つのブロックには取引が多数格納されており、10分間に1つ新しいブロックが生成されて、一つ前のブロックと繋がったような状態になるため、ブロックチェーンと呼ばれます。
2018年現在では、ブロックの最新の番号が54万程度になっています。
ブロックとブロックを繋ぐのに暗号技術が使われており、新たなブロックを作るのには一つ前のブロックの情報が必ず必要になるため、ブロックを改ざんできないようになっています。
ブロックを生成できるのは、CPUを長い時間使って特定の問題を解いたノードだけになります。
ブロックが3つ繋がると改ざんするには、3つ前から計算をし直す必要があり、チェーンが繋がるほど、前のチェーンに含まれた取引は改ざんされにくくなり、取引の確実性が増します。

取引の完了時間

ビットコインでは10分間に1つ新しいブロックが生成されます。
これを小売店での決済に利用した場合を考えます。例えば、ラーメン屋でラーメンを購入した代金として、1ビットコインを払い、それが確定するまで10分かかるということです。この取引時間の長さでは、小売店決済にはとても利用できません。これは、問題点として認識されており、現在は改善するための様々な方法が研究、開発されているフェーズです。

財布(ウォレット)

ビットコインの取引はビットコインネットワーク上の2つの財布の間の取引となります。
財布のIDは256ビットの数値で表されます。256ビットの数値は10進数で77桁となり、ランダムに値を取ってきても他人の値とかぶることはありません。
この財布のIDだけが唯一、財布を特定する手段ですので、このIDを忘れてしまうと、2度とこの財布にあるビットコインは使えなくなってしまいます。この問題点も解決はされておらず、現状、よい方法は発明されていません。
また、この財布は誰のものなのかを示す情報は一切なく、世界中のどこにあるのかも分からないため、匿名性が非常に高く、盗難されてしまうと、取り返すことは不可能です。盗難に合いそうな場所にはビットコインは置かない、自分自身でビットコインを管理するといった方法しかなく、この点の改善方法も、現在、よい方法は発明されていません。

採掘(マイニング)

仮想通貨は採掘によって新たな通貨が生成されますが、採掘を行うにはCPUをフル稼働させる必要があり、多くの電力を必要とします。
現在は専用のマシンが開発されて、寒冷地で電力の値段が安い地域で採掘されるケースが増えているようです。
システムの維持のために多くの電力を必要とする点が地球のエコシステムの破壊に繋がるとして非難を浴びることもあるため、
異なる採掘アルゴリズムの研究が進められています。

開発元と様々な仮想通貨

現在、様々な独自仕様を持つ仮想通貨が生み出されています。
開発言語はC++,javascript,go,javaなど様々です。
ビットコインについては、コア開発メンバーと呼ばれる人々によって、仕様の策定、実装開発が行われています。
コア開発メンバーは主にBlockstreamという仮想通貨の研究開発を行う会社の社員がフルタイムで作業にあたっています。
ソースコードはgithub.comで公開されており、誰でも参照することができる状態になっています。

リップルという仮想通貨はリップル社によって開発されていますが、採掘量の上限が決まっていなかったり、リップル社自身が多くの通貨を所有しているため、通貨ではなく証券として扱うべきではないかなどの問題点が指摘されていたりします。
このように、通貨としての利用価値があるのか、一般人が入手可能となっているが、価値がなくなって可能性があるものを規制する必要があるのかという議論が続いており、今後どうなるのか分からない状態です。

仮想通貨と納税

仮想通貨を購入したり、売却したりしたときは、為替の売買のときと同じく利益が発生した時は納税義務が生じます。 納税方法としてどのようなルールになっているかは国によって様々ですが、日本の場合は、株や為替よりもかなり不利な納税ルールとなっています。
国によっても、大きく異なり、今後、それぞれの国がどのように仮想通貨を扱って行くのか前例がないため、まだまだ模索状態が続いているようです。

ブロックチェーン技術の応用

ブロックチェーンの改ざんを防ぐことができるという点を生かしたシステムを生かしたものを作れないかといった研究が進められています。 現状では、まだうまく生かしたサービスが出てきているとは言いがたい状態ですが、何らかのブレイクスルーによって大きく発展する可能性はゼロではありません。

決済サービスとの関連

中国ではアリババによるQRコードを使った決済サービスが普及しており、現金があまり使われなくなってきています。
日本では、キャッシュレス化が世界標準では遅れていますが、最近徐々に普及しつつあります。
決済サービスの一部として、仮想通貨が使われる可能性は、個人的には低いと思っていますが、なんらかの形でブロックチェーンの技術が使われるのではないかと考えています。

まとめ

2018年始めのバブル的高騰がだいぶおさまり、本来の価値に戻ってきました。
ソフトウェア技術者にとっては、ソースが公開されており、通貨という価値が生まれているブロックチェーンという技術は非常に魅力的です。
今後も技術をウォッチして動向を見守りたいと思います。

おススメの本

デジタル・ゴールド──ビットコイン、その知られざる物語

デジタル・ゴールド──ビットコイン、その知られざる物語

ビットコインの初期開発の話やサトシナカモトがいかに自分の素性を知られないことに気を使っていたのかや麻薬販売サイトシルクロードの運営者が逮捕されるまでの経緯、Mt.Goxの成り立ちの盗難騒動など、初期の歴史について最も詳しく書かれた本ではないでしょうか。数学など難しい話は一切出てこず、映画化できるような内容でノンフィクションとしても楽しめます。

ビットコインとブロックチェーン:暗号通貨を支える技術

ビットコインとブロックチェーン:暗号通貨を支える技術

ビットコインの実装の詳細について詳しく書かれたバイブルです。この本で基本概念を理解してたらソースコードを読んでいくと、効率よく学習が進むでしょう。