Titulo Estágio
Análise de plataformas Blockchain
Áreas de especialidade
Sistemas de Informação
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
Com esta dissertação pretende-se identificar e ensaiar as possibilidades práticas dos principais softwares propostos para suporte a Blockchains (públicos e privados) disponíveis atualmente, como por exemplo Hyperledger e Ethereum. De facto, as diferentes necessidades que o Blockchain se propõe endereçar e as limitações encontradas com as diferentes implementações divulgadas até ao momento tem causado a criação de um conjunto de ferramentas de software (na sua maioria open-source), com diferentes capacidades e limitações.
A análise comparativa destes sistemas deverá ser realizada num conjunto de dimensões incluindo escalabilidade, facilidade de incorporação em sistemas empresariais, entre outros. A metodologia de análise incluirá a recolha de informação bibliográfica e a utilização prática das plataformas num conjunto limitado de casos pré-definidos. Para recolha de informação, poderá ser necessária a criação de sistemas exemplo / provas de conceito com capacidade de serem instrumentados para a recolha de resultados para posterior análise estatística.
Plano de Trabalhos - Semestre 1
No primeiro semestre preconizam-se as seguintes actividades:
1. Estudo da teoria subjacente à tecnologia Blockchain e escrita de capítulo de estado da arte (incluindo mecanismos de consenso, smart contracts, problemática associada aos oráculos);
2. Pesquisa de literatura existente sobre teste de Blockchains, identificando nomeadamente dimensões de análise e técnicas de recolha de informação a usar;
3. Identificação e início da instalação prática das plataformas de software mais maduras para implementação de Blockchains públicas e privadas ou acesso às mesmas;
4. Descrição simplificada do(s) estudo(s) de caso(s) que serão usados nos testes e identificação completa das dimensões a usar para a análise comparativa das plataformas;
5. Início da escrita de um artigo científico, descrevendo o estado da arte corrente, plataformas consideradas para análise e as suas características;
Plano de Trabalhos - Semestre 2
No segundo semestre preconizam-se as seguintes actividades:
1. Conclusão da instalação das plataformas de software de suporte a Blockchain identificadas no 1º semestre;
2. Construção e instrumentação do ambiente de teste/provas de conceito, após identificação do suporte necessário para a recolha das medidas identificadas anteriormente;
3. Realização dos testes com as plataformas anteriores;
4. Recolha de resultados dos testes e análise estatística dos mesmos;
5. Conclusão da escrita do artigo científico usando a informação obtida;
6. Escrita da tese;
Condições
N/A
Observações
N/A
Orientador
Paulo Rupino da Cunha
rupino@dei.uc.pt 📩