オーファンブロック
以下のようなケースで、メインのブロックチェーンに含まれずに終わってしまったブロックのこと
ブロックチェーン上のあるノードがブロックを受け取った際にそのブロックと接続すべき親ブロックが見つからずに孤立した
親よりも先に子ブロックが到達した場合に起こる
https://gyazo.com/60ce09149026acc0623acb72385a0e30
オーファンブロックはチェーンに追加できないのでオーファンブロックプールと呼ばれる領域に保管される
後でオーファンブロックの親ブロックを受信したとき、オーファンブロックはプールから取り出されてチェーンに接続される
ブロックチェーンに追加されたものの、メインのブロックチェーンに含まれずにフォークしてしまい取り残されたブロック
同時にブロックが生成された場合に生まれる
親がいるのでStale blockと呼ばれる
https://gyazo.com/6bdb11a2a98394a78470306a50d4fe00
このとき、ブロックに含まれるトランザクションはトランザクションプールに戻され、新たに生成されるブロックに含まれることになる
同時に生まれた2つのブロックに含まれるトランザクションは90~95%同一なので、数%のトランザクションだけを再処理すればよい
Stale blockになった場合も少し待てばすべてのトランザクションが新たなブロックに回収され、メインチェーンに追加される
ohbarye.icon トランザクションが矛盾するような事態は起きないのだろうか?
https://www.youtube.com/watch?v=MsdW0CTYwyY
画像は図解即戦力 ブロックチェーンのしくみと開発がこれ1冊でしっかりわかる教科書より