【第4回】管理者がいないのに誰が計算問題を出題する?

このエントリーをはてなブックマークに追加
Pocket

前回の初級編の読者様からの質問の中で
最も多かった質問・・・


それは、
「ビットコインは管理者がいないのに、誰が問題を出題するの?」
という質問です。


これは考えてみると、
核心をついた質問です。


例えば、仮に
特定の誰かが出題をしているとしましょう。


計算問題を一番早く解いた人が、
承認作業に参加し、
ビットコインを報酬として貰えるので、、、


出題者が
「自分にとって解答しやすい計算問題」
を意図的に作成する事も可能です。


もしくは、


事前に計算問題を仲間にリークして、
仲間うちで問題を解かせる 


というような不正もいくらでも可能です。


このように、
特定の人に出題権限を与えていれば、
ビットコインはその権限を持っている人のもの
と言っても過言ではありません。


しかし、ビットコインは、
“管理者のいないシステム”ですから、
誰も出題の権限を持っていません。


計算問題も自動で出題されます。


ではどのように
問題が出題されるのでしょうか?


結論から言ってしまえば、


計算問題は、


1つ前のブロックの値から自動的に生成される


です。



この説明だけでは、「???」ですね。


前回の講座で、
「ブロック」という考え方を説明しました。


ブロックに関しては、


約10分の間に発生した送金を
1まとまりにしてブロックと呼び、
この単位で「承認作業」が行われる。


というお話でした。



さて、このブロックの中では、
様々な情報が数値で管理されています。


・承認する送金の数
・各送金の送金額
・送金が発生した時間
・前回計算問題が解かれた時間


などなどです。


こういった複数の数値情報を
一定の方法で合体させたり、
組み合わせてたりして、
1つの大きな数字を作ります。


イメージとしては、


・送金額が20BTCで、
・送金時刻が11時11分11秒
 の数字があって、その2つを組み合わせて、
 「20111111」という数字を作りました


という感じでOKです。


これが次の計算問題を作る種になります。


まだ分かりにくいですね^^;


ブロックの話も含めて
一度整理してみます。


1)前の承認者の承認作業が終わる

2)前のブロックの各数字情報を組み合わせて、
  計算問題の種を作る

3)計算問題の種から、
  自動的に計算問題が作られる

4)新しい計算問題が解かれる

5)承認作業を行う(新しいブロックができる)


とこんな感じです。


計算問題の型はあらかじめ用意されています。


そこに計算問題の種を入れれば、
計算問題が出題されるようになっています。


ここでポイントなのは、


その計算問題の種は、
1つ前に承認した送金の情報(ブロック)


を元に作成されるという事です。


ですので、


1つ前のブロックの承認が終わり次第、
すぐに次の計算問題が自動的に
作成されます。


イメージ湧きますか。。。?
少し難しくなってきましたね。


一言で言ってしまえば、

ーーーーーーーーー
今出題されている計算問題は、


その前の10分間に行われた送金に関する数値をもとに
作られている!!!


という事です。
ーーーーーーーーー

ですので、


誰も操作ができませんし、
自動で作成されるため、
次の問題を予想する事もできません。


全て自動です。


これが
管理者が誰もいないビットコインで、
計算問題が出題され続ける仕組みなのです。。。


少し難しいですかね^^;


今回は難しい内容でしたので、
次回は軽めにいきますね。。。


ということで、


次回もまた
一歩ずつ前に踏み出していきましょう^^

Comments are closed.