Permissionless peer-to-peer JSON datasets

Detalhes bibliográficos
Ano de defesa: 2023
Autor(a) principal: Bosisio, Fabio de Almeida Daltro
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: eng
Instituição de defesa: Universidade do Estado do Rio de Janeiro
Centro de Tecnologia e Ciências::Faculdade de Engenharia
Brasil
UERJ
Programa de Pós-Graduação em Engenharia Eletrônica
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: http://www.bdtd.uerj.br/handle/1/19886
Resumo: Networked collaborative applications, such as Google Docs and Github, allow remote users to share projects while working together concurrently. These applications rely on distributed datasets that represent documents, code, and other application data, which users expect to see and share in a consistent way. Currently, most practical collaborative systems rely on central servers to ensure that datasets remain consistent across the network. However, centralized authorities concentrate too much power, since they control data ownership and service availability. In this work, we propose a permissionless peer-to-peer (P2P) system to manipulate decentralized JSON datasets, in which all users participate in a consensus mechanism to preserve data consistency and correctness. Our main contribution is to reconcile Automerge, a JSON-based conflict-free replicated data type (CRDT) with Freechains, a permissionless P2P protocol that provides a reputation mechanism that moderates content and delivers network consensus. As a proof of concept, we prototyped a permissionless Wikipedia, in which articles are structured as Automerge JSONs files stored on Freechains. Each article is a separate chain that stores a list of modifications to its respective JSON. This list is traversed from the beginning in consensus order to recreate the article as a complete JSON. In this sense, our prototype resembles a distributed version control system (DVCS), but with a consensus mechanism that merges concurrent editions automatically.