Cómo funcionan las transacciones de Bitcoin

Sending Bitcoin

El Bitcoin ha alcanzado picos históricos que han llegado a superar los 20.000 $ a finales de 2017, por mucho que el mercado fluctúe, nadie puede negar el éxito de una criptomoneda que comenzó dicho año por debajo de los 1000 $. Para participar en el mercado no hace falta tener conocimientos técnicos sobre transacciones de Bitcoin. Básicamente sólo hay que tener dinero para invertir. Sin embargo, nunca está demás aprender cómo funcionan las cosas, y es por ello que hemos preparado esta guía.

Las transacciones de bitcoin son, a simple vista, sencillas. Pero ¿Cómo funciona una transacción dentro del sistema blockchain de bitcoin?

El Bitcoin no existe

Para entender cómo funciona una transacción, debemos entender que es el bitcoin. La realidad es que lo que conocemos como BTC son registros de transacciones en su red blockchain. No existe una unidad física, ni siquiera una unidad digital, como un archivo o documento, que podamos identificar como bitcoin.

De hecho, te sorprenderá saber que un wallet ni siquiera es un monedero en todo el sentido de la palabra. De hecho es más una dirección a la que se le atribuyen transacciones; el saldo reflejado no son los bitcoins, sino las transacciones de la red blockchain que se han realizado hacia esa dirección. En base a esto podemos decir que lo que existe no es el bitcoin, sino registros de transacciones bitcoin.

Protocolo de una transacción bitcoin

Las transacciones de BTC en su mayoría tienen como objetivo mover dinero, por ello se utiliza un protocolo sencillo que tiene tres partes; entrada, cantidad y salida. Cada una de estas fases son necesarias para garantizar la seguridad del sistema y mantenerlo impoluto e infranqueable.

La entrada se define como los apartados de una dirección bitcoin que contiene criptomonedas. Suponiendo que deseemos realizar una transacción de 0,2 BTC desde una cuenta que tiene almacenado 1 BTC. La entrada se encarga de identificar cada apartado de ese 1 BTC totales en el monedero para saber cuál 0,2 BTC de la cantidad total debe enviar. Si no existiera el concepto de salida no habría forma de saber que parte de los 1 BTC totales representa esos 0,2 BTC que vamos a enviar.

Por su parte, la cantidad es una unidad numérica que determina el volumen de la transacción. Es decir, esta es la cantidad que indicamos que deseamos enviar a otro monedero que vendría siendo la tercera parte de la transacción cumpliendo el papel de salida. Sin el concepto de cantidad el sistema no sabría cuando dinero enviar, de modo que todas las transacciones serían a ciegas; sin saber cuánto dinero se está enviando ni cuánto va a llegar.

Bitcoin transaction

En una transacción, el sistema analiza la cantidad para determinar cuántas entradas debe tomar para llegar a completarla. En este caso, si sistema toma dos entradas de 0,12 BTC para completar esos 0,2 BTC que se desean enviar, lo que daría un total de 0,24 BTC. La cantidad sobrante es enviado a una dirección propia y es tomado por el sistema como salida.

El minero se encarga de ejecutar la transacción y registrarla en la cadena de bloques. Para ello necesita descifrar el hash del bloque anterior, que en realidad sería la última transacción realizada en el sistema. Como recompensa de su prueba de trabajo al minero se le acreditan todos los BTC restantes que no son asignados a ninguna dirección.

En una transacción puede haber tantas entradas y salidas como sean necesarias. Esto es lo que permite que se puedan enviar diferentes cantidades de dinero a distintas personas en una misma transacción. Este factor es especialmente explotado por algunos wallets para ahorrar en comisiones de mineros.

¿Cómo se almacenan los bitcoin?

Como bien dijimos al principio, lo que conocemos como bitcoin son en realidad registros de transacciones. Un monedero es una dirección a la cual se le atribuyen dichas transacciones. El saldo que este refleja es en realidad una suma de todas las transacciones que se han realizado hacia esa dirección.

Si tenemos un cliente que nos envía 1 BTC y otro que nos envía 2 BTC, a pesar de que el monedero refleje un saldo de 3 BTC, las transacciones siguen estando por separado. El monedero no crea un archivo único de 3 BTC, sino que las mantiene como transacciones separadas.

Cuando realizamos un envío con una cantidad que no es equivalente a ninguna de las transacciones registradas sucede algo interesante. Tomando el ejemplo anterior, si tenemos en nuestro monedero dos transacciones diferentes, una de 1 BTC y otra de 2 BTC, y deseamos enviar una cantidad diferente a la que se registra en dichas operaciones, el sistema tomará la que se asemeje más a la cantidad que deseamos enviar.

De modo que si deseamos enviar 1,5 BTC, el sistema tomará la transacción de 2 BTC registrada en nuestro monedero y creará dos salidas; la primera hacia la dirección de envío, que tendrá una cantidad de 1,5 BTC, y la segunda hacia una nueva dirección que el monedero crea para que podamos mantener esos 0,5 BTC que no deseamos enviar en la transacción.

Seguridad del sistema

En las transacciones de bitcoin entran en juego dos elementos; la dirección bitcoin y las claves privadas. La primera vendría siendo la clave pública de la segunda y ambas son necesarias para que el sistema permita hacer una transacción.

Por otro lado están las semillas, que son claves especiales que los monederos generan, o pueden ser determinadas por nosotros mismos, que nos permiten generar nuevas claves privadas. Cuando una transacción se va a ejecutar, es necesario colocar la clave privada de la dirección bitcoin de entrada para que el sistema lo confirme. Debido a que la clave pública y la privada sólo son compatibles entre sí, el sistema puede comprobarlo fácilmente al compararlas. Una vez que indicamos estos datos, podemos proceder a determinar la cantidad y la dirección de salida de la operación.

¿Por qué las transacciones bitcoin no son instantáneas?

Todo el proceso descrito en el protocolo debe ser confirmado y desglosado por los mineros. De modo que a pesar de que hagamos una transacción ahora mismo, tendremos que esperar a que el minero pueda registrarla en la cadena de bloques.

Para registrar una transacción en la cadena, el minero debe ser capaz de descifrar el nonce de la última transacción realizada y posteriormente encriptar el bloque de la nueva, proceso que tarda al menos 10 minutos en realizarse.

Compartir