Ajude a atualizar esta página

🌏

Há uma nova versão desta página mas, no momento, ela está apenas em inglês. Ajude-nos a traduzir a última versão.

Nenhum bug encontrado!🐛

Por enquanto, esta página permanecerá em inglês.

Introdução à aplicativos descentralizados (dapps)

Última edição: , Invalid DateTime
Editar Página

Um aplicativo descentralizado (dapp) é um aplicativo construído em uma rede descentralizada que combina um contrato inteligente e uma interface de usuário de front-end. Observe que no Ethereum os contratos inteligentes são acessíveis e transparentes – como APIs abertas — então, seu dapp pode até incluir um contrato inteligente que outra pessoa escreveu.

Pré-requisitos

Antes de aprender sobre dapps, você deve entender sobre os fundamentos da blockchain, ler sobre a rede Ethereum e como ela é descentralizada.

Definição de dapp

Um dapp tem seu código de back-end em execução em uma rede peer-to-peer descentralizada. Contraste isso com um aplicativo no qual o código de back-end está sendo executado em servidores centralizados.

Um dapp pode ter código front-end e interfaces de usuário escritas em qualquer linguagem (como um aplicativo) que podem fazer chamadas para seu back-end. Além disso, o front-end dele pode ser hospedado em um sistema de armazenamento descentralizado, como IPFS.

  • Descentralizado: os dapps operam no Ethereum, uma plataforma descentralizada pública aberta onde ninguém ou grupo tem controle
  • Determinista ou seja, eles desempenham a mesma função independentemente do ambiente em que são executados.
  • Turing completo: os dapps podem executar qualquer ação, dados os recursos necessários
  • Isolado: significa que eles são executados em um ambiente virtual conhecido como Ethereum Virtual Machine para que, se o contrato inteligente tiver um bug, não dificultará o funcionamento normal da rede blockchain

Sobre contratos inteligentes

Para introduzir dapps, precisamos introduzir contratos inteligentes (que são dapps de back-end, para assim dizer). Para obter uma visão geral detalhada, vá para a nossa seção sobre contratos inteligentes.

Um contrato inteligente é um código presente na blockchain Ethereum e funciona exatamente como programado. Uma vez que eles são implantados na rede, você não pode alterá-los. Os dapps podem ser descentralizados porque são controlados pela lógica escrita no contrato, não por um indivíduo ou empresa. Isso também significa que você precisa projetar seus contratos com muito cuidado e testá-los cuidadosamente.

Benefícios do desenvolvimento de dapps

  • Zero tempo de inatividade: uma vez que o contrato inteligente é implementado na base de um aplicativo e na blockchain, a rede como um todo sempre será capaz de atender clientes que procuram interagir com o contrato. Os atores mal-intencionados, portanto, não podem lançar ataques de negação de serviço direcionados a dapps individuais.
  • Privacidade: você não precisa fornecer identidade real para implantar ou interagir com um dapp.
  • Resistância à censura: nenhuma entidade na rede pode impedir que os usuários enviem transações, implantem dapps ou leiam dados da blockchain.
  • Completar a integridade dos dados: os dados armazenados na blockchain são imutáveis e indiscutíveis, graças aos primitivos criptográficos. Atores mal-intencionados não podem forjar transações ou outros dados que já foram tornados públicos.
  • Computação insegura/comportamento verificável: os contratos inteligentes podem ser analisados e garantidos para execução de formas previsíveis, sem a necessidade de confiar em uma autoridade central. Isso não é verdade nos modelos tradicionais; por exemplo, quando usamos sistemas bancários on-line, temos que confiar que as instituições financeiras não usarão indevidamente nossos dados financeiros, adulterarão registros ou serão hackeadas.

Benefícios do desenvolvimento de dapps

  • Manutenção: os dapps podem ser mais difíceis de manter, porque o código e os dados publicados na blockchain são mais difíceis de modificar. É difícil para os desenvolvedores fazerem atualizações em seus dapps (ou nos dados subjacentes armazenados por um dapp) quando eles são implantados, mesmo que bugs ou riscos de segurança sejam identificados em uma versão antiga.
  • Impactos no desempenho: há um grande impacto no desempenho, e o dimensionamento é realmente difícil. Para alcançar o nível de segurança, integridade, transparência e confiabilidade que o Ethereum aspira, cada nó executa e armazena cada transação. Além disso, a prova de trabalho também leva tempo. Um cálculo rápido permite estimar a sobrecarga em torno de 1.000.000 vezes o cálculo padrão atual.
  • Congestionamento da rede : pelo menos no modelo atual, se um dapp estiver usando muitos recursos computacionais, toda a rede é apoiada. Atualmente, a rede só é capaz de processar cerca de 10 transações por segundo; se as transações estiverem sendo enviadas mais rápido do que isso, o pool de transações não confirmadas poderá aumentar rapidamente.
  • Experiência do usuário: pode ser mais difícil projetar experiências amigáveis ao usuário porque o usuário final pode achar muito difícil configurar uma pilha de ferramentas necessária para interagir com a blockchain de uma forma verdadeiramente segura.
  • Centralização: soluções amigáveis para o usuário e amigáveis ao desenvolvedor construídas sobre a camada base do Ethereum podem acabar parecendo serviços centralizados. Por exemplo, tais serviços podem armazenar chaves ou outros pontos sensíveis do servidor de informações, servir um front-end usando um servidor centralizado ou executar uma lógica de negócios importante em um servidor centralizado antes de escrever na blockchain. A centralização elimina muitas (se não todas) das vantagens da blockchain sobre o modelo tradicional.

Você é o tipo de pessoa que aprende mais com recursos visuais?

Ferramentas para os dapps

Scaffold-ETH : experimente rápido com Solidity usando um front-end que se adapta ao seu contrato inteligente.

Crie um aplicativo Eth: crie aplicativos com a tecnologia Ethereum apenas com um comando.

One Click Dapp : ferramenta FOSS para gerar front-end de dapp de um ABI.

Etherflow : ferramenta FOSS para desenvolvedores de Ethereum testar seus nós e compor e depurar chamadas RPC do navegador.

Leitura adicional

Conhece um recurso da comunidade que o ajudou? Edite esta página e adicione-o!

Was this article helpful?