Mechanisms for Modeling and Validation of Smart Contracts

Detalhes bibliográficos
Autor(a) principal: Afonso, João Miguel de Almeida
Data de Publicação: 2023
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
Texto Completo: http://hdl.handle.net/10362/167654
Resumo: The characterization of a Smart Contract consists of describing agreements between multiple parties involved, which can be autonomously upheld without the need of a trusted intermediary. SCs are stored and executed on the Blockchain, a decentralized, digital ledger designed to log transactions in a secure and transparent manner. It operates across a network of computers, where each node retains a copy of the ledger and transactions are validated through consensus protocols. One of the key features of SCs and blockchains is their immutability: once they have been deployed, the contracts and blocks of the blockchain can not be changed (although it is technically possible, it necessitates extreme measures such as hard forking or obtaining cooperation of a substantial portion of the network nodes in a blockchain). However, vulnerabilities can still exist in the code of SCs, potentially resulting in exploitable bugs that may lead to the loss of valuable assets. To address these issues domain-specific languages (DSLs) are under development to offer safety assurances to programmers. However, none of these languages can offer absolute proof of contract correctness, leaving room for improvement in the development of SCs. This thesis aims to contribute to the process of elaborating SCs by introducing a language designed to capture their behavior. In addition to this language, suitable tool mechanisms were also developed to perform static validations on the behavior of existing Daml SCs, ensuring alignment with the intended outcomes of the contracts and ultimately bolstering the auditability of SCs.
id RCAP_b66d242efabbe4dc632f7d3a4058e5dd
oai_identifier_str oai:run.unl.pt:10362/167654
network_acronym_str RCAP
network_name_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository_id_str https://opendoar.ac.uk/repository/7160
spelling Mechanisms for Modeling and Validation of Smart ContractsDomínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaThe characterization of a Smart Contract consists of describing agreements between multiple parties involved, which can be autonomously upheld without the need of a trusted intermediary. SCs are stored and executed on the Blockchain, a decentralized, digital ledger designed to log transactions in a secure and transparent manner. It operates across a network of computers, where each node retains a copy of the ledger and transactions are validated through consensus protocols. One of the key features of SCs and blockchains is their immutability: once they have been deployed, the contracts and blocks of the blockchain can not be changed (although it is technically possible, it necessitates extreme measures such as hard forking or obtaining cooperation of a substantial portion of the network nodes in a blockchain). However, vulnerabilities can still exist in the code of SCs, potentially resulting in exploitable bugs that may lead to the loss of valuable assets. To address these issues domain-specific languages (DSLs) are under development to offer safety assurances to programmers. However, none of these languages can offer absolute proof of contract correctness, leaving room for improvement in the development of SCs. This thesis aims to contribute to the process of elaborating SCs by introducing a language designed to capture their behavior. In addition to this language, suitable tool mechanisms were also developed to perform static validations on the behavior of existing Daml SCs, ensuring alignment with the intended outcomes of the contracts and ultimately bolstering the auditability of SCs.A caracterização de um SC consiste em descrever acordos entre várias partes envolvidas, que podem ser mantidos autonomamente sem a necessidade de um intermediário de confiança. Os SCs são armazenados e executados na Blockchain, uma digital ledger descentralizada tendo como função registar transações de maneira segura e transparente. A blockchain opera numa rede de computadores, onde cada nó mantém uma própria cópia e as transações são validadas por protocolos de consenso. Uma das principais características dos SCs e das blockchains é a sua imutabilidade: assim que levarem deploy, os contratos e os blocos da blockchain não podem ser alterados (tecnicamente é possível, mas para tal requere-se medidas extremas, como um fork na blockchain ou a obtenção da cooperação de uma parte substancial dos nós da rede de uma blockchain). No entanto, vulnerabilidades ainda podem existir no código dos SCs, potencialmente resultando em falhas que podem levar à perda de valores. Para lidar com estes problemas, domain-specific languages (DSLs) estão em desenvolvimento para oferecer garantias de segurança aos programadores. No entanto, nenhuma dessas linguagens pode oferecer prova absoluta da correção do contrato, deixando em aberto vários caminhos melhorias no desenvolvimento de SCs. Esta tese tem como objetivo contribuir para o processo de elaboração de SCs, intro- duzindo uma linguagem cuja finalidade é capturar o comportamento destes. Além dessa linguagem, também foram desenvolvidos mecanismos de ferramentas capazes de realizar validações estáticas sobre o comportamento dos SCs existentes, garantindo alinhamento com os efeitos pretendidos do contrato , reforçando assim a auditabilidade dos SCs.Ravara, AntónioRUNAfonso, João Miguel de Almeida2024-05-22T10:13:38Z2023-122023-12-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10362/167654enginfo:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2024-05-27T01:41:38Zoai:run.unl.pt:10362/167654Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T17:52:24.745730Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse
dc.title.none.fl_str_mv Mechanisms for Modeling and Validation of Smart Contracts
title Mechanisms for Modeling and Validation of Smart Contracts
spellingShingle Mechanisms for Modeling and Validation of Smart Contracts
Afonso, João Miguel de Almeida
Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
title_short Mechanisms for Modeling and Validation of Smart Contracts
title_full Mechanisms for Modeling and Validation of Smart Contracts
title_fullStr Mechanisms for Modeling and Validation of Smart Contracts
title_full_unstemmed Mechanisms for Modeling and Validation of Smart Contracts
title_sort Mechanisms for Modeling and Validation of Smart Contracts
author Afonso, João Miguel de Almeida
author_facet Afonso, João Miguel de Almeida
author_role author
dc.contributor.none.fl_str_mv Ravara, António
RUN
dc.contributor.author.fl_str_mv Afonso, João Miguel de Almeida
dc.subject.por.fl_str_mv Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
topic Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
description The characterization of a Smart Contract consists of describing agreements between multiple parties involved, which can be autonomously upheld without the need of a trusted intermediary. SCs are stored and executed on the Blockchain, a decentralized, digital ledger designed to log transactions in a secure and transparent manner. It operates across a network of computers, where each node retains a copy of the ledger and transactions are validated through consensus protocols. One of the key features of SCs and blockchains is their immutability: once they have been deployed, the contracts and blocks of the blockchain can not be changed (although it is technically possible, it necessitates extreme measures such as hard forking or obtaining cooperation of a substantial portion of the network nodes in a blockchain). However, vulnerabilities can still exist in the code of SCs, potentially resulting in exploitable bugs that may lead to the loss of valuable assets. To address these issues domain-specific languages (DSLs) are under development to offer safety assurances to programmers. However, none of these languages can offer absolute proof of contract correctness, leaving room for improvement in the development of SCs. This thesis aims to contribute to the process of elaborating SCs by introducing a language designed to capture their behavior. In addition to this language, suitable tool mechanisms were also developed to perform static validations on the behavior of existing Daml SCs, ensuring alignment with the intended outcomes of the contracts and ultimately bolstering the auditability of SCs.
publishDate 2023
dc.date.none.fl_str_mv 2023-12
2023-12-01T00:00:00Z
2024-05-22T10:13:38Z
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/10362/167654
url http://hdl.handle.net/10362/167654
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órios Científicos de Acesso Aberto de Portugal (RCAAP)
instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron:RCAAP
instname_str FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron_str RCAAP
institution RCAAP
reponame_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
collection Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository.name.fl_str_mv Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
repository.mail.fl_str_mv info@rcaap.pt
_version_ 1833597028028907520