Gifflar: um framework para geração de contratos inteligentes em tempo de execução. - Santiago, Levy Marlon Souza (2023)
Blockchain é uma tecnologia disruptiva que permite transações diretas entre entidades distribuídas sem a necessidade de uma terceira parte confiável, oferecendo uma rede descentralizada segura. Contratos inteligentes (SmCs) são códigos executáveis hospedados na blockchain e permitem a implementação de aplicações descentralizadas, em diferentes domínios. Devido à complexidade de construção dos SmCs, é necessário buscar formas de facilitar e tornar robusto esse processo de desenvolvimento inovador. Muitos projetos da literatura propuseram soluções baseadas em geração automática de código a partir de uma modelagem de alto nível, como diagramas. Porém, esta abordagem traz consigo uma constante necessidade de uma pessoa para modelar os contratos e realizar o processo de compilação e implantação. Esta dissertação de mestrado apresenta o Gifflar, um framework para geração automática de código de SmC em tempo de execução, que permite a um sistema escrever, compilar e implantar SmCs numa rede blockchain com uma aplicação ainda em execução, o que reduz a frequente precisão do desenvolvedor de SmC e possibilita automatizar ainda mais o processo de desenvolvimento de SmC. Uma das suas principais ferramentas é a biblioteca Solgen, que é estruturada em componentes que implementam padrões de projeto para melhor definir a responsabilidade de cada uma dessas partes. A Solgen oferece uma API que permite ao desenvolvedor modelar, gerar códigos e gerenciar os SmCs através de métodos que abstraem até certo nível o código do SmC utilizando o JSON como modelo para a geração de código. Em complemento, foram realizadas duas avaliações para validar o projeto: (i) uma avaliação de usabilidade da Solgen e (ii) uma avaliação conceitual de aplicação do Gifflar em outros projetos. Até onde se sabe, este framework é um dos primeiros a permitir gerar SmCs dinamicamente em tempo de execução, assim contribuindo para o estado da arte ao abordar um novo paradigma, onde os sistemas podem atuar como desenvolvedores de contratos inteligentes.