Dissertação

{en_GB=Blockchain as a Consensus Service} {} EVALUATED

{pt=As criptomoedas, das quais Bitcoin e Ethereum são as mais populares, são baseadas numa abstração subjacente conhecida como blockchain. A blockchain em si é construída de modo a oferecer duas abstrações diferentes, mas complementares: um registo distribuído inviolável e um mecanismo de consenso. As propriedades de consenso da blockchain são significativamente diferentes dos algoritmos de consenso clássicos na literatura de sistemas distribuídos. Além disso, essas propriedades diferem dependendo do tipo de blockchain e do algoritmo de consenso subjacente. Nesta dissertação, exploramos a ideia de como criar um serviço de consenso sobre blockchains existentes e como as diferentes garantias que esta oferece podem ser exploradas pelas aplicações. Devido às propriedades da blockchain, a API fornecida por um serviço de consenso baseado em blockchain é mais complexo do que a fornecida por implementações de consenso mais tradicionais, como Paxos, PBFT ou Raft. O \ac{BCS}, permite que as aplicações equilibrem desempenho e coerência, ou seja, permite que as aplicações mudem de um consenso mais caro que garante uma coerência forte, para um que garante menos coerência e é mais eficiente. Com isto, fornecemos um serviço de consenso com tolerância a falhas bizantinas, uma API clássica que oferece coerência incremental e um registo distribuído inviolável. , en=Cryptocurrencies, of which Bitcoin and Ethereum are the most popular, are based on an underlying abstraction known as blockchain. The blockchain itself is built to offer two different but complementary abstractions: a distributed tamper-proof ledger and consensus. The properties of blockchains consensus are significantly different from classical consensus algorithms in the distributed computing literature. Moreover, those properties diverge depending on the type of blockchain and the underlying consensus algorithm. In this dissertation, we explore how to build a consensus service on top of existing blockchains, and how the different guarantees provided by the latter can be exploited by applications. Due to blockchain properties, the API provided by a blockchain based consensus service is more complex than the one provided by implementations of traditional consensus algorithm such as Paxos, PBFT or Raft. \ac{BCS}, allows applications to balance performance and consistency i.e., applications can change from a costly strong consistent consensus execution to a weakly consistent and more efficient one. With this, we provide a Byzantine fault tolerant consensus service with a classic API that offers incremental consistency and a distributed tamper-proof ledger.}
{pt=Blockchain, Consenso, Faltas Byzantinas, Coerência incremental, en=Blockchain, Consensus, Byzantine Fault Tolerance, Incremental Consistency}

Novembro 9, 2018, 10:30

Publicação

Obra sujeita a Direitos de Autor

Orientação

ORIENTADOR

Miguel Nuno Dias Alves Pupo Correia

Departamento de Engenharia Informática (DEI)

Professor Associado

ORIENTADOR

Miguel Ângelo Marques de Matos

Departamento de Engenharia Informática (DEI)

Professor Auxiliar