Биткоин core что такое обработка блоков на диске в 2019 году

Главная страница » Вопросы »

Недавно в комментариях к статье Bitcoin долгая синхронизация кошелька у меня спросили как быть, если жесткий диск маленького размера и весь блокчейн биткоина (а он уже больше 110Гб) не помещается?

Тут я вспомнил, что недавно вышла новая версия Bitcoin Core 0.14.0, которая содержит ряд улучшений.

Улучшена производительность IBD

Одним из главных нововведений релиза стало улучшение производительности начальной загрузки блоков (IBD). Узел, запущенный в первый раз, теперь может проверять все блоки гораздо быстрее. Подобное нововведение было необходимо из-за постоянно возрастающего размера блокчейна. Теперь пользователи могут не хранить весь блокчейн, который сейчас имеет размер более 110 Гб – достаточно иметь его урезанную версию с минимальным размером в 550 Мб.

В предыдущих версиях была предусмотрена обрезка блокчейна до 2 Гб и хранением блоков примерно за две недели. Теперь даже полные узлы могут только обрабатывать блоки, но не хранить их, записывая изменение балансов адресов в таблицу UTXO (неистраченных выходов). Несмотря на некоторые уступки в плане безопасности, такой механизм значительно ускоряет работу кошелька и снижает требования к аппаратным ресурсам.

Ускоренная проверка новых блоков

Это нововведение особенно порадует майнеров. Для многоядерных процессов был обновлен кэш подписей – тест, проведенный на системе с 16 ядрами показал 40% увеличение скорости обработки нового блока. Внедрение функции BIP152 Compact Blocks позволит передавать некоторые блоки еще до того, как они были полностью подтверждены, позволяя этим блокам быстрее чем раньше распространяться по сети peer-to-peer (P2P).

Код для обмена данными в сети P2P также был реорганизован, чтобы позволить нескольким действиям выполняться одновременно, а также увеличить пропускную способность, устраняя потенциальные задержки в обработке новых блоков. Помимо этого, неподтверждённые транзакции в памяти узла (mempool) теперь могут быть сохранены и восстановлены с диска при перезапуске Bitcoin Core.

Обновленный расчет комиссий

Кошелек Bitcoin Core теперь позволяет пользователям при желании отправлять транзакции при помощи функции replace-by-fee (RBF). Это значит, что пользователь может увеличить комиссию за транзакцию даже после того, как была отправлена в сеть более ранняя версия транзакции. Данная функция не включена по умолчанию. Разработчики надеются, что это нововведение побудит майнеров к более быстрой обработке новых версий транзакций.

Помимо перечисленных основных изменений, существуют также и другие нововведения — возможность включения и выключения сетевой активности, новый эффективный метод импорта множественных ключей или адресов watch only, а также новые предупреждения и сообщения, информирующие пользователей о правильном использовании продукта.

Разработчики Bitcoin Core позаботились о людях, которых хотят использовать оригинальный кошелек для биткоинов, однако при этом не имеют большого быстрого диска.

Уменьшаем необходимое место на диске для клиента Bitcoin

Для того чтобы использовать усеченный блокчейн нужно использовать опцию -prune=600

Указывать опцию prune необходимо при старте bitcoin-qt.exe , для этого можно создать ярлык для запуска кошелька и в строке Объект в свойствах ярлыка дописать опцию.

Выглядеть это будет примерно так

C:\Data\bitcoin-0.14.0\bin\bitcoin-qt.exe -datadir=store -prune=600

В данном случае я использую две опции при запуске Bitcoin wallet:

Читайте также:  Как установить кошелек Биткоин на windows

-datadir=store эта опция говорит кошельку, что блокчейн и wallet.dat находится в подкаталоге store каталога программы, вы можете не указывать эту опцию, и каталог с базой данных транзакций и файлом кошелька будет размещаться по-умолчанию в C:\Users\[имя вашего пользователя в Windows]\AppData\Roaming\Bitcoin

-prune=600 — Уменьшить размер хранилища за счёт обрезания (удаления) старых блоков. Будет разрешён вызов RPC метода pruneblockchain для удаления определённых блоков и разрешено автоматическое обрезание старых блоков, если указан целевой размер в Мб. Этот режим несовместим с -txindex и -rescan. Внимание: переключение этой опции обратно потребует полной загрузки цепи блоков. (по умолчанию: 0 = отключить обрезание блоков, 1 = разрешить ручное обрезание через RPC, >550 = автоматически обрезать файлы блоков, чтобы они были меньше указанного размера в Мб)

Смотрим help по командам, запускаем bitcoin-qt.exe /help . Получаем список опций командой строки Bitcoin Core
Из справки становится понятно, что можно указывать минимальное значение prune=551.

Создаем ярлык для запуска Bitcoin Core c опциями datadir и prune и их значениями:

Рекомендуется запускать полный узел, чтобы поддерживать Bitcoin и децентрализацию системы. Это не только помогает сети, но и приносит пользу участнику блокчейна.

Но с таким огромным размером файла blockchain запустить полный узел рядовому участнику цепи практически невозможно.

Есть легкие кошельки SPV, мобильные и аппаратные кошельки, но ничто не сравнится с основным кошельком. Но огромный недостаток запуска основного кошелька — это его требования к дисковому пространству и пропускной способности.

Текущий размер блока Биткоинов — более 200 ГБ – он настолько огромен, что не все готовы выделить такое огромное пространство.

Чтобы снизить требования к хранилищу, существует функция, называемая режимом обрезки. С помощью этой опции пользователи могут запускать основной кошелек, не беспокоясь о дисковой памяти.

Сегодня мы расскажем вам, как уменьшить размер блока кошелька Bitcoin с помощью команды обрезки.

Данные блока Bitcoin содержат всю историю транзакций со дня создания Биткойна до сегодняшнего дня. С размером блока 1 МБ и временем блокировки 10 минут размер цепи растет все больше и больше. Следовательно, емкость хранилища, необходимая для запуска полного узла, будет только возрастать в будущем.

Чтобы преодолеть эту проблему, основная команда Bitcoin выпустила функцию в версии 0.11.0, называемую обрезкой файлов блока.

Обрезка блоков позволяет запускать меньшую версию полной блок-цепи. Функция «обрезает» блоки, удаляя старые данные, которые больше не требуются при загрузке последней блок-цепи.

Запуск кошелька в черновом режиме просто отбрасывает предыдущую транзакцию и историю старой цепи, которая, в свою очередь, экономит дисковое пространство.

Вот несколько вещей, которые следует отметить перед тем, как вы начнете и включите режим обрезки своего биткойн-кошелька:

  • Режим обрезки не уменьшит безопасность вашего кошелька. Это то же самое, что работать с полным узловым кошельком.
  • Как только этот режим включен, вы не сможете выполнить повторный просмотр своего кошелька, так как он требует, чтобы вы снова загрузили блок-цепочку. Запуск бумажник в обрезанной режиме несовместима с –rescan и-txindex
  • Обрезка блока занимает всего несколько минут. Но помните, что это билет в один конец. Если вы когда-нибудь решите снова использовать полный узел, вам придется повторно загрузить всю цепочку.
  • Поскольку такие файлы, как состояние цепочки и база данных индекса блоков, нуждаются в некоторой памяти, общий объем потребляемого дискового пространства превысит целевой объект обрезки; но не намного.
  • По умолчанию Обрезка блока отключена, и ее легко включить. Но помните, что после включения нет другого ярлыка, чтобы вернуть этот параметр. Единственный способ — снова загрузить всю цепочку.
  • Также обратите внимание, что обрезка занимает ресурсы центрального процессора и больше подвергает риску ваш жесткий диск, поскольку он должен одновременно читать, записывать и удалять файлы . Поэтому во время этого процесса убедитесь, что вы не запускаете какое-либо другое интенсивное приложение, особенно если на вашем ПК не хватает установлено устаревшее железо.

Читайте также:  Как в телеграмме создать Биткоин

Далее давайте посмотрим как сохранить дисковое пространство, включив режим обрезки.

Команда, необходимая для уменьшения размера хранилища, — это «prune=N», где N — целевой размер в MiB, который вы хотите разрешить.

«prune=0» — Отключает режим обрезки «prune=1» — Позволяет ручную обрезку через RPC

«prune=550» — Автоматически удаляет предыдущие файлы блоков, чтобы оставаться ниже этого целевого размера.

Выполните следующие шаги, чтобы включить режим обрезки в базовом кошельке Bitcoin.

  1. Сначала найдите файл конфигурации вашего кошелька. Если вы не найдете файл bitcoin.conf в своем каталоге Bitcoin, то создайте его.
  2. Откройте кошелек, перейдите в настройки >> параметры и щелкните файл открытой конфигурации.

Конфигурационный файл чаще всего будет пустым. Теперь закройте свой кошелек, а в файле конфигурации введите следующее: «prune=550»

Примечание. Это может быть 550, 1000, 2000, 10000, 20000 или любое значение по вашему усмотрению. Но 550 — минимальное рекомендуемое значение, и настройка чего-либо ниже не будет работать. Он должен быть > = 550. Например, если вы хотите установить 5 GB размер блока, вы можете установить «prune=5000».

Готово! Теперь ваш кошелек находится в черновом режиме. Вместо использования 200 + ГБ ваш кошелек будет использовать только указанное значение, но, как мы уже говорили, оно может немного превысить это значение.

Вместо того, чтобы устанавливать это в файле конфигурации, вы также можете добавить параметр запуска, подобный этому «-prune=550».

«C:\Users\имя_пользователя\AppData\Roaming\Bitcoin\bitcoin-qt.exe» -prune = 550

Замечательно, что режим обрезки позволяет управлять основным кошельком Биткоин в ограниченном пространстве на жестком диске.

Но реальный вопрос: «Нужно ли мне загружать целую блок-цепочку для вступления в режим обрезки?» или «Будет загружен только набор последних блоков до тех пор, пока указанный размер не будет выполнен?».

Это общие вопросы пользователей, где их пропускная способность ограничена провайдером. В то время как режим обрезки помогает экономить дисковое пространство, он по-прежнему потребляет много трафика.

Да, если вы впервые используете кошелек и синхронизируете узел с нуля, вам придется загрузить целую цепочку. Мы знаем, что загрузка всей истории транзакций не будет работать для многих пользователей, у которых медленная скорость интернета и ежемесячные платежи провайдеру. Для таких пользователей единственным вариантом является загрузка блокчейна из неподключенного Интернет-соединения и копирование его на диск кошелька.

«Что делать, если я могу загрузить весь блокчейн, так как мой трафик не ограничен, но у меня меньше 50 ГБ памяти. Заполнится ли пространство на диске, загружая 200 ГБ данных до того, как обрезка вступит в силу?» Вам не нужно беспокоиться об этом: когда ваш кошелек находится в режиме обрезки, он автоматически удалит все старые данные, пока загружаются новые блоки. Так что технически это не займет больше места на диске, чем вы указали.

Также есть неправильное представление о том, что обрезка блокчейна ускорит процесс синхронизации. Нет, он не будет синхронизировать ваш блокчейн быстрее. Это уменьшит требования к хранению.

Итак, каков самый быстрый способ синхронизации блока?

Синхронизация биткойн-кошелька была улучшена за эти годы, и загрузка блокчейна через сеть значительно быстрее, поэтому не ищите прямые ссылки для скачивания или торрент-ссылки.

Также обратите внимание, что загрузка целой блок-цепи или обрезанной блок-цепи из Интернета настоятельно не рекомендуется. Это небезопасно, поэтому будьте осторожны, чтобы не загружать такие файлы из ненадежного источника.

Однако вы все равно можете найти кого-то, кому вы можете доверять. Например, можно получить копию blockchain с компьютера вашего друга, перенести его на USB-накопитель, загрузить его на свой компьютер и синхронизировать.

Он также работает, если они уже обрезали блок-цепочку. Если вы не можете найти доверенного лица или источник и беспокоитесь о трафике, то кошелек Electrum является идеальным решением для вас.

Надеемся, что это руководство вам поможет. Если у вас есть какие-либо вопросы относительно обрезки блок-цепи Биткойн кошелька, пожалуйста, задайте их в разделе «комментарии».

Альтернативный вариант, если вы также переместите свой файл bitcoin.conf — это найти и отредактировать каждый ярлык, запускающий любой процесс Bitcoin Core, где бы он ни находился (и любые новые, которые вы делаете), и добавлять следующее, включая каждый раз, когда вы вводите его в командной строке -datadir= .

Примечание. Если проблема связана с объемом памяти, вы также можете включить опцию удаления; введите prune=551> в свой bitcoin.conf . Количество в МБ.

Сначала это не сработало, потому что некоторые дистрибутивы Linux не любят создавать символическую ссылку с именем «.bitcoin».

Я создал символическую ссылку с именем «test» в своем домашнем каталоге, а затем переименовал ее в «.bitcoin»

Используя bitcoin-qt в Xubuntu12.04, это не сработало:

  • вышел биткойн-кт
  • переместил «.bitcoin» в другой раздел

создал действительную символическую ссылку на нее с именем «тест»

Читайте далее:

  • Как запустить Биткоин кошелек из командной строки
  • Как восстановить Биткоин коре кошелек из резервной копии
  • Как восстановить Биткоины из первых программ
  • Как перенести Биткоин кошелек с одного сервиса на другой
  • Как установить Биткоин кошелек на внешний диск

rating_off-5643137rating_off-5643137rating_off-5643137rating_off-5643137rating_off-5643137 (Пока оценок нет)
loading-5169562 Загрузка…

Оцените статью
Биткоин Блог / и всё о Биткоине