What is a Bitcoin Private Key?
Simply put, a Bitcoin private key is the secret digital code which allows bitcoins to be spent. The following image of a Bitcoin wallet, generated at Bitaddress.org, shows both the address (13jzY…jJjk) for receiving funds and the associated private key (5HqD…8ejD) for spending funds:

The security of any Bitcoin wallet depends on the confidentiality of its associated private key(s). An attacker who learns your private key can steal your bitcoins! A Bloomberg TV host, Matt Miller, learnt this lesson the hard way when he revealed his private key on live television. Miller was promptly relieved of his wallet’s contents by a Bitcoin-savvy viewer (who later offered to return the funds).
Public and Private Keys
Your Bitcoin address, that long string of alphanumeric soup starting with a 1 (or 3), is meant for sharing. If Matt had revealed his public address (more properly known as a “Bitcoin address”) on air, viewers might have copied it down and sent him bitcoins — but that’s all. Matt goofed by revealing both the address and private key of his paper wallet, putting the balance up for grabs just as surely as if he’d revealed his bank details and passwords. Newcomers needn’t worry about accidentally exposing their private keys however; Bitcoin wallets won’t display them during the normal course of operations.
Public-Key Cryptography
If this sounds like a tough topic, don’t worry. By understanding the difference between Bitcoin addresses and private keys, you already have the gist of it. Satoshi Nakomoto drew on various cryptographic methods in the creation of Bitcoin; hash functions for perfected in the mid 70’s and released as open source software by Phil Zimmermann in 1991 (despite the objections of the US government). Asymmetric or public-key cryptography begins with the creation of a seed which is used to create the private key, from which the public key is generated in a “one-way” mathematical process. It’s fiendishly difficult to reverse-engineer the public key in order to produce the private key. Hence, public keys may be securely published.
To send a secret message, the public key is used to encrypt plaintext such that it may only be decrypted by whoever holds the private key. The private key’s owner may also use it to digitally sign a message, which guarantees its authenticity.
Bitcoin Private Keys and Public Addresses
In Bitcoin, asymmetric cryptography secures transactions and accounts instead of messages. When the ownership of some amount of bitcoins is transferred to a new address, the wallet software creates an automatic digital signature to authorise that transaction. Note that at no time are bitcoins sent as files or messages to the new address; rather the change in ownership is broadcast to the entire network then, if valid, it’s recorded by miners into the blockchain. The blockchain is a continuously-updated public record of addresses and their associated balances… and only private keys grant access to those addresses.
It’s even possible to sign a message using a Bitcoin wallet’s private key or verify that message using the address. This is useful to prove ownership of a certain address and the coins contained therein. This video demonstrates the process (but beware the sites shown; online wallets are considered risky for storing bitcoins and brainwallet.org is a bad idea for reasons described below).
Technical Details
Bitcoin uses a 256 bit private key to generate a public key via ECDSA (Elliptic Curve Digital Signature Algorithm). This public key is then hashed to produce the Bitcoin address. This website provides a neat interactive overview of the entire process. While Bitcoin can be used without understanding the complex mathematics backing it, the more you learn the more confidence you’ll gain in the system. For example, the odds of two people generating the same private key are roughly 1 in 115 quattuorvigintillion.
Creating a Secure Private Key
Note that while you can manually generate a private key, as in the above-mentioned site’s text field, it’s unsafe to use anything but truly random input. New users should leave this step to their Bitcoin wallet, as the hash of some easily-memorised password is virtually guaranteed to be cracked. It’s possible to manually input random information, through such methods as rolling dice, but this is never a quick or straight-forward process.
To ensure the legitimacy of wallet (or any other) software you download, it’s worth learning how to use GnuPG, or similar public-key encryption tools, to verify its signature. For example, the current version of Bitcoin Core is signed by Wladimir J. van der Laan and if even the smallest code change is made, his signature would no longer match. This is the best way to ensure wallet software on a website has not been sneakily substituted for a malicious version which generates bad private keys.
Private keys generated via a website require full trust in the site’s honesty and information security practices. It should go without saying that this is not the recommended method. Many such sites use JavaScript to generate the private key on the client side but this method is not considered sufficiently secure for managing any significant amount of bitcoins. Generation of private keys via smartphone has proven problematic in the past due to a not-so-random random number generator, so such keys should not be used to secure significant amounts.
The most secure way to generate and store a private key is on offline hardware, like an air-gapped computer or custom-purpose device such as a TREZOR or Ledger.
Private Key Generation Methods
Bitcoin Core (formerly Bitcoin QT) uses randomly generated keys. It initialises with a pool of 100 randomly generated keypairs, a term used to describe the combination of an address and its private key. This limited pool of 100 keypairs leads to a problem… Bitcoin experts recommend, for privacy reasons, the generation of a new address every time a payment is requested. Such new addresses are drawn from the pool. After you’ve generated over 100 addresses, it quickly becomes a chore to maintain a perfect backup record. Should you receive a million bitcoins via your 101 st address, suffer a catastrophic hard drive failure and then discover you failed to properly back up the private keys… cue the “and it’s gone” meme.
This problem is solved by Bitcoin Improvement Proposal (BIP) 32 and implemented in Hierarchical Deterministic (HD) Bitcoin wallets, such as Electrum, Mycelium and MultiBit. HD wallets use an algorithm to generate a practically infinite number of addresses from a single seed. This eliminates the tedious necessity of on-going backup procedures. Another advantage of HD wallets is that you may generate further receive-only addresses without using your original seed. You need only access your private key when you wish to spend from these addresses. Yet another advantage is that certain HD wallets, such as Electrum, generate the private key’s seed as a sequence of twelve or twenty-four common words. This makes memorisation or transcription errors far less likely.
Brain wallets are generated by hashing a user input. Generally speaking, anything memorable is easy to break. Crackers have comprehensive lists of common password combinations, words, phrases, lyrics, quotes, etc. in all known languages (including Klingon) which they run through cracking software capable of 1000s of guesses per second on a basic PC. To reiterate, brain wallets are a bad idea.
Что нужно знать о приватном ключе Биткоин (Private Key Bitcoin)
Приватный / закрытый ключ Биткоин (Private Key Bitcoin) — секретная комбинация букв / цифр, предоставляющая доступ к кошельку и криптовалюте в нем. Применяется для совершения необратимых операций и защиты монет. В случае утери его нельзя восстановить. Такой информацией должен владеть только владелец кошелька, ведь от этого зависит безопасность Bitcoin. Рассмотрим, что такое закрытый ключ Биткоин, как он выглядит, для чего нужен, каким образом генерируется и т. д.
Что такое приватный ключ Bitcoin
Private Key Bitcoin — набор цифр и символов, которые шифруются в нескольких форматах и предоставляют доступ к криптовалютному кошельку. По сути, это 256-битное число, создаваемое в случайном порядке при создании аккаунта в хранилище для Биткоин. Кодировка может осуществляться во многих форматах, среди которых WIF (обычный, сжатый), MINI, Base64 и другие.
Используется параллельно с публичным (открытым) ключом, но в отличии от него хранится только у владельца и не разглашается. Для сравнения Public Key Биткоин используется для проведения транзакций и передаче другим пользователям. Имея под рукой Private Key, можно узнать публичный, но при наличии открытого ключа получит доступ к закрытому не получится.
Характеристики:
- Функция — доступ к кошельку, цифровая подпись.
- Вид — от 44 до 64 символов в зависимости от шифрования.
- Способ хранения — доступность только владельцу, полная конфиденциальность.
- Вариант получения — генератор закрытых ключей, создание индивидуального номера.
- Безопасность — невозможность получения информации из публичного ключа или других источников.
Для сравнения публичный ключ применяется в качестве адреса для отправки, имеет максимум 34 символа, находится в открытом доступе и генерируется с Private Key. Информацию можно получить из реестра блокчейн-цепи.
Как выглядит
Приватный Биткоин-ключ — специальный пароль, который кодируется разными способами с учетом особенностей применяемого кошелька. Он может иметь разный вид, но чаще всего представлен в виде набор символов и цифр, которые случайным образом генерируются системой. Их количество все время разное, чтобы усложнить вероятность взлома.
Вид Private Key Bitcoin зависит от применяемого формата:
- WIF. Систем кодирования байтов ключа по формуле base 58 «плюс» контрольная сумма. При создании публичного используется закрытый ключ, что происходит посредством эллиптических преобразований. Байты приватного пароля применяются при вычислении координат первоначальной точки. Число символов — 52 и «5» первая.
- WIF сжатый. Альтернативный способ кодирования приватного ключа. Имеет такую же технологию получения, как и предыдущий вариант. Отличие в том, что в составе больше символов (52). Легко распознать по наличию L или K в начале.
- HEX. В такой кодировке используется шестнадцатиричный формат файла, в котором содержатся необходимые данные для входа в кошелек. Является одним из самых популярных способов кодировки, часто используется при создании приватного ключа. Состоит из 64 символов.
- Base 64 — классический стандарт кодирования данных. Такой формат активно применяется в электронной почте и кодировании закрытых паролей для входа в кошелек Биткоин. Легко распознать по наличию 44 символов.
Для удобства сведем основные форматы Private Key Bitcoin и их особенности в таблицу.
| Формат кодировки | Количество символов | Пример приватного ключа Биткоин |
| WIF | 51, 5 — первая | 5J4XJRyLGgzbXEgh8VNi4qovLzxRftzVd8a18KkdXv4EqAwX3tS |
| WIF-сжатый | 52, К или L первая | KxFC1jnghGoACiATWZ3oXa748VP6ac3TYzGkd7YbsqGLY |
| HEX | 64, от 0 до 9, от A до F | 1E99674A4CA27606A45A1813F0E9E52CFA330AC563EDBB32C8AAC6A578AECA |
| Base 64 | 44 | 5J/4XJRyLGgzbXEgh8VNi4qovLzxRftzVd8a18KkdXv= |
Для чего нужен
Владельцы кошельков Биткоин должны знать, для чего нужен закрытый пароль. Он выполняет несколько функций:
- Обеспечивает хранение криптовалюты. Только владелец хранилища имеет эту информацию и, соответственно, получает доступ к своим монетам. Наличие такого пароля позволяет проводить операции в разных направлениях.
- Подпись проведенных операций. Private Key Bitcoin берет на себя функции цифровой подписи. При передаче криптовалюты другому пользователю система проверяет соответствие адреса с публичным ключом. Так как последний формируется из закрытого, создается надежная цепочка. После получения нужного количества подтверждений транзакция доходит до получателя.
Как работает
При создании закрытого ключа применяется симметричное шифрование, обеспечивающее безопасность транзакции. Сам Private Key представляет собой случайный номер, который нельзя подобрать или угадать. При работе с криптовалютой пользователь получает два пароля: приватный и открытый. На публичном адресе лежат доступные деньги, которые можно отправить другому человеку. Но даже при получении токенов по открытому адресу использовать их без закрытого ключа не получится.
Криптовалютный кошелек хранит Private Key. При создании транзакции программа формирует цифровую подпись с применением этих данных. Такой подход защищает систему от взлома. Также подпись применяется для подтверждения операции и гарантирует ее безвозвратность и принадлежность средств владельцу.
Как создать
Для получения приватного колюча его необходимо создать, а сам процесс зависит от типа применяемого кошелька. В зависимости от типа хранилища пользователь имеет полный контроль над секретной информацией или передает ее другим сервисам. Последний вариант актуален для биржевых площадок, требующих регистрацию и получающих доступ к адресу Bitcoin. При этом Private Key остается только у владельца. Но так бывает не всегда, поэтому перед выбором нужно уточнять этот момент.
Создание закрытого ключа Биткоин возможно следующими способами:
- Программные кошельки: Jaxx, Coinomi и другие. Имеют вид программ, которые устанавливаются на Виндовс, Мак, ОС мобильных устройств и т. д. Могут хранить всю цепочку блокчейн («толстые») или только часть информации («тонкие»).
- Криптовалютные биржи. Требуется регистрация и создание учетной записи. После этого открывается доступ к листингу и криптовалютам. При этом Private Key остаются в пользовании биржевой платформы. После создания аккаунта допускается пополнение счета, торговля виртуальными монетами, вывод денег и т. д. Примеры — Бинанс, Эксмо, Хуоби и другие площадки.
- Онлайн-хранилища. При создании требуют указания электронной почты и пароля. Позволяют просматривать Private Key или не предоставляют такой опции. К наиболее востребованным сайтам можно отнести Блокчейн (blockchain.com).
- Аппаратные кошельки. Выделяются наибольшей безопасностью, предоставляют полный контроль над собственными криптовалютами. Наиболее востребованные модели — Trezor Model T, Ledger Nano X, Ledger Nano S, Trezor Model One и другие.
- Бумажные. Здесь для создания приватного ключа Биткоин применяется специальный сервис. К примеру, это может быть bitaddress.org.
Импорт и экспорт приватных ключей Bitcoin
В процессе пользования криптовалютным кошельком может потребоваться экспорт или импорт виртуальных монет. Для решения задачи важно знать особенности и правила безопасности выполнения работы.
Импорт
Иногда возникает ситуация, когда необходимо перенести закрытый ключ Биткоин, к примеру, из бумажного в программный кошелек. Здесь нужно осознавать, что таким способом создается вторая копия. Такой подход, в свою очередь, негативно влияет на безопасность и повышает риск кражи личных средств.
Альтернативным решением является свиппинг. Он проводится в несколько этапов:
- Создайте новый Private Key в хранилище, который будет применяться в дальнейшем.
- Переведите деньги со старого на новый адрес.
В результате получается новый закрытый пароль, который имеется только у вас на руках и в единственном экземпляре. Применение свиппинга актуально при наличии копии Private Key у другого человека, в случае утери этих данных и наличия мнемонической фразы, а также при желании использовать деньги, когда приватный код находится на бумаге.
Рассмотрим пример импорта на базе программы Bitcoin Core:
- Запустите программу.
- Жмите на кнопку помощи в верхней части окна.
- Кликните на Debug Window.
- Войдите в раздел Console, чтобы ввести команду.
- Разблокируйте кошелек, если он был шифрован с помощью walletpassphrase “пароль программы” 600.
- Введите команду importkey “закрытый ключ”.
- Убедитесь, что новый адрес добавлен в хранилище.
- Заблокируйте хранилище командой walletlock.
После установки импортируйте приватный ключ.
Экспорт
Еще одна ситуация — извлечение Private Key из кошелька Биткоин. Здесь многое зависит от типа применяемого хранилища.
Десктопный
В большинстве случаев владельцы Bitcoin сталкиваются с необходимостью экспорта приватного ключа из десктопных кошельков. Первоначально эти данные хорошо спрятаны, что обусловлено требованиями безопасности. Рассмотрим пошаговые действия по экспорту для популярного кошелька Exodus:
- Жмите комбинацию Ctr+Shift+D. Это необходимо для активации меню разработчика.
- Перейдите в раздел Developer, а далее Assets и Bitcoin. Это необходимо для выбора криптовалюты, которую вы хотите экспортировать.
- В новом окне подтвердите свое желание путем нажатия клавиши «I’m sure».
- Копируйте CSV-файл из папки Exodus Export в надежное место.
- Удалите папку.
Откройте приватный ключ с помощью любого приложения для открытия текстовых файлов. Это может быть Эксель, Блокнот и другие.
Онлайн-кошелек
Иногда возникает необходимость экспортировать Private Key из онлайн-хранилища, к примеру, Блокчейн. В настройках программы не предусмотрено возможностей экспорта ключей. Следовательно, придется использовать другой путь:
- Войдите в «Настройки».
- Перейдите в раздел «Безопасность».
- Кликните на пункт «Фраза для восстановления кошелька».
- Копируйте се слова.
- Перейдите по ссылке iancoleman.io/bip39/.
- Вставьте копированные данные в представленную форму BIP 39 Mnemonic.
- Опуститесь в нижнюю часть страницы в раздел Derived Addresses. Здесь будет адрес, а также открытый / закрытый пароль.
Бумажный кошелек
Отдельного внимания заслуживает экспорт Private Key из бумажного хранилища. Работа выполняется с помощью специального крипта через веб-проводник. Сделайте следующее:
- Перейдите по ссылке bitaddress.org.
- Водите мышкой по специальному полю до достижения 100%.
- Получите QR-коды секретного и открытого ключа.
- Копируйте данные в надежное место.
Как хранить
Приватный ключ Биткоин — главный элемент, позволяющий владеть криптовалютой и контролировать ее. Для обеспечения безопасности имеющихся монет можно использовать разные способы хранения:
- Бумага. Вариант, который подходит для бумажных кошельков. Информацию можно хранить на обычной бумаге путем распечатки или переписывания данных. Такой метод имеет небольшой уровень защиты, ведь кусок бумажник можно потерять, случайно сжечь, намочить или повредить. Для надежности лучше сделать ламинированную или металлическую копию.
- Флешка. Более надежный метод хранения, позволяющий всегда держать Биткоины при себе. Перед добавлением информации на выносное устройство необходимо проверить его на вирусы и удалить вредоносное ПО (при наличии). Здесь имеется несколько вариантов хранения: текстовый документ, wallet.dat, скриншот.
- ПК / ноутбук. Еще один надежный способ, позволяющий сберечь криптовалюту, когда устройство не подключено к Сети и работает. Кроме того, необходимо придумать пароль на файл с ключом и никому него не давать.
- Память. Наиболее надежный метод хранения конфиденциальных данных. Подходит для случаев, когда необходимо запомнить не алфавитно-числовой код, а мнемоническую фразу. Но стоит учесть, что в случае, если вы забудете эти сведения, восстановить доступ уже не получится.
Как восстановить
Наибольшая проблема возникает в случае утери закрытого ключа для доступа к кошельку Биткоин. При этом на руках остается только адрес, который имеется у многих пользователей, а не только у владельца. В таком случае имеется несколько путей:
- Использование мнемонической фразы для восстановления. В частности, с ее помощью можно сгенерировать приватный ключ. Для этого применяется сервис iancoleman.io/bip39, о котором упоминалось выше. Кроме того, сид-фразу можно использовать для восстановления доступа к аппаратному хранилищу.
- Обращение в службу поддержки кошелька. При этом собственнику необходимо доказать свое право на криптовалюту. В ином случае восстановить доступ не получится. Кроме того, далеко не во всех случаях служба поддержки может помочь в возврате доступа.
- Применение специальной утилиты. Наиболее сложный случай, когда файл с закрытым ключом удален, а резервная копия отсутствует. Решением является применение R Studio. Возможности софта позволяют восстановить жесткий диск, если это нужно, или конкретные файлы. Софт можно скачать по ссылке r-studio.com/ru/. Софт поддерживает разные ОС, позволяет реконструировать поврежденные дисковые материалы, создавать образ и решать другие задачи. Для восстановления жмите на диск и запустите процесс сканирования. При наличии оранжевых секторов вероятность восстановления меньше.
Правила безопасности
Для защиты личных сбережений Биткоин необходимо следовать нескольким правилам безопасности:
- Используйте 2-факторную аутентификацию с помощью приложения Google Authentication. Это особенно актуально при работе на биржевых платформах.
- Устанавливайте только надежные пароли на своих кошельках.
- Храните закрытый код в надежном и недоступном для третьих лиц месте.
- Пользуйтесь только проверенными программами для хранения. Наибольшим спросом пользуются аппаратные хранилища.
Итоги
Приватный / закрытый ключ Биткоин — главный код, обеспечивающий доступ к вашим деньгам на криптовалютном кошельке. В случае его утери придется очень постараться для восстановления средств, а в некоторых случаях это и вовсе невозможно. Чтобы избежать негативных последствий, ответственное подходите к хранению криптовалюты Bitcoin, используйте только надежные хранилища и никогда не передавайте Private Key посторонним.
Русские Блоги
Процесс генерации приватного ключа и адреса биткойнов
Биткойн-кошелек содержит серию пар ключей, каждая из которых имеет открытый ключ (PublicKey) и закрытый ключ (PrivateKey). Закрытый ключ — это шестнадцатеричная строка, хешированная случайно сгенерированной цифровой строкой. Закрытый ключ может быть использован для генерации открытого ключа с помощью алгоритма шифрования эллипса, а затем из открытого ключа может быть сгенерирован адрес Биткойн. От закрытого ключа к открытому ключу к адресу биткойна — это процесс односторонней генерации, то есть невозможно изменить открытый ключ с адресом биткойна или секретным ключом из открытого ключа. 
Закрытый ключ
Суть закрытого ключа — это 256-битное случайное число, состоящее из 0 и 1. Неважно, как генерируется это случайное число, если оно непредсказуемо и не повторяется, например, вы можете рассматривать лицевую и обратную сторону монеты как 0 И 1, а затем случайным образом подбрасывать 256 раз, строка записанных чисел может использоваться в качестве личного ключа. В биткойнах формат закрытого ключа состоит в том, чтобы отображать это 256-битное случайное число в виде 64-битного шестнадцатеричного числа, то есть 64 (шестнадцатеричное число занимает 4 бита). «Искаженный» состоит из чисел. Вот закрытый ключ:
Некоторые люди могут задаться вопросом, будет ли дублирован этот закрытый ключ, то есть два идентичных закрытых ключа.Размер пространства закрытого ключа биткойна составляет 2 ^ 256, что составляет около 10 ^ 77 в десятичном виде. Во вселенной число атомов находится между 10 ^ 78 и 10 ^ 82, поэтому пространство закрытого ключа является большим числом, и можно считать, что не существует двух идентичных закрытых ключей.
Открытый ключ
Открытый ключ — это умножение закрытого ключа на эллиптическую кривую ( K = k * G ,из их k Это закрытый ключ, G Является ли постоянная точка, называемая точкой генерации, и K Получается по алгоритму «открытый ключ»), что является необратимым процессом, то есть невозможно обратно вычислить закрытый ключ, рассчитанный из открытого ключа.
Алгоритм шифрования эллиптической кривой
Эллиптическая кривая шифрования(Нажмите на ссылку, чтобы узнать больше). Это асимметричный метод шифрования, основанный на проблеме дискретного логарифма, который может быть выражен путем добавления или умножения точек на эллиптической кривой. На следующем рисунке приведен пример эллиптической кривой:
Биткойн использует Национальный институт стандартов и технологий (NIST) secp256k1 Специальная эллиптическая кривая и ряд математических констант, определенных стандартом. Кривая secp256k1 определяется следующей функцией, которая может генерировать эллиптическую кривую, а затем использовать эту кривую для генерации открытого ключа. 
Создать открытый ключ
Как упоминалось ранее, закрытый ключ в биткойнах может быть получен после вычисления умножения эллиптической кривой, и процесс необратим, то есть открытый ключ может быть получен только из закрытого ключа, а не из правильного открытого ключа. Процесс расчета кривой умножения.
Во-первых, ранее упомянутый закрытый ключ и точка генерации G Умножьте, чтобы получить открытый ключ K :
Открытый ключ K Определяется как точка K = (x, y) из их
Наша цель — найти точку генерации G Несколько точек kG На эллиптической кривой добавление точек эквивалентно рисованию касательной из этой точки, чтобы найти другую точку, которая пересекает кривую и затем сгибается по оси x. На рисунке ниже показаны геометрические операции нахождения G, 2G и 4G на эллиптической кривой. 
Биткойн-адрес
Биткойн-адрес получается из открытого ключа через серию однонаправленных хеш-алгоритмов. Алгоритм хэширования — это односторонняя функция, которая может принимать любую длину ввода для генерирования отпечатка пальца или хэша. Алгоритмы, используемые для генерации адреса Биткойн из открытого ключа, — это алгоритм безопасного хэширования (SHA) и дайджест сообщения оценки примитивов RACE (RIPEMD). SHA256 с RIPEMD160 。
Открытый ключ K В качестве входных данных рассчитайте его SHA256 Хеш, а затем рассчитать RIPEMD160 Хэш, получающееся 160-битное (20-байтовое) число является адресом биткойнов.
Однако мы обнаружим, что сгенерированный биткойн-адрес отличается от того, что обычно видят наши пользователи. Это связано с тем, что для улучшения читаемости, избежания неоднозначности и эффективного предотвращения ошибок в транскрипции и вводе адресов мы видим бит Адрес валютыBase58CheckЗакодированная, следующая диаграмма описывает процесс генерации биткойн-адреса из открытого ключа: 
Как создается приватный ключ в кошельках с seed-фразой и без неё
![]()
Обычно криптокошельки при создании генерируют seed-фразу, которую нужно запомнить или записать, чтобы потом иметь возможность восстановить доступ к активам. Но ведь Tangem Wallet работает без нее. Как это происходит и почему мы считаем, что seed-фраза не очень безопасна?
Для начала надо разобраться, что это вообще такое. Если максимально упростить, то получится примерно так: это мнемоническая фраза, в которой закодированы приватный и публичный ключи пользователя. А благодаря вычислительной магии из этого рандомного набора слов всегда будет генерироваться один и тот же набор ключей.
Криптодеревья
Для начала стоит сказать пару слов о самих криптокошельках. Подавляющее их большинство — это иерархические детерминированные кошельки (Hierarchical deterministic wallet, HD).
Криптокошелек представляет собой «дерево» приватных и публичных ключей, благодаря которым вы получаете доступ к своей криптовалюте в разных блокчейнах и можете ей управлять. Вырастает это дерево из энтропии — случайного числа, определенного генератором случайных чисел. Корневая система — это зерно (seed), ствол — пара расширенных ключей (приватный и публичный), а ветви — это огромное множество пар ключей и адресов монет в блокчейнах.
Каждый дочерний ключ может генерировать свои ключи, которые могут генерировать свои ключи, и т. д. — в результате создается определенная система иерархии. Поэтому кошельки и называют иерархическими.
А «детерминированность» (то есть однозначная предопределенность результата) здесь появляется потому, что из одной и той же мнемонической фразы всегда будет генерироваться одно и то же дерево ключей одним и тем же способом.
Приватные и публичные ключи в HD криптокошельках с seed-фразой
Мнемоническая фраза (код) — это набор слов, сгенерированный из случайного числа, в свою очередь, определенного генератором случайных чисел. Именно ее, а не сам приватный ключ, в большинстве случаев используют для бэкапа (резервной копии ключа). Мнемоническую фразу обычно называют seed-фразой.
Как это работает
Итак, вы создаете криптокошелек. Что в этот момент происходит и как создается мнемоническая фраза?
1. В первую очередь генератор случайных чисел генерирует энтропию.
Энтропия — это очень большое случайное число, которое никогда никем не генерировалось и больше никогда никем не будет сгенерировано.
2. Сгенерированная энтропия при помощи математических алгоритмов кодируется в цепочку слов из специального словаря. На выходе получается мнемоническая фраза.
3. Мнемоническая фраза преобразовывается в seed (не путайте с seed-фразой!). Seed — это преобразованная версия мнемонической фразы. Для преобразования используется хеш-функция.
Хеш-функция — это математический алгоритм, который сжимает данные любого размера в массив данных фиксированного размера. Входящие данные называются сообщением, а исходящие — хеш-суммой или просто хешем. Одна из главных особенностей хеш-функции состоит в том, что она однонаправленная, это значит, что из её результата (хеша) невозможно восстановить исходные данные. Еще одна важная для понимания деталь: когда входящие данные не меняются, хеш-сумма всегда будет одной и той же.
4. Из seed вычисляется мастер-ключ (extended master key). Это первый ключ, который вы получаете при преобразовании seed-фразы. Преобразование производится также при помощи хеш-функции.
5. Из мастер-ключа вычисляется расширенный приватный ключ (Xprv).
6. Из расширенного приватного ключа генерируется расширенный публичный ключ (Xpub).
Вы получили главную пару ключей, из которых создается огромное множество дочерних связок ключей для разных блокчейнов. Теперь можно пользоваться кошельком: хранить, отправлять, получать, обменивать монеты и токены и т.д.
![]()
Если с вашим криптокошельком что-то случится, для восстановления всей иерархии ключей и, соответственно, полного доступа ко всем монетам и токенам, вам понадобится мнемоническая фраза. Поэтому ее нужно записать где-то на бумажке и хранить в надежном месте.
Что плохого?
Мнемоническая фраза дает возможность без проблем восстановить всю вашу криптовалюту в случае утери, кражи или поломки вашего кошелька и… похитить все ваши криптоактивы, если попадет в руки злоумышленникам.
Задумайтесь на минутку, разработчики криптокошельков создают инновационные устройства, соревнуются в их безопасности, стараются максимально их защитить, как программно, так и физически. Ваши ключи от криптовалюты генерируются путем сложнейших математических алгоритмов, данные при помощи криптографии многократно шифруются для обеспечения максимальной сохранности ваших активов.
А доступ к вашей криптовалюте расписан на бумаге. Дюжина-две слов на ничем не защищенном листочке — мастер-ключ от всех ваших активов в открытом виде. Чтобы скомпрометировать ключ, достаточно сфотографировать, переписать или просто запомнить слова — и вы об этом даже не узнаете. А ещё листок с мнемонической фразой легко повредить или потерять.
Конечно, можно зашифровать фразу, разделить на части, хранить их в разных местах или арендовать для seed-фразы ячейку в банке. Но многие ли так делают? Особенно новички в мире крипты.
Из всего этого можно сделать объективный и обоснованный вывод: seed-фраза в открытом виде — существенный изъян существующих криптопродуктов, серьезная прореха в безопасности современных криптовалютных кошельков.
Приватные и публичные ключи в криптокошельке Tangem Wallet без seed-фразы: как это работает
Tangem Wallet — это такой же иерархический детерминированный кошелек, как и его аналоги, только без их главной уязвимости — мастер-ключа от всех криптоактивов в открытом незащищенном виде, то есть мнемонической фразы в распоряжении пользователя.
При генерации мастер-ключа, пары расширенных ключей (приватного и публичного) и остальных связок ключей и адресов используется точно такой же алгоритм, как и в других кошельках, но без этапа создания мнемонической фразы — seed генерируется прямо из энтропии.
Ключ генерируется чипом карты, в нем же и хранится. Получить его не может никто. Ни тот, кто украдет карту, ни компания Tangem, ни даже сам пользователь. А в качестве резервной копии используется не мнемоническая фраза, а другие карты из комплекта Tangem Wallet (одна или две, в зависимости от того, какой вариант вы выбрали). При создании бэкапа между картами посредством смартфона устанавливается зашифрованный канал, по которому ключи передаются с одной карты на другую.
После завершения бэкапа ключей вы получаете две либо три идентичные копии кошелька — равнозначные карты с одинаковыми ключами и парольной защитой. Рекомендуем хранить их не вместе, а в нескольких надежных местах. Что-то случится с одной картой — берите вторую и пользуйтесь. Потеряете вторую — это уже опасно, бэкапа нет, в таком случае покупайте новый комплект Tangem Wallet и переводите свои криптоактивы на него.
Как пользоваться кошельком кошелек без seed-фразы? Все просто:
- когда хотите купить криптовалюту, вы формируете в мобильном приложении необходимую транзакцию, прикладываете карту к смартфону и вводите пароль;
- смартфон через NFC передает данные на чип;
- чип проверяет пароль, подписывает транзакцию приватным ключом и возвращает цифровую подпись приложению;
- приложение отправляет подписанную транзакцию в блокчейн.
А что если…
…Tangem закроется, сервер отключится, приложение пропадет из Google Play и AppStore? Ответ прост — ничего. Вы можете без проблем пользоваться криптокошельком Tangem Wallet. Подробнее читайте об этом в нашей статье «Как будет работать кошелек Tangem без компании Tangem» .