RESUMEN CLASE 16:
SCRIPT
Definimos una moneda electrónica como una cadena de firmas digitales.
Cada dueño transfiere la moneda al próximo al firmar digitalmente un hash de la transacción previa y la clave pública del próximo.
I.- SCRIPT
-
No es nombrado en el whitepaper.
-
EvalScript (funcion).
-
Máquina de pila que evalúa y retorna validez.
-
Soporte para todo tipo de transacción.
-
Cada nodo solo necesita entender la transacción para evaluarla.
-
Predicado (Teorema de post).
II.- SCRIPT HISTORIA
-
Scriptsig
-
EvalScript
-
P2SH
-
Segregated Witness
-
Taproot (Firmar)
III.- QUE ES SCRIPT ?
-
Lenguaje de programación usado como mecanismo que bloquea salidas.
-
Un script de bloqueo se agrega en cada salida.
-
Un script de desbloqueo debe proveerse para desbloquear una salida.
IV.- COMPONENTES
-
Datos (Llaves públicas y firmas).
-
OPCODES: funciones que permiten operar los datos.
V.- COMO ES EJECUTADO
-
Siempre de izquierda a derecha.
-
Los datos siempre se empujan a la pila
-
OPCODES pueden sacar elementos, y opcional, empujar.
-
Válido si la cima y único elemento en la pila Ges 1 o más.
VI.- DONDE LO ENCUENTRAS ?
-
Script que bloquea en cada salida que se crea en una transacción.
-
Script que desbloquea cada vez que quieres usar una salida como entrada en una nueva transacción.
-
Siempre se ejecuta el script de desbloqueo primero que el script de bloqueo.
VII.- POR QUE LO USAMOS ?
-
¿ Por qué no usar una llave pública y la firma solamente y no usar OPCODES ?
-
Podemos crear distintos tipos de bloqueos con distintas combinaciones, flexibilidad.
EJEMPLOS
-
Matemático
-
Suma: ‘[1 2 OPP_ADD]’
-
Resta: ‘[3 2 OPP_ADD 4 OPP_SUB]’
-
-
P2PKH
- <signature> <pubKey> OP_DUP
OP_HASH160 <pubKeyHash>
OP_EQUALVERIFY OP_CHECKSIG
- <signature> <pubKey> OP_DUP
VIII.- SCRIPT ESTANDAR
-
P2PK
-
P2PKH
-
P2MS
-
P2SH
-
NULL
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?