Bitcoin Script y verificación de firmas UTXO
Siga los scripts pay-to-public-key-hash (P2PKH) y la firma ECDSA.
Bitcoin Script y verificación de firmas UTXO es una lección gratuita de Cryptology Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cryptology Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cryptology Academy incluye 4 lecciones en total.
Modelo UTXO
Bitcoin utiliza salidas de transacciones no gastadas (UTXO). Cada UTXO es una moneda con un script de bloqueo (scriptPubKey). Para gastarla, quien la gasta proporciona un script de desbloqueo (scriptSig) que satisface el script de bloqueo. Los UTXO son atómicos: se gastan o no se gastan, nunca parcialmente.
Bitcoin Script
Bitcoin Script es un lenguaje basado en pila y no Turing-completo. Los scripts se ejecutan insertando datos en la pila y ejecutando opcodes. No hay bucles ni recursión: los scripts siempre terminan. Esta limitación intencional evita la denegación de servicio y hace que la verificación del script sea O(n) respecto a su longitud.
P2PKH: pago a hash de clave pública
Tipo de salida más común. scriptPubKey: OP_DUP OP_HASH160
Traza de ejecución de P2PKH
Traza de la pila para P2PKH: push
ECDSA en Bitcoin
Bitcoin utiliza ECDSA sobre secp256k1 (curva de Koblitz, y^2 = x^3 + 7 mod p). La clave privada d ∈ [1, n-1]. La clave pública es Q = d*G. Sign(m): k aleatorio; r = (k*G).x mod n; s = k^{-1}(H(m)+r*d) mod n. La firma = (r, s). Se codifica en DER dentro de scriptSig.
Tipos de SIGHASH
Las firmas de Bitcoin cubren partes específicas de la transacción: SIGHASH_ALL (predeterminado): firma todas las entradas y salidas. SIGHASH_SINGLE: firma únicamente la salida correspondiente. SIGHASH_NONE: no firma ninguna salida (peligroso). SIGHASH_ANYONECANPAY: firma únicamente la entrada propia, lo que permite realizar transacciones colaborativas.
P2SH: pago a hash de script
P2SH permite ocultar condiciones de gasto complejas detrás de un hash. scriptPubKey: OP_HASH160
Multifirma (2 de 3)
redeemScript: OP_2
Segwit y P2WPKH
Segregated Witness (SegWit, BIP-141) mueve las firmas fuera de scriptSig a un campo witness independiente. Soluciona la maleabilidad de las transacciones (el ID cambia si cambia scriptSig). scriptPubKey de P2WPKH: OP_0 <20-byte pubKeyHash>. Witness: [
Taproot (P2TR)
Taproot (BIP-340/341/342) utiliza firmas Schnorr y árboles de sintaxis abstracta merkelizados (MAST). Gasto predeterminado: una única firma Schnorr, indistinguible de un gasto por keypath. Las condiciones complejas se ocultan en un árbol de Merkle y solo se revelan si se utilizan. Privacidad y eficiencia.
Verificación de scripts en el código
Bitcoin Core valida los scripts mediante un intérprete basado en pila. CheckSig llama a VerifyScript, que ejecuta la combinación de scriptSig+scriptPubKey. Para cada opcode CHECKSIG, llama a CheckECDSASignature, que verifica la firma (r,s) codificada en DER frente al hash de la transacción mediante secp256k1.
Comprobación rápida
¿Qué verifica OP_CHECKSIG en un script P2PKH?
Recapitulación
Los UTXO utilizan Bitcoin Script, basado en pila. P2PKH: el patrón de gasto más común: verifica el hash de una clave pública y después comprueba la firma ECDSA. SegWit soluciona la maleabilidad; Taproot incorpora Schnorr y MAST. Siguiente tema: criptoanálisis diferencial.
Preguntas frecuentes
¿La lección «Bitcoin Script y verificación de firmas UTXO» es gratis?
Sí — el texto completo de «Bitcoin Script y verificación de firmas UTXO» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cryptology Academy, actualiza a CoddyKit PRO. El curso de Cryptology Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Bitcoin Script y verificación de firmas UTXO»?
Siga los scripts pay-to-public-key-hash (P2PKH) y la firma ECDSA. Practicas Cryptology Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Cryptology Academy?
No se requiere experiencia previa. Cryptology Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Bitcoin Script y verificación de firmas UTXO»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Cryptology Academy?
Sí. Cada lección de Cryptology Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Cadenas de hash y vinculación de bloques
- Árboles de Merkle: integridad de transacciones a escala
- Proof of Work: minería y ajuste de dificultad
- Bitcoin Script y verificación de firmas UTXO