pythonでブロックチェーン -ブロックチェーンとは-
ビットコインの登場によってその知名度が広がったブロックチェーンですが、そもそもなぜビットコインはブロックチェーンの技術を導入したのか。
それは、ブロックチェーンの技術を用いることでビットコイン分散台帳による取引管理を実現できるからだ。
今までのリアルな通貨は中央管理によって通貨を一元管理しています。この中央管理自体が多大なコストを伴い、結局通貨は国単位でしか管理出来ないというのがビットコイン登場以前の状況でした。
しかし、ブロックチェーンによる分散型台帳技術を用いれば、全ての取引情報を中央ではなく、全員で共有/管理することが可能となりました。
さらには、取引内容の改ざんが難しく、かつ、改ざんを容易に検出することが可能となります。
ブロックチェーンの仕組み自体は実は簡単に実装することが出来ます。
ブロックチェーンの実装方法
ブロックチェーンには基本的に以下の内容を使用します。例えばある通貨の取引をブロックチェーンによって管理する場合。
誰から誰に送ったのか、そしてその金額
いわゆる取引内容。上記に加え、インデックス、タイムスタンプ、プルーフ、一回前の取引ブロックのハッシュ
これらを一つのブロックとして扱い、取引が行われるたびにブロックが増えていき、ブロックには前回取引のハッシュが含まれているので、
ブロックとブロックとがチェーンのように結びつくため、改ざんが難しい(ほぼ無理)とされています。
たとえ、一取引の改ざんに成功したとしても、そこから生成されるハッシュ値が異なるため、次のブロックのハッシュ値も書き換えなくてはなりません。
取引はリアルタイムでどんどんブロックが増えていくので、その次のブロック、その次のブロック….と永遠に発生するブロックの改ざんをしていく必要が発生するため、事実上、改ざんは不可能とされています。