Como Ethereum Funciona?

Já dissemos na primeira página desse guia – o que é Ethereum? – que com a Ethereum não é mais necessária uma entidade que armazene e controle seus dados. Para atingir isso foi usado muito do protocolo do Bitcoin e o design blockchain.

O que faz a Ethereum mais completa que o Bitcoin é o fato de ser muito mais que uma moeda digital e poder ser utilizada para diversas finalidades. Isso ocorre graças ao tipo de programação utilizada, o “Turing-completo”, que oferece infinitas possibilidades aos desenvolvedores na plataforma.

O blockchain Ethereum

Assim como acontece no Bitcoin, o blockchain Ethereum armazena valores e transações. Mas além disso, ele também guarda as informações atuais de todos os contratos inteligentes – falamos especificamente sobre esses contratos aqui – dentro da rede.

Basicamente, a Ethereum Blockchain é uma máquina de estado baseada em transação. Uma maquina de estado é definida como algo capaz de ler uma sequência de entradas e, após transações serem executadas, efetuar a transição para o novo estado.

maquina de estado ethereum

Cada novo estado da Ethereum é resultado de milhões de transações, que agrupadas formam blocos. Tais blocos são “acorrentados” uns aos outros através de complexos cálculos matemáticos formando uma cadeia de blocos.

Blocos Ethereum

Depois que essa cadeia de blocos é formada, ela tem que ser aprovada por no mínimo 51% da rede para ser considerada válida e entrar de fato na Blockchain.

A dificuldade de se fraudar uma operação é explicada por dois motivos principais. Primeiro que para fraudar uma cadeia seria necessário adicionar um determinado bloco em qualquer posição dessa cadeia, de modo que todos os próximos blocos ao redor não se alterassem, e isso é quase impossível de acontecer. Ainda sim se algo do tipo chegasse a ocorrer, seria extremamente difícil convencer a maioria da rede de que tal cadeia é legítima.

Peer-to-peer

A internet hoje funciona de maneira majoritariamente centralizada, com os servidores centralizando as informações. Como já dissemos anteriormente, a Ethereum quer fazer justamente o contrário, descentralizar os processos e eliminar intermediários. É aqui que entra o Peer-to-Peer, que é um sistema onde cada ponto da rede funciona tanto como cliente quanto como servidor, permitindo a troca de informações sem a necessidade de um servidor central.

Peer-to-peer Ethereum

Portanto todos os pontos da rede da Ethereum podem enviar e receber informações sobre os estados dos blocos, validar transações ou fazer qualquer outro tipo de solicitação um ao outro. Se um único servidor lidasse com toda informação da rede Ethereum, um administrador poderia ir lá e fazer alterações nas informações sem o conhecimento e aprovaçao da rede, tornando o sistema inseguro.

Outro problema de um servidor central é que se desligado por causa de problemas técnicos ou falta de energia, toda a rede é desativada inteiramente até que o servidor volte a ficar online. O que não acontece no sistema Peer-to-Peer.

DAPPs – Aplicações descentralizadas

Um Dapp é um aplicativo estruturado com base em vários contratos inteligentes, visando executar determinada tarefa.

Você pode visualizar o conceito Dapp se imaginá-lo como uma “loja de aplicativos aberta e descentralizada”. Onde qualquer pessoa poderia disponibilizar seus Dapps em uma plataforma que a conectaria diretamente com os usuários.

Usando o Uber como exemplo, seria como se você se conectasse diretamente com o motorista, sem a necessidade do Uber intermediar as partes. Isso seria possível porque antes do motorista ser considerado “apto” para executar o serviço, ele teria que preencher uma série de requisitos preestabelecidos no contrato inteligente. Requisitos esses que poderiam ser algo como: Mínimo de “x” anos de experiencia, última manutenção do automóvel feita depois da data data “y” e etc.

E claro, tudo isso é feito dentro da plataforma da Ethereum com total transparência e segurança.

Maquina virtual Ethereum

Esse programa é considerado o órgão central da Ethereum. Nele são criados os contratos inteligentes e as Dapps. Além de ser possível testar as aplicações antes de serem lançadas.

Programadores podem criar aplicativos para serem executados na máquina virtual Ethereum usando variadas linguagens de programação. Por meio de seus complexos algoritmos, a maquina virtual ajuda a manter a rede descentralizada e autorreguladora, garantindo transações rápidas e seguras.

Próxima: Quem é Vitalik Buterin