При пользовании технологией Биткойна в ее исходном виде, расчёты в BTC при всех преимуществах гораздо менее анонимны, чем пользование наличными деньгами. И это создаёт проблемы не только для тех, кто хочет что-либо скрыть. Блокчейн и все сделки в нём являются публичными, а это не всегда удобно.
Предположим, сотрудники вашей компании получают зарплату в биткойнах. Если адреса будут скомпрометированы, будет получена конфиденциальная информация о том, кто сколько денег получает. А так как изменить блокчейн невозможно, то спрятать и удалить ее будет нельзя. И самое главное – можно отследить не только получение денег, но и их последующие траты.
Если проанализировать адреса магазинов, которые принимают биткойны и адреса покупателей, можно получить подробную информацию о покупательских привычках. Подобных примеров найдется множество.
Есть несколько подходов к обеспечению анонимности - "Zerocoin", "Dash", CryptoNote", "миксеры" и другие. Но эти технологии имеют свои недостатки и им сложно добраться до широкого рынка.
Кроме этого, у официального кошелька есть другое неудобство – его адреса генерируются случайным образом, и каждому соответствует своя пара ключей. А это значит, что резервную копию необходимо делать после создания каждого адреса получения, иначе при восстановлении все операции по несохраненным адресам будут потеряны.
Дополнительную сложность для пользователей составляет и тот факт, что в действительности хранить нужно не только файл ключа, но и пароль к нему. Сложный пароль придется также где-то хранить, а простой слабо защитит кошелек.
Истоки технологии HD wallet
Начиная с 2011 года, команда программистов Bitcoin Core работала над решением перечисленных выше проблем, различными реализациями более безопасных и анонимных способов использования криптовалют. В конце концов, эти разработки под номерами BIP (Bitcoin Improvement Protocol) 32, 39 и 44 были собраны под общим названием – HD wallet.
Первым подходом к технологии HD wallet стала утилита Casascius Bitcoin Address. Она предназначалась для генерации адресов Bitcoin из командной строки.
Изменения в протокол Биткойна под названием BIP 0032 сейчас применяются во многих десктопных, мобильных и аппаратных кошельках - TREZOR, Electrum, CarbonWallet и многих других. Основным секретным ключом здесь служит 128-битное значение, которое для пользователя выглядит как обычная фраза из 12 слов. Для того, чтобы усложнить процесс подбора хакерами простых фраз, каждая фраза ещё проходит 100 000 раундов шифрования SHA256.
Также к технологии HD wallet относятся изменения в протокол Bitcoin под кодами BIP 0039 (Mnemonic code for generating deterministic keys), и BIP 0044 (Multi-Account Hierarchy for Deterministic Wallets).
Что значит "иерархически детерминированный"?
Во-первых, HD совсем не значит "High definition". Слова "hierarchical deterministic" (иерархически детерминированный) звучат сложно, но на самом деле всё довольно просто. Слово "иерархический" в контексте Биткойна значит, что адреса в какой-то мере связаны друг с другом. В частности, вы можете использовать один адрес для получения другого, и использовать значение "seed" (секретную фразу) для того, чтобы сгенерировать множество связанных адресов.
Слово "детерминированный" описывает систему, в которой нет места случайностей в развитии будущих состояний системы.
Детерминированная система — та, в которой одинаковый ввод даёт один и тот же результат на выходе.
Преимущества технологии
Повышенный уровень анонимности
У пользователя HD wallet есть один программный кошелёк с одним секретным ключом. Его также называют "мастер-ключ", или "семя". Объединив тем или иным образом "мастер-ключ" с хэш-функциями, мы получим неограниченное количество связанных друг с другом адресов, причём эта связь не видна посторонним. Мы называем эти новые адреса Bitcoin "дочерними адресами".
Программное обеспечение кошелька генерирует непрерывный поток пар открытых и закрытых ключей и автоматически создаёт новый "дочерний адрес" для каждой транзакции. Это не такой уровень конфиденциальности, который может обеспечить, например, ZeroCash. Однако, это значительное улучшение по сравнению с тем, что технология Биткойна предлагает по умолчанию.
Секретную фразу проще запомнить
"Мастер-ключ" может представлять собой кодовую фразу (Electrum предлагает ввести 12 слов сразу), или любую последовательность символов. До тех пор, пока вы помните кодовую фразу, вы имеете доступ ко всем адресам. Это более удобно, чем хранить секретные ключи для каждого адреса. А дюжину слов легко записать или запомнить.
Резервное копирование стало удобным
Множество не связанных между собой случайных чисел — то, что действительно сложно для резервного копирования. Например, если у вас есть 10 монет по адресу А и вы отправили 7 на адрес B, "правильно", с точки зрения конфиденциальности и безопасности, отправить оставшиеся 3 монеты по новому адресу C. Но представьте, что вы проводили резервное копирование кошелька А на прошлой неделе, а ваш компьютер "умер" вчера. Это значит, что три монеты по адресу C утеряны навсегда, так как этого адреса не существовало на момент резервного копирования.
Это особенно важно в мире мобильных технологий. Из-за проблем, присущих созданию резервных копий бумажника на Android или iPhone, мобильным пользователям приходилось использовать один и тот же адрес. Из-за этого большинство преимуществ конфиденциальности Bitcoin сразу теряется — или же страдает безопасность. А вот при использовании технологии HD wallet все кошельки можно легко восстановить на основе исходного секретного ключа (даже после удаления программы-кошелька).
С HD кошельком можно обойтись вовсе без резервного копирования в его классическом понимании, то есть не обязательно сохранять какие-либо файлы. Достаточно сохранить секретную фразу, даже распечатав ее на листе бумаги.
Реализации HD wallet
Armory
Armory – настройка над Bitcoin Core с повышенной безопасностью - использует свой собственный формат детерминированных кошельков. Он основан на "корневом ключе" и "цепном коде." Ранние версии Armory требовали отдельного сохранения и ключа, и кода. В новых версиях кошелька Armory (0.89+) требуется только 256-битный "корневой ключ", "цепной код" из которого получается необратимым способом. Это даёт совместимость с уже ставшим стандартом BIP0032.
Electrum
Кошелёк Electrum стал первой реализацией HD wallet. Он вышел в 2011 году и существует под ОС Windows, Linux, Mac OS, Android. Можно скачать версию кошелька Electrum на русском языке. Кошелёк сразу при запуске предлагает ввести и сохранить секретную фразу. Её можно как записать на бумаге, так и распечатать в виде QR-кода. Кошелек также поддерживает мультиподпись и создание кошельков "только для просмотра".
Electrum является одним из самых простых и удобных кошельков на базе технологии HD wallet.
Multibit
Хотя легкий кошелёк MultiBit HD выглядит, как большой шаг вперёд к обеспечению анонимности и удобства пользователя, технология до сих пор не вышла из стадии тестирования. Руководство компании предупреждает, что в этом кошельке не рекомендуется держать свои основные средства.
Среди улучшений кошелька MultiBit HD можно отметить новый дизайн. Большие кнопки делают пользование программой интуитивно понятным, а удобный список контактов не даёт забыть о том, что вы отсылаете деньги человеку, а не строке из букв и цифр. Multibit HD совместим с аппаратным кошельком Trezor. Поддерживается более 40 языков. Запускать программу можно под разными ОС - Windows, OS X, Linux.
BitGo
BitGo - это кошелек с мультиподписью и крайне высоким уровнем безопасности. Каждая транзакция требует двух подписей, что защищает биткойны от вредоносных программ и серверных атак. Секретные ключи находятся у пользователя, так что BitGo не имеет доступа к вашим средствам.
CarbonWallet
CarbonWallet — веб-сервис для тех, кому требуется пользование технологией HD wallet без установки программного обеспечения. Платёж потребует ввода секретной фразы и подтверждения, которое посылается с вашего смартфона (на базе Android или iOS).
TREZOR
TREZOR — по сути, мини-компьютер, предназначенный для обеспечения безопасности криптовалютных платежей. TREZOR использует стандарт BIP0032, а это значит, что вы сможете использовать одну и ту же секретную фразу для всех совместимых решений.
Другие кошельки
Технологию HD wallet также поддерживают:
Green Address – недавно разработанный русскоязычный онлайн и мобильный кошелек, в который внедрены все новейшие разработки в безопасности криптовалют.
Mycelium Bitcoin Wallet. Мобильный кошелек для Android с открытым исходным кодом, достаточно безопасный, быстрый и простой. Также обладает уникальными функциями для холодного хранения средств.
The Hive. Есть кошельки под iOS, Mac и Android. Дружественный к пользователю и простой кошелёк сразу и для Биткойна, и для Лайткойна. Заслуживает внимания функция обмена жетонами Hive с пользователями, которые находятся рядом с вами.