Blockchain es un sistema descentralizado que permite el comercio (como las transacciones de Bitcoin) entre una red de pares. Aquí, el comercio es cualquier forma de transacción que involucra un remitente, un receptor y una moneda. Pero antes de llegar a este aspecto, primero comprendamos el concepto de Bitcoin.
¿Qué es Bitcoin?
Bitcoin es esencialmente una moneda virtual o digital que se puede comercializar o intercambiar entre dos pares sin involucrar a un tercero. En los últimos años, Blockchain ha experimentado un crecimiento significativo en varios campos, como la medicina, la defensa y las finanzas. Hay muchos YouTubers indios que, a través de sus canales, están promocionando criptomonedas para empresas como CoinDCX, que es la primera empresa de intercambio de criptomonedas de la India donde se puede comprar y vender no solo Bitcoin, sino también otras criptomonedas como Ethereum, Dogecoin, etc.
¿Cómo funciona Blockchain?
Imagine una situación en la que dos personas, Steve y Jake, quieren comunicarse entre sí. Steve envía un mensaje confidencial a Jake. Durante el envío, hay posibilidades de que un fisgón de datos pueda robar fácilmente la OTP enviada por Steve y usarla con fines maliciosos, como se muestra en la imagen a continuación.
Ahora digamos que Steve y Jake conocen una red avanzada llamada Blockchain y deciden comunicarse en esta red.
Se puede observar que en la comunicación a través de una red blockchain, el fisgón de datos no puede descifrar el mensaje.
Ahora quizás se pregunte si el fisgón de datos no puede descifrar el mensaje, claramente hay algo único que solo permite que Jake lea el mensaje. No es más que una clave privada que puede explicarse más a fondo a través de un concepto llamado criptografía de clave pública o criptografía de clave asimétrica , que se usa activamente en Blockchain.
En una red, para asegurar la comunicación entre dos personas, se estableció el concepto de criptografía asimétrica donde se utiliza una clave, que se denomina clave pública para el cifrado, y una clave diferente denominada clave privada .para el descifrado. Aquí, la clave pública se hace pública en la red, mientras que la clave privada solo la conoce la persona que la posee. La clave privada también se conoce como clave secreta.
Regla: se puede cifrar un dato con una clave pública, pero el descifrado solo se puede realizar con su clave privada correspondiente.
Entonces, volviendo a la pregunta de cómo Jake descifra el mensaje que Steve ha enviado. Antes de enviar el mensaje, Steve cifra el mensaje con la clave pública de Jake, de modo que el mensaje pueda abrirse con la clave privada de Jake, que solo Jake conoce, lo que hace imposible que un tercero, como un fisgón de datos, descifre el mensaje.
Así, de esta forma, Blockchain utiliza la criptografía para proteger los mensajes que se envían entre los usuarios de una red. Blockchain no solo proporciona una comunicación segura, sino que también ayuda a asegurar las transacciones financieras.
Veamos cómo se realizan las transacciones en un entorno Blockchain.
Una string de bloques es un registro dinámico de información (transacciones). Estas transacciones se almacenan en un bloque. Así como una universidad tiene una base de datos que contiene información sobre sus estudiantes, una string de bloques es una base de datos donde almacena información o transacciones en forma de ‘ bloques ‘.
Un bloque tiene principalmente 3 componentes:
- Transacción: la string de bloques de Bitcoin almacena los detalles de la transacción, como el remitente (clave pública del remitente), el destinatario (clave privada del destinatario) y la cantidad de monedas que se enviarán.
- Hash: un Hash se usa para identificar un bloque en particular y es único para cada bloque en la string de bloques.
- Hash del bloque anterior: Sirve para crear enlaces en bloques.
Es importante saber que el primer bloque de la blockchain se llama Genesis Block , el cual no tiene un valor hash previo ya que es el primer bloque de la string.
¿Cómo se agregan estos bloques que contienen transacciones a la string de bloques?
La minería de Bitcoin es el proceso de agregar registros de transacciones en forma de bloques a la string de bloques y los Nodes de la red que compiten entre sí para crear un bloque válido y agregarlo con éxito a la string de bloques se denominan mineros.
Dado que el proceso de creación de un bloque válido requiere mucho poder de procesamiento, existe un mecanismo de incentivos , en el que los mineros son recompensados por su trabajo a través del algoritmo de Prueba de trabajo (PoW). El algoritmo PoW es un algoritmo de consenso que se adopta en la red de string de bloques donde los mineros tienen que resolver acertijos complejos (que requieren mucha potencia de procesamiento) y luego se les paga en bitcoins por crear un bloque válido y agregarlo con éxito a la string de bloques. .
El proceso de agregar bloques (transacciones) a la string de bloques se puede entender con el siguiente diagrama y sus pasos correspondientes.
Los pasos involucrados en una transacción de Bitcoin se detallan a continuación:
- Jake inicia una transacción de, digamos, 15 BTC que debe transferirse a Steve.
- Un bloque que consiste en la transacción se inunda en toda la red P2P.
- Los mineros validan la transacción a través del algoritmo de consenso de prueba de trabajo
- Se otorga un incentivo a los mineros que crean con éxito un bloque válido.
- El nuevo bloque que consiste en la transacción se agrega a la string de bloques.
- Steve recibe los 15 BTC que envió Jake, completando así la transacción.
Aquí está la parte interesante y el tema que hemos estado esperando para abordar. A partir de los pasos anteriores, el paso 5, puede surgir un conflicto en el que varios mineros crean bloques al mismo tiempo e intentan agregarlos al último bloque válido de la string de bloques. En este caso, ¿qué bloque se agregará a la string de bloques?
Piense en que Steve, Jake e Iris son mineros en la string de bloques y, al mismo tiempo, crean sus respectivos bloques, que se conocen como bloques candidatos (representados en verde, amarillo y azul, respectivamente). De estos bloques candidatos, se debe tomar una decisión para elegir cuál de estos bloques debe colocarse en la string.
¿Cómo ayuda Blockchain a resolver conflictos?
Este conflicto se resuelve utilizando la regla de la string más larga que adoptan todos los Nodes de la red para lograr un consenso sobre la estructura válida de la string de bloques. Para agregar un Node en la string de bloques, un minero en la red necesita tener una computadora con alto poder de procesamiento. En este caso, digamos que la computadora de Jake tiene más poder de procesamiento en comparación con las computadoras de Steve e Iris. Entonces, Jake puede crear un bloque más rápido que Steve e Iris.
Mientras tanto, otros mineros están tratando de crear otros bloques válidos, por lo que estos bloques se crean en el bloque que ocurrió primero, y dado que el bloque de Jake se creó más rápido que el de Steve e Iris, ocurre primero en la string y los mineros agregan sus bloques ( que se muestra a continuación en rojo) en la parte superior del blog de Jake (que se muestra a continuación en amarillo).
En el diagrama anterior se puede ver que la unidad con el bloque de Jake es la unidad más larga y, de acuerdo con la regla de la string más larga, la unidad con la longitud más larga debe aceptarse como la versión válida de la string de bloques. Por lo tanto, la versión válida actualizada de blockchain se parece a la siguiente:
¿Qué sucede con los bloques creados por Steve e Iris?
Los bloques creados por Steve e Iris se descartan y se convierten en bloques huérfanos ya que ya no forman parte de la string principal de bloques.
¿Qué sucede con las transacciones dentro de estos bloques huérfanos?
Es importante tener en cuenta que las transacciones dentro de estos bloques huérfanos son válidas porque alguien en la red las ha iniciado, pero no pueden incluirse en la string de bloques ya que no siguen la regla de la string más larga. Por lo tanto, estas transacciones se envían de vuelta al grupo de transacciones (que contiene aquellas transacciones que aún no se han extraído), donde los mineros pueden seleccionarlas del grupo y luego comenzar a extraerlas nuevamente.