Что такое BIP32, BIP39 и BIP44 в криптовалютных кошельках?

BIP32, BIP39 и BIP44 — три стандарта, которые изменили подход к криптовалютным кошелькам. Эти протоколы не только сделали управление активами безопасным, но и невероятно удобным. Вместо того, чтобы запоминать длинные строки приватных ключей, вы можете просто записать несколько слов, и все ваши средства будут под защитой. Но что именно лежит в основе этих протоколов и как они работают? В этой статье мы разберём каждый из них и покажем, как эти стандарты делают хранение криптовалюты интуитивно понятным и безопасным.
Кратко о иерархических детерминированных кошельках
Иерархические детерминированные кошельки (HD-кошельки) — это тип криптовалютных кошельков, который использует алгоритмы, такие как BIP32 и BIP44, для создания и управления множеством приватных ключей и адресов из одного начального ключа или сид-фразы. Вместо того чтобы генерировать один ключ для каждого нового адреса, HD-кошельки строят целое «дерево» ключей, что упрощает управление активами. Все ключи могут быть восстановлены с помощью одной мнемонической фразы (12–24 слова). Такой подход повышает безопасность и удобство, так как пользователь может иметь неограниченное количество адресов, не беспокоясь о их сохранности.
Как работают детерминированные кошельки?
HD-кошельки работают на основе алгоритмов, которые создают иерархию ключей и адресов, начиная с одного начального (или корневого) ключа, который генерируется из мнемонической фразы. Процесс можно разбить на несколько этапов:
1. Генерация сид-фразы
Начальный момент — это создание мнемонической фразы (обычно 12–24 слова). Эта фраза является исходным пунктом для генерации всех последующих ключей. Она используется для создания первичного ключа (приватного и публичного).
2. Алгоритм BIP32 (деривация ключей)
На основе начальной фразы с помощью алгоритма BIP32 генерируется основной ключ (root key). Этот ключ позволяет создать дерево ключей, где каждый новый приватный ключ зависит от предыдущего и от root key. Это означает, что начиная с одного ключа, можно генерировать неограниченное количество дочерних ключей.
3. Структура дерева ключей
Каждый дочерний ключ в HD-кошельке может быть использован для создания новых адресов. Эти дочерние ключи могут быть организованы в структуру дерева:
- Основной ключ — корень дерева.
- Уровни в дереве — для разных валют или целей (например, для биткойна, эфира, для кошельков с разными балансами).
- Каждый уровень может иметь свои ветви для создания разных адресов и управлять разными учетными записями.
4. Генерация адресов
Каждый дочерний ключ может быть использован для генерации отдельного криптовалютного адреса, который привязан к приватному ключу. Эти адреса можно использовать для получения средств или их отправки.
Что такое Bitcoin Improvement Proposal (BIP) в криптовалюте?
Bitcoin Improvement Proposal (BIP) — это предложение об улучшении протокола Bitcoin или других аспектов экосистемы, таких как безопасность, производительность или функциональность. BIP является своего рода предложением изменений, которое может быть предложено разработчиками, исследователями или членами сообщества для улучшения сети и программного обеспечения Bitcoin. Все BIP обсуждаются и могут быть приняты, отклонены или изменены на основе консенсуса среди участников сети и разработчиков.
Что такое BIP39?
BIP39 (Bitcoin Improvement Proposal 39) — это стандарт, описывающий систему мнемонических фраз (или сид-фраз), используемых для генерации и восстановления приватных ключей в криптовалютных кошельках. Этот стандарт был разработан для упрощения процесса создания и восстановления криптовалютных кошельков, а также для улучшения безопасности и удобства пользователей.
Мнемонический код BIP39
Мнемонический код BIP39 — это стандарт, который используется для создания фраз, состоящих из 12, 18 или 24 слов, с целью восстановления приватных ключей в криптовалютных кошельках. Эти слова выбираются случайным образом из заранее определённого списка из 2048 слов. Такой подход значительно упрощает процесс хранения и восстановления доступа к криптовалютным активам, заменяя длинные строки приватных ключей удобными и легко запоминаемыми фразами.
В основе BIP39 лежит криптографическая безопасность и контрольная сумма, которая добавляется в фразу для её проверки. В случае потери устройства, достаточно ввести эту фразу в кошелёк, поддерживающий BIP39, чтобы восстановить все приватные ключи и адреса. Этот стандарт делает управление криптовалютами удобным и безопасным для пользователей.
Англоязычный список слов для стандарта bip39. Источник: https://tinyseed.io/
Ключевые моменты BIP39:
- Мнемоническая фраза состоит из 12, 18 или 24 слов.
- Слова выбираются из словаря, содержащего 2048 слов.
- Контрольная сумма помогает проверять правильность фразы.
- Используется для восстановления приватных ключей и адресов.
- Поддерживается большинством популярных криптовалютных кошельков.
Как работает генератор сид фраз BIP39?
Генератор BIP39 работает следующим образом: он создаёт мнемоническую фразу, которая используется для восстановления приватных ключей в криптовалютных кошельках. Процесс генерации включает несколько ключевых этапов:
- Создание случайных данных. Генератор использует криптографически безопасный источник случайных чисел для создания длинной строки битов. Обычно это 128, 192 или 256 бит, в зависимости от выбранной длины сид-фразы (12, 18 или 24 слова).
- Добавление контрольной суммы. К случайной строке добавляется контрольная сумма, которая генерируется с помощью хэш функции SHA-256. Это помогает проверить правильность фразы и исключить ошибки при её восстановлении.
- Разделение на группы. Полученная строка из случайных данных и контрольной суммы разбивается на 11-битовые группы. Каждая такая группа соответствует числу от 0 до 2047.
- Выбор слов. BIP39 словарь, состоящий из 2048 слов, используется для выбора соответствующего слова из каждого 11-битового числа. Это создаёт мнемоническую фразу из 12, 18 или 24 слов, что является более удобным способом записи случайных данных.
- Восстановление ключей. Когда пользователь вводит мнемоническую фразу для восстановления кошелька, программа использует её для обратной генерации исходных случайных данных и контрольной суммы. Это позволяет воссоздать приватные ключи, которые можно использовать для доступа к криптовалютным активам.
Расширенные закрытые ключи BIP32
Расширенные закрытые ключи BIP32 используются для создания иерархически детерминированных (HD) кошельков, позволяя генерировать неограниченное количество приватных и публичных ключей из одного начального закрытого ключа (или сид-фразы). Каждый новый ключ создается на основе родительского ключа с использованием числового индекса, что позволяет строить структуру ключей в виде дерева. Приватные ключи можно использовать для подписания транзакций, а публичные — для получения адресов. Этот процесс повышает безопасность и удобство управления активами, так как все ключи можно восстановить по единой сид-фразе.
BIP44 — это стандарт, который определяет структуру иерархии нескольких счетов для детерминированных кошельков (HD-кошельков). Он расширяет BIP32, добавляя универсальную схему для организации разных криптовалютных адресов и счетов в одном кошельке.
BIP44: иерархия нескольких счетов для детерминированных кошельков
BIP44 использует структуру деривации, которая включает несколько уровней для организации ключей:
m / purpose’ / coin_type’ / account’ / change / address_index
Где:
- purpose: фиксированное значение 44 (указывает на использование BIP44).
- coin_type: идентификатор криптовалюты (например, 0 для Bitcoin, 60 для Ethereum).
- account: номер счета (позволяет разделять средства на разные аккаунты).
- change: 0 для обычных адресов и 1 для адресов сдачи.
- address_index: индекс конкретного адреса.
Эта иерархия позволяет пользователю организовывать разные счета для различных криптовалют, а также разделять адреса для получения и сдачи в одном кошельке, сохраняя при этом всю информацию в одном едином формате.
BIP32, BIP39 или BIP44: Основые отличия
BIP32, BIP39 и BIP44 — это три стандарта, которые используются для управления криптовалютными кошельками, но каждый из них решает разные задачи. Вот основные отличия:
BIP32 (Иерархические детерминированные кошельки)
- Цель: Определяет способ создания иерархии ключей (дерева ключей), где один основной ключ может генерировать неограниченное количество дочерних ключей.
- Основная функция: Генерация приватных и публичных ключей в виде дерева, что упрощает управление множеством адресов.
- Особенности: Позволяет использовать один главный закрытый ключ для создания множества адресов и ключей. Не включает стандарты для мнемонических фраз или упорядочивания криптовалют.
BIP39 (Мнемонические фразы)
- Цель: Определяет способ использования мнемонических фраз для создания сид-ключа, который используется для восстановления всех приватных и публичных ключей.
- Основная функция: Преобразует бинарные данные в удобные для хранения и запоминания слова (мнемоническую фразу), которая служит для восстановления кошелька.
- Особенности: Мнемоническая фраза состоит из 12–24 слов, которые могут быть использованы для восстановления всех ключей кошелька в случае утраты устройства.
BIP44 (Иерархическая структура для нескольких криптовалют)
- Цель: Расширяет BIP32, добавляя структуру для организации разных криптовалют, счетов и адресов в одном кошельке.
- Основная функция: Устанавливает стандарт для организации деривации ключей по уровням: криптовалюта, счет, тип адреса (получение/сдача), индекс адреса.
- Особенности: Позволяет разделять средства по разным криптовалютам и счетам, а также различать адреса для получения и сдачи. Это универсальная схема для многих криптовалют.
Ключевые отличия:
- BIP32 фокусируется на создании иерархической структуры ключей.
- BIP39 отвечает за удобство восстановления ключей с помощью мнемонической фразы.
- BIP44 расширяет BIP32, добавляя возможность управления несколькими криптовалютами и счетами в одном кошельке.
Роль в безопасности криптовалют
BIP32, BIP39 и BIP44 обеспечивают высокий уровень безопасности криптовалют, создавая иерархически детерминированные кошельки, которые позволяют генерировать множество ключей и адресов из одного основного ключа или сид-фразы. BIP32 снижает риски утечек, создавая уникальные адреса для каждой транзакции, BIP39 упрощает хранение и восстановление ключей с помощью мнемонических фраз и использует словарь BIP39 для преобразования случайных данных в удобные для записи и запоминания слова, а BIP44 помогает эффективно управлять несколькими криптовалютами и счетами, предотвращая путаницу и улучшая организацию безопасности активов. Использование этих стандартов в аппаратных кошельках, таких как Ledger или Trezor, предоставляет дополнительную защиту, обеспечивая оффлайн-хранение ключей и минимизируя риски взломов или потери средств.
Заключение
Внедрение стандартов BIP32, BIP39 и BIP44 сделало управление криптовалютами проще и безопаснее. Каждый из этих стандартов решает свою задачу, обеспечивая создание уникальных ключей, защиту с помощью мнемонических фраз и удобную иерархическую организацию активов. Это важный шаг к улучшению удобства и безопасности кошельков для хранения криптовалют, обеспечивая надежную защиту и эффективное управление цифровыми активами.