2017.02.01
第1回 ブロックチェーン、暗号通貨とは何か
本連載では、暗号通貨の基本的なしくみや応用例を学び、実際にトークンを発行してみたりします。投機目線では書きませんのであらかじめご了承ください。
はじめに
こんにちは、今回から暗号通貨に関する連載をさせていただく、うどんです。本連載では 暗号通貨の基本的なしくみや応用例を学び、実際にトークンを発行してみたりします。投機目線では書きませんのであらかじめご了承ください。また暗号通貨は現状値動きが激しいです。お金を投じるかは自己責任でお願いします。
今回は暗号通貨(仮想通貨)、Bitcoin、そして最近ニュースや新聞などでよく聞くブロックチェーン(Blockchain)についてそれぞれ整理したいと思います。
前提知識
P2P(Peer-to-Peer)
通信形式の1つです。複数の接続されたコンピューター(ノード)同士が、互いに接続しあってネットワークを形成しあいます。これからの連載では、特に指定のない限り、ノード間に格差のないピュアP2P型のことを指します。
ハッシュ関数
「入力データをある長さの不規則な値に変換する関数」の事です。ハッシュ関数に入力して出てきた値のことをハッシュ値、入力することをハッシュ化と言います。この関数は同じ値を入力すると同じハッシュ値が出てきますが、ほんのわずか違うだけでまったく違う値が出てきます。
実際に試してみましょう。ここでは、Bitcoinで用いられているSHA-256というハッシュ関数を使ってみます。
EFB5C6729D8CE3E03FD03AEC340540B24A788454D45E717089B1E59243E16F43「itcoin: A Peer-to-Peer Electronic Cash System」→
EE63100E0476EFC5C3FD144C1F4B1A9760CE3DD9772BE653170D1B936F387EFC
このように不規則な値が出てきます。ハッシュ値から元の値がまったく推測できないのがハッシュ関数の特徴です。
非対称鍵暗号(公開鍵暗号)
暗号化と復号に異なる鍵を用いるタイプの暗号方式です。暗号化には公開鍵、復号には秘密鍵を用います。公開鍵で送りたいデータを暗号化し、秘密鍵で復号を行うことで、安全性が高い通信が可能になりました。またこれを応用した電子署名という技術があります。その名の通り、現実世界で行なっているサインや捺印などをコンピューター上で行えるようなものです。これにより鍵を所有する本人であると確認することができます。
暗号通貨とは?
暗号通貨とは、デジタルマネーとよばれるお金の中でハッシュ関数、電子署名を使った、インターネット上で構築され不特定多数の人が参加できるP2Pネットワークで動くタイプのお金の事です。管理者はおらず、お互いがお互いを見張ってネットワークを稼動させます。仮想通貨とも呼ばれます。
このようなお金を作る試みはインターネットが始まってからいくつかありました。でも二重支払いなどの問題を解決できませんでした。それに対して、2008年にSatoshi Nakamotoと名乗る者が、とある論文を出しました。
Bitcoin: A Peer-to-Peer Electronic Cash System
そして2009年にはコードがリリースされ、Bitcoinのネットワークが稼動しました。これが暗号通貨と呼ばれるものの始まりです。
本連載の第2回から第4回にかけて詳しくしくみを説明いたしますが、このシステムが画期的だったため世に広まり、やがてそのシステムに対してブロックチェーン(英語:Blockchain)という名前がつきました。
しかし、このブロックチェーンを改造、応用して、不特定多数の者でネットワークを動かすのではなく、管理者がネットワークを管理するタイプで構築したらどうだろうという考えから、プライベートチェーンと呼ばれるものが考案されました。これにより、管理者がいないという暗号通貨の長所を捨ててしまうこととなりましたが、ネットワークが落ちず、勘定がP2P型のネットワークでも最終的に狂わないという暗号通貨(パブリックチェーン)の利点を手に入れることができました。
ブロックチェーンの分類、定義、種類
ここで、ブロックチェーンの定義を見てみましょう。と言っても造語なので、厳密な定義があるわけではありません。ここでは日本ブロックチェーン協会(JBA)というところが出している定義を参照します。
1. で述べられているのは「不特定多数のコンピューターがお互いを信頼せずにコンセンサス(合意)し、それが時間の経過とともにその合意が強固になる」システム、ということです。このようなブロックチェーンはパブリックチェーンと言われることが多いです(第2回でそのしくみについて詳しく触れます)。
ただ、これだけではいわゆる金融機関などに注目されている、プライベートチェーンと呼ばれるブロックチェーンが定義に入らないことになってしまいます。
そこで、2. で、広義を述べることで定義を拡張しています。これにより、不特定多数のコンピューターではなく特定の団体に認証されたコンピューターが合意するというのも含まれることになります。
色々と頭がこんがらがった方も多いと思いますので、私なりに分類してみました。
(ここでRippleはブロックチェーンではないという考えの方もいるので(?)としています)
せっかくなのでここで出てきたプロジェクトを簡単に紹介したいと思います。
Bitcoin | Satoshi Nakamotoが発明した暗号通貨。暗号通貨の時価総額の8割以上を占めている。しくみは次回以降で解説 |
Ethereum | 分散型アプリケーション構築プラットホーム |
Zcash | パブリックチェーンを用いながら、取引量、取引先などを完全に秘匿できる匿名性の高い暗号通貨 |
Monero | Zcashと同じく匿名性の高い暗号通貨 |
Ripple | Ripple社により開発がなされている暗号通貨プロジェクト。取引の承認は、今のところ実質Ripple社が行っている |
mijin | テックビューロ株式会社により開発されているプライベートチェーンの1つ |
HyperLedger | Linux Foundationが中心となって進められているプライベートチェーンの1つ |
Bitcoin、Ethereum、Zcash、Rippleについてはのちの連載にて解説します。
次回は「Bitcoinについて -前編-」です。