Tipos de redes que hay para desarrollar proyectos con Blockchain: abiertas, federadas o privadas. By Miguel Ángel Pérez – iCommunity Labs

//Tipos de redes que hay para desarrollar proyectos con Blockchain: abiertas, federadas o privadas. By Miguel Ángel Pérez – iCommunity Labs

Introducción

Cuando hablamos del valor de las tecnologías de código abierto, estamos pensando en la reutilización del código y las posibilidades que su apertura crea para adaptar una solución a otra. Blockchain es un gran ejemplo de este potencial, ya con muchas ramificaciones generadas a partir del código fuente de Ethereum e Hyperledger, por nombrar algunos ejemplos. Sin embargo, la tecnología blockchain no es necesariamente “abierta” por defecto. Este artículo explorará los diferentes tipos de blockchain para ayudar a reconocer y distinguir entre ellos.

En términos generales, blockchain es un registro distribuido que sirve para almacenar información en forma de transacciones. Su valor consiste, entre otras cosas, en la posibilidad de que todos los participantes tengan una copia del registro completo, que es inmutable, y participen en la validación de las transacciones. Si bien hay ciertos elementos como las transacciones, los bloques y los códigos hash que todas los blockchain tienen en común, la variedad de opciones y la flexibilidad a la hora de decidir cómo es la administración de la red, quiénes son los participantes, cuál es el grado de descentralización o cuál es el nivel de transparencia, determinan qué tipo de blockchain es adecuado utilizar.

Algunas de las funcionalidades más comúnmente asociadas al blockchain como la descentralización y transparencia de los datos o los protocolos de consenso no se dan en todas las blockchain, y las reglas para validar transacciones, admitir participantes o acceder al blockchain cambian drásticamente en función de la red.

La idea que surgió fue que las cadenas de bloques podían ser utilizadas para cualquier tipo de transacción de valor o acuerdo entre dos partes como seguros P2P, cambio de energía P2P, compartimiento de transporte P2P, etc. Con esta intención, el Proyecto Ethereum decidió crear su propia blockchain el 30 de julio de 2015, con diferentes propiedades que la del Bitcoin y desplegando una capa de contratos inteligentes para ofrecer una nueva manera radical de crear mercados online y transacciones programables. Por otro lado, las instituciones privadas como bancos se dieron cuenta de que podían usar la idea central del blockchain como Distributed Ledger Technology (DLT), y crear cadenas de bloques con permisos (privadas o federadas). Por eso el término DLT surgió como un término más general.

Para entender cuáles son las distintas alternativas y sus diferencias, se puede hacer una clasificación genérica en tres grupos: públicas, federadas y privadas. Existe un cuarto grupo, Blockchain como un servicio (Blockchain-a-a-service o BaaS) del que hablaremos al final.

Por un lado, las blockchain privadas son válidas para solventar problemas de eficiencia, seguridad y fraude dentro de las instituciones financieras tradicionales, aunque no es muy probable que revolucionen el sistema financiero. Por otro lado, las blockchain públicas tienen el potencial de reemplazar muchas de las funciones de las instituciones financieras tradicionales con software, modificando la manera en la que el sistema financiero funciona; pero no se adecuan a las necesidades de la empresa privada.

 

Blockchain Públicas

Las blockchain públicas son aquellas a las que cualquier persona tiene acceso. En general estas redes son transparentes y los usuarios son anónimos. Ningún participante tiene más derechos que los demás, por lo cual no hay administradores de la red. Las redes públicas más conocidas son Bitcoin, Ethereum y Litecoin, aunque ya empiezan a despuntar otras como IOTA (que no se considera en puridad una blockchain como tal), NEO o Cardano.

Una red blockchain pública es completamente abierta y cualquiera puede unirse y participar en la red. La red típicamente tiene un mecanismo de incentivación basada en la teoría de juegos que fomenta que más participantes se unan a la red.

Una de las cuestionas que viene a nuestra mente es cómo son tomadas las decisiones en blockchains públicas. La respuesta es que como ya se ha mencionado, la toma de decisiones sucede con varios mecanismos de consenso descentralizados como Proof of Work (PoW) y Proof of Stake (PoS), etc.

Cualquiera puede descargarse el código y empezar a correr un nodo público en sus dispositivos locales, validando transacciones en la red, de este modo participando en el proceso de consenso, el proceso para determinar que bloques son añadidos a la cadena y su estado actual.

Cualquiera en el mundo puede enviar transacciones a través de la red y esperar que sean incluido en la blockchain si son válidas.

Cualquiera puede real las transacciones en el explorados de transacciones públicas. Las transacciones son transparentes, pero anónimas/pseudoanónimas.

El procedimiento para participar es descargarse la aplicación correspondiente y conectarse de forma automática con un determinado número de participantes o nodos, a los que se les solicita la versión más actualizada de la cadena de registros, lo que puede tomar minutos u horas. Una vez que el usuario se hace con la copia actualizada de toda la cadena, tiene los mismos derechos y deberes que el resto de los participantes a la hora de proponer y validar transacciones.

La forma de validar las transacciones es mediante lo que se conoce como protocolos de consenso. De forma aleatoria se elige un participante cada vez para proponer un nuevo bloque. Si el elegido propusiese un bloque con información errónea, el resto de los participantes podrían rechazarlo. Para incentivar a los nodos para que propongan bloques válidos, muchas redes dan recompensa en forma de criptomoneda al nodo que propone un bloque cuando éste es aceptado. Los nodos que compiten por validar los bloques, encontrando el hash válido del bloque, se conocen como mineros. La labor del minado en las redes públicas es el corazón que las mantiene vivas. Es la responsabilidad de los usuarios o nodos mineros seguir realizándolo.

 

Blockchain federadas o híbrida.

Las redes de blockchain federadas son las más solicitadas a la hora de construir soluciones compartidas para gobiernos, empresas, y asociaciones. En general no son abiertas a la participación del público, sino que un número determinado de organizaciones, entidades o compañías se encargan de administrar la red en conjunto y mantener copias sincronizadas del registro. El acceso mayoritario es mediante una interfaz web que los administradores ponen a disposición del usuario medio, en lugar de compartirles una copia de la cadena como en las redes públicas.

Una red de blockchain federada puede ser, por ejemplo, una buena opción para industrias como salud y finanzas, donde tienen lugar grandes volúmenes de transacciones entre distintas entidades con una alta necesidad de confianza. A la hora de diseñar e implementar una solución de este tipo, es fundamental acompañar a la herramienta blockchain con un plan estratégico adecuado consistente en definir desde quiénes y cómo van a administrar la red hasta qué información se les va a mostrar a los usuarios vía interfaz web. En muchos casos el usuario que accede vía web puede no tener interés ni conocimiento sobre blockchain, pero sí necesitar una plataforma que involucre entidades diferentes, necesidad de confianza y transparencia. Es importante señalar que al ser su acceso vía web y no como “nodos” de la red -es decir, que no tienen una copia de la cadena-, los usuarios comunes tendrán acceso a tanta información como los administradores decidan mostrarles a través de la misma. Se tendrán entonces opciones que varíen desde un gran nivel de transparencia hasta una transparencia nula.

Al contrario de las redes públicas, las redes federadas o híbridas no recompensan al usuario para la creación del hash a través del minado de bloques y ni siquiera tienen una criptomoneda asociada. Los propios administradores o entidades a cargo de la red proporcionan los recursos computacionales necesarios que cumplan con el propósito de generar el hash.

 

Aunque las redes de blockchain federadas no tienen un modelo de participación abierto al público, el software que las respalda sigue siendo en general de código abierto, lo que permite a la comunidad desarrolladora reutilizar código en muchos casos. Algunos de los softwares más comunes de código abierto utilizados para crear redes federadas son Hyperledger, Corda, EFW o Multichain, que permiten descargar la aplicación de blockchain y programar la cadena a tu gusto, decidiendo quién quieres que participe y bajo qué reglas se regulan las transacciones. También es posible y común crear entornos federados haciendo un fork de una red pública, generando así tu propia red customizada.

Blockchain privadas

Las redes de blockchain privadas son aquellas donde el control está reducido a una única entidad que se encarga de mantener la cadena, dar permisos a los usuarios que se desea que participen, proponer transacciones y aceptar los bloques. Son iguales que las federadas pero con solo una entidad a cargo.

En estas redes no hay ningún tipo de descentralización ni de consenso puesto que toda la información es controlada por una única entidad que administra la red. La mayor parte de la comunidad no considera a estas redes como verdaderos blockchain, ya que no cumple con prácticamente ninguno de los propósitos para los que idealmente es utilizada esta tecnología.

Los mismos softwares que se utilizan para blockchain federadas son también empleados para blockchain privadas, ya que solo cambia el modo de permisionado (accesibilidad).

Blockchain-as-a-Service (BaaS): iBS

Algunas grandes compañías ofrecen servicios de blockchain en la nube. Algunos ejemplos son IBM especializada en Hyperledger Fabric, Amazon colaborando con Digital Currency Group, o Microsoft ofreciendo servicios de R3, Hyperledger Fabric o Quorum, entre otras. Estos servicios no solo consisten en almacenamiento de información, en este caso del blockchain, sino que también ofrecen un aumento en la seguridad, la no necesidad de invertir en hardware y la posibilidad de un entorno más amigable con el que trabajar, pudiendo crear tu propio canal de blockchain sin necesidad de programar.

Existen otras aproximaciones, como la que proponemos desde iCommunity Labs a través de su plataforma BaaS iCommunity Blockchain Solutuions” o iBS, donde vamos un paso más allá: además de proporcionar los servicios que ofrecen IBM, Amazon, Oracle o Microsoft, iBS es una plataforma que proporciona soluciones “llave en mano” mediante diferentes verticales o casos de uso, lo que nos permite llevar a cabo propuestas integrales en las que integramos uno o varios de estos verticales, ofreciendo así a nuestros clientes soluciones más completas que permiten resolver problemas más complejos, sin tener que abordar por su parte costosos y largos procesos de desarrollo o integración con sus backoffice. Es la solución perfecta para todo tipo de empresas, pero sobre todo para aquellas con pocos o ningún recurso TIC, que de otra forma no tendrían posibilidad de acceder a esta tecnología.

12 marzo, 2019
contacto