Cómo Funciona una Transacción Bitcoin Típica (P2P)
Una transacción BTC típica es la que se da entre dos personas o direcciones (Peer to Peer). En este ejemplo desarrollado en la red de prueba (testnet), enviaremos fondos de:
La dirección:
mhWmofYSHLdwvkA3Y51eARqZM1z9YcCS1CA la dirección:
n3PUm39rx8SwgFqLmRpKQvCdw997eF7iTp
Como primer paso la dirección que envía debe disponer de fondos, esto lo puedes ver en tu billetera BTC o consultar un explorador blockchain de BTC (una especie de navegador blockchain) en tu computadora o móvil:
Esto equivale a que el protocolo BTC haga una consulta o un request del estado de la dirección mhWmofYSHLdwvkA3Y51eARqZM1z9YcCS1C en el blockchain de BTC testnet.
La respuesta es la información de esa dirección en formato JSON. De la última transacción con hash:
e4a5829dd872187a06d4eaf5e495cc53b51de6ae16fd1f53cf42856661bd270f
En la imagen que sigue, en la línea 24 se indica que dispone de un valor 10,000 microBTC.
UTXO fondos disponibles de una dirección BTC
A continuación, el protocolo BTC hace una solicitud o request al blockchain para estructurar un JSON llamado UTXO (Unspent transaction output). Este utxo indica cuales son los fondos disponibles para ser gastados por esa dirección o cuenta.
El blockchain retorna el utxo en código Hexadecimal.
Como se construye una transacción BTC sin procesar
(raw transaction).
En la imagen que sigue encontramos que:
Con la información del utxo constituye el Input o entrada.
Existen dos output o salidas, una salida es a quien se destinan los fondos y otra para devolver el cambio si la cantidad a enviar es menor que la cantidad en el Input.
En la línea 40 se firma la transacción con la clave privada.
En la línea 44 se pide devolver la raw transaction en código hexadecimal.
Una vez ejecutado el software anterior, obtenemos la raw transaction en formato hexadecimal:
Como se incluye una transacción en el blockchain BTC
El protocolo BTC procede a enviar la raw transaction (en la imagen que sigue asignada a la variable tx, en el JSON pushtx) de su billetera o computadora, empujando la tx al blockchain ubicado en los nodos completos de BTC.
Ahora tenemos la transacción procesada y en formato JSON, que nos devuelve el protocolo BTC a nuestra computadora desde el blockchain en el nodo que lo proceso:
Finalmente se puede verificar el saldo de la dirección o cuenta del destinatario de los fondos, en la billetera o en el explorador blockchain de BTC en tu móvil o computadora.