現在ブロックチェーンのアルゴリズムを勉強中です。コンセンサスアルゴリズムのProof of workについて、以下の理由で情報の安全性が保たれていると考えております。※悪質というのは改竄をするようなノードのことです。
①善良なノードの計算量は、悪質なノードの計算量を上回る
↓
②最初にマイニングに成功した人が善良なノードである可能性が高い
or
③仮に悪質なノードがマイニングに成功しても、継続的に悪質なノードがブロックチェーンをつなげるためには莫大な計算量が必要である
しかし、ここで③に対し疑問が生じました。たしかに、悪質なノードは全世界の善良なノードよりも計算量を上回らないと、改竄されたフォークを伸ばすことは出来ません。けれどもそれは2つの「正しいフォーク」「改竄されたフォーク」が発生し、競争状態になったときに伸ばし負けるという意味だと思ってます。
もし、偶然悪質なノードがすぐに計算を終えてしまった場合どうなるのでしょうか?
このときこの悪質なノードは全世界に対し改竄されたブロックを「他の善良なノードの計算が終わる前」に配布します。すると全世界のノードは今行っているマイニングを中断し改竄されたブロックにつなげてマイニングをしようとはしないのでしょうか?
もし、全世界のノードが同じマイニングプールを持っていれば、「俺のマイニングプールの情報を入れてもこのノンスでは条件を満たさない!これは改竄されている!」と気づくと思います。でも実際にはノード全体に情報が行き渡るまで2-3秒のラグがあると思われます。そうすると、全世界のノードが共通のマイニングプールを持つのは難しいです。
乱雑な質問ですが、回答よろしくお願い致します。
また、私の理解に間違いがあるかもしれません。ぜひ教えて下さい。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/13 11:21
2020/05/13 11:24
2020/05/13 16:13