Introducción a Blockchain
La blockchain, o cadena de bloques en español, es una tecnología de registro distribuido que permite almacenar información de manera descentralizada. Cada uno de estos bloques contiene un registro de transacciones verificadas.
La seguridad del blockchain está respaldada por algoritmos criptográficos lo que le otorga la propiedad de ser inmutable debido a la extrema dificultad de alterar la información una vez registrada
Otra característica importante es la descentralización debido a que la red está compuesta por varios nodos independientes de una autoridad central.
Esta tecnología es la base de criptomonedas como Bitcoin o Ethereum. No obstante, la blockchain tiene aplicaciones en otros campos como la logística, finanzas, educación entre otros.
Características
Inmutabilidad
Aunque agregar nuevos datos a una blockchain no es difícil, cuando estos están almacenados es casi imposible que sean modificados por algún participante.
La criptografía garantiza y verifica la integridad de la serie de datos para descartar su alteración. Mediante un algoritmo matemático llamado "función hash" se codifican los datos obteniéndose una serie de caracteres alfanuméricos denominada "hash". Aplicado sobre un conjunto idéntico de datos, la función criptográfica generará una única huella digital o hash. No obstante, un mínimo cambio en los datos codificados generaría una hash distinta.
Además, cada bloque nuevo en una blockchain contiene información del bloque anterior cifrado en una hash. Y el anterior bloque contiene a su vez la información cifrada de sus predecesores. En consecuencia, algún cambio en la información almacenada ocasionaría una ruptura de la cadena de bloques en forma de cascada y sería posible identificar el punto de ruptura exacto.
Descentralización
En una blockchain cada nodo de la red tiene una copia de la cadena de bloques, la cual se actualiza automáticamente. De esta manera todos los participantes de la red tienen acceso a la información registrada. Sin embargo, la información privada de cada usuario permanece oculto porque no son imprescindibles para participar en la red.
Tipos de blockchain
1. Pública
Es una red accesible para cualquier persona que desee leer, enviar transacciones o participar en el proceso de consenso. Bitcoin y Ethereum son dos de las redes públicas más populares.
2. Privada
Es una red restringida a un grupo determinado de usuarios. Solo los participantes autorizados pueden leer, enviar transacciones o participar en el proceso de consenso. A diferencia de una blockchain pública, una red privada es centralizada.
3. Semiprivada
Es una cadena de bloques gestionada por una organización que otorga el acceso a cualquier usuario que cumpla con ciertos requisitos preestablecidos. Este tipo de blockchain es semicentralizada.
4. Consorcio
Es una blockchain controlada por un grupo de organizaciones y no por una sola, como el caso de una blockchain privada. Es el tipo de red más aceptado para entornos de negocios donde se necesita que múltiples organizaciones trabajen juntas.
Protocolos de consenso
Los algoritmos de consenso son mecanismos que regulan cómo los nodos acuerdan sobre el estado actual de la cadena de bloques y las transacciones que se deben incluir en el siguiente bloque. Así, los protocolos de consenso garantizan que las transacciones sean válidas y que las copias de los registros estén sincronizadas.
1. Proof of Work (PoW)
Este algoritmo demanda que los usuarios realicen complejos cálculos matemáticos para validar una transacción.
2. Proof of Stake (PoS)
Los validadores son seleccionados en función de la cantidad de criptomonedas que tiene cada usuario. Este método es considerado más eficiente energéticamente que el Proof of Work.
3. Proof of Authority (PoA)
Un grupo de validadores confiables, también llamados autoridades, son responsables de verificar y validar las transacciones. Este algoritmo es utilizado principalmente en blockchains privadas o de consorcio.