Unique numbers used for sending and receiving batches of bitcoins.
What is a private key, a public key, and an address?
To send and receive money in bitcoin you need an “account number” and a “password”.
In bitcoin we call these a public key and a private key .
Here are your account details. Welcome to Bitcoin.
However, this “account number” is awkwardly long number. So to make life easier we create a condensed version of this public key, and we call it our address .
You’ll see how hideous the public key is in a moment.
And that’s the role of the private key, the public key, and the address.
Where do keys and addresses come from?
Private Key
It all starts with the private key , which is just a randomly generated number:
But because this number is so large, computers (and bitcoin) like to work with it in hexadecimal format:
Hexadecimal numbers are shorter than decimal numbers because they also use the letters a,b,c,d,e and f
And there we have a private key… just a big random number (in hexadecimal format).
A private key can be any number between 1 and 115792089237316195423570985008687907852837564279074904382605163141518161494336.
Public Key
You use your private key to create your public key .
But first of all, this public is going to be seen by other people. Therefore, when we use the private key to create our public key, we don’t want it to be possible for anyone to figure out what our private key was.
Because after all, the private key protects our bitcoins.
Even though the public key is made from the private key, we don’t want anyone to be able to work backwards from it.
Fortunately we can use a special type of mathematical function to achieve this.
We just shove the private key in to it (which is a number after all), and the function spits out a public key (a new number).
Now, there are two benefits of using this particular function:
This function returns a public key that is mathematically connected to our private key. This will come in handy when we want to send bitcoins in a transaction.
It’s like starting with a key and creating a padlock from it.
Even though the public key is connected to the private key, it’s not possible to figure out what the private key is from the public key. And this is why we use this particular mathematical function… because it’s a “one-way” function.
And ta-da, thanks to our random number and this function, we now have a pair of keys that we can use to send and receive money in bitcoin.
Oh yeah, that public key is hideous isn’t it. Nobody is going to enjoy typing that out, so let’s make it more practical and call it an address .
Thank goodness for that!
All we’ve done here is compress the public key, and used a format that doesn’t make use of any characters that look similar to each other when written down (i.e. no “0”, “O”, “I” or “l”).
So no, it still doesn’t quite roll off the tongue, but it is an improvement.
And that’s all an address is – a shorter/easier version of the public key.
Due to the way the public key has been compressed, it’s not possible to work out the public key from the address.
Do I have to remember all 3 of these keys?
Because your public key and address are worked out from your private key, you can get away with just saving your private key.
Remember, your public key (and address) are worked out from your private key.
So if worst comes to worst, if you ever need to send your address to someone, you can just work it out from your private key.
In everyday life, it’s practical to keep note of your private key and address, because your address is what you give to people when you want to receive bitcoins.
What happens if I lose my private key?
Well then you’re fu lly out of luck.
It’s impossible to work out your private key from either your public key or address, so if you lose your private key, it’s lost.
And if you haven’t got the private key for an address, any bitcoins located at that address will be locked there forever.
How’s that for security?
This may seem like an unforgiving system, and that’s because it is.
On the other hand, it’s refreshing to know that there are no backdoors to your money. There is only one key to your bitcoins, and you’re in charge of it.
By Greg Walker, 06 May 2015
Last Updated: 25 Aug 2020
25 Aug 2020: Updated private key pages to indicate that a private key can be any number between 1 and (n-1) and not between 1 and (n), where n=115792089237316195423570985008687907852837564279074904382605163141518161494337 and is the order of the curve.
30 Mar 2020: corrected base58 chars removed
28 Mar 2020: updated html for h1 headers and subheadings — now dynamic from yaml
28 Mar 2020: updated html for h1 headers and subheadings
15 Oct 2019: updated CSS and router to use pandoc 2.7 (from 1.19)
09 Oct 2019: renamed browser to explorer, glossary to guide, and guide to beginners
I’ll let you know about cool website updates, or if something seriously interesting happens in bitcoin.
Источник
Приватный ключ биткоина (private key) – что это такое, как выглядит, как получить и безопасно сохранить
Сегодня рассмотрим значение слов «приватный ключ биткоина» – для чего он нужен, как получить и как правильно хранить.
В то время как публичный ключ, или адрес, представляет собой средство идентификации кошелька, подобие логина, приватный ключ – строго конфиденциальная информация. Внешне выглядит как набор символов, введя которые, пользователь получает доступ к управлению счетом. Приватные (их еще называют частными или закрытыми) ключи хранятся в специальном файле, публичные –формируются криптографическим методом именно на основе приватных.
Как внешне выглядят публичный и приватный ключи кошелька биткоина
Приватный ключ биткоина кодируется в следующих форматах: Base64, MINI, Hex, WIF, сжатый WIF. Все они взаимосвязаны и преобразуются один в другой:
Формат WIF (51 символ, «5» в начале): 5JPeWYZx922hXi49Lg2RJPwLfqcmDGS9YegMNgANvx8cJa6kNK8.
Большинство криптовалютных кошельков, используют для хранения приватных ключей WIF-сжатый формат (52 символа, начинается с «L» или «K»): KykxZQLSNPYVtYCsoqFGFnEqpRar997zihJgvfrPo8LapFrAtaea.
На картинке один приватный ключ биткоина в разных форматах:
Публичный адрес (ключ)
Внешний вид публичного биткоин-ключа в различных форматах:
Наиболее используемый в кошельках — короткий адрес. Он имеет вид 1BSUkuwtdM7gkdy6W4Q954gNKWBgy4A19Q и всегда начинается с единицы или тройки (segwit address).
Публичные ключи (public key) видны всем желающим и используются как адрес для отправки или получения биткоинов. В одном кошельке можно сгенерировать неограниченное количество публичных ключей. Каждому будет соответствовать свой приватный ключ.
Как создать приватные биткоин-ключи
При создании любого кошелька для биткоина создается приватный ключ. В зависимости от вида бумажников можно обладать контролем над ними или нет. Последний случай больше относится к онлайн-сервисам, на которых можно пройти простую регистрацию, получить адрес биткоина, но приватные ключи не доступны. Контроль над ними имеют владельцы данных онлайн-кошельков. Поэтому рекомендуем выбирать криптокошельки с возможностью выгрузки приватных ключей или сохранением seed.
Локальные. Устанавливаются на десктопные или мобильные устройства. К ним относят Jaxx, Electrum, Coinomi, Exodus и другие. Делятся на «тонкие» и «толстые», в зависимости от способа обращения к блокчейн-сети.
Онлайн-кошельки. Для их создания обычно нужно указать email и пароль. Такие сервисы могут предоставлять возможность просмотра приватных ключей или не иметь такой функции. Популярные сайты для хранения криптомонет: blockchain.com.
Биржи криптовалют. После создания счета доступны кошельки для криптовалют, которые в листинге площадки. Приватные ключи не предоставляются. Можно вносить депозит на предоставленный адрес, торговать криптовалютой и совершать вывод. Популярные торговые платформы: LocalBitcoins (ЛокалБиткоинс), EXMO, Binance, Huobi, BitMEX и другие.
Аппаратные кошельки. Наиболее безопасный вариант сохранить криптоактивы в безопасности. Владелец имеет полный контроль над всеми приватными ключами, а их кража невозможна. Выпускают аппаратные устройства Ledger, Trezor и другие.
Бумажные. Это может быть просто записанный приватный ключ на бумаге или сервисы, которые его генерируют и предоставляют возможность распечатать и сохранить. Способ относится к «холодному» хранению криптовалют.
Как получить (экспортировать) приватный ключ биткоина
Бывают ситуации, когда необходимо получить свой приватный ключ из кошелька для тех или иных целей. Разберем, как это сделать.
Извлечение (экспорт) приватных ключей из криптокошельков
В качестве примера используется «тонкий» десктопный кошелек Exodus. В нем нужно произвести операцию экспорта приватного биткоин-ключа. Изначально она надежно скрыта, поскольку разработчики справедливо считают, что неопытному пользователю лучше не пытаться ее произвести. Неверные действия чреваты потерей средств из кошелька.
Инструкция по экспорту:
Активировать «Developer Menu». В Windows и Linux это действие производится нажатием сочетания клавиш Ctrl+Shift+D.
Выбрать ту криптовалюту, частный ключ которой интересует в текущий момент. Перейти по пунктам: «Developer» – «Assets» – «Bitcoin» или иная выбранная валюта – «Export Private Keys».
В появившемся окне подтвердить свое желание нажатием кнопки «I’m sure».
На рабочем столе появится папка под названием «Exodus-export», внутри – файл формата CSV. Это файл скопировать в надежное место, папку сразу удалить.
Открыть файл можно через текстовый редактор Libre Office, Wordpad, Exel, стандартный Блокнот и т. д. В графе «PRIVKEY» будет буквенно-цифровое сочетание – это и есть приватный (закрытый) ключ биткоина:
Получение приватного ключа из онлайн-кошелька Blockchain
Рассмотрим, как получить приватный ключ в популярном онлайн-кошельке Блокчейн. В настройках функции экспорта ключей нет. Нужно воспользоваться seed-фразой, которая находится по адресу «Настройки» — «Безопасность» — «Фраза для восстановления кошелька». Скопировать все слова и перейти в генератор iancoleman.io . Указать количество слов (12) и вставить их в форму «BIP39 Mnemonic».
Опуститься вниз страницы в раздел «Derived Addresses». В нем будет адрес, публичный и приватный ключ.
Получение ключа в бумажного кошельке
Бумажные кошельки генерируют приватные ключи локально с помощью выполнения скрипта в браузере.
После сбора случайной энтропии высветится сжатый адрес биткоина и приватный ключ в сжатом WIF-формате. Что с ними делать, понятно по картинке:
Сервис для создания бумажных кошельков: bitaddress.org.
Что такое детерминированный кошелек (HD wallet), seed фраза
В 2011 году для решения ряда проблем с анонимностью разработчики Bitcoin Core выпустили такую разработку, как HD Wallet. HD расшифровывается «hierarchical deterministic», то есть «иерархически детерминированный». Звучит непонятно, но по факту все не так сложно.
В контексте криптовалют словом «иерархия» обозначают связь между элементами. В данном случае появляется возможность использовать один адрес для выяснения второго, а также применять секретную seed-фразу для генерации сразу многих связанных между собой адресов.
Пример seed (backup phase) в кошельке Blockchain (всего 12 слов):
«Детерминированная» система – та, где недопустимы никакие случайности в процессе формирования будущих состояний. То есть конкретные вводные данные всегда будут выдавать конкретный результат.
Преимущества технологии HD wallet:
Усиление анонимности. Владелец HD wallet обладает одной копией программного бумажника с одним тайным ключом (называемым также «семя» или «master key»). При объединении семени с хеш-функциями образуется бесконечное количество связанных между собой адресов. Связь невидима со стороны. Это адреса называют «дочерними».
Легкость запоминания сид-фразы. Записать или выучить код из 12 слов намного легче, чем хранить приватные ключи для каждого отдельного адреса биткоина.
Комфортное резервное копирование. Многие пользователи сталкиваются с проблемами резервного копирования мобильных кошельков на iOS или Android – возникает необходимость использовать один и тот же ключ, а это прямая угроза для безопасности. HD кошелек вообще не требует создания резервных копий, достаточно распечатать или сохранить в надежном месте сид-фразу.
Технология реализована в надстройке Armory для Bitcoin Core, кошельках Electrum, MultiBit HD, BitGo, CarbonWallet, The Hive, Mycelium Bitcoin Wallet, Green Address, Trezor и других.
Как безопасно хранить приватные ключи
Используя интернет-кошельки, следует понимать, что ключи хранятся на серверах компании-разработчика. Пользователь лично владеет private key лишь в случае использования десктопных, аппаратных или бумажных кошельков.
Варианты хранения кода:
На бумаге.
На флешке в виде скриншота или фотографии, pdf-файла.
На жестком диске, в том числе съемном.
На физической монете, металлической пластине (своеобразный аналог аппаратного «холодного» кошелька в форме криптовалютной монеты).
В памяти.
Ни один из перечисленных способов не дает 100%-ную гарантию сохранности ключа, в каждом случае есть вероятность физического повреждения, взлома или кражи. Так что выбор каждый делает, исходя из своих соображений.
В Сети сейчас много злоумышленников, которые мечтают украсть приватный ключ биткоина. Они могут соблазнять бесплатными токенами, предлагать получить новые монеты, а взамен просят загрузить в сеть или созданную ими программу частный ключ. Делать этого ни в коем случае нельзя.