Оригинальное название: «Серия для новичков в Web3: Почему у моего биткойна несколько адресов». Первоначальный источник: команда ZAN.
Таких друзей-новичков, как автор, может быть много. Когда они впервые использовали кошелек WEB3, они с радостью открыли биткойн-кошелек и приготовились скопировать адрес, но внезапно обнаружили, что созданный ими кошелек на самом деле имеет несколько разных адресов. Это как идти по незнакомому перекрестку с растерянным выражением лица.
Почему разные адреса? Какой из этих адресов следует использовать?
Несколько биткойн-адресов для кошелька OKX
Что это за адреса?
Сообщество Биткойн — это сообщество, в котором технологии постоянно развиваются, а развитие технологий создает новый контент. Различные форматы адресов можно считать результатом применения новых технологий. Далее изучите различия между различными форматами адресов.
01 Старый адрес (P2PKH)
Этот формат использовался, когда Биткойн был впервые запущен в 2009 году, поэтому он называется устаревшим форматом. Поскольку адрес Биткойна в то время был создан из пары открытого и закрытого ключей, его также называют адресом хэша открытого ключа платежа (P2PKH). .
В настоящее время кажется, что адреса устаревшего типа будут занимать больше места в транзакциях, что приведет к более высоким комиссиям за транзакции. В настоящее время люди будут использовать этот тип адреса только при использовании некоторых старых кошельков, которые несовместимы с новым адресом.
Можно обнаружить, что адреса Legacy имеют особенность: все адреса начинаются с «1». Это связано с тем, что при создании адреса префикс будет добавлен перед сгенерированным открытым ключом в соответствии с различными сценариями (например: testnet/mainnet). После того, как открытый ключ с добавленным префиксом будет рассчитан с помощью хэша, адрес в конечном итоге будет начинаться с. «1».
02 Вложенный адрес SegWit (P2SH-P2WPKH)
По сравнению с традиционными адресами Legacy, адреса P2SH используют не хэш открытого ключа, а хэш сценария погашения (redeem-script). С точки зрения непрофессионала, P2PKH платит по хешу открытого ключа, а P2SH платит по сценарию погашения. Только после того, как получатель выполняет условия перевода сценария погашения, средства внутри могут быть потрачены.
Поскольку объект платежа преобразуется из открытого ключа в сценарий, гибкость значительно расширяется, а логику выполнения сценария погашения можно настраивать. Типичные приложения включают реализацию транзакций с несколькими подписями.
На основе P2SH, если встроена технология Segregated Witness, то формат этого адреса — адрес, совместимый с Segregated Witness (Nested SegWit). Вы можете узнать больше о Segregated Witness, представив адрес Segregated Witness. После внедрения технологии Segregated Witness объем транзакций можно сократить, тем самым снизив комиссию за транзакцию.
Вы можете видеть, что адрес P2SH начинается с «3».
03 Адрес отдельного свидетеля (родной SegWit) Адрес
Прежде чем вводить этот тип адреса, нам необходимо внедрить внутри него ключевую технологию — Segregated Witness (SegWit). Как следует из названия, Segregated Witness изолирует данные свидетеля (свидетеля) и обрабатывает их отдельно.
03 Адрес отдельного свидетеля (собственный адрес SegWit)
Прежде чем вводить этот тип адреса, нам необходимо внедрить внутри него ключевую технологию — Segregated Witness (SegWit). Как следует из названия, Segregated Witness изолирует данные свидетеля (свидетеля) и обрабатывает их отдельно.
Существенным преимуществом этого является уменьшение размера информации о транзакциях, тем самым снижая комиссию за транзакцию. Еще одним преимуществом уменьшения размера является то, что верхний предел размера транзакции биткойн-блока был увеличен с 1 МБ до 4 МБ.
Особенностью адреса отдельного свидетеля является то, что адрес начинается с «bc1».
04 Адрес Taproot (Taproot)
Преимущества адресов Taproot — конфиденциальность и эффективность в сложных сценариях транзакций. По сравнению с Native SegWit, он использует алгоритм Шнорра для замены алгоритма цифровой подписи на основе эллиптической кривой. Первый более эффективен в сценариях пакетных транзакций и повышает конфиденциальность кошельков с несколькими подписями.
Основной корневой адрес обычно начинается с «bc1q».
Какой формат адреса мне выбрать?
Текущие основные кошельки, такие как OKX, Unisat и другие кошельки, поддерживают указанные выше четыре адреса. Поэтому, чтобы снизить транзакционные издержки, разумнее использовать адреса в форматах Native SegWit и Taproot.
Кроме того, если вас интересуют надписи Биткойн и т. д., то эти два адреса — ваш лучший выбор. Большинство кошельков выполнили дополнительную обработку надписей этих двух адресов, что может защитить ваш специальный UTXO от ошибочного переноса. сделка. Ищите адрес кошелька, начинающийся с «bc1»!
Конечно, кошельки с разными форматами адресов могут проводить транзакции с фондами, так что не волнуйтесь.
Если вы хотите проверить баланс биткойнов или информацию о блокировке, вы можете использовать службу узла ZAN. Мы предоставляем разработчикам богатый API. Подробности документации API: https://docs.zan.top/reference/zan_getbalance-enhance.
Идите глубже – знакомство с ключевыми технологиями
После приведенного выше введения у всех есть более или менее предварительное представление о кошельке, и я очень заинтересован в приобретении некоторых технологий кошелька, поэтому давайте посмотрим на загадочные технологии внутри.
01Redeem Script скрипт выкупа
Представляя P2SH, мы знали, что это технология транзакций сценариев погашения, поэтому что такое сценарий погашения и какова его роль в экосистеме Биткойн.
Прежде чем представить сценарий погашения, нам необходимо представить базовую структуру транзакций биткойнов.
Ниже приведена типичная транзакция типа P2PK, в которой адрес, начинающийся с 04ae, хочет перевести 10 BTC на адрес, начинающийся с 15kD. Учетная запись с адресом 04ae должна показать другим участникам цепочки, что она действительно имеет право использовать эту учетную запись (обладать закрытым ключом), затем ему необходимо предоставить подпись (ScriptSig) в этой транзакции, чтобы подтвердить свою личность.
Помимо получения подписи верификатору также необходимо найти выходной скрипт предыдущей транзакции, соответствующий UTXO. Эти два сценария соединяются вместе, образуя сценарий выкупа. Функция скрипта выкупа — доказать легитимность транзакции.
В этой транзакции вы можете видеть, что подпись и выходной сценарий являются компьютерными инструкциями. OP_PUSHBYTES означает PUSH часть данных в стек. Сначала 04ae подписывает всю транзакцию своим собственным секретным ключом в ScriptSig, и подпись будет помещена в стек. Затем поместите открытый ключ в стек и, наконец. В OP_CHECKSIG открытый ключ используется для расшифровки подписи и сравнения целостности транзакции. Если они согласованы, идентичность действительна.
В дополнение к этому методу P2PK сценарий погашения также может реализовывать различные методы аутентификации, такие как P2PKH и P2SH.
В дополнение к этому методу P2PK сценарий погашения также может реализовывать различные методы аутентификации, такие как P2PKH и P2SH.
02 Отдельный свидетель Отдельный свидетель
Из приведенного выше введения мы можем знать, что новые форматы кошельков в настоящее время используют технологию Segregated Witness, так что же такое Witness и как он изолируется?
Здесь Witness можно рассматривать как информацию подписи сценария (scriptSig) в базовой структуре Биткойна. Segregated Witness извлекает ее из базовой структуры и помещает в новую структуру данных.
Как видно на рисунке выше, единственным необходимым содержимым транзакции является информация об источнике транзакции и информация о выходе транзакции. Размер транзакции уменьшается, поскольку желтая часть (общий размер транзакции) имеет ограничение по размеру. транзакция будет осуществляться отдельно. Передача подписей позволяет одному блоку вместить больше транзакций. Кроме того, при вычислении подписи транзакции содержимое части подписи не учитывается, поэтому проблема гибкости транзакции может быть эффективно решена.
Ниже представлена транзакция P2TR. Вы можете видеть, что эта транзакция имеет дополнительную свидетельствующую часть. Его функция – проверка легитимности сделки. После использования Witness вместо ScriptSig метод проверки легитимности остается прежним, то есть с использованием открытого ключа для расшифровки подписи Witness и проверки согласованности содержимого транзакции. Только когда узлу необходимо проверить законность транзакции, он запрашивает информацию о свидетеле.
Подводя итог, можно сказать, что Segregated Witness отделяет часть подписи транзакции от остальной части исходной транзакции, тем самым уменьшая размер одной транзакции и увеличивая емкость всего блока. Кроме того, поскольку содержимое части подписи не включается в расчет хеш-значения транзакции, это может эффективно решить проблему гибкости транзакции.
Все комментарии