A Ethereum é uma plataforma de computação descentralizada. Pode ser entendida como se fosse um computador, mas não é executada num único dispositivo. Em vez disso, ela corre simultaneamente em milhares de máquinas em todo o mundo, o que significa que não existe um único dono.
A Ethereum, tal como o Bitcoin e outras criptomoedas, possibilita a transferência de dinheiro digital. No entanto, é capaz de muito mais – podemos implementar o nosso próprio código e interagir com aplicações criadas por outros utilizadores. Graças à sua flexibilidade, qualquer tipo de programa sofisticado pode ser executado na Ethereum.
Simplificando, a principal ideia por detrás da Ethereum é que os programadores podem criar e lançar códigos que são executados numa rede distribuída e não num servidor centralizado. Isso significa que, teoricamente, essas aplicações não podem ser desativadas ou censuradas.
Na primeira parte deste artigo adaptado a partir de um original da Binance Academy (a Binance é a maior plataforma mundial de negociação de criptomoeda), vamos explicar um pouco melhor o que é a Ethereum.
Ethereum vs ether (ETH)
Pode não ser intuitivo, mas as unidades usadas na Ethereum não se chamam Ethereum ou Ethereums. “Ethereum” é o protocolo em si, mas a moeda que o alimenta é conhecida como ether (ou ETH).
O que torna a Ethereum valiosa?
Já mencionámos que a Ethereum pode executar código num sistema distribuído. Ou seja, os programas não podem ser adulterados por terceiros: são adicionados à base de dados da Ethereum (a blockchain) e podem ser programados para que não seja possível a alteração do código. Além disso, a base de dados é visível para todos, para que os utilizadores possam auditar o código antes de interagir com ele.
O que isso significa é que qualquer pessoa, em qualquer lugar, pode executar aplicações que não podem ser colocadas offline. Além disso, como a sua unidade nativa – ether – armazena valor, essas aplicações podem definir condições sobre como é transferido o valor.
Chamamos “smart contracts” aos programas que compõem aplicações (sobre estes “contratos inteligentes” falaremos em detalhe num próximo artigo). Na maioria dos casos, estes podem ser configurados para operar sem qualquer intervenção humana.
É compreensível que esta ideia de “dinheiro programável” tenha cativado utilizadores, programadores e empresas de todo o mundo.
O que é a blockchain Ethereum?
A blockchain é o coração da Ethereum, a base de dados que mantém as informações usadas pelo protocolo. A blockchain da Ethereum é semelhante à da Bitcoin, embora os dados que ela armazena – e a maneira como os armazena – sejam diferentes.
Pode ser mais fácil pensar na blockchain da Ethereum como um livro ao qual continuamos a adicionar páginas. Cada página é designada “bloco” e é preenchida com informações sobre transações. Quando queremos adicionar uma nova página, precisamos incluir um valor especial na parte superior da página; esse valor deve permitir que qualquer pessoa veja que a nova página foi adicionada após a página anterior e não apenas inserida no livro aleatoriamente.
Essencialmente, é como o número de uma página que faz referência à anterior. Ao olharmos para a nova página, podemos dizer, com certeza, que ela é a continuação da anterior. Para isso, usa-se um processo de hashing.
Agora, temos um mecanismo para vincular as nossas páginas na ordem correta. Qualquer tentativa de alterar a ordem ou remover as páginas deixará claro que o nosso livro foi adulterado.
Ethereum vs. Bitcoin – qual é a diferença?
O Bitcoin depende da tecnologia blockchain e de incentivos financeiros para criar um sistema global de dinheiro digital. Ele introduziu inovações importantes que permitem a coordenação de utilizadores em todo o mundo, sem necessidade de um comando central. Ao fazer com que cada participante execute um programa no seu computador, o Bitcoin permite que os utilizadores cheguem a um acordo em relação ao estado de uma base de dados financeira em ambiente descentralizado e trustless.
O Bitcoin é geralmente considerado como sendo a blockchain da primeira geração. Não foi criado como um sistema extremamente complexo, o que é um ponto positivo quando se trata de segurança; é um sistema que se mantém intencionalmente inflexível, para priorizar a segurança na sua camada base. Na verdade, a linguagem de contrato inteligente da Bitcoin é extremamente restrita e não acomoda muito bem as aplicações fora das transações.
A segunda geração de blockchains, por outro lado, é mais capaz. Além das transações financeiras, essas plataformas permitem um grau de programação de maior complexidade. A Ethereum oferece aos programadores muito mais liberdade para experimentar os seus próprios códigos e criar aquilo a que chamamos “Aplicações Descentralizadas” (DApps).
A Ethereum foi a primeira blockchain de segunda geração e continua a ser a mais proeminente até hoje. Possui semelhanças com a Bitcoin e pode executar várias das mesmas funções. Mas, na realidade, as duas são muito diferentes e cada uma tem suas próprias vantagens e desvantagens.
Como funciona a Ethereum?
Poderíamos definir a Ethereum como uma máquina de estado (literalmente, “state machine”). Isto significa que, a qualquer momento, temos um snapshot (uma informação instantânea) de todos os saldos da conta e contratos inteligentes, mostrando o seu estado atual. Certas ações farão com que o estado seja atualizado, o que significa que todos os “nós” atualizam o seu próprio snapshot para divulgar a alteração.
Os contratos inteligentes executados na Ethereum são acionados por transações (de utilizadores ou de outros contratos). Quando um utilizador envia uma transação para um contrato, todos os “nós” da rede executam o código do contrato e registam o output (saída). Isso é feito usando a Ethereum Virtual Machine (EVM), que converte os contratos inteligentes em instruções que o computador pode ler.
Para atualizar o estado, é usado um mecanismo de mineração (por enquanto). A mineração é feita com o algoritmo “Proof of Work”, o qual é semelhante ao do Bitcoin. Entraremos em mais detalhes sobre isso em breve.
O que é um contrato inteligente?
Um contrato inteligente, de que falaremos mais em detalhe num artigo separado, é apenas código. O código não é inteligente nem é um contrato no sentido tradicional. Mas designamo-lo de “inteligente” porque é executado sob certas condições e pode ser considerado um contrato, já que impõe acordos entre as partes.
Podemos creditar esta ideia ao cientista da computação Nick Szabo, que a propôs no final dos anos 90. Ele usou o exemplo de uma máquina de venda automática para explicar o conceito, afirmando que poderia ser visto como um precursor do contrato inteligente moderno. No caso de uma máquina de venda automática, existe um contrato simples a ser executado: inserimos moedas e, em troca, a máquina entrega o produto escolhido.
Ora, um contrato inteligente aplica esse tipo de lógica num cenário digital. Podemos especificar algo simples no código como exibir “Olá, mundo!” quando dois ether forem enviados para este contrato.
Na Ethereum, o programador codificaria isto para que, mais tarde, pudesse ser lido pela EVM. Seria então publicado, enviando-o para um endereço especial que regista o contrato. A partir deste momento, qualquer um pode usá-lo – e o contrato não pode ser excluído, a menos que uma condição seja especificada pelo programador durante a sua criação.
Agora, o contrato tem um endereço. Para interagir com ele, os utilizadores precisam apenas de enviar 2 ETH para esse endereço. Isso desencadeará o código do contrato – todos os computadores da rede irão executar, verificar se o pagamento foi feito e registar o seu output (“Olá, mundo!”).
O que foi descrito acima é, talvez, um dos exemplos mais básicos do que pode ser feito com a Ethereum. Aplicações mais sofisticadas que ligam muitos contratos podem ser – e já foram – criadas.
Quem criou a Ethereum?
Em 2008, um programador desconhecido (ou grupo de programadores) utilizando o pseudónimo Satoshi Nakamoto, publicou o white paper do Bitcoin. Isso mudou completamente o cenário do dinheiro digital. Alguns anos depois, um jovem programador chamado Vitalik Buterin imaginou uma maneira de levar essa ideia adiante e aplicá-la a qualquer tipo de aplicação. O conceito expandiu-se até o surgimento da Ethereum.
A Ethereum foi proposta por Buterin numa publicação de 2013, intitulada Ethereum: The Ultimate Smart Contract and Decentralized Application Platform. No seu post, ele descreveu uma ideia de blockchain “Turing-complete” – um computador descentralizado que, com tempo e recursos suficientes, poderia executar qualquer aplicação.
Com o tempo, os tipos de aplicações que poderiam ser implantadas numa blockchain seriam limitados apenas pela imaginação dos programadores. A Ethereum tem como objetivo descobrir se a tecnologia blockchain tem utilizações válidas fora das limitações de conceção intencionais do Bitcoin.
Como foi distribuído o ether?
A Ethereum foi lançada em 2015 com um fornecimento inicial de 72 milhões de ether. Mais de 50 milhões de tokens foram distribuídos numa venda pública de tokens, aquilo a que se chama uma ICO, iniciais de Initial Coin Offering, onde aqueles que desejavam participar podiam comprar tokens ether em troca de bitcoins ou moeda fiduciária.
O que era The DAO e o que é Ethereum Classic?
Com a Ethereum, formas totalmente novas de colaboração aberta através da Internet tornaram-se possíveis. Vamos considerar, por exemplo, as DAOs (iniciais de “decentralized autonomous organizations”), entidades governadas por código de computador, semelhantes a um programa informático.
Uma das primeiras e mais ambiciosas tentativas de organização desse tipo chamou-se “The DAO”. Teria sido composta de contratos inteligentes complexos, executados sobre a Ethereum, funcionando como um fundo de risco autónomo. Os tokens da DAO foram distribuídos numa ICO e deram uma participação acionista, bem como direitos de voto, aos detentores de tokens.
Pouco depois do seu lançamento, no entanto, agentes mal-intencionados exploraram uma vulnerabilidade da DAO e roubaram quase um terço de seus fundos. Note-se que, naquela época, 14% de todo o suprimento de ether estava trancado na DAO. Obviamente, este foi um evento devastador para a ainda inexperiente rede Ethereum.
Após algumas discussões, a cadeia sofreu um “hard fork”, separando-se em duas novas cadeias. Numa delas, as transações maliciosas foram efetivamente “revertidas” para restaurar os fundos – essa cadeia é agora conhecida como a blockchain Ethereum. A cadeia original, onde as transações não foram revertidas e a imutabilidade foi mantida, agora é conhecida como Ethereum Classic.
O evento serviu como uma dura lição sobre os riscos dessa tecnologia e mostrou como confiar grandes quantias num código autónomo pode ser perigoso. Foi também um exemplo interessante de como pode ser difícil a tomada de decisões coletivas num ambiente aberto.
Porém, foi negligenciando as suas vulnerabilidades de segurança que a DAO ilustrou perfeitamente o potencial dos contratos inteligentes, ao permitir a colaboração “trustless” (sem necessidade de confiança) em larga escala na Internet.
Num próximo artigo iremos continuar a aprofundar a Ethereum.
Siga toda a atualidade tecnológica no TecheNet através do Facebook, Google News e Twitter. Agora, temos também um canal dedicado no Telegram, onde poderá receber todas as novidades em primeira mão.
Em que consiste a mineração de criptomoedas?
A “mineração” é um dos principais elementos que permitem que as criptomoedas funcionem como uma rede descentralizada peer-to-peer (ponto-a-ponto) sem a necessidade de uma autoridade central. É neste processo de mineração de criptomoedas que as transações entre utilizadores são verificadas e adicionadas ao livro de registos (“ledger”) da blockchain e é atualizada a quantidade de moedas em circulação.
Outros artigos interessantes: