В чем разница между Bitcoin адресами? 1... 3... bc1...
Вероятно, Вы замечали, что существуют разные типы Bitcoin адресов, некоторые начинаются с единицы:
А некоторые и вовсе с загадочного сочетания bc1:
Сегодня мы разберемся:
- Почему и для чего вообще существует несколько типов адресов?
- В чем разница между этими адресами? Преимущества и недостатки каждого из них.
- Какими адресами в какой ситуации лучше пользоваться?
Вы можете моментально вернуться к оглавлению, кликнув на название любой из глав статьи.
Почему, зачем, откуда разные адреса Bitcoin?
Окунемся в историю, благо история эта не столь давняя, а все её события доступны в неизменном виде, благодаря технологии блокчейн.
"Каждый предмет рассказывает историю; если ты знаешь, как её прочесть"
Вернемся к самому первому - нулевому блоку - genesis блоку в блокчейне Bitcoin:
Генезис (genesis) блок - это первый блок блокчейна. Современные версии Биткойна нумеруют его, как блок 0, хотя самые ранние версии считали его блоком 1.
Как Вы можете заметить, используется адрес, начинающийся с 1:
Такие адреса называются Legacy или P2PKH адресами (подробнее с каждым адресом разберем ниже - в пункте про сравнение разных типов адресов).
Такую ситуацию - использование только Legacy адресов - Вы можете наблюдать вплоть до августа 2017 года:
Блок 100000 - 29 декабря 2010 11:57:43 UTC:
Блок 300000 - 10 мая 2014 06:32:34 UTC:
Блок 464000 - 29 апреля 2017 08:41:02 UTC:
Перескочив на блок Блок 500000 18 декабря 2017 18:35:25 UTC:
Мы уже видим и другие форматы адресов. Это адреса, которые начинаются с 3 - Nested Segwit - P2SH и с bc1 - Native Segwit - bech32. Что же стало причиной для их появления?
Сообщество Bitcoin еще в 2015 году приступило к обсуждению решения проблемы ограничения размера блока в 1 мегабайт: число пользователей, а, следовательно, и число транзакций в блоках, равно, как и их размер, неукоснительно рос.
Были выдвинуты различные предложения решения данной проблемы, например:
В BIP 100 (2015-06-11) было предложено динамически изменять размер блока по итогу голосования майнеров:
BIP (Bitcoin Improvement Proposal) - предложение по улучшению биткойна - акт открытого проектирования, нацеленный на внедрение новых стандартов и функций в биткойн.
В BIP 102 (2015-06-23) хотели поступить проще - увеличить максимальный размер блока до 2 мегабайт:
В BIP 103 (2015-07-21) предложение было интереснее: увеличивать размер блока вслед за технологическим прогрессом:
Не буду Вас томить - ни одно из этих предложений не было принято😄. Как это связано с адресами? Появление новых адресов стало следствием внедрения решения этой (и еще нескольких) задач.
Решение проблемы ограничения размера блока в 1 мегабайт было найдено и имя ему - протокол Segregated Witness ("Изолированный свидетель"). Имя протокола полностью описывает его суть. В чем же дело? До введения этого протокола 65% объема данных транзакции занимали подписи, которые удостоверяли адрес отправителя.
В BIP 141 (2015-12-21) было предложено использовать протокол SegWit:
Теперь подписи хранились в новой структуре, называемой "свидетелем" (witness),отдельно от основного древа транзакций. Это позволило вместить до 4 мегабайт транзакций в блоке.
Внедрение протокола было запланировано на 1 августа 2017 года, как раз отсюда начал свой путь формат адресов SegWit, отныне у Биткоина стало три формата адресов: Legacy, Nested Segwit, Native Segwit.
Преимущества и недостатки каждого формата.
Мы будем рассматривать каждый отдельный формат Bitcoin адреса, если можно так сказать, "по старшинству".
Сразу хочу сказать важную вещь - все адреса совместимы между собой, Вы можете отправить транзакцию с любого формата адреса на любой формат адреса. Биткоины дойдут в целости и сохранности!
Legacy P2PKH 1
1Br6hj18gKyAwqfNcCu3sGtYybZHxPwoFx
Это оригинальный формат адресов Bitcoin, который отлично продолжает и будет продолжать работать.
Второе название формата - P2PKH - это английская аббревиатура Pay to Public Key Hash. Это означает, что для транзакции используется оплата по хэшу публичного ключа получателя.
Как мы уже разобрались выше, этот формат адресов использовался еще до введения протокола SegWit, т.е. Legacy транзакции будут самые объемные по размеру байтах.
Итак, преимущества (+) и недостатки (-) формата Legacy:
+ адрес "понимают" абсолютно все сервисы
- можно спутать большие и маленькие буквы, а также цифры при чтении и наборе
Nested SegWit P2SH 3
3Pc3udVzaYhiD1vYZN1ChvWjp1rxRPuNnu
Nested Segwit адреса используют ту же кодировку, что и Legacy адреса (Base58), но начинаются с 3.
Второе название - P2SH - Pay to script hash. Для транзакции используется оплата по хэшу скрипта. Функция P2SH чаще всего используется для адресов с несколькими подписями, которые могут использоваться, например, когда для одобрения транзакции требуется несколько цифровых подписей.
Nested SegWit адреса дают более широкий функционал, чем Legacy адреса.
На данный момент 30% биткоинов хранятся на этих адресах:
Итак, преимущества (+) и недостатки (-) формата Nested Segwit:
+ адрес "понимают" практически все сервисы
+ экономия на комиссиях, по сравнению с Legacy, до 35%
- можно спутать большие и маленькие буквы, а также цифры при чтении и наборе
Native SegWit Bech32 bc1
bc1qxue8vmxg7zv0nukm3rca364krfpdqcmh56v7gz
Этот формат адресов был разработан специально для SegWit. Это новейший на данный момент формат адресов Bitcoin, он был описан в BIP 173.
Bech32 (второе название NativeSegwit адресов) обеспечивает более высокий уровень безопасности, лучше оптимизирует код обнаружения ошибок контрольной суммы и может минимизировать вероятность недействительных адресов.
Использует кодировку Base32 - только цифры от 0 до 9 и буквы от a до z
На данный момент 8,36% биткоинов хранятся именно на Bech32 адресах:
Итак, преимущества (+) и недостатки (-) формата Native SegWit:
+ экономия на комиссиях, по сравнению с Legacy, до 48%
+ нельзя спутать большие и маленькие буквы, а также цифры при чтении и наборе
- поддерживается далеко не всеми биржами и обменниками
Какими адресами в какой ситуации лучше пользоваться?
Ультимативного решения здесь нет.
Идеальным решением будет использование несколько адресов.
Во-первых, Вам необходим счёт с Nested Segwit (3...) адресами для беспроблемного взаимодействия с биржами и обменниками.
Во-вторых, отличным дополнением к счёту с Nested Segwit (3...) адресами будет счёт с Native Segwit (bc1...) адресами, что позволит Вам существенно экономить средства на комиссиях.
Благодарю за прочтение, теперь Вы стали лучше понимать и разбираться в Биткоине, поздравляю! be your own bank...