La gente parece estar usando "segwit nativo" y "bech32" indistintamente. ¿Son realmente lo mismo?
TL; DR: Native segwit se refiere a salidas de segwit sin envoltorio P2SH. Bech32 es el formato de dirección que se utiliza para representar los scripts de bloqueo nativos de segwit-v0.
Cuando se activó segwit, introdujo la generación cero de segwit, segwit-v0. Los scripts de bloqueo correspondientes venían en dos versiones:
Bech32 también se utiliza para otros fines como, por ejemplo, la codificación de facturas Lightning . Originalmente, también se planeó usar Bech32 para versiones posteriores de salida nativa de segwit. Sin embargo, después de que se descubrió una debilidad en la mutabilidad y las encuestas encontraron que muchas billeteras no manejaban correctamente el envío a versiones superiores de segwit, se está discutiendo una versión modificada de Bech32. Esta versión modificada de Bech32 usaría una constante de suma de verificación diferente para romper explícitamente la compatibilidad hacia adelante, es decir, requeriría que las billeteras se actualicen para crear salidas segwit-v1. Romper la compatibilidad hacia adelante protege las billeteras de quemar fondos al degradar incorrectamente las direcciones segwit-v1 a las direcciones segwit-v0, y permite corregir la debilidad de la mutabilidad.
La bifurcación blanda Taproot propuesta presenta el tipo de salida segwit-v1 nativo, Pay to Taproot (P2TR) , que sería el primer tipo de salida segwit nativo en usar este formato de dirección Bech32 modificado, llamado "Bech32m" propuesto por BIP-350 .