comienzo
comienzo

Bitcoin es el primer sistema monetario que funciona sin la intervención de una autoridad central. Se basa en varios conceptos que aseguran su correcto funcionamiento. Entre otras cosas, se establece en un servidor de marcas de tiempo distribuido para generar pruebas de la cronología de las transacciones. Esta herramienta resuelve uno de los problemas más importantes a la hora de implementar un sistema de pago sin una autoridad central: duplicar el gasto.
En este artículo, estudiamos algunos de los aspectos técnicos en los que se basa el protocolo Bitcoin: las firmas digitales, el servidor de marcas de tiempo distribuido y la transacción.
A diferencia del sistema bancario tradicional que asocia el dinero con la identidad, la propiedad de una moneda de Bitcoin se garantiza mediante el uso de criptografía asimétrica. Cada pieza de bitcoin está asociada en la red a un par de claves criptográficas.
Se definen así dos conceptos: la clave pública y la clave privada. La clave pública permite al usuario recibir bitcoins, en particular a través de una dirección, al generar una condición de gasto para la moneda. Para gastar estos fondos, el propietario legítimo tendrá que presentar una firma con la clave privada asociada.
Por lo tanto, el usuario debe garantizar la seguridad de sus claves privadas, ya que permiten un acceso sin restricciones a sus bitcoins.

El problema de este sistema es que las personas que reciben bitcoins no tienen forma de verificar que estas unidades no se hayan gastado dos veces: esto se denomina doble gasto. Obviamente, una red de pagos que lo permita no puede funcionar. Necesitamos una forma para que el beneficiario de un pago en Bitcoin verifique que las monedas recibidas no se hayan gastado ya en una transacción anterior a otro beneficiario.
Por lo tanto, la red Bitcoin utiliza un servidor de marcas de tiempo para poder marcar las transacciones a lo largo del tiempo.
➤ Obtenga más información sobre qué es Bitcoin.
Para evitar el doble gasto, en Bitcoin, se define que la transacción más antigua es la que cuenta. Por ejemplo, supongamos que Alice tiene 2 bitcoins y se los envía a Bob a las 15:00. Esta transacción será validada por la red. Si Alice intenta enviar estos mismos 2 bitcoins a Charles a las 16:00, esta transacción será rechazada porque Alice ya los ha gastado anteriormente.
Para que Bob pueda asegurarse de que Alice aún no ha gastado estos bitcoins, debe tener acceso a un registro en el que figuren todas las transacciones que ya se han validado. En Bitcoin, este registro es un servidor de marcas de tiempo.
De este modo, podríamos definir un actor central, que administraría este registro y quién determinaría qué transacciones se realizarían primero. Pero en el caso de Bitcoin, para reducir la necesidad de confianza, queremos tener una red de pagos que no dependa de ninguna autoridad central. Por lo tanto, este servidor de marca de tiempo debe distribuirse a cada usuario. Para evitar el doble gasto, todos deben conocer todo el historial de transacciones. Por lo tanto, cuando Bob recibe una transacción de Alice, él mismo puede verificar que los bitcoins comprometidos no se hayan comprometido ya en otra transacción anterior.
El formato de servidor de marcas de tiempo elegido para Bitcoin es una cadena de bloques. Si bien este término a menudo se malinterpreta, es lo que se conoce como «cadena de bloques».
➤ Obtenga más información sobre Blockchain.
Su principio es simple: cada transacción se registra en un bloque de marca de tiempo. Un bloque es simplemente una aglomeración de transacciones. Se crean en promedio cada 10 minutos y cada uno incluye la huella del bloque que lo precede. Por lo tanto, forman una cadena.
Lo que yo llamo «huella digital» es en realidad un hash. Pasamos el encabezado del bloque a una función hash, es decir, a función que asocia datos de tamaño arbitrario con valores de tamaño fijo, y obtenemos la huella digital del bloque. Por lo tanto, el sello es un resumen de toda la información contenida en el bloque.

Con todos estos detalles, estamos empezando a adivinar una red de pago eficiente. ¡Pero aún nos quedan algunos problemas por resolver! ¿Cómo se asegura de que los usuarios estén de acuerdo en una única cadena de bloques común? ¿Y cómo se elige quién introduce los nuevos bloques y, por lo tanto, las nuevas transacciones, en este registro distribuido?
Aquí es donde entra en juego la piedra angular del sistema Bitcoin: el consenso de prueba de trabajo de Nakamoto (Comprobante de trabajo).
➤ Obtenga más información sobre el Consenso de Nakamoto mediante una prueba de trabajo.
En primer lugar, el usuario que quiera enviar un pago creará una transacción. En él, indicará qué bitcoins gastar y dónde enviarlos. La transacción de Bitcoin se compone entonces de entradas y salidas (en inglés, las «entradas» y las «salidas»). Las entradas representan los bitcoins utilizados para pagar. Se dice que las entradas son «consumidas» por la transacción. Las salidas representan los destinos de pago. Se dice que los productos se «crean» a cambio de los insumos que se «consumen».

Para que la transacción sea válida, el importe total de las salidas debe ser inferior o igual al importe total de las entradas. Las comisiones de transacción, que se pagan a los mineros, representan la diferencia entre el total de entradas y el total de salidas.
Una vez recopilada esta información, el remitente de la transacción la firmará con la clave privada asociada a los bitcoins utilizados para el pago de entrada. La firma permite demostrar que el usuario que quiere gastar es, de hecho, el propietario legítimo de la clave privada y, por lo tanto, de los bitcoins comprometidos, sin revelar la clave. Si las entradas de Bitcoin están asociadas a diferentes pares de claves, se debe producir una firma para cada par de claves.
A continuación, el remitente transmite su transacción firmada a la red Bitcoin, es decir, a los nodos. Los nodos verifican individualmente que la transacción y las firmas recibidas son válidas. Si este es el caso, cada nodo transmite esta transacción a otros nodos, quienes también la comprobarán y, a continuación, la retransmitirán. Este proceso continúa hasta que se notifique a todos los nodos de la red la existencia de esta transacción.

La transacción del emisor está ahora en el «mempool» (Reserva de memoria). En otras palabras, está en la memoria de los nodos, a la espera de que un minero lo incluya en un bloque válido, lo que representará su primera confirmación.
Esta etapa de la creación del bloque por parte del minero será el tema del artículo de la próxima semana.
El sistema monetario de Bitcoin se basa en numerosos mecanismos. Cada uno de estos engranajes no es una tecnología real en sí mismo, pero todos son esenciales para el buen funcionamiento de Bitcoin.
La propiedad de Bitcoin se garantiza mediante el uso de firmas electrónicas. Las claves públicas permiten recibir bitcoins mediante la creación de condiciones de gasto, y las claves privadas asociadas permiten desbloquearlos.
Para evitar el doble gasto en esta red de igual a igual, se utiliza un servidor de marca de tiempo, también denominado a veces «cadena de bloques».
Una transacción de Bitcoin consiste en entradas (Insumos) y excursiones (Salidas). Las entradas se consumen para poder crear las salidas.

