Когда пара блоков осиротели, я полагаю, произойдет следующее.
Может кто-то проверить это правильно? (Kind'a трудно проверить).
Скажем, есть два-блок вилка:
291873
^
|
291872
^
|
291871 291871
^ ^
| |
291870 291870
^ ^
| /
291869
^
|
291868
И Bitcoin кошелек пошел вниз по правой стороне (неправильную) вилки до 291872, а затем отскочил назад. Это поведение было бы:
а) До осиротением, getblockhash возвращает один набор хэшей для блоков на этой высоте:
getblockhash 291869
00000000000000004674e91dd6efeac7255d1de13fadc55261241dcb6d8397b5
getblockhash 291870
0000000000000000e8033afc5dfad298a95c73cbe7bc11186c7544460c007fde
getblockhash 291871
000000000000000079557def76dddcd2c93da1b66c4371a714223bdb6c5d7ae4
б) После того, как сирота цепь обнаружена и устранена, эти высоты блока значение теперь будет отображаться в различные хеши. Например.:
getblockhash 291869
00000000000000004674e91dd6efeac7255d1de13fadc55261241dcb6d8397b5 // все такой же
getblockhash 291870
0000000000000000419cfd8ed2fc0e919c1cdb20f4fb009a4a19fdd7a20d5961 // новый хэш
getblockhash 291871
0000000000000000a2185dc7779f93831925909cb489e8e7a9d007beee0cc619 // новый хэш
и после этого момента, жизнь будет хорошо. getblockhash 291872 возвращает новый действующий хэш от основной цепи и т.д.
в) В предыдущих хешах все еще будут использоваться для извлечения информации осиротевшего блока непосредственно (например, через getblock), но getblockhash будет возвращать другой блок на этой высоту.
d) Поскольку бумажник отскочила к главной цепи, нет другого пути, чтобы перечислить эти осиротевшие цепи снова, если вы не следили за ним, пока все это происходило, и нацарапал прочь их хэши.