Tutorial Ethereum para iniciantes: contratos inteligentes, DApps, benefícios e limitações
Publicados: 2021-03-11Imagine que você está em uma dessas situações:
- Sua conta de carteira eletrônica foi bloqueada pela plataforma por algum motivo.
- Sua empresa tem que trabalhar para um cliente, mas você não sabe se pode confiar nele ou não.
- Sua conta de mídia social foi hackeada.
Todas essas situações são muito dolorosas, certo? E se lhe dissermos que existe uma tecnologia que oferece soluções para todas essas situações (e muito mais). Essa tecnologia é Ethereum e este tutorial Ethereum para iniciantes o tornará mais familiarizado com ela.
Aprenda a Certificação de Desenvolvimento de Software online das melhores universidades do mundo. Ganhe Programas PG Executivos, Programas de Certificado Avançado ou Programas de Mestrado para acelerar sua carreira.
Índice
Ethereum - Uma Breve História
Aqui está uma linha do tempo de tudo o que você precisa saber sobre o desenvolvimento do Ethereum:
- Novembro de 2013 – Vitalik Buterin, um desenvolvedor inicialmente envolvido em Bitcoins, publicou um whitepaper no Ethereum.
- Janeiro de 2014 – A empresa suíça Ethereum Switzerland GmbH anunciou o desenvolvimento do projeto de software Ethereum liderado por uma equipe de desenvolvedores incluindo Vitalik Buterin, Mihai Alisie, Anthony Di Iorio e Charles Hoskinson.
- Agosto de 2014 – Ethereum encerra sua ICO e levanta com sucesso US$ 18,4 milhões.
- Maio de 2015 – Ethereum lança sua primeira rede de teste, Olympic.
- Julho de 2015 – Frontier, a primeira versão do Ethereum foi lançada.
- Março de 2016 – Homestead, a atualização da segunda versão da rede Ethereum foi lançada.
- Maio de 2016 – Ethereum recebe ampla cobertura da mídia quando a DAO (Organização Autônoma Descentralizada) arrecadou um recorde de US$ 150 milhões em uma venda coletiva.
- Junho de 2016 – Ocorre o hack DAO, levando a uma perda de US$ 50 milhões em Ether (constituía quase 15% do total de Ether em circulação naquela época).
- Julho de 2016 – A rede Ethereum se ramificou em duas partes: Ethereum (ETH) e Ethereum Classic (ETC).
- Junho de 2017 – Ethereum fatura mais de US$ 400 com um aumento recorde de 5001% desde 1º de janeiro de 2017.
O que é Ethereum?
Ethereum é uma solução de software descentralizada, de código aberto e baseada em blockchain que usamos para criar sua própria criptomoeda chamada ether. Ele permite que você crie e execute aplicativos distribuídos (DApps) e contratos inteligentes em sua plataforma sem qualquer fraude, tempo de inatividade ou interferência de terceiros.
Além de ser uma plataforma robusta, o Ethereum também é uma linguagem de programação (Turing Complete) que roda em blockchain. Em termos simples, o Ethereum é uma plataforma descentralizada que você pode usar para programar uma moeda digital.
Ethereum é o maior aplicativo de software descentralizado e, com sua ajuda, você pode facilmente criar e publicar DApps de última geração.
Desde sua chegada, o Ethereum transformou completamente a indústria de blockchain. Antes de sua chegada, as soluções baseadas em blockchain não eram capazes de executar um conjunto diversificado de aplicativos. Por exemplo, Bitcoin e outras criptomoedas só poderiam operar como moedas digitais enquanto o Ethereum chegou como uma plataforma para desenvolvedores criarem programas baseados em Blockchain.
O Ethereum é acessível a todos e permite que todos desenvolvam um programa baseado no blockchain Ethereum. De acordo com Ethereum.org , “Ethereum é a blockchain programável do mundo”.
As pessoas por trás do Ethereum pegaram os conceitos fundamentais do Bitcoin e criptomoedas semelhantes e adicionaram mais funcionalidades a eles e criaram esta solução blockchain altamente popular.
Em setembro de 2019 , o Ethereum era a segunda maior criptomoeda do mundo e atrás apenas do aplicativo blockchain mais popular, o Bitcoin. No entanto, você pode adquirir ether (criptomoeda do Ethereum) muito rapidamente em comparação com o Bitcoin, pois o primeiro leva apenas 14 a 15 segundos, enquanto o último leva quase dez minutos.
Para entender o Ethereum corretamente, você deve estar familiarizado com alguns componentes fundamentais dessa tecnologia. A seguir estão os principais aspectos do Ethereum que você deve conhecer:
- Éter
- Gás
- Máquina Virtual Ethereum
- Contratos inteligentes
- DApps (Aplicativos Descentralizados)
Nas seções a seguir do nosso tutorial Ethereum para iniciantes, abordaremos esses conceitos e entenderemos o funcionamento interno dessa plataforma blockchain:
Ethereum - Termos importantes que você deve conhecer
1. Emissão de moeda
Em todos os países, a emissão de moeda é gerenciada e monitorada principalmente pelo banco central de uma nação ou pela autoridade monetária do país. Por exemplo, na Índia, o RBI é a autoridade monetária que regula todos os outros bancos e autoridades financeiras.
2. Organização Autônoma Descentralizada
A Organização Autônoma Descentralizada é uma organização digital gerenciada e regulada por um conjunto de regras codificadas como um programa de computador que não é influenciado por uma autoridade governamental central – é totalmente transparente e controlado pelos acionistas. As práticas e registros de transações financeiras de um DAO são mantidos em uma rede Blockchain.
3. Contratos inteligentes
Um contrato inteligente é um protocolo de computador projetado para facilitar e verificar a negociação ou execução do contrato entre duas ou mais partes. Esses contratos digitais contam com um sistema de consenso e são realizados sem a intervenção de terceiros.
4. Propriedade Inteligente
Propriedade inteligente pode significar tanto ativos físicos quanto ativos criptográficos (compartilhamentos, direitos de acesso a uma rede, etc.) que são construídos no Ethereum. A propriedade da propriedade inteligente é controlada pela Ethereum Wallet, que funciona como um gateway para DApps na blockchain Ethereum.
5. Solidez
Solidity é uma linguagem orientada a objetos de alto nível usada para implementar contratos inteligentes no Ethereum. Ele se inspirou nas linguagens de programação C++, Python e JavaScript e foi projetado para atingir a Ethereum Virtual Machine (EVM)
6. Máquina Virtual Ethereum
A Ethereum Virtual Machine (EVM) é um ambiente de tempo de execução projetado para contratos inteligentes. Essencialmente, o EVM é uma camada de computador virtual logo acima do hardware subjacente. Essas camadas virtuais criam um nível de abstração entre o código em execução e a máquina em execução. O EVM ajuda a melhorar a portabilidade do software e também garante que os aplicativos não sejam apenas separados uns dos outros, mas também de seu host.
7. Transações
Transações são mensagens que são enviadas de uma conta para outra. Eles incluem dados binários que são chamados de Ether. É uma transferência de valor/s que é transmitida para a rede Ethereum e coletada em blocos.
A Rede Ethereum
Até agora, você já sabe que a rede Ethereum é uma rede Blockchain pública distribuída e descentralizada. No entanto, há muito mais do que isso. O Ethereum é a base para todos os aplicativos e organizações P2P descentralizados executados na rede Ethereum. Esta rede é composta por dois nós únicos – nós completos e nós leves.
Nós completos são aqueles que contêm o histórico completo das transações desde o bloco gênese (pai) . Eles registram todas as transações que foram validadas e verificadas de acordo com as regras estabelecidas nas especificações da Ethereum. Portanto, os nós completos são a prova da integridade, segurança e transparência da rede Blockchain.
Ao contrário dos nós completos, os nós leves contêm apenas um subconjunto de todo o Blockchain. Nós leves não verificam todas as transações e podem/não podem conter uma cópia do estado atual do Blockchain. Eles dependem principalmente dos nós completos para fornecer detalhes ausentes ou funcionalidades específicas específicas. Como o nome sugere, nós leves são leves e, portanto, podem ser executados mais rapidamente em dispositivos com restrição de memória. Os nós leves são usados principalmente em carteiras eletrônicas que são inerentemente leves.
O que é éter?
Ether é a criptomoeda que você usa na rede Ethereum para fazer pagamentos de transações. Você pode usar o Ether das duas maneiras a seguir:
- Os aplicativos exigem pagamento Ether para realizar qualquer operação na plataforma para evitar que programas maliciosos e corrompidos sejam executados na rede.
- A rede usa o Ether para recompensar os mineradores que contribuem para a rede Ethereum, assim como o Bitcoin.
Além desses aplicativos, você pode usar o Ether para comprar gás, que abordamos na próxima seção do nosso tutorial Ethereum para iniciantes. No Ethereum, o Ether é uma unidade métrica, que permite pagar pelo gás e pelas transações com precisão. A menor denominação para éter é Wei. Um Éter tem 1e18 Wei.
O que é Gás?
O Ether não é a única moeda digital disponível no Ethereum. Ao executar uma transação no Ethereum, você teria que fazer um pagamento de Ether ao minerador através do Gás. O gás é um token intermediário e permite medir o trabalho computacional necessário para concluir uma transação ou executar um contrato inteligente.
O preço do Gás é expresso em Ether. Além disso, os mineradores determinam o preço do gás e podem se recusar a executar um contrato inteligente ou processar uma transação que não ofereça o preço do gás necessário.
Calculamos a taxa de transação no Ethereum através da seguinte equação:
Éter = Limite de Gás x Preço do Gás
Aqui, Preço do Gás é a quantidade de Ether que você tem que pagar e Limite de Gás é a quantidade de Gás usada para o processo de cálculo. O Limite de Gás e o Preço do Gás garantem que um contrato termine em um determinado ponto.
Para onde vai o Gás no Éter? Ele vai na Ethereum Virtual Machine (EVM), que abordamos na seção a seguir:
O que é a máquina virtual Ethereum?
A Máquina Virtual Ethereum é o local onde todas as transações na Ethereum são realizadas. Permite desenvolver todas as aplicações em uma única plataforma. Podemos dizer que o EVM é o mecanismo que executa toda a rede Ethereum.
Embora o Ethereum tenha definido protocolos definidos para o desenvolvimento de aplicativos descentralizados, ele conseguiu fazê-lo por causa do EVM. A Máquina Virtual Ethereum é isolada e em sandbox. Isso significa que o código que executa o EVM não tem acesso ao sistema de arquivos ou à rede e tem muito pouco acesso a outros contratos.
Quando você insere seu código Solidity no Ethereum, ele primeiro vai para o Ethereum Compiler. Depois disso, ele envia o Bytecode EVM para a Máquina Virtual Ethereum que trata do resto do processo.
O EVM gerencia a computação e o estado interno do Ethereum. Ele executa código, mantém um banco de dados interno e possui vários objetos chamados “contas” que podem conversar entre si.
O que são Contratos Inteligentes?
Um contrato inteligente é um programa de computador que é executado automaticamente. Como um protocolo de transação, ele permite que você troque mercadorias, dinheiro e serviços por meio de blockchain. Os contratos inteligentes têm condições específicas definidas por ambas as partes e quando ambas as partes cumprem suas respectivas condições, o contrato inteligente é executado de acordo.
Com contratos inteligentes, você pode realizar várias tarefas, como votação descentralizada e muito mais. Em termos simples, um contrato inteligente é um contrato que executa, impõe, gerencia e trata o pagamento automaticamente.
Para executar um contrato inteligente no Ethereum, você precisará de tokens (Ether). Sem a criptomoeda necessária, você não pode usar contratos inteligentes no Ethereum.
Para criar um contrato inteligente, você precisará usar Solidity, a linguagem de programação de uso geral da Ethereum. Ele foi desenvolvido para ser executado na Máquina Virtual Ethereum e permite realizar cálculos arbitrários, armazenar estados e realizar transações de tokens digitais.
Os contratos inteligentes oferecem múltiplas vantagens devido às quais estão se tornando cada vez mais populares. A maior vantagem de usar contratos inteligentes é que eles eliminam a necessidade de ter um intermediário.
Como os contratos inteligentes são automáticos, não há margem de erro humano. Eles estão presentes de forma virtual e são bastante acessíveis em comparação aos contratos tradicionais. Contratos inteligentes têm casos de uso em potencial em vários setores, incluindo:
- Assistência médica
- Finanças e bancos
- Serviços B2B (Serviços de TI, Serviços de Marketing, etc.)
Leia também: Ideias e tópicos do projeto Ethereum
O que são DApps?
Um DApp ou aplicativo descentralizado é um aplicativo de software executado em uma rede distribuída. Ele é hospedado em uma rede descentralizada ponto a ponto em vez de um servidor central. Um DApp pode ser qualquer aplicativo de software, como um aplicativo móvel ou um site. A diferença entre um DApp e um aplicativo convencional é que ele é construído em uma rede descentralizada.
A interface de usuário de um aplicativo descentralizado é como a interface de qualquer aplicativo convencional. No entanto, todos os processos de back-end de um aplicativo descentralizado são baseados em uma rede descentralizada.
Ethereum é uma rede blockchain descentralizada, então quando você cria um aplicativo baseado no Ethereum, você está essencialmente criando um aplicativo descentralizado. DApps são um conceito relativamente novo, mas estão se tornando altamente populares.
À medida que as pessoas se preocupam mais com sua privacidade e segurança, a demanda por DApps aumentará de acordo. Aprender sobre eles cedo pode facilmente lhe dar uma vantagem na carreira.
Semelhante aos aplicativos descentralizados, o Ethereum também possui organizações autônomas descentralizadas (DAO). Essas organizações existem apenas no blockchain e são controladas pelos protocolos do blockchain. Essas organizações são criadas para manter ativos e usar um sistema de votação para gerenciar a distribuição dos mesmos. Saiba tudo o que você precisa saber sobre DApps.
Moedas Ethereum
Como mencionado anteriormente, a rede Ethereum é executada em dois tipos de criptomoedas – Ether e Gas.
1. Éter
Ether é o nome da criptomoeda que é usada para pagar todas as transações realizadas na rede Ethereum. No entanto, além de pagar por transações e serviços gerais, o Ether também é usado para comprar Gás, que é usado para pagar por serviços de computação dentro do EVM.
Ether é uma unidade métrica com várias denominações para ajudar os usuários a pagar o valor exato das transações e do gás. A menor denominação – a unidade básica – do Éter é conhecida como Wei. Aqui está uma tabela completa de todas as denominações de Éter:
2. Gás
O EVM executa o código implantado na rede Ethereum. Agora, você pode pensar que pode executar eficientemente um loop infinito no EVM e sobrecarregar sua memória. Graças ao Gás, isso não é possível.
O gás representa uma métrica para recursos computacionais na rede. Cada contrato na rede Ethereum recebe uma quantidade máxima de gás que pode ser usada para cálculos. Este limite definido é chamado de “Limite de Gás”. Existem dois outros termos de gás que você deve conhecer:
Preço do Gás – É o preço do Gás em termos de tokens como Ether e suas denominações. O Preço do Gás é um valor flutuante que ajuda a estabilizar o valor do Gás. Portanto, se o custo dos tokens ou da moeda flutuar, o preço do gás também se ajusta para manter o mesmo valor real.
Taxa de Gás – Representa a quantidade de Gás que se precisa pagar para executar uma determinada transação ou programa (contrato).
Assim, se você tentar executar um código infinito (um que seja executado para sempre), eventualmente o contrato excederá seu Limite de Gás alocado e toda a transação que invocou o contrato retornará ao seu estado original.
Quais são os benefícios e limitações do Ethereum?
Nesta seção do nosso tutorial Ethereum para iniciantes, veremos as várias vantagens desta plataforma blockchain:
- Com o Ethereum, você pode fazer upload e solicitar que programas sejam executados.
- Oferece armazenamento de dados permanente e persistente.
- Você pode criar um token negociável que pode ser usado como compartilhamento virtual ou como moeda digital.
- Oferece 100% de tempo de atividade e resistência a DDoS (Distributed Denial of Service).
- Você pode criar organizações virtuais (DAOs) no Ethereum.
- Ele permite que você crie DApps altamente seguros e tolerantes a falhas.
No entanto, como qualquer outra tecnologia, o Ethereum tem suas limitações. Aqui estão algumas desvantagens do Ethereum:
- Aplicativos que exigem verificação de ID de usuário serão problemáticos para construir no Ethereum, pois não haveria autoridade central para realizar a verificação.
- Atualizar um aplicativo ou corrigir bugs pode ser bastante desafiador porque todos os pares teriam que atualizar seu software de nó.
Mineração em Ethereum
Como qualquer outra tecnologia Blockchain, a Ethereum promove a segurança por meio de um modelo baseado em incentivos, popularmente conhecido como mecanismo de prova de trabalho. O algoritmo de prova de trabalho usado no Ethereum é chamado Ethash, um algoritmo de hash inspirado no Algoritmo Dagger-Hashimoto.
As etapas na mineração Ethereum são as seguintes:
- Um usuário inicia uma transação enviando valores Ether para outro usuário.
- Essa nova transação é então adicionada em um novo bloco junto com as demais transações contidas no bloco anterior.
- Os mineradores da rede competem para validar o novo bloco com um conjunto específico de instruções.
- O minerador que conseguir validar com sucesso o novo bloco e adicioná-lo à rede recebe uma recompensa, ou seja, um Ether.
- Uma vez validada a transação, o usuário que iniciou a transação também ganha um Ether.
Tutorial Ethereum para iniciantes: o que vem a seguir?
Ethereum é uma vasta tecnologia com múltiplos aspectos. Aprender sobre suas várias seções, como contratos inteligentes e mineração, pode ser bastante complicado sem recursos e orientação suficientes. Como você deve ter visto em nosso tutorial Ethereum para iniciantes, se você entender Blockchain e sua implementação no Ethereum, trabalhar com essa tecnologia se torna muito fácil.
É por isso que recomendamos fazer um curso de blockchain que abranja o Ethereum e todos os seus aspectos técnicos. Um curso de blockchain fornecerá um currículo estruturado para que você possa estudar com eficiência e eficácia.
Na upGrad, oferecemos vários cursos de blockchain que ajudam você a entender os conceitos básicos e avançados de blockchain com Ethereum. Você aprenderá o que é blockchain, o que é Ethereum, como eles funcionam juntos e como você pode usá-los como um profissional de blockchain.
No upGrad, você obtém os seguintes cursos de blockchain:
Mestrado em Ciência da Computação (Especialização em Desenvolvimento de Blockchain Oferecida)
O upGrad oferece este programa com a Liverpool John Moores University. Tem a duração de 19 meses e oferece mais de 500 horas de material de estudo. Durante este programa, você receberá orientação quinzenal em grupo com mentores do setor e mais de 30 projetos e atribuições. É um excelente curso de blockchain para pessoas que não têm experiência em tecnologia.
Inscreva-se no Programa de Certificado Avançado em Blockchain
Este curso tem duração de 7,5 meses e oferece mais de 250 horas de aprendizado. Você receberá o status de ex-aluno do ITT Bangalore e orientação personalizada 1:1 de especialistas da indústria de blockchain. Além do Ethereum, você também aprenderá sobre o Hyperledger Fabric, contratos inteligentes e muito mais.
Programa PG Executivo em Desenvolvimento de Software - Especialização em Blockchain
Este curso de 13 meses lhe dará uma Certificação Executiva de 4 meses em Ciência de Dados e Aprendizado de Máquina gratuitamente. Você estudará através de palestras ao vivo e sessões online durante este programa e aprenderá mais de 10 ferramentas e linguagens de programação. Além disso, você pode testar seus conhecimentos de blockchain e Ethereum
Todos os cursos acima exigem que você tenha um diploma de bacharel com 50% ou notas de aprovação equivalentes. Observe que você pode se inscrever em qualquer um desses cursos sem nenhuma experiência de codificação. Você aprenderá todas as habilidades necessárias para se tornar um profissional qualificado.
Conclusão
Ethereum é certamente uma tecnologia fenomenal. Ao concluir este tutorial Ethereum para iniciantes, você certamente deu o primeiro passo para aprender sobre essa tecnologia.
O Ethereum Blockchain tem muito mais aplicativos que valem a pena notar. As carreiras no campo Blockchain estão aumentando, pois mudou o cenário da tecnologia.