Permissionless peer-to-peer JSON datasets

Detalhes bibliográficos
Autor(a) principal: Bosisio, Fabio de Almeida Daltro
Data de Publicação: 2023
Outros Autores: fbosisio@gmail.com
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Biblioteca Digital de Teses e Dissertações da UERJ
Texto Completo: http://www.bdtd.uerj.br/handle/1/19886
Resumo: Aplicações colaborativas em rede, como Google Docs e Github, permitem que usuários remotos compartilhem projetos enquanto trabalham juntos simultaneamente. Essas aplicações dependem de conjuntos de dados (datasets) distribuídos que representam documentos, códigos e outros dados de aplicações, que os usuários esperam ver e compartilhar de maneira consistente. Atualmente, os sistemas colaborativos mais praticados dependem de servidores centrais para garantir que os datasets permaneçam consistentes em toda a rede. No entanto, autoridades centralizadas detém muito poder, pois controlam a propriedade dos dados e a disponibilidade dos serviços. Neste trabalho, propomos um sistema peer-to-peer (P2P) não permissionado para manipular datasets JSON descentralizados, no qual todos os usuários participam de um mecanismo de consenso para preservar a consistência e corretude dos dados. Nossa principal contribuição é conciliar o Automerge, um tipo de dados replicado livre de conflitos (CRDT) baseado em JSON com o Freechains, um protocolo P2P não permissionado que fornece um mecanismo de reputação que modera o conteúdo e fornece consenso na rede. Como prova de conceito, prototipamos uma Wikipedia não permissionada, na qual os artigos são estruturados como arquivos Automerge JSONs armazenados no Freechains. Cada artigo é uma cadeia separada que armazena uma lista de modificações no seu respectivo JSON. Essa lista é percorrida desde o início em ordem de consenso para recriar o artigo como um JSON completo. Nesse sentido, nosso protótipo se assemelha a um sistema de controle de versão distribuído (DVCS), mas com um mecanismo de consenso que mescla edições concorrentes automaticamente.
id UERJ_8e409a5ea481c180122be335e8f56995
oai_identifier_str oai:www.bdtd.uerj.br:1/19886
network_acronym_str UERJ
network_name_str Biblioteca Digital de Teses e Dissertações da UERJ
repository_id_str 2903
spelling Sant'Anna, Francisco Figueiredo Goytacazhttp://lattes.cnpq.br/0077491494754494Sztajnberg, Alexandrehttp://lattes.cnpq.br/0403732822984772Endler, Markushttp://lattes.cnpq.br/6505039023842313Coelho, Igor Machadohttp://lattes.cnpq.br/5298061910591710http://lattes.cnpq.br/7463770273540285Bosisio, Fabio de Almeida Daltrofbosisio@gmail.com2023-06-28T13:36:53Z2023-06-01BOSISIO, Fabio de Almeida Daltro. Permissionless peer-to-peer JSON datasets. 2023. 121 f. Dissertação (Mestrado em Engenharia Eletrônica) - Faculdade de Engenharia, Universidade do Estado do Rio de Janeiro, Rio de Janeiro, 2023.http://www.bdtd.uerj.br/handle/1/19886Aplicações colaborativas em rede, como Google Docs e Github, permitem que usuários remotos compartilhem projetos enquanto trabalham juntos simultaneamente. Essas aplicações dependem de conjuntos de dados (datasets) distribuídos que representam documentos, códigos e outros dados de aplicações, que os usuários esperam ver e compartilhar de maneira consistente. Atualmente, os sistemas colaborativos mais praticados dependem de servidores centrais para garantir que os datasets permaneçam consistentes em toda a rede. No entanto, autoridades centralizadas detém muito poder, pois controlam a propriedade dos dados e a disponibilidade dos serviços. Neste trabalho, propomos um sistema peer-to-peer (P2P) não permissionado para manipular datasets JSON descentralizados, no qual todos os usuários participam de um mecanismo de consenso para preservar a consistência e corretude dos dados. Nossa principal contribuição é conciliar o Automerge, um tipo de dados replicado livre de conflitos (CRDT) baseado em JSON com o Freechains, um protocolo P2P não permissionado que fornece um mecanismo de reputação que modera o conteúdo e fornece consenso na rede. Como prova de conceito, prototipamos uma Wikipedia não permissionada, na qual os artigos são estruturados como arquivos Automerge JSONs armazenados no Freechains. Cada artigo é uma cadeia separada que armazena uma lista de modificações no seu respectivo JSON. Essa lista é percorrida desde o início em ordem de consenso para recriar o artigo como um JSON completo. Nesse sentido, nosso protótipo se assemelha a um sistema de controle de versão distribuído (DVCS), mas com um mecanismo de consenso que mescla edições concorrentes automaticamente.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.Submitted by Julia CTC/B (julia.vieira@uerj.br) on 2023-06-28T13:36:53Z No. of bitstreams: 1 Dissertação - Fabio de Almeida Daltro Bosisio - 2023 - Completo.pdf: 4226603 bytes, checksum: f210731d23a52f79ac7f0a043d41a0fc (MD5)Made available in DSpace on 2023-06-28T13:36:53Z (GMT). No. of bitstreams: 1 Dissertação - Fabio de Almeida Daltro Bosisio - 2023 - Completo.pdf: 4226603 bytes, checksum: f210731d23a52f79ac7f0a043d41a0fc (MD5) Previous issue date: 2023-06-01application/pdfengUniversidade do Estado do Rio de JaneiroPrograma de Pós-Graduação em Engenharia EletrônicaUERJBrasilCentro de Tecnologia e Ciências::Faculdade de EngenhariaElectronic engineeringComputer file sharingJavaScript (Computer program language)Distributed databasesEngenharia eletrônicaCompartilhamento de arquivos de computadorJavaScript (Linguagem de programação de computador)Banco de dados distribuídoENGENHARIAS::ENGENHARIA ELETRICA::TELECOMUNICACOESPermissionless peer-to-peer JSON datasetsJSON datasets peer-to-peer não permissionadosinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UERJinstname:Universidade do Estado do Rio de Janeiro (UERJ)instacron:UERJORIGINALDissertação - Fabio de Almeida Daltro Bosisio - 2023 - Completo.pdfDissertação - Fabio de Almeida Daltro Bosisio - 2023 - Completo.pdfapplication/pdf4226603http://www.bdtd.uerj.br/bitstream/1/19886/2/Disserta%C3%A7%C3%A3o+-+Fabio+de+Almeida+Daltro+Bosisio+-+2023+-+Completo.pdff210731d23a52f79ac7f0a043d41a0fcMD52LICENSElicense.txtlicense.txttext/plain; charset=utf-82123http://www.bdtd.uerj.br/bitstream/1/19886/1/license.txte5502652da718045d7fcd832b79fca29MD511/198862024-02-27 15:16:53.339oai:www.bdtd.uerj.br:1/19886Tk9UQTogTElDRU7Dh0EgUkVERSBTSVJJVVMKRXN0YSBsaWNlbsOnYSBkZSBleGVtcGxvIMOpIGZvcm5lY2lkYSBhcGVuYXMgcGFyYSBmaW5zIGluZm9ybWF0aXZvcy4KCkxJQ0VOw4dBIERFIERJU1RSSUJVScOHw4NPIE7Dg08tRVhDTFVTSVZBCgpDb20gYSBhcHJlc2VudGHDp8OjbyBkZXN0YSBsaWNlbsOnYSwgdm9jw6ogKG8gYXV0b3IgKGVzKSBvdSBvIHRpdHVsYXIgZG9zIGRpcmVpdG9zIGRlIGF1dG9yKSBjb25jZWRlIMOgIFVuaXZlcnNpZGFkZSAKZG8gRXN0YWRvIGRvIFJpbyBkZSBKYW5laXJvIChVRVJKKSBvIGRpcmVpdG8gbsOjby1leGNsdXNpdm8gZGUgcmVwcm9kdXppciwgIHRyYWR1emlyIChjb25mb3JtZSBkZWZpbmlkbyBhYmFpeG8pLCBlL291IApkaXN0cmlidWlyIGEgc3VhIHRlc2Ugb3UgZGlzc2VydGHDp8OjbyAoaW5jbHVpbmRvIG8gcmVzdW1vKSBwb3IgdG9kbyBvIG11bmRvIG5vIGZvcm1hdG8gaW1wcmVzc28gZSBlbGV0csO0bmljbyBlIAplbSBxdWFscXVlciBtZWlvLCBpbmNsdWluZG8gb3MgZm9ybWF0b3Mgw6F1ZGlvIG91IHbDrWRlby4KClZvY8OqIGNvbmNvcmRhIHF1ZSBhIFVFUkogcG9kZSwgc2VtIGFsdGVyYXIgbyBjb250ZcO6ZG8sIHRyYW5zcG9yIGEgc3VhIHRlc2Ugb3UgZGlzc2VydGHDp8OjbyAKcGFyYSBxdWFscXVlciBtZWlvIG91IGZvcm1hdG8gcGFyYSBmaW5zIGRlIHByZXNlcnZhw6fDo28uCgpWb2PDqiB0YW1iw6ltIGNvbmNvcmRhIHF1ZSBhIFVFUkogcG9kZSBtYW50ZXIgbWFpcyBkZSB1bWEgY8OzcGlhIGEgc3VhIHRlc2Ugb3UgCmRpc3NlcnRhw6fDo28gcGFyYSBmaW5zIGRlIHNlZ3VyYW7Dp2EsIGJhY2stdXAgZSBwcmVzZXJ2YcOnw6NvLgoKVm9jw6ogZGVjbGFyYSBxdWUgYSBzdWEgdGVzZSBvdSBkaXNzZXJ0YcOnw6NvIMOpIG9yaWdpbmFsIGUgcXVlIHZvY8OqIHRlbSBvIHBvZGVyIGRlIGNvbmNlZGVyIG9zIGRpcmVpdG9zIGNvbnRpZG9zIApuZXN0YSBsaWNlbsOnYS4gVm9jw6ogdGFtYsOpbSBkZWNsYXJhIHF1ZSBvIGRlcMOzc2l0byBkYSBzdWEgdGVzZSBvdSBkaXNzZXJ0YcOnw6NvIG7Do28sIHF1ZSBzZWphIGRlIHNldSAKY29uaGVjaW1lbnRvLCBpbmZyaW5nZSBkaXJlaXRvcyBhdXRvcmFpcyBkZSBuaW5ndcOpbS4KCkNhc28gYSBzdWEgdGVzZSBvdSBkaXNzZXJ0YcOnw6NvIGNvbnRlbmhhIG1hdGVyaWFsIHF1ZSB2b2PDqiBuw6NvIHBvc3N1aSBhIHRpdHVsYXJpZGFkZSBkb3MgZGlyZWl0b3MgYXV0b3JhaXMsIHZvY8OqIApkZWNsYXJhIHF1ZSBvYnRldmUgYSBwZXJtaXNzw6NvIGlycmVzdHJpdGEgZG8gZGV0ZW50b3IgZG9zIGRpcmVpdG9zIGF1dG9yYWlzIHBhcmEgY29uY2VkZXIgw6AgVUVSSiBvcyBkaXJlaXRvcyBhcHJlc2VudGFkb3MgbmVzdGEgbGljZW7Dp2EsIGUgcXVlIGVzc2UgbWF0ZXJpYWwgZGUgcHJvcHJpZWRhZGUgZGUgdGVyY2Vpcm9zIGVzdMOhIGNsYXJhbWVudGUgCmlkZW50aWZpY2FkbyBlIHJlY29uaGVjaWRvIG5vIHRleHRvIG91IG5vIGNvbnRlw7pkbyBkYSB0ZXNlIG91IGRpc3NlcnRhw6fDo28gb3JhIGRlcG9zaXRhZGEuCgpDQVNPIEEgVEVTRSBPVSBESVNTRVJUQcOHw4NPIE9SQSBERVBPU0lUQURBIFRFTkhBIFNJRE8gUkVTVUxUQURPIERFIFVNIFBBVFJPQ8ONTklPIE9VIApBUE9JTyBERSBVTUEgQUfDik5DSUEgREUgRk9NRU5UTyBPVSBPVVRSTyBPUkdBTklTTU8gUVVFIE7Dg08gU0VKQSBFU1RBClVOSVZFUlNJREFERSwgVk9Dw4ogREVDTEFSQSBRVUUgUkVTUEVJVE9VIFRPRE9TIEUgUVVBSVNRVUVSIERJUkVJVE9TIERFIFJFVklTw4NPIENPTU8gClRBTULDiU0gQVMgREVNQUlTIE9CUklHQcOHw5VFUyBFWElHSURBUyBQT1IgQ09OVFJBVE8gT1UgQUNPUkRPLgoKQSBVbml2ZXJzaWRhZGUgZG8gRXN0YWRvIGRvIFJpbyBkZSBKYW5laXJvIChVRVJKKSBzZSBjb21wcm9tZXRlIGEgaWRlbnRpZmljYXIgY2xhcmFtZW50ZSBvIHNldSBub21lIChzKSBvdSBvKHMpIG5vbWUocykgZG8ocykgCmRldGVudG9yKGVzKSBkb3MgZGlyZWl0b3MgYXV0b3JhaXMgZGEgdGVzZSBvdSBkaXNzZXJ0YcOnw6NvLCBlIG7Do28gZmFyw6EgcXVhbHF1ZXIgYWx0ZXJhw6fDo28sIGFsw6ltIGRhcXVlbGFzIApjb25jZWRpZGFzIHBvciBlc3RhIGxpY2Vuw6dhLgo=Biblioteca Digital de Teses e Dissertaçõeshttp://www.bdtd.uerj.br/PUBhttps://www.bdtd.uerj.br:8443/oai/requestbdtd.suporte@uerj.bropendoar:29032024-02-27T18:16:53Biblioteca Digital de Teses e Dissertações da UERJ - Universidade do Estado do Rio de Janeiro (UERJ)false
dc.title.por.fl_str_mv Permissionless peer-to-peer JSON datasets
dc.title.alternative.eng.fl_str_mv JSON datasets peer-to-peer não permissionados
title Permissionless peer-to-peer JSON datasets
spellingShingle Permissionless peer-to-peer JSON datasets
Bosisio, Fabio de Almeida Daltro
Electronic engineering
Computer file sharing
JavaScript (Computer program language)
Distributed databases
Engenharia eletrônica
Compartilhamento de arquivos de computador
JavaScript (Linguagem de programação de computador)
Banco de dados distribuído
ENGENHARIAS::ENGENHARIA ELETRICA::TELECOMUNICACOES
title_short Permissionless peer-to-peer JSON datasets
title_full Permissionless peer-to-peer JSON datasets
title_fullStr Permissionless peer-to-peer JSON datasets
title_full_unstemmed Permissionless peer-to-peer JSON datasets
title_sort Permissionless peer-to-peer JSON datasets
author Bosisio, Fabio de Almeida Daltro
author_facet Bosisio, Fabio de Almeida Daltro
fbosisio@gmail.com
author_role author
author2 fbosisio@gmail.com
author2_role author
dc.contributor.advisor1.fl_str_mv Sant'Anna, Francisco Figueiredo Goytacaz
dc.contributor.advisor1Lattes.fl_str_mv http://lattes.cnpq.br/0077491494754494
dc.contributor.referee1.fl_str_mv Sztajnberg, Alexandre
dc.contributor.referee1Lattes.fl_str_mv http://lattes.cnpq.br/0403732822984772
dc.contributor.referee2.fl_str_mv Endler, Markus
dc.contributor.referee2Lattes.fl_str_mv http://lattes.cnpq.br/6505039023842313
dc.contributor.referee3.fl_str_mv Coelho, Igor Machado
dc.contributor.referee3Lattes.fl_str_mv http://lattes.cnpq.br/5298061910591710
dc.contributor.authorLattes.fl_str_mv http://lattes.cnpq.br/7463770273540285
dc.contributor.author.fl_str_mv Bosisio, Fabio de Almeida Daltro
fbosisio@gmail.com
contributor_str_mv Sant'Anna, Francisco Figueiredo Goytacaz
Sztajnberg, Alexandre
Endler, Markus
Coelho, Igor Machado
dc.subject.eng.fl_str_mv Electronic engineering
Computer file sharing
JavaScript (Computer program language)
Distributed databases
topic Electronic engineering
Computer file sharing
JavaScript (Computer program language)
Distributed databases
Engenharia eletrônica
Compartilhamento de arquivos de computador
JavaScript (Linguagem de programação de computador)
Banco de dados distribuído
ENGENHARIAS::ENGENHARIA ELETRICA::TELECOMUNICACOES
dc.subject.por.fl_str_mv Engenharia eletrônica
Compartilhamento de arquivos de computador
JavaScript (Linguagem de programação de computador)
Banco de dados distribuído
dc.subject.cnpq.fl_str_mv ENGENHARIAS::ENGENHARIA ELETRICA::TELECOMUNICACOES
description Aplicações colaborativas em rede, como Google Docs e Github, permitem que usuários remotos compartilhem projetos enquanto trabalham juntos simultaneamente. Essas aplicações dependem de conjuntos de dados (datasets) distribuídos que representam documentos, códigos e outros dados de aplicações, que os usuários esperam ver e compartilhar de maneira consistente. Atualmente, os sistemas colaborativos mais praticados dependem de servidores centrais para garantir que os datasets permaneçam consistentes em toda a rede. No entanto, autoridades centralizadas detém muito poder, pois controlam a propriedade dos dados e a disponibilidade dos serviços. Neste trabalho, propomos um sistema peer-to-peer (P2P) não permissionado para manipular datasets JSON descentralizados, no qual todos os usuários participam de um mecanismo de consenso para preservar a consistência e corretude dos dados. Nossa principal contribuição é conciliar o Automerge, um tipo de dados replicado livre de conflitos (CRDT) baseado em JSON com o Freechains, um protocolo P2P não permissionado que fornece um mecanismo de reputação que modera o conteúdo e fornece consenso na rede. Como prova de conceito, prototipamos uma Wikipedia não permissionada, na qual os artigos são estruturados como arquivos Automerge JSONs armazenados no Freechains. Cada artigo é uma cadeia separada que armazena uma lista de modificações no seu respectivo JSON. Essa lista é percorrida desde o início em ordem de consenso para recriar o artigo como um JSON completo. Nesse sentido, nosso protótipo se assemelha a um sistema de controle de versão distribuído (DVCS), mas com um mecanismo de consenso que mescla edições concorrentes automaticamente.
publishDate 2023
dc.date.accessioned.fl_str_mv 2023-06-28T13:36:53Z
dc.date.issued.fl_str_mv 2023-06-01
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv BOSISIO, Fabio de Almeida Daltro. Permissionless peer-to-peer JSON datasets. 2023. 121 f. Dissertação (Mestrado em Engenharia Eletrônica) - Faculdade de Engenharia, Universidade do Estado do Rio de Janeiro, Rio de Janeiro, 2023.
dc.identifier.uri.fl_str_mv http://www.bdtd.uerj.br/handle/1/19886
identifier_str_mv BOSISIO, Fabio de Almeida Daltro. Permissionless peer-to-peer JSON datasets. 2023. 121 f. Dissertação (Mestrado em Engenharia Eletrônica) - Faculdade de Engenharia, Universidade do Estado do Rio de Janeiro, Rio de Janeiro, 2023.
url http://www.bdtd.uerj.br/handle/1/19886
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade do Estado do Rio de Janeiro
dc.publisher.program.fl_str_mv Programa de Pós-Graduação em Engenharia Eletrônica
dc.publisher.initials.fl_str_mv UERJ
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Centro de Tecnologia e Ciências::Faculdade de Engenharia
publisher.none.fl_str_mv Universidade do Estado do Rio de Janeiro
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da UERJ
instname:Universidade do Estado do Rio de Janeiro (UERJ)
instacron:UERJ
instname_str Universidade do Estado do Rio de Janeiro (UERJ)
instacron_str UERJ
institution UERJ
reponame_str Biblioteca Digital de Teses e Dissertações da UERJ
collection Biblioteca Digital de Teses e Dissertações da UERJ
bitstream.url.fl_str_mv http://www.bdtd.uerj.br/bitstream/1/19886/2/Disserta%C3%A7%C3%A3o+-+Fabio+de+Almeida+Daltro+Bosisio+-+2023+-+Completo.pdf
http://www.bdtd.uerj.br/bitstream/1/19886/1/license.txt
bitstream.checksum.fl_str_mv f210731d23a52f79ac7f0a043d41a0fc
e5502652da718045d7fcd832b79fca29
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da UERJ - Universidade do Estado do Rio de Janeiro (UERJ)
repository.mail.fl_str_mv bdtd.suporte@uerj.br
_version_ 1811728734684708864