Преимущества адресов Bech32?

В ядре Bitcoin при генерации нового адреса для получения платежа вы получаете такой диалог:

Получить адрес

Есть галочка "Создать адрес Bech32".

Я понимаю, что это относительно новая функция, которая еще не поддерживается всеми кошельками. Во всплывающей подсказке утверждается, что

Адреса Bech32 ... дешевле тратить и обеспечивают лучшую защиту от опечаток"

  • Насколько дешевле, чем «адрес SegWit в оболочке P2SH»? (и почему?)
  • Разве адреса SegWit, обернутые P2SH, не включают контрольные цифры в конце?

Я нашел 52-минутное видео на Youtube, где кто-то со знакомым именем проводил презентацию о Bech32, но я надеюсь, что это можно объяснить просто и лаконично для нетехнического конечного пользователя, который задается вопросом, следует ли щелкнуть этот флажок. или не.

Ответы (2)

Собственные неизрасходованные выходные данные P2WPKH сохраняют 22 байта, поскольку их ScriptSigs пусты, а не 0x0014{20-byte-key-hash}.

2)

Да, там уже есть контрольная сумма такой же длины.

Более новый алгоритм контрольной суммы

Также вас может заинтересовать список преимуществ Bech32 .

«Значит, сумма экономии незначительна». результат примерно на 25% меньше веса на вход. С каких пор сокращение на четверть является незначительным?
В дополнение к удалению scriptSig открытый ключ и подпись перемещаются в данные-свидетели. Последние два являются значительной экономией.
Редактировать: сравнение двух транзакций-свидетелей, которые хранят открытый ключ и подпись отдельно, это якобы правильно. BIP 141 говорит следующее: «По сравнению с предыдущим примером, scriptPubKey на 11 байт меньше (с пониженной безопасностью), а свидетель такой же. Однако для этого также требуется 35 байт в scriptSig».

Плата за транзакцию зависит от количества байтов в вашей транзакции. Segwit позволяет перенести значительную часть транзакций в новую структуру под названием witness. Байты в свидетеле получают скидку 75 % (4 байта свидетеля считаются за 1).

Сколько вы сэкономите, зависит от вашей транзакции. Если речь идет о большом количестве подписей, которые можно переместить в свидетеля, вы сэкономите больше. Например, с комиссией в 1 сат/байт и транзакцией в 200 байт, из которых 120 байтов являются подписями, вы заплатите 200 сатоши, используя устаревшие адреса, но вы заплатите 80 + (120/4) = 110 сатоши с помощью segwit.

Насколько дешевле, чем «адрес SegWit в оболочке P2SH»? (и почему?)

Если вы установите флажок, вы получите адрес P2WPKH, иначе вы получите адрес P2SH-P2WPKH. Оба получают скидку. Если вам нужен устаревший адрес, вы должны указать его с помощью команды RPC или изменить значение в файле конфигурации.

Разве адреса SegWit, обернутые P2SH, не включают контрольные цифры в конце?

Все устаревшие адреса включают 4-байтовую контрольную сумму, которая хорошо подходит для определения наличия ошибки.

Bech32 использует коды исправления ошибок , которые намного лучше. Вместо двоичного вывода (правильно/неправильно) они могут находить множественные ошибки, точно указывать неправильный символ и даже автоматически исправлять их (до количества ошибок в зависимости от длины кода).

Про платную часть: вопрос в разнице размеров между P2SH-WP2PKH и родным P2WPKH.
"и даже исправлять их автоматически", нет - они их не исправляют. Если бы они это сделали, это разрушило бы защиту от отправки средств не в те места.
BIP даже прямо говорит не выполнять исправление ошибок. Если ваш адрес неверен, и вы это знаете, вам следует вернуться к получателю и спросить правильный адрес, а не пытаться угадать. Однако можно предположить, где могут быть ошибки.
@G.Maxwell G.Maxwell Я не хотел предлагать вам это сделать, просто это возможность кода с исправлением ошибок в целом.