Más contenido relacionado
La actualidad más candente (20)
5分でわかるブロックチェーンの基本的な仕組み
- 1. Copyright © 2016 TIS Inc. All rights reserved.
5分でわかる
ブロックチェーンの基本的な仕組み
嶋村 亮
2016年2月17日
TIS株式会社
5分でわかる
- 26. 25データの管理方法 - Proof of Work -
000000088d3a603a6dddeba052aa0af
ハ
ッ
シ
ュ
取
引
+
新しいブロックに追加すると、0から始まるハッシュ
になるようなデータを求めなさい。
問題
計算を早く解いた参加者が配布
Notas del editor
- それでは5分でわかるブロックチェーンの基本的な仕組みについて発表したいと思います(next)
- F営1の嶋村です。(next)
- さっそく本題に入ります。(next)
- ブロックチェーンとはどういう技術かというと不正が難しい取引台帳を実現する技術になります。使い方によっては誰にとっても不正が難しい取引台帳になりますのでビットコインのような仮想通貨の取引に使われています。(next)
- ここでいう不正とは「取引の改竄」と「二重取引」になります。(next)
- では、どのようにして不正が難しい取引台帳を実現しているかというとデータ構造とデータの管理方法で実現しています。(next)
- まずはデータ構造から見ていきます。(next)
- ブロックチェーンでは一定時間内に発生した取引データをまとめてブロックにします。(next)
- このブロックには時系列で1つ前のブロックのハッシュも含めます。(next)
- ハッシュというのは元のデータを要約した短いデータです。(next)
- 元のデータを少しでも変更すると、ハッシュも変わるという特徴があります。(next)
- この特徴によって 各ブロックは時系列で1つ前のブロックとつながっていますので、(next)
- 改竄するには すべての後続ブロックの作り直しが必要になります。(next)
- 過去のブロックになるほど改竄は大変になります。(next)
- このようにブロックがつながって鎖(チェーン)のように伸びていくのでブロックチェーンと言われています。(next)
- さきほどのブロックに含まれていた取引データもつながっています。(next)
- 取引データにはハッシュに加えて公開鍵暗号という技術が使われています。これは 秘密鍵で暗号化したデータは 対応する公開鍵でしか複合化できない という特徴があります。(next)
- この特徴を用いて 新しい取引は 既存の取引に含まれる公開鍵に対応する秘密鍵を持っている人しかできない とすることで 新しい取引が有効かどうか確認ができます。(next)
- ですが、データ構造をまもらなければ不正ができるのではないか、という疑問がでてきます。(next)
- そこで次にデータの管理方法を見ていきます。(next)
- ブロックチェーンでは管理者がデータを一元管理しているわけではなくて、ネットワークの参加者が各自管理しています。そのため改竄するには各参加者のデータを改竄する必要があるため不正が難しくなっています。(next)
- 新しい取引の登録には参加者の誰かが新しいブロックを配布して、(next)
- 各参加者はブロックを検証後、問題がなければ各自データに追加します。(next)
- では、誰が新しいブロックを配布するのかというと、大きく2つの方法があります。(next)
- 1つは Proof of Work と呼ばれます。(next)
- この方法では新しいブロックに関する計算を早く解いた参加者が配布します。Bitcoinで使われています。(next)
- この方法は権利を得る計算のためだけに 多くの電気と時間が必要になる という問題があります。(next)
- その問題点の改善のために考えられたのが Proof of Stake になります。(next)
- この方法では「ブロックチェーンで取引されるコインの保有割合に応じて選ばれた参加者」が配布します。このようにして誰が配布するか決定します。(next)
- さて、新しいブロックが配布されると 各参加者は検証をします。 各参加者は過去のすべての取引データを持っていますので、新しいブロックに含まれる取引の検証ができます。二重取引もここで検知できます。検証に問題がなければ 各自、新しいブロックを登録します。(next)
- ですが まだデータが確定したわけではありません。(next)
- なぜかというと、複数の参加者が同時に計算が終わるなどによって 新しいブロックが同時に配布されることがあります。
各参加者はどちらのブロックが正しいか判断できません。
そのため、先に受け取ったほうを正とするものの両方のブロックを登録し チェーンが分岐します。(next)
- その後、あとに続くブロックが一番長いチェーンを正とします。(next)
- 正しいチェーンを決めたら ほかの分岐したチェーンは捨てられます。
仮にブロックのあとに3つブロックがつながったら正とする場合、下のチェーンが残ります。(next)
- このようなブロックの管理を各参加者が実施しています。
例えば3人の参加者のチェーンの様子を見てみるとこんなイメージです。(next)
- (next)
- ブロックが配布されてきます。(next)
- (next)
- (next)
- 3つブロックが続きましたので 1つ目のブロックは確定データになります。(next)
- 同様に、2つ目のブロックは緑のブロックが正になり、紫のチェーンは捨てられます。(next)
- 一時的に(next)
- 参加者間のデータ不整合は(next)
- ありますが(next)
- 最終的に1つのデータに収束していきます。(next)
- まとめるとブロックチェーンではこれらの仕組みで 不正が難しい取引台帳を実現しています。(next)
- 以上、簡単ですが ブロックチェーンの基本的な仕組みでした。(next)