Безопасны ли HD-кошельки?
Кошельки HD так же безопасны, как и носитель (физический или цифровой), на котором они хранятся.
BIP-32 позволяет HD-кошельку создавать древовидную иерархическую структуру закрытых ключей из начального числа. В результате, если устройство потеряно или уничтожено, начальную резервную копию можно использовать для восстановления кошелька вместе со всеми закрытыми ключами дерева.
Иерархические детерминированные кошельки обеспечивают повышенную безопасность и конфиденциальность по сравнению с недетерминированными кошельками. Они безопасны, поскольку для каждой новой транзакции выдается новый адрес. Поэтому их взлом — сложный и запутанный процесс. Кроме того, для сбора платежей может быть создано неограниченное количество публичных адресов, обеспечивающих финансовую анонимность пользователей.
Однако если закрытые ключи или главные ключи не хранятся в безопасности, они могут раскрыть средства пользователей злоумышленникам. Поэтому выбранные начальные фразы в HD-кошельках не должны быть связаны с именами пользователей или другими личными данными, которые злоумышленникам будет проще скомпрометировать.
Каковы преимущества и недостатки использования HD-кошелька?
С иерархическими детерминированными кошельками конфиденциальность пользователей улучшается, поскольку они могут делиться своим главным открытым ключом с другими, не подвергая свои деньги риску. Аналогично, HD-кошельки безопасны, поскольку средства диверсифицированы по многочисленным адресам. Однако существует значительная вероятность потери денег, если главный ключ или закрытые ключи будут раскрыты общественности.
Благодаря иерархической структуре детерминированных кошельков каждый закрытый ключ, сгенерированный семенем, может быть потенциально использован в качестве главного закрытого ключа, который затем может быть использован в качестве детерминированного кошелька для генерации дополнительных ключей.
Кроме того, изменение адресов обеспечивает повышенную конфиденциальность, поскольку невозможно узнать точный баланс кошелька из публичной книги. Однако любой, кто имеет доступ к расширенным закрытым ключам, может украсть средства пользователей, поэтому их не следует передавать ненадежным лицам.
Наряду с улучшенной конфиденциальностью, детерминированные кошельки предлагают большую безопасность, поскольку для получения доступа ко всем криптоактивам пользователей потребуется доступ к нескольким различным закрытым ключам, поскольку они распределили свои средства по нескольким адресам. Кроме того, монеты, контролируемые другими закрытыми ключами, остаются нетронутыми, если один закрытый ключ будет скомпрометирован. Однако, если скомпрометирован seed, все средства могут быть украдены хакерами.
Как работает иерархически детерминированный кошелек?
Для повышения безопасности и конфиденциальности HD-кошелек создает новую пару ключей из пары главных ключей (состоящей из расширенного закрытого ключа и расширенного открытого ключа) для каждой криптовалютной транзакции.
С BIP-32 HD-кошельки стали фактическим стандартом для Bitcoin. BIP-32 — это Предложение по улучшению Bitcoin (BIP), которое представило разработку структуры кошелька, напоминающей иерархическое дерево.
В HD-кошельке, таком как MetaMask, из seed-фразы кошелька выводится один главный ключ, который затем используется для генерации дочерних ключей, каждый из которых способен генерировать свои собственные дочерние ключи. Seed-фраза, часто представленная как мнемоническая фраза, представляет собой фрагмент информации, который может использоваться для создания как публичных, так и приватных ключей кошелька.
Пара главных ключей, состоящая из расширенного закрытого ключа (XPRIV) и расширенного открытого ключа (XPUB), обычно присутствует в HD-кошельках для Bitcoin. Кроме того, дочерний закрытый ключ создается псевдослучайным образом из главного закрытого ключа, а соответствующие дочерние открытые ключи может сгенерировать любой, кто знает главный открытый ключ.
XPRIV производит все дочерние закрытые ключи, а XPUB может отображать балансы всех дочерних открытых ключей в кошельке. Более того, необходимость в хранении нескольких пар ключей устраняется, поскольку адреса HD-кошельков могут быть сгенерированы из главного ключа или семени.
Такое же дерево ключей будет сгенерировано главным ключом, что позволит пользователям создавать резервную копию одного seed, а не сотен ключей в случае недетерминированных кошельков. Кроме того, ключи XPUB позволяют пользователям получать Bitcoin напрямую в кошелек холодного хранения и хранить свои закрытые ключи в автономном режиме, поскольку они позволяют пользователям генерировать новые адреса с использованием расширенных открытых ключей в режиме онлайн.
Интернет-магазин, который создает новые открытые ключи для каждой продажи, является вдохновляющим примером использования криптокошельков HD. Используя детерминированный кошелек, продавец может быстро создавать и сохранять только открытые ключи на рискованном интернет-сервере, сохраняя все связанные с ними закрытые ключи в безопасном офлайн-хранилище. Кроме того, ритейлер может использовать иерархическую функцию кошельков HD, чтобы хранить только открытые ключи, необходимые для обработки потребительских платежей, что может улучшить конфиденциальность пользователя.
Что такое детерминированные и недетерминированные кошельки?
Иерархический детерминированный кошелек генерирует публичные и приватные ключи из главного ключа, позволяя пользователям создавать новый кошелек и извлекать все адреса и ключи, при условии, что у них есть доступ к зерну. Напротив, недетерминированные кошельки случайным образом генерируют адреса кошельков и приватные ключи, ограничивая возможность пользователей восстанавливать адреса и ключи в случае утери данных кошелька.
Обычно в криптовалютах на основе блокчейна используются цифровые подписи и пары закрытых и открытых ключей подписи. При этом пользователи тратят свои деньги, подписывая транзакцию закрытым ключом, а другие пользователи (получатели) могут использовать открытый ключ для подтверждения действительности подписи. Закрытые ключи можно использовать для генерации открытых ключей, но не наоборот.
Например, биткойн-кошелек пользователя содержит набор закрытых ключей, которые позволяют владельцу тратить любые биткойны (BTC), привязанные к этим ключам. Когда они были нужны пользователю, биткойн-кошельки случайным образом генерировали адреса BTC и закрытые ключи. Такие типы цифровых кошельков называются недетерминированными кошельками (ND).
Однако, поскольку ключи не генерируются по какой-либо схеме, пользователи должны делать резервную копию каждого ключа всякий раз, когда генерируется новый. При этом, если данные кошелька будут утеряны, все адреса и ключи также будут утеряны.
Этот тип кошелька Bitcoin также известен как кошелек «просто-связка-ключей» (JBOK), поскольку он создает несвязанные ключи и требует от пользователей отслеживать свои транзакции каждый раз, когда они покупают и продают свои криптовалюты. Итак, что такое иерархически детерминированные (HD) кошельки?
Иерархические детерминированные кошельки заменили кошельки JBOK, поскольку пользователи могли создавать резервные копии кошельков HD, используя один seed, и извлекать большую выгоду из расширенных ключей. Поэтому кошелек, который генерирует свои публичные и приватные ключи из seed, называется иерархическим детерминированным кошельком.
Эти кошельки могут использоваться для множества интересных вещей, таких как аудит без доверия, онлайн-шопинг и распределение финансирования департамента казначеем. Например, человек может раскрыть свой главный открытый ключ внешним аудиторам, которые затем могут использовать этот ключ для просмотра любых будущих транзакций, совершенных с использованием BTC. В этом случае средства пользователя находятся в безопасности, поскольку закрытые ключи, связанные с этими средствами, никогда не раскрываются.
Сводка различий между HD- и не-HD-кошельками приведена в таблице ниже:

