Что такое P2PKH, P2SH и SegWit? Руководство для начинающих по адресам биткоин-кошельков
Если вы только начинаете работать с биткоином, одни только названия адресов кошельков — P2PKH, P2SH, SegWit — могут показаться запутанными. Может показаться, что вы вступили в мир секретных кодов и зашифрованных сообщений. Но не волнуйтесь — все гораздо проще, чем кажется. Давайте разберем все это по порядку: что это за различные форматы адресов, как они работают и почему они важны.

Перво-наперво: что такое биткоин-адрес?
Биткоин-адрес – это как номер счета, которым вы можете поделиться с другими для получения или отправки криптовалюты. Он создается на основе вашего открытого ключа (части вашего кошелька), обрабатывается с помощью нескольких криптографических алгоритмов и, наконец, преобразуется в формат, понятный человеку. Формат адреса определяет:
- насколько высока комиссия за транзакцию,
- как быстро обрабатывается перевод,
- и какие сервисы и кошельки совместимы.
В настоящее время существует три основных формата: P2PKH, P2SH и SegWit (Bech32).
Оригинальный формат: P2PKH — с чего все началось
Это был первый формат, используемый в Биткойне, представленный его создателем Сатоши Накамото. P2PKH расшифровывается как Оплата хэша открытого ключа. Не беспокойтесь слишком сильно о техническом названии — главное помнить, что эти адреса всегда начинаются с ‘1’. Например:
1Kb3Sx1hiXQnXZoJJUWXH3tvbdqjmhyFir
Как создается такой адрес?
- Сетевой идентификатор — префикс, который показывает, что адрес принадлежит сети Bitcoin. Для P2PKH это 0x00 в шестнадцатеричном формате.
- Открытый ключ хэшируется дважды: сначала с использованием SHA-256, затем RIPEMD-160 – это добавляет дополнительный уровень защиты.
- Контрольная сумма вычисляется с использованием другого раунда двойного хеширования SHA-256 для обнаружения любых ошибок ввода.
- Затем все кодируется в читаемую строку с использованием Base58.
Что такое Base58?
Это особый способ кодирования данных, который удаляет вводящие в заблуждение символы. Например, буква O, цифра 0, заглавная I и строчная l выглядят очень похоже — Base58 просто пропускает их. Это упрощает чтение и ввод адресов.
Важно: В Base58 чувствителен к регистру, поэтому F и f – это разные символы.
Следующий шаг: P2SH — добавление гибкости с помощью multisig
В 2012 году Биткойн представил кошельки с несколькими подписями, позволяющие контролировать средства нескольким людям. Для этого потребовался новый формат адресов, называемый P2SH (перевод средств в хэш скрипта).
Эти адреса всегда начинаются с ‘3’, потому что сетевой идентификатор теперь равен 0x05. После кодирования в Base58 он превращается в цифру 3. Пример:
3QVgQ7JNEkxrabfe9ZQBtS36sGEG58DmLt
Что изменилось?
- Вместо того, чтобы основываться на открытом ключе, адрес основан на скрипте (например, условие множественной подписи).
- Скрипт хэшируется, добавляется контрольная сумма, и полная строка кодируется в Base58, точно так же, как P2PKH.
- Этот формат предусматривает более сложные правила расходования средств и, как правило, более низкие комиссии по сравнению с P2PKH.
Несмотря на то, что адреса P2SH выглядят аналогично P2PKH, начальная цифра “3” позволяет кошелькам легко различать их.
Современное обновление: SegWit – быстрее, дешевле и безопаснее
В 2017 году Биткойн подвергся серьезному обновлению под названием Segregated Witness (SegWit). Это позволило:
- меньшие размеры транзакций,
- более низкие комиссии,
- и поддержка будущих обновлений (например, Lightning Network).
В чем разница?
SegWit представила совершенно новый формат адресов, который использует Bech32 вместо Base58. Эти адреса легче читать и они менее подвержены ошибкам.
Адреса SegWit всегда начинаются с ‘bc1’, например:
bc1rt6rnd3w2uu82wzkl3fhqq263ch37w6lq5sue7
Как работает адрес SegWit?
- Сетевой идентификатор — всегда bc для основной сети Bitcoin.
- Цифра 1 служит разделителем между идентификатором сети и фактическими данными.
- Остальная часть адреса содержит закодированные данные кошелька и контрольную сумму, все в нижнем регистре.
- Адрес кодируется с использованием Bech32, который устойчив к ошибкам ввода и его проще проверить.
Преимущества SegWit:
- Более низкие комиссии за транзакции благодаря уменьшенному размеру данных.
- Более быстрая обработка — больше транзакций помещается в каждый блок.
- Улучшенная безопасность — помогает предотвратить определенные типы атак.
- Готовность к будущему — требуется для новых функций, таких как Taproot.
Недостатки?
Некоторые старые кошельки и биржи пока не поддерживают адреса SegWit (bc1). Однако это становится все менее распространенным явлением.
Сравнение всех трех типов адресов
Особенность | P2PKH (1…) | P2SH (3…) | SegWit (bc1…) |
Введенный год | 2009 | 2012 | 2017 |
Способ кодирования | Основание 58 | Основание 58 | Bech32 |
Поддержка нескольких подписей | НЕТ | ДА | ДА |
Комиссии за транзакцию | Высокий | Средний | Низкий |
Совместимость | Максимальный | Высокий | Ограниченный (но улучшающийся) |
Чувствителен к регистру | ДА | ДА | НЕТ |
Рекомендуется для | Устаревшие системы | Общие кошельки | Повседневное использование |
Почему SegWit – лучший выбор для большинства пользователей
Если ваш кошелек или биржа поддерживают адреса bc1, SegWit – самый разумный вариант. Вот почему:
- Более дешевые транзакции
- Более быстрые подтверждения
- Более высокий уровень безопасности
- Полностью совместим с другими типами адресов
- Проверка на будущееf – требуется для новейших функций биткойна
Заключение
P2PKH, P2SH и SegWit – это просто разные форматы биткойн-адресов, каждый из которых отражает определенный этап эволюции сети. Старые форматы по-прежнему работают нормально, но SegWit — это современный стандарт – более эффективный, безопасный и лучше подходящий для будущего.
Теперь, когда вы видите адрес, начинающийся с 1, 3 или bc1, вы будете точно знать, что он означает и какой из них лучше всего подходит для ваших нужд.