Uma análise de correlação entre tempo de espera e transações no Ethereum

Detalhes bibliográficos
Ano de defesa: 2020
Autor(a) principal: Sousa, José Eduardo de Azevedo lattes
Orientador(a): Vieira, Alex Borges lattes
Banca de defesa: Freitas, Allan Edgard Silva lattes, Bernardo, Heloísa Pinna lattes, Villela, Saulo Moraes lattes
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Juiz de Fora (UFJF)
Programa de Pós-Graduação: Programa de Pós-graduação em Ciência da Computação
Departamento: ICE – Instituto de Ciências Exatas
País: Brasil
Palavras-chave em Português:
Área do conhecimento CNPq:
Link de acesso: https://repositorio.ufjf.br/jspui/handle/ufjf/12691
Resumo: Iniciada em julho de 2015, Ethereum é a segunda maior criptomoeda em volume de transações nesse momento, atrás apenas do Bitcoin, que é a criptomoeda pioneira. A popularidade de Ethereum está em franca ascensão, atraindo a comunidade científica. Uma importante questão em discussão pelo comportamento da plataforma diz respeito à cobrança obrigatória da taxa por transação no Ethereum e a sua possível relação com o tempo de espera para confirmação da transação. Ao enviarem suas transações a outros utilizadores da rede, os usuários são obrigados a fornecer uma espécie de gorjeta, a taxa de mineração, para que sua transação seja incluída na rede. A crença comum na rede Ethereum é que quanto maior a taxa, menor o tempo de confirmação. No presente trabalho, foi realizada uma investigação e análise detalhada dessa questão. Para conduzir esse trabalho, foram coletadas 7.2 milhões de transações no Ethereum. A seguir, foram realizadas diversas análises acerca das taxas fornecidas pelos usuários e o tempo de espera para uma transação ser minerada. Primeiramente foi verificado se existe alguma correlação entre o tempo de espera de uma transação para adentrar a rede e diversos recursos relacionados às taxas pagas aos operadores da rede Ethereum para execução de transações, por meio de correlações de Pearson e Spearman. Posteriormente, análises agrupando as transações por características são conduzidas de duas formas: (i) por valores absolutos e (ii) por grupos definidos a partir de algoritmos de clusterização. Esses agrupamentos buscam encontrar usuários com comportamentos parecidos, tentando encontrar correlação entre o tempo de espera das transações nesses casos. As análises empíricas mostraram fortes evidências de que não há uma correlação clara entre as taxas pagas pelos usuários e o tempo de espera da transação, concluindo que tais taxas, assim como as características do sistema delas derivadas, inerentes a plataforma Ethereum, não determinam o tempo de espera. Além da avaliação da relação existente entre tempo de confirmação e taxa, nesse trabalho, foi avaliado ataque de negação de serviço, um problema que também pode afetar o tempo de confirmação de transações na rede Ethereum. Inicialmente, foi definido um ataque semelhante ao de negação de serviço distribuído (DDoS), em que usuários maliciosos inserem transações específicas, as quais possuem valores muito baixos de gas price, com intuito de provocar lentidão na rede são inseridas na rede, aumentando o tempo de espera das transações. Para estudar este ataque, aqui denominado de Penny Attack, foi definida uma arquitetura capaz de replicar a rede ETH do Ethereum em uma estrutura local. Em seguida foram executadas simulações para verificar a resposta do sistema em situações normais da rede, em período sobre ataque, e também em períodos de alta demanda da rede. Por fim, foram propostas sete técnicas de aprendizado de máquina buscando melhores métricas de classificadores capazes de identificar o ataque aqui proposto, onde foram obtidos métodos com acurácia maior que 0,95 e AUC de 0,89, fornecendo uma modelo confiável para detecção deste ataque.