Peer-to-Peer System Design Trade-Offs: A Framework Exploring the Balance between Blockchain and IPFS

The current state of the web, which is dominated by centralized cloud services, raises several concerns regarding different aspects such as governance, privacy, surveillance, and security. A way to address these issues is to decentralize the platforms by adopting new distributed technologies, such a...

Descripción completa

Detalles Bibliográficos
Autores: Tenorio-Fornés, Ámbar, Hassan Collado, Samer, Pavón Mestras, Juan Luis
Tipo de recurso: artículo
Fecha de publicación:2021
País:España
Institución:Universidad Complutense de Madrid (UCM)
Repositorio:Docta Complutense
Idioma:inglés
OAI Identifier:oai:docta.ucm.es:20.500.14352/95558
Acceso en línea:https://hdl.handle.net/20.500.14352/95558
Access Level:acceso abierto
Palabra clave:Decentralization
Distributed systems
P2P systems
IPFS
Blockchain
Multi-agent systems
Informática (Informática)
1203.17 Informática
Descripción
Sumario:The current state of the web, which is dominated by centralized cloud services, raises several concerns regarding different aspects such as governance, privacy, surveillance, and security. A way to address these issues is to decentralize the platforms by adopting new distributed technologies, such as IPFS and Blockchain, which follow a full peer-to-peer model. This work proposes a set of guidelines to design decentralized systems, taking the different trade-offs these technologies face with regard to their consistency requirements into consideration. These guidelines are then illustrated with the design of a decentralized questions and answers system. This system serves to illustrate a framework to create decentralized services and applications that uses IPFS and Blockchain technologies and incorporates the discussion and guidelines of the paper, providing solutions for data access, data provenance, and data discovery. Thus, this work proposes a framework to assist in the design of new decentralized systems, proposing a set of guidelines to choose the appropriate technologies depending on the relevant requirements; e.g., considering if Blockchain technology may be required or IPFS might be sufficient.