Bitcoin Core 22.0: поддержка I2P, аппаратных кошельков и полный Taproot

Разработчики а опубликовали версию клиента 22.0, названную самым крупным обновлением после активации   в 2017 году.

Bitcoin Core 22.0: поддержка I2P, аппаратных кошельков и полный Taproot

Возможно, слова о «самом крупном обновлении за четыре года» преувеличивают значение этого релиза, все же в него включено несколько достаточно важных и ожидаемых функций. Чтобы показать его значимость, разработчики даже пошли на изменение нумерации клиента. Из версии 22 был убран начальный ноль, обычно обозначающий, что программа находится в тестовой версии. Таким образом, вместо 0.22 пользователи увидели 22.0.

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

Итак, чем порадует Bitcoin Core 22.0?

«Гвоздем версии» в СМИ заявлено включение в код полной поддержки технологии Taproot, повышающей анонимность транзакций и позволяющей исполнять более сложные смарт-контракты, чем заложенные в базовом скриптовом языке Биткоина. Однако сами разработчики не заявили существенных нововведений по этому направлению.

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

I2P — больше анонимности

В Bitcoin Core 22.0 добавлена полная поддержка еще одного протокола анонимных соединений — I2P (Invisible Internet Project ) — для повышенной анонимизации узлов в пиринговой сети. Эта сеть позволяет скрывать не только IP-адреса узлов, но и дополнительно сами передаваемые сообщения с помощью многоуровневого шифрования. Возсожность анонимизации через Tor сохранилась, но отключена поддержка устаревшей версии протокола Tor v2. Теперь через эту сеть смогут соединяться только узлы с поддержкой Tor v3 и последующих.

Аппаратные кошельки через GUI

Поддержка внешних устройств для подписи транзакций (в основном, аппаратных кошельков) появилась еще в версии 0.18.0, но ранее для их использования приходилось работать в командной строке. Теперь с помощью дополнительно устанавливаемого модуля HWI, аппаратный кошелек или другое устройство для подписи (external signer) можно подключить и управлять им через графический интерфейс.

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

Чтобы избежать уплаты более высокой комиссии майнерам, в новом кошельке расширено использование метода «ребенок платит за родителя» — Child-Pays-For-Parent (CPFP). Эта функция сначала отправляет транзакцию с минимальной комиссией, а при необходимости ускорения ей на замену отправляется платеж с более высокой.

Bitcoin Core 22.0 получил возможность проверки заполнения мемпула до отправки транзакции, и может в наиболее подходящий момент отправлять обе транзакции одновременно, чтобы исключить их попадание в разные блоки. С помощью команды testmempoolaccept можно отправлять таким образом серии до 25 транзакций общим размером до 101 КБ.

Другие изменения

Среди менее важных для обычного пользователя изменений можно отметить:

  • Новый метод сборки кошелька под . Для пользователей ОС семейства Linux в Bitcoin Core теперь используется новый менеджер пакетов GUIX.
  • Расширено количество возможных подписей для мультиподписных транзакций (используются в том числе в SegWit и Lightning Network). Теперь вместо 16 ключей можно подписывать транзакции максимум 20 ключами.
  • Появился новый механизм кодирования адресов Bech32m вместо классического .
  • Черный список узлов и подсетей теперь хранится в файле banlist.json вместо banlist.dat.
  • Для маппинга портов теперь можно использовать функцию NAT-PMP.