Dissertação

{en_GB=Correct Smart Contract Speculation By Design} {} EVALUATED

{pt=Com o aumento da popularidade das blockchains, as suas aplicações têm vindo a expandir para além do do contexto de criptomoedas. Blockchains modernas, como o Ethereum, permitem o desenvolvimento de aplicações complexas através de smart contracts. Apesar da sua crescente popularidade, o desenvolvimento de aplicações sobre blockchains enfrenta muitos desafios, impedindo a adoção generalizada de blockchains. O modelo de programação atual requer que os programadores possuam profundo conhecimento sobre os protocolos e as estruturas internas da blockchain, para construir aplicações corretas. Além disso, os elevados tempos de confirmação fazem com que os programadores relaxem as garantias de consistência, tipicamente levando a comportamentos incorretos. Neste trabalho, apresentamos a Speculatra, uma framework para a construção de aplicações descentralizadas baseadas em blockchains, corretas e eficientes. A Speculatra permite que os programadores evitem os percauços comuns e desenvolvam aplicações mais robustas, ao mesmo tempo que contribui para reduzir a latência da aplicação especulando sobre o resultado das transações que ainda não foram confirmadas. A nossa avaliação do Speculatra, em Ethereum, demonstra que Speculatra consegue diminuir a latência das operações até 80%, quando a especulação está correta. , en=As the popularity of blockchain technologies has risen, its applications have expanded outside the original cryptocurrency setting. Modern blockchains, such as Ethereum, enable the development of complex applications through the use of Smart Contracts. Despite its increasing popularity, blockchain application development faces many challenges, preventing the widespread adoption of blockchain technologies. The current programming model requires that programmers have a deep understanding of the blockchain's internal behavior and structures to build correct applications. Additionally, the high commit times lead developers to relax consistency guarantees, often leading to incorrect behaviors and bugs. In this work, we introduce Speculatra, a framework for building efficient correct blockchain-based decentralized applications. Speculatra allows developers to avoid common pitfalls and build more robust applications, while also decreasing latency by speculating on the outcome of transactions. Our evaluation on the Ethereum network shows that Speculatra can decrease the latency of operations up to 80% when the speculation is successful.}
{pt=Blockchains, Smart Contracts, Consistência forte, Execução especulativa, DApps, en=Blockchains, Smart contracts, Strong consistency, Speculative execution, DApps}

Janeiro 13, 2021, 14:30

Orientação

ORIENTADOR

João Pedro Faria Mendonça Barreto

Departamento de Engenharia Informática (DEI)

Professor Auxiliar

ORIENTADOR

Miguel Ângelo Marques de Matos

Departamento de Engenharia Informática (DEI)

Professor Auxiliar