Blockchain: pública, privada, abierta o cerrada
Cuando hablamos de una blockchain pública o privada, de lo que realmente estamos hablando es de quién puede escribir datos en esa cadena de bloques o en ese libro de contabilidad:
- Una blockchain pública es una blockchain sin permisos. Cualquiera puede unirse a la red de blockchain, lo que significa que todo el mundo puede leer, escribir o participar con una blockchain pública. Las blockchains públicas están descentralizadas, nadie tiene control sobre la red, y son seguras en el sentido de que los datos no pueden ser modificados una vez validados en la blockchain.
- Por otro lado, una blockchain privada es una blockchain con permisos. Las redes con permisos imponen restricciones sobre quién puede participar en la red y en qué transacciones.
También existe otro parámetro relacionado pero diferente, una cadena de bloques puede ser abierta o cerrada. En este caso, la diferencia entre abierto y cerrado hace que se considere quién puede leer esos datos.
De esta manera, podemos hablar de soluciones que son públicas y abiertas, públicas y cerradas, privadas y abiertas, privadas y cerradas.
Cuando hablamos de cadenas de bloques públicas, de lo que la mayoría de la gente está hablando es de una cadena de bloques pública y abierta. Es una cadena de bloques en la que cualquiera puede escribir datos en la cadena de bloques, y cualquiera puede venir y leer esos datos.
Bitcoin, Ethereum, Litecoin, BSC y muchas más son blockchains públicas.
Existe la percepción de que las plataformas públicas de blockchain como Ethereum no pueden utilizarse para construir escenarios de permisos o para controlar el acceso a los datos, pero la verdad es que sí que pueden, sólo que no ofrecen todas las herramientas incorporadas que puedes encontrar en una plataforma de blockchain privada o de permisos. Pero básicamente, siempre se pueden utilizar estas plataformas públicas abiertas para construir una solución de permisos mediante algún tipo de sistema de gestión de la identidad.
Cuando hablamos de blockchain privada o cuando oímos a la gente hablar de soluciones de blockchain privada, tienden a hablar de cosas en el extremo privado y cerrado del espectro. Queremos controlar quién puede escribir datos en esta cadena de bloques, y queremos controlar quién puede leer datos de esta cadena de bloques. Y para ello, el primer paso es la identidad. Tenemos que saber quién forma parte de la red de la cadena de bloques.
Si no sabemos quién es un usuario, resulta difícil, si no imposible, definir las reglas sobre los datos que pueden consignar en el libro mayor y los que pueden consumir del libro mayor. Por eso, la mayoría de las veces, las blockchains privadas tienden a venir con herramientas de gestión de la identidad o con una arquitectura modular, donde puedes conectar tu propia solución de gestión de la identidad. Esto puede ser cualquier cosa, desde un proveedor de servicios de membresía hasta una solución OAuth utilizando Google, Facebook, LinkedIn, etc.
Blockchain privada Vs Blockchain pública
Lo primero que debe hacerse en las blockchains privadas es conocer quién es el usuario, porque una vez que entendemos eso, podemos determinar qué rol tiene, y podemos usar ese rol para determinar a qué información puede o no puede tener acceso.
En la Blockchain pública, tenemos que cambiar un poco el incentivo para el buen comportamiento, porque no sabemos quién es un usuario. Se utiliza la economía y los incentivos de la teoría de los juegos para garantizar que todo el mundo en el sistema se comporte honestamente y de acuerdo con las reglas. Establecemos situaciones a través del consenso de grupo, mediante las cuales los participantes honestos son recompensados económicamente, mientras que los deshonestos sólo incurren en trabajo o coste, sin posibilidad de recuperar nunca ese coste.
En una Blockchain Privada con Permiso, nos basamos en el hecho de que sabemos quién es un usuario.
Hay muchas opciones de blockchains privadas, y las más comunes son Hyperledger, R3 Corda y Quorum.
Las blockchains privadas tienen sentido en el ámbito corporativo porque sabemos quién es un individuo, a qué organización está asociado y cuál es su papel, también asumimos que se va a comportar de forma justa, porque si no, sabemos exactamente quién se está comportando mal y podemos tomar medidas en su contra.
Por tanto, las blockchains privadas y las públicas tienen ciertas similitudes, pero en realidad no compiten entre sí, son soluciones a diferentes problemas.
Desde el punto de vista del rendimiento, en las blockchains privadas tenemos muchos menos nodos procesando las transacciones, eso puede crear una ganancia de rendimiento en torno a la latencia y la velocidad de las transacciones si lo comparamos con las redes con miles de nodos como Ethereum.
Lógicamente, en las blockchains privadas, las transacciones no son visibles públicamente (transparentes) en la cadena de bloques, y sólo los nodos seleccionados pueden acceder al libro mayor.
Ventajas de las blockchains públicas
- Lectura y escritura abiertas: cualquiera puede participar enviando transacciones a la blockchain, como Ethereum o Bitcoin; las transacciones se pueden ver en el explorador de la blockchain.
- El ledger está distribuido: la base de datos no está centralizada como en un enfoque cliente-servidor, y todos los nodos de la blockchain participan en la validación de las transacciones.
- Inmutable: cuando se escribe algo en la blockchain, no se puede cambiar.
- Seguro debido a la minería (regla del 51%): por ejemplo, con Bitcoin, la obtención de la mayoría de la potencia de la red (ataque del 51%) podría permitir un doble gasto masivo, y la capacidad de impedir la confirmación de transacciones, entre otros actos potencialmente maliciosos.
Ventajas de las blockchains privadas
- Ambiente empresarial: la empresa controla los recursos y el acceso a la blockchain, por lo que es privada y/o con permiso.
- Transacciones más rápidas: al distribuir los nodos localmente, pero también tener muchos menos nodos para participar en el libro mayor, el rendimiento es más rápido.
- Mejor escalabilidad: poder añadir nodos y servicios bajo demanda puede suponer una gran ventaja para la empresa.
- Control: es mucho más fácil satisfacer los requisitos al tener el control de la infraestructura.
- Consenso más eficiente (menos nodos): las blockchains empresariales o privadas tienen menos nodos y suelen tener un algoritmo de consenso eficiente, como BFT frente a PoW.