Mechanisms for Modeling and Validation of Smart Contracts
| Autor(a) principal: | |
|---|---|
| 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 |