В справочнике клиент использует "Заголовки-первая",
Каждый заголовок 80 байт, и есть 385K из них. Это дает около 30Мб данных для заголовков.
Цепь заголовка должна быть загружена в серии. Но как только вы загрузили цепочку заголовка 30MB от одного партнера, ваш узел имеет заголовки для всех блоков, которые необходимо загрузить.
Вы можете задать каждый узел для другого блока. Это параллельно так же, как BitTorrent. Каждый узел передает вам блоки, и вы можете убедиться, что они соответствуют заголовку. Если узел занимает много времени, чтобы отправить вам блок, то вы отключиться от этого узла и задать другой узел для блока.
После того, как они цепь были загружены, ваш узел, то просто загружает каждый новый блок из любого узла (ов) уведомляет его о блоке.
игуана делает параллельные синхронизации, аналогичные приведенные выше, твердая часть обрабатывает все данные со скоростью сети. В настоящее время я завершаю полный blockchain скачать примерно за 12 минут, но это занимает около получаса, чтобы закончить обработку. Я создаю набор предназначенные только для чтения-файлов из жгутов блоков, что означает, что они могут быть помещены в сжатую файловую систему, т.е. с SquashFS. Я оцениваю общий HDD должен был быть около 20GB, хотя, вероятно, 30GB необходим во время пика использования синхронизации, как существует очередь необработанных данных.
Раньше я думал, blockchain размер был неотложный вопрос, но с параллельной синхронизацией и соединения 1Gbps, оно не и привычка быть довольно долгое время. Обработка этого почти все полностью параллельно, так что даже как blockchain увеличивается в размерах время для полной синхронизации очень близка к линейной.
Стоимость является то, что время, чтобы получить баланс счета будет расти линейно с течением времени также, но всегда можно создать еще один слой данных поверх исходных данных. В настоящее время я непосредственно создавать структуры данных, которые могут быть использованы для всех учетных записей запросов необходим.
Джеймс