El siguiente post fue creado para el segundo Cohort en MuseMatrix si quieres ver la versión en inglés da clic aquí
---
The following post was created for the second Cohort in MuseMatrix if you want to see the english version click here
Antes de adentrarnos en el concepto de Computación Descentralizada, es crucial analizar el panorama actual de la infraestructura en la nube. Según datos de Statista, en el cuarto trimestre de 2023, el 66% de toda la infraestructura en la nube estaba dominada por solo tres gigantes tecnológicos: Amazon Web Services (31%), Microsoft Azure (24%) y Google Cloud Platform (11%) [1].
Esta concentración masiva de poder computacional en manos de tan pocas empresas debería encender alarmas por varias razones:
- Centralización de datos: El hecho de que más de la mitad del cómputo a nivel global esté controlado por estas compañías plantea serias preocupaciones sobre la privacidad y el manejo de nuestros datos.
- Uso indebido de información: Estos datos se utilizan frecuentemente en modelos de inteligencia artificial para generar perfiles publicitarios detallados, que luego se venden a grandes compañías. El destino final y el uso de esta información personal a menudo quedan en la incertidumbre.
- Vulnerabilidad a fallos: La centralización también implica que un fallo en uno de estos proveedores podría tener consecuencias catastróficas a nivel global, afectando a millones de servicios y usuarios simultáneamente.
- Control monopolístico: Esta situación otorga a estas empresas un poder desproporcionado sobre la infraestructura digital global, lo que puede llevar a prácticas anticompetitivas y limitar la innovación.
- Censura y control de la información: Con tal concentración de poder, estas compañías podrían, potencialmente, influir en el flujo de información y en la libertad de expresión en internet.
Frente a este escenario, la Computación Descentralizada surge como una alternativa prometedora.
La computación descentralizada es un estilo de arquitectura en la nube que se caracteriza por la ausencia de un punto central de autoridad para controlar el acceso a los datos o la lógica que reside dentro de la red. En su lugar, la autoridad se determina por algoritmos compartidos por todos los nodos que forman parte de esta red distribuida [2].
Aunque suene muy actual el término, este ya lleva varios años con nosotros. Para ser más precisos, desde finales de los 70 con las redes de mezcla propuestas por David Chaum en su paper "Untraceable electronic mail, return addresses, and digital pseudonyms", las cuales trataban de un protocolo de enrutamiento para hacer más difícil el rastreo de emisor-receptor entre mensajes [3]. Seguido de ello, redes como las de Tor, BitTorrent, e incluso la blockchain han marcado el camino hacia este tipo de herramientas.
Después del boom de las blockchains nos dimos cuenta de una cosa, y es que si bien podemos tener una base de datos descentralizada, el problema son las herramientas que necesitamos, ya que estas son centralizadas. ¿De qué sirve tener contratos que interactúen con una página web cuando en cualquier momento tu proveedor pueda tirar del cable cuando le plazca? ¿De qué sirve apuntar datos en un smart contract de manera permanente cuando sabemos que esos datos están en un servicio que puede en algún momento cerrar?
Almacenamiento decentralizado
Antes de abarcar más en el amplio rango de la computación descentralizada actual, hablemos de la solución dada por varios conforme la pregunta de la anterior sección: el almacenamiento descentralizado. En pocas palabras, es una red de nodos donde cada uno tiene una réplica o fragmento de un dato sin ser revelado, ya que este se encripta por seguridad. Esto ha ayudado a que no solo el “recibo” por cierto dato sea beneficiado por la descentralización, sino que también los datos en sí tengan ese beneficio. Esta aproximación resuelve varios de los problemas mencionados anteriormente, proporcionando una mayor resistencia a la censura, mejorando la privacidad y reduciendo la vulnerabilidad a fallos de un único punto central. Servicios como IPFS y Arweave fueron creados en su concepción como una solución de almacenamiento descentralizado.
Computación sobre datos
Después de solucionar estos problemas, varios protocolos comenzaron a notar que no únicamente necesitan de almacenar datos, sino que también crear, editar o computar sobre ellos; sin embargo, seguían aquellos problemas propuestos anteriormente, existieron varias propuestas on-chain para solucionar ello, pero muchos comprometían la seguridad, la escalabilidad o descentralización sobre aquellas redes, para ello se llegó a una propuesta, que tal si dichos datos se procesan fura, de una manera descentralizada y sin comprometer a la blockchain en el proceso. La computación sobre datos implica correr procesos computacionales sobre el dato almacenado, reduciendo la carga de trabajo de la gestión de datos y garantizando un almacenamiento y un control de acceso coherentes para el conjunto de datos del usuario.
Uno de los principales es Bacalhau creado por Protocol Labs, los mismos creadores de IPFS en el cual sobre dicha tecnología colocan pruebas hash de las operaciones de cálculo realizadas o retransmitiendo la salida producida (ya sea un archivo o datos serializados).
Esto segun Dhruv Malik resuelve significativamente los retos a los que se enfrentan las plataformas de computación basadas en web2 típicas como [4]:
- Reducción de la necesidad de establecer etapas iniciales de Extracción-Transformación-Carga, ya que la ejecución del trabajo es atómica y no requiere ninguna transformación de datos por separado. Toda la operación se realiza en la única operación de computación mediante el streaming de los datos desde la fuente de datos.
- No renuncia al acceso del usuario sobre los datos durante todo el ciclo de vida de la operación.
- Utiliza almacenamientos de datos descentralizados/distribuidos que son resistentes a la corrupción de los datos y cuestan menos.
- Es escalable, ya que puede orquestar varios trabajos de cálculo. Sin embargo, depende de cómo gestione su marco de trabajo los problemas de sincronización de trabajos, que se tratarán en la próxima sección de «retos».
En conclusión, la computación descentralizada emerge como una respuesta crucial a los desafíos planteados por la centralización del poder digital. Desde el almacenamiento distribuido hasta la computación sobre datos, estas tecnologías prometen un internet más seguro, privado y resistente a la censura. Aunque enfrentamos retos en su implementación y adopción, el potencial de la descentralización para transformar nuestra infraestructura digital es innegable. A medida que avanzamos, es vital seguir innovando y educando sobre estos sistemas, pues representan no solo una evolución tecnológica, sino un paso hacia un futuro digital más equitativo y libre para todos.
Bibliografía
- “Cloud Infrastructure Services Vendor Share 2023.” Statista, https://www.statista.com/statistics/477277/cloud-infrastructure-services-market-share/. Accessed 18 Sept. 2024.
- Reselman, Bob. “Smart Contracts, Blockchain and Decentralized Computing.” TheServerSide, https://www.theserverside.com/tip/Smart-contracts-blockchain-and-decentralized-computing. Accessed 18 Sept. 2024.
- Chaum, David L. “Untraceable Electronic Mail, Return Addresses, and Digital Pseudonyms.” Commun. ACM, vol. 24, no. 2, Feb. 1981, pp. 84–90. ACM Digital Library, https://doi.org/10.1145/358549.358563.
- Malik, Dhruv. “Developing Compute-over-Data for Geospatial Data Processing: An Overview.” Circum Protocol, 14 Aug. 2023, https://medium.com/circum-protocol/developing-compute-over-data-for-geospatial-data-processing-an-overview-41f6f6bd2481.