У меня возникли проблемы с внедрением параллельных blockchain загрузки (только заголовки). Я прочитал вика назад и вперед, но не понимают:
1) Что именно блок объект локатора.
2) Как загрузить заголовки до определенного блока (в сторону генезиса блока)
Теперь я могу начать с генезиса и работать blockchain (используя 0 в hash_stop). Можно ли двигаться в противоположном направлении (от новейших блоков генеза)?
Блок локатор список блоков хэши, которые вы знаете о, начиная с головы, обратно к блоку генеза. Идея заключается в том, что удаленный компьютер может знать, какие блоки / заголовки, чтобы отправить вам. Если он установит, что ваши самые последние блоки на самом деле теперь на боковой цепи, то он будет работать в обратном направлении через блок локатора, чтобы найти блок, который находится на главной цепи, а затем отправить вам блоки оттуда далее. Если он не может найти какие-либо блоки в вашем локаторе, которые находятся на главной цепи, он будет посылать вам блоки из блока генеза.
Текущие реализации создать блок локатор примерно следующим образом,
вар я = текущая высота головки
вар размер шага = 1
в то время как я > 0) {
вставить хэш блока на высоте I
я = я - размер шага
= размер шага размер шага * 2
}
Поэтому многие более поздние блоки добавляются, и, как вы работаете назад, шаги становятся больше (из-за уменьшения вероятности все глубже и глубже реорганизацию;).
При загрузке заголовков до последней контрольной точки, вы можете просто использовать хэш последнего заголовок у вас есть как локатор, то есть только один хэш.
РЕДАКТИРОВАТЬ:
Что касается работы в обратном направлении, это не представляется возможным. Что можно, однако, Кодируют контрольные точки хэш, таким образом, вы можете загрузить заголовки между каждым контрольно-пропускной пункт отдельно включить функцию параллельной загрузки. У меня есть код, чтобы сделать именно это, но я не удосужился проверить его, чтобы увидеть, если увеличение скорости стоили по сравнению с загрузкой от одного партнера. Другие могут видеть это как пустая трата сетевых ресурсов возможно.