No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

15 Días
3 Hrs
15 Min
18 Seg
Curso de Bitcoin para Developers

Curso de Bitcoin para Developers

Juan Sebastián Marulanda

Juan Sebastián Marulanda

Qué es Bitcoin Script

10/16
Recursos

El funcionamiento de las transacciones en la Blockchain de Bitcoin tienen un motivo lógico, su propio lenguaje de programación llamado Bitcoin Script.

¿Qué es Bitcoin Script?

Bitcoin Script, se trata de un lenguaje de scripting que permite verificar si las condiciones para la utilización de las UTXO (salidas) están dadas y poder desbloquearlas.

Toda actividad en la red de Bitcoin está determinada por el lenguaje de programación que Satoshi Nakamoto creó especialmente para su funcionamiento.

Los Scripts que Bitcoin permite programar son “Turing Incompleto”, lo que significa que su funcionalidad es limitada, no admite condicionantes ni bucles lógicos. Solo permite la ejecución de un programa de forma secuencial, una instrucción después de la otra en basado en una pila o stack.

Esto le da a Bitcoin una capa extra de seguridad. Al no permitir bucles infinitos, se evita por naturaleza los ataques de denegación de servicios.

Evitando ataques de denegación de servicios
Las Blockchains implementan diversos mecanismos para evitar este tipo de ataques. La Blockchain de Ethereum utiliza el concepto de Gas para limitar el procesamiento de la lógica de un programa y evitar operaciones infinitas.

¿Cómo es un Script en Bitcoin?

Los programas se escriben utilizando una serie de OP_CODES (Código de Operación) definidos en la arquitectura de Bitcoin. Cada código posee una funcionalidad definida, ya sea de criptografía, aritmética, flujo de información, manejo lógico, etc. Los scripts se definen y se ejecutan de izquierda a derecha.

Un script para la transferencia de BTC entre dos cuentas luce de la siguiente manera:

OP_DUP OP_HASH160 ef4a75e1e4572b8f810abe52cdd2e7cfd74b63e2 OP_EQUALVERIFY OP_CHECKSIG

Dicho script, también denominado scriptPubKey o script de bloqueo, contiene las condiciones para consumir una salida. A su vez, la transacción contiene un campo scriptSig, o script de desbloqueo, con la firma y la clave pública para satisfacer las condiciones del gasto de esa salida.

El proceso por detrás de los scripts de Bitcoin poseen una importante complejidad criptográfica para demostrar la propiedad de un UTXO, realizar validaciones de hashes y lograr transferir valor entre dos cuentas.

Tal vez estés ansioso o ansiosa por saber más sobre cómo funciona Bitcoin técnicamente y escribir tus propios scripts. ¡Calma! Podrás continuar al finalizar este curso con el Curso de Bitcoin Core y Script donde se verá más en profundidad cómo hacerlo. Continuemos que aún hay mucho por aprender sobre el funcionamiento técnico de Bitcoin.


Contribución creada por: Kevin Fiorentino (Platzi Contributor).

Aportes 8

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Aquí es donde comienza a tener sentido este curso. Bitcoin tiene su propio lenguaje de programación, no sabía eso. Es un antes y un después esta clase.
Recomiendo este artículo para saber más sobre Bitcoin Script.

Script.

Es un lenguaje de programación muy simple que tiene como objetivo validar la información sobre el dinero programable. No tiene bucles ni estructuras de datos complejas, lo cual habilita una nueva capa de seguridad sobre la red, haciendo posible que no se inserten vulnerabilidades a través de las transacciones.

  • Lenguaje de script para transacciones bitcoin.
  • El script que bloquea una UTXO junto con el script que desbloquea se ejecuta para verificar si satisface las condiciones.
  • Turing incompleto.
  • Basado en pila.

.
Script de transacciones.

En una transacción, siempre se encontrarán dos tipos de scripts:

  • Script de bloqueo.
    • Condición para consumir una salida.
    • scriptPubKey.
  • Script de desbloqueo.
    • Script que satisface las condiciones para consumir una salida.
    • scriptSig.
creo que el curso le hace falta un poco de animaciones, para explicar las cosas, como infografias y animaciones echas en after effects, curioso que platzi con tantos recursos no aumente el valor de sus clases de esa manera, y tampoco habilitan los subtitulos, seria genial tenerlos y que fueran descargables o que te lo mostrara al menos, como en coursera

Ejemplo de Bitcoin Script

RESUMEN CLASE 10:
SCRIPT

I.- SCRIPT

  • Lenguaje de script para transacciones bitcoin.

  • El script que bloquea una UTXO junto con el script que desbloquea se ejecuta para verificar si satisface las condiciones.

  • Turing incompleto.

  • Basado en pila.

II.- SCRIPTS DE TRANSACCIONES

  • Script de bloqueo

    • Condición para consumir una salida.

    • scriptPubKey.

  • Script de desbloqueo

    • Script que satisface las condiciones para consumir una salida.

    • scriptSig.

Terrible, este curso es muy incompleto. Nada de apoyo visual para poder entender mejor los conceptos. Son conceptos complejos y personalmente aprendo viendo ejemplificaciones y ejemplos con apoyos multimedia. No solo con teoría.

Una explicación de Turing completo <https://stackoverflow.com/questions/7284/what-is-turing-complete> y Turing incompleto <https://stackoverflow.com/questions/315340/practical-non-turing-complete-languages>

El gas hace referencia a la unidad que mide la cantidad de esfuerzo computacional requerida para ejecutar operaciones específicas en la red de Ethereum. Como cada transacción de Ethereum requiere recursos computacionales para ejecutarse, cada transacción requiere una comisión