Я пытаюсь понять код из BIP173 . Я прочитал BIP, ссылки на RFC3548 или z-base-32, предложение base32 Марка Фриденбаха и несколько сообщений здесь.
Q1: как интерпретировать обработку скрипта?
Я думал понять, что bech32 — это представление адреса (кодирование хэша открытого ключа), и к скриптингу отношения не имеет. Я запутался, в разделе примеров написано:
Во всех примерах используется открытый ключ 0279BE66... Примеры P2WSH используются
<key OP_CHECKSIG>
как скрипт.
В std tx у меня был бы sigscript с подписью и, например, pubkey. Итак, для расходного tx проверяется, что публичный ключ соответствует подписи. Верно ли то же самое для адреса bech32 (кроме того, что он находится в разделе свидетеля)? Есть ли пример с multisig tx только с адресами bech32?
Q2: что такое строка "GEN = [0x3b6a57b2..."?
В разделе Спецификация/Контрольная сумма написано:
def bech32_polymod(values):
GEN = [0x3b6a57b2, 0x26508e6d, 0x1ea119fa, 0x3d4233dd, 0x2a1462b3]
...
Мне интересно, что делают эти значения, откуда они берутся? Я также просмотрел код C, но дальнейших объяснений нет. Где я могу найти его значение?
как интерпретировать обработку скрипта?
Чего вам не хватает, так это того, что BIP173 — это не способ кодирования открытых ключей или скриптов. Это способ кодирования выходных данных транзакций SegWit. Что представляют собой эти выходные данные и что они означают, в настоящее время находятся в BIP141 и BIP143, но со временем могут измениться без изменения BIP173.
Все выходы транзакций segwit (текущие и будущие) имеют следующую структуру:
BIP173 просто кодирует номер версии-свидетеля и программу-свидетель. Не больше, не меньше. Его не волнует, что означают эти вещи.
В настоящее время определены 2 типа собственных выходов segwit:
Адреса Segwit, определенные в BIP173, позволяют кодировать два вышеуказанных типа, а также все потенциальные будущие типы вывода свидетелей, поскольку они просто кодируют номер версии и программные байты, какими бы они ни были.
В некоторых примерах в BIP используются реальные версии-свидетели и программы этих двух типов, и для пояснения перечислены ключи и сценарии. Но BIP173 на самом деле все равно, что они из себя представляют.
Чтобы узнать, как в segwit осуществляются платежи по открытым ключам и скриптам с мультиподписью, посмотрите BIP141 и BIP143.
мешколлайдер
Питер Уилле
пебвиндкрафт