04.10.2018
Состоялся релиз Bitcoin Core 0.17.0

Разработчики Bitcoin Core представили крупное обновление самого популярного клиента биткоина.

Bitcoin Core 0.17.0 Released https://t.co/ciwCREngon

— Bitcoin Core Project (@bitcoincoreorg) 3 жовтня 2018 р.

Над новой версией клиента велась работа на протяжении семи месяцев под руководством Владимира ван дер Лаана и с участием 135 контрибьюторов. Это также результат обработки более 700 запросов на принятие изменений. В новой версии Bitcoin Core содержится ряд новых функций, улучшена производительность, исправлены баги.

Оптимизированный выбор монет

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

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

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

В Bitcoin Core 0.17.0 используется алгоритм «ветвей и границ», созданный разработчиком BitGo Марком Эрхардтом. Он привносит два важных улучшения. Во-первых, комиссия для каждого фрагмента рассчитывается до того, как он становится частью транзакции. Это позволяет избежать добавления новых фрагментов для покрытия комиссии. Во-вторых, алгоритм «старается» сопоставить различные фрагменты таким образом, чтобы получить сумму, максимально приближенную к запрошенной отправителем. Таким образом, в некоторых случаях отпадает необходимость в «адресе для сдачи».

Такая функция особенно актуальна для «крупных» кошельков, находящихся в распоряжении бирж криптовалют, которые могут иметь дело с множеством фрагментов. Новый алгоритм выбора монет в Bitcoin Core 0.17.0 способствует некоторому повышению приватности.

Простое создание и использование новых кошельков

Начиная с версии Bitcoin Core 0.15.0 пользователи могут создавать несколько кошельков — для повседневных нужд, бизнеса, обмена и т. д. У каждого из таких кошельков свой адрес, приватный ключ и, соответственно, остаток.

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

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

Совместимость HD- и не-HD-кошельков

В более новых версиях Bitcoin Core используются иерархически детерминистические (HD) кошельки. Пользователям таких кошельков необходимо для бэкапа сохранять только seed-фразу.

При этом пользователи, обновившиеся до 0.13.0 или выше, не могли создавать новые HD-кошельки. Bitcoin Core 0.17.0 устраняет эту проблему, позволяя обновившимся пользователям использовать кошельки HD-формата.

Адреса в формате watch-only

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

Bitcoin Core 0.17.0 развивает далее эту идею, позволяя создавать особые кошельки «только для просмотра». В них и каждый отдельно взятый адрес обладает таким же статусом. Такой подход делает удобным мониторинг средств, хранящихся на аппаратных или бумажных кошельках с использованием seed-фраз.

Частично подписанные транзакции

Первая криптовалюта позволяет проводить сложные типы транзакций. К ним относятся:

Bitcoin Core 0.17.0 поддерживает фреймворк частично подписанных биткоин-транзакций (Partially Signed Bitcoin Transaction, PSBT) BIP 174, разработанный Эндрю Чоу. Он позволяет частично подписывать транзакцию, добавляя в нее метаданные, которыми потом может воспользоваться кто-либо другой, чтобы завершить ее.

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

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

Сокращение объема блокчейна

Размер блокчейна биткоина уже превысил 180 Гб и продолжает увеличиваться. Однако есть метод под названием «сокращение блокчейна», благодаря которому пользователям не придется хранить данные обо всех транзакциях с момента появления биткоина.

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

С полной версией изменений Bitcoin Core 0.17.0 можно ознакомиться на GitHub.


Оригинал статьи

Состоялся релиз Bitcoin Core 0.17.0

Разработчики Bitcoin Core представили крупное обновление самого популярного клиента биткоина.

Bitcoin Core 0.17.0 Released https://t.co/ciwCREngon

— Bitcoin Core Project (@bitcoincoreorg) 3 жовтня 2018 р.

Над новой версией клиента велась работа на протяжении семи месяцев под руководством Владимира ван дер Лаана и с участием 135 контрибьюторов. Это также результат обработки более 700 запросов на принятие изменений. В новой версии Bitcoin Core содержится ряд новых функций, улучшена производительность, исправлены баги.

Оптимизированный выбор монет

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

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

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

В Bitcoin Core 0.17.0 используется алгоритм «ветвей и границ», созданный разработчиком BitGo Марком Эрхардтом. Он привносит два важных улучшения. Во-первых, комиссия для каждого фрагмента рассчитывается до того, как он становится частью транзакции. Это позволяет избежать добавления новых фрагментов для покрытия комиссии. Во-вторых, алгоритм «старается» сопоставить различные фрагменты таким образом, чтобы получить сумму, максимально приближенную к запрошенной отправителем. Таким образом, в некоторых случаях отпадает необходимость в «адресе для сдачи».

Такая функция особенно актуальна для «крупных» кошельков, находящихся в распоряжении бирж криптовалют, которые могут иметь дело с множеством фрагментов. Новый алгоритм выбора монет в Bitcoin Core 0.17.0 способствует некоторому повышению приватности.

Простое создание и использование новых кошельков

Начиная с версии Bitcoin Core 0.15.0 пользователи могут создавать несколько кошельков — для повседневных нужд, бизнеса, обмена и т. д. У каждого из таких кошельков свой адрес, приватный ключ и, соответственно, остаток.

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

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

Совместимость HD- и не-HD-кошельков

В более новых версиях Bitcoin Core используются иерархически детерминистические (HD) кошельки. Пользователям таких кошельков необходимо для бэкапа сохранять только seed-фразу.

При этом пользователи, обновившиеся до 0.13.0 или выше, не могли создавать новые HD-кошельки. Bitcoin Core 0.17.0 устраняет эту проблему, позволяя обновившимся пользователям использовать кошельки HD-формата.

Адреса в формате watch-only

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

Bitcoin Core 0.17.0 развивает далее эту идею, позволяя создавать особые кошельки «только для просмотра». В них и каждый отдельно взятый адрес обладает таким же статусом. Такой подход делает удобным мониторинг средств, хранящихся на аппаратных или бумажных кошельках с использованием seed-фраз.

Частично подписанные транзакции

Первая криптовалюта позволяет проводить сложные типы транзакций. К ним относятся:

Bitcoin Core 0.17.0 поддерживает фреймворк частично подписанных биткоин-транзакций (Partially Signed Bitcoin Transaction, PSBT) BIP 174, разработанный Эндрю Чоу. Он позволяет частично подписывать транзакцию, добавляя в нее метаданные, которыми потом может воспользоваться кто-либо другой, чтобы завершить ее.

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

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

Сокращение объема блокчейна

Размер блокчейна биткоина уже превысил 180 Гб и продолжает увеличиваться. Однако есть метод под названием «сокращение блокчейна», благодаря которому пользователям не придется хранить данные обо всех транзакциях с момента появления биткоина.

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

С полной версией изменений Bitcoin Core 0.17.0 можно ознакомиться на GitHub.


Оригинал статьи