This article has been translated from English to Portuguese.

Como mencionei na lição anterior sobre contratos inteligentes, o Ethereum é umaplataforma de computação que te permite criar e executar contratos inteligentes.

Um contrato inteligente é uma peça pré-programada de código de software ("programa de computador") em que, quando as condições especificadas são cumpridas, o código é executado automaticamente.

A maioria dos programadores que criam contratos inteligentes estão a fazê-lo como parte de uma aplicação descentralizada ou "dApp" que estão a construir.

Mas o que são dApps? E porque é que são importantes?

dApp

O que é uma aplicação descentralizada (dApp)?

Uma aplicação descentralizada, também conhecida como "dApp", "Dapp" ou "dapp", é uma aplicação de software que funciona de forma autónoma utilizando contratos inteligentes.

Uma vez que os contratos inteligentes são apenas programas de computador que se auto-executam de acordo com condições pré-determinadas explicitamente escritas em código, é isto que permite que as dApps funcionem autonomamente, sem qualquer envolvimento humano.

As "dApps" são muito semelhantes às aplicações web ou móveis, exceto que as dApps são construídas utilizando contratos inteligentes e são executadas numa cadeia de blocos.

No sentido mais simples, uma dApp é um contrato inteligente e uma interface de utilizador web (UI).

dApp = frontend + backend de contrato inteligente

Por outras palavras, combina uma interface de utilizador (UI) frontend que se parece com o teu bom e velho smartphone ou aplicação web com a funcionalidade de contratos inteligentes a correr no backend.

O frontend de uma aplicação refere-se à parte da aplicação que é apresentada no ecrã do utilizador ou na interface gráfica do utilizador (GUI). O bakend de uma aplicação refere-se à parte da aplicação que não é apresentada no ecrã do utilizador ("frontend").

As dApps permitem que duas partes façam uma transação ou um acordo em código sem necessitarem de um intermediário ou de uma autoridade central para o cumprirem. Podem simplesmente confiar no código para garantir que o contrato é cumprido.

As dApps também são de código aberto, o que significa que o código fonte está à disposição de qualquer pessoa. Isto torna as dApps mais fáceis de confiar, uma vez que o código fonte pode ser inspeccionado e qualquer intenção maliciosa pode (teoricamente) ser detectada.

Como as empresas de tecnologia guardam o seu código a sete chaves, não sabemos realmente como funciona o algoritmo de pesquisa ultrassecreto do Google ou se a Alexa está realmente a ouvir as nossas conversas.

Com os contratos inteligentes e as dApps, podemos ver se tudo está bem.

Os dApps também são resistentes à censura. Isto significa que os governos ou as grandes empresas não têm forma de bloquear qualquer conteúdo ou banir utilizadores.

Isto pode ser uma coisa boa e má, dependendo de como é usado (ou abusado). A censura nas redes sociais, por exemplo, tem sido um tópico de debate, uma vez que plataformas como o Facebook podem banir utilizadores pelas suas opiniões políticas ou espalhar notícias falsas.

Se uma dApp está programada para fazer algo e o contrato inteligente é executado, não há nada que alguém possa fazer para parar ou reverter o código. Não há nada como "Achei giro, posso apagar mais tarde".

Por último, uma das grandes vantagens das dApps é o facto de serem difíceis de pôr offline.

Os dApps funcionam numa rede de computadores descentralizados (que podem ser centenas ou milhares, dependendo da blockchain) em todo o mundo.

Decentralized app (dApp)

Mesmo que alguns (ou algumas centenas) fiquem offline, o resto da rede continua a executar o blockchain para garantir um tempo de inatividade praticamente zero.

Tudo isso é muito bom, mas vale a pena notar que ainda existem algumas desvantagens nos dApps, particularmente do lado dos programadores.

Como o código e os dados publicados na blockchain são mais difíceis de modificar, pode ser um desafio extra para os desenvolvedores fazer atualizações do dApp depois de implantado. Isto significa que a correção de bugs em versões mais antigas ou a introdução de novas funcionalidades pode ser uma dor de cabeça... pp.

Além disso, os benefícios de correr na rede Ethereum (ou seja, segurança, transparência, descentralização e fiabilidade) têm um custo elevado.

O atual mecanismo de consenso do Ethereum (PoW) demora algum tempo e cada nó tem de executar e armazenar cada transação, o que aumenta as exigências computacionais.

Mesmo que os dApps não fiquem completamente offline, o congestionamento da rede pode ocorrer e fazer com que o tempo de execução fique mais lento.

Estas compensações dificultam a escalabilidade dos dApps, mas as futuras actualizações do Ethereum prometem resolver alguns destes problemas, como a mudança para o mecanismo de consenso de prova de participação (PoS).

O que é um exemplo de um dApp?

Para teres uma melhor ideia de como os dApps funcionam no mundo real, vamos olhar para o Uniswap como um exemplo.

Construído na blockchain Ethereum, o Uniswap é uma troca descentralizada (DEX).

Fornece uma aplicação que permite aos utilizadores trocar ou "trocar" facilmente activos criptográficos.

Vê aqui como é a interface de utilizador da aplicação:

Uniswap

Ao contrário das trocas tradicionais que usam livros de pedidos centralizados para gerenciar a liquidez e definir preços, o Uniswap DEX é executado na tecnologia AMM.

"AMM" significa "automated market maker", que é apenas um termo sofisticado para um contrato inteligente que depende de um pool de liquidez em vez de um livro de ordens e usa uma fórmula matemática para determinar os preços de compra e venda.

Com efeito, o Uniswap não detém nenhum dos activos criptográficos na bolsa nem toma o lado oposto das transacções para criar liquidez.

Em vez disso, as transacções acontecem entre ti e um contrato inteligente. Dentro do contrato inteligente, existe uma fórmula matemática que determina o preço a que podes comprar ou vender um ativo criptográfico.

De onde vêm os activos criptográficos? Por exemplo, se eu quiser trocar alguns dos meus ETH por BAT, de quem vou obter o BAT se a AMM estiver a tratar da transação?

É aqui que entram em jogo os "pools de liquidez". Outros utilizadores depositam os seus activos criptográficos para fornecer liquidez e são compensados com uma parte da taxa de negociação.

Uma vez que o Uniswap DEX funciona com software de código aberto, os utilizadores podem verificar o código-fonte se houver algo de obscuro.

O protocolo é público e sem permissões, o que significa que qualquer pessoa pode usar o dApp se quiser comprar ou vender ativos criptográficos. Não precisas de registar uma conta ou pedir acesso. Tudo o que precisas de fazer é ligar a tua carteira de criptomoedas.