The Jus programming language : towards a functional language for secure and verifiable smart contracts on Tezos

Detalhes bibliográficos
Ano de defesa: 2025
Autor(a) principal: Randow, Larissa Pimentel Viana
Orientador(a): Andrade, Jefferson Oliveira
Banca de defesa: Costa, Mateus Conrad Barcelos, Carvalho, Victório Albani de
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: eng
Instituição de defesa: Instituto Federal do Espírito Santo
Campus Serra
Programa de Pós-Graduação: Mestrado Profissional em Computação Aplicada
Departamento: Não Informado pela instituição
País: Brasil
Palavras-chave em Português:
Área do conhecimento CNPq:
Link de acesso: https://repositorio.ifes.edu.br/handle/123456789/8209
Resumo: O desenvolvimento de smart contracts ainda enfrenta desafios significativos, especialmente no que diz respeito à segurança, previsibilidade de execução e capacidade de verificação formal. Erros de implementação podem causar perdas irreversíveis, e muitas linguagens existentes não oferecem mecanismos adequados para garantir propriedades críticas antes da implantação. Diante desse cenário, esta dissertação propõe Jus, uma linguagem de domínio específico, funcional e orientada à verificação, projetada para facilitar a construção de contratos inteligentes mais seguros e verificáveis na blockchain Tezos. Jus combina princípios de programação funcional (como pureza, mutabilidade e tipagem estática) com uma arquitetura inspirada em autômatos, na qual cada contrato é representado como um sistema explícito de transição de estados. Esse modelo torna o comportamento do contrato mais revisível e favorece análises formais. A linguagem também inclui construções específicas do domínio, como tipos monetários, operações de escrow, mecanismos de multiassinatura e gatilhos temporais, que ajudam a expressar adrões recorrentes de forma segura. Para avaliar a proposta, foi desenvolvido um interpretador protótipo, utilizando ANTLR na análise sintática, além de dois estudos de caso representativos. Esses estudos demonstram que Jus ermite expressar contratos reais de maneira declarativa, sem estado mutável e com comportamento estruturado, facilitando a verificação estática de invariantes. A dissertação também apresenta uma estratégia conceitual de ompilação para Michelson (a linguagem nativa do Tezos) com ênfase na preservação semântica e na preparação para ferramentas de verificação existentes no ecossistema. Por fim, é proposto um roteiro de formalização que inclui embedding do sistema de tipos em provadores, mecanização da semântica operacional, model checking do sistema de transições e o desenvolvimento futuro de um compilador verificado. Os resultados mostram que Jus epresenta um passo em direção a smart contracts mais auditáveis, seguros e adequados a contextos de alto valor na blockchain Tezos.
id IFES-2_c59d8850b82dbc023ac47a4edf96c925
oai_identifier_str oai:repositorio.ifes.edu.br:123456789/8209
network_acronym_str IFES-2
network_name_str Repositório Institucional do IFES
repository_id_str
spelling Randow, Larissa Pimentel Vianahttp://lattes.cnpq.br/5583200602098792https://orcid.org/0000-0002-5321-9239http://lattes.cnpq.br/7138275599443632Costa, Mateus Conrad BarcelosCarvalho, Victório Albani deKomati, Karin SatieAndrade, Jefferson Oliveira2026-03-27T12:33:13Z2025RANDOW, Larissa Pimentel Viana. The Jus programming language : towards a functional language for secure and verifiable smart contracts on Tezos. 2025. 84 f. Dissertação (mestrado em Computação Aplicada) - Instituto Federal do Espírito Santo, Serra, 2025.https://repositorio.ifes.edu.br/handle/123456789/8209O desenvolvimento de smart contracts ainda enfrenta desafios significativos, especialmente no que diz respeito à segurança, previsibilidade de execução e capacidade de verificação formal. Erros de implementação podem causar perdas irreversíveis, e muitas linguagens existentes não oferecem mecanismos adequados para garantir propriedades críticas antes da implantação. Diante desse cenário, esta dissertação propõe Jus, uma linguagem de domínio específico, funcional e orientada à verificação, projetada para facilitar a construção de contratos inteligentes mais seguros e verificáveis na blockchain Tezos. Jus combina princípios de programação funcional (como pureza, mutabilidade e tipagem estática) com uma arquitetura inspirada em autômatos, na qual cada contrato é representado como um sistema explícito de transição de estados. Esse modelo torna o comportamento do contrato mais revisível e favorece análises formais. A linguagem também inclui construções específicas do domínio, como tipos monetários, operações de escrow, mecanismos de multiassinatura e gatilhos temporais, que ajudam a expressar adrões recorrentes de forma segura. Para avaliar a proposta, foi desenvolvido um interpretador protótipo, utilizando ANTLR na análise sintática, além de dois estudos de caso representativos. Esses estudos demonstram que Jus ermite expressar contratos reais de maneira declarativa, sem estado mutável e com comportamento estruturado, facilitando a verificação estática de invariantes. A dissertação também apresenta uma estratégia conceitual de ompilação para Michelson (a linguagem nativa do Tezos) com ênfase na preservação semântica e na preparação para ferramentas de verificação existentes no ecossistema. Por fim, é proposto um roteiro de formalização que inclui embedding do sistema de tipos em provadores, mecanização da semântica operacional, model checking do sistema de transições e o desenvolvimento futuro de um compilador verificado. Os resultados mostram que Jus epresenta um passo em direção a smart contracts mais auditáveis, seguros e adequados a contextos de alto valor na blockchain Tezos.Smart contract development still faces major challenges in terms of security, predictability, and formal verification. Implementation errors can lead to irreversible losses, and many existing languages offer limited support for expressing or proving critical correctness properties prior to deployment. To address these limitations, this dissertation proposes Jus, a functional, verification-oriented domain-specific language designed to support the development of secure and formally analyzable smart contracts on the Tezos blockchain. Jus integrates functional programming principles (purity, immutability, and static typing) with an automata-based architecture in which each contract is modeled as an explicit state-transition system. This structure improves predictability and supports rigorous reasoning about contract behavior. The language also provides domain-specific constructs, such as monetary types, escrow operations, multisignature workflows, and time-based triggers, enabling developers to express common blockchain patterns safely and concisely. To evaluate the language, a prototype interpreter was implemented using ANTLR for parsing, along with two representative case studies. These case studies demonstrate that Jus enables the declarative and mutation-free expression of real smart contracts, helping capture invariants at compile time and facilitating formal analysis. The dissertation further outlines a conceptual compilation strategy targeting Michelson (the low-level language of Tezos), highlighting semantic preservation, resource analysis, and compatibility with existing verification tools. Finally, the work proposes a roadmap for the formalization of Jus, including type-system embedding in proof assistants, mechanization of the operational semantics, model checking of transition systems, and the future development of a verified compiler. The results indicate that Jus is a promising step toward more secure, auditable, and formally verifiable smart contracts on the Tezos blockchain.Instituto Federal do Espírito SantoCampus SerraMestrado Profissional em Computação AplicadaIFESBrasilAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccess10303014 – Linguagens de ProgramaçãoComputaçãoODS 9 - Indústria, Inovação e InfraestruturaLinguagem de programação (Computadores)Linguagem de programação de domínio específico (Computadores)Compiladores (Computadores)Contratos inteligentesThe Jus programming language : towards a functional language for secure and verifiable smart contracts on Tezosinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisengreponame:Repositório Institucional do IFESinstname:Instituto Federal de Educação, Ciência e Tecnologia do Espírito Santo (IFES)instacron:IFESORIGINALdissertação_larissa_randow.pdfdissertação_larissa_randow.pdfapplication/pdf788138https://repositorio.ifes.edu.br/bitstreams/af8e602d-4073-49ab-b090-c8fc1722eb43/download30a1024bfabcbae21b7261254f31caf2MD51trueAnonymousREADCC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8906https://repositorio.ifes.edu.br/bitstreams/907db73d-e384-4246-9db4-51bedc4bbbb3/downloadfba754f0467e45ac3862bc2533fb2736MD52falseAnonymousREADLICENSElicense.txtlicense.txttext/plain; charset=utf-81467https://repositorio.ifes.edu.br/bitstreams/ad460e00-1d1e-4b57-96c0-95d2684116fd/download5668f6fd3cfdbfe64685fdfa950fc737MD53falseAnonymousREADTEXTdissertação_larissa_randow.pdf.txtdissertação_larissa_randow.pdf.txtExtracted texttext/plain100742https://repositorio.ifes.edu.br/bitstreams/56b8b575-dba0-423f-9db1-d8f9258a2af3/download9ceb9a52421af553d1a1f2178dafc420MD54falseAnonymousREADTHUMBNAILdissertação_larissa_randow.pdf.jpgdissertação_larissa_randow.pdf.jpgGenerated Thumbnailimage/jpeg2634https://repositorio.ifes.edu.br/bitstreams/07ca4330-d4f3-40c2-be5d-2adcecc65174/download0f2522b9a033c5fd98bd4ea509cb97aaMD55falseAnonymousREAD123456789/82092026-03-28T06:02:10.087797Zhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/Acesso abertoopen.accessoai:repositorio.ifes.edu.br:123456789/8209https://repositorio.ifes.edu.brRepositório InstitucionalPUBhttps://repositorio.ifes.edu.br/server/oai/requestrepositorio@ifes.edu.bropendoar:2026-03-28T06:02:10Repositório Institucional do IFES - Instituto Federal de Educação, Ciência e Tecnologia do Espírito Santo (IFES)falseTElDRU7Dh0EgREUgRElTVFJJQlVJw4fDg08gTsODTy1FWENMVVNJVkEKCkFvIGFzc2luYXIgZSBlbnRyZWdhciBlc3RhIGF1dG9yaXphw6fDo28sIG8vYSBTci4vU3JhLiAoYXV0b3Igb3UgZGV0ZW50b3IgZG9zIGRpcmVpdG9zIGRlIGF1dG9yKToKCmEpIGNvbmNlZGUgYW8gSW5zdGl0dXRvIEZlZGVyYWwgZG8gRXNww61yaXRvIFNhbnRvIG8gZGlyZWl0byBuw6NvLWV4Y2x1c2l2byBkZSByZXByb2R1emlyLCBjb252ZXJ0ZXIsIGNvbXVuaWNhciBlL291IGRpc3RyaWJ1aXIgbyBkb2N1bWVudG8gZW50cmVndWUgZW0gZm9ybWF0byBkaWdpdGFsLgoKYikgZGVjbGFyYSBxdWUgbyBkb2N1bWVudG8gZW50cmVndWUgw6kgc2V1IHRyYWJhbGhvIG9yaWdpbmFsLCBlIHF1ZSBkZXTDqW0gbyBkaXJlaXRvIGRlIGNvbmNlZGVyIG9zIGRpcmVpdG9zIGNvbnRpZG9zIG5lc3RhIGxpY2Vuw6dhLiBEZWNsYXJhIHRhbWLDqW0gcXVlIGEgZW50cmVnYSBkbyBkb2N1bWVudG8gbsOjbyBpbmZyaW5nZSwgdGFudG8gcXVhbnRvIGxoZSDDqSBwb3Nzw612ZWwgc2FiZXIsIG9zIGRpcmVpdG9zIGRlIHF1YWxxdWVyIG91dHJhIHBlc3NvYSBvdSBlbnRpZGFkZS4KCmMpIHNlIG8gZG9jdW1lbnRvIGVudHJlZ3VlIGNvbnTDqW0gbWF0ZXJpYWwgZG8gcXVhbCBvIGF1dG9yIG7Do28gZGV0w6ltIG9zIGRpcmVpdG9zIGRlIGF1dG9yLCBkZWNsYXJhIHF1ZSBvYnRldmUgYXV0b3JpemHDp8OjbyBkbyBkZXRlbnRvciBkb3MgZGlyZWl0b3MgZGUgYXV0b3IgcGFyYSBjb25jZWRlciBhbyBJbnN0aXR1dG8gRmVkZXJhbCBkbyBFc3DDrXJpdG8gU2FudG8gb3MgZGlyZWl0b3MgcmVxdWVyaWRvcyBwb3IgZXN0YSBsaWNlbsOnYSwgZSBxdWUgZXNzZSBtYXRlcmlhbCBjdWpvcyBkaXJlaXRvcyBzw6NvIGRlIHRlcmNlaXJvcyBlc3TDoSBjbGFyYW1lbnRlIGlkZW50aWZpY2FkbyBlIHJlY29uaGVjaWRvIG5vIHRleHRvIG91IGNvbnRlw7pkbyBkbyBkb2N1bWVudG8gZW50cmVndWUuCgpkKSBzZSBvIGRvY3VtZW50byBlbnRyZWd1ZSDDqSBiYXNlYWRvIGVtIHRyYWJhbGhvIGZpbmFuY2lhZG8gb3UgYXBvaWFkbyBwb3Igb3V0cmEgaW5zdGl0dWnDp8OjbyBxdWUgbsOjbyBvIEluc3RpdHV0byBGZWRlcmFsIGRvIEVzcMOtcml0byBTYW50bywgZGVjbGFyYSBxdWUgY3VtcHJpdSBxdWFpc3F1ZXIgb2JyaWdhw6fDtWVzIGV4aWdpZGFzIHBlbG8gcmVzcGVjdGl2byBjb250cmF0byBvdSBhY29yZG8uCgpPIEluc3RpdHV0byBGZWRlcmFsIGRvIEVzcMOtcml0byBTYW50byBpZGVudGlmaWNhcsOhIGNsYXJhbWVudGUgbyhzKSBzZXUgKHMpIG5vbWUgKHMpIGNvbW8gbyAocykgYXV0b3IgKGVzKSBvdSBkZXRlbnRvciAoZXMpIGRvcyBkaXJlaXRvcyBkbyBkb2N1bWVudG8gZW50cmVndWUsIGUgbsOjbyBmYXLDoSBxdWFscXVlciBhbHRlcmHDp8OjbywgcGFyYSBhbMOpbSBkYXMgcGVybWl0aWRhcyBwb3IgZXN0YSBsaWNlbsOnYS4K
dc.title.none.fl_str_mv The Jus programming language : towards a functional language for secure and verifiable smart contracts on Tezos
title The Jus programming language : towards a functional language for secure and verifiable smart contracts on Tezos
spellingShingle The Jus programming language : towards a functional language for secure and verifiable smart contracts on Tezos
Randow, Larissa Pimentel Viana
10303014 – Linguagens de Programação
Linguagem de programação (Computadores)
Linguagem de programação de domínio específico (Computadores)
Compiladores (Computadores)
Contratos inteligentes
Computação
ODS 9 - Indústria, Inovação e Infraestrutura
title_short The Jus programming language : towards a functional language for secure and verifiable smart contracts on Tezos
title_full The Jus programming language : towards a functional language for secure and verifiable smart contracts on Tezos
title_fullStr The Jus programming language : towards a functional language for secure and verifiable smart contracts on Tezos
title_full_unstemmed The Jus programming language : towards a functional language for secure and verifiable smart contracts on Tezos
title_sort The Jus programming language : towards a functional language for secure and verifiable smart contracts on Tezos
author Randow, Larissa Pimentel Viana
author_facet Randow, Larissa Pimentel Viana
author_role author
dc.contributor.authorLattes.none.fl_str_mv http://lattes.cnpq.br/5583200602098792
dc.contributor.advisorID.none.fl_str_mv https://orcid.org/0000-0002-5321-9239
dc.contributor.advisorLattes.none.fl_str_mv http://lattes.cnpq.br/7138275599443632
dc.contributor.advisorCo1.none.fl_str_mv Komati, Karin Satie
dc.contributor.author.fl_str_mv Randow, Larissa Pimentel Viana
dc.contributor.referee1.fl_str_mv Costa, Mateus Conrad Barcelos
dc.contributor.referee2.fl_str_mv Carvalho, Victório Albani de
dc.contributor.advisor1.fl_str_mv Andrade, Jefferson Oliveira
contributor_str_mv Costa, Mateus Conrad Barcelos
Carvalho, Victório Albani de
Andrade, Jefferson Oliveira
dc.subject.cnpq.fl_str_mv 10303014 – Linguagens de Programação
topic 10303014 – Linguagens de Programação
Linguagem de programação (Computadores)
Linguagem de programação de domínio específico (Computadores)
Compiladores (Computadores)
Contratos inteligentes
Computação
ODS 9 - Indústria, Inovação e Infraestrutura
dc.subject.por.fl_str_mv Linguagem de programação (Computadores)
Linguagem de programação de domínio específico (Computadores)
Compiladores (Computadores)
Contratos inteligentes
dc.subject.capes.none.fl_str_mv Computação
dc.subject.ods.none.fl_str_mv ODS 9 - Indústria, Inovação e Infraestrutura
description O desenvolvimento de smart contracts ainda enfrenta desafios significativos, especialmente no que diz respeito à segurança, previsibilidade de execução e capacidade de verificação formal. Erros de implementação podem causar perdas irreversíveis, e muitas linguagens existentes não oferecem mecanismos adequados para garantir propriedades críticas antes da implantação. Diante desse cenário, esta dissertação propõe Jus, uma linguagem de domínio específico, funcional e orientada à verificação, projetada para facilitar a construção de contratos inteligentes mais seguros e verificáveis na blockchain Tezos. Jus combina princípios de programação funcional (como pureza, mutabilidade e tipagem estática) com uma arquitetura inspirada em autômatos, na qual cada contrato é representado como um sistema explícito de transição de estados. Esse modelo torna o comportamento do contrato mais revisível e favorece análises formais. A linguagem também inclui construções específicas do domínio, como tipos monetários, operações de escrow, mecanismos de multiassinatura e gatilhos temporais, que ajudam a expressar adrões recorrentes de forma segura. Para avaliar a proposta, foi desenvolvido um interpretador protótipo, utilizando ANTLR na análise sintática, além de dois estudos de caso representativos. Esses estudos demonstram que Jus ermite expressar contratos reais de maneira declarativa, sem estado mutável e com comportamento estruturado, facilitando a verificação estática de invariantes. A dissertação também apresenta uma estratégia conceitual de ompilação para Michelson (a linguagem nativa do Tezos) com ênfase na preservação semântica e na preparação para ferramentas de verificação existentes no ecossistema. Por fim, é proposto um roteiro de formalização que inclui embedding do sistema de tipos em provadores, mecanização da semântica operacional, model checking do sistema de transições e o desenvolvimento futuro de um compilador verificado. Os resultados mostram que Jus epresenta um passo em direção a smart contracts mais auditáveis, seguros e adequados a contextos de alto valor na blockchain Tezos.
publishDate 2025
dc.date.issued.fl_str_mv 2025
dc.date.accessioned.fl_str_mv 2026-03-27T12:33:13Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv RANDOW, Larissa Pimentel Viana. The Jus programming language : towards a functional language for secure and verifiable smart contracts on Tezos. 2025. 84 f. Dissertação (mestrado em Computação Aplicada) - Instituto Federal do Espírito Santo, Serra, 2025.
dc.identifier.uri.fl_str_mv https://repositorio.ifes.edu.br/handle/123456789/8209
identifier_str_mv RANDOW, Larissa Pimentel Viana. The Jus programming language : towards a functional language for secure and verifiable smart contracts on Tezos. 2025. 84 f. Dissertação (mestrado em Computação Aplicada) - Instituto Federal do Espírito Santo, Serra, 2025.
url https://repositorio.ifes.edu.br/handle/123456789/8209
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.publisher.none.fl_str_mv Instituto Federal do Espírito Santo
Campus Serra
dc.publisher.program.fl_str_mv Mestrado Profissional em Computação Aplicada
dc.publisher.initials.fl_str_mv IFES
dc.publisher.country.fl_str_mv Brasil
publisher.none.fl_str_mv Instituto Federal do Espírito Santo
Campus Serra
dc.source.none.fl_str_mv reponame:Repositório Institucional do IFES
instname:Instituto Federal de Educação, Ciência e Tecnologia do Espírito Santo (IFES)
instacron:IFES
instname_str Instituto Federal de Educação, Ciência e Tecnologia do Espírito Santo (IFES)
instacron_str IFES
institution IFES
reponame_str Repositório Institucional do IFES
collection Repositório Institucional do IFES
bitstream.url.fl_str_mv https://repositorio.ifes.edu.br/bitstreams/af8e602d-4073-49ab-b090-c8fc1722eb43/download
https://repositorio.ifes.edu.br/bitstreams/907db73d-e384-4246-9db4-51bedc4bbbb3/download
https://repositorio.ifes.edu.br/bitstreams/ad460e00-1d1e-4b57-96c0-95d2684116fd/download
https://repositorio.ifes.edu.br/bitstreams/56b8b575-dba0-423f-9db1-d8f9258a2af3/download
https://repositorio.ifes.edu.br/bitstreams/07ca4330-d4f3-40c2-be5d-2adcecc65174/download
bitstream.checksum.fl_str_mv 30a1024bfabcbae21b7261254f31caf2
fba754f0467e45ac3862bc2533fb2736
5668f6fd3cfdbfe64685fdfa950fc737
9ceb9a52421af553d1a1f2178dafc420
0f2522b9a033c5fd98bd4ea509cb97aa
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional do IFES - Instituto Federal de Educação, Ciência e Tecnologia do Espírito Santo (IFES)
repository.mail.fl_str_mv repositorio@ifes.edu.br
_version_ 1865654660763746304