Blockheight Feature
Pocket

ブロックチェーンは、一定期間の取引データまとめてブロックとして保存します。そのブロックは、時系列で前後のブロックとつながりを持っています。よって、ブロックチェーンは最初から最新時点までブロックがひとつながりにつながっています。これを縦に積み上げていると考え、ブロックに番号をつけ、その高さを表す単位を「Block Height」と言います。

 

Block Heightとは

ブロックは1つ前のブロックの値を参照しているため、ブロックが積み上がるように記録されていきます。Block Heightという単位はこの積み上がったブロックの高さとイメージすると分かりやすいでしょう。また、一番最初に生成されたブロックを0として、対象とするブロックが何番目のブロックとして積み上がっているのかを指しています。

例えばビットコインのブロックチェーンでは、ブロックはおおよそ10分ごとに生成されているので、最新のブロックの高さに10を掛けることで、ビットコインが誕生してから最新のブロックが生成されたまでのおおよその経過時間が分かります。2017年11月のある時点における最新のBlock Heightは50万弱です。単純に計算すると、この数値に10をかけたものが、ビットコインが生まれてからその時点までの経過時点となります。ところが、この数値をから逆算するとは今までに平均すると約9.5分のブロック生成時間であるとけっかとなり、多少のずれがあります。しかし、ビットコインのブロックチェーンではこのようなずれが生まれる仕組みになっているため、特に問題というわけではありません。

画像:blockchain.info

ブロックヘッダー

ブロックには、「ブロックヘッダー」と呼ばれるそのブロックにおける情報が書かれている部分があります。ビットコインのブロックヘッダーにはその他ブロックの情報として、以下のものが格納されています。

・ソフトウェアのバージョン
・1つ前のブロックハッシュ(Previous Block Hash)
・(当該のブロックにおける取引記録全体を要約した)マークルルート
・ブロックの生成時刻のタイムスタンプ
・ブロック生成時の採掘難易度
・(Proof of Workを証明する)ナンス

分散ネットワークでの合意を可能にしたコンセンサスアルゴリズム「プルーフ・オブ・ワーク」
トランザクションデータを要約する技術「マークルツリー」
マイニングの難易度を示す指標「採掘難易度」

お気づきの方がいるかもしれませんが、ブロックの情報を示すブロックヘッダーにBlock Heightの情報がありません。よって、Block Heightを知るには、これまでに確定したブロックの数を数えなくてはなりません。このことに呂い、Block Heightの値を得るのは、意外と簡単ではないことがわかります。

 

ジェネシスブロック

ブロックチェーンの最初(Block Height 0)のブロックを「ジェネシス(Genesis)ブロック」と呼びます。これはノードによるマイニング(ブロック生成)が行われる以前から存在する唯一の先頭ブロックであり、ジェネシスブロックはソースコード上にハードコーディングされています。これは先程述べたようにブロックチェーンにおける各ブロックは直前のブロックを参照しますが、一番最初のブロックであるジェネシスブロックは直前のブロックが存在しないので、その情報に関して記載しておく必要があるからです。

画像:blockchain.info

 

最初のブロックチェーンがビットコインであり、ビットコインのジェネシスブロックには興味深い記録が残っています。ビットコインのジェネシスブロックにはある文章が書かれており、それは

「The Times 03/Jan/2009 Chancellor on brink of second bailout for bank」

というものです。これはサトシナカモト氏によって書かれました。この文章は2009年1月3日のイギリスのTimes紙の見出しです。なぜこの文章をナカモトサトシ氏が残したのかの真意はわかりませんが、ビットコインが2009年1月3日以前にはなかったことの証明もなっています。このブロックがマイニングされたときには、1ビットコインも流通していなかったので、ジェネシスブロックに含まれていたトランザクションはマイニング報酬を受け取るジェネレーショントランザクション1件のみでした。

 

2017年11月現在Block Heightは50万近くまで進んでいます。ジェネシスブロックが誕生した2009年1月から9年弱で、約50万ものブロックが積み上がってきたことがわかります。中央的な管理者がいないながらもここまで一度も崩れることなく、これだけのブロックが積み上がってきたことを考えると、改めてその凄さを伺うことができますね。

Pocket

Aram Mine

Gaiax技術マネージャ。研究開発チーム「さきがけ」リーダー。新たな事業のシーズ探しを牽引。2015年11月『イーサリアム(Ethereum)』 デベロッパーカンファレンス in ロンドンに参加しブロックチェーンの持つ可能性に魅入られる。以降ブロックチェーン分野について集中的に取り組む。

Search