No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Curso de Bitcoin para Developers

Curso de Bitcoin para Developers

Juan Sebasti谩n Marulanda

Juan Sebasti谩n Marulanda

Transacciones: outputs e inputs

9/16
Recursos

El funcionamiento t茅cnico y la l贸gica de las transacciones en la Blockchain de Bitcoin explican por qu茅 se trata de un excelente sistema de pagos mundial y descentralizado al lograr evitar problemas como el doble gasto.

Composici贸n de una transacci贸n en Bitcoin

Las transacciones son la parte m谩s importante de todo el sistema que permiten la transferencia de valor de forma encriptada entre partes. Una transacci贸n est谩 compuesta por:

  • Entradas (inputs): referencias a salidas de transacciones anteriores. Contienen la direcci贸n de donde provienen los BTC.
  • Sal铆das (outputs): contienen la direcci贸n a donde se enviar谩n los BTC, adem谩s de la direcci贸n a donde se enviar谩 el cambio o retorno. Una transacci贸n puede contener m谩s de una salida.
  • TXid: identificador 煤nico e irrepetible de la transacci贸n en toda la red.
  • Comisi贸n: comisi贸n para el minero que validar谩 el bloque. Como no se conoce de antemano qui茅n ser谩, no est谩 asociado a ninguna cuenta.

El concepto de inputs y outputs es esencial para comprender el funcionamiento de una transacci贸n.

  • Outputs:
    • Tambi茅n denominados UTXO
    • Fragmentos de BTC representado en Satoshis
  • Inputs:
    • Identifican qu茅 UTXO utilizar谩n para una transacci贸n y proveen una prueba de propiedad para el uso del mismo.

UTXO o Unspent Transaction Output (transacci贸n de salida no gastada) es otro t茅rmino para los outputs y hacen referencia a fracciones de BTC que solo pueden ser utilizadas una vez y evitar as铆 el problema del doble gasto.

Construcci贸n de una transacci贸n

Las transacciones se preparan y se construyen a partir de las salidas que una wallet posee para formar entradas a otras direcciones.

Alice puede tener en su wallet 1 BTC completo. Para sus ojos, se trata de una sola unidad de bitcoin pero, por dentro, el mismo podr铆a estar compuesto por el 20% de un BTC, el 30% de otro y el restante 50% de un tercer BTC (3 salidas). Las wallets escanean la Blockchain de Bitcoin en b煤squeda de salidas no gastadas o no utilizadas para determinar el saldo de una billetera.

Cuando queremos enviar BTC a otra cuenta, utilizamos las salidas de nuestra billetera como entrada para la transacci贸n. Estas entradas se convierte en salida para la billetera receptora de los BTC.

Fragmentos de bitcoins
Los BTC puede fragmentarse en Satoshis. Un BTC representa 100.000.000 Satoshis.

Si Alice desea enviar 0.6 BTC a Bob, al disponer de tres salidas de 0.2, 0.3 y 0.5, debe agrupar N cantidad de salidas que le permitan igualar o superar el objetivo de transferir 0.6 BTC a Bob. Como no es posible igualar, utilizar谩 las salidas de 0.2 y 0.5, formando 0.7 BTC.

Dichos BTC se dividen en tres partes, 0.6 para la wallet receptora de Bob y concretar el pago, un 0.09 como el vuelto o el retorno a la billetera de Alice y podemos considerar un 0.01 como comisi贸n para el minero.

El vuelto o retorno se convierte en una nueva salida para la wallet de Alice, quedando en ella dos salidas de 0.09 y la de 0.3 (que no fue utilizada) y un saldo total de 0.39 BTC. El restante 0.01 se enviar谩 al minero del bloque convirti茅ndose en una salida para su cuenta.

Flujo de transacciones Input/Output en Bitcoin

En este ejemplo, el output de Alice tiene como destino a Bob, mientras que el input de Bob tiene como emisor a Alice.

Las entradas y salidas dependen del punto de vista de la direcci贸n. Para la direcci贸n de Alice, una transacci贸n puede considerarse output, ya que est谩 enviando valor a la cuenta de Bob, que interpreta como input la misma transacci贸n. Cuando Bob utilice esos BTC como salida, ser谩 la entrada de alguien m谩s.

Los inputs y outputs utilizan mecanismos de encriptaci贸n y comprobaci贸n de las claves para su utilizaci贸n. Es as铆 como una wallet guarda las claves privadas para la utilizaci贸n de un UTXO (de una salida) y la misma es capaz de demostrar ser el owner de fracciones de bitcoin. Todo este complejo mecanismo es posible gracias al lenguaje de programaci贸n llamado Bitcoin Script.

Conclusi贸n

La transferencia de valor en Bitcoin es un mecanismo complejo, que seguramente tengas que leer varias veces y apoyarte de otras fuentes para entender en profundidad sobre c贸mo se construye las transacciones a partir de entradas y salidas.

Es posiblemente la gran innovaci贸n de Satoshi Nakamoto para la construcci贸n de este gran sistema de pagos e intercambio de valor, como lo es la Blockchain de Bitcoin.


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

Aportes 8

Preguntas 1

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

Recimiento este art铆culo para entender m谩s sobre UTXO. Luego de leerlo, volv铆 a ver la clase y me qued贸 m谩s claro.

UTXO (Unspent transaction output)

UTXO o Unspent transaction output (transacci贸n de salida no gastada) es uno de los conceptos centrales que permiten el correcto funcionamiento de la tecnolog铆a blockchain que Satoshi Nakamoto desarrollo para Bitcoin, la primera criptomoneda del mundo.
Ejemplo:
Supongamos que Maria ha recibido 4 dep贸sitos en su wallet y entre todos suman 10 BTC, Maria quiere pagar 0.25 BTC a Amazon, entonces el sistema toma sus 4 UTXO que est谩n pendientes de gastar como entrada a la transacci贸n que va a realizar, y de salida env铆a 0.25 BTC a Amazon y genera un nuevo UTXO con 9.75 BTC direccionados a la wallet de Maria.

Transacciones: outputs e inputs.

Las transacciones suponen la parte m谩s importante del sistema Bitcoin. Son estructuras de datos que cifran/codifican la transferencia de valor entre participantes del sistema.

.
Output.

  • Trozos/Porciones/Fracciones de bitcoin, registrados y reconocidos como v谩lidos por toda la red.
  • UTXO.
  • Se componen de:
    • Una cantidad de bitcoin, representada en satoshis (100.000.000 sat = 1 BTC).
    • Un enigma/acertijo/problema criptogr谩fico que determina las condiciones para gastar/usar la salida.

.
Input.

  • Identifican qu茅 UTXO se consumir谩 y provee una prueba la propiedad de la misma a trav茅s de un script.
  • Se componen de:
    • ID de transacci贸n, referenciando la transacci贸n que contiene la UTXO que se va a usar.
    • Un 铆ndice de salidas (vout) identificando qu茅 UTXO de esa transacci贸n est谩 referenciada.
    • Un scriptSig que satisface las condiciones existentes en la UTXO para desbloquear y gastar.
    • Un n煤mero de secuencia.

Las entradas y salidas son transacciones que ingresan a tu wallet. Imagina que recibiste en el pasado 100 USD y unos d铆as recibiste 200 USD. Tienes 2 entradas, el A y B respectivamente

Y vas a comprar una suscripci贸n de Platzi que vale 230 USD, entonces envias tus dos entradas A y B por 300 USD a Platzi y que ahora son tus salidas verdad?

Y Platzi recibe tus salidas y te env铆a una entrada por 70 USD de cambio.

Es curioso enviar todo y recibir el vuelto, pero eso evita el doble gasto y garantiza el funcionamiento de bitcoin sin la intervenci贸n de humanos.

Ac谩 est谩 s煤per claro, incluso sirve para responder una de las preguntas del examen:
https://www.criptonoticias.com/criptopedia/debes-saber-sobre-comisiones-bitcoin-otras-redes-pow/

Recomiendo que tienen que explicar de otra manera este tema porque igual queda confuso

Las transacciones son fundamentales para el ecosistema ya que el ecosistema esta echo para
Crear, a帽adir, validar y distribuir una transacci贸n de valor con diferentes participantes del sistema

RESUMEN CLASE 9:
TRANSACCIONES:
OUTPUTS E INPUTS

I.- 驴QUE SON?

  • Parte m谩s importante del sistema.

  • Estructuras de datos que cifran/codifican la transferencia de valor entre participantes del sistema.

II.- INPUTS Y OUTPUTS

  • Output:

    • Trozos/Porciones/Fracciones de bitcoin, registrados y reconocidos como v谩lidos por toda la red.

    • UTXO.

  • Input:

    • Identifican que UTXO se consumir谩 y provee una prueba la propiedad de la misma a trav茅s de un script.

III.- OUTPUTS

  • Se componen de:

    • Una cantidad de bitcoin, representada en satoshis (100.000.000 sat = 1 btc).

    • Un enigma/acertijo/problema criptogr谩fico que determina las condiciones para gastar/usar la salida.

III.I.- DETALLE OUTPUT

IV.- INPUTS

  • Se componen de:

    • ID de transacci贸n, referenciando la transacci贸n que contiene la UTXO que se va a usar.

    • Un 铆ndice de salidas (vout) identificando que UTXO de esa transacci贸n est谩 referenciada.

    • Un scriptSig que satisface las condiciones existentes en la UTXO para desbloquear ygastar.

    • Un n煤mero de secuencia.

IV.I.- DETALLE INPUTS