読者です 読者をやめる 読者になる 読者になる

webプロダクトいんふぉ

webの気になった情報を発信中!!

Ethereumについて学んでみる

Ethereum(イーサリアム)ってなに?

Etherreumはそもそも分散アプリケーションのためのプラットフォームです。(公式サイト)

分散アプリケーションと中央管理型

gitなどのバージョン管理システムでも、中央管理型と分離型とありますが、それと似たようなものです。

f:id:front-end-engineer:20160712113646p:plain

※中央管理型

具体例としては、インスタにアップロードした画像データはFacebook(開発元)が中央で一元管理することにより、サービスが成り立っています。これらのサービスを運営するにあたって、中央で管理するシステムが必須でした。

中央管理型の欠点として良く言われるのが、

・中央管理システムが何かしらの理由で機能しなくなったり、障害が発生した場合のデータ消失などのリスクが大きい

・私的企業が一手に個々のデータを握ることはプライバシーの観点から好ましくない

そこで、Ethereumは「ブロックチェーン」と呼ばれる技術を用いて、特別な管理者のいらないP2P※システム上で、様々なサービス(仮想通貨を扱ったりなど)を実現するためのプラットフォームを提供するものです。

※対等な関係にある端末間を相互に直接接続し、データを送受信する通信方式。Facebookのメッセなど

どういうことかというと、Facebookといったような、中央で管理する機関(企業)を必要とせずに同様のサービスを実現できるプラットフォームを提供します。

ブロックチェーンとは?

ブロックチェーンの技術を一言でいうと、「不正が難しい取引台帳」です。

ここでいう不正は、取引の改ざんや二重取引などです。

仮想通貨のビットコインを使って説明していきます。

f:id:front-end-engineer:20160712142103j:plain※取引改ざん

f:id:front-end-engineer:20160712142159j:plain※二重取引

二重取引のようにAさんが10コインを持っていると仮定して、Bさんに5コインを送金し、Cさんに2コイン送金したとします。

取引内容としては下記のようになり、取引を1つ1つ管理せずに、1つのまとまり(ブロック)として管理します。まとめ方は一定時間内に発生した取引毎です。

・取引:A→B

・取引:A→C

さらに、このブロックにハッシュを付与します。

※ハッシュ:メッセージを特定するための暗号化技術

・取引:A→B  ハッシュ

・取引:A→C

一定時間を過ぎた後に新たな取引があった場合には新規にブロックを生成します。

では、BさんからCさんへ送金・CさんからAさんへ送金があったとします。

・取引:B→C  ハッシュ

・取引:C→A

 この時(新規ブロックを生成時)に、ひとつ前のブロックのハッシュも含めます

ただし、ハッシュはブロックごとに異なります(当たり前ですが)。

この関係により各ブロックは時系列でつながります。

・取引:A→B  ハッシュ

・取引:A→C

 ↓

・取引:B→C  ハッシュ

・取引:C→A

 改ざんするには後続にあるブロックも改ざんしていく必要があります。

そうしないと整合性がとれないからです。

ブロックがどんどん鎖のようにつながっていく様子からブロックチェーンと名づけられました。

上記では「データ構造」について説明してきましたが、実はブロックチェーンにはもう一つ重要な仕組みがあります。それは「データの管理方法」です。

ブロックチェーンは、「データ構造」と「データの管理方法」で成り立ってます。

 次回はデータの管理方法について見て行きます。