- [TLDR Guide] Bitcoin Private Key, Public Key, and Public Address
- 1. Private key
- 2. Public key
- 3. Public address
- Что такое публичный ключ биткоина и зачем он нужен
- Что такое публичный ключ биткоина (адрес)
- Виды публичных ключей биткоина
- Как узнать открытый ключ
- Роль адреса в отправке транзакций
- Система использования публичных ключей
- Keys & Addresses
- What is a private key, a public key, and an address?
- Where do keys and addresses come from?
- Private Key
- Public Key
- Address
- Do I have to remember all 3 of these keys?
- What happens if I lose my private key?
[TLDR Guide] Bitcoin Private Key, Public Key, and Public Address
A public-key cryptography (or asymmetrical cryptography) is one that uses pairs of keys: 1. public key (open to anyone); and 2. private key (only known to the owner). In the case of Bitcoin which uses such cryptography, then what is the relationship between one’s private key, public key, and public address??
1. Private key
A private key is essentially a randomly generated, 32-byte number.
2. Public key
A public key can be derived from the private key using what’s called Elliptic Curve Cryptography. Bitcoin uses a specific elliptic curve called secp256k1 over the finite (prime) field of (2²⁵⁶-2³²-2⁹-2⁸-2⁷-2⁶-2⁴-1) number of elements, using the generator point (on the curve) G=(x, y) where (in hexademical):
Formula: public key = ( private key) * G
Elliptic curve: y² = x³+a x+b
secp256k1 curve: y² = x³+7
There exists a group law on the set of all points on a given elliptic curve. There’s even what’s called a point at infinity on the curve.
In the formula, note that the multiplication (a number times a point) is done via group law on the elliptic curve.
3. Public address
Public key → 8-step process involving concatenation, hash functions (SHA-256 and RIPEMD-160), and Base58Check → public address
A hash function h() is one that can be used to map data of arbitrary size to data of fixed size. It satisfies two properties: 1. one-way — given h(x)=y, it’s computationally infeasible to find z such that h(z)=y; and 2. collision-free — it’s computationally infeasible to find x and y such that h(x)=h(y).
Источник
Что такое публичный ключ биткоина и зачем он нужен
Пара ключей (приватный и публичный) — это основные инструменты, которые позволяют пользоваться криптовалютным кошельком и совершать любые операции с активами.
О том, что такое приватный ключ, мы уже рассказывали в одной из наших статей, а в этом материале мы поговорим, что такое публичный ключ биткоина.
Что такое публичный ключ биткоина (адрес)
Публичный ключ биткоина — это уникальный набор символов, состоящий из букв и цифр. Это адрес, на который другие пользователи могут отправлять криптовалюту. Второе название — адрес криптовалютного кошелька.
Публичный ключ привязан к приватному. Однако если последний представляет собой секретную информацию, то первый является публичным, и все могут отследить его в блокчейне. Публичный ключ имеет несколько форматов, каждый из которых легко преобразуется в другой.
Состоит публичный ключ биткоина из 26-35 символов, которые могут быть буквами латинского алфавита (кроме O, l и I) в нижнем и верхнем регистре и цифрами (кроме 0). Выглядит биткоин-адрес примерно так:
Также при создании кошелька пользователь получает адрес в виде QR-кода для простоты использования — если нужно отправить биткоины на определенный адрес, то можно просто просканировать код.
Виды публичных ключей биткоина
Есть два типа публичных ключей биткоина.
Обычный — начинается с 1, и для получения средств на него пользователь должен подтвердить то, что знает закрытый ключ. Он выглядит вот так:
Второй вариант — публичный ключ с мульти-подписью. Он начинается с 3, и для получения средств пользователь должен иметь больше одного закрытого ключа. Пример:
Как узнать открытый ключ
Если вы используете биткоин-кошелек, то публичный ключ можно найти настройках. Если же у вас на руках только закрытый ключ, то самым простым способом будет перенести его в кошелек (смотрите раздел «Свиппинг» в указанной выше статье о приватном ключе), а потом уже узнать его в интерфейсе.
Место хранения адреса зависит от используемого кошелька, но обычно есть два варианта:
- Перейдите по Настройки — Адреса. В некоторых кошельках по умолчанию установлена функция создания нового адреса при каждой входящей транзакции. Это сделано с целью повышения анонимности пользователя. Но если вы не нуждаетесь в этой функции, то можно поменять настройки, установив галочку напротив опции «Вечный адрес». Но ничего страшного не произойдет, если вам отправят криптовалюты на любой из уже используемых ранее адресов — они просто перенаправятся на актуальный. Чтобы увидеть все адреса, привязанные к приватному ключу, нужно перейти в раздел «Управление адресами».
- Перейдите в раздел «Кошелек — Баланс» и нажмите на кнопку пополнения кошелька. На экране появится строка «Адрес кошелька для пополнения вашего баланса» — это актуальный адрес, который можно скопировать и передать отправителю.
Дополнительную информацию вы найдете в этом видео:
Как узнать адрес биткоин-кошелькаРоль адреса в отправке транзакций
Основная роль публичного ключа — это указание пути, на который будут отправлены биткоины. Однако для того чтобы получить средства, нужно обязательно знать приватный ключ.
Также если вы не уверены в том, что адрес принадлежит конкретному человеку, существует способ проверить это. Пользователь может попросить владельца адреса отправить подписанное сообщение. При помощи алгоритма криптовалют майнеры проверяют, что приватный и публичный ключ из полученного сообщения составляют одну пару, и сообщение было подписано реальным получателем. Таким образом можно убедиться, что адрес действительно верный, и вы не отправите биткоины в «небытие».
Система использования публичных ключей
Прежде всего нужно понимать, что адрес и кошелек — это не одно и то же. Адрес или приватный ключ биткоина — это «путь», который позволяет принимать транзакции. Кошелек — это ПО, которое, по сути, состоит из приватного ключа и одного или множества публичных ключей. Он хранит в себе информацию обо всех ранее использованных ключах, а также входящих и исходящих транзакциях биткоин. Кроме того, в кошелек могут быть встроены дополнительные функции, повышающие анонимность транзакций.
А теперь о том, как технически проходит транзакция.
После того как сгенерирован приватный ключ, на его основе создается публичный ключ биткоина, состоящий из ряда символов (максимум 35) и отображается на экране в виде QR-кода.
При повторном использовании приватного ключа на его основе заново генерируется рандомный адрес. Но, как уже говорилось выше, данную функцию можно отключить и использовать «вечный» адрес. Каждый ключ весит около 500 байт, благодаря чему даже на мобильных кошельках можно хранить множество адресов.
Процесс создания публичных ключей основывается на рандомном подборе символов и решении сложных математических задач. За минуту алгоритм может создавать до 1000 адресов, причем некоторое ПО позволяет генерировать публичные ключи без выхода в интернет. Есть очень маленькая вероятность, что к двум разным закрытым ключам будет привязан один и тот же публичный, однако она составляет всего лишь 1:43 млрд.
Когда вы вводите адрес, нужно быть предельно внимательным и осторожным, потому что ошибка даже в одном символе приведет к тому, что биткоины просто не дойдут к получателю, а транзакции в блокчейне являются необратимыми. Именно поэтому рекомендуется копировать адрес или отправлять криптовалюту через сканирование QR-кода приватного ключа.
Тем, кто только знакомится с миром криптовалют, очень важно понимать роль и значение публичных ключей биткоина, так как правильное обращение с ними гарантирует то, что транзакция дойдет до своего получателя. Также зная принцип генерации и работы биткоин-адресов, можно сделать транзакции более анонимными. В любом случае, прежде чем нажать на кнопку «Отправить», лучше еще раз перепроверить правильность введенного адреса, или для большей уверенности пользоваться QR-кодами.
Источник
Keys & Addresses
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).
Private Key | ef235aacf90d9f4aadd8c92e4b2562e1d9eb97f0df9ba3b508258739cb013db2 |
---|
Private Key | ef235aacf90d9f4aadd8c92e4b2562e1d9eb97f0df9ba3b508258739cb013db2 |
---|---|
Public Key | 02b4632d08485ff1df2db55b9dafd23347d1c47a457072a1e87be26896549a8737 |
Private Key | ef235aacf90d9f4aadd8c92e4b2562e1d9eb97f0df9ba3b508258739cb013db2 |
---|---|
Public Key | 02b4632d08485ff1df2db55b9dafd23347d1c47a457072a1e87be26896549a8737 |
Address | 1EUXSxuUVy2PC5enGXR1a3yxbEjNWMHuem |