記事の内容
これから、Rubyでビットコインらしきモノとブロックチェーンに関する記事を連載で書いていきます。
最初は、ビットコインとブロックチェーンの概念の説明から入っていきたいと思います。
従来型の金融取引
従来の金融システムでは、AさんからBさんに送金をする場合には銀行と通す必要がありました。
AさんがBさんに送金をする場合は、必ず間に銀行が入っています。
そして、個人を判別するための鍵は、全て銀行が管理しています。
- Aさんが銀行に送金をする
- 銀行がBさんに送金をする
ブロックチェーンを使った金融取引
一方で、ブロックチェーンを使った送金の場合には、間には銀行が入りません。
Aさんは、Bさんに直接、送金をすることができます。
また、BさんはCさんに直接、送金をすることができます。
そして、鍵は各々が管理しています。
ブロックチェーンの中身
ブロックチェーンとは、どういう意味なのでしょうか?
それは「ブロック」と「チェーン」という2つの単語を一つにまとめたものです。
下記の図で言う、一つ一つの緑色ブロックが、ある計算式に基づいて繋がっています。
そのため、「ブロック」+「チェーン」で「ブロックチェーン」と呼ばれています。
ブロックの中身は、取引記録、取引をした時間、文字列、計算式の解答の4つが入っています。
その詳細な意味は、コードを書きながら次回以降に説明していきたいと思います。
マイニングとは何か?
マイニングという言葉を聞いたことがある人も多いと思うので、その意味についても説明しておきます。
マイニングとは、「ブロックを繋ぐ計算式の解答」を導くために計算をする行為のことです。
これについても、後ほどコードを見れば理解しやすいと思います。
まとめ
この記事では、ビットコインとブロックチェーンの概念について説明しました。
何をするにしても、コードを書く前に概念の理解が大事です。
プログラミングで迷った時には、常にこの図を見返すようにしましょう。
Good luck for your engineer life!