Что такое Public Key?
Public Key это общая часть криптографии вашего кошелька которую можно показывать другим. Люди используют её чтобы найти вас и проверить подписи в то время как ваши секреты остаются скрытыми. Представьте это как адресную табличку на почтовом ящике: её видят все открыть ящик можете только вы.
«Если кто-то знает мой Public Key они могут забрать мои монеты.» Нет. Вы тратите с помощью вашего приватного ключа. Public Key лишь позволяет другим проверять ваши подписи и направлять средства вам.
Как работает Public Key
Краткое объяснение без лишнего. Представьте что вы отправляете другу немного криптовалюты после обеда.
- Шаг 1: Ваш кошелек создаёт секретный ключ и вычисляет соответствующий Public Key в фоновом режиме.
- Шаг 2: Когда вы нажимаете отправить кошелек подписывает транзакцию секретом сеть может проверить подпись с помощью Public Key.
- Шаг 3: Друг делится одним из своих адресов это краткая форма полученная из их Public Key и вы отправляете средства на этот адрес.
- Шаг 4: Ноды проверяют математические операции чтобы убедиться что подпись соответствует публичной информации.
- Шаг 5: Та же схема работает для входа в приложения для проверки сообщений и в других случаях.
Вот такой процесс он прост и предсказуем.
Зачем нужен Public Key
Почему это стоит знать даже если вы просто интересуетесь криптовалютой:
- Преимущество: Открытое доверие: любой может проверять транзакции не видя ваших секретов.
- Особенность: Это основа входа через кошелек и проверки сообщений но остерегайтесь поддельных запросов на подтверждение.
- Актуальность: Ваша идентичность в блокчейне и голосование в DAO часто зависят от тех же криптографических ключей голосование.
Если в вашей цепочке используются адреса делитесь ими вместо прямого раскрытия Public Key. Средства попадут по тому же адресу конфиденциальность выше и меньше ошибок при копировании.
Основные свойства Public Key
Черты которые полезно знать:
- Можно публиковать: Его безопасно размещать или отправлять, он не может переводить средства.
- Происходит из секрета: Получается из секретного ключа с помощью сложной математики обратный расчёт практически невозможен.
- Асимметричный: Одна часть подписывает другая проверяет это обеспечивает открытую верификацию.
- Форматы: Может быть в сжатом несжатом или xonly формате в зависимости от кошелька.
- Переносимый: Работает в приложениях которые поддерживают одну и ту же цепочку и кривую.
Как вычисляется Public Key?
В Биткоине и многих других цепочках публичная точка K вычисляется умножением секретного числа k на известную базовую точку G на эллиптической кривой secp256k1.
K = k × G Здесь k это ваше секретное целое число G это согласованная начальная точка и все вычисления ведутся в конечном поле что делает обратный расчёт крайне непрактичным.
Варианты
Разные варианты представления:
- Сжатая: Укороченная форма которая хранит координату x и небольшой намёк на y.
- Несжатая: Более длинная форма которая включает обе координаты x и y.
- Xonly: Используется в сигнатурах Schnorr где нужна только x.
Делиться можно но помните это остаётся надолго. Если вы опубликуете Public Key и позже свяжете его с вашей личностью эта связь сохранится.
Пример
Вы сканируете QR код друга и отправляете ему USDC QR код содержит адрес созданный из его Public Key поэтому средства придут по нужному адресу.
Интересный факт
Криптография с открытыми ключами стала массовой благодаря Диффи Хеллману Ривесту Шамиру и Адлеману Биткоин сделал популярным вариант на эллиптической кривой secp256k1 необычный выбор который до сих пор вызывает оживлённые споры на форумах.
Итог
Думайте о Public Key как о вашей открытой отметке в криптовалюте его легко показывать легко проверять и он позволяет незнакомцам доверять вашим кликам не встречаясь с вами лично.
