En este artículo, exploraremos los tipos de blockchain además de las ventajas de usar esta tecnología, revelando cómo la arquitectura blockchain no solo está transformando la industria financiera, sino también redefiniendo paradigmas en sectores como la salud, la logística y más allá. Por otro lado, no dejaremos de explorar sus inconvenientes y cuando no debemos usar la cadena de bloques.
Este es el segundo artículo de un serie que intenta aproximarse al conocimiento de la cadena de bloques desde un nivel intermedio. Los artículos de la serie son:
- Arquitectura blockchain, elementos más importantes y funcionamiento
- Tipos de blockchain. Ventajas e inconvenientes de usar la tecnología de cadena de bloques
- Algoritmos de consenso y el teorema CAP
Hagamos un poco de memoria
¿Qué es una blockchain y cómo puede ayudar a un negocio?
La podemos definir como un libro mayor compartido e inalterable que facilita el proceso de registro de transacciones y de seguimiento de activos en la red de un negocio. Un activo puede ser prácticamente cualquier cosa de valor, y que gracias a la tecnología de cadena de bloques, puede ser rastreada y autentificada.
Los negocios funcionan con información, por lo que rapidez y exactitud son dos factores clave. Las cadenas de bloques cumplen estos dos requisitos, proporcionando datos inmediatos, compartidos y completamente transparentes, almacenados en un libro mayor inalterable al que sólo tienen acceso los miembros autorizados de la red. Una red blockchain permite hacer seguimiento de pedidos, pagos, cuentas, datos de producción, etc. con la ventaja de que todos los usuarios comparten la misma información.
Ventajas de usar la cadena de bloques
Descentralización
La descentralización es un concepto clave en la filosofía de esta tecnología y a su vez, un beneficio obvio de la misma. No es necesario disponer de un intermediario (o regulador) para validar las transacciones, en su lugar se utiliza un mecanismo de consenso para acordar la validez de las mismas.
Transparencia y confianza
Al ser la información compartida por todos los nodos, todo el mundo puede consultarla, lo que permite que el sistema sea transparente (y por lo tanto confiable).
Inmutabilidad
Una vez que los datos han sido escritos en la blockchain, es extremadamente difícil cambiarlos. El mecanismo de anulación de un transacción pasa por generar una nueva transacción que corrija a la anterior, lo que asegura la trazabilidad y transparencia de las mismas.
Disponibilidad
Dado que el sistema consta de un gran número de nodos peer-to-peer, y los datos se replican y actualizan en cada nodo, el sistema se muestra altamente redundado y por ello, disponible. Incluso en el caso que algunos nodos quedaran aislados de la red, ésta en su conjunto seguiría funcionando.
Altamente seguro
Todas las transacciones en una cadena de bloques están criptográficamente aseguradas y por lo tanto, la red se beneficia de un alto grado de integridad. Todas las transacciones publicadas desde los nodos en la cadena se verifican en función de un conjunto predeterminado de reglas conocidas por todos. Esto hace que sólo se seleccionen las transacciones válidas para su inclusión en el nuevo bloque a generar. Este elevado grado de transparencia juega en contra de la confidencialidad que muchas instituciones financieras y otras industrias requieren en sus modelos de negocio.
Simplificación de paradigmas actuales
El modelo actual en muchas industrias, como las finanzas o la salud, es descentralizado. En este modelo, las entidades mantienen sus propias bases de datos y el intercambio de información puede ser muy difícil debido a la naturaleza dispar de los sistemas involucrados. Sin embargo, como una blockchain puede servir como un único libro mayor compartido entre muchas partes interesadas, esto puede resultar en la simplificación del modelo y en un aumento de la eficiencia al reducir la complejidad de gestionar los sistemas separadamente mantenidos por cada entidad.
Negociaciones más rápidas
En la industria financiera, especialmente en las transferencias, la cadena de bloques puede desempeñar un papel vital al permitir la liquidación rápida de las operaciones. Blockchain no requiere un proceso largo de verificación, conciliación y liquidación porque todos disponen de una sola versión de datos acordados en un libro mayor compartido entre las organizaciones financieras.
Ahorro de costos
Como no se requiere de un tercero de confianza o de una entidad reguladora, se pueden reducir drásticamente las comisiones de las operaciones financieras.
Smart Contracts
Una blockchain es una plataforma en la que se pueden ejecutar programas que implementan lógica empresarial en nombre de los usuarios de manera automatizada. Esta es una característica muy útil, pero no todas las cadenas de bloques disponen de lenguajes de programación de alto nivel capaces de desarrollar esta funcionalidad. Plataformas blockchain más nuevas como Ethereum y MultiChain sí lo permiten, pero cadenas de bloques como la de Bitcoin quedan limitadas al apunte de transacciones.
Retos e inconvenientes
Como ocurre con cualquier tecnología, existen algunos desafíos que deben superarse para hacer que el sistema sea más robusto, útil y accesible. Los problemas más destacados de blockchain son los siguientes:
- Escalabilidad: Actualmente, las redes blockchain no son tan escalables como las redes financieras actuales. Esta es un área conocida de preocupación y en la que existe un investigación activa.
- Privacidad y confidencialidad: La privacidad es una preocupación en blockchains de tipo público como Bitcoin donde todos pueden ver cada transacción. Esta transparencia no es deseable en muchas industrias como la financiera, legal o médica. Es por ello que se está desarrollando mucha investigación en cadenas de bloques menos públicas y con mecanismo de consenso muy diferentes.
- Tecnología relativamente inmadura: En comparación con los sistemas informáticos tradicionales que se han beneficiado de décadas de investigación, blockchain sigue siendo una tecnología nueva y requiere de mucha I+D para lograr la madurez. Es lógico que las grandes inversiones suelan apostar por esquemas más consolidados.
- Adopción: La percepción que se tiene de blockchain es que se trata de una tecnología incipiente. Aunque esta perspectiva está cambiando, todavía hay un largo camino por recorrer antes de su adopción más generalizada. El reto es permitir que las redes blockchain sean más fáciles de usar para que la aceptación pueda aumentar. Sin duda, la superación de los retos vistos anteriormente ayudarán en este aspecto.
- Regulación: La falta de regulación propia de un sistema altamente descentralizado como es la cadena de bloques es vista como una barrera para su adopción por sectores y consumidores que tienen asociado cierto nivel de confianza al hecho de que exista una entidad gobernante o control regulador. Este es sin duda un factor inhibidor para muchos potenciales usuarios de esta tecnología.
Tipos de blockchain
Libros contables distribuidos (Distributed Ledger o DLC)
Los DLT son una tecnología que permite registrar y almacenar información, como transacciones y activos, en una red de nodos de forma descentralizada. Esta descentralización permite que la información sea más segura y resistente a ataques o manipulaciones, ya que se requiere el consenso de la mayoría de los nodos para validar y actualizar la información.
El blockchain es una forma específica de libro contable distribuido constituido por una cadena de bloques que contiene conjuntos de transacciones. Cada bloque está enlazado al bloque anterior a través de un código criptográfico llamado hash. Cuando se añade un nuevo bloque a la cadena, se verifica y se actualiza en todos los nodos de la red, haciendo que la información sea difícil de alterar.
La principal diferencia entre DLT y blockchain es que, mientras que todos los blockchains son libros contables distribuidos, no todos los DLT son blockchains. El blockchain es una implementación específica de DLT que utiliza una estructura de datos en cadena y un mecanismo de consenso basado en prueba de trabajo (PoW) o prueba de participación (PoS). En cambio, otros DLT pueden utilizar diferentes estructuras de datos y mecanismos de consenso según sus necesidades y objetivos.
Por lo tanto, la diferencia entre DLT y blockchain radica en la forma en que se organizan, almacenan y actualizan los datos, así como en los mecanismos de consenso utilizados para mantener la integridad y seguridad de la información.
Un ejemplo de un libro contable distribuido que no utiliza bloques de transacciones es Corda de R3. Se trata de un libro contable distribuido que se desarrolló para registrar y administrar acuerdos y se enfoca especialmente en la industria de servicios financieros.
Blockchain públicas
Como su nombre sugiere, las blockchains públicas no son propiedad de nadie y son proyectos generalmente open source. Están abiertas al público y cualquiera puede participar como nodo en el proceso de toma de decisiones. Los usuarios pueden o no ser recompensados por su participación. Todos los usuarios de estas ledger sin permiso o sin autorización mantienen una copia de la cadena de bloques en cada uno de sus nodos locales y utilizan un mecanismo de consenso distribuido para decidir el estado final de la información. Bitcoin y Ethereum son consideradas blockchains públicas.
Entre sus ventajas destacaremos su independencia y transparencia. Entre sus inconvenientes resaltaremos su lentitud y los problemas que en ocasiones tienen de escalabilidad.
Blockchain privadas
Las blockchains privadas se caracterizan por estar controladas por una sola organización o grupo. Hay varias blockchains disponibles en esta categoría, como Kadena y Quorum. Opcionalmente, ambas blockchains también pueden funcionar en modo público si es necesario, pero su propósito principal es proporcionar una blockchain privada.
Blockchain semi-privadas
Disponen de una parte privada y otra pública. Hay que tener en cuenta que esto sigue siendo solo un concepto a día de hoy y aún no se han desarrollado aplicaciones con el bagaje suficiente para operar en el mundo real. Con una blockchain semi-privada, la parte privada está controlada por un grupo de individuos, mientras que la parte pública está abierta a la participación de cualquier persona.
Este tipo de blockchain también puede denominarse modelo semi-descentralizado, ya que la cadena de bloques es controlada por una sola entidad, a la vez que permite que múltiples usuarios se unan a la red siguiendo los procedimientos apropiados.
Sidechain
Más conocidas como pegged sidechains; este es un concepto mediante el cual las criptomonedas pueden moverse de una cadena de bloques a otra y viceversa. Un uso típico lo encontramos la creación de nuevas criptomonedas alternativas (altcoins) donde las monedas originles se queman como prueba de una participación adecuada en la segunda moneda. Quemar (burnt) o quemar las monedas (burning coins) en este contexto significa que las monedas se envían a una dirección que no se puede gastar, y este proceso hace que las monedas quemadas sean inaccesibles.
Este mecanismo se utiliza para arrancar una nueva moneda o introducir escasez, lo que resulta en un aumento del valor de la moneda. Este mecanismo también se llama prueba de quemado (proof of burn) y se utiliza como un método alternativo para el consenso distribuido en lugar de PoW y Proof of Stake (PoS).
El ejemplo proporcionado anteriormente para quemar monedas se aplica a una cadena lateral anclada unidireccional. Un segundo subtipo es la cadena lateral anclada bidireccional, que permite el movimiento de monedas desde la cadena principal a la cadena lateral y de vuelta a la cadena principal cuando sea necesario.
Este proceso posiblita la creación de contratos inteligentes para la red Bitcoin. Rootstock es uno de los principales ejemplos de una sidechain, que permite el desarrollo de contratos inteligentes para Bitcoin utilizando este modelo. Funciona permitiendo un anclaje bidireccional para la cadena de bloques de Bitcoin, lo que resulta en una capacidad de procesamiento mucho más rápida.
Libro mayor autorizado (Permissioned Ledger)
Se trata de una cadena de bloques donde los participantes de la red ya son conocidos y confiables. Los libros mayores autorizados no necesitan usar un mecanismo de consenso. En su lugar recurren al uso de un protocolo de acuerdo para mantener una versión compartida del estado de los registros en la cadena de bloques. Para la verificación de las transacciones existen unos verificadores previamente acordados por una autoridad central lo que evita la necesidad de mineros.
La cadena de bloques puede ser pública o privada pero el control de acceso siempre será regulado. De esta manera, Bitcoin puede convertirse en un libro mayor autorizado siempre que se introduuzca una capa de control de acceso que verifique la identidad del usuario.
Libro mayor compartido (Shared Ledger)
Este es un término genérico que se utiliza para describir cualquier aplicación o base de datos que es compartida por el público o un consorcio. En general, todas las cadenas de bloques se clasifican como libros mayores compartidos.
Blockchain propietaria totalmente privada
Este tipo de cadena de bloques no es de gran aplicación pues se desvían del concepto principal de descentralización. Sin embargo, en entornos privados específicos dentro de una organización, puede darse el caso de existir una necesidad de compartir datos y proporcionar algún nivel de garantía de la autenticidad de los datos.
Un ejemplo de este tipo de blockchain podría ser permitir la colaboración y el intercambio de datos entre varios departamentos gubernamentales. En ese caso, no se requeriría de un mecanismo de consenso complejo, aparte de SMR simple y un protocolo de acuerdo con entre verificadores centrales conocidos. En estos casos, los tokens pueden llegar a no ser realmente necesarios, aunque podría ser interesante explorar la posibilidad que fueran usados como un medio para transferir valor o representar activos del mundo real.
Blockchains tokenizadas
Estas son las cadenas de bloques que todos conocemos, en las quese generan criptomonedas como resultado de un proceso de consenso a través de la minería o la distribución inicial. Bitcoin y Ethereum son dos de los ejemplos principales de este tipo de blockchain.
Blockchain sin token (Tokenless Blockchain)
Estas cadenas de bloques ese caracterizan por que no tienen una unidad básica para la transferencia de valor. Sin embargo, aún son valiosas en situaciones en las que no es necesario transferir valor entre nodos y solo se requiere compartir datos entre varias entidades de confianza. Esto es similar a las blockchains completamente privadas, la única diferencia es que no se requiere el uso de tokens.
También pueden ser vistas como un registro distribuido compartido utilizado para almacenar y compartir datos entre los participantes. Tiene sus beneficios en cuanto a la inmutabilidad, la protección contra manipulaciones, la seguridad y las actualizaciones impulsadas por el consenso, pero no se utiliza para una aplicación común de blockchain de transferencia de valor o criptomonedas.
La mayoría de las blockchains con permisos pueden verse como una tokenless blockchains. Algunos ejemplos son: Hyperledger Fabric o Quorum. Los tokens se pueden construir en estas cadenas como una aplicación, pero intrínsecamente estas blockchains no tienen un token asociado con ellas.
¿Que es el consenso en un sistema distribuido?
En sistemas cliente-servidor es relativamente fácil llegar a un acuerdo entre dos nodos, pero cuando varios nodos participan en un sistema distribuido y necesitan ponerse de acuerdo sobre un valor único, es cuando empiezan los problemas. El consenso es el proceso de alcanzar un acuerdo sobre un estado o valor común entre múltiples nodos desconfiados a pesar del fallo de algunos nodos participantes. Para lograr el consenso, podemos recurrir a diferentes algoritmos.
En nuestro siguiente artículo profundizaremos en los muy diversos tipos de algoritmos de consenso.