Урок 1

Visão geral tecnológica do Ethereum

1. Ethereum é uma plataforma de contrato inteligente descentralizada baseada na tecnologia blockchain, usando um modelo de conta e Ether como meio de troca para transações. Os contratos inteligentes possuem as características de transparência e imutabilidade dos dados, desfrutando de um ambiente de execução descentralizado e seguro. 2. Ethereum enfrenta o problema de escalabilidade, para o qual a comunidade de desenvolvimento propôs várias soluções, como sidechains, rollups, tecnologia de sharding, etc., para alcançar escalabilidade e melhorar seu desempenho.

Prefácio

Ethereum é uma plataforma blockchain aberta que permite a qualquer pessoa construir e usar aplicativos descentralizados. Em 2013, Vitalik Buterin, o fundador da Ethereum, publicou o white paper Ethereum, que delineou o núcleo de seu design e aspecto técnico da Ethereum, estabelecendo as bases para o desenvolvimento vigoroso de aplicativos e ecossistemas blockchain no futuro.

O principal objetivo do Ethereum era melhorar a funcionalidade do Bitcoin, não apenas como um sistema de pagamento digital. A principal diferença entre os dois é que o Ethereum pode armazenar códigos que podem ser executados. Essa inovação central também é chamada de contratos inteligentes, o que significa que qualquer desenvolvedor pode escrever aplicativos descentralizados executáveis (dApps) na blockchain Ethereum para implementar várias necessidades de negócios e contratos sociais.

Com o surgimento de contratos inteligentes, os usuários podem realizar transações e colaborações seguras, transparentes e automatizadas sem a necessidade de confiança ou intermediários. Isso expandiu a utilidade e a funcionalidade das redes blockchain.

No entanto, o desenvolvimento e a aplicação prática do Ethereum inevitavelmente encontraram alguns desafios, sendo os mais significativos os problemas de escalabilidade. Quando o mercado de criptomoedas experimentou um crescimento rápido e um aumento no volume de transações, o desempenho da blockchain Ethereum se torna insuficiente para atender à demanda. Portanto, o Ethereum precisa de inovação e evolução contínuas para atender à sua crescente base de usuários.

Esta lição fornece uma visão abrangente da evolução tecnológica da Ethereum, explora como a Ethereum emergiu como pioneira no espaço blockchain e orienta você a entender os desafios de escalabilidade enfrentados pela Ethereum e as soluções correspondentes.

Uma visão geral da arquitetura tecnológica do Ethereum

Limitações de tecnologias anteriores

Antes do surgimento do Ethereum, o foco do desenvolvimento de blockchain era limitado principalmente a moedas digitais e sistemas de pagamento, usando livros de blockchain descentralizados para registrar transações. Tomando o Bitcoin como exemplo, a rede Bitcoin pode ser vista como um sistema de transição de estado que usa o modelo Unspent Transactions Output (UTXO). UTXO refere-se à quantidade restante de tokens de uma transação que pode ser usada em outra transação. Pode ser interpretado como o saldo restante não gasto depois que alguém lhe der uma quantia em dinheiro.

Cada vez que um minerador produz um novo bloco, isso representa uma mudança no estado da rede Bitcoin, pois o novo bloco contém algumas transações válidas que consomem alguns UTXOs existentes e criam novos UTXOs. Esses novos UTXOs tornam-se o estado mais recente da rede Bitcoin, que reflete o número e a distribuição de Bitcoin em posse de todos os usuários.

Estado anterior + transações válidas em um novo bloco = Estado atual

Transição de estado de UTXO

No dia a dia, as pessoas estão mais familiarizadas com o modelo de conta usado nos sistemas bancários tradicionais, onde um endereço de blockchain corresponde a uma conta. Cada transação envolve a transferência de fundos ou dados de uma conta para outra, e o saldo da conta é o ativo que você possui. Ao realizar transações usando o modelo UTXO, não há restrição de endereço, ou seja, você pode usar um endereço diferente para cada transação. Seu ativo é a soma de todos os UTXOs associados a você, e não o saldo de um endereço específico. Portanto, o UTXO tem melhor paralelização, enquanto o modelo de conta tem maior probabilidade de executar sequencialmente, resultando em desempenhos limitados. Embora o modelo UTXO ofereça maior privacidade e escalabilidade, é menos intuitivo e difícil de implementar operações lógicas complexas. Por exemplo, a linguagem de programação do Bitcoin tem as seguintes limitações:

  1. Não-Turing completo
    Embora a linguagem de script Bitcoin ofereça suporte a uma ampla variedade de funcionalidades, ela não oferece suporte a todos os cálculos, principalmente sem suporte para loops. Em teoria, qualquer operação de loop pode ser obtida executando repetidamente o código subjacente por meio de várias camadas de instruções IF, mas isso levará a uma eficiência operacional muito baixa.

  2. Difícil definir o valor
    Os scripts UTXO não podem controlar com precisão o valor que pode ser retirado. Por exemplo, o usuário A precisa cobrir o risco de preço e o usuário B atua como contraparte. As duas partes depositam ativos no valor de $ 1.000 em um contrato. Após 30 dias, o usuário A recebe de volta $ 1.000 em Bitcoin e a parte restante é enviada ao usuário B. Isso exigiria que um oráculo determinasse o valor em dólar de 1 Bitcoin, forçando o oráculo a manter muitos UTXOs de diferentes denominações.

  3. Falta de flexibilidade do estado
    UTXO pode ser gasto ou não gasto. É difícil criar contratos de opções, sistemas de cotação descentralizados, protocolos de compromisso criptográfico e outros aplicativos que exigem estados de vários estágios (como “em uso”). Portanto, os UTXOs só podem ser usados para construir contratos únicos simples, em vez de contratos “stateful” mais complexos em protocolos descentralizados.

  4. Não é possível ver os dados do blockchain
    O modelo UTXO não tem visibilidade dos dados do blockchain, como números aleatórios, timestamps e o hash do bloco anterior. Essa limitação restringe o desenvolvimento de jogos e outros tipos de dApps.

Modelo de conta do Ethereum

Para resolver as deficiências do Bitcoin em aplicações de contratos inteligentes, a Ethereum abandonou o modelo UTXO e adotou um modelo de conta, semelhante às contas bancárias pessoais, onde um banco de dados registra o saldo de cada conta e o atualiza automaticamente a cada transação.

Existem dois tipos de contas no Ethereum: contas de propriedade externa controladas por chaves privadas e contas de contrato controladas por código de contrato inteligente. O Ether serve como meio de troca dentro da rede Ethereum.

  • contas
    Cada conta no Ethereum tem um endereço exclusivo de 20 bytes, semelhante ao número da sua conta bancária. As contas podem armazenar Ether ou dados e podem transferir Ether ou enviar mensagens entre si por meio de transações.
  • Contratos
    Os contratos são como máquinas de venda automática. Quando você envia o Ether para um contrato, ele executa o código dentro dele e executa operações específicas com base na lógica definida pelo código. Os contratos podem armazenar dados, executar código, enviar mensagens e interagir com outros contratos.
  • Éter
    Ether é a criptomoeda nativa do Ethereum que pode ser usada para pagar taxas de gás na rede Ethereum. Você pode transferir Ether por meio de transações, semelhante a uma transferência bancária, e usá-lo para comprar serviços ou produtos dentro de contratos.

Contratos Inteligentes

No desenvolvimento da blockchain, a Ethereum foi a primeira rede blockchain a facilitar a adoção generalizada de contratos inteligentes e dApps. Os contratos inteligentes no Ethereum são normalmente programados usando a linguagem Solidity. São programas executados na blockchain com funcionalidades como automação, descentralização, transparência e imutabilidade, tornando-os adequados para a implementação de diversas lógicas de negócios e regras de transação. Os usuários podem realizar transações de forma segura e confiável sem a necessidade de confiar em terceiros.

Os contratos inteligentes podem ser usados para desenvolver vários tipos de dApps, tornando a rede Ethereum essencialmente um computador compartilhado globalmente. Qualquer pessoa pode acessar dados, editar e operar diferentes tipos de aplicativos neste computador para atender às suas necessidades.

À primeira vista, pode não parecer particularmente único, pois está apenas executando programas de software, certo? Armazenar dados e executar código de aplicativo da Web em servidores centralizados ou instalar software em computadores pessoais pode aparentemente alcançar as mesmas funcionalidades de aplicativo que os contratos inteligentes.

No entanto, essa abordagem vem com limitações e riscos, como perda de dados, adulteração e interrupções de serviço. O surgimento de contratos inteligentes fornece segurança sem precedentes, verificabilidade e resistência à censura para aplicativos tradicionais. Especificamente, os contratos inteligentes da Ethereum têm várias diferenças importantes em comparação com aplicativos da web gerais e software do lado do cliente:

  • Armazenamento de dados
    Os dados do contrato inteligente são armazenados no blockchain, com cada nó tendo uma cópia completa. Como resultado, os dados são transparentes e imutáveis. Por outro lado, os dados para aplicativos da Web gerais e software do lado do cliente são armazenados em servidores centralizados, onde apenas os administradores do servidor ou indivíduos autorizados podem acessar e modificar os dados. Isso torna os dados opacos e mutáveis.
  • Lógica do programa
    A lógica do programa de contratos inteligentes é escrita no blockchain e é difícil de alterar ou remover depois de implantada. Como resultado, a lógica do programa é fixa e previsível. Por outro lado, aplicativos gerais da Web e software do lado do cliente são escritos em servidores centralizados, permitindo modificações ou remoções a qualquer momento. Isso torna a lógica do programa flexível e imprevisível.
  • Ambiente de execução
    O ambiente de execução para contratos inteligentes é fornecido pela rede blockchain, onde cada nó pode verificar e executar os contratos inteligentes. Portanto, o ambiente de execução é relativamente descentralizado e seguro. Por outro lado, aplicativos gerais da Web e software do lado do cliente dependem de servidores centralizados para fornecer o ambiente de execução, onde apenas o servidor pode executar esses programas. Portanto, o ambiente de execução é centralizado e relativamente inseguro.
  • Método de interação
    Os contratos inteligentes interagem por meio de transações blockchain e cada interação requer uma certa quantidade de Ether como taxa de transação. Portanto, o método de interação incorre em custos e atrasos. Por outro lado, os aplicativos gerais da Web interagem por meio de solicitações HTTP, enquanto o software do lado do cliente em computadores pessoais pode operar diretamente no sistema operacional. As interações nesses casos normalmente não exigem nenhum pagamento, tornando o método de interação quase sem custo e imediato.

Máquina Virtual Ethereum

Ethereum Virtual Machine (EVM) é um computador Turing-complete que roda na blockchain Ethereum. Ele executa o código de contratos inteligentes e modifica o estado do blockchain. Uma analogia para entendê-lo é o sistema operacional (SO) executado em computadores pessoais ou smartphones, onde apenas dentro desse ambiente específico podem ser executados contratos inteligentes e aplicativos Ethereum.

O EVM opera em um ambiente isolado, não afetado por interferência externa e sem afetar o hardware subjacente. Ele funciona compilando o código de contratos inteligentes, geralmente escritos na linguagem Solidity, em um conjunto de instruções de bytecode chamado EVM bytecode. O EVM então executa essas instruções passo a passo.

A execução do EVM resulta em mudanças no estado do blockchain, como transferência de tokens, armazenamento de dados ou acionamento de eventos. Para evitar que o código de contrato inteligente malicioso cause loops infinitos ou trave a rede Ethereum, cada instrução consome uma certa quantidade de gás. Se houver gás insuficiente, a operação não poderá ser realizada.

Taxas de gás

A taxa de gás refere-se à taxa de transação paga em Ether (ETH) na rede Ethereum para executar contratos inteligentes ou transferir tokens. É usado para recompensar os mineradores que mantêm a rede. O custo da taxa de gás depende da complexidade da transação e do nível de congestionamento da rede, normalmente medido em Gwei (1 Gwei = 0,000000001 ETH).

Os comerciantes podem definir seu próprio preço de gás (o preço por unidade de gás) e limite de gás (a quantidade máxima de gás que estão dispostos a pagar) para ajustar a velocidade e o custo de suas transações.

A fórmula para calcular a taxa de gás no Ethereum é a seguinte:
Preço do gás * Limite do gás = Taxa do gás

O preço do gás representa o preço unitário da taxa. Se o preço do gás for muito baixo, a prioridade da transação pode ser menor e os mineradores podem ignorá-la.
O limite de gás refere-se à quantidade de taxas. Se o limite de gás for muito baixo, isso não afetará a prioridade da transação, mas a transação pode falhar devido à execução incompleta e a taxa de gás paga não será reembolsada.

De acordo com a EIP-1559 (Ethereum Improvement Proposal), o preço do gás inclui uma taxa básica que é ajustada dinamicamente com base na demanda da rede e no tamanho do bloco. As transações com preços de gás definidos acima da taxa básica têm processamento garantido e o ETH será queimado para reduzir o fornecimento de tokens na rede Ethereum.

As gorjetas são taxas adicionais opcionais que os usuários estão dispostos a pagar aos mineradores ou validadores. Os usuários podem definir seus próprios valores para dicas, o que pode ajudar a melhorar a prioridade de suas transações ou agilizar a velocidade da transação durante o congestionamento da rede.

Devido ao mecanismo de gás da Ethereum, os recursos computacionais e o espaço de armazenamento da rede blockchain podem ser precificados adequadamente, o que pode impedir que os contratos inteligentes executem loops errados infinitos ou sejam atacados por agentes mal-intencionados.

Minerar

Antes da Ethereum Merge em setembro de 2022, tanto a Ethereum quanto a Bitcoin contavam com o mecanismo de consenso Proof of Work (PoW) para facilitar a operação normal de suas redes blockchain.

Os dispositivos participantes da mineração precisavam resolver um complexo quebra-cabeça criptográfico usando poder computacional para calcular um valor de hash que atendesse a requisitos específicos. Esse processo consumiu recursos computacionais e eletricidade significativos, e a dificuldade do quebra-cabeça continuou a mudar com o poder de computação da rede. Os usuários que fornecem poder computacional foram chamados de mineradores.

Tentando continuamente calcular o valor de hash, os mineradores tiveram a oportunidade de encontrar um valor de hash que atendesse aos requisitos. Os mineradores poderiam então empacotar as transações pendentes em um bloco e transmitir o bloco para toda a rede para validação e confirmação. Se o bloco fosse confirmado, o minerador receberia recompensas de bloco e taxas de transação.

Após a atualização do Ethereum 2.0, o Ethereum adotou o mecanismo de consenso Proof of Stake (PoS) para mineração. Os nós que validam as transações são obrigados a depositar uma certa quantia de Ether como garantia para competir pelo direito de produzir novos blocos.

O objetivo do staking é impor riscos econômicos aos nós, de modo que os nós que atacam a rede tenham seus ativos apostados cortados, levando a perdas. Isso serve como um impedimento contra comportamentos maliciosos. Quanto mais Ether um nó aposta, maior a probabilidade de ganhar o direito de produzir novos blocos.

Os nodos responsáveis pela produção dos blocos precisam empacotar as transações pendentes, gerar novos blocos e transmiti-los à rede para validação e confirmação. Se um bloco for confirmado, o nó recebe recompensas de bloco e taxas de transação, bem como certos retornos com base na quantidade de ativos apostados.

O mecanismo de mineração desempenha um papel crucial na rede Ethereum, refletido principalmente nos seguintes aspectos:

  1. Garantindo a confiabilidade e segurança das transações
    A mineração envolve adicionar novas transações ao blockchain, aumentar o número de blocos e confirmar a legitimidade dessas transações por meio da obtenção de prova de trabalho (atualmente prova de aposta). A mineração dificulta que os invasores adulterem as transações de forma maliciosa, garantindo a confiabilidade e a segurança das transações.

  2. Mantendo a descentralização do blockchain
    O mecanismo de mineração pode impedir que qualquer entidade ou organização controle toda a rede Ethereum, pois a mineração requer uma quantidade significativa de poder de computação (atualmente tokens apostados) e os invasores precisariam de recursos substanciais para obter o controle. Isso garante a descentralização da rede e evita o controle monopolista por qualquer indivíduo ou entidade

  3. Fornecimento de incentivos para a participação
    A mineração permite que os participantes ganhem recompensas ao contribuir com recursos. Isso incentiva os usuários a se envolverem na construção e operação da rede, garantindo assim seu bom funcionamento.

Em comparação com a mineração PoW, a mineração PoS requer significativamente menos recursos de computação e consumo de energia, tornando-a mais adequada para atender às necessidades de desenvolvimento e escalabilidade da rede Ethereum.

Aplicações do Ethereum

Os contratos inteligentes da Ethereum permitiram muitas aplicações importantes, incluindo:

  1. DeFi (Finanças Descentralizadas)
    DeFi é uma das aplicações mais bem-sucedidas dos contratos inteligentes da Ethereum. Ele utiliza contratos inteligentes para estabelecer uma variedade de protocolos financeiros descentralizados, como MakerDAO, Compound, Uniswap e muito mais. Esses protocolos permitem serviços financeiros como empréstimos, negociações, seguros, gerenciamento de ativos, etc.

  2. NFTs (Tokens Não Fungíveis)
    Os NFTs são ativos digitais baseados nos contratos inteligentes da Ethereum, fornecendo exclusividade e indivisibilidade por meio da funcionalidade de contrato inteligente. Os NFTs encontram aplicações em vários campos, como arte, música, jogos, imóveis virtuais e muito mais.

  3. DAOs (Organizações Autônomas Descentralizadas)
    Um DAO é uma organização autônoma descentralizada baseada nos contratos inteligentes da Ethereum. Ele permite que os membros tomem decisões sobre assuntos internos por meio de votação, como alocação de orçamento, gestão de pessoal, decisões de investimento e muito mais. DAOs operam de forma verdadeiramente descentralizada e democrática e podem ser aplicados a comunidades, empresas, fundações e outras organizações.

  4. Emissão de token
    O padrão ERC-20 no Ethereum especifica a emissão e negociação de tokens, permitindo a criação de tokens próprios que podem ser negociados na rede Ethereum.

  5. Armazenamento descentralizado
    Existem também alguns protocolos de armazenamento de arquivos distribuídos baseados em contratos inteligentes no Ethereum. Por exemplo, o protocolo Swarm permite que os usuários armazenem arquivos de forma distribuída na rede, tornando-os mais seguros e confiáveis.

  6. computação em nuvem
    Existem também algumas plataformas de computação descentralizadas baseadas em contratos inteligentes no Ethereum, como Golem e iExec. Essas plataformas permitem que os usuários aluguem recursos de computação para executar vários aplicativos, obtendo assim uma computação e processamento de dados mais eficientes.

  7. identidade digital
    O EIP-4361 apresenta uma estrutura padronizada para Login com Ethereum, permitindo que os usuários façam login em dApps usando seus endereços Ethereum em vez de nomes de usuário e senhas tradicionais. Esse mecanismo de autenticação aumenta a privacidade e a segurança do usuário, ao mesmo tempo em que reduz o envolvimento de intermediários. \
    Além dos aplicativos mencionados, os contratos inteligentes da Ethereum podem permitir uma ampla gama de outros casos de uso, como jogos, redes sociais e gerenciamento da cadeia de suprimentos, entre outros. Devido à programabilidade dos contratos inteligentes, os cenários de aplicação na plataforma Ethereum continuam a se expandir, oferecendo um potencial significativo para desenvolvimento futuro.

Desafios de escalabilidade enfrentados pela Ethereum

A Ethereum sacrificou alguma medida de desempenho em busca de descentralização e segurança. Devido a limitações técnicas, o Ethereum tem um tempo de geração de blocos de cerca de 12 a 15 segundos, com cada bloco tendo um limite de tamanho de 15 MB. Como resultado, o Ethereum só pode processar cerca de 15 transações por segundo.

No entanto, como a maior rede de contratos inteligentes em termos de ecossistema e comunidade de desenvolvimento, a Ethereum experimentou um aumento significativo no número de endereços de carteira exclusivos com saldo diferente de zero em seu blockchain, crescendo mais de dez vezes nos últimos cinco anos. O aumento de diferentes protocolos e atividades do usuário sobrecarregou o design existente, exacerbando os desafios de escalabilidade do Ethereum.

Para melhorar a escalabilidade do Ethereum, a comunidade de desenvolvimento propôs várias soluções, incluindo sidechains, rollups, tecnologia de sharding e desvio de tráfego para outras redes blockchain compatíveis com EVM para aliviar o congestionamento.

Conclusão

Nesta lição, nos aprofundamos na arquitetura técnica e nos princípios do Ethereum, bem como em como a inovação dos contratos inteligentes aproveita o potencial do blockchain, permitindo uma gama diversificada de aplicativos e ecossistemas descentralizados para facilitar várias necessidades de negócios e contratos sociais.

No entanto, o rápido crescimento do Ethereum trouxe à tona a questão da baixa escalabilidade. Enfrentar o desafio de escalabilidade tornou-se, portanto, uma prioridade para atender às crescentes demandas dos usuários.

Na próxima lição, exploraremos diferentes soluções de escalabilidade e suas aplicações no ecossistema, incluindo sidechains, rollups e vários concorrentes do EVM. Também analisaremos suas respectivas vantagens e desvantagens, fornecendo a você uma melhor compreensão do status atual de desenvolvimento e das tendências futuras da tecnologia blockchain.

Destaques

  • Ethereum é uma plataforma de contrato inteligente descentralizada baseada na tecnologia blockchain que usa um modelo de conta.
  • O Ether serve como meio de troca na rede Ethereum, sendo utilizado para pagar taxas de transação e adquirir serviços ou produtos dentro de contratos.
  • Os contratos inteligentes no Ethereum são programados usando a linguagem Solidity e podem implementar várias lógicas de negócios e regras de transação.
  • A Ethereum Virtual Machine (EVM) é usada para executar o código de contratos inteligentes e modificar o estado do blockchain.
  • Cada instrução no Ethereum consome uma certa quantidade de gás. Sem gás suficiente, as operações não podem ser realizadas.
  • Os contratos inteligentes da Ethereum possuem características como transparência de dados, imutabilidade, lógica de programa fixa e previsível, ambiente de execução descentralizado e seguro e interação com custos e atrasos.
  • A escalabilidade é um dos principais problemas que a Ethereum precisa abordar atualmente, e a comunidade de desenvolvimento propôs várias soluções, incluindo sidechains, Rollups, tecnologia de sharding, etc.
  • Ethereum tem sua própria criptomoeda chamada Ether (ETH), que é usada para pagar taxas de transação e recompensar mineradores. Atualmente, ele utiliza um mecanismo de consenso Proof of Stake (PoS).
  • Os contratos inteligentes da Ethereum trouxeram possibilidades para muitas aplicações importantes, incluindo DeFi, NFTs, DAOs, emissão de tokens, armazenamento descentralizado e computação em nuvem.
  • Em sua busca pela descentralização e segurança, a Ethereum sacrificou algumas medidas de desempenho e está enfrentando desafios de escalabilidade. As soluções existentes incluem sidechains, Rollups, tecnologia de sharding e desvio de tráfego para outras redes blockchain compatíveis com EVM.





🎥・Vídeo principal


Não

📄・Artigos Relacionados


O que é Ethereum?


O que é UTXO?


O que são contratos inteligentes?


O que é EVM (Ethereum Virtual Machine?)


O que é Taxa de Gás?


O que é um Algoritmo de Consenso Blockchain?

Відмова від відповідальності
* Криптоінвестиції пов'язані зі значними ризиками. Дійте обережно. Курс не є інвестиційною консультацією.
* Курс створений автором, який приєднався до Gate Learn. Будь-яка думка, висловлена автором, не є позицією Gate Learn.
Каталог
Урок 1

Visão geral tecnológica do Ethereum

1. Ethereum é uma plataforma de contrato inteligente descentralizada baseada na tecnologia blockchain, usando um modelo de conta e Ether como meio de troca para transações. Os contratos inteligentes possuem as características de transparência e imutabilidade dos dados, desfrutando de um ambiente de execução descentralizado e seguro. 2. Ethereum enfrenta o problema de escalabilidade, para o qual a comunidade de desenvolvimento propôs várias soluções, como sidechains, rollups, tecnologia de sharding, etc., para alcançar escalabilidade e melhorar seu desempenho.

Prefácio

Ethereum é uma plataforma blockchain aberta que permite a qualquer pessoa construir e usar aplicativos descentralizados. Em 2013, Vitalik Buterin, o fundador da Ethereum, publicou o white paper Ethereum, que delineou o núcleo de seu design e aspecto técnico da Ethereum, estabelecendo as bases para o desenvolvimento vigoroso de aplicativos e ecossistemas blockchain no futuro.

O principal objetivo do Ethereum era melhorar a funcionalidade do Bitcoin, não apenas como um sistema de pagamento digital. A principal diferença entre os dois é que o Ethereum pode armazenar códigos que podem ser executados. Essa inovação central também é chamada de contratos inteligentes, o que significa que qualquer desenvolvedor pode escrever aplicativos descentralizados executáveis (dApps) na blockchain Ethereum para implementar várias necessidades de negócios e contratos sociais.

Com o surgimento de contratos inteligentes, os usuários podem realizar transações e colaborações seguras, transparentes e automatizadas sem a necessidade de confiança ou intermediários. Isso expandiu a utilidade e a funcionalidade das redes blockchain.

No entanto, o desenvolvimento e a aplicação prática do Ethereum inevitavelmente encontraram alguns desafios, sendo os mais significativos os problemas de escalabilidade. Quando o mercado de criptomoedas experimentou um crescimento rápido e um aumento no volume de transações, o desempenho da blockchain Ethereum se torna insuficiente para atender à demanda. Portanto, o Ethereum precisa de inovação e evolução contínuas para atender à sua crescente base de usuários.

Esta lição fornece uma visão abrangente da evolução tecnológica da Ethereum, explora como a Ethereum emergiu como pioneira no espaço blockchain e orienta você a entender os desafios de escalabilidade enfrentados pela Ethereum e as soluções correspondentes.

Uma visão geral da arquitetura tecnológica do Ethereum

Limitações de tecnologias anteriores

Antes do surgimento do Ethereum, o foco do desenvolvimento de blockchain era limitado principalmente a moedas digitais e sistemas de pagamento, usando livros de blockchain descentralizados para registrar transações. Tomando o Bitcoin como exemplo, a rede Bitcoin pode ser vista como um sistema de transição de estado que usa o modelo Unspent Transactions Output (UTXO). UTXO refere-se à quantidade restante de tokens de uma transação que pode ser usada em outra transação. Pode ser interpretado como o saldo restante não gasto depois que alguém lhe der uma quantia em dinheiro.

Cada vez que um minerador produz um novo bloco, isso representa uma mudança no estado da rede Bitcoin, pois o novo bloco contém algumas transações válidas que consomem alguns UTXOs existentes e criam novos UTXOs. Esses novos UTXOs tornam-se o estado mais recente da rede Bitcoin, que reflete o número e a distribuição de Bitcoin em posse de todos os usuários.

Estado anterior + transações válidas em um novo bloco = Estado atual

Transição de estado de UTXO

No dia a dia, as pessoas estão mais familiarizadas com o modelo de conta usado nos sistemas bancários tradicionais, onde um endereço de blockchain corresponde a uma conta. Cada transação envolve a transferência de fundos ou dados de uma conta para outra, e o saldo da conta é o ativo que você possui. Ao realizar transações usando o modelo UTXO, não há restrição de endereço, ou seja, você pode usar um endereço diferente para cada transação. Seu ativo é a soma de todos os UTXOs associados a você, e não o saldo de um endereço específico. Portanto, o UTXO tem melhor paralelização, enquanto o modelo de conta tem maior probabilidade de executar sequencialmente, resultando em desempenhos limitados. Embora o modelo UTXO ofereça maior privacidade e escalabilidade, é menos intuitivo e difícil de implementar operações lógicas complexas. Por exemplo, a linguagem de programação do Bitcoin tem as seguintes limitações:

  1. Não-Turing completo
    Embora a linguagem de script Bitcoin ofereça suporte a uma ampla variedade de funcionalidades, ela não oferece suporte a todos os cálculos, principalmente sem suporte para loops. Em teoria, qualquer operação de loop pode ser obtida executando repetidamente o código subjacente por meio de várias camadas de instruções IF, mas isso levará a uma eficiência operacional muito baixa.

  2. Difícil definir o valor
    Os scripts UTXO não podem controlar com precisão o valor que pode ser retirado. Por exemplo, o usuário A precisa cobrir o risco de preço e o usuário B atua como contraparte. As duas partes depositam ativos no valor de $ 1.000 em um contrato. Após 30 dias, o usuário A recebe de volta $ 1.000 em Bitcoin e a parte restante é enviada ao usuário B. Isso exigiria que um oráculo determinasse o valor em dólar de 1 Bitcoin, forçando o oráculo a manter muitos UTXOs de diferentes denominações.

  3. Falta de flexibilidade do estado
    UTXO pode ser gasto ou não gasto. É difícil criar contratos de opções, sistemas de cotação descentralizados, protocolos de compromisso criptográfico e outros aplicativos que exigem estados de vários estágios (como “em uso”). Portanto, os UTXOs só podem ser usados para construir contratos únicos simples, em vez de contratos “stateful” mais complexos em protocolos descentralizados.

  4. Não é possível ver os dados do blockchain
    O modelo UTXO não tem visibilidade dos dados do blockchain, como números aleatórios, timestamps e o hash do bloco anterior. Essa limitação restringe o desenvolvimento de jogos e outros tipos de dApps.

Modelo de conta do Ethereum

Para resolver as deficiências do Bitcoin em aplicações de contratos inteligentes, a Ethereum abandonou o modelo UTXO e adotou um modelo de conta, semelhante às contas bancárias pessoais, onde um banco de dados registra o saldo de cada conta e o atualiza automaticamente a cada transação.

Existem dois tipos de contas no Ethereum: contas de propriedade externa controladas por chaves privadas e contas de contrato controladas por código de contrato inteligente. O Ether serve como meio de troca dentro da rede Ethereum.

  • contas
    Cada conta no Ethereum tem um endereço exclusivo de 20 bytes, semelhante ao número da sua conta bancária. As contas podem armazenar Ether ou dados e podem transferir Ether ou enviar mensagens entre si por meio de transações.
  • Contratos
    Os contratos são como máquinas de venda automática. Quando você envia o Ether para um contrato, ele executa o código dentro dele e executa operações específicas com base na lógica definida pelo código. Os contratos podem armazenar dados, executar código, enviar mensagens e interagir com outros contratos.
  • Éter
    Ether é a criptomoeda nativa do Ethereum que pode ser usada para pagar taxas de gás na rede Ethereum. Você pode transferir Ether por meio de transações, semelhante a uma transferência bancária, e usá-lo para comprar serviços ou produtos dentro de contratos.

Contratos Inteligentes

No desenvolvimento da blockchain, a Ethereum foi a primeira rede blockchain a facilitar a adoção generalizada de contratos inteligentes e dApps. Os contratos inteligentes no Ethereum são normalmente programados usando a linguagem Solidity. São programas executados na blockchain com funcionalidades como automação, descentralização, transparência e imutabilidade, tornando-os adequados para a implementação de diversas lógicas de negócios e regras de transação. Os usuários podem realizar transações de forma segura e confiável sem a necessidade de confiar em terceiros.

Os contratos inteligentes podem ser usados para desenvolver vários tipos de dApps, tornando a rede Ethereum essencialmente um computador compartilhado globalmente. Qualquer pessoa pode acessar dados, editar e operar diferentes tipos de aplicativos neste computador para atender às suas necessidades.

À primeira vista, pode não parecer particularmente único, pois está apenas executando programas de software, certo? Armazenar dados e executar código de aplicativo da Web em servidores centralizados ou instalar software em computadores pessoais pode aparentemente alcançar as mesmas funcionalidades de aplicativo que os contratos inteligentes.

No entanto, essa abordagem vem com limitações e riscos, como perda de dados, adulteração e interrupções de serviço. O surgimento de contratos inteligentes fornece segurança sem precedentes, verificabilidade e resistência à censura para aplicativos tradicionais. Especificamente, os contratos inteligentes da Ethereum têm várias diferenças importantes em comparação com aplicativos da web gerais e software do lado do cliente:

  • Armazenamento de dados
    Os dados do contrato inteligente são armazenados no blockchain, com cada nó tendo uma cópia completa. Como resultado, os dados são transparentes e imutáveis. Por outro lado, os dados para aplicativos da Web gerais e software do lado do cliente são armazenados em servidores centralizados, onde apenas os administradores do servidor ou indivíduos autorizados podem acessar e modificar os dados. Isso torna os dados opacos e mutáveis.
  • Lógica do programa
    A lógica do programa de contratos inteligentes é escrita no blockchain e é difícil de alterar ou remover depois de implantada. Como resultado, a lógica do programa é fixa e previsível. Por outro lado, aplicativos gerais da Web e software do lado do cliente são escritos em servidores centralizados, permitindo modificações ou remoções a qualquer momento. Isso torna a lógica do programa flexível e imprevisível.
  • Ambiente de execução
    O ambiente de execução para contratos inteligentes é fornecido pela rede blockchain, onde cada nó pode verificar e executar os contratos inteligentes. Portanto, o ambiente de execução é relativamente descentralizado e seguro. Por outro lado, aplicativos gerais da Web e software do lado do cliente dependem de servidores centralizados para fornecer o ambiente de execução, onde apenas o servidor pode executar esses programas. Portanto, o ambiente de execução é centralizado e relativamente inseguro.
  • Método de interação
    Os contratos inteligentes interagem por meio de transações blockchain e cada interação requer uma certa quantidade de Ether como taxa de transação. Portanto, o método de interação incorre em custos e atrasos. Por outro lado, os aplicativos gerais da Web interagem por meio de solicitações HTTP, enquanto o software do lado do cliente em computadores pessoais pode operar diretamente no sistema operacional. As interações nesses casos normalmente não exigem nenhum pagamento, tornando o método de interação quase sem custo e imediato.

Máquina Virtual Ethereum

Ethereum Virtual Machine (EVM) é um computador Turing-complete que roda na blockchain Ethereum. Ele executa o código de contratos inteligentes e modifica o estado do blockchain. Uma analogia para entendê-lo é o sistema operacional (SO) executado em computadores pessoais ou smartphones, onde apenas dentro desse ambiente específico podem ser executados contratos inteligentes e aplicativos Ethereum.

O EVM opera em um ambiente isolado, não afetado por interferência externa e sem afetar o hardware subjacente. Ele funciona compilando o código de contratos inteligentes, geralmente escritos na linguagem Solidity, em um conjunto de instruções de bytecode chamado EVM bytecode. O EVM então executa essas instruções passo a passo.

A execução do EVM resulta em mudanças no estado do blockchain, como transferência de tokens, armazenamento de dados ou acionamento de eventos. Para evitar que o código de contrato inteligente malicioso cause loops infinitos ou trave a rede Ethereum, cada instrução consome uma certa quantidade de gás. Se houver gás insuficiente, a operação não poderá ser realizada.

Taxas de gás

A taxa de gás refere-se à taxa de transação paga em Ether (ETH) na rede Ethereum para executar contratos inteligentes ou transferir tokens. É usado para recompensar os mineradores que mantêm a rede. O custo da taxa de gás depende da complexidade da transação e do nível de congestionamento da rede, normalmente medido em Gwei (1 Gwei = 0,000000001 ETH).

Os comerciantes podem definir seu próprio preço de gás (o preço por unidade de gás) e limite de gás (a quantidade máxima de gás que estão dispostos a pagar) para ajustar a velocidade e o custo de suas transações.

A fórmula para calcular a taxa de gás no Ethereum é a seguinte:
Preço do gás * Limite do gás = Taxa do gás

O preço do gás representa o preço unitário da taxa. Se o preço do gás for muito baixo, a prioridade da transação pode ser menor e os mineradores podem ignorá-la.
O limite de gás refere-se à quantidade de taxas. Se o limite de gás for muito baixo, isso não afetará a prioridade da transação, mas a transação pode falhar devido à execução incompleta e a taxa de gás paga não será reembolsada.

De acordo com a EIP-1559 (Ethereum Improvement Proposal), o preço do gás inclui uma taxa básica que é ajustada dinamicamente com base na demanda da rede e no tamanho do bloco. As transações com preços de gás definidos acima da taxa básica têm processamento garantido e o ETH será queimado para reduzir o fornecimento de tokens na rede Ethereum.

As gorjetas são taxas adicionais opcionais que os usuários estão dispostos a pagar aos mineradores ou validadores. Os usuários podem definir seus próprios valores para dicas, o que pode ajudar a melhorar a prioridade de suas transações ou agilizar a velocidade da transação durante o congestionamento da rede.

Devido ao mecanismo de gás da Ethereum, os recursos computacionais e o espaço de armazenamento da rede blockchain podem ser precificados adequadamente, o que pode impedir que os contratos inteligentes executem loops errados infinitos ou sejam atacados por agentes mal-intencionados.

Minerar

Antes da Ethereum Merge em setembro de 2022, tanto a Ethereum quanto a Bitcoin contavam com o mecanismo de consenso Proof of Work (PoW) para facilitar a operação normal de suas redes blockchain.

Os dispositivos participantes da mineração precisavam resolver um complexo quebra-cabeça criptográfico usando poder computacional para calcular um valor de hash que atendesse a requisitos específicos. Esse processo consumiu recursos computacionais e eletricidade significativos, e a dificuldade do quebra-cabeça continuou a mudar com o poder de computação da rede. Os usuários que fornecem poder computacional foram chamados de mineradores.

Tentando continuamente calcular o valor de hash, os mineradores tiveram a oportunidade de encontrar um valor de hash que atendesse aos requisitos. Os mineradores poderiam então empacotar as transações pendentes em um bloco e transmitir o bloco para toda a rede para validação e confirmação. Se o bloco fosse confirmado, o minerador receberia recompensas de bloco e taxas de transação.

Após a atualização do Ethereum 2.0, o Ethereum adotou o mecanismo de consenso Proof of Stake (PoS) para mineração. Os nós que validam as transações são obrigados a depositar uma certa quantia de Ether como garantia para competir pelo direito de produzir novos blocos.

O objetivo do staking é impor riscos econômicos aos nós, de modo que os nós que atacam a rede tenham seus ativos apostados cortados, levando a perdas. Isso serve como um impedimento contra comportamentos maliciosos. Quanto mais Ether um nó aposta, maior a probabilidade de ganhar o direito de produzir novos blocos.

Os nodos responsáveis pela produção dos blocos precisam empacotar as transações pendentes, gerar novos blocos e transmiti-los à rede para validação e confirmação. Se um bloco for confirmado, o nó recebe recompensas de bloco e taxas de transação, bem como certos retornos com base na quantidade de ativos apostados.

O mecanismo de mineração desempenha um papel crucial na rede Ethereum, refletido principalmente nos seguintes aspectos:

  1. Garantindo a confiabilidade e segurança das transações
    A mineração envolve adicionar novas transações ao blockchain, aumentar o número de blocos e confirmar a legitimidade dessas transações por meio da obtenção de prova de trabalho (atualmente prova de aposta). A mineração dificulta que os invasores adulterem as transações de forma maliciosa, garantindo a confiabilidade e a segurança das transações.

  2. Mantendo a descentralização do blockchain
    O mecanismo de mineração pode impedir que qualquer entidade ou organização controle toda a rede Ethereum, pois a mineração requer uma quantidade significativa de poder de computação (atualmente tokens apostados) e os invasores precisariam de recursos substanciais para obter o controle. Isso garante a descentralização da rede e evita o controle monopolista por qualquer indivíduo ou entidade

  3. Fornecimento de incentivos para a participação
    A mineração permite que os participantes ganhem recompensas ao contribuir com recursos. Isso incentiva os usuários a se envolverem na construção e operação da rede, garantindo assim seu bom funcionamento.

Em comparação com a mineração PoW, a mineração PoS requer significativamente menos recursos de computação e consumo de energia, tornando-a mais adequada para atender às necessidades de desenvolvimento e escalabilidade da rede Ethereum.

Aplicações do Ethereum

Os contratos inteligentes da Ethereum permitiram muitas aplicações importantes, incluindo:

  1. DeFi (Finanças Descentralizadas)
    DeFi é uma das aplicações mais bem-sucedidas dos contratos inteligentes da Ethereum. Ele utiliza contratos inteligentes para estabelecer uma variedade de protocolos financeiros descentralizados, como MakerDAO, Compound, Uniswap e muito mais. Esses protocolos permitem serviços financeiros como empréstimos, negociações, seguros, gerenciamento de ativos, etc.

  2. NFTs (Tokens Não Fungíveis)
    Os NFTs são ativos digitais baseados nos contratos inteligentes da Ethereum, fornecendo exclusividade e indivisibilidade por meio da funcionalidade de contrato inteligente. Os NFTs encontram aplicações em vários campos, como arte, música, jogos, imóveis virtuais e muito mais.

  3. DAOs (Organizações Autônomas Descentralizadas)
    Um DAO é uma organização autônoma descentralizada baseada nos contratos inteligentes da Ethereum. Ele permite que os membros tomem decisões sobre assuntos internos por meio de votação, como alocação de orçamento, gestão de pessoal, decisões de investimento e muito mais. DAOs operam de forma verdadeiramente descentralizada e democrática e podem ser aplicados a comunidades, empresas, fundações e outras organizações.

  4. Emissão de token
    O padrão ERC-20 no Ethereum especifica a emissão e negociação de tokens, permitindo a criação de tokens próprios que podem ser negociados na rede Ethereum.

  5. Armazenamento descentralizado
    Existem também alguns protocolos de armazenamento de arquivos distribuídos baseados em contratos inteligentes no Ethereum. Por exemplo, o protocolo Swarm permite que os usuários armazenem arquivos de forma distribuída na rede, tornando-os mais seguros e confiáveis.

  6. computação em nuvem
    Existem também algumas plataformas de computação descentralizadas baseadas em contratos inteligentes no Ethereum, como Golem e iExec. Essas plataformas permitem que os usuários aluguem recursos de computação para executar vários aplicativos, obtendo assim uma computação e processamento de dados mais eficientes.

  7. identidade digital
    O EIP-4361 apresenta uma estrutura padronizada para Login com Ethereum, permitindo que os usuários façam login em dApps usando seus endereços Ethereum em vez de nomes de usuário e senhas tradicionais. Esse mecanismo de autenticação aumenta a privacidade e a segurança do usuário, ao mesmo tempo em que reduz o envolvimento de intermediários. \
    Além dos aplicativos mencionados, os contratos inteligentes da Ethereum podem permitir uma ampla gama de outros casos de uso, como jogos, redes sociais e gerenciamento da cadeia de suprimentos, entre outros. Devido à programabilidade dos contratos inteligentes, os cenários de aplicação na plataforma Ethereum continuam a se expandir, oferecendo um potencial significativo para desenvolvimento futuro.

Desafios de escalabilidade enfrentados pela Ethereum

A Ethereum sacrificou alguma medida de desempenho em busca de descentralização e segurança. Devido a limitações técnicas, o Ethereum tem um tempo de geração de blocos de cerca de 12 a 15 segundos, com cada bloco tendo um limite de tamanho de 15 MB. Como resultado, o Ethereum só pode processar cerca de 15 transações por segundo.

No entanto, como a maior rede de contratos inteligentes em termos de ecossistema e comunidade de desenvolvimento, a Ethereum experimentou um aumento significativo no número de endereços de carteira exclusivos com saldo diferente de zero em seu blockchain, crescendo mais de dez vezes nos últimos cinco anos. O aumento de diferentes protocolos e atividades do usuário sobrecarregou o design existente, exacerbando os desafios de escalabilidade do Ethereum.

Para melhorar a escalabilidade do Ethereum, a comunidade de desenvolvimento propôs várias soluções, incluindo sidechains, rollups, tecnologia de sharding e desvio de tráfego para outras redes blockchain compatíveis com EVM para aliviar o congestionamento.

Conclusão

Nesta lição, nos aprofundamos na arquitetura técnica e nos princípios do Ethereum, bem como em como a inovação dos contratos inteligentes aproveita o potencial do blockchain, permitindo uma gama diversificada de aplicativos e ecossistemas descentralizados para facilitar várias necessidades de negócios e contratos sociais.

No entanto, o rápido crescimento do Ethereum trouxe à tona a questão da baixa escalabilidade. Enfrentar o desafio de escalabilidade tornou-se, portanto, uma prioridade para atender às crescentes demandas dos usuários.

Na próxima lição, exploraremos diferentes soluções de escalabilidade e suas aplicações no ecossistema, incluindo sidechains, rollups e vários concorrentes do EVM. Também analisaremos suas respectivas vantagens e desvantagens, fornecendo a você uma melhor compreensão do status atual de desenvolvimento e das tendências futuras da tecnologia blockchain.

Destaques

  • Ethereum é uma plataforma de contrato inteligente descentralizada baseada na tecnologia blockchain que usa um modelo de conta.
  • O Ether serve como meio de troca na rede Ethereum, sendo utilizado para pagar taxas de transação e adquirir serviços ou produtos dentro de contratos.
  • Os contratos inteligentes no Ethereum são programados usando a linguagem Solidity e podem implementar várias lógicas de negócios e regras de transação.
  • A Ethereum Virtual Machine (EVM) é usada para executar o código de contratos inteligentes e modificar o estado do blockchain.
  • Cada instrução no Ethereum consome uma certa quantidade de gás. Sem gás suficiente, as operações não podem ser realizadas.
  • Os contratos inteligentes da Ethereum possuem características como transparência de dados, imutabilidade, lógica de programa fixa e previsível, ambiente de execução descentralizado e seguro e interação com custos e atrasos.
  • A escalabilidade é um dos principais problemas que a Ethereum precisa abordar atualmente, e a comunidade de desenvolvimento propôs várias soluções, incluindo sidechains, Rollups, tecnologia de sharding, etc.
  • Ethereum tem sua própria criptomoeda chamada Ether (ETH), que é usada para pagar taxas de transação e recompensar mineradores. Atualmente, ele utiliza um mecanismo de consenso Proof of Stake (PoS).
  • Os contratos inteligentes da Ethereum trouxeram possibilidades para muitas aplicações importantes, incluindo DeFi, NFTs, DAOs, emissão de tokens, armazenamento descentralizado e computação em nuvem.
  • Em sua busca pela descentralização e segurança, a Ethereum sacrificou algumas medidas de desempenho e está enfrentando desafios de escalabilidade. As soluções existentes incluem sidechains, Rollups, tecnologia de sharding e desvio de tráfego para outras redes blockchain compatíveis com EVM.





🎥・Vídeo principal


Não

📄・Artigos Relacionados


O que é Ethereum?


O que é UTXO?


O que são contratos inteligentes?


O que é EVM (Ethereum Virtual Machine?)


O que é Taxa de Gás?


O que é um Algoritmo de Consenso Blockchain?

Відмова від відповідальності
* Криптоінвестиції пов'язані зі значними ризиками. Дійте обережно. Курс не є інвестиційною консультацією.
* Курс створений автором, який приєднався до Gate Learn. Будь-яка думка, висловлена автором, не є позицією Gate Learn.