ビットコインのブロックチェーンの技術とは、「分散型台帳」技術のことです。
数百から数千個のビットコインの取引記録ををまとめたブロックをみんなで手分けして、承認して1本のチェーンの形で共有しています。そういった形で共有しているため、ブロックチェーンと呼んでいます。
それでは、そのビットコインを支えるブロックチェーンの技術について簡単に説明していきます。
未承認のトランザクションを積み上げる
ビットコインの一つ一つの取引のことを「トランザクション」と呼んでいます。
すべてのトランザクションはAさんからBさんへ◯BTC移動するという形で記録されています。
例えば、AさんがBさんにビットコインを売る場合も、AさんがBさんにビットコインを送る場合も、AさんがBさんに何らかの代金をビットコインで支払う場合も、「AさんからBさんに◯BTC移動する」という形で表現することができます。
ビットコインの取引は、世界各国で24h 306日行われています。取引は、すべてオープンになっており、最新のトランザクションをリアルタイムで見ることができます。
しかしビットコインの取引は、お互いに承認しあって初めて成立しますので、最初はすべての取引は未承認の状態です。
そこでビットコインでは、未承認のトランザクションをおよそ10分ごとにまとめて1つのブロックとし、それを一括して承認する仕組みを採用しています。新しく承認されたブロックは、既に承認済みのブロックをひと続きにした1本のチェーンの最後尾にはめ込まれて追加されていきます。
ここで初めて取引が成立するというわけです。逆にAさんからBさんに◯BTC移動するという指示を出しても、そのトランザクションを含んだブロックが承認されない限り、取引は完了しません。ビットコインの送金指示から取引完了まで時間がかかるのは、承認待ちの列に並んでいるからです。
ハッシュ関数によって暗号化
個々のトランザクションは、ハッシュ関数という特殊な関数によって規則性のない一定の長さの文字列に置き換えられます。
ハッシュ関数にかけると、どれだけ大きなサイズのデータでも、同じ桁数の全く異なる文字列に置き換えることがいきます。これは暗号技術よく使われます。
ハッシュ関数は、入力データをわずかな値でも変えると、全く異なるハッシュ値が出てくるのがハッシュ関数の特徴です。そして入力データからハッシュ値を生成するのは簡単ですが、ハッシュ値から元のデータを割り出すことはできません。
つまり後からは操作を行えないことで、勝手に変更できないシステムとなっています。それによってビットコインの取引が改ざんされることを防いでくれるわけです。
手数料によって優先順位を上げる
個々のトランザクションには、わずかながら手数料が含まれています。
例えば、トランザクションのデータ量が1,000バイトことに約10円かかるといった具合です。小口の送金など大半の取引では、手数料が固定されていますが、大口の送金額の場合や早く処理してもらいたい場合には、手数料を上乗せすることができます。
承認作業しているマイナーからすると、手数料が高い方が取り分が増えるので、そのようなトランザクションは優先的にブロックに取り込み処理するということです。
現在ではお店での決済よりも取引所を仲介した売買や送金が中心なので、手数料は安く抑えられています。しかし今後ビットコインの取引量が増えて、即時決済の必要性が出てくると、手数料が上がっていくかもしれません。
1本のチェーンには45万個のブロックがつながる
個々のブロックには、数百から数千の取引記録=トランザクションが含まれています。
ブロックはおよそ10分ごとに承認され、最後尾に追加されていきますので、1時間で6個、1日で144個、1年で5万2,560個のブロックが新たに追加されていくことになります。そのブロックの総数は、2017年1月の時点では、およそ45万個となっています。
45万個のブロックが連なる枝分かれのない、たった1本のチェーンに過去の全てのビットコインの取引の記録が残されているということです。ブロックがチェーン状につながっているため、これをブロックチェーンと呼んでいます。
一度ブロックチェーンの最後尾につなげられたブロックの番号を後から入れ替えることは出来ません。 1番目のブロックから2番目3番目4番目とつながった順番に並んでいきます。
ハッシュ値を利用して暗号化してあるので、後から勝手に変更することはできません。ブロックのつなげ方には、規則があり新しいブロックを最後尾につなげるには、規則にあった鍵を見つける必要があります。この鍵を見つける作業をマイニングと呼んでいます。
同じチェーンを分散して保存
ブロックチェーンはどこかのサーバーで一元管理されているわけではなく、世界中に散らばった複数のコンピューターに全く同じものが保存されています。
国や企業が中心となり一括管理するクライアントサーバー方式ではなく、個々のユーザー同士のネットワークで結んで直接データのやり取りをする「ピアツーピア方式(P2P方式)」を採用しています。
ブロックチェーンのことを、分散型台帳ということがあるのは、このP2Pネットワークで管理運営されて、取引記録が残されているからです。
ビットコインの取引を1個ずつ個別に承認せずに、数百から数千個の取引をまとめて承認しているのは、同じブロックチェーンをネットワークにつながった複数のコンピューターがそれぞれで保存しているからです。
取引が発生するたびに、毎秒数十から数百回にわたって、ネットワークにつながる全てのコンピューターを同時に更新するのは不可能ですから、10分ごとにまとめて承認しているというわけです。