Реальная история.
Мы предлагаем стратегию масштабирования Bitcoin в гораздо большей пропускной способности и производительности, чем на сегодняшний день, сохраняя при этом риск централизации и расходов к минимуму. Для достижения этой цели мы уменьшаем задержку проверки блока с дифф блоками, распараллеливание проверки транзакции, позволяет UTXO шардинг с высотой входного блока транзакции аннотацией, и развернуть серию блоков расширения для устойчивого увеличения пропускной способности.
Скачать Техническое описание:
https://github.com/goodsamaritan9000/scalingbitcoin/raw/master/Bitcoin9000.pdfНицца!
Игуана Bitcoin ядра реализует параллельную загрузку, где подавляющее большинство данных идет в считанные только файлы. Это позволяет избежать необходимости в БД, а также позволяет им быть помещены в сжатую файловую систему VI mksquashfs. При обработке данных в нескольких этапах, можно транслировать данные на полосы пропускания уровней насыщенности. Я не вижу каких-либо узких мест, пока она не превышает 500 Mbps. Параллельная загрузка может получить от 70 до 120 мегабайт / сек, что в 12 минут для всех 60GB blockchain.
Используя 8 ядер всех структур данных создаются параллельно с хэш-таблицей и цветением фильтрами, встроенной в считанных только файлы. Я вижу около получаса времени, чтобы добраться туда, где все готовы последним проход. Последний проход делает окончательную обработку, которая необходима.
Таким образом, параллельная обработка несколько похожа на то, что вы пишете, уже функционирующий проект, и это приводит к удалению узких мест в БДЕ, ориентированные подходы понесут. Единственное, что изменения в прошлом это состояние unspents, но это кодируется в 6 байт в неизрасходованного путем присвоения детерминированный 32-битного целого числа в каждой из высоких хешей энтропии. Таким образом, чистый результат является относительно компактным набором utxo. Даже затрачивает данные могут быть обработаны параллельно, как только будут загружены все блоки и создать вектор обновлений для unspents. По or'ing вместе эти векторы, он создает текущий набор unspents относительно быстро.
Обыски с использованием пучков только для чтения может быть сделано параллельно, но я вижу времена около 2 мс для эквивалента операции importprivkey на 1.4GHz i5 ноутбук просто последовательно обработки параллельных файлов.
Джеймс