SmartScribble, a protocol language for Plutus smart contracts

Detalhes bibliográficos
Autor(a) principal: Monteiro, Alexandre de Alegria Junceiro Mascarenhas
Data de Publicação: 2022
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/10451/56847
Resumo: Tese de mestrado, Engenharia Informática, 2022, Universidade de Lisboa, Faculdade de Ciências
id RCAP_d8ef7fac669623cb72a8aaad33b96646
oai_identifier_str oai:repositorio.ul.pt:10451/56847
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling SmartScribble, a protocol language for Plutus smart contractsLinguagem de programaçãoSmart contractsMáquina de estadosProtocolo de comunicaçãoGeração de códigoTeses de mestrado - 2022Departamento de InformáticaTese de mestrado, Engenharia Informática, 2022, Universidade de Lisboa, Faculdade de CiênciasA blockchain consists of a decentralized network whose peers store the information that flows through the network. One of the most popular applications of blockchains is the transaction of cryptocurrencies. Smart contracts allow a developer to create programs for blockchains, commonly used to handle valuable assets. However, like any other software, smart contracts are prone to vulnerabilities. SmartScribble [17] is a protocol language aimed at generating more reliable smart contracts. A programmer specifies a protocol, and SmartScribble automatically generates a smart contract and a state machine to validate the parties’ interactions with the contract. In its original formulation, a working contract is obtained after the manual insertion of the business logic in the generated contract. SmartScribble relies on state machines to ensure correct interactions, triggers for control flow, namely to exit loops, and roles to identify the participants. However, the language still lacks many essential features. In this work, we enrich SmartScribble, making it more reliable and expressive. We start by enabling the validation of roles which was not present in the original version. We extend the expressivity of SmartScribble’s triggers by generalizing the original definition that was restricted to one of two factors (money or time) to allow mixed conditions with time and money. To enhance usability, we extended SmartScribble’s syntax to enable the definition of the business logic in the protocol specification. Finally, to improve the expressivity of SmartScribble, we introduce more expressive state machines that enable a more refined specification of protocols. The evaluation shows that our extensions compare pretty well in performance when compared to the original version. The slight increase in performance is a fair price to pay for reliability.Mordido, Andreia Filipa TorcatoVasconcelos, Vasco Thudichum, 1964-Repositório da Universidade de LisboaMonteiro, Alexandre de Alegria Junceiro Mascarenhas2023-03-28T10:34:45Z202220222022-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10451/56847enginfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-11-08T17:04:51Zoai:repositorio.ul.pt:10451/56847Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T22:07:23.677653Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv SmartScribble, a protocol language for Plutus smart contracts
title SmartScribble, a protocol language for Plutus smart contracts
spellingShingle SmartScribble, a protocol language for Plutus smart contracts
Monteiro, Alexandre de Alegria Junceiro Mascarenhas
Linguagem de programação
Smart contracts
Máquina de estados
Protocolo de comunicação
Geração de código
Teses de mestrado - 2022
Departamento de Informática
title_short SmartScribble, a protocol language for Plutus smart contracts
title_full SmartScribble, a protocol language for Plutus smart contracts
title_fullStr SmartScribble, a protocol language for Plutus smart contracts
title_full_unstemmed SmartScribble, a protocol language for Plutus smart contracts
title_sort SmartScribble, a protocol language for Plutus smart contracts
author Monteiro, Alexandre de Alegria Junceiro Mascarenhas
author_facet Monteiro, Alexandre de Alegria Junceiro Mascarenhas
author_role author
dc.contributor.none.fl_str_mv Mordido, Andreia Filipa Torcato
Vasconcelos, Vasco Thudichum, 1964-
Repositório da Universidade de Lisboa
dc.contributor.author.fl_str_mv Monteiro, Alexandre de Alegria Junceiro Mascarenhas
dc.subject.por.fl_str_mv Linguagem de programação
Smart contracts
Máquina de estados
Protocolo de comunicação
Geração de código
Teses de mestrado - 2022
Departamento de Informática
topic Linguagem de programação
Smart contracts
Máquina de estados
Protocolo de comunicação
Geração de código
Teses de mestrado - 2022
Departamento de Informática
description Tese de mestrado, Engenharia Informática, 2022, Universidade de Lisboa, Faculdade de Ciências
publishDate 2022
dc.date.none.fl_str_mv 2022
2022
2022-01-01T00:00:00Z
2023-03-28T10:34:45Z
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.uri.fl_str_mv http://hdl.handle.net/10451/56847
url http://hdl.handle.net/10451/56847
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799134627420438528