Ethereum em minutos: Uma nova geração de Blockchain

jan 20, 2021 | Ethereum

Uma nova geração de Blockchain

Ethereum é uma plataforma aberta de blockchain que permite que qualquer pessoa crie e use aplicativos descentralizados. Assim como o Bitcoin, ninguém controla ou é detentor do Ethereum. Trata-se de um projeto de código aberto construído por muitas pessoas ao redor do mundo, mas, ao contrário do protocolo Bitcoin, o Ethereum foi projetado para ser adaptável e flexível.

A tecnologia do blockchain é a base tecnológica do Ethereum. Um blockchain é uma arquitetura de computação distribuída na qual cada nó
(usuários que cooperam com a estrutura, cedendo poder computacional) da rede executa e registra as mesmas transações, que são agrupadas em blocos. Apenas um bloco pode ser adicionado ao blockchain por vez. Cada bloco contém uma prova matemática (hash) responsável por certificar que determinado bloco segue na sequência do bloco anterior.

Desta forma, o “banco de dados distribuído” do blockchain é mantido em segurança e consenso por todos os nós da rede. As interações individuais do usuário com o livro de registro, que são feitas por meio de transações, são garantidas através de uma forte barreira de criptografia. Os nós que mantêm e verificam a rede são incentivados economicamente pela estrutura: cooperar é mais lucrativo do que fraudar.

No caso do Bitcoin, o banco de dados distribuído é concebido como uma tabela de saldos relativos aos endereços existentes. Em outras palavras, trata-se de um livro de registro (débitos e créditos) no qual as transações são efetivamente transferências de bitcoin. Com isso, permite-se a troca de valores financeiros entre usuários sem a necessidade de um intermediário.

Mas como o bitcoin começou a atrair maior atenção de desenvolvedores e tecnólogos, projetos inovadores começaram a usar a rede Bitcoin para fins além da esfera financeira. Muitos destes projetos assumiram a forma de “altcoins”, ou seja, criptomoedas alternativas que possuem, às vezes, seu blockchain próprio. O objetivo de muitos deles é trazer soluções para outros mercados, da mesma forma que o bitcoin trouxe para o sistema financeiro.

No final de 2013, o inventor do Ethereum, Vitalik Buterin, propôs um novo blockchain com a capacidade de ser programado para executar qualquer computação arbitrariamente complexa.

Ethereum Virtual Machine

O Ethereum é um blockchain programável. Em vez de dar aos usuários um conjunto de operações pré-definidas, como por exemplo transações com bitcoin, o Ethereum permite aos indivíduos criarem suas próprias operações com qualquer complexidade que assim desejem. Desta forma, o Ethereum serve como uma plataforma destinada à criação de diferentes aplicações descentralizadas em seu blockchain, incluindo, mas não limitando-se, às criptomoedas.

O Ethereum, no sentido estrito, refere-se a um conjunto de protocolos que define uma plataforma para contratos inteligentes e aplicações descentralizadas. Em seu cérebro está a Máquina Virtual Ethereum (Ethereum Virtual Machine – EVM), que pode ser entendida como um “super computador” capaz de executar códigos de complexidade algorítmica arbitrária.

Em termos de ciência da computação, o Ethereum é considerado “Turing completo”. Na teoria de computadores reais e virtuais, linguagens de programação e outros sistemas lógicos, um sistema “Turing completo” é aquele que tem um poder computacional equivalente à máquina de Turing universal. Em outras palavras, o sistema e a máquina universal de Turing podem emular um ao outro. Mesmo que seja fisicamente impossível para essas máquinas existirem porque requerem armazenamento ilimitado e probabilidade de falha nula, de uma maneira coloquial, a integridade de Turing é atribuída a máquinas físicas ou linguagens de programação que poderiam ser universais se tivessem armazenamento infinito e fossem absolutamente confiáveis.

Com o Ethereum, os desenvolvedores podem criar aplicativos descentralizados, popularmente conhecidos como Dapps, que funcionam na EVM usando linguagens de programação já existentes, como JavaScript e Python. Como qualquer blockchain, o Ethereum também inclui um protocolo de rede ponto a ponto (peer-to-peer). O banco de dados do blockchain do Ethereum é mantido e atualizado por muitos nós conectados à rede. Cada nó da rede executa a EVM e processa as mesmas instruções. Por este motivo, o Ethereum às vezes é descrito como um “computador mundial”.

Esta paralelização maciça da computação em toda a rede Ethereum não é feita para tornar a computação mais eficiente. Na verdade, esse processo torna a computação do Ethereum muito mais lenta e mais cara do que em um “computador” tradicional. Isso porque cada nó Ethereum executa a EVM para manter o consenso em todo blockchain, gerando um grande gasto de energia e poder computacional para manter a estrutura funcionando. Por outro lado, o consenso descentralizado oferece ao Ethereum níveis extremos de tolerância a falhas, garante tempo de inatividade zero e torna os dados armazenados no blockchain inalteráveis e resistentes à censura.

A plataforma Ethereum em si é desprovida de qualquer propriedade nativa e é agnóstica de valores. Semelhante às linguagens de programação, cabe aos empreendedores e desenvolvedores decidirem para quê a plataforma deve ser utilizada. No entanto, é claro que certos tipos de aplicativos tiram maior proveito das capacidades do Ethereum do que outros.

Especificamente, o Ethereum é adequado para aplicações que automatizam a interação direta entre pares ou facilitam a ação coordenada de um grupo em uma rede. Por exemplo, aplicativos para coordenação de mercados ponto-a-ponto ou a automação de contratos financeiros complexos.

O Bitcoin permite que os indivíduos troquem dinheiro sem envolver intermediários como instituições financeiras, bancos ou governos. O impacto do Ethereum pode ser mais abrangente. Em teoria, as interações financeiras ou negociações de qualquer complexidade podem ser realizadas de forma automática e confiável usando o código que está sendo executado no Ethereum. Além das aplicações financeiras, todos os ambientes em que a confiança, a segurança e a imutabilidade são importantes – por exemplo, registros de ativos, votação, governança e internet das coisas (IoT) – podem ser impactados positivamente pela plataforma Ethereum.

Como o Ethereum funciona?

O Ethereum incorpora muitos recursos e tecnologias que são familiares aos usuários do Bitcoin. Além disso, ele introduz muitas modificações e inovações próprias. Enquanto o blockchain do Bitcoin é puramente uma lista de transações, a unidade básica do Ethereum é a conta. O blockchain do Ethereum rastreia o estado de cada conta e todas as transições de estado são transferências de valor e informações entre as contas.

Existem dois tipos de contas:

  1. Conta de Propriedade Externa (Externally Owned Account – EOA), que são controladas por chaves privadas;
  2. Conta de Contrato, que são controladas pelo código do contrato e só podem ser “ativadas” por um EOA.

Para a maioria dos usuários, a diferença básica entre estes é que os usuários humanos controlam as EOAs – pois, afinal, apenas eles podem controlar as chaves privadas que dão controle sobre um EOA. As contas de contratos, por outro lado, são regidas pelo seu código interno. Se eles são “controlados” por um usuário humano, é porque eles são programados para serem controlados por um EOA com um determinado endereço, que por sua vez é controlado por quem possui as chaves privadas que controlam esse EOA. O termo popular “contratos inteligentes” (smart contracts) refere-se ao código em uma Conta de Contrato e são programas que são executados quando uma transação é enviada para essa conta. Os usuários podem criar novos contratos implantando o código no blockchain.

As Contas de Contrato apenas executam uma operação quando instruído por um EOA. Portanto, não é possível que uma Conta de contrato esteja executando operações nativas, como geração de números aleatórios ou chamadas de API (Application Programming Interface, ou Interface de Aplicação de Programação). Ela poderia fazer essas coisas somente se fosse solicitado por um EOA. Isso ocorre porque o Ethereum exige que os nós (computadores) possam concordar com o resultado da computação, o que exige uma garantia de execução estritamente determinista.

Como no Bitcoin, os usuários devem pagar pequenas taxas de transação para a rede. Isso protege o blockchain do Ethereum de tarefas computacionais frívolas ou mal-intencionadas, como ataques DDoS (ataques de negação de serviço) ou loops infinitos. O remetente de uma transação deve pagar por cada etapa do “programa” que eles ativaram, incluindo computação e armazenamento de memória. Essas taxas são pagas em quantidades equivalentes do token nativo do Ethereum, denominado Ether (ETH).

Essas taxas de transação são coletadas pelos nós que validam a rede. Mineradores nada mais são do que Nós da rede Ethereum que recebem, propagam, verificam e executam transações. Eles agrupam as transações em blocos, que incluem atualizações do “estado” das contas no blockchain do Ethereum. Como prova por seu trabalho (proof of work/PoW), os mineradores são recompensados com ether por cada bloco de sucesso que eles mineram. Isso fornece o incentivo econômico para as pessoas dedicarem hardware e eletricidade à rede do Ethereum.

Assim como na rede do Bitcoin, os mineradores são encarregados de resolver um problema matemático complexo para poder minerar com sucesso um bloco. O primeiro a resolver o problema recebe a recompensa pelo novo bloco gerado, além das taxas pagas em cada transação do bloco. Para desencorajar a centralização devido ao uso de hardware especializado (por exemplo, Application Specific Integrated Circuits (ASIC), ou seja, circuitos integrados de aplicação específica), como ocorreu na rede do Bitcoin, o Ethereum escolheu um problema computacional de memória. Se o problema requer memória e CPU, o hardware ideal é de fato um computador geral (GPU). Isso torna a prova de trabalho do Ethereum resistente à ASIC, permitindo uma distribuição de segurança mais descentralizada do que em blockchains cuja mineração é dominada por hardware especializado, como o Bitcoin.

Últimos posts

SatoshiCall

Quer ficar por dentro das principais notícias do mercado?

Deixe o seu e-mail* ao lado e receba o SatoshiCall, nossa newsletter diária com as principais notícias do mercado financeiro.