ブロックチェーン
暗号資産(仮想通貨)におけるブロックチェーンとマイニング(採掘)の仕組み
ブロックチェーン(block chain)とは?
ブロックチェーン(block chain)とは、暗号資産(仮想通貨)の決済や送金の際の取引データを管理するために使われている技術です。暗号資産(仮想通貨)はもちろん、銀行の送金管理や不動産取引の管理など、幅広い分野への応用が期待されています。
暗号資産(仮想通貨)におけるブロックチェーンとは、取引データをまとめたかたまりを「ブロック」とみなし、これをチェーンのように連ねて管理するデータベースのことです。中央のサーバーではなく、仮想通貨取引を行うユーザーの端末でブロックを共有し、管理しています。ブロックの正しさを担保するために、新しいブロックをそれ以前の「すでに正しいことが分かっているブロック」とつなぎます。次のブロックが出てきたら、古いブロックの連なりとつなげるという操作を繰り返すことで、ブロックの鎖(ブロックチェーン)はどんどん長くなっていきます。
ブロックチェーンを活用することで、中央にサーバーを立てなくても膨大な取引データを正しく管理できるようになります。管理コストが低いことから、国境を越えて暗号資産(仮想通貨)を送金するコストも、銀行を介して法定通貨を送金するコストよりはるかに低いとされています。
暗号資産(仮想通貨)システムのようにお金をやり取りするシステムでは、高度なセキュリティが求められます。どんなにコストの安いシステムでも、データが簡単に改ざんされてしまうようでは信頼して使うことはできないでしょう。ブロックチェーンにおいて、その信頼性を担保しているのが「マイニング(採掘)」と呼ばれる独自の承認システムです。
ブロックチェーンとマイニング(mining)の関係性
マイニング(mining)とは、暗号資産(仮想通貨)を「採掘」する承認システムを指しています。ブロックチェーンは、中央のサーバーがデータを管理してその正しさを担保するようなデータベースではありません。末端ユーザーがブロックを共有し、複雑な計算を行って正しいブロックであることを承認しているのです。
一つのブロックには、大きく分けて3種類のデータが存在します。そのブロック内の全取引データ(取引記録)、前のブロックの取引データを要約した「ハッシュ値」と呼ばれるパラメータ、そして「ナンスまたはノンス(Nonce)」と呼ばれる任意のパラメータです。ナンスを「ハッシュ関数」と呼ばれる計算方法で変換することで、そのブロックのハッシュ値を得られます。ブロックチェーンにブロックをつなぎこむためには、そのブロックのハッシュ値が特定の値以下になるようなナンスを見つける必要があります。特定の値以下にならなければ、ナンスを探す作業を続けることになります。
マイニングとは、ブロックチェーンにデータをつなぎこむのに適した値を計算で探し回る作業です。マイニングに参加する人は、ナンスの値をいろいろ変えながら計算を繰り返し、ハッシュ値を算出し続けます。このように、ナンスを見つけるには膨大な労力がかかります。これをいち早く見つけた人が、ブロックをチェーンにつなぎこむ承認作業を実現させられるわけです。
とても労力のかかるマイニング作業なので、承認に成功すると報酬をもらえる仕組みになっています。それが、新たな暗号資産(仮想通貨)です。ナンスを見つけて暗号資産(仮想通貨)を報酬として受け取る流れが、鉱物や資源を掘り出す作業に似ているため、承認作業を「マイニング(採掘)」と呼んでいます。
ブロックチェーンの枝分かれ(フォーク)について
ブロックチェーンは、チェーンの名の通りひとつなぎです。しかし、ときに枝分かれを起こすことがあり、これを「フォーク(Fork)」と呼んでいます。フォークには、大きく分けて「意図せざるフォーク」と「意図したフォーク」があります。
意図せざるフォークとは、ほぼ同時に2人以上がマイニングを成功させたときに発生します。ハッシュ値が特定の値にならなければいけないのではなく、特定の値以下であればよいので、ナンスも一意ではなく複数存在してしまう可能性があります。同じタイミングで別のナンスを発見した場合、異なる種類のブロックが複数生成されてあるブロックの後ろにつながれます。それぞれのブロックの後ろにまた次のブロックがつながれると、チェーンが複数できてしまいます。
重大な問題に見えますが、この場合の分岐はすぐに一つに収束します。複数のチェーンがあるとき、「先に6つ以上ブロックがつながれた方が正」というルールがあります。
マイニングに参加するマイナーはどのチェーンをつなぐ対象にしてもよいのですが、正しくない方(短い方)のチェーンにつなぐと報酬をもらえなくなってしまいます。そのため、マイナーはいずれかのチェーンに集まることになるので、分岐が収まるというわけです。
次に意図したフォークですが、さらに「ソフトフォーク」と「ハードフォーク」に分けることができます。ソフトフォークとは、マイニング仕様の変更による新旧チェーンの一時的な共存状態を指します。本来即座に新ルールでマイニングを開始するべきですが、中には旧ルールでマイニングを続けるマイナーも出てくるために、一時的な分岐が発生するのです。意図せざるフォークと同様に、新ルール適用のチェーンの方が長い=正なので、マイナーはこちらに集まり分岐は収束していきます。
一方のハードフォークとは、永続的な分岐の発生です。新旧ルールどちらのブロックチェーンもなくならないために、別の暗号資産(仮想通貨)が新たに1個生まれたような状態になります。マイナー同士の間で、新しい仕様に対する賛成派と反対派に別れると、一つのチェーンにマイナーがまとまらないために分岐が収束しないわけです。
ただし、すべてのハードフォークが必ずしもコミュニティ内の対立から生まれるわけではありません。旧ルールに致命的なバグがあるための仕様変更によってハードフォークが発生すると、チェーンが一つに収束するわけではありませんが、旧ルールがバグにより機能しない場合、新ルールのみ機能するため問題はありません。
また、アルトコインを作る際にもハードフォークが活用されます。暗号資産(仮想通貨)のソースコードはオープンにされているため、従来の暗号資産(仮想通貨)のマイニング仕様に少し手を加えれば別の暗号資産(仮想通貨)を生成できます。
今、暗号資産(仮想通貨)を始めるなら
DMMビットコイン