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

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

Возможно, самым интересным обновлением станет дебют нового «языка», первоначально предложенного разработчиком Биткоина Питером Вюлле (Pieter Wuille). За последние несколько лет он приобрел известность разработкой некоторых из самых радикальных изменений Биткоина (в том числе протокола Segregated Witness, который частично помог решить проблемы масштабирования Биткоина в прошлом году).

Идея нового языка заключается в добавлении важной дополнительной информации в ключи. Или, как выразился один из разработчиков Bitcoin Core Эндрю Чоу (Andrew Chow), он предоставляет «нормальную» альтернативу проблемной системе «счетов», которая недавно была исключена из программного обеспечения. Проще говоря, он дает пользователям возможность давать названия разным счетам. Например, назвав один счет «для пожертвований», а другой «сбережения».

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

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

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

Имея это в виду, новый язык Вюлле нацелен на то, чтобы каждый ключ в Биткоине (как открытый, так и закрытый) был помечен «аннотацией», которая описывает, что может разблокировать его. Джон Ньюбери (John Newbery), инженер Chaincode, заявляет, что это «изменит способ восприятия кошельков».

Аппаратный Bitcoin Core?

Другие изменения в предстоящей версии Bitcoin Core являются итеративными – первыми шагами, которые, как надеются разработчики, приведут к чему-то еще.

Partially Signed Bitcoin Transactions (PSBT) – еще одно ожидаемое изменение, разрабатываемое Чоу. PSBT - это новый формат для транзакций, которые еще не полностью подписаны, но могут быть переданы до окончательной трансляции. Все это кажется достаточно сложным с технической точки зрения, однако может повлиять на широкий круг пользователей.

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

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

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

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

И пользователи уже давно жалуются на это. Предложение по улучшению Биткоина BIP 174 предлагает способ решения проблемы - стандарт, который может использовать каждый кошелек.

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

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

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

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

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

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

Прочие обновления

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

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

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

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

Эти изменения могут показаться незначительными. Тем более, что немногие люди используют биткоин и еще меньше используют Bitcoin Core. И нет никаких сомнений в том, почему ситуация складывается таким образом. Блокчейн Биткоина сейчас занимает около 200 ГБ. Его скачивание и использование далеки от простоты загрузки и настройки мобильного кошелька на смартфоне в считанные минуты.

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