1. Биткойн-фон
Биткойн использует модель транзакций, подобную наличным (наличную систему), а его метод оплаты основан на модели под названием UTXO, которая отличается от традиционной модели, основанной на балансе счета.

Например: в процессе модели учета банковского счета, когда A переводит 100 юаней B, банк записывает три шага, которые представляют собой процесс транзакции. Первым шагом является списание 100 юаней со счета А. Идентификатор записи этого шага — tid1. Второй шаг — внести 100 юаней на счет B. Идентификатор записи этого шага — tid2. Третий шаг — записать запись о переводе, которая связывает tid1 и tid2, указывая, что счет A уменьшается на 100 юаней, а счет B увеличивается на 100 юаней.
Таким образом, отношения передачи между A и B записываются, и их можно запрашивать и отслеживать в будущем. Теперь мы объясним способ оплаты биткойнов, представив UTXO и модель оплаты.
УТХО
В блокчейне Биткойна все балансы хранятся в списке под названием «Неизрасходованные выходы транзакций» (UTXO). Каждый UTXO содержит определенное количество биткойнов, информацию о владельце и статус доступности, аналогично чеку с именем держателя. Этот чек можно подписать и передать другому лицу.
Баланс адреса равен сумме всех его UTXO. Текущий баланс каждого адреса можно получить, просматривая список UTXO, и сумма этих UTXO представляет собой текущий общий запас всех биткойнов.

В структуре транзакции Биткойн каждая транзакция содержит входы и выходы.Каждый вход представляет собой ссылку на существующий UTXO, а каждый выход определяет новый адрес получения и сумму. После создания транзакции UTXO, связанный с вводом, временно блокируется, чтобы предотвратить повторное использование, а связанный статус UTXO изменится только после того, как он будет успешно упакован и подтвержден майнером.
В частности, входной UTXO удаляется, а выходные данные создают новый UTXO и добавляют его в список. Это похоже на создание нового чека после истечения срока действия старого чека, при этом право собственности на новый чек передается на имя нового держателя.
Следует подчеркнуть, что каждый UTXO можно использовать в транзакции только один раз.После использования он удаляется навсегда, а новый выход создается и добавляется в список UTXO. Список UTXO постоянно обновляется по мере создания новых блоков. Анализируя историю транзакций, можно восстановить состояние списка UTXO в любой момент времени.
Кроме того, общая сумма ввода транзакции обычно немного превышает общую сумму вывода, и эта разница становится комиссией за транзакцию и служит стимулом для K работников. Комиссии за транзакции пропорциональны сложности транзакции, поэтому транзакция с большим количеством входов и выходов обычно требует более высоких сетевых комиссий.

Чтобы более наглядно понять структуру транзакций Биткойна, мы можем узнать больше на следующем примере, где «vin» представляет собой вход транзакции, а «vout» представляет собой выход транзакции. В биткойн-транзакциях используется подход ввода и вывода, а не традиционная модель баланса счета.

Мы можем случайным образом выбрать запись транзакции на блокчейне для анализа.На следующем рисунке показано, что хеш-идентификатор:
Транзакция для 0627052b6f28912f2703066a912ea577f2ce4da4caa5a5fbd8a57286c345c2f2. Он содержит один вход и два выхода.

Используя команды bitcoin-cli getrawtransaction и decoderawtransaction, мы можем проверить базовую структуру вышеуказанной транзакции:

В сети Биткойн выходные данные каждой транзакции содержат две ключевые части информации: адрес (хэш открытого ключа) и сумму (в биткойнах).
Если выход транзакции не использовался при входе других транзакций, то выход называется неизрасходованным выходом транзакции (UTXO). Любой, кто владеет закрытым ключом, соответствующим открытому ключу в UTXO, имеет право использовать (то есть тратить) этот UTXO.
Давайте посмотрим на информацию в «vin» в приведенном выше коде. Она указывает, что UTXO, потраченный этой транзакцией, поступает с 0-го выхода (транзакция может иметь несколько выходов, индекс) другой транзакции (ее идентификатор — 7957a35fe64f80d234d76d83a2a8f1a0d8149a41d81de548f0a65a8a999f6f18). от 0).
Мы можем узнать сумму этого UTXO (например, 0,1 биткойна) из истории транзакций. Следовательно, в этой транзакции этот пользователь потратил 0,1 биткойна, и значение 0,1 не нужно явно записывать в транзакции, а можно получить путем запроса информации UTXO.
«vout» этой транзакции содержит два выхода, которые представляют собой два новых UTXO, соответствующих новому балансу и владельцу. Эти новые UTXO будут существовать до тех пор, пока другая транзакция не использует их в качестве входных данных.

Модель оплаты
Чтобы лучше понять модель оплаты в сети Биткойн, мы используем пример, чтобы представить процесс оплаты суммы в n биткойнов, выплачиваемой A B. На рисунке ниже показан процесс отправки пользователем A 3 биткойнов пользователю B.

Для пользователя А, прежде всего, необходимо определить набор всех принадлежащих ему UTXO, то есть всех биткойнов, которыми может управлять пользователь А;
А выбирает один или несколько UTXO из этого набора в качестве входных данных транзакции. Сумма сумм этих входных данных равна m (2+0,8+0,5=3,3 BTC), что больше суммы n (3 BTC), которая требует быть оплаченным;
Пользователь А устанавливает два выхода для транзакции, один выход выплачивается на адрес Б, сумма равна n (3 BTC), а другой выход выплачивается на собственный адрес сдачи А, сумма составляет mn-комиссию (3,3-3-0,001). = 0,299 BTC). Кошелек пользователя обычно состоит из нескольких адресов.Как правило, каждый адрес используется только один раз, и по умолчанию изменения возвращаются на новый адрес;
Как только работник K упакует и подтвердит транзакцию в блокчейне, получатель B сможет получить информацию о транзакции.

Поскольку размер каждого блока ограничен (обычно около 1 МБ), K-работники отдают приоритет транзакциям с высокой скоростью транзакций (fee_rate=fee/size), чтобы получить максимальную комиссию.
Мы можем проверить скорость транзакций майнинга K в режиме реального времени в пуле неподтвержденных транзакций (мемпуле). Если мы хотим получить подтверждение как можно скорее в процессе перевода, мы можем выбрать «Высокий приоритет» или настроить подходящую скорость транзакции.

2. Нумерация и отслеживание конгов
Общее количество биткойнов составляет 21 миллион, и каждый биткойн содержит 10 ^ 8 сатоши (сб). Итак, в сети Биткойн у нас всего 21 миллион * 10^8 сатоши.
Протокол Ordinals использует уникальный способ нумерации каждого сатоши, чтобы гарантировать его уникальность и возможность точно отслеживать учетную запись, которой они принадлежат. Кроме того, будет упрощена классификация сатоши по редкости.
номер Сатоши
Согласно протоколу Ordinals, сатоши нумеруются в соответствии с порядком их добычи. На рисунке ниже показано изображение 0-го сатоши, добытого в 0-м блоке.

Есть много способов выразить Сатоши:
Целочисленный символ: например, 2099994106992659, который представляет собой серийный номер, присвоенный сатоши в соответствии с порядком майнинга.
Десятичное обозначение: например, 3891094.16797, первая цифра указывает высоту блока, в котором были добыты сатоши, а вторая цифра указывает номер сатоши в блоке.
Символ степени: например, 3°111094′214″16797‴, первая цифра — это период, нумерация начинается с 0, вторая цифра — индекс блока эпохи сокращения вдвое, а третья цифра — индекс блока во время сложности. период корректировки, последняя цифра — индекс сата в блоке.
Символ процента: например, 99,99971949060254% указывает позицию сатоши в запасе биткойнов, выраженную в процентах.
Имя: Например Сатоши. Имя, которое кодирует порядковый номер с помощью символов от a до z.

Давайте на примере объясним, как подсчитывать вновь добытые биткойны. Наблюдая за 795952-м блоком блокчейна Биткойн, он содержит транзакцию с именем «Tx 3a1f…b177», которая записывает вознаграждение K-работника (транзакция Coinbase). Эта транзакция включает в себя вновь добытые биткойны, которые используются в качестве вознаграждения для K работников, а также комиссию за обработку, выплачиваемую инициатором транзакции K работникам.
Посмотрев на входную часть, мы можем увидеть идентификатор UTXO, который состоит из строки нулей и высоты блока. А в разделе вывода мы можем увидеть адреса, получившие эти вознаграждения и комиссии, а также их общую сумму.

Если мы дополнительно рассмотрим часть вывода K воркеров, мы увидим распределение адресов, сумм и содержащихся сатоши. Как упоминалось ранее, они включают в себя вознаграждение за майнинг K и комиссию за обработку.
Среди них зеленая информация о номере сатоши 1941220000000000–1941220625000000 — это новые сатоши, генерируемые в результате майнинга K вознаграждений, а оставшиеся 712 записей сатоши соответствуют всем комиссиям за обработку в блоке.

Мы можем проверить номер субботы 1941220000000000.
Номер его блока — 795952, а десятичная запись (десятичная) — 795952.0, что означает, что высота блока добычи этого сатоши — 795952, количество сатоши в этом блоке — 0, а последующая редкость помечается как необычная. подробно представим его в следующих разделах.

Тираж Конга
Модель транзакций Биткойна использует модель вывода неизрасходованных транзакций (UTXO), что означает, что каждый биткойн (BTC) можно отследить до его источника. Проиллюстрируем этот процесс на примере:
Предположим, что пользователь А получил вознаграждение за майнинг K, который содержит биткойны от 100 до 110 сатоши. Все эти биткойны хранятся в одном UTXO (выход неизрасходованных транзакций). Идентификатор этого UTXO — adc123.
Теперь, когда пользователь А хочет заплатить пользователю Б 5 сатоши, он решает использовать UTXO с идентификатором abc123 в качестве входных данных для транзакции. Эта транзакция отправит 5 сатоши пользователю Б и вернет 5 сатоши в качестве сдачи пользователю А.
Эти два 5 сатоши станут одним целым, но будут храниться в двух разных UTXO, таких как abc456 и abc789.
Приведенный выше идентификатор UTXO и количество сатоши показаны только в качестве примера. В реальных ситуациях минимальное количество отправленных сатоши ограничено 546, и идентификатор UTXO не выражается в этой форме.

В приведенной выше транзакции путь обращения 10 сатоши пользователя А следующий:
Майнинг K производит 10 сатоши, пронумерованных [100, 110). Это означает, что сатоши со 100 по 109 хранятся в UTXO с идентификатором abc123, а его владельцем является пользователь А.
Когда А осуществляет перевод, 10 сатоши делятся на две части, каждая из которых составляет 5 сатоши. Здесь принят принцип «первым пришел — первым вышел», то есть порядок чисел сатоши определяется в соответствии с их индексом в выводе транзакции.
Предполагая, что порядок вывода следующий: сначала пользователь А, затем пользователь Б, тогда порядковый номер оставшихся 5 сатоши пользователя А равен [100, 105), который хранится в UTXO с идентификатором abc456, а 5 сатоши пользователя Б равны номер [105, 110) и хранится в UTXO с идентификатором abc789.

Редкость (Редкие Сатоши)
В качестве побочного продукта протокола Ordinals редкость сатоши можно определить на основе порядка, в котором они добываются. В результате появятся особые сатоши разной редкости. Вот уровни редкости различных сатоши:
общий Общий уровень: любые сатоши, кроме первых сатоши блока (общее количество 2100 триллионов)
необычный Отличный уровень: первые сатоши каждого блока (общий запас 6929999)
редко: первые сатоши каждого периода корректировки сложности (общий запас — 3437).
эпический: первые сатоши после каждого халвинга (всего 32)
легендарный: первые сатоши каждый цикл (всего 5 штук)
мифический: первый сатоши в блоке генезиса (общее количество — 1)
Эта концепция редких сатоши может повысить интерес и ценность экосистемы Биткойн. Сатоши разной редкости могут иметь разную ценность на рынке, привлекая коллекционеров и инвесторов.

3. Метод надписи
Одним из существенных различий между Ordinals и другими NFT-цепями, не относящимися к биткойнам, является то, что их метаданные не хранятся в определенном месте.
Вместо этого эти метаданные встраиваются в данные-свидетели (поле-свидетели) транзакции, поэтому мы называем это «надписью», поскольку данные «выгравированы» в битах, как надпись. , эти данные привязаны к конкретному сатоши.
Этот процесс записи реализуется через Segregated Witness (SegWit) и Pay-to-Taproot (P2TR). Он включает в себя два этапа: фиксация и раскрытие. Выгравируйте любую форму контента (например, текст, изображения или видео) на назначенных сатоши.
Далее мы подробно опишем другой, более прямой метод хранения, OP_RETURN, и объясним, почему он не работает с надписями. В то же время мы рассмотрим концепции Segwit и Pay-to-Taproot, а также их роль в Inscription. Наконец, мы углубимся в методы записи.

OP_RETURE
В версии 0.9 клиента Bitcoin Core наконец был достигнут компромисс с использованием оператора RETURN. RETURN позволяет разработчикам добавлять 80 байт данных о неплатеже к выводу транзакции. В отличие от псевдоплатежей, RETURN создает выходные данные, которые можно явно проверить, но которые нельзя потратить, и их не нужно хранить в коллекции UTXO (выход неизрасходованных транзакций).
Выходные данные RETURN записываются в блокчейн, что занимает дисковое пространство и приводит к увеличению размера блокчейна, но они не занимают коллекцию UTXO и, следовательно, не приводят к раздуванию коллекции UTXO и не увеличивают дорогостоящую стоимость памяти. полного узла.
Хотя OP_RETURN — это метод хранения информации непосредственно в блокчейне Биткойна, он также создает некоторые проблемы. Прежде всего, OP_RETURN может хранить только 80 байт данных, чего явно недостаточно для ситуаций, когда необходимо сохранить больше данных.
Во-вторых, данные OP_RETURN сохраняются в выходных данных транзакции. Хотя они не будут занимать коллекцию UTXO, они займут пространство для хранения блокчейна, что приведет к увеличению размера блокчейна.
Наконец, использование OP_RETURN увеличивает комиссию за транзакцию, поскольку для публикации этих транзакций требуется платить больше.

Отдельный свидетель
По сравнению с предыдущими методами SegWit предлагает новое решение, способное решить вышеуказанные проблемы.
SegWit — это ключевое обновление протокола Биткойн. Впервые оно было предложено разработчиком ядра Биткойна Питером Вуйлем в 2015 году и наконец официально принято в версии 0.16.0 в 2017 году.
«Сегрегированный» в Segregated Witness (SegWit) означает разделение или изоляцию, тогда как «Свидетель» включает в себя данные подписи, связанные с транзакцией. Таким образом, основная концепция SegWit заключается в отделении определенных данных подписи транзакции (также называемых данными-свидетелями) от фактических данных транзакции.
Основным преимуществом отделения данных подписи от данных транзакций является уменьшение размера данных, хранящихся в блоках Биткойн. Это приводит к увеличению доступной мощности на блок для размещения большего количества транзакций, что также означает, что сеть может обрабатывать больше транзакций, а пользователи платят более низкие комиссии за транзакции.
Технически это означает перемещение данных подписи скрипта (scriptSig), первоначально содержавшихся в структуре базового блока, в новую структуру данных. Узлы проверки и K-работники также проверят подпись сценария в этой новой структуре данных, чтобы гарантировать достоверность транзакции.

Обновление SegWit также представляет новое поле данных-свидетеля для повышения конфиденциальности и эффективности. Хотя данные-свидетели не предназначены специально для хранения данных транзакций в виде открытого текста, они фактически дают нам возможность хранить такие вещи, как метаданные надписей.
Мы используем следующий рисунок, чтобы более наглядно понять концепцию изолированного свидетеля:

стержневой корень
P2TR — это тип вывода транзакций Биткойна, который был представлен в обновлении Taproot 2021 года и позволяет более конфиденциально хранить различные условия транзакций в блокчейне.
В этой архитектуре P2TR играет решающую роль в записи данных порядковых номеров. Inscription фактически встраивает определенные данные в транзакции Биткойн, а обновления Taproot, в частности P2TR, делают встраивание этих данных более гибким и экономичным.
Прежде всего, благодаря методу хранения кодов команд Taproot мы можем хранить данные записи в пути команд Taproot, и эти коды команд практически не имеют ограничений по содержанию. В то же время мы также можем пользоваться скидками на данные-свидетели, что делает хранение данных надписи относительно экономичным.
Однако, поскольку использование инструкций Taproot может происходить только из существующего вывода Taproot, хранение записей осуществляется в двухэтапном процессе фиксации/раскрытия. Сначала в транзакции фиксации устанавливается выход Taproot, который обещает содержать данные записи.

Затем в транзакции раскрытия используются выходные данные, установленные транзакцией фиксации, тем самым раскрывая содержимое записи в цепочке.
Такой подход значительно снижает использование ресурсов. Если P2TR не используется, данные-свидетели будут храниться в выходных данных транзакции. Пока этот вывод не используется, данные-свидетели всегда будут существовать в наборе UTXO.
Напротив, если используется P2TR, данные-свидетели не появятся в транзакции, сгенерированной на этапе фиксации, и, следовательно, не будут записаны в набор UTXO. Только когда этот UTXO будет использован, данные-свидетели появятся во входных данных транзакции на этапе раскрытия.
P2TR позволяет записывать исходные данные в блокчейн Биткойна, но не всегда занимает пространство, сосредоточенное в UTXO. Поскольку поддержание/изменение набора UTXO требует больше ресурсов, этот метод позволяет существенно сэкономить ресурсы.

надпись
Протокол Ordinals расширяет ограничение размера записи в сети Биткойн, используя SegWit для хранения открытого текстового контента в свидетеле, позволяя хранить до 4 МБ метаданных.
Taproot упрощает процесс хранения произвольных данных-свидетелей в транзакциях Биткойн, позволяя разработчику Ordinals Кейси Родармору повторно использовать старые коды операций (OP_FALSE, OP_IF, OP_PUSH) для создания так называемых «конвертов» для хранения так называемой «надписи» любой информации.
Процесс отливки надписи состоит из следующих двух этапов:
Во-первых, в транзакции фиксации вам необходимо создать промис, указывающий на вывод Taproot, содержащий содержимое надписи. Формат этого хранилища — Taproot, вывод предыдущей транзакции должен быть P2TR (Pay-To-Taproot), а содержимое определенного формата встроено в скрипт-свидетель Taproot.
Сначала строка «ordn» помещается в стек, чтобы устранить неоднозначность цели записи. Затем используйте OP_PUSH 1, чтобы указать, что следующая передача данных содержит тип контента, и OP_PUSH 0, чтобы указать, что последующие отправки данных содержат сам контент.
Поскольку одним из ограничений Taproot является то, что размер одной отправки данных не может превышать 520 байт, для хранения больших записей требуется несколько операций отправки данных. В настоящее время данные записи связаны с неизрасходованным выходом транзакции (UTXO), но еще не обнародованы.

Во-вторых, в транзакции раскрытия созданный результат необходимо использовать. На этом этапе транзакция инициируется путем приема на вход UTXO, соответствующего записи. В это время содержимое надписи, связанное с UTXO, будет доступно всей сети.
С помощью двух вышеуказанных шагов содержимое надписи было связано с конкретным UTXO. Согласно представленному ранее методу позиционирования сатоши (UTXO), надпись выгравирована на первом сатоши, соответствующем его входному UTXO, а содержимое надписи включается во входные данные, показывающие транзакцию.
Согласно вышеупомянутому распространению и отслеживанию сатоши (UTXO), эти сатоши, содержащие специальный контент, можно передавать, покупать, продавать, терять и восстанавливать. Следует отметить, что надпись не может повторяться, иначе последующие надписи будут недействительны.
Чтобы объяснить этот процесс более подробно, давайте рассмотрим пример, показывающий, как вписать небольшое изображение биткойн-NFT. Этот процесс охватывает две фазы фиксации и раскрытия, упомянутые ранее.
Во-первых, мы видим, что хеш-идентификатор первой транзакции — 2ddf9...f585c. Следует отметить, что выходные данные этой транзакции не содержат данных свидетеля, и на веб-странице нет соответствующей информации о надписи.

Далее проверяем запись второго этапа, хеш-идентификатор которой — e7454…7c0e1. Здесь мы можем увидеть информацию о надписи Ординалов, которая является содержанием надписи показаний.
Входной адрес этой транзакции является выходным адресом предыдущей транзакции, а выходные 0,00000546BTC (546 сатоши) предназначены для перевода этого NFT на собственный адрес. При этом мы также можем найти сатоши, где находится эта надпись в Sat 1893640468329373.


В биткойн-кошельке мы видим этот актив. Если мы хотим торговать этим NFT, мы можем напрямую передать его на чужие адреса, то есть передать UTXO, завершив таким образом передачу записи.

4. Биткойн-кошелек
После того, как мы поймем, что такое экология Ординалов, обращение сатоши и связанные с этим знания надписей, в настоящее время существует множество сценариев применения, будь то появление BRC-20, ORC-20, BRC-721, GBRC-721 и другие связанные производные протоколы, которые требуют, чтобы у нас были соответствующие кошельки для поддержки и отображения информации о токенах или небольших изображений NFT.
В этом разделе мы познакомим вас с концепциями и характеристиками различных адресов биткойн-кошельков.
Адреса биткойнов обычно начинаются с цифр 1, 3 или bc1 и, как и адреса электронной почты, могут быть переданы другим пользователям биткойнов для перевода биткойнов непосредственно в ваш кошелек.
С точки зрения безопасности адреса Биткойн не содержат конфиденциальной информации и поэтому могут быть общедоступными в любое время без ущерба для безопасности вашей учетной записи. В отличие от адресов электронной почты, вы можете создавать новые биткойн-адреса по мере необходимости, и все они вносят средства непосредственно в ваш кошелек.

Фактически, многие современные кошельки автоматически устанавливают новый адрес для каждой транзакции, чтобы максимизировать конфиденциальность. Кошелек — это просто набор адресов и ключей, которые разблокируют находящиеся в нем средства. Сначала нам нужно знать, как генерируется адрес биткойн-кошелька.
Частные и открытые ключи Биткойна
Биткойн использует эллиптическую кривую Secp256k1. «Закрытый ключ» — это случайное число от 1 до n-1. n — очень большое число (256 бит). n выражается в научных обозначениях как:

Этот диапазон очень широк и делает практически невозможным взлом секретных ключей других людей. Этот закрытый ключ представляет собой случайное целое число, обычно представленное 256 двоичными битами, и может быть закодировано различными способами. Закрытые ключи, использующие WIF (формат импорта кошелька) или формат, сжатый WIF, не зашифрованы и могут быть декодированы непосредственно в необработанные случайные целые числа.
Другой метод — BIP38 (Предложение по улучшению биткойна 38), который рекомендует использовать алгоритм AES для шифрования закрытого ключа. Закрытый ключ, сгенерированный по этой схеме, начинается с символа 6P, и для его импорта в различные биткойн-кошельки необходимо ввести пароль.Так мы обычно используем защиту закрытого ключа.
Далее мы используем формулу эллиптической кривой K = kG, где k — закрытый ключ, а G — базовая точка, которая является аргументом эллиптической кривой secp256k1.
С помощью этой формулы мы можем получить две координаты K, которые являются двумя выражениями открытого ключа, а именно «Несжатый формат» и «Сжатый формат».

В несжатой форме две координаты x и y напрямую соединяются вместе, а затем добавляется префикс 0x04 впереди;
Сжатая форма означает, что когда y — четное число, код — 02 x, а когда y — нечетное число, код — 03 x;
Биткойн-адрес
На рисунке ниже показаны различные типы биткойн-адресов.Существует четыре метода представления:

1. Устаревший формат (P2PKH)
Пример: 1Fh7ajXabJBpZPZw8bjD3QU4CuQ3pRty9u
Адрес начинается с «1», который является исходным форматом адреса Биткойна и используется до сих пор. Он получается путем вычисления хеша на основе открытого ключа, также известного как P2PKH, что является аббревиатурой Pay To PubKey Hash (платеж по хешу открытого ключа).
2. Формат вложенного SegWit (P2SH).
Пример: 3KF9nXowQ4asSGxRRzeiTpDjMuwM2nypAN
Адрес начинается с цифры 3. P2SH — это аббревиатура Pay To Script Hash, которая поддерживает более сложные функции, чем устаревшие адреса. Вложенный P2SH получает существующий адрес P2SH (начиная с «3») и инкапсулирует его вместе с адресом SegWit.

3. Собственный формат SegWit (Bech32).
Пример: bc1qf3uwcxaz779nxedw0wry89v9cjh9w2xylnmqc3
BIP0173 представил форматы адресов, начинающиеся с «bc1», которые являются адресами, используемыми для собственного отдельного свидетеля (SegWit). Этот формат адреса использует кодировку Bech32 и специально разработан для SegWit. Адреса в формате Bech32 были определены в BIP173 в конце 2017 года. Одной из его основных особенностей является то, что он не чувствителен к регистру, поэтому при вводе легче избежать путаницы, а также его легче читать.
По сравнению с традиционной кодировкой Base58, Bech32 использует кодировку Base32, поэтому в адресе требуется меньше символов, вычисления становятся более эффективными и их можно более компактно хранить в QR-коде.
Кроме того, Bech32 обеспечивает более высокий уровень безопасности и более оптимизированное обнаружение ошибок контрольной суммы, сводя к минимуму риск получения недействительных адресов.
Сами адреса Bech32 совместимы с SegWit. Для помещения адреса SegWit в адрес P2SH не требуется дополнительного места, поэтому при использовании адреса формата Bech32 плата за обработку будет ниже.
В целом адреса Bech32 имеют несколько преимуществ по сравнению с традиционными адресами Base58: сгенерированные QR-коды меньше, более защищены от ошибок, более безопасны, нечувствительны к регистру и содержат только строчные буквы, поэтому их легче читать, набирать и понимать.

4. Формат Taproot (P2TR)
У Bech32 есть недостаток: если последним символом адреса является p, то вставка или удаление любого количества символов q непосредственно перед p не приведет к аннулированию его контрольной суммы.
С целью смягчения вышеперечисленных недостатков Бех32 в BIP0350 был предложен адрес Бех32м:
Для собственных адресов Segwit версии 0 используйте предыдущую версию Bech32;
Для собственных адресов Segwit версии 1 (или выше) используется новый Bech32m.
Для адресов Bech32m, когда их номер версии равен 1, они всегда начинаются с «bc1p», что означает, что они являются адресами Taproot. Подобно собственному Segwit, эти адреса могут быть сгенерированы из исходной фразы и парольной фразы, используемых для генерации открытых и закрытых ключей расширенного набора, что позволяет получать адреса для различных путей в иерархическом детерминированном кошельке.

В основном он используется для хранения цифровых активов, таких как токены BRC-20, а также NFT Биткойна.