Bitcoin Core 0.17.0. представит частично подписанные транзакции и новый язык для приватных ключей

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

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

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

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

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

«Это нечто новое, это меняет все наше представление о ключах, адресах и кошельках», — так прокомментировал метод Питер Велле инженер Chaincode Джон Ньюберри, недавно выступивший в Лондоне с презентацией Bitcoin Core 0.17.0.

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

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

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

Как говорится в описании метода, он предназначен для упрощения процессов в ситуациях, когда в транзакции участвует несколько сторон. В качестве примеров снова приводятся multisig-транзакции, а также микширование (CoinJoin) и аппаратные кошельки.

Упоминание аппаратных кошельков действительно интересно. Существующие сегодня аппаратные кошельки (Ledger, Trezor, KeepKey и т. д.), возможно, и предлагают повышенную безопасность хранения средств, однако каждый из них по-своему взаимодействует с программным обеспечением и не всегда с ним совместим. Например, популярный Trezor поддерживает только Electrum и не имеет возможности установить соединение с Bitcoin Core или другим ПО.

Именно эту проблему и устраняет BIP-174, превращаясь таким образом в стандарт, который может использовать любой кошелек. Предложенный метод уже нашел отклик среди производителей: не дожидаясь релиза Bitcoin Core 0.17.0, технологию частично подписанных транзакций внедрил COLDCARDWALLET от команды Opendime.

Yay! @COLDCARDwallet plugin merged into @ElectrumWallet https://t.co/1hJhet8IFR

— NVK (@nvk) 23 August 2018

Динамическое создание кошельков

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

Coin selection

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

Решить эту проблему призвана функция “Coin Selection” (выбор монет) — в будущем релизе появится опция avoidpartialspends, выбор которой будет означать, что кошелек будет всегда тратить существующие неизрасходованные выходы транзакций (UTXO) на один и тот же адрес, даже если это приведет к более высоким комиссиям.

Апгрейд до HD-кошельков

Начиная с Bitcoin Core 0.13.0 поддерживается создание новых иерархически детерминированных (HD) кошельков, однако апгрейд старых кошельков до HD-версии был невозможен. Теперь это можно будет сделать при помощи опции -upgradewallet в командной строке. Предварительный бэкап кошелька является обязательным, отмечают разработчики.

Индекс транзакций

Индекс транзакций теперь создается отдельно от ноды, и это означает, что включение или отключение опции -txindex можно производить без полной индексации блокчейна. Если bitcoind работает с включенной опцией -txindex на ноде, которая уже полностью или частично синхронизировалась, индекс транзакций проводится в фоновом режиме и будет доступен по завершении процесса.

В случае отключения -txindex база данных индекса транзакций не будет автоматически удалена и к ней можно будет вернуться в будущем без необходимости новой синхронизации.

Размер блока

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

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

Подписывайтесь на канал Forklog в YouTube!

Нашли ошибку в тексте? Выделите ее и нажмите CTRL+ENTER

Leave A Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *