Таких друзей-новичков, как автор, может быть много. Когда они впервые использовали кошелек WEB3, они с радостью открыли биткойн-кошелек и приготовились скопировать адрес, но внезапно обнаружили, что созданный ими кошелек на самом деле имеет несколько разных адресов. Это как идти по незнакомому перекрестку с растерянным выражением лица.
Почему разные адреса? Какой из этих адресов следует использовать?
Несколько биткойн-адресов для кошелька OKX
Что это за адреса?
Сообщество Биткойн — это сообщество, в котором технологии постоянно развиваются, а развитие технологий создает новый контент. Различные форматы адресов можно считать результатом применения новых технологий. Далее изучите различия между различными форматами адресов.
Старый адрес (P2P KH)
Этот формат использовался, когда Биткойн был впервые запущен в 2009 году, поэтому он называется устаревшим форматом. Поскольку адрес Биткойна в то время был создан из пары открытый/закрытый ключ, его также называют хэшем открытого ключа платежа (P2P). КХ) адрес.
В настоящее время кажется, что адреса устаревшего типа будут занимать больше места в транзакциях, что приведет к более высоким комиссиям за транзакции. В настоящее время люди будут использовать этот тип адреса только при использовании некоторых старых кошельков, которые несовместимы с новым адресом.
Можно обнаружить, что адреса Legacy имеют особенность: все адреса начинаются с «1». Это связано с тем, что при создании адреса префикс будет добавлен перед сгенерированным открытым ключом в соответствии с различными сценариями (например: testnet/mainnet). После того, как открытый ключ с добавленным префиксом вычислен с помощью Hash, адрес в конечном итоге будет начинаться с. «1».
Вложенный адрес SegWit (P 2 SH-P 2 WPKH)
По сравнению с традиционными адресами Legacy, адреса P 2 SH используют не хеш открытого ключа, а хэш сценария выкупа (redeem-script). С точки зрения непрофессионала, P2P KH платит по хешу открытого ключа, а P2SH платит по сценарию погашения. Только после того, как получатель выполняет условия перевода сценария погашения, средства внутри могут быть потрачены.
Поскольку объект платежа преобразуется из открытого ключа в сценарий, гибкость значительно расширяется, а логику выполнения сценария погашения можно настраивать. Типичные приложения включают реализацию транзакций с несколькими подписями.
На основе P2SH, если встроена технология Segregated Witness, то формат этого адреса — адрес, совместимый с Segregated Witness (Nested SegWit). Вы можете узнать больше о Segregated Witness, представив адрес Segregated Witness. После внедрения технологии Segregated Witness объем транзакций можно сократить, тем самым снизив комиссии за транзакции.
Вы можете видеть, что адрес P 2 SH начинается с «3».
Адрес отдельного свидетеля (родной SegWit)
Прежде чем вводить этот тип адреса, нам необходимо внедрить внутри него ключевую технологию — Segregated Witness (SegWit). Как следует из названия, Segregated Witness изолирует данные свидетеля (свидетеля) и обрабатывает их отдельно.
Значительным преимуществом этого является уменьшение размера информации о транзакциях, тем самым снижая комиссию за транзакцию. Еще одним преимуществом уменьшения размера является то, что верхний предел размера транзакции биткойн-блока был увеличен с 1 МБ до 4 МБ.
Особенностью адреса отдельного свидетеля является то, что адрес начинается с «bc 1».
Taproot-адрес (Taproot)
Преимущества адресов Taproot — конфиденциальность и эффективность в сложных сценариях транзакций. По сравнению с Native SegWit, он использует алгоритм Шнорра для замены алгоритма цифровой подписи на основе эллиптической кривой. Первый более эффективен в сценариях пакетных транзакций и повышает конфиденциальность кошельков с несколькими подписями.
Характеристика основного корневого адреса заключается в том, что адрес обычно начинается с «bc 1 q».
Какой формат адреса мне выбрать?
Текущие основные кошельки, такие как OKX, Unisat и другие кошельки, поддерживают указанные выше четыре адреса. Поэтому, чтобы снизить транзакционные издержки, разумнее использовать адреса в форматах Native SegWit и Taproot.
Кроме того, если вас интересуют надписи Биткойн и т. д., то эти два адреса — ваш лучший выбор. Большинство кошельков выполнили дополнительную обработку надписей этих двух адресов, что может защитить ваш специальный UTXO от ошибочного перевода в транзакции. . Ищите адрес кошелька, начинающийся с «bc 1»!
Конечно, кошельки с разными форматами адресов могут проводить транзакции с фондами, так что не волнуйтесь.
Если вы хотите проверить баланс или заблокировать информацию о биткойнах, вы можете использовать службу узлов ZAN. Мы предоставляем разработчикам богатый API. Подробности документации API: https://docs.zan.top/reference/zan_getbalance-enhance.
Идите глубже – знакомство с ключевыми технологиями
После приведенного выше введения у всех есть более или менее предварительное представление о кошельке, и я очень заинтересован в приобретении некоторых технологий кошелька, поэтому давайте посмотрим на загадочные технологии внутри.
Скрипт погашения Скрипт погашения
Представляя P2SH, мы знали, что это технология транзакций сценария погашения, поэтому что такое сценарий погашения и какова его роль в экосистеме Биткойн.
Прежде чем представить сценарий погашения, нам необходимо представить базовую структуру транзакций биткойнов.
Ниже приведена типичная транзакция типа P2P K, в которой адрес, начинающийся с 04 ae, хочет перевести 10 BTC на адрес, начинающийся с 15 kD. Учетная запись с адресом 04 ae должна показать другим участникам цепочки, что она действительно имеет право использовать эту учетную запись (владеет закрытым ключом), затем ему необходимо предоставить подпись (ScriptSig) в этой транзакции, чтобы подтвердить свою личность.
Помимо получения подписи, верификатору также необходимо найти выходной скрипт предыдущей транзакции, соответствующий UTXO. Эти два сценария соединяются вместе, образуя сценарий выкупа. Функция скрипта выкупа — доказать легитимность транзакции.
В этой транзакции вы можете видеть, что подпись и выходной сценарий являются компьютерными инструкциями. «OP_PUSHBYTES» означает отправку части данных в стек. Сначала 04 ae в ScriptSig подписывает всю транзакцию своим собственным секретным ключом, и подпись будет помещена в стек. Затем поместите открытый ключ в стек и, наконец, в «OP_CHECKSIG» используйте открытый ключ для расшифровки подписи и сравнения целостности транзакции. Если они согласованы, идентичность действительна.
В дополнение к этому методу P2P K сценарий погашения также может реализовывать различные методы проверки личности, такие как P2P KH и P2SH.
Отдельный свидетель Отдельный свидетель
Из приведенного выше введения мы можем знать, что новые форматы кошельков в настоящее время используют технологию Segregated Witness, так что же такое Witness и как он изолируется?
Здесь Witness можно рассматривать как информацию подписи сценария (scriptSig) в базовой структуре Биткойна. Segregated Witness извлекает ее из базовой структуры и помещает в новую структуру данных.
Как видно на рисунке выше, единственным необходимым содержимым транзакции является информация об источнике транзакции и информация о выходе транзакции. Размер транзакции уменьшается, поскольку желтая часть (общий размер транзакции) имеет ограничение по размеру. транзакция будет осуществляться отдельно. Передача подписей позволяет одному блоку вместить больше транзакций. Кроме того, при вычислении подписи транзакции содержимое части подписи не учитывается, поэтому проблема гибкости транзакции может быть эффективно решена.
Ниже представлена транзакция P 2 TR. Вы можете видеть, что эта транзакция имеет дополнительную Свидетельскую часть. Его функция – проверка легитимности сделки. После использования Witness вместо ScriptSig метод проверки легитимности остается прежним, то есть с использованием открытого ключа для расшифровки подписи Witness, чтобы проверить согласованность содержимого транзакции. Только когда узлу необходимо проверить законность транзакции, он запрашивает информацию о свидетеле. Теперь бесплатно воспользуйтесь сервисом ZAN Node (посетите ZAN.TOP), чтобы стабильно и на высокой скорости подключаться к сети BTC.
Подводя итог, можно сказать, что Segregated Witness отделяет часть подписи транзакции от остальной части исходной транзакции, тем самым уменьшая размер одной транзакции и увеличивая емкость всего блока. Кроме того, поскольку содержимое части подписи не включается в расчет хеш-значения транзакции, это может эффективно решить проблему гибкости транзакции.
Эту статью написал Yeezo (аккаунт X @GaoYeezo 75065) из команды ZAN (аккаунт X @zan_team).