Bitcoin es un sistema de pago electrónico que permite a cualquier persona crear una cuenta y enviar dinero a cualquier parte en el mundo.
Se creó como una alternativa al sistema financiero actual. Hoy tenemos un pequeño número de grandes bancos que controlan quién puede crear una cuenta y qué transacciones se pueden realizar. Esto centraliza el control del dinero, y no tenemos otra opción que confiar en que estos bancos actúen de forma justa y responsable.
Se debe confiar en que los bancos guarden nuestro dinero y lo transfieran electrónicamente, pero lo prestan en oleadas de burbujas crediticias con apenas una fracción en reserva. Satoshi Nakamoto, p2pfoundation.ning.com
Bitcoin resuelve el problema de tener un sistema de pagos que opere con un ente central de control (centralización del poder).
Antes de Bitcoin, era posible retransmitir transacciones a través de una red de computadoras. Sin embargo, el problema radica en que se pueden insertar transacciones conflictivas en la red . Por ejemplo, se podrían crear dos transacciones separadas que gasten la misma moneda digital y enviarlas a la red simultáneamente. Esto se llama " doble gasto ":
Algunas computadoras recibirán primero la transacción verde y otras recibirán primero la transacción roja .
Si se crea un sistema de pago electrónico sin una autoridad central, existe el problema de determinar cuál de estas transacciones se produjo "primero", y esto es algo difícil de determinar cuando se cuenta con una red de computadoras que actúan independientemente.
Entonces, ¿quién decide qué transacción llegó "primero" y debería ser la única que se escriba en el archivo?
Este archivo actualizado se comparte con el resto de la red. Los nodos aceptarán las transacciones del archivo actualizado como correctas y eliminarán de su memoria cualquier transacción conflictiva.
Como resultado, nunca se escribirán transacciones de doble gasto en el archivo y todos los nodos se actualizarán periódicamente a la misma versión del archivo compartido.
La minería es el proceso de agregar nuevos bloques de transacciones a la cadena de bloques.
Si el hash del bloque resultante no es inferior al objetivo, el minero puede realizar un ajuste a los datos dentro del bloque y volver a pasarlo por la función hash. Esto generará un nuevo número completamente diferente que, con suerte, será inferior al objetivo. De lo contrario, ajusta el bloque y vuelve a intentarlo.
Eventualmente, uno de los nodos (o mineros) de la red encontrará un hash de bloque por debajo del objetivo, y este bloque de transacciones se agregará a la cadena de bloques.
Luego, el proceso de minería comienza nuevamente para agregar el siguiente bloque a la cadena.
En resumen, el proceso de minería utiliza la potencia de procesamiento para realizar cálculos de hash a la mayor velocidad posible e intentar ser el primer ordenador de la red en obtener un hash de bloque inferior al objetivo. Si lo consigue, puede añadir su bloque de transacciones a la blockchain y compartirlo con el resto de la red.
El incentivo para usar la capacidad de procesamiento e intentar añadir nuevos bloques, radica en que el minero ganador tendrá disposición una cantidad fija de bitcoins que no existían anteriormente. Por lo tanto, si logras minar un bloque con éxito, puedes "enviarte" estos nuevos bitcoins como recompensa por tu esfuerzo.
Esto significa que los mineros siempre intentarán construir sobre la "punta" de la cadena de bloques más larga conocida, ya que cualquier transacción que no sea parte de la cadena más larga será inválida.
Por lo tanto, si alguien quisiera reescribir el historial de transacciones, necesitaría reconstruir una cadena de bloques más larga para crear una nueva cadena más larga que otros nodos pudieran adoptar. Sin embargo, para lograrlo, un solo minero necesitaría tener mayor capacidad de procesamiento que el resto de la red en conjunto.
Cuando envías bitcoins a alguien, en realidad está colocando una cantidad de bitcoins en una nueva caja de seguridad y poniéndole un candado que sólo la persona que esta recibiendo los bitcoins puede desbloquear.
Por ejemplo, si quisiera enviarte bitcoins, seleccionaría algunas salidas de la blockchain que pueda desbloquear y crearía una nueva salida a partir de ellas que solo tú puedas desbloquear. Además, si no quisiera enviarte todos los bitcoins que he desbloqueado, crearía una salida adicional como mi "cambio" y la bloquearía para mí.
De ahora en adelante, si quieres enviar tus bitcoins a otra persona, deberás repetir el proceso de seleccionar salidas existentes (que puedes desbloquear) y crear nuevas a partir de ellas. Como resultado, las transacciones de bitcoin forman una estructura similar a un gráfico, donde el movimiento de bitcoins está conectado por una serie de transacciones.
Por ejemplo, si quisiera enviar bitcoins a otra persona, primero tendría que proporcionarme su llave pública . Al crear mi transacción, colocaría su llave pública dentro del candado de la salida (la caja de seguridad). Y cuando la otra persona quisiera enviar estos bitcoins a otra persona, usaría su llave privada para desbloquear esta salida.
En resumen, tu clave privada es simplemente un número aleatorio grande , y tu clave pública es un número calculado a partir de esta clave privada . Pero lo más ingenioso es que con criptografía puedes darle tu clave pública a otra persona, pero esta no puede usarla para obtener la clave privada .
Agradezco a Greg por su generosidad al permitir la traducción de su trabajo de difusión sobre el conocimiento de Bitcoin.
Autor: Diego Soyu, entusiasta de Bitcoin. Este artículo busca acercar la comprensión de Bitcoin a la comunidad hispanohablante.