BITCOIN CORE

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

Скачать Bitcoin Core:

  • https://bitcoincore.org/

К его основным преимуществам можно отнести:

  • Высокий уровень безопасности. Потеря денег возможна только в случае передачи ключа третьим лицам или проникновению в компьютер вируса.
  • Хранение ключей доступа непосредственно на пользовательском ПК – нет передачи их на сторонние серверы.

Плюсы:

  • Для доступа к основным функциям не нужна сложная настройка.
  • Возможность использовать кошелек на компьютерах, работающих на всех основных операционных системах (Linux, Windows, MacOS).
  • На официальном сервисе в первую очередь внедряются все обновления.
  • Есть возможность “холодного” хранения валюты (оффлайн). Что позволяет гарантировать полную защиту от хакерских атак и других недружественных действий. Но за такие удобства необходимо платить.

Недостатки:

  • Чтобы не обращаться на сторонние сервера за информацией, необходимо скачать в свой компьютер весь blockchain. Для этого придется подготовить на жестком диске около 150-200 Гб памяти.
  • Синхронизация установленного блокчейна с сетью может занять около суток времени и даже больше. При этом ускорить процесс загрузки Bitcoin Core можно, лишь подключившись к высокоскоростному интернету.
  • Для проведения любой транзакции придется пользоваться своим десктопным компьютером, мобильный вариант исключается.

Установка и начало работы с Bitcoin Core

Первым делом необходимо скачать последнюю версию приложения, подходящую под установленную на компьютере пользователя операционную систему. Затем нужно произвести установку скачанного ПО в любое удобное место (по умолчанию — C:/Program Files/Bitcoin).

При первом запуске приложения нужно будет указать путь для хранения блокчейна и файла с кошельком пользователя. Это может быть как предложенная по умолчанию папка, так и любая другая. Обязательное условие при этом — расположение в разделе жесткого диска с не менее, чем 250-300 Гб свободного места (на момент написания этого материала). Мы рекомендуем выделить для этого отдельный жесткий диск с памятью порядка 500 гб.

Рекомендуется, чтобы кроме указанного в окне приложения актуального размера блокчейна, присутствовало еще хотя бы 20–30 резервных гигабайт места. Это нужно для обеспечения бесперебойной работы Bitcoin Core на ближайшее время, так как вес сети стабильно увеличивается (примерно на 150 Мб каждый день).

После этого автоматически начнется синхронизация клиента кошелька с сетью. Как правило, этот процесс занимает не менее нескольких дней. Все зависит от скорости интернет-соединения, загруженности компьютера различными задачами и времени его пребывания онлайн. В идеале после первого запуска Bitcoin Core оставить ПК включенным до завершения синхронизации. Если же вместо этого активно использовать компьютер и периодически отключать его от сети, загрузка блокчейна может растянуться на неделю, а то и больше.

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

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

После завершения загрузки можно начинать использовать Bitcoin Core как биткоин-кошелек и/или ноду, предварительно произведя необходимые настройки.

Настройка Bitcoin Core

се доступные для изменения параметры Bitcoin Core находятся в меню «Настройки/Опции»:

  • Главные — на этой вкладке можно настроить автозапуск приложения при старте системы, изменить установленный по умолчанию кэш базы данных, а также воспользоваться функцией сокращения хранимого блокчейна до нескольких гигабайт (после полной синхронизации для работы кошелька по факту нужны лишь последние 551 блоки).
Настройки Bitcoin Core: Главные
  • Кошелек — здесь всего две опции, позволяющие включить управление монетами и использование в исходящих транзакциях входов, которые еще не подтверждены.
Настройки Bitcoin Core: Кошелек
  • Сеть — для нормального функционирования приложения в качестве ноды и синхронизации с сетью в этом разделе обязательно должна стоять галочка в строке «Разрешить входящие соединения». Остальные настройки опциональны и могут использоваться в случае проблем с доступом к блокчейну биткоина или же для повышения конфиденциальности.
Настройки Bitcoin Core: Сеть
  • Окно — здесь настраиваются правила сворачивания приложения и отображения его в системном трее.
Настройки Bitcoin Core: Окно
  • Отображение — в этой вкладке можно изменить локализацию приложения через выпадающее меню «Язык пользовательского интерфейса». В строке «Отображать суммы в единицах» имеется возможность установки отображения баланса и деталей транзакций в одном из вариантов: BTC (биткоин), mBTC (миллибиткоин), µBTC (микробиткоин) или satoshi (сатоши). Также здесь присутствует поле для указания стороннего эксплорера, чтобы в описании транзакций в кошельке отображались ссылки для их просмотра через браузер.
Настройки Bitcoin Core: Отображение

Все перечисленные настройки и различные дополнительные команды для Bitcoin Core могут производиться через Консоль, которая запускается одноименным пунктом из меню «Окно». Этим инструментом, как правило, пользуются продвинутые пользователи и разработчики. Полный список доступных команд можно просмотреть через меню «Помощь/Опции командной строки».

Список команд для командной строки Bitcoin Core

Использование Bitcoin Core

При запуске Bitcoin Core по умолчанию всегда открывается вкладка «Обзор», в которой виден баланс бумажника (доступный, в ожидающих переводах и общий), а также список последних транзакций по отправке или получению средств пользователем. Более подробный список операций с участием текущего кошелька доступен на вкладке «Транзакции».

Обзор баланса и последних транзакций в Bitcoin Core

Перед началом работы с кошельком первым делом рекомендуется зашифровать его с помощью надежного пароля. Делается это через меню «Настройки/Зашифровать кошелек». При этом желательно обратить внимание на предупреждение программы о том, что если пользователь забудет пароль, то навсегда потеряет свои биткоины. Эту комбинацию нужно будет вводить каждый раз при разблокировании кошелька и отправке транзакций. Поэтому важно сохранить ее в надежном месте.

Процесс шифрования кошелька через Bitcoin Core

При необходимости пароль можно изменить через соответствующий пункт в меню «Настройки». Остальные этапы взаимодействия с кошельком рассмотрим более подробно.

Создание адресов и получение платежей Bitcoin Core

Чтобы создать новый BTC-адрес (публичный ключ) в Bitcoin Core, нужно воспользоваться функцией «Получить». В открывшемся окне можно указать название для нового кошелька (поле «Метка»), чтобы было легче отличить его от других. Оно будет видно только текущему пользователю внутри приложения. В поле «Количество» можно указать сумму в случае, если адрес создается для запроса от кого-то платежа конкретного размера.

Также в форме генерации нового кошелька имеется опция «Создать родной segwit (bench32) адрес». Если отметить ее галочкой, новый адрес можно будет использовать в транзакциях на базе технологии SegWit. Это значит, что они будут проходить быстрее и с более дешевой комиссией, по сравнению с использованием более старых стандартов legacy и p2sh.

В поле «Сообщение» можно вписать послание для человека, которому будет отправлен запрос на платеж. Все перечисленные параметры опциональны, т.е. использовать их не обязательно. Кнопку «Запросить платеж» можно нажимать, как с заполненными полями, так и без них.

Создание нового BTC-адреса через Bitcoin Core

После этого открывается окно с QR-кодом, в котором будет зашифрован адрес созданного кошелька. Если перед этим было указано количество монет, при расшифровке QR-кода сумма отправки на стороне потенциального отправителя автоматически установится на указанную получателем цифру.

Детали нового BTC-адреса, созданного под определенный платеж

Также новый адрес и сопутствующие данные будут отображены под QR-кодом в текстовом формате и в виде URI — гиперссылки, которую можно открывать на других компьютерах с установленным клиентом Bitcoin Core через меню «Файл/Открыть URI…».

После создания все новые кошельки попадают в «Историю платежных запросов», где их можно просматривать и при необходимости удалять. Но как только на какой-либо из них поступит перевод, он сразу же исчезнет из этого списка. Это сделано для безопасности, чтобы пользователи Bitcoin Core каждый раз для получения платежей использовали новые адреса. Правда просмотреть и повторно использовать такие кошельки все же можно — через меню «Окно/Адреса для получения».

Список адресов, использованных для получения платежей через Bitcoin Core

Отправка транзакций через Bitcoin Core

Чтобы воспользоваться функцией отправки платежей, нужно перейти на вкладку «Отправить» и заполнить отобразившуюся при этом форму. В строке «Заплатить» указывается адрес получателя перевода. Можно вставить его вручную или выбрать из списка ранее использованных. Поле метка заполняется произвольным обозначением, под которым адрес получателя в дальнейшем будет добавлен в упомянутый список (доступен к просмотру через меню «Окно/Адреса для отправлений»).

В поле «Количество» вводится сумма перевода. Рядом с ним присутствует опция «Вычесть комиссию из суммы». При установке здесь галочки, комиссионные отчисления за проведение транзакции будут вычтены из количества отправленных монет. Следовательно, к получателю дойдет немного уменьшенная сумма. Чтобы комиссия не затронула пересылаемое количество биткоинов, галочку ставить не стоит. Если нажать кнопку «Использовать доступный баланс», сумма платежа будет автоматически установлена соответственно количеству доступных монет в кошельке.

Следующий раздел в форме подготовки исходящей транзакции посвящен настройке комиссии. Здесь можно воспользоваться опцией «Рекомендованное значение». В этом случае размер комиссионных будет автоматически установлен на рассчитанное системой значение в зависимости от текущей загруженности сети и ожидаемого времени подтверждения (выбирается в соответствующем выпадающем меню).

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

Следующая опция, которая называется «Включить Replace-by-fee», используется для обеспечения возможности увеличения комиссии и ускорения транзакции в случае ее зависания в мемпуле.

Также на этом этапе можно воспользоваться кнопкой «Добавить получателя», чтобы увеличить количество адресатов исходящего платежа. Появившиеся при этом поля заполняются аналогично вышеописанным шагам.

На этом оформление исходящей транзакции можно считать завершенным. Остается лишь нажать «Отправить» и подтвердить свое намерение с помощью пароля, которым зашифрован кошелек.

Отправка транзакции через Bitcoin Core

Резервное копирование кошелька и извлечение приватных ключей

Создать резервную копию кошелька в Bitcoin Core можно с помощью одноименной функции из меню «Файл». При этом приложение попросит указать путь для ее сохранения.

Создание резервной копии кошелька в Bitcoin Core

Также можно через любой файловый проводник открыть папку Wallets, находящуюся в директории, которая была выбрана пользователем для хранения блокчейна. Там будет расположен автоматически сгенерированный файл «wallet.dat», копирование которого приведет к получению резервной копии кошелька, ничем не отличающейся от полученной через программное меню.

Выполнять резервное копирование рекомендуется как можно чаще, желательно после каждой операции получения средств и/или создания нового BTC-адреса, выбирая для хранения полученного файла надежный носитель, желательно отключенный от сети. Только в этом случае получится восстановить доступ к своему балансу после переустановки приложения Bitcoin Core или запуске его на другом компьютере. Для восстановления нужно будет поместить резервный файл в папку Wallets, соглашаясь на замену уже имеющегося.

Извлечение приватных ключей

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

Когда пользователю понадобится приватный ключ от любого из созданных в Bitcoin Core адресов, например, для импортирования в другое приложение кошелька, просмотреть его можно с помощью команды «dumpprivkey …», которая вводится в упомянутую выше консоль. При этом вместо «трех точек» вводится BTC-адрес, от которого необходимо получить приватный ключ.

Чтобы команда сработала, предварительно нужно выполнить разблокировку, указав пароль с помощью команды «walletpassphrase pass time» (вместо pass вписать пароль, вместо time — период, на который выполняется разблокировка кошелька).

Экспорт приватного ключа через консоль Bitcoin Core

«Холодное» хранение с помощью Bitcoin Core

Холодное хранение биткоинов

Чтобы организовать «холодное» хранение биткоинов через данное приложение, нужно выполнить всего лишь несколько простых шагов:

  1. В полностью синхронизированном кошельке на вкладке «Получить» нужно создать необходимое количество новых адресов и записать/распечатать их адреса на бумаге.
  2. Сделать несколько резервных копий файла wallet.dat на разных отключенных от сети носителях.
  3. Удалить оригинальный файл с ПК с установленным кошельком;
  4. Перевести биткоины на распечатанные адреса.

В итоге монеты окажутся на BTC-адресах, приватные ключи которых ни разу не использовались для доступа к ним. Пока это условие будет сохраняться, речь будет идти о «холодном» хранении биткоинов. Для получения доступа к этим монетам необходимо скопировать резервный wallet.dat в соответствующую папку на компьютере с установленным Bitcoin Core.

Использование Bitcoin Core для запуска полной ноды Bitcoin

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

Все, что нужно для запуска полной ноды Bitcoin — установить приложение Bitcoin Core и дождаться загрузки всего блокчейна (подробно описано в разделе о начале работы с кошельком). Также нужно убедиться, что разрешены входящие соединения в сетевых опциях кошелька и открыт TCP-порт 8333 (в настройках роутера и брандмауэра).

Для полноценного функционирования полной ноды компьютер, на котором она установлена, должен ежедневно быть онлайн не менее 6 часов. Все процессы при этом выполняются программой самостоятельно и не требуют никакого участия пользователя.

В данный момент управление полной нодой не имеет ничего общего с майнингом биткоина. Ранее эта функция присутствовала в Bitcoin Core, но из-за низкой эффективности добычи была удалена из всех версий приложения, начиная с августа 2016 года. Поэтому все полные ноды на Bitcoin Core сейчас запускаются исключительно на волонтерских основах (без получения вознаграждения) для поддержания работы сети.

Из 9300 активных в данный момент нод около 9 тыс. приходятся на Bitcoin Core. Остальные 300 запущены через альтернативные приложения вроде Armory, mSIGNA и Bitcoin Knots.