Какие форматы бывают у биткоин-адресов?
Что такое биткоин-адрес в формате legacy?
Legacy-адрес — это стандартный для сети биткоина адрес, предложенный Сатоши Накамото. Иначе это формат называют P2PKH (Pay To Public Key Hash), поскольку он требует от получателя подпись, вычисленную из приватного ключа, и публичный ключ. Скрипт транзакции выхода с помощью криптографических функций сверяет их с хешем публичного ключа — и в случае совпадения позволяет расходовать средства. Вероятность того, что система примет некорректно введенный адрес составляет 1 в 232 степени, то есть один случай из 4,29 млрд.Legacy-адрес можно узнать по префиксу 1 (и m или n в тестовой сети). К основным минусам такого адреса относятся чувствительность к регистру при вводе данных, более высокие комиссии за операции, низкая скорость двойного хеширования контрольной суммы, больший вес в QR-кодах и неудобство записи на мобильном устройстве или на бумаге.
Из каких частей состоит биткоин-адрес в формате legacy?
Legacy-адреса уникальны, обычно состоят из 26-35 символов и представляют собой 160-битные хэши открытого ключа ECDSA ключевой пары. С появлением SegWit-адресов их стали называть старыми, однако изначально они были достаточно эффективным средством представления locking scripts в более удобном для пользователей виде и уменьшения рисков отправки средств на некорректный адрес.Стандартный биткоин-адрес состоит из таких частей:
Почему в биткоин-адресах бывает разное количество знаков?
Как зашифрованы части legacy-адреса?
Все части биткоин-адреса в формате legacy зашифрованы с защитой от опечаток по системе кодирования Base58Check. В основе кода лежит латинский алфавит. Вы никогда не увидите в таком биткоин-адресе символы, которые легко спутать между собой (знаки плюс и минус, косая черта, ноль, прописные буквы “o” и “i”, строчная “L”). Согласно системе Base58Check в них применяются только следующие 58 символов:
Что такое биткоин-адрес в формате P2SH?
P2SH-адреса (Pay to script hash) появились в предложении по улучшению биткоина BIP-0016 в январе 2012 года благодаря главному научному сотруднику Bitcoin Foundation Гэвину Андресену. Они имеют ту же структуру, что и legacy-адреса, но начинаются с цифры 3.Такие адреса предполагают, что при переводе средств получатель должен иметь скрипт, подходящий к скрипту хеша. Эта особенность позволяет снижать комиссию за перевод биткоинов отправителем, перекладывать комиссионные затраты на получателя и создавать адреса с мультиподписью.
Технология P2SH может разрешить использование средств любым пользователем или, наоборот, запретить для всех. Важно помнить, что биткоин-адреса в формате P2SH поддерживают SegWit, но не являются его нативным решением. Не поддерживающие SegWit криптокошельки могут проводить SegWit-транзакции благодаря механизмам P2WPKH-в-P2SH и P2WSH-в-P2SH.
Что такое биткоин-адрес в формате SegWit?
Какие плюсы и минусы использования Bech32-адресов?
C новыми адресами QR-коды стали меньше, а защита от ошибки выше. Кроме того, использование биткоин-адресов в формате Bech32 на сегодня для пользователей более выгодно, ведь комиссия за отправку средств с них ниже, а скорость обработки выше. Главный минус Bech32-адресов — их поддерживают не все криптокошельки и сервисы.Среди первых поддержку таких адресов добавили аппаратные криптокошельки Ledger Nano S, TREZOR и Digital Bitbox, десктоп-криптокошельки Electrum и Armory, мобильные криптокошельки Edge, GreenAddress (для iOS- и Android-устройств), а также Samourai Wallet, Wasabi Wallet, GreenBits и Electrum (для Android-устройств).
Можно ли переводить биткоины с legacy-адреса на SegWit-адрес?
Активация SegWit в сети биткоина была софтфорком — это значит, что новая и предыдущая версии сохранили совместимость. То есть вы можете без проблем переводить средства с legacy-адреса на SegWit-адреса. На уровне блокчейна проблем с разницей в форматах адресов не существует.На практике сложности возникают, если пользователь хочет перевести средства со своего legacy-адреса, например, созданного на криптобирже, на bc1-адрес, а торговая площадка технически еще не внедрила поддержку нового формата адресов. В таком случае стоит использовать пусть и менее эффективный, чем bc1-, но все же более продвинутый, чем legacy- P2SH-адрес.
В обратном направлении, с bc1-адреса на legacy-адрес, средства должны поступить без проблем.
Какие обозреватели блоков отслеживают bc1-адреса?
Адреса кошельков P2PKH, P2SH и SegWit – что это?
Адреса кошельков P2PKH, P2SH и SegWit – что это? Как это виляет на выбор криптовалютных кошельков? Какова скорость транзакций? Все это и многое другое чуть ниже.
При попытке разобраться в принципах работы различных криптовалют многие сталкиваются с большим количеством криптографических терминов, англоязычных аббревиатур и всякого рода названий. И если про хеширование в общих чертах кто-то что-то слышал, то Segregated Witness, Lightning network, P2SH, P2PKH – это для большинства нечто непереводимое, причем очень тесно связанное между собой, и где точка входа в это тайное знание – не понятно. В этой статье мы попробуем хотя бы немного разомкнуть этот круг и простыми словами рассказать, чем отличаются типы кошельков P2PKH, P2SH и SegWit.
В начале были P2PKH-адреса
И придумал их сам Накамото. Именного тогда в архитектуру первой криптовалюты были заложены фундаментальные особенности, которые, в своем большинстве, остаются актуальными и сегодня. Адрес-кошелька в таком формате – это результат кодирования по алгоритму Base58 строки, содержащей три фрагмента:
Алгоритм кодирования Base58 – одно из полезнейших изобретений, которое позволяет преобразовывать строку из любых символов в любой кодировке в строку, содержащую только однозначно понимаемые человеком. Уверены, вы сталкивались с ситуацией, когда цифра 0 и буква О не отличаются от друг от друга. Аналогичная ситуация с буквами I (заглавная буква i) и l (строчная буква L). Так вот Base58 решает эту проблему, такие «неоднозначные» символы просто не используются. Такой подход находит свое применение не только при формировании адресов кошельков, но и, например, в сервисах сокращения ссылок.
Платой за удобство является чувствительно к регистру, то есть буквы F и f – это разные буквы по версии Base58. Это несущественный недостаток, но об этом нельзя забывать. P2PKH-Адрес биткоин-кошелька имеет вид:
Есть буквы верхнего и нижнего регистра, цифры, все символы понятны, а начинается всегда с единицы. Почему так получается? Идентификатор сети стоял в начале строки. Он рамен нулю, поэтому после преобразования в начале строки всегда оказывается единица. Никакого противоречия, адгоритм Base58 превращает шестнадцатеричный 0 (идентификатор сети) в символ 1 (первый символ адреса кошелька).
P2SH-адреса
В 2012 году в использование были введены новые P2SH-адреса. Обновление касается, прежде всего, механизма обработки платежей, а не самих адресов. Появилась возможность создания кошельков с мультиподписью (чтобы отправить средства требуется подтверждение от нескольких владельцев ключей), снизилась комиссия за перевод для отправителя платежа.
Эти весьма актуальные нововведения не повлияли на структуру адреса кошелька, но требовалось различать кошельки с их поддержкой, и без них (так называемые «старые» P2PKH-адреса). Для этого разработчиками было принято решение на этапе генерация адреса использовать другой идентификатор сети не 0х00, а 0х05. После кодирования в Base58 идентификатор превратится в 3, поэтому все P2SH-адреса начинаются с тройки. Пример такого адреса:
Адрес всё также содержит цифры, почти все буквы латинского алфавита и всё также чувствителен к регистру.
SegWit-адреса
Если сильно упростить, то SegWit-адрес включает в себя три фрагмента:
Фрагменты 2, 3 и 4 подвергаются кодированию по алгоритму Bech32, а идентификатор добавляется без изменения, то есть адрес в итоге содержит одну единицу, доставшуюся от идентификатора. Пример SegWit-адреса:
Основной недостаток такие адресов – это отсутствие их поддержки со стороны некоторых сервисов – старых кошельков, некоторых бирж и т.д.
Транзакции между различными типами кошельков как правило проходят благополучно, но создать себе SegWit-адрес можно не в каждом сервисе.
Какой кошелек в итоге выбрать?
Команда разработчиков EMCD.io рекомендует использовать SegWit-кошельки.
Во-первых, это безопаснее — такие кошельки устойчивее сразу к нескольким типам атак.
Во-вторых, это дешевле — стоимость транзакции ниже, по сравнению с другими типами кошельков.
В-третьих, это быстрее — транзакции обрабатывается быстрее, так как их размер меньше.
В-четвертых, SegWit-кошельки совместимы со всеми остальными и вы можете отправлять из них средства на любые другие.
И, наконец, SegWit — это реальность сегодняшнего и даже завтрашнего дня, это прогресс и вклад в развитие сети биткоина. Именно такие кошельки смогут получить преимущества от всех последующих обновлений.
Bech32 – подробно о формате Bitcoin адресов этого типа
Bech32 – это формат адресов SegWit предложенный в обновлении BIP 0173. Их можно легко узнать по начальным символам: «bc1». Их использование позволило оптимизировать блоки и освободить немного пространства.
Ранее в сети Bitcoin использовались только base58 адреса наряду с усеченной дабл-SHA256 контрольной суммой. Но по причине смешанного регистра сообщество посчитало их слишком громоздкими и создающими малую, но всё же вероятность ошибиться при вводе или проверке. Внедрение SegWit Bech32 адресов позволило ускорить декодирование и уменьшить размеры QR-кодов.
Основные преимущества Bech32 и SegWit в целом
Использование технологии Segregated Witness снизило затраты на оплату комиссий по транзакциям на 25-40 процентов. Предыдущая пропускная способность Bitcoin не могла превысить 7 транзакций в секунду. Отделение данных подписи от самой транзакции позволяет разместить больше транзакций в каждом блоке, и преодолевает этот рубеж.
SegWit поддерживает не только Bech32 адреса. P2SH и P2WPKH тоже обеспечивают работу апдейта. Но уменьшение веса вследствие рационального распределения символов в строке адреса сделало Bech32 лучшим решением на текущем этапе разработки.
Что будет со старыми адресами?
Они по-прежнему поддерживаются сетью и вы можете осуществлять транзакции с их участием.
Bech32 становится всё популярнее. Некогда в 2017 году многие даже не решались использовать их в своих кошельках, на биржах и других криптовалютных продуктах. Но с июня 2020 года тип адресов «bc1» становится общепринятым стандартом. Их использование сервисом подчеркивает намерение разработчиков следовать передовым апдейтам сети Bitcoin и обеспечивать её здоровое функционирование.
Кошельки с SegWit: какие варианты поддерживают сегвит-адреса биткоина
Сегвит, он же Segwit, или Segregated Witness был активирован в сети биткоина 24 августа 2017 года в виде софтфорка, что значит, что данное обновление совместимо с предыдущими биткоин-транзакциями. С того времени разработчики биткоин-кошельков и криптовалютные биржи медленно внедряют SegWit на своих платформах.
Реализация Segwit привела к более быстрому и дешевому проведению транзакций. Несколько транзакций занимают места как одна без Сегвит, что делает перевод дешевле на 50% в среднем. Кроме того, кошельки Segwit и Core могут легко взаимодействовать друг с другом, в отличие от всех других форков, которые произошли.
Минимальное техническое объяснение: протокол Segwit отделяет криптографическую подпись от самой транзакции, выносит ее в сайдчейн и разворачивает точно такие же блоки с данными. Свободное место в блоке (который майнится) используется для других транзакций. Когда говорится, что поддержка Сегвит составляет, например, 8%, значит, что столько процентов машин установили ПО с такой обработкой подписей.

bech32 — адреса SegWit
В кошельке Bitcoin Core создать сегвит-адрес можно через консоль кошелька или командную строку операционной системы. Выполняется для адресов с балансом >0:
В команде параметр addr — старый адрес.
Адреса начинаются с 3 (P2SH-тип), они совместимы со стандартными адресами биткоинов (без поддержки segwit), можно получать и отправлять BTC.
Адреса, начинающиеся с bc1 (bech32 P2WPKH), являются новым типом Segwit, что упрощает использование адресов. Такой адрес не зависит от регистра, можно писать и заглавными, и прописными. Также передает меньше данных в блок. Вероятно, не совместимы со старыми адресами.
В Bitcoin Core 0.16.0 можно выбрать, какой адрес поддерживать.
Напомним, что легаси-адрес начинается с 1.
На сайте http://n.bitcoin.ninja/checktx можно протестировать транзакции segwit на segnet.
Legacy или Segwit?
У Сегвит есть три очевидных преимущества:
Другие надежные кошельки с поддержкой Сегвит
Ledger Wallet
Ledger Wallet — это аппаратный кошелек, который позволяет безопасно хранить личные ключи на устройстве. Приватные адреса, хранящиеся в защищенной области микроконтроллера, не могут быть изъяты из устройства в виде обычного текста. Адреса Segwit были активированы для устройств Ledger 24 августа 2017 года. Этот кошелек первым поддержал нововведение. Рекомендуется переместить BTC на вновь созданный адрес Segwit.
Чтобы перейти на сегвит, следуйте инструкции:
Миграция доступна, если на балансе Legacy-адреса есть деньги. Также учитывайте комиссию за транзакцию.
Если Ledger Nano S используется впервые, то можно сразу выбрать сегвит-адрес.
Trezor

Преимущество в поддержке более широкого ряда криптовалют: можно хранить сразу несколько на одном устройстве. Также данный кошелек на USB-устройстве легче. Цена выше предыдущего примерно на 10 евро.
Электрум
Electrum — это легкий клиент для хранения BTC, который существует с ноября 2011 года. Модифицированный кошелек с поддержкой SegWit был написан на Python.
Зашифрованный кошелек, содержащий ваши биткоины, защищается паролем. Пользователю не нужно загружать целый блокчейн, чтобы использовать приложение, поскольку оно запрашивает эту информацию с сервера. Транзакции подписываются прямо на устройстве, никакие данные не отправляются без вашего ведома. Это делает кошелек Electrum одним из самых популярных среди других вариантов хранения криптовалюты.
Чтобы получить адрес segwit, начинающийся с 3 (bech32), в Electrum, просто выполните следующие шаги:
Кошелек генерирует Bech32-ключи на bc1, которые длиннее legacy и 3-segwit.
Samourai Wallet
Samourai Wallet — еще один кошелек для хранения адресов с SegWit. Команда также сосредоточилась на безопасности и конфиденциальности. Доступный в использовании, без предзаказов и внешних устройств.
Кошелек зашифровывается на мобильном устройстве по стандарту AES-256 (Advanced Encryption Standard или Рэндал на 256 бит). Безопасный вход в систему через PIN на 5-8 цифр. Он также никогда повторно не использует адреса, а также не передает ценные метаданные о вас или ваших транзакциях.
GreenAddress
Кошелек GreenAddress представляет собой проект с открытым исходным кодом, который позволяет отправлять и получать, а также хранить BTC на устройстве, на котором установлено приложение. Этот кошелек SegWit интегрируется как с компьютером, так и с мобильными устройствами.
Вход в систему с возможностью изменения возможен только с домашней сети. Общественный Wi-Fi позволит проверить баланс и посмотреть транзакции. Ключи при этом не загружаются.
Виды биткоин адресов
Биткоин – это универсальная криптовалютная платежная система, имеющая массу преимуществ, которые ставят ее на несколько ступеней выше традиционных финансовых, банковских и платежных инструментов, будь-то Visa, Mastercard, PayPal и т.д.
Использование биткоина имеет множество позитивных моментов, среди которых:
Сейчас биткоины может использовать любой человек, используя кошелек, поддерживающий Bitcoin адреса, например, Electrum.
В статье «О разнице между криптовалютными кошельками и адресами» рассматривались различия между криптовалютными адресами и кошельками. В этой статье более подробно описываются различия между существующими биткоин-адресами.
Что такое биткоин-адрес?
Биткоин адрес – это уникальный публичный идентификатор, использующийся для обозначения пункта назначения отправляющихся через блокчейн монет BTC. Фактически это адрес получателя биткоинов, подобный номеру банковского счета.
Так как блокчейн технологии существуют уже более 10 лет, то с каждым годом появляются новшества, улучшающие их функционал и безопасность. Bitcoin не является исключением, и также со временем подвергается некоторым улучшениям. В связи с этим у биткоина есть три типа адресов.
Форматы биткоин адресов
Существуют следующие форматы биткоин адресов:
Некоторые альткоины, например, BitcoinCash (BCH) используют аналогичные форматы адресов.
Кроме того, существуют биткоин-адреса, начинающиеся на 2, но они используются только в тестовой сети.
Каждый биткоин адрес уникален и составляется из 58 цифробуквенных символов (стандарт base58check):
Обычно биткоин-адреса имеют длину в 26-35 символов и начинаются на цифру 3 или 1. Для того, чтобы избежать путаницы в биткоин адресах не используют буквы O и I верхнего регистра (заглавные), букву l в нижнем регистре (маленькая L) и не применяют число 0.
В стандартном биткоин-адресе есть три части:
Длина биткоин адреса в пределах 26-35 символов меняется из-за того, что при обработке приватного ключа могут образовываться начинающиеся на ноль числа. Их длина сокращается из-за того, что нули при записи отбрасываются.
Валидность биткоин адреса проверяется кошельками по контрольной сумме, которая закодирована в каждом из них.
Существуют адреса, на которых отправка средств требует применения нескольких приватных ключей – это так называемые Multi-signature addresses. Использование таких адресов позволяет обезопасить управление средствами, которыми владеют несколько лиц. Так как это более новый тип адресов, они не могут начинаться на единицу.
Как создать биткоин адрес?
Каждый биткоин адрес состоит из пары ключей: публичного (адрес получателя) и приватного (для отправки своих средств). Приватный ключ нужно хранить в безопасном месте. Он используется для передачи средств с помощью кошелька, который управляет адресами, синхронизируется с сетью и передает в нее информацию о транзакции с помощью приватного ключа.
Генерация адреса осуществляется в любом кошельке. Она делается бесплатно, причем каждый пользователь может генерировать пары приватный-публичный ключ в практически неограниченном количестве. Это возможно даже на не подключенном к интернету оффлайн-кошельке (автономно).
Существуют кошельки для настольных компьютеров (например, Electrum), мобильных устройств (например, Jaxx и Coinomi), а также web-кошельки (например, Blockchain.info).
Кроме того, существуют бумажные кошельки, которые являются бумажным хранилищем приватного и публичного ключей. Эти ключи можно импортировать в любой другой биткоин кошелек и осуществлять в нем просмотр баланса, отправку и/или подписывание транзакций.
Как обеспечить безопасность биткоин адреса?
Главным условием для обеспечения безопасности любого биткоин адреса является сохранение в тайне соответствующего ему приватного ключа. Поэтому онлайн и биржевые кошельки не подходят для надежного хранения средств.
Опасность таится не только в хакерах, но и в недобросовестных владельцах бирж, например, Poloniex.
Лучшим способом работы с биткоинами является использование так называемого холодного кошелька, который никогда не подключается к интернету, а служит только для подписи транзакций, сгенерированных на синхронизированном с сетью горячем кошельке.
Кроме закрытия доступа холодного кошелька к сети, нужно обеспечить резервирование приватного ключа, так как любой компьютер (носитель информации) может рано или поздно выйти из строя.
Резервирование можно сделать путем генерации QR-кодов от приватного и публичного ключей и последующей их распечаткой (таким образом получится бумажный кошелек биткоин).







