Distributed repository for software packages using blockchain
| Ano de defesa: | 2022 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| Tipo de documento: | Tese |
| Tipo de acesso: | Acesso aberto |
| Idioma: | eng |
| Instituição de defesa: |
Universidade Federal de Pernambuco
UFPE Brasil Programa de Pos Graduacao em Ciencia da Computacao |
| 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: | https://repositorio.ufpe.br/handle/123456789/49298 |
Resumo: | A package repository is an essential piece of a software ecosystem where packages and interdependencies are published together with security updates. In free and open-source software, the software repositories are frequently hosted and maintained using donations or contributions in the form of computational power or financial aid. The technical solution adopted to absorb the computational power donation limits on its design, prohibiting small donors from participating with their contributions. The lack of contributions directly implies limiting repository functionalities. This work proposes a package repository using Blockchain evaluated through real-world simulations and statistics. The Blockchain described has its consensus algorithm crafted to befit the purpose of a package repository without financial appeal. The consensus algorithm relies on a forger party where peers are semi-randomly selected using a protocol to agree on the forger node. Also, the proposed Blockchain keeps a compatible layer with the traditional repositories, easing its adoption. With the adoption of the proposed Blockchain, the repositories could benefit from the computational power of small contributors, thus enabling more features for their end-users. Furthermore, this work presents a package search over peer-to-peer, computed on untrusted nodes, yet guaranteeing that the results are trusted. In this work, we present tests with a Blockchain holding more than 250 thousand packages, published over more than ten years of the ArchLinux distribution. Finally, we present a functional Blockchain that cohesively exposes more than four million package releases published over more than seventeen years of the PyPi catalog. |
| id |
UFPE_9398c9431e75ef6608a696b1900396ab |
|---|---|
| oai_identifier_str |
oai:repositorio.ufpe.br:123456789/49298 |
| network_acronym_str |
UFPE |
| network_name_str |
Repositório Institucional da UFPE |
| repository_id_str |
|
| spelling |
Distributed repository for software packages using blockchainTeoria da computaçãoBlockchainA package repository is an essential piece of a software ecosystem where packages and interdependencies are published together with security updates. In free and open-source software, the software repositories are frequently hosted and maintained using donations or contributions in the form of computational power or financial aid. The technical solution adopted to absorb the computational power donation limits on its design, prohibiting small donors from participating with their contributions. The lack of contributions directly implies limiting repository functionalities. This work proposes a package repository using Blockchain evaluated through real-world simulations and statistics. The Blockchain described has its consensus algorithm crafted to befit the purpose of a package repository without financial appeal. The consensus algorithm relies on a forger party where peers are semi-randomly selected using a protocol to agree on the forger node. Also, the proposed Blockchain keeps a compatible layer with the traditional repositories, easing its adoption. With the adoption of the proposed Blockchain, the repositories could benefit from the computational power of small contributors, thus enabling more features for their end-users. Furthermore, this work presents a package search over peer-to-peer, computed on untrusted nodes, yet guaranteeing that the results are trusted. In this work, we present tests with a Blockchain holding more than 250 thousand packages, published over more than ten years of the ArchLinux distribution. Finally, we present a functional Blockchain that cohesively exposes more than four million package releases published over more than seventeen years of the PyPi catalog.Um repositório de pacotes é uma parte essencial de um ecossistema de software em que pacotes e interdependências são publicados juntos com atualizações de segurança. No software livre e de código aberto, os repositórios de software são frequentemente hospedados e mantidos por meio de doações na forma de poder computacional ou de ajuda financeira. A solução técnica adotada para absorver as doações de poder computacional são tecnicamente limitadas, proibindo a contribuição de pequenos doadores. A falta de contribuições implica diretamente em limitações das funcionalidades do repositório. Este trabalho propõe um repositório de pacotes usando Blockchain avaliado por meio de simulações e estatísticas do mundo real. O Blockchain descrito tem seu algoritmo de consenso elaborado para atender ao propósito de um repositório de pacotes sem apelo financeiro. O algoritmo de consenso depende de uma festa de forjamento em que os pares são selecionados aleatoriamente usando um protocolo para concordar com o nó forjador. Além disso, o Blockchain proposto mantém uma camada compatível com os repositórios tradicionais, facilitando sua adoção. Com a adoção do Blockchain proposto, os repositórios poderiam se beneficiar do poder computacional de pequenos contribuidores, permitindo assim mais recursos para seus usuários finais. Além disso, este trabalho apresenta uma busca de pacotes peer-to-peer, computada em nós não confiáveis, mas garantindo que os resultados sejam confiáveis. Neste trabalho, apresentamos testes com um Blockchain contendo mais de 250 mil pacotes, publicados ao longo de mais de dez anos da distribuição ArchLinux. Por fim, apresentamos um Blockchain funcional que expõe de forma coesa mais de quatro milhões de lançamentos de pacotes publicados ao longo de mais de dezessete anos do catálogo PyPi.Universidade Federal de PernambucoUFPEBrasilPrograma de Pos Graduacao em Ciencia da ComputacaoQUEIROZ, Ruy José Guerra Barretto deTEIXEIRA, Leopoldo Mottahttp://lattes.cnpq.br/6734847659042065http://lattes.cnpq.br/1825502153580661http://lattes.cnpq.br/2117651910340729COSTA, Felipe Zimmerle da Nóbrega2023-03-08T16:55:57Z2023-03-08T16:55:57Z2022-12-09info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisapplication/pdfCOSTA, Felipe Zimmerle da Nóbrega. Distributed repository for software packages using blockchain. 2022. Tese (Doutorado em Ciência da Computação) - Universidade Federal de Pernambuco, Recife, 2022.https://repositorio.ufpe.br/handle/123456789/49298engAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFPEinstname:Universidade Federal de Pernambuco (UFPE)instacron:UFPE2023-03-09T05:14:07Zoai:repositorio.ufpe.br:123456789/49298Repositório InstitucionalPUBhttps://repositorio.ufpe.br/oai/requestattena@ufpe.bropendoar:22212023-03-09T05:14:07Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)false |
| dc.title.none.fl_str_mv |
Distributed repository for software packages using blockchain |
| title |
Distributed repository for software packages using blockchain |
| spellingShingle |
Distributed repository for software packages using blockchain COSTA, Felipe Zimmerle da Nóbrega Teoria da computação Blockchain |
| title_short |
Distributed repository for software packages using blockchain |
| title_full |
Distributed repository for software packages using blockchain |
| title_fullStr |
Distributed repository for software packages using blockchain |
| title_full_unstemmed |
Distributed repository for software packages using blockchain |
| title_sort |
Distributed repository for software packages using blockchain |
| author |
COSTA, Felipe Zimmerle da Nóbrega |
| author_facet |
COSTA, Felipe Zimmerle da Nóbrega |
| author_role |
author |
| dc.contributor.none.fl_str_mv |
QUEIROZ, Ruy José Guerra Barretto de TEIXEIRA, Leopoldo Motta http://lattes.cnpq.br/6734847659042065 http://lattes.cnpq.br/1825502153580661 http://lattes.cnpq.br/2117651910340729 |
| dc.contributor.author.fl_str_mv |
COSTA, Felipe Zimmerle da Nóbrega |
| dc.subject.por.fl_str_mv |
Teoria da computação Blockchain |
| topic |
Teoria da computação Blockchain |
| description |
A package repository is an essential piece of a software ecosystem where packages and interdependencies are published together with security updates. In free and open-source software, the software repositories are frequently hosted and maintained using donations or contributions in the form of computational power or financial aid. The technical solution adopted to absorb the computational power donation limits on its design, prohibiting small donors from participating with their contributions. The lack of contributions directly implies limiting repository functionalities. This work proposes a package repository using Blockchain evaluated through real-world simulations and statistics. The Blockchain described has its consensus algorithm crafted to befit the purpose of a package repository without financial appeal. The consensus algorithm relies on a forger party where peers are semi-randomly selected using a protocol to agree on the forger node. Also, the proposed Blockchain keeps a compatible layer with the traditional repositories, easing its adoption. With the adoption of the proposed Blockchain, the repositories could benefit from the computational power of small contributors, thus enabling more features for their end-users. Furthermore, this work presents a package search over peer-to-peer, computed on untrusted nodes, yet guaranteeing that the results are trusted. In this work, we present tests with a Blockchain holding more than 250 thousand packages, published over more than ten years of the ArchLinux distribution. Finally, we present a functional Blockchain that cohesively exposes more than four million package releases published over more than seventeen years of the PyPi catalog. |
| publishDate |
2022 |
| dc.date.none.fl_str_mv |
2022-12-09 2023-03-08T16:55:57Z 2023-03-08T16:55:57Z |
| dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
| dc.type.driver.fl_str_mv |
info:eu-repo/semantics/doctoralThesis |
| format |
doctoralThesis |
| status_str |
publishedVersion |
| dc.identifier.uri.fl_str_mv |
COSTA, Felipe Zimmerle da Nóbrega. Distributed repository for software packages using blockchain. 2022. Tese (Doutorado em Ciência da Computação) - Universidade Federal de Pernambuco, Recife, 2022. https://repositorio.ufpe.br/handle/123456789/49298 |
| identifier_str_mv |
COSTA, Felipe Zimmerle da Nóbrega. Distributed repository for software packages using blockchain. 2022. Tese (Doutorado em Ciência da Computação) - Universidade Federal de Pernambuco, Recife, 2022. |
| url |
https://repositorio.ufpe.br/handle/123456789/49298 |
| dc.language.iso.fl_str_mv |
eng |
| language |
eng |
| dc.rights.driver.fl_str_mv |
Attribution-NonCommercial-NoDerivs 3.0 Brazil http://creativecommons.org/licenses/by-nc-nd/3.0/br/ info:eu-repo/semantics/openAccess |
| rights_invalid_str_mv |
Attribution-NonCommercial-NoDerivs 3.0 Brazil http://creativecommons.org/licenses/by-nc-nd/3.0/br/ |
| eu_rights_str_mv |
openAccess |
| dc.format.none.fl_str_mv |
application/pdf |
| dc.publisher.none.fl_str_mv |
Universidade Federal de Pernambuco UFPE Brasil Programa de Pos Graduacao em Ciencia da Computacao |
| publisher.none.fl_str_mv |
Universidade Federal de Pernambuco UFPE Brasil Programa de Pos Graduacao em Ciencia da Computacao |
| dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFPE instname:Universidade Federal de Pernambuco (UFPE) instacron:UFPE |
| instname_str |
Universidade Federal de Pernambuco (UFPE) |
| instacron_str |
UFPE |
| institution |
UFPE |
| reponame_str |
Repositório Institucional da UFPE |
| collection |
Repositório Institucional da UFPE |
| repository.name.fl_str_mv |
Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE) |
| repository.mail.fl_str_mv |
attena@ufpe.br |
| _version_ |
1856042012508160000 |