Resumo:
Desde o lançamento da moeda digital Bitcoin em 2009, o interesse pela tecnologia blockchain tem crescido ao longo dos anos e tem atraído muitos pesquisadores. A tecnologia surgiu inicialmente dentro da plataforma Bitcoin para suportar as operações com a moeda digital de
forma descentralizada e segura, sem a necessidade de intermediários como bancos e organizações governamentais. Devido às suas características de descentralização e imutabilidade, logo foi percebido o seu potencial para outros tipos de aplicações, além dos pagamentos com moedas digitais. Apesar de mudar alguns paradigmas tecnológicos existentes e prover vários benefícios interessantes, a tecnologia blockchain também apresenta algumas limitações e desafios técnicos comparada aos sistemas centralizados, principalmente no que diz respeito a desempenho e escalabilidade. Por ser uma rede descentralizada, para validar as transações a blockchain necessita obter consenso entre os diferentes nós participantes. Esta característica é o principal ofensor, pois, os protocolos implementados para prover este processamento distribuído de forma segura afetam diretamente o desempenho do sistema. As limitações de escalabilidade e desempenho da blockchain são críticas para as plataformas públicas como o Bitcoin, mas também afetam as redes privadas, com o diferencial que estas possuem maior autonomia na configuração da solução. A blockchain privada oportuniza que empresas ou grupo de empresas utilizem a tecnologia para a validação de transações internas para diferentes tipos de aplicações. Existem diversas propostas para melhorar o desempenho do blockchain, porém estas propostas trazem uma série de mudanças de difícil implementação e que não são compatíveis com as aplicações hoje existentes. As limitações atuais impedem que a blockchain seja usado em larga escala para outros tipos de aplicações ou mesmo substitua as formas de pagamento eletrônico conhecidas atualmente, fazendo com que estudos sejam necessários para endereçar estas lacunas e evoluir a tecnologia. Considerando este cenário da necessidade em melhorar os aspectos abordados da blockchain e a oportunidade de explorar a tecnologia para outras aplicações no meio corporativo, este trabalho propõe o modelo L7SP que será acoplado à blockchain privada para prover ganho de desempenho e escalabilidade, e melhorar o gerenciamento do sistema. L7SP é uma camada intermediária
que provê o empilhamento de serviços buscando maior rapidez nas validações das transações e geração dos blocos, monitoramento de desempenho e um gerenciamento de forma centralizada. O modelo proposto provê alta disponibilidade e desempenho, gerando economia de recursos, e mantendo as características de segurança e descentralização da blockchain. A viabilidade e eficácia de L7SP é demonstrada por meio de um protótipo que atua entre os nós validadores, sendo transparente para os clientes que interagem com o sistema e sem interferir na forma como a blockchain é implementada, sendo assim também compatível com as aplicações já existentes. L7SP roda na nuvem da AWS e se comunica com os demais componentes da solução utilizando os protocolos disponibilizados pelo middleware Multichain, cujos nós também rodam na nuvem. Os resultados da introdução de L7SP e seus serviços apresentaram ganhos de desempenho de 4% até 422%, quando comparado ao desempenho do Multichain em sua configuração padrão. Testes com diferentes parametrizações e cargas de trabalho demonstraram que o balanceamento de carga com estratégia Round Roubin e a utilização de compressão de dados foi a melhor combinação para se obter o ganho máximo de desempenho. A eficiente combinação
desses fatores, com a introdução de novas métricas e um monitoramento do sistema mais eficiente configuram a contribuição científica deste estudo.