El lenguaje de programación simple basado en pila de Bitcoin que define las condiciones bajo las cuales Bitcoin puede gastarse. Cada transacción de Bitcoin contiene un script que especifica quién puede reclamar los fondos y bajo qué circunstancias.
El lenguaje de programación simple basado en pila de Bitcoin que define las condiciones bajo las cuales Bitcoin puede gastarse. Cada transacción de Bitcoin contiene un script que especifica quién puede reclamar los fondos y bajo qué circunstancias.
Bitcoin Script es un lenguaje de programación intencionalmente limitado que alimenta cada transacción de Bitcoin. Cuando envías Bitcoin, no estás simplemente transfiriendo un saldo — estás creando un script de bloqueo (scriptPubKey) que define las condiciones necesarias para gastar esas monedas. El destinatario debe proporcionar un script de desbloqueo (scriptSig) que satisfaga esas condiciones para reclamar los fondos.
Script es intencionalmente no Turing-completo — no puede hacer bucles, lo que significa que los scripts siempre terminan y su costo de ejecución está acotado. Esta es una decisión de diseño de seguridad deliberada de Satoshi Nakamoto. Si bien limita la programabilidad de Bitcoin en comparación con plataformas como Ethereum, elimina categorías enteras de errores y ataques. El tipo de script más común simplemente requiere una firma digital válida de una clave pública específica, pero scripts más complejos permiten billeteras multifirma, transacciones con bloqueo temporal y contratos con bloqueo de hash.
A pesar de su simplicidad, Script ha demostrado ser notablemente versátil. Los Contratos con Bloqueo de Hash y Tiempo (HTLCs), que alimentan la Lightning Network, están construidos completamente con Script. Los arreglos multifirma para tesorerías corporativas, servicios de depósito en garantía y planificación de herencia usan todas las capacidades nativas de Script. La extensión MAST de Taproot expandió aún más lo que es práctico al permitir que los scripts complejos sean comprimidos y revelados solo cuando es necesario, manteniendo las rutas de gasto comunes baratas y privadas.
Por diseño. Un lenguaje Turing-completo puede entrar en bucles infinitos, haciendo los costos de ejecución impredecibles y creando superficies de ataque. Las limitaciones de Bitcoin Script aseguran que cada script termine de forma determinista y tenga un uso de recursos acotado. Esta compensación prioriza la seguridad y la previsibilidad sobre la programabilidad.
Script soporta verificación de firmas, bloqueos temporales (gastar solo después de cierta altura de bloque o tiempo), bloqueos de hash (gastar solo con una preimagen secreta), multifirma (requiriendo M de N firmas) y combinaciones de los mismos. Estas primitivas permiten canales Lightning, intercambios atómicos, arreglos de depósito en garantía y esquemas de herencia.
No. Las billeteras abstraen completamente la capa de Script. Cuando envías Bitcoin, tu billetera construye automáticamente los scripts apropiados. El conocimiento de Script es principalmente relevante para desarrolladores que construyen aplicaciones de Bitcoin, diseñan soluciones de custodia o trabajan en mejoras a nivel de protocolo.