Agora que nós cobrimos o que é ethereum, vamos aprofundar em como a plataforma funciona sob o capô.

Considere o aplicativo de notebook on-line descrito em “O que é Ethereum?

Usando ethereum, o aplicativo não requer uma entidade para armazenar e controlar seus dados. Para conseguir isso, o ethereum usa muito o protocolo do bitcoin e seu design blockchain, mas o ajusta para suportar aplicativos além do dinheiro.

O Ethereum tem como objetivo abstrair o design do bitcoin, no entanto, para que os desenvolvedores possam criar aplicativos ou acordos que tenham etapas adicionais, novas regras de propriedade, formatos alternativos de transação ou diferentes formas de transferir o estado.

O objetivo da linguagem de programação ‘Turing-complete’ da ethereum é permitir que os desenvolvedores escrevam mais programas nos quais transações blockchain poderiam governar e automatizar resultados específicos.

Essa flexibilidade talvez seja a principal inovação do ethereum, conforme explicado no guia “Como funcionam os contratos inteligentes do Ethereum?“.

O Blockchain do Ethereum

A estrutura do blockchain do ethereum é muito similar à do bitcoin, na medida em que é um registro compartilhado de todo o histórico de transações. Todos os nós da rede armazenam uma cópia desse histórico.

A grande diferença com o ethereum é que seus nós armazenam o estado mais recente de cada contrato inteligente, além de todas as transações de ether. (Isso é muito mais complicado do que o descrito, mas o texto abaixo deve ajudá-lo a entender.)

Para cada aplicação ethereum, a rede precisa acompanhar o ‘estado’, ou as informações atuais de todos esses aplicativos, incluindo o saldo de cada usuário, todo o código do contrato inteligente e onde tudo é armazenado.

Bitcoin usa saídas de transação não gastas para rastrear quem tem quanto de bitcoin.

Embora pareça mais complexo, a ideia é bem simples. Toda vez que uma transação de bitcoin é feita, a rede “quebra” o valor total como se fosse papel-moeda, emitindo bitcoins de volta de uma maneira que faz os dados se comportarem de forma semelhante a moedas ou mudanças físicas.

Para fazer transações futuras, a rede bitcoin precisa adicionar todas as suas alterações, que são classificadas como ‘gastas’ ou ‘não gastas’.

Ethereum, por outro lado, usa contas.

Como os fundos da conta bancária, os tokens ether aparecem em uma carteira e podem ser portados (por assim dizer) para outra conta. Os fundos estão sempre em algum lugar, mas não têm o que você pode chamar de relacionamento contínuo.

O Que é a Máquina Virtual Ethereum?

Com ethereum, toda vez que um programa é usado, uma rede de milhares de computadores o processa.

Os contratos escritos em linguagens de programação específicas de contratos inteligentes são compilados em ‘bytecode’, que um recurso chamado ‘ethereum virtual machine’ (EVM) pode ler e executar.

Todos os nós executam este contrato usando seus EVMs.

Lembre-se de que todos os nós da rede possuem uma cópia da transação e do histórico de contrato inteligente da rede, além de acompanhar o ‘estado’ atual. Toda vez que um usuário realiza alguma ação, todos os nós da rede precisam concordar que essa mudança ocorreu.

O objetivo aqui é que a rede de mineradores e de nós assuma a responsabilidade de transferir a mudança de estado para estado, em vez de alguma autoridade como o PayPal ou um banco. Os mineradores de Bitcoin validam a mudança de propriedade de bitcoins de uma pessoa para outra. O EVM executa um contrato com as regras que o desenvolvedor inicialmente programou.

A computação real no EVM é obtida por meio de uma linguagem bytecode baseada em pilha (aqueles e zeros que uma máquina pode ler), mas os desenvolvedores podem escrever contratos inteligentes em linguagens de alto nível como Solidity e Serpent que são mais fáceis de ler e escrever.

Como explicado em nosso guia “Como funciona a Mineração Ethereum?“, os mineiros são os que estão evitando comportamentos ruins – como garantir que ninguém gaste seu dinheiro mais de uma vez e rejeitar contratos inteligentes que não foram pagos.

Existem alguns milhares de nós ethereum lá fora, e cada nó está compilando e executando o mesmo código.

Mas, você pode estar pensando, não é muito mais caro do que uma computação normal? Sim. É por isso que a rede só pode ser usada apenas para casos de uso específicos.

O tutorial oficial do ethereum dev reconhece essa ineficiência, afirmando:

“Grosso modo, uma boa heurística para usar é que você não poderá fazer nada no EVM que não possa fazer um smartphone a partir de 1999.”

Compartilhe ou envie por email:
FacebookTwitterLinkedInWhatsAppTelegramEmail