La idea básica de la descentralización es distribuir el control y la autoridad a las periferias de una organización en lugar de que un órgano central tenga el control total de la misma.
La descentralización se considera una forma de mejorar la eficiencia y la democracia en las organizaciones, ya que permite la toma de decisiones más cercana a los intereses y necesidades de las diferentes partes involucradas. Además, la descentralización puede ayudar a reducir la corrupción y la burocracia, al evitar la concentración de poder en un solo lugar. En la tecnología blockchain, la descentralización se utiliza para crear sistemas distribuidos y sin confianza, que permiten transacciones y contratos confiables sin la necesidad de intermediarios.
Descentralización usando Blockchain
Tradicionalmente, las Tecnologías de la Información y comunicación (TIC) estaban basadas en un sistema central, donde un administrador era el responsable de almacenar y distribuir la información a la red. Con la llegada de Bitcoin se abre un nuevo modelo, en el que una red de usuarios independientes pueden conectarse e intercambiar información sin ninguna figura de autoridad que dirija el sistema.
Este nuevo paradigma puede servir tanto como para generar nuevos sistemas descentralizados como para remodelar y descentralizar sistemas de comunicación tradicionales ya existentes.
Además, esta descentralización en las TIC permite una mayor seguridad y privacidad de la información, ya que no depende de un único punto de fallo o control central. También permite una mayor resistencia ante ataques y la posibilidad de recuperación en caso de fallos en la red, gracias a la redundancia de los datos almacenados en diferentes nodos. Así como, también ofrece una mayor transparencia y participación en la toma de decisiones, ya que cualquier usuario puede participar en la red y aportar soluciones. En resumen, la descentralización ha permitido la creación de sistemas más democráticos, seguros y resilientes.
Tipos de sistemas
Paul Baran, en el memorándum titulado“On Distributed Communications: Introduction to Distributed Communications Networks”, que recoge ideas a cerca del tema de las comunicaciones distribuidas en tecnologías de la información y comunicación, clasifica a los sistemas por su topología, pudiendo distinguir tres tipos:
- Centralizados: Toda la información está almacenada en una única autoridad (servidor) que está al cargo de las operaciones del sistema y distribuye la información entre el resto de nodos (clientes). Es el paradigma de un sistema de información tradicional. Este tipo de sistemas son comúnmente utilizados en aplicaciones y servicios en línea que requieren una autoridad central para controlar y gestionar la información y los procesos de los nodos clientes. Sin embargo, su dependencia en un solo servidor puede ser un punto débil en términos de confiabilidad y seguridad
- Distribuidos: La información está esparcida en múltiples nodos, aunque sigue existiendo una autoridad central para manejar esos datos. A pesar de que varios servidores procesan información, todos ellos están dirigidos un mismo agente. Este tipo de sistemas se caracterizan por la distribución de la información y los procesos entre varios nodos, lo que los hace más resistentes a fallos y ataques. Los sistemas paralelos y no paralelos tienen enfoques diferentes para manejar la información y los procesos, y cada uno de ellos tiene sus propias ventajas y desventajas.
- Sistema paralelo: Todos los nodos realizan cálculos simultáneamente para obtener un único resultado. Este tipo de sistemas son adecuados para tareas que requieren una gran cantidad de poder de procesamiento y se caracterizan por la realización simultánea de cálculos en varios nodos para obtener un resultado único. Específicamente son comúnmente utilizados en aplicaciones de análisis de datos y científicas.
- Sistema no paralelo: Los datos se replican en varios nodos que los usuarios ven como un sistema único y coherente. Este tipo de sistemas se basan en la replicación de datos en varios nodos y se emplean para garantizar la disponibilidad de la información y la continuidad de los procesos en caso de fallos en uno o más nodos. Estos sistemas son adecuados para aplicaciones en línea que requieren alta disponibilidad y coherencia de datos.
- Descentralizados: El sistema no es dependiente de un nodo maestro, sino que el control está distribuido entre muchos nodos. Este tipo de sistemas se caracteriza por la falta de dependencia en una autoridad central y la distribución del control y la toma de decisiones entre muchos nodos. Estos sistemas son usados en aplicaciones que requieren transparencia, seguridad y privacidad, como los sistemas basados en blockchain. Al no depender de un nodo central, estos sistemas son más resistentes a fallos y ataques y proporcionan un mayor nivel de seguridad y privacidad para los usuarios y sus datos.
Diferencia entre sistema distribuido y descentralizado
En la siguiente imagen se muestra el esquema de un sistema distribuido. En un sistema distribuido, la información está dividida entre múltiples nodos, pero existe una autoridad central que supervisa y controla esos datos. En este caso, el que un cliente (User) accede a la información almacenada en distintos servidores a través de un servidor web, la información y los cálculos se encuentran repartidos en diferentes servidores. Cada uno de los servidores se dedica a una tarea en específica y están subordinados a una jerarquía general del sistema, que funciona como una autoridad central.
De manera contraria, en el siguiente esquema vemos la arquitectura de un sistema descentralizado. En un sistema descentralizado, no existe un nodo maestro o autoridad central que controle el sistema. En su lugar, el control está distribuido entre muchos nodos de igual relevancia. Este es el caso de los sistemas basados en blockchain, donde varios nodos están conectados entre sí y mantienen su propia copia de la información, actualizándose mutuamente a medida que se intercambia información. Este tipo de arquitectura descentralizada tiene la ventaja de ser mucho más resistente, ya que si algún nodo se desconecta o falla, el resto de la red puede continuar funcionando de forma independiente. En cambio, en un sistema centralizado, un fallo en el servidor central puede causar la caída del sistema completo.
Métodos de descentralización
- Desintermediación: Consiste en suprimir el papel de agentes intermediarios que realicen o validen una transacción entre dos partes. Por ejemplo: para hacer una transferencia de dinero generalmente se utilizaría un banco que validara la transacción, mientras que si ambos participantes están en una Blockchain, este banco deja de ser necesario y el intercambio se hace directamente. Este método alcanza una descentralización más “pura”.
- Competición (descentralización por concurso): Con este otro esquema, en vez de suprimir directamente al intermediario, diferentes agentes compiten por ser aquel que ofrece el servicio de mediación entre ambas partes. En la transacción sigue existiendo un intermediario, pero como este es elegido de entre una serie de solicitantes, se suprimen el monopolio de un intermediario (como por ejemplo un banco), alcanzando así un cierto grado de descentralización.
- Autonomía: Este método de descentralización se basa en la creación de una infraestructura en la que las decisiones son tomadas por un algoritmo autónomo que no depende de una autoridad central o intermediaria. Por ejemplo, un sistema de voting automatizado en el que los usuarios votan para tomar decisiones en una organización descentralizada. Esto permite que la toma de decisiones sea más democrática y eficiente.
- Descentralización por delegación: Con este método, los usuarios delega su autoridad en agentes que representan sus intereses. Estos agentes se encargan de tomar decisiones y realizar acciones en su nombre. Por ejemplo, en un sistema de delegación de votos, los usuarios delegarían su voto a un grupo de expertos que tomarían decisiones en su nombre. La descentralización se logra al permitir que los usuarios deleguen su autoridad en agentes que representen sus intereses en lugar de depender de una autoridad central.
Grados de descentralización
Los grados de descentralización son tres, cada uno representando un nivel diferente de centralización o desintermediación en un sistema.
- Fully centralized: En este tipo de sistema, existe una autoridad central o intermediario que controla y administra todas las operaciones y transacciones. Este intermediario es el responsable de validar y verificar todas las operaciones que tienen lugar en el sistema. Es el modelo más común en los sistemas tradicionales.
- Semi decentralized: Este es un sistema intermedio entre la centralización y la descentralización completa. En este caso, varios intermediarios compiten entre sí para brindar servicios a los usuarios y pueden ser elegidos por los usuarios para realizar una transacción o operación en particular. En este sistema, existe un grado de competencia y libertad para elegir al intermediario, lo que da lugar a un grado de descentralización.
- Fully decentralized: En un sistema descentralizado completamente, no existe una autoridad central o intermediario para controlar y validar las operaciones. En su lugar, las transacciones y operaciones son validadas por un grupo de nodos en la red, lo que significa que no hay un punto único de falla y la red es mucho más resistente. Este es el modelo de los sistemas basados en Blockchain.
Esquema de descentralización
El siguiente esquema de preguntas nos sirve para identificar cuando necesitamos usar una blockchain, si esta ha de ser pública o privada, o si realmente solo necesitamos una base de datos tradicional:
- ¿Se controlan las actualizaciones de forma centralizada?
- Si: en este caso, una base de datos tradicional sería la opción más adecuada. La base de datos estaría controlada por una autoridad central y los cambios solo podrían realizarse a través de ella.
- No: si se desea un sistema más descentralizado, se puede optar por una Blockchain pública o privada. La Blockchain pública estaría disponible para todos los usuarios, mientras que en una Blockchain privada, las actualizaciones podrían estar controladas por un consorcio o grupo de autoridades centrales.
- ¿Confían los usuarios entre sí?
- Si: en este caso, una base de datos tradicional es adecuada. Estos sistemas confían en la buena fe de los usuarios y en el respeto a las normas establecidas.
- No: si los usuarios no confían entre sí, una Blockchain pública sería una opción a considerar. La inmutabilidad y transparencia de la blockchain garantizarían que todas las transacciones quedaran registradas y que ningún usuario pudiera modificarlas sin ser detectado.
- ¿Son anónimos los usuarios?
- Sí: en este caso, una Blockchain pública es la mejor opción. Los usuarios pueden participar en la red sin revelar su identidad real, lo que garantiza la privacidad de la información.
- No: si la identidad de los usuarios debe ser conocida, una Blockchain privada sería más adecuada. En este caso, los usuarios estarían vinculados a sus transacciones y estarían sujetos a regulaciones y controles.
- ¿Es necesario mantener el consenso dentro de un consorcio?
- Sí: en este caso, una Blockchain privada sería la opción más adecuada. La Blockchain privada estaría controlada por un grupo de nodos autorizados y las decisiones importantes serían tomadas por consenso entre ellos.
- No: si no se requiere mantener un consenso específico, una Blockchain pública sería la opción más adecuada. En una Blockchain pública, cualquier usuario puede participar y validar transacciones, lo que conduce a una descentralización completa.
Planteamiento de la descentralización
Antes de diseñar la descentralización de un sistema es necesario evaluar cuidadosamente los objetivos y requisitos del sistema y formular preguntas importantes sobre el tipo de descentralización que se desea lograr, la tecnología blockchain adecuada, los mecanismos de seguridad requeridos y cualquier otro factor relevante para garantizar un diseño eficiente y efectivo.
- ¿Qué se está descentralizando? La descentralización es un proceso de eliminación de intermediarios y centralización de un sistema. En términos de blockchain, la descentralización significa que los datos y transacciones son registrados y verificados por múltiples nodos en lugar de una entidad central. Esto puede incluir cualquier cosa, desde un sistema financiero hasta una red social.
- ¿Qué nivel de descentralización se requiere? El nivel de descentralización requerido depende de los objetivos y requisitos del sistema en cuestión. Puede ser completamente descentralizado, donde no hay un intermediario central, o semi-descentralizado, donde los intermediarios compiten entre sí para ganar clientes.
- ¿Qué blockchain se usa? Hay diferentes tipos de blockchain, cada uno con sus propias características y usos específicos. Por ejemplo, una blockchain pública es una que está disponible para cualquier persona, mientras que una blockchain privada es una que está limitada a un grupo de nodos autorizados. El tipo de blockchain a usar dependerá de los requisitos de seguridad, privacidad y escalabilidad del sistema descentralizado.
- ¿Qué mecanismo de seguridad se usa? Existen diferentes mecanismos de seguridad que se pueden utilizar en un sistema descentralizado. La atomicidad se refiere a la capacidad de garantizar que una transacción se complete o no se complete en su totalidad. La determinista se refiere a la capacidad de predecir el resultado de una transacción basada en la entrada. La reputación se refiere a la valoración de los nodos y sus contribuciones a la red. El mecanismo de seguridad a usar dependerá de los requisitos de seguridad y privacidad del sistema descentralizado.