Estoy tratando de entender el código del BIP173 . Leí el BIP, los enlaces a RFC3548 o z-base-32, la propuesta base32 de Mark Friedenbach y algunas publicaciones aquí.
P1: ¿cómo interpretar el manejo de scripts?
Pensé entender que bech32 es una representación de una dirección (que codifica un hash de una clave pública) y no tiene nada que ver con las secuencias de comandos. Me confundí, en la sección de ejemplo dice:
Todos los ejemplos usan la clave pública 0279BE66... Los ejemplos de P2WSH se usan
<key OP_CHECKSIG>
como script.
En un tx estándar, tendría el sigscript con la firma y, por ejemplo, una clave pública. Entonces, para el tx de gasto, se verifica que la clave pública coincida con la firma. ¿Es lo mismo cierto para una dirección bech32 (además de estar en la sección de testigos)? ¿Hay algún ejemplo con un tx multisig con solo direcciones bech32?
P2: ¿Qué es la línea "GEN = [0x3b6a57b2 ..."?
En la sección Especificación/Suma de comprobación dice:
def bech32_polymod(values):
GEN = [0x3b6a57b2, 0x26508e6d, 0x1ea119fa, 0x3d4233dd, 0x2a1462b3]
...
Me pregunto, ¿qué hacen estos valores, de dónde vienen? También investigué el código C, pero no hay más explicaciones. ¿Dónde puedo encontrar su significado?
¿Cómo interpretar el manejo de scripts?
Lo que te estás perdiendo es que BIP173 no es una forma de codificar claves públicas o scripts. Es una forma de codificar las salidas de transacciones segwit. Lo que esos resultados son y significan está actualmente en BIP141 y BIP143, pero puede cambiar con el tiempo, sin que BIP173 cambie.
Todas las salidas de transacciones de segwit (actuales y futuras) tienen la siguiente estructura:
BIP173 simplemente codifica un número de versión testigo y un programa testigo. Nada más y nada menos. No le importa lo que esas cosas significan.
Actualmente hay 2 tipos de salidas nativas de segwit definidas:
Las direcciones de Segwit, tal como se definen en BIP173, permiten codificar los dos tipos anteriores, pero también todos los posibles tipos de salida de testigos futuros, ya que simplemente codifican un número de versión y bytes de programa, sean los que sean.
Algunos de los ejemplos en el BIP usan versiones de testigos reales y programas de esos dos tipos, y para mayor claridad, se enumeran las claves y los scripts. Pero a BIP173 realmente no le importa lo que son.
Para saber cómo se realizan los pagos a claves públicas y scripts multisig en segwit, consulte BIP141 y BIP143.
colisionador de mallas
pieter wuille
pebwindkraft