Pregunta sobre los términos 'distribuido' y 'descentralizado'

Estoy escribiendo un artículo sobre tecnologías de registros distribuidos, un término general que tomé prestado para poner todo lo que tiene alguna relación con las cadenas de bloques y el consenso distribuido. Bajo este término general, me refiero principalmente a bitcoin, Ethereum, Bigchaindb, Swarm e IPFS.

Al investigar las tecnologías, noté el intercambio de 'distribuido' y 'descentralizado'. ¿Es por error o IPFS está realmente distribuido y Bigchaindb simplemente descentralizado? Además, leí sobre "contratos inteligentes descentralizados" cuando Ethereum es una plataforma distribuida. De ninguna manera estoy infiriendo que cualquier tipo de centralización sea buena o mala para ninguno de esos sistemas/plataformas, solo intento ser conciso.

Gracias de antemano por leer y posiblemente aclarar esto.

Respuestas (8)

Aquí hay una ilustración de sistemas distribuidos y descentralizados:

ingrese la descripción de la imagen aquí

La computación distribuida tiene una larga historia en las ciencias de la computación ("se convirtió en su propia rama de las ciencias de la computación a fines de la década de 1970 y principios de la de 1980").

Un sistema distribuido es un modelo en el que los componentes ubicados en computadoras en red se comunican y coordinan sus acciones pasando mensajes.

Con esta definición, un sistema descentralizado también es un sistema distribuido.

Un punto clave sobre la descentralización es que no hay un punto central de control. Las grandes aplicaciones y servicios de Internet se distribuyen, pero la mayoría están centralizados porque la empresa que los ejecuta puede alterar o detener el sistema.

Ethereum es una plataforma distribuida, así como una plataforma descentralizada. La plataforma permite a los desarrolladores crear aplicaciones descentralizadas, a diferencia de las aplicaciones distribuidas que se ejecutan en alguna nube propietaria.


Lo anterior ha tratado de explicarlo en términos simples. En términos técnicos, este comentario resume el desafío de estos términos.

Estas son las definiciones de términos aceptadas más comunes . Notarás que estos describen propiedades que están relacionadas, pero no ortogonales ni en un espectro lineal.

  • sistemas descentralizados : sistema en el que los componentes operan con información local para lograr objetivos, en lugar del resultado de una influencia de orden central (se trata de la localidad de decisión )

  • sistemas federados : una unidad cohesiva formada por subunidades más pequeñas que colaboran para formar el todo, pero que conservan una autonomía local significativa. (se trata de conservar algo de autonomía )

  • sistemas distribuidos : sistema en el que la computación se distribuye entre componentes, que se comunican y coordinan sus acciones mediante el paso de mensajes. Los componentes interactúan entre sí para lograr un objetivo común. (se trata de comunicación y paso de mensajes)

  • sistemas peer-to-peer o peering : sistemas en los que un conjunto de pares son participantes igualmente privilegiados y equipotentes en objetivos colaborativos. (se trata de equipotencia )

Puede buscarlos en {diccionarios, wikipedia, trabajos de investigación y más}. Puede ver que estos se refieren a conceptos similares y superpuestos , pero no a un espectro. Podemos calzarlos en subconjuntos en términos de las propiedades que queremos resaltar, pero aquí no hay un espectro o jerarquía singular .

Muchas gracias por la aclaración, me aclaró muchos problemas que tenía con los trabajos que estaba leyendo. Muy apreciado.
¿Hay referencia para el diagrama dado en la respuesta? de un libro o papel?
@Noor Puede encontrarlo en la sección de referencias .
Estaba viendo esta charla de Juan Benet de IPFS. En esta charla, cita lo contrario de lo que estás diciendo. Aquí está el enlace: youtu.be/HUVmypx9HGI?t=406
@Aditya Recordatorio de que la mitad de la respuesta cita a Juan Benet . Una discusión más profunda probablemente sea mejor para el chat.
Los comentarios no son para una discusión extensa; esta conversación se ha movido a chat .
las palabras "descentralizado" y "distribuido" cambiaron de lugar

Si bien estoy principalmente de acuerdo con la respuesta de eth, me gustaría generar cierta confusión y, dado que está escribiendo un artículo, vale la pena mencionar que la literatura más antigua no está de acuerdo con esa determinación de descentralizado y distribuido .

En ese contexto, se suele citar a Baran (1962), de " On Distributed Communication Networks ", explicándolo así:

baran-1962

Creo que esta debería ser la respuesta correcta. Descentralizado se traduce mejor como "multicentralizado", mientras que distribuido es el santo grial final
Lo siento, pero simplemente no veo cómo decentralizedes multi-centered. Y no, lo siento, pero la imagen de Baran tiene (b) y (c) claramente confundidos. No es la primera vez que las cosas se confunden en la tradición académica, así que no repasemos y estemos de acuerdo en discrepar. Spanning Tree no es una red descentralizada, de hecho tiene más de un centro, pero eso no es descentralizado.
@YauhenYakimovich Baran esencialmente acuñó los términos. El hecho de que la gente luego usara los términos de manera diferente no significa que estuviera confundido. Además, tengamos en cuenta que estaba describiendo redes de comunicación y resistencia al ataque termonuclear. En la actualidad, muchas personas que usan estos términos están considerando la arquitectura de red y la dependencia de diferentes tipos de proveedores de servicios.
Esta cita tiene que parar. No es útil en el contexto de la cadena de bloques, ya que se centra en las conexiones de red.

Volviendo a esto, quiero ampliar la respuesta de @eth y objetar por completo la respuesta de @Afri refiriéndose a Baran (1962) como incompleta o sin sentido para las aplicaciones modernas como blockchain.

Intuitivamente, la red descentralizada de algo así como la computación deberá satisfacer o exhibir propiedades tales como:

  • no tienen un solo punto de falla (o centro)
  • permanecer resistente a las manipulaciones centralizadas

CC BY-SA descentralizado vs. distribuido por Paige at al.  https://twitter.com/ioptio

Por lo tanto, podremos proporcionar una definición más fuerte tal que,

cualquier utilización de la comunicación de red [realizada en un determinado gráfico G=(V,E)] con fines de cálculo puede considerarse totalmente descentralizada o fuertemente independiente en el sentido anterior si y solo si lo siguiente es cierto:

  • Requisito de redundancia : la comunicación en el gráfico no se puede reducir (o forzar) fácilmente a un árbol de expansión (es decir, una red que se asemeje a un Gnúmero primo que tenga los mismos vértices, todos accesibles pero que realice la comunicación en un número reducido de bordes, de modo que la información se alcance sin ninguna redundancia ). o de manera altamente dependiente).
  • requisito de resiliencia : el gráfico Gnunca es un gráfico completo ni hay un solo vértice que pueda afectar directamente a todos los demás vértices (por ejemplo, transmitir o interceptar canales de comunicación o tener una conexión que afecte directamente a cada nodo de la red).

El requisito posterior evita la situación de que la red sea propensa a manipulaciones centralizadas. Al igual que esta red centralmente independiente, debe permanecer tanto redundante como independiente. La última restricción requiere que la comunicación realizada en la red pueda verificarse de manera confiable sin la necesidad de depender de un solo "centro de la verdad" o (esperar) una transmisión proveniente de dicho "centro" en un momento particular.

Por ejemplo, las implementaciones abiertas de blockchain como bitcoin no requieren que los nodos hablen con todos para resolver la bifurcación:

La bifurcación se resuelve cuando se agregan bloques posteriores y una de las cadenas se vuelve más larga que las alternativas. La red abandona los bloques que no están en la cadena más larga (se llaman bloques huérfanos).

La forma en que funcionan los protocolos de Internet como IP es otro ejemplo. Sin embargo, uno puede asegurarse de que Internet esté controlado de forma centralizada.

Así es como describiré estos términos:

Centralizado: Un sistema con componentes estrechamente acoplados (en términos de ubicación y autoridad).

Distribuido: un sistema en el que los componentes pueden abarcar límites geográficos pero son propiedad y están controlados por una sola entidad (con la llegada de la computación en la nube, este es un escenario muy común). La confianza en tal sistema todavía está centralizada. Piensa en Google.

Descentralizado: Un sistema con nodos que están distribuidos geográficamente y bajo el control de los respectivos operadores de nodos. Cada nodo es igual a los demás dentro de este sistema y, por lo tanto, la confianza se distribuye por igual. Esto es lo que hace que el sistema sea descentralizado. Piense en un proyecto basado en blockchain como Bitcoin.

En resumen, para que un sistema sea descentralizado, debe garantizar que la confianza se "distribuya" entre todos los participantes del sistema. Los sistemas descentralizados brindan el beneficio de ser distribuidos y independientes de la autoridad.

Una fuente de confusión es que, en ambos casos, los datos pueden aparecer en un fragmento que se replica entre los componentes/nodos, o dividirse por igual entre los componentes/nodos (piense en DHT). Por ejemplo, en lo que usted llama "descentralizado", la cadena de bloques se replica completamente en cada nodo, lo que puede ser un problema a medida que la base de datos crece con el tiempo. Es posible dividir los datos como lo hace CockroachDB, pero CRBD está limitado en la cantidad de nodos que puede manejar en un clúster (<100), por lo tanto, es más un sistema "distribuido". No sé si existe una base de datos verdaderamente descentralizada que divide los datos entre millones de nodos.

Consulte el blog de Vitalik El significado de la descentralización para comprender el concepto en profundidad.

No se debe poner en el mismo eje “descentralizado” y “distribuido”. El primero es conceptual mientras que el segundo es técnico . Lo más probable es que una red distribuida esté descentralizada, mientras que lo más probable es que una red descentralizada se construya sobre una infraestructura distribuida.

Hay un excelente artículo publicado recientemente sobre el tema, el primer capítulo responde con rigor a su pregunta: https://www.fliphodl.com/social-media-alternatives-series-ep-1-what-you-need-to- saber/

"Descentralización" es una de las palabras que se usa con más frecuencia en el espacio de la criptoeconomía, y a menudo incluso se ve como la razón de ser de una cadena de bloques, pero también es una de las palabras que quizás se define peor.

– Vitalik Buterin 6 de febrero de 2017 https://medium.com/@VitalikButerin/the-meaning-of-decentralization-a0c92b76a274

Resumiré su punto a continuación y ampliaré algún otro aspecto.

Primero, los diagramas de red no son útiles en el contexto de la cadena de bloques, pero desafortunadamente son demasiado comunes.

En realidad, hay tres ejes separados de centralización/descentralización:

  • (Des)centralización arquitectónica : ¿cuántas computadoras físicas componen un sistema? ¿Cuántas de esas computadoras puede tolerar averiarse en un solo momento?
  • (Des)centralización política : ¿cuántas personas u organizaciones controlan en última instancia las computadoras que componen el sistema?
  • (Des)centralización lógica : ¿la interfaz y las estructuras de datos que presenta y mantiene el sistema se parecen más a un solo objeto monolítico o a un enjambre amorfo? Una heurística simple es: si corta el sistema por la mitad, incluidos los proveedores y los usuarios, ¿las dos mitades seguirán funcionando completamente como unidades independientes?

ingrese la descripción de la imagen aquí

Muchas veces, cuando las personas hablan de las virtudes de una cadena de bloques, describen los beneficios de conveniencia de tener "una base de datos central"; esa centralización es centralización lógica. Otros han declarado el beneficio de la descentralización lógica http://scuttlebot.io/more/articles/design-challenge-avoid-centralization-and-singletons.html

En los sistemas computarizados, la descentralización arquitectónica pero no política puede ocurrir si hay una comunidad en línea que usa un foro centralizado por conveniencia, pero donde existe un contrato social ampliamente aceptado de que si los dueños del foro actúan maliciosamente, todos se trasladarán a un foro diferente. foro

Tres razones para la descentralización

  • Tolerancia a fallos
  • Resistencia al ataque
  • Resistencia a la colusión

Los tres argumentos conducen a algunas conclusiones interesantes y diferentes una vez que comienza a pensar en las decisiones de protocolo con las tres perspectivas individuales en mente. Vitalik amplía esto en https://medium.com/@VitalikButerin/the-meaning-of-decentralization-a0c92b76a274

En cuanto a la descentralización política parece que hay un mito de descentralización total. La centralización prevalecerá siempre en torno a la opinión de los expertos. Por lo tanto, la falta de transparencia de quién dijo qué y cuándo, dispersa en varios canales de redes sociales, crea asimetrías de información adicionales que pueden conducir inadvertidamente al riesgo moral.

Tal como lo veo, @ 5chdn tiene razón. También estoy escribiendo un artículo sobre la tecnología Blockchain y, a menudo, me encuentro con descripciones "incorrectas" sobre lo que son las redes "descentralizadas" y "distribuidas".

  • Como muestra 5chdn en su imagen, una red distribuida no tiene una autoridad/nodo central, pero todos y cada uno de los miembros están conectados entre sí, al igual que Blockchain.
  • Una red descentralizada, por ejemplo, Dropbox, contiene datos descentralizados en su servidor y, además, los datos se guardan localmente con los usuarios.
  • Una red centralizada se explica por sí misma, los bancos, por ejemplo: almacenan todos sus datos centralizados en su servidor.

Si me equivoco, háganmelo saber, ya que me encantaría tener aquí la versión "verdadera".

La respuesta aceptada es la más cercana. Dropbox está centralizado por cierto. Alojan sus datos en sus servidores, distribuidos como máximo, pero no descentralizados de manera significativa.