TOUCH THE SECURITY Powered by Security Service G
今日、世界的なトレンドワードとして頻出するようになった言葉に「FinTech」というものがあります。これは、金融分野(Finance)と情報技術分野(Technology)をかけ合わせた造語であり、ここ日本でも、2015年頃より耳にするようになったと記憶しています。
特にFinTechの要素の一つである「暗号通貨」に至っては、身近に聞かれるワードとして、すっかり市民権を得た印象さえあります。しかしこれを生活の一部として実感している方は、まだまだ少数かもしれません。
果たしてこのFinTechとは、何を意味するもので、これほどまでに世界で注目される理由は何なのでしょうか。今回はその技術要素として、最も重要なキーワードとなってるブロックチェーンについて、ざっくりと紹介してみます。
1.金融システムに求められること
ブロックとは、一定期間内のトランザクション(取引データ)の塊のことを指します。幾つかのトランザクションが記載された台帳の1ページと思うとわかりやすいでしょう。
ここには、「世の中の誰かが次のブロックに連結させるための要素(Nonce)」と、「前ブロックと連結したことを示す要素(前ブロックのハッシュ値)」が含まれます。
ブロックのイメージ
2.ハッシュ
先ずハッシュというものを理解する必要があります。ハッシュとは、任意のデータに対し、ある法則に基づきながらはじき出される、固定長の値の事を指します。この値を求める為には、ハッシュ関数というものが使われますが、元データにちょっとでも変更を加えると、求められる値ががらりと変わってくるのです。
で、そんな値を何に使うのか?という声が聞こえてきそうですが、この性質を利用して、ハッシュはファイルの改竄や成りすましを検知する為に役に立っている、そんな暗号技術の一種と理解して下さい。
そしてもう一つハッシュの重要なことに、不可逆性が挙げられます。ハッシュ値から、元データがどのようなものかを求めることが出来ないのです。
3.Nonce
Nonceとは、その場限りの変数とでも解釈して下さい。なんじゃそれ?ですよね。ここは次に説明します。
4.チェーン(ブロック同士の結びつき)
チェーンとは、ブロックが1つ1つ繋がっていることを表します。
前のブロック(取引データ群など)に対して、ハッシュ関数を使ってハッシュ値を導き出して、それを今まさに生成しようとしているブロックに含めてしまう。この繰り返しで、脈々とブロック同士がチェーンされている事が証明できそうです。
尚、ハッシュ値から元データを推測することは不可能ですが、元データからハッシュ値を求めるのは一瞬で誰でも出来ます。なんなら新しいブロックを生成する際に、取引データを自分に都合よく改ざんして、前データのハッシュ値を計算してブロック連結。一丁上がり!の早い者勝ちです。
しかしそうは問屋が卸さないのがこのブロックチェーンという仕組み。ここで出てくるのがNonceという値です。
実はブロックの連結に必要とされるハッシュ値、生成にルールがあるのです。例えば、「前4ケタが0000でなければならない」とするとどうでしょう。前データの単純なハッシュ値を求めるだけではもちろんNG。そこでNonceという変数に、なんらかの値を設定することで、やっと条件をクリアです。
尚、ルールを満たすハッシュ値へ変化させられるNonceの値を探すためには、"世界中の人々"が寄ってたかってスーパーコンピュータを使いつつ、10分程度経過したところで、正解を導き出す人が現れるイメージだと思ってください。
ブロックのチェーン
5.マイニング
先ほどの"世界中の人々"、しかもスパコンなんか使ってくれて親切な人達だなぁ、ありがとう。なんて思われたでしょうか。
この人達、別にボランティアでもなんでもありません。良い感じのNonceを探し出し、条件にマッチするハッシュ値を求めてブロックを連結できた暁には、ご褒美が貰えるのです。
これがいわゆるマイニングという行為です。例えば、ブロックチェーン技術の生みの親でもある暗号通貨ビットコインを例にとると、1ブロックの生成につき、報酬は何と12.5BTC。円換算で1,000万円程度といったところでしょうか。
マイニングの後、世界に分散する他のノード達が、このブロックに対して、妥当性を評価、承認されればチェーンに追加されるという流れです。この一連のアルゴリズムは、Proof of Work(PoW)と呼ばれます。
6.ブロックチェーンの改竄
例えば、過去のとある取引に対して、悪意の第三者がチェーンに改ざんを加える事を想定してみましょう。
過去から現在へとブロックが連結しており、今まさに新たなブロックが生成されようとしています。
この時、悪意の第三者は、改ざんを行いたい箇所(赤い部分)から、現在に至る全ブロックに対して、瞬時に辻褄の合うチェーンを生成しつつ、更には改ざんしたチェーンの延長線上に新たなブロックを形成することとなり、これには膨大な計算と時間を要することになります。
そんな事を後追いでやっているうちに、正当なブロックチェーンはどんどん連結して伸びていきますし、その正当に伸び続けているブロックチェーンに追いついて追い越すくらいの勢いの、超絶な量子コンピュータがあれば、改ざんも可能かもしれませんね。
7.暗号通貨の上限枚数
さて、そんなブロックチェーンをベース技術として取引される暗号通貨ですが、実は発行枚数が予め定められています。
例えばビットコイン。BTCの上限枚数は2100万枚と言われてます。現在、1700万枚程出ているため、残り400万枚がマイニング報酬として新しく世の中に出ていきます。ならばマイニングってあと、数年で終わりなの?と思いますよね。
実はこれ、2140年まで続きます。マイニングには半減期というものが設定されており、それは4年に1度おとずれます。
- 現在~2020年⇒12.5BTC
- 2020年~2024年⇒6.25BTC
- 2024年~2028年⇒3.125BTC
- ︙
- 2140年までマイニングが続く
次回は、ブロックチェーンを技術ベースとする暗号通貨について、更に深堀してみたいと思います。