В чем разница между 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.