Propostas atribuídas

DEI - FCTUC
Gerado a 2024-04-29 07:37:57 (Europe/Lisbon).
Voltar

Titulo Estágio

Exploração de Smart Contracts Blockchain

Áreas de especialidade

Sistemas de Informação

Engenharia de Software

Local do Estágio

DEI

Enquadramento

A tecnologia Blockchain apareceu para suprir necessidades de registo levantadas no desenvolvimento da Bitcoin. Com esta criptomoeda, o autor pretendeu criar um sistema de pagamentos electrónicos que dispensasse o tradicional papel intermediário de provedor de confiança (trusted third party) desempenhado pelas instituições financeiras (Nakamoto, 2008). Porém, para usar qualquer forma de dinheiro digital é necessário resolver o designado double-spending problem, isto é, conseguir garantir que as mesmas “moedas virtuais” não possam ser gastas mais que uma vez. Sem mecanismos dedicados, em princípio seria simples duplicar os tokens digitais correspondentes às moedas, possibilitando o seu uso num pagamento mas retendo uma cópia. Tal seria o equivalente a copiar (falsificar) o tradicional papel-moeda.
A solução encontrada foi criar um livro-razão (ledger), distribuído por uma rede de pares, que validam as transacções usando um mecanismo de consenso. Blocos de transacções são encadeados com o histórico de forma segura, usando timestamps e criptografia, tornando a cadeia (Blockchain) virtualmente imutável (Lansiti & Lakhani, 2017). Dependendo da forma de implementação, junta-se a transparência e a auditabilidade à capacidade desta tecnologia de evitar fraudes nas transacções sem ter de recorrer a uma entidade de confiança e sem que os intervenientes tenham que confiar uns nos outros. Tal tem suscitado um interesse crescente na aplicação de Blockchain a uma imensa gama de problemas a nível organizacional, interorganizacional e de modelos de negócio, e também societal. Alguns exemplos são a prevenção do comércio de diamantes de sangue (Volpicelli, 2017), a segurança dos dados médicos (Azaria, 2016), o combate à falsificação de medicamentos (Dickson, 2016), o aumento de eficiência da logística marítima (Gronholt-Pedersen, 2018), ou a prevenção de fraude e corrupção relacionadas com evasão fiscal (Ainsworth, 2016) e com registos de terras (Kshetri, 2017).
Além das propriedades originais, versões mais evoluídas de Blockchain permitem também armazenar e fazer cumprir (enforce) o que se designa por smart contracts, módulos de código que são automaticamente executados quando se verifica um conjunto de condições predeterminadas. Estes artefactos reforçam a confiança e reduzem a incerteza entre parceiros de um ecossistema, dando garantia de observância de regras e acordos. Considere-se, por exemplo, o despoletar automático de pagamentos de seguros, ou de penalizações relacionadas com o incumprimento de service-level agreements.
Este inesperado leque de potenciais aplicações da tecnologia Blockchain, muito para lá do seu propósito original no domínio do dinheiro digital, tem originado um crescimento muito acentuado da investigação relacionada (Li, 2018; Risius, 2017), particularmente na utilização interna às empresas (e no domínio B2B - Business to Business). Não obstante, o momento actual é comparado ao da introdução da própria World Wide Web. Então, como agora, poucos conseguiam prever a extensão das disrupções que iriam ser causadas pela nova tecnologia.

Objetivo

O objectivo deste estágio é explorar as possibilidades da linguagem de criação de smart contracts DAML (https://daml.com) e perceber as suas vantagens e inconvenientes quando comparada com outras soluções baseadas em linguagens mais tradicionais, como Go, usadas em Hyperledger.

Plano de Trabalhos - Semestre 1

O plano de trabalhos tentativo para o primeiro semestre é o seguinte:
1. Estudo breve da teoria subjacente à tecnologia Blockchain.
2. Estudo aprofundado da teoria subjacente aos smart contracts e implementações mais populares. Escrita do capítulo respectivo da tese.
3. Estudo aprofundado da linguagem DAML (recursos e apoio poderão ser disponibilizados pela empresa Inglesa Digital Asset). Escrita do capítulo respectivo da tese.
4. Instalação de um ambiente Hyperledger para experiências de desenvolvimento.

Plano de Trabalhos - Semestre 2

O plano de trabalhos tentativo para o segundo semestre é o seguinte:
1. Identificação de cenários de utilização de smart contracts
2. Implementação de variadas experiências usando a linguagem DAML para análise da sua adequação a diversos cenários
3. Comparação prática de smart contracts desenvolvidos em DAML e outras linguagens, incluindo as dimensões de despemoenhho, capacidade expressiva, compreensibilidade e extensibilidade.
4. Escrita de um artigo científico sobre o trabalho realizado.
5. Escrita dos capítulos restantes da tese.

Condições

N/A

Observações

Tese realizada em co-supervisão por:
Prof. Paulo Rupino da Cunha, Departamento de Engenharia Informática.
Prof. Paulo Melo, Faculdade de Economia.

Orientador

Paulo Rupino da Cunha
rupino@dei.uc.pt 📩