Introducción a Blockchain

Introducción a Blockchain

Seguro escuchaste la palabra blockchain y te preguntaste ¿Qué es la blockchain? En este artículo intentaré aclarar un poco sobre como funciona...

·

5 min read

Se puede definir a blockchain como una base de datos distribuida en la que se registran transacciones de forma inmutable, una hoja contable donde se van guardando cada una de las transacciones que se hacen dentro de la red, estas pueden ser tanto públicas como privadas, en caso de que sean públicas cualquiera podría acceder a los datos de la blockchain. Hay variedad de blockchains como por ejemplo Bitcoin, Ethereum, Polkadot, Solana, etc. Cada una de ellas tiene sus diferencias técnicas, algunas permiten contratos inteligentes.

Se podría decir que el propósito de la blockchain es tener una red de computadoras poniéndose de acuerdo sobre un estado común de datos.

Si esta definición no quedo del todo clara, no te preocupes, voy a ir desglosando estos conceptos poco a poco...

La primera blockchain que salió a luz es Bitcoin en el año 2009, se desconoce la identidad del o los creadores de Bitcoin, esa persona o grupo de personas usaba el seudónimo "Satoshi Nakamoto". El whitepaper con toda la información técnica fue publicada en un foro online, a partir de ahí nacieron multitud de blockchains intentando mejorar dicha tecnología.

El término Blockchain viene de dos palabras:

  • Block -> Bloque

  • Chain -> Cadena

Entonces podemos decir que una blockchain son bloques encadenados...

  • ¿Qué es un bloque y qué contiene?

  • ¿Qué es la cadena y para qué sirve?

  • ¿Cómo funcionan estos conceptos en conjunto?

Vayamos definiendo estos conceptos de a poco...

¿Qué es un bloque?

Los bloques son los encargados de ir almacenando las transacciones que se van haciendo dentro de la blockchain, también se guarda el nonce, un índice, el timestamp, el hash del bloque anterior y el hash del bloque actual.

Una vez que un bloque es validado por medio del protocolo de consenso este se vuelve inmutable esto quiere decir que no hay forma de cambiarlo, esta seguridad se la da la cadena.

  • Index -> Es la posición del bloque en la cadena.

  • Timestamp -> Es un registro de cuando el bloque fue creado, esto es importante porque es lo que le da un orden cronológico a los bloques.

  • Hash -> Es el output de una función de hash donde dicho hash se calcula con todo el contenido del bloque, lo mencionaré con más profundidad más adelante, este hash no es almacenado dentro del bloque, pero si sirve como huella digital del mismo.

  • Previous Hash -> Este es el hash del bloque anterior.

  • Data -> Es donde se guardan cada una de las transacciones.

  • Nonce -> Es una variable que es utilizada en el protocolo de consenso (PoW) para validar el bloque.

¿Qué contienen las transacciones?

Cada transacción tiene dentro un value (si es que se envió un token) con el monto que se envió en unidades de la criptomoneda correspondiente, el gas que es la unidad de medida utilizada para determinar el costo de ejecutar una transacción o un contrato inteligente en la blockchain, también contiene la dirección de la billetera digital del remitente y del destinatario, si es que posee un smart contract vinculado o no a dicha transacción, el número de la transacción, entre otras cosas más...

transaction-blog.png

¿Quien válida cada una de las transacciones?

Hay algo que se llaman protocolos de consenso y son los encargados de validar que las transacciones dentro de la blockchain no sean fraudulentas y que son honestas, dependiendo de la blockchain los protocolos de consensos pueden variar. Es un proceso donde varias máquinas están de acuerdo que una transacción puede agregarse a la blockchain, corroborando que esa transacción no este intentando hacer ninguna acción maliciosa. La blockchain de Bitcoin, por ejemplo, utiliza un protocolo llamado Proof of Work(PoW), mientras que actualmente la red de Ethereum utiliza un protocolo llamado Proof of Stake(PoS), aunque en el pasado la blockchain de Ethereum también utilizaba PoW para validar cada una de las transacciones.

Cualquier persona u organización podría participar de este proceso, pero ninguna organización o persona puede controlar este proceso.

¿Qué es un sistema distribuido?

En la web 2 estamos acostumbrados a que la información venga de un servidor centralizado(punto azul en la imagen de la izq.) donde una computadora tiene el control sobre la base de datos, en cambio en web3, los sistemas distribuidos, cada uno de los nodos(puntos azules) contiene toda la información y se ponen de acuerdo sobre que información ingresa a la red.

Una blockchain es una base de datos distribuida de bloques validados y cada uno de estos bloques contiene información en forma de transacciones, cada bloque que es minado está vinculado por un hash criptográfico al bloque anterior.

¿Qué es una cadena?

Cada uno de estos bloques están vinculados al bloque anterior por medio de dicha cadena, cada vez que un bloque es generado es vinculado al anterior bloque que se minó y así sucesivamente. La cadena es un hash criptográfico que es generado por la información que el bloque contiene, si alguna de la información dentro del bloque quiere ser cambiada por algún agente malicioso el hash cambiará y esto generará un nuevo hash, esto generará un efecto domino cambiando el hash del bloque anterior y así sucesivamente...

Algunos de los posibles casos de uso de la blockchain son:

  • Facilitar el intercambio de criptomonedas, como Bitcoin, Ethereum, etc.

  • Permitir la automatización de contratos mediante la implementación de contratos inteligentes.

  • Facilitar el seguimiento y la gestión de la propiedad intelectual, como en el caso de la tecnología blockchain utilizada para registrar y proteger derechos de autor.

Estos son algunos ejemplos de los posibles casos de uso de la tecnología blockchain.

Conclusión

Se puede decir que una blockchain es una base de datos distribuida que se utiliza para registrar transacciones de manera inmutable. Los bloques son las unidades que se utilizan para almacenar las transacciones y el protocolo de consenso se utiliza para validar que las transacciones sean honestas y no fraudulentas. La cadena de bloques se utiliza para asegurar que los datos sean inmutables y que la blockchain sea segura.

Espero que este artículo te haya sido de ayuda para comprender un poco que es una blockchain y que es lo que almacena de manera introductoria. ¡Si encuentras algún error o algo que pueda mejorar no dudes en escribirme!