Criptomonedas

Una criptomoneda o criptodivisa es un medio digital de intercambio. La primera criptomoneda que empezó a operar fue Bitcoin en 2009, y desde entonces han aparecido muchas otras (comunmente llamadas Altcoins), con diferentes características y protocolos como Litecoin, Ether, Ripple, Dogecoin, etc.

Para entender como funcionan las criptomonedas, conviene hacer un repaso rápido de ciertos conceptos que van a dar una mejor idea sobre como funciona el mundo Bitcoin.

 

Cadena de bloques (Blockchain)

Una cadena de bloques es como un libro de contabilidad público que registra las transacciones de Bitcoin. Esto lo logra sin ninguna autoridad central de confianza, ya que el mantenimiento de la cadena de bloques se lleva a cabo mediante una red de nodos de comunicación que replican la base de datos y van confirmando los nuevos bloques.

Los nodos de red pueden validar transacciones, agregarlas a su copia del libro de contabilidad, y luego transmitir estas adiciones del libro mayor a otros nodos. La blockchain entonces es una base de datos distribuida: para lograr la verificación independiente de la cadena de propiedad de cualquier cantidad de bitcoin, cada nodo de red almacena su propia copia de la cadena de bloques. Aproximadamente seis veces por hora, se crea un nuevo grupo de transacciones aceptadas, un bloque, se agrega a la cadena de bloques y se publica rápidamente en todos los nodos. Esto permite que el software Bitcoin determine cuándo se ha gastado una cantidad particular de bitcoin, lo cual es necesario para evitar el doble gasto en un entorno sin supervisión central.

 

Propiedad de los Bitcoins

En la blockchain, los Bitcoins se registran en direcciones bitcoin.

Crear una dirección bitcoin no es más que elegir una clave privada aleatoria válida y calcular la dirección de bitcoin correspondiente. Este cálculo se puede hacer en una fracción de segundo. Pero lo contrario (calcular la clave privada de una dirección de bitcoin dada) es matemáticamente inviable y, por lo tanto, los usuarios pueden contarles a otros y hacer pública una dirección bitcoin sin comprometer su clave privada correspondiente.

Para hacer una analogía, imaginate una clave pública como tu dirección de mail, y la clave privada como la contraseña de tu mail. Sólo que la clave privada no se puede cambiar, y a través de la clave privada podés saber exactamente cuál es la clave pública, pero es imposible hacerlo al revez.

Para poder gastar o disponer de los Bitcoins, el propietario debe conocer la clave privada correspondiente y firmar digitalmente la transacción. Si se pierde la clave privada, la red Bitcoin no reconocerá ninguna otra evidencia de propiedad; las monedas son inutilizables y se pierden efectivamente. Por ejemplo, en 2013 un usuario afirmó haber perdido 7.500 bitcoins, por un valor de $ 7.5 millones en ese momento, cuando accidentalmente descartó un disco duro que contenía su clave privada. Una copia de seguridad de su clave privada hubiera impedido esto.

 

Billeteras (Wallets)

Una billetera almacena la información necesaria para tramitar bitcoins. Mientras que las billeteras a menudo se describen como un lugar para guardar o almacenar bitcoins, debido a la naturaleza del sistema, las bitcoins son inseparables del libro de transacciones o blockchain. Una mejor forma de describir una billetera es algo que "almacena las credenciales digitales para la posesión de Bitcoin" y le permite a uno acceder y disponer de tus Bitcoins. Bitcoin usa criptografía de clave pública (o criptografía asimétrica), en la que se generan dos claves criptográficas, una pública y otra privada. En su forma más básica, una billetera es una colección de estas claves. 

 

Transacciones

Las transacciones consisten en una o más entradas y una o más salidas. Cuando un usuario envía bitcoins, el usuario designa cada dirección y la cantidad de bitcoin que se envía a esa dirección en una salida. Para evitar el doble gasto, cada entrada debe hacer referencia a una salida anterior no utilizada en la cadena de bloques. El uso de múltiples entradas corresponde al uso de múltiples monedas en una transacción en efectivo. Dado que las transacciones pueden tener múltiples salidas, los usuarios pueden enviar bitcoins a múltiples destinatarios en una transacción. Al igual que en una transacción en efectivo, la suma de las entradas (monedas utilizadas para pagar) puede exceder la suma de pagos prevista. En tal caso, se utiliza un resultado adicional, devolviendo el cambio al pagador. Cualquier entrada satoshis no contabilizada en los productos de transacción se convierte en la tarifa de transacción. 

 

Tarifas de transacción

Pagar una tarifa de transacción en teoría es opcional, pero hoy por hoy ya es algo necesario si queremos que la transacción ocurra. Los mineros pueden elegir qué transacciones procesar y priorizar aquellas que pagan tarifas más altas. Las tarifas se basan en el tamaño de almacenamiento de la transacción generada, que a su vez depende de la cantidad de entradas utilizadas para crear la transacción.

Para calcular cuál es el monto actual que se debe pagar para realizar una transacción tenemos las siguientes herramientas:

 

Minería

La minería es un servicio de mantenimiento de registros hecho mediante el uso del poder de procesamiento informático. Los mineros mantienen la cadena de bloques consistente, completa e inalterable al verificar y recopilar repetidamente las transacciones recién emitidas en un nuevo grupo de transacciones llamado bloque. Cada bloque contiene un hash criptográfico del bloque anterior, utilizando el algoritmo hash SHA-256, que lo vincula al bloque anterior, dando así el nombre al blockchain.

Para ser aceptado por el resto de la red, un nuevo bloque debe contener una llamada prueba de trabajo (Proof of Work). La prueba de trabajo requiere que los mineros encuentren un número llamado nonce, de modo que cuando el contenido del bloque es hasheado junto con el nonce, el resultado es numéricamente menor que el objetivo de dificultad de la red. Esta prueba es fácil de verificar para cualquier nodo de la red, pero es muy demandante computacionalmente, ya que los mineros deben probar muchos valores nonce diferentes antes de alcanzar el objetivo de dificultad.

Cada 2,016 bloques (aproximadamente 14 días a aproximadamente 10 minutos por bloque), el objetivo de dificultad se ajusta en función del rendimiento reciente de la red, con el objetivo de mantener el tiempo promedio entre bloques nuevos en diez minutos. De esta forma, el sistema se adapta automáticamente a la cantidad total de energía de minería en la red.

Mientras que en marzo de 2014 los mineros tenían que probar 16.4 trillones de nonces en promedio antes de crear un nuevo bloque, en marzo de 2015 ese número se convirtió en 200.5 trillones.

El sistema de prueba de trabajo, junto con el encadenamiento de bloques, hace que las modificaciones de la cadena de bloques sean extremadamente difíciles, ya que un atacante debe modificar todos los bloques subsiguientes para que se acepten las modificaciones de un bloque. A medida que se extraen nuevos bloques todo el tiempo, la dificultad de modificar un bloque aumenta a medida que pasa el tiempo y aumenta el número de bloques subsiguientes (también llamados confirmaciones del bloque dado). 

 

Oferta de moneda

El minero exitoso que encuentra el nuevo bloque es recompensado con nuevos Bitcoins y además tarifas de transacción. de nueva creación y tarifas de transacción. A partir del 9 de julio de 2016, la recompensa ascendió a 12.5 bitcoins de nueva creación por bloque agregado a la cadena de bloques.

Para reclamar la recompensa, se incluye una transacción especial llamada coinbase (no confundir con la plataforma con el mismo nombre!) con los pagos procesados. Todos los Bitcoins en existencia han sido generados en este tipo de transacciones. El protocolo Bitcoin especifica que la recompensa por agregar un bloque se reducirá a la mitad cada 210,000 bloques (aproximadamente cada cuatro años). Eventualmente, la recompensa disminuirá a cero, y se alcanzará el límite de 21 millones de bitcoins, que es el límite de Bitcoins que habrá en total.

En otras palabras, el inventor de bitcoins, Satoshi Nakamoto, estableció una política monetaria basada en la escasez artificial en el inicio de Bitcoin en la cual solo habría 21 millones de bitcoins en total. La cantidad de Bitcoins en existencia aumenta cada diez minutos y la velocidad a la que se generan se reducirá a la mitad cada cuatro años hasta que todos estén en circulación.