O que é Ethereum?
O que é Ethereum?
Ethereum é uma plataforma de computação descentralizada. Pode ser entendida como se fosse um computador, mas não é executada em um único dispositivo. Em vez disso, ela roda simultaneamente em milhares de máquinas em todo o mundo, o que significa que não existe um dono.
A Ethereum, como a Bitcoin e outras criptomoedas, possibilita a transferência de dinheiro digital. No entanto, ela é capaz de muito mais – você pode implementar seu próprio código e interagir com aplicativos criados por outros usuários. Graças à sua flexibilidade, qualquer tipo de programa sofisticado pode ser executado na Ethereum.
Simplificando, a principal ideia por trás da Ethereum é que os desenvolvedores podem criar e lançar códigos que são executados em uma rede distribuída e não em um servidor centralizado. Isso significa que, em tese, esses aplicativos não podem ser desativados ou censurados.
Qual a diferença entre Ethereum e ether (ETH)?
Pode não ser algo intuitivo, mas as unidades usadas na Ethereum não são chamadas de 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?
Mencionamos que a Ethereum pode executar códigos em um sistema distribuído. Ou seja, os programas não podem ser adulterados por terceiros. Eles são adicionados ao banco 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, o banco de dados é visível para todos, para que os usuários 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 alteradas para offline. Além disso, como sua unidade nativa – ether – armazena valor, essas aplicações podem definir condições de como o valor é transferido. Chamamos os programas que compõem aplicativos de contratos inteligentes. Na maioria dos casos, eles podem ser configurados para operar sem nenhuma intervenção humana.
É compreensível que esta ideia de “dinheiro programável” tem cativado usuários, desenvolvedores e empresas de todo o mundo.
O que é blockchain?
A blockchain é o coração da Ethereum – é o banco de dados que mantém as informações usadas pelo protocolo. Se você leu nosso artigo O que é Bitcoin?, já tem um entendimento básico de como funciona uma blockchain. A blockchain da Ethereum é semelhante à da Bitcoin, embora os dados que ela armazena – e a maneira como armazena – sejam diferentes.
Pode ser mais fácil pensar na blockchain da Ethereum como um livro ao qual você continua adicionando páginas. Cada página é chamada de 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 olhar para a nova página, podemos dizer, com certeza, que ela é a continuação da anterior. Para isso, usamos um processo chamado de hashing.
O hashing pega um conjunto de dados – nesse caso, tudo que está contido em nossa página – e retorna um identificador exclusivo (nosso hash). As chances de dois dados nos fornecerem o mesmo hash são astronomicamente baixas. Além disso, é um processo de mão única: você pode calcular facilmente um hash, mas é praticamente impossível reverte-lo para obter as informações usadas em sua criação. Em um capítulo posterior, abordaremos por que isso é importante para a mineração.
Agora, temos um mecanismo para vincular nossas páginas na ordem correta. Qualquer tentativa de alterar a ordem ou remover as páginas deixará claro que nosso livro foi adulterado.
Deseja saber mais sobre blockchains? Confira nosso Guia para iniciantes sobre Tecnologia Blockchain.
Ethereum vs. Bitcoin – qual é a diferença?
A Bitcoin depende da tecnologia blockchain e de incentivos financeiros para criar um sistema global de dinheiro digital. Ela introduziu algumas inovações importantes que permitem a coordenação de usuários em todo o mundo, sem a necessidade de um comando central. Ao fazer com que cada participante execute um programa em seu computador, a Bitcoin permite que os usuários cheguem a um acordo em relação ao estado de um banco de dados financeiro em um ambiente descentralizado e sem necessidade de confiança.
A Bitcoin é geralmente considerada a blockchain da primeira geração. Não foi criada como um sistema extremamente complexo, o que é um ponto positivo quando se trata de segurança. É um sistema que se mantém inflexível, intencionalmente, para priorizar a segurança em sua camada base. Na verdade, a linguagem de contrato inteligente da Bitcoin é extremamente restrita e não acomoda muito bem as aplicações que estão fora das transações.
A segunda geração de blockchains, por outro lado, é capaz de mais. Além das transações financeiras, essas plataformas permitem um grau de programação de maior complexidade. A Ethereum oferece aos desenvolvedores muito mais liberdade para experimentar seus próprios códigos e criar o que chamamos de Aplicações Descentralizadas (DApps).
A Ethereum foi a primeira da blockchain da segunda geração e continua sendo 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 status. Isso significa que, a qualquer momento, você tem um snapshot (uma informação instantânea) de todos os saldos da conta e contratos inteligentes, mostrando como eles estão atualmente. Certas ações farão com que o status seja atualizado, o que significa que todos os nós atualizam seu próprio snapshot para divulgar a alteração.
Uma transação no status da Ethereum.
Os contratos inteligentes executados na Ethereum são acionados por transações (de usuários ou de outros contratos). Quando um usuário envia uma transação para um contrato, todos os nós da rede executam o código do contrato e registram 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 status, um mecanismo especial chamado de mineração é usado (por enquanto). A mineração é feita com o algoritmo Proof of Work, semelhante ao da Bitcoin. Entraremos em mais detalhes sobre isso em breve.
O que é um contrato inteligente?
Um contrato inteligente é apenas código. O código não é inteligente nem é um contrato no sentido tradicional. Mas chamamos de inteligente porque ele é executado sob certas condições e pode ser considerado um contrato, já que faz cumprir acordos entre as partes.
O cientista da computação Nick Szabo pode ser creditado com a ideia, que ele 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 sendo executado. Os usuários inserem moedas e em troca, a máquina entrega o produto escolhido.
Um contrato inteligente aplica esse tipo de lógica em um cenário digital. Você pode especificar algo simples no código como retornar “Olá, mundo!” quando duas ether forem enviados para este contrato.
Na Ethereum, o desenvolvedor codificaria isso para que mais tarde pudesse ser lido pela EVM. Eles então publicam enviando-o para um endereço especial que registra o contrato. Nesse ponto, qualquer um pode usá-lo. E o contrato não pode ser excluído, a menos que uma condição seja especificada pelo desenvolvedor durante sua confecção.
Agora, o contrato tem um endereço. Para interagir com ele, os usuários precisam enviar 2 ETH para esse endereço. Isso acionará o código do contrato – todos os computadores da rede irão executar, verificar se o pagamento foi feito e registrar seu output (“Olá, mundo!”).
O que foi descrito acima é talvez um dos exemplos mais básicos do que pode ser feito com a Ethereum. Aplicativos mais sofisticados que conectam muitos contratos podem ser – e já foram – criados.
Quem criou a Ethereum?
Em 2008, um desenvolvedor desconhecido (ou grupo de desenvolvedores) utilizando o pseudônimo Satoshi Nakamoto, publicou o white paper da 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 se expandiu até o surgimento da Ethereum.
A Ethereum foi proposta por Buterin em uma publicação no blog de 2013, intitulada Ethereum: The Ultimate Smart Contract and Decentralized Application Platform. Em seu post, ele descreveu uma ideia de blockchainTuring-complete – um computador descentralizado que, com tempo e recursos suficientes, poderia executar qualquer aplicativo.
Com o tempo, os tipos de aplicações que poderiam ser implantadas em uma blockchain seriam limitadas apenas pela imaginação dos desenvolvedores. A Ethereum tem como objetivo descobrir se a tecnologia blockchain tem usos válidos fora das limitações de design intencionais da Bitcoin.