Al configurar una red informática distribuida, existen diferentes tipos de arquitectura de sistema distribuido que se pueden implementar. En este artículo, analizamos en profundidad los tipos de arquitectura de sistema distribuido, con un enfoque específico en la arquitectura de sistema distribuido de igual a igual de blockchain..

Tipos de arquitectura de sistemas distribuidos

Modelo cliente-servidor

Las aplicaciones como el correo electrónico o las impresoras en red suelen utilizar la arquitectura cliente-servidor. Esencialmente, los proveedores (llamados servidores) y los solicitantes (llamados clientes) tienen roles diferentes. El servidor maneja todos los requisitos de procesamiento, administración de datos y computación, que están disponibles bajo demanda para el cliente. Si cambia una entrada de la base de datos, el cliente no necesariamente tiene que hacer nada. Solo es necesario cambiar los datos del servidor.

El servidor no tiene que ser un solo dispositivo en este modelo; podrían ser varios servidores que realizan tareas similares para distribuir la carga de trabajo. El modelo se refiere al rol del cliente y el servidor, más que al hardware específico.

Diagrama del modelo cliente-servidor

Un diagrama de modelo cliente-servidor. Fuente: Wikimedia Commons

Usamos interacciones cliente-servidor todos los días, cada vez que usamos una computadora portátil o un teléfono inteligente para navegar por la web, usar aplicaciones de redes sociales, jugar juegos móviles o ver una película en Netflix. La arquitectura de sistema distribuido cliente-servidor es a lo que nos referimos cuando hablamos de sistemas informáticos “centralizados”, en contraste con blockchain como una arquitectura de sistema distribuido descentralizado..

Si bien esta es una explicación simple, existen diferentes tipos de arquitectura cliente-servidor, como tres niveles. Este modelo implica separar el servidor que ejecuta la aplicación en sí del servidor que aloja los datos detrás de la aplicación. Hay otros, pero como no son relevantes para blockchain, no los analizaremos todos aquí..

Modelo peer-to-peer

Una arquitectura de sistema distribuido de igual a igual (P2P) no tiene clientes ni servidores específicos. Una red P2P es un sistema distribuido de máquinas llamadas nodos. Todos los nodos pueden desempeñar el papel de cliente y servidor al mismo tiempo o en diferentes momentos. El modelo es inherente al propio nombre: en una red P2P, cada máquina es un par igual, en lugar de ser un cliente o un servidor..

Las redes P2P se hicieron populares después del lanzamiento de servicios para compartir archivos como el sitio para compartir música Napster. La idea de P2P ganó una especie de estatus de culto porque los sistemas podían operar independientemente de cualquier control centralizado. Hoy, fuera de blockchain, el protocolo de intercambio de archivos BitTorrent es probablemente el nombre más grande y más reconocible asociado con las redes P2P..

Redes no estructuradas frente a redes estructuradas


Según cómo se enlazan los nodos entre sí y cómo se indexan y descubren los datos, las redes P2P se clasifican como estructuradas o no estructuradas. En un sistema no estructurado, los nodos simplemente forman conexiones aleatorias entre sí. Las redes no estructuradas son fáciles de construir y ampliar o reducir.

Diagrama de red peer-to-peer no estructurado (Fuente: Wikimedia Commons)

Sin embargo, debido a que no están estructurados, la indexación es mucho más difícil. Si un nodo desea encontrar un dato en particular u otro nodo, debe inundar la red para llegar a tantos nodos como sea posible que puedan ser un objetivo potencial para la búsqueda. Esto usa más potencia de red, ya que todos los nodos deben procesar todas las solicitudes. Además, si los datos son raros, es posible que no se encuentren si todos los nodos de la red no pueden procesar todas las solicitudes. Ejemplos de redes no estructuradas incluyen Kazaa y Limewire.

Por otro lado, localizar cualquier dato en una red estructurada es fácil. Las redes estructuradas utilizan una tabla hash distribuida para identificar qué pares tienen qué archivos y versiones de archivos. Chord es un ejemplo de una red P2P estructurada.

Tabla hash distribuida

Diagrama de una tabla hash distribuida, como se usa en redes P2P estructuradas. Fuente: Wikimedia Commons

Por qué Blockchain es especial

Como modelo puro para la arquitectura de sistemas distribuidos, las redes P2P tienen varios beneficios y desafíos. La ventaja clave es la resistencia al tiempo de inactividad porque no hay un punto central de falla..

Sin embargo, debido a que los nodos de una red P2P actúan como cliente y servidor, son más vulnerables a los ataques. Dichos ataques pueden incluir la denegación de servicio o la distribución de malware o datos corruptos.. Un estudio encontró que el 15 por ciento de medio millón de archivos descargados de Kazaa estaban infectados con 52 virus diferentes.

Si bien las cadenas de bloques no son 100% incorruptibles, a Satoshi se le ocurrió una solución ingeniosa al problema de la vulnerabilidad cuando escribió el Bitcoin. papel blanco. Al introducir un protocolo de consenso, todos los nodos de la red Bitcoin deben aceptar que una transacción es válida. El uso de la teoría de juegos hace que cada nodo compita para extraer el siguiente bloque..

La extracción exitosa del siguiente bloque viene con una recompensa, que brinda a los operadores de nodos un incentivo para mantener limpia la red. Siempre que el 51 por ciento o más de los operadores de nodos trabajen en conjunto para seguir compitiendo por la siguiente recompensa de bloque, la cadena de bloques continúa funcionando sin ataques..

Conclusión

Por supuesto, hay otros elementos de Bitcoin, como el uso de hash y firmas criptográficas, que crean la reserva de valor digital. Sin embargo, la solución inventada por Satoshi para superar las debilidades inherentes a una arquitectura de sistema distribuido P2P sigue siendo uno de los componentes más atractivos e innovadores de blockchain..

Desde el inicio de Bitcoin, muchos otros han ideado desarrollos inventivos basados ​​en la idea de Satoshi. Esos desarrollos continúan hasta el día de hoy. Blockchain representa un paso revolucionario en la arquitectura de sistemas distribuidos. Además, la tecnología seguirá evolucionando durante muchos años más..

Imagen destacada cortesía de Pixabay

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me