Ethereum e contratos inteligentes
O que é o Ethereum, como os contratos inteligentes funcionam nele, para que serve o ether e os principais riscos de um código difícil de alterar.
O Bitcoin mostrou que é possível enviar valor pela internet sem um banco no meio. O Ethereum levou a ideia mais longe: e se uma blockchain pudesse rodar não só pagamentos, mas qualquer programa? O Ethereum foi lançado em 2015 e se tornou a plataforma mais conhecida de contratos inteligentes (smart contracts) — programas que vivem em uma blockchain e são executados exatamente como foram escritos.
O que é o Ethereum
O Ethereum é uma blockchain pública mantida por muitos computadores independentes espalhados pelo mundo. Assim como o Bitcoin, ele mantém um registro compartilhado de saldos e transações. Diferentemente do Bitcoin, ele também guarda o código e os dados de programas, e cada nó da rede consegue executar esse código e chegar ao mesmo resultado.
A moeda nativa do Ethereum é o ether (ETH). Ela tem duas funções principais:
- pagar as taxas de transações e da execução de contratos inteligentes, o chamado gás
- proteger a rede por meio do staking, já que o Ethereum usa Proof of Stake
O que é um contrato inteligente
Um contrato inteligente é um programa publicado na blockchain em um endereço próprio. Depois de publicado, qualquer pessoa pode enviar a ele uma transação para chamar uma de suas funções. O contrato então segue o seu código: pode guardar fundos, enviá-los, registrar dados ou chamar outros contratos.
Uma forma simples de imaginar é uma máquina de venda automática. Você coloca a entrada certa e a máquina entrega o resultado definido de antemão, sem um atendente decidindo se vai ou não atender você. A palavra "contrato" engana um pouco: um contrato inteligente não é um acordo jurídico, apenas um código com comportamento previsível.
Como eles são executados
No Ethereum, os contratos inteligentes rodam dentro da Ethereum Virtual Machine (EVM), um ambiente padrão que todo nó implementa. Os desenvolvedores costumam escrever os contratos em uma linguagem como Solidity e compilá-los em código da EVM. Como todos os nós executam o mesmo código com as mesmas entradas, todos chegam ao mesmo novo estado.
Cada operação na EVM tem um custo em gás. Isso protege a rede de programas que rodariam para sempre ou que a sobrecarregariam: quem inicia uma transação paga pelo processamento que ela consome.
O que os diferencia de programas comuns
- Transparência: o código do contrato e a sua atividade ficam visíveis na blockchain.
- Imutabilidade: em geral, o código publicado não pode ser editado. Alguns contratos são feitos para ser atualizáveis, o que significa que alguém tem o poder de alterá-los.
- Sem operador central: depois de publicado, o contrato continua funcionando enquanto a rede estiver no ar.
- Composabilidade: os contratos podem chamar uns aos outros, então os desenvolvedores criam novos serviços em cima dos que já existem.
O que se constrói com contratos inteligentes
- Tokens: muitas criptomoedas e stablecoins são contratos inteligentes que seguem padrões comuns, como o ERC-20 para tokens intercambiáveis.
- Exchanges descentralizadas e protocolos de empréstimo, muitas vezes agrupados sob o nome DeFi.
- NFTs: tokens únicos que representam a propriedade de um item específico, seguindo padrões como o ERC-721.
- DAOs: organizações em que os membros votam, por meio de contratos, sobre como os fundos comuns são usados.
Marcos importantes
O Ethereum muda por meio de atualizações da rede que os operadores de nós adotam. Algumas das mais importantes:
- 2015: lançamento da rede principal do Ethereum, usando Proof of Work.
- Agosto de 2021: a atualização London introduziu a EIP-1559, que mudou o funcionamento das taxas e passou a queimar parte de cada taxa.
- Setembro de 2022: The Merge levou o Ethereum do Proof of Work para o Proof of Stake.
Atualizações posteriores continuam mudando detalhes da rede, e as próximas aparecem no calendário de eventos.
Riscos que você precisa entender
O fato de o código rodar exatamente como foi escrito é, ao mesmo tempo, uma força e um perigo.
- Bugs: se um contrato tem um erro, atacantes podem explorá-lo, e os fundos roubados normalmente não podem ser recuperados.
- Chaves de atualização: se uma equipe pode alterar um contrato, os usuários dependem de que ela aja com honestidade e mantenha suas chaves em segurança.
- Contratos maliciosos: golpistas publicam contratos que parecem legítimos, mas esvaziam a carteira de quem os aprova.
- Irreversibilidade: uma transação enviada ao endereço errado ou a um contrato malicioso não pode ser desfeita.
Uma auditoria feita por uma empresa de segurança reduz o risco, mas não o elimina. Contratos auditados também já foram explorados.
Escalabilidade e layer 2
Como cada nó executa cada transação, a rede principal do Ethereum tem capacidade limitada, e as taxas sobem quando a demanda é alta. Para dar conta de mais atividade, muitos projetos usam redes layer 2, que processam as transações à parte e depois publicam os resultados de volta no Ethereum.
Pontos-chave
- O Ethereum é uma blockchain que roda programas chamados contratos inteligentes.
- O ether paga o gás e protege a rede por meio do staking.
- Os contratos inteligentes são transparentes e difíceis de alterar, o que ajuda a gerar confiança, mas torna os bugs caros.
- Tokens, DeFi, NFTs e DAOs são todos construídos sobre contratos inteligentes.