a tese
para sempre, por escolha
o lembre é o objeto prático do meu trabalho de conclusão de curso (TCC) em engenharia de software. esta página resume o problema, a tese e as decisões de engenharia por trás dele.
engenharia de software para memórias permanentes e verificáveis
é possível projetar um sistema em que memórias afetivas sejam preservadas de forma permanente e verificável por qualquer pessoa, sem depender da confiança no próprio sistema e sem identificar quem escreve. para isso, o lembre combina uma aplicação web convencional com armazenamento descentralizado (arweave) e ancoragem criptográfica em blockchain (bitcoin, pelo opentimestamps).
questões de pesquisa
- QP1. é possível garantir que uma memória continue existindo e verificável mesmo que o sistema que a recebeu deixe de existir?
- QP2. quanto custa essa garantia, em dinheiro e em tempo de confirmação, para cada memória?
- QP3. a permanência pode conviver com a LGPD e com o anonimato por decisão de arquitetura, sem depender de uma política de uso?
- QP4. a experiência sensorial (campo de luzes, som e atualização ao vivo) melhora a usabilidade percebida, medida pela escala SUS?
justificativa
- 1
o problema é medido, não suposto
a internet esquece num ritmo conhecido. o pew research center (2024) mostrou que 38% das páginas que existiam em 2013 já não estavam no ar dez anos depois, que 54% dos artigos da wikipédia têm ao menos uma referência apontando para uma página que sumiu e que 18% dos tweets deixaram de estar visíveis poucos meses depois de publicados. zittrain, albert e lessig (2014) encontraram o mesmo em documentos feitos para durar: metade dos links citados em decisões da suprema corte dos estados unidos já não levava ao conteúdo original. a perda não é exceção, é o comportamento padrão da web.
- 2
quando a plataforma decide, a memória vai junto
o myspace perdeu, numa migração de servidores, cerca de 50 milhões de músicas de 14 milhões de artistas, enviadas entre 2003 e 2015, sem cópia de segurança. o orkut fechou em 2014 e o google+ em 2019. em todos os casos, a lembrança de milhões de pessoas dependia de uma decisão comercial de terceiros. na engenharia de software isso tem nome: ponto único de falha. o dado só existe enquanto o fornecedor existir, quiser e puder mantê-lo.
- 3
a escala humana: as lembranças de quem já se foi
öhman e watson (2019) estimaram que pelo menos 1,4 bilhão de usuários do facebook vão morrer antes de 2100, e mais de 4,9 bilhões se a rede continuar crescendo. a memória dessas pessoas fica sob a curadoria de uma empresa, e os autores alertam que um modelo puramente comercial de preservação traz riscos éticos e políticos, e pedem modelos sustentáveis e dignos. o lembre é uma resposta concreta e testável a esse chamado: a preservação deixa de depender da saúde financeira de quem hospeda.
- 4
uma lacuna na engenharia de software
a ISO/IEC 25010 trata integridade, autenticidade, não repúdio e disponibilidade como características de qualidade, mas os sistemas costumam atendê-las supondo que o operador vai continuar existindo e agindo de boa-fé. a engenharia de software orientada a blockchain (porru et al., 2017) e as taxonomias de arquitetura (xu et al., 2017) já tratam a blockchain como componente de projeto, mas os estudos se concentram em finanças e contratos inteligentes. faltam artefatos que usem esse componente para dados pessoais e afetivos, com privacidade e custo como requisitos. este trabalho ocupa esse espaço.
- 5
a blockchain usada para o que ela nasceu
antes do bitcoin, haber e stornetta (1991) propuseram encadear carimbos de tempo para provar que um documento existia numa data, sem precisar confiar em quem carimba. nakamoto cita esse trabalho no artigo do bitcoin. o lembre volta a essa origem e usa a blockchain como prova de existência, não como moeda. o custo é marginal: guardar uma memória no arweave custa cerca de US$ 0,00006, e o opentimestamps junta milhares de códigos numa árvore de merkle e registra só a raiz, numa única transação, sem custo para quem escreve.
- 6
um sistema projetado para sobreviver ao próprio fim
cada memória vira um registro canônico, e o SHA-256 desse registro é o código dela. a página da memória refaz a conta no navegador, com a web crypto, compara com a cópia do arweave e aponta a transação no bitcoin. se o servidor do lembre desligar amanhã, as memórias eternizadas continuam no arweave e as provas continuam válidas, conferíveis com ferramentas públicas. e isso pode ser testado: basta desligar o servidor e conferir uma memória só com o código dela. a confiança sai da instituição e vai para a matemática.
- 7
privacidade desde a concepção
registro eterno e direito ao esquecimento (LGPD, art. 18) parecem incompatíveis. o lembre resolve isso na arquitetura, não numa política de uso: só o texto vai para a blockchain, só com consentimento explícito, e o nome nunca sai do banco, onde pode ser apagado. não existe conta, o ip não é guardado, e o limite de uma memória por dia usa um cookie assinado que não deixa rastro no servidor. é a privacidade por padrão (privacy by design) aplicada na prática.
- 8
a dimensão humana como requisito
memória é identidade, e halbwachs mostrou que ela é construída com os outros. por isso a experiência não é enfeite: o campo de luzes em webgl, o som generativo e a contagem que muda ao vivo existem para que deixar uma lembrança seja um gesto, e não um formulário. avaliar como isso afeta o uso faz parte do trabalho.
objetivos
geral: projetar, implementar e avaliar uma arquitetura híbrida, de aplicação web e blockchain, para preservar memórias afetivas de forma permanente e verificável, com privacidade desde a concepção.
específicos: levantar os requisitos funcionais e não funcionais (permanência, integridade, anonimato e tempo real); modelar e implementar a arquitetura; definir o formato canônico do registro e o processo de verificação independente; testar e implantar o sistema em contêineres; e avaliar desempenho, custo de armazenamento e experiência de uso.
a arquitetura, em poucas linhas
- permanênciaarweave (texto) e opentimestamps/bitcoin (prova de existência)
- verificaçãoSHA-256 no navegador e prova .ots conferível no opentimestamps.org
como o trabalho é feito
pesquisa aplicada, no formato de design science: o lembre é o artefato, construído e avaliado de forma incremental. as etapas são revisão bibliográfica, engenharia de requisitos, desenvolvimento do protótipo, testes automatizados ponta a ponta (escrita, permanência, verificação e limites de uso), medições e avaliação com usuários pela escala SUS.
alguns números já medidos no protótipo: as mudanças chegam ao vivo ao navegador em cerca de meio segundo, e guardar uma memória no arweave custa cerca de US$ 0,00006.
referências
- SOMMERVILLE, Ian. Engenharia de software. 10. ed. São Paulo: Pearson, 2018.
- PRESSMAN, Roger S.; MAXIM, Bruce R. Engenharia de software: uma abordagem profissional. 8. ed. Porto Alegre: AMGH, 2016.
- KLEPPMANN, Martin. Designing data-intensive applications. Sebastopol: O'Reilly, 2017.
- HEVNER, Alan R. et al. Design science in information systems research. MIS Quarterly, v. 28, n. 1, p. 75-105, 2004.
- ISO/IEC. ISO/IEC 25010:2023: Systems and software engineering: product quality model. Genebra: ISO, 2023.
- PORRU, Simone et al. Blockchain-oriented software engineering: challenges and new directions. In: ICSE-C '17. Buenos Aires: IEEE, 2017.
- XU, Xiwei et al. A taxonomy of blockchain-based systems for architecture design. In: ICSA 2017. Gotemburgo: IEEE, 2017.
- HABER, Stuart; STORNETTA, W. Scott. How to time-stamp a digital document. Journal of Cryptology, v. 3, n. 2, p. 99-111, 1991.
- CAVOUKIAN, Ann. Privacy by design: the 7 foundational principles. Ontario: Information and Privacy Commissioner, 2009.
- NAKAMOTO, Satoshi. Bitcoin: a peer-to-peer electronic cash system. 2008.
- WILLIAMS, Sam et al. Arweave: a protocol for economical data permanence and availability. 2019.
- MERKLE, Ralph C. A digital signature based on a conventional encryption function. In: CRYPTO '87. Berlin: Springer, 1988.
- NIST. FIPS 180-4: Secure Hash Standard (SHS). Gaithersburg: National Institute of Standards and Technology, 2015.
- BROOKE, John. SUS: a quick and dirty usability scale. In: Usability evaluation in industry. London: Taylor & Francis, 1996.
- PEW RESEARCH CENTER. When online content disappears. Washington, 17 maio 2024.
- ZITTRAIN, Jonathan; ALBERT, Kendra; LESSIG, Lawrence. Perma: scoping and addressing the problem of link and reference rot in legal citations. Harvard Law Review Forum, v. 127, 2014.
- ÖHMAN, Carl J.; WATSON, David. Are the dead taking over Facebook? A big data approach to the future of death online. Big Data & Society, v. 6, n. 1, 2019.
- HALBWACHS, Maurice. A memória coletiva. São Paulo: Vértice, 1990.
- NORA, Pierre. Entre memória e história: a problemática dos lugares. Projeto História, São Paulo, n. 10, 1993.
- BRASIL. Lei nº 13.709, de 14 de agosto de 2018. Lei Geral de Proteção de Dados Pessoais (LGPD).