Uma breve história do Ethereum
NewsDevelopersEnterpriseBlockchain ExplainedEvents and ConferencesPressboletins informativos
Assine a nossa newsletter.
Endereço de email
Nós respeitamos sua privacidade
HomeBlogBlockchain explicado
Uma breve história do Ethereum
Uma visão geral dos upgrades e hard garfos do passado de Ethereum, com um olho no que está por vir.por ConsenSys 13 de maio de 2019Postado em 13 de maio de 2019
Do ponto de vista de um pássaro, a tecnologia blockchain não existe há muito tempo. Embora os conceitos básicos (criptografia, descentralização, rede ponto a ponto & transação) foram estudados por décadas, não até o lançamento do Bitcoin em 2008 todos esses componentes podem ser vistos com segurança como tendo se reunido para criar um produto funcional. O Ethereum, em particular, está disponível em formato público e utilizável apenas desde 2015. Embora as datas e os detalhes de sua evolução projetada tenham mudado, o Ethereum manteve seu plano de atualizar consistentemente o protocolo para garantir melhor usabilidade, segurança, funcionalidade e descentralização.
Com a recente atualização de Constantinopla em fevereiro, o Ethereum está à beira da Serenidade (também conhecido como Ethereum 2.0), a ser alcançado por meio de uma série de forquilhas rígidas e fases de atualização, incluindo “Ethereum 1.x.” Para entender para onde estamos indo, no entanto, devemos olhar para trás e entender de onde viemos. Esta linha do tempo analisa a história dos bifurcações e atualizações significativas (não) planejadas da Ethereum na preparação de sua próxima fase de evolução.
Olímpico | 9 de maio de 2015
O blockchain Ethereum tornou-se público em julho de 2015. A etapa imediata antes disso, no entanto, foi o Olímpico – a nona e última prova de conceito de rede de teste aberta, disponível para os desenvolvedores explorarem como o blockchain Ethereum ficaria depois de lançado. Vitalik anunciou uma recompensa total de 25.000 ETH para desenvolvedores que gastaram seu tempo testando a rede. A solicitação era clara: tente sobrecarregar a rede e fazer “coisas malucas com o estado” para fornecer uma ideia de como o protocolo lidaria com alto tráfego. Os desenvolvedores receberam quatro categorias para testar: atividade de transação, uso de máquina virtual, proezas de mineração e punição geral.
Frontier | 30 de julho de 2015
Após alguns meses de testes de estresse, a rede Ethereum estava pronta para o lançamento oficial da mainnet pública. Em 30 de julho, o bloco de gênese do Ethereum foi retirado e a comunidade começou a crescer. Alguns meses antes do lançamento do Frontier, Vinay Gupta publicou uma nota sobre o processo de lançamento da Ethereum. Em meio a parágrafos de empolgação, há avisos para usuários em potencial. O Frontier, afirmou ele, era o Ethereum “em sua forma mais simples” e os desenvolvedores devem ter cuidado. Poucos dias antes do lançamento do Frontier, Stephen Taul ecoou O aviso de Gupta aos desenvolvedores: “Como seus colegas durante a Fronteira Americana, esses colonos terão grandes oportunidades, mas também enfrentarão muitos perigos”.
O protocolo Frontier continha uma série de características cruciais:
- Recompensa de bloco: Quando os mineiros extraem com sucesso a existência de um bloco no blockchain Ethereum, eles recebem uma recompensa em ETH. Frontier foi lançado com recompensa por bloco de 5 ETH por bloco.
- Gás: Durante os primeiros dias de existência da Frontier, o limite de gás por bloco foi codificado em 5000 gás. Basicamente, isso significava que nada poderia acontecer na rede. Isso foi implementado propositalmente para dar alguns dias de tempo de reserva para permitir que os mineiros iniciem suas operações no Ethereum e para permitir que os primeiros usuários instalem seus clientes. Depois de alguns dias, o limite de gás foi removido automaticamente e a rede tornou-se capaz de lidar com transações e contratos inteligentes como deveria.
- Contratos Canários: Contratos canários foram incluídos no Frontier para notificar os usuários de que uma determinada cadeia estava ruim ou vulnerável. Os contratos canários recebiam 0 ou 1. Os contratos que tinham um problema recebiam 1 e os clientes eram notificados para que não explorassem a corrente quebrada. Essencialmente, os recursos de contratos canário deram ao grupo de desenvolvimento Ethereum principal a capacidade de interromper uma operação ou transação na rede caso algo começasse a dar errado. Os contratos canários eram um mecanismo de proteção altamente centralizado, mas necessário no início da existência de Ethereum.
- Usabilidade: Todas as ações do desenvolvedor foram feitas com linhas de comando; não havia interface gráfica do usuário. A rede era utilizável, mas a IU era difícil e seus recursos eram amplamente limitados a pessoas com conhecimento e experiência existentes com Ethereum.
Homestead | 14 de março de 2016
A atualização de Homestead foi a primeira hard fork planejada da rede Ethereum e foi implementada em 14 de maio de 2016 com o bloco de número 1.150.000. No geral, a atualização Homestead incluiu três grandes melhorias para Ethereum. Primeiro, ele removeu a funcionalidade do contrato canário, removendo aquele ponto de centralização na rede. Em segundo lugar, introduziu novos códigos no Solidity, a linguagem de programação usada no Ethereum. Por último, introduziu a carteira Mist, que permitia aos usuários manter / transacionar ETH e escrever / implantar contratos inteligentes.
A atualização de Homestead foi uma das primeiras implementações das propostas de melhoria Ethereum. EIPs são recomendações feitas à comunidade que, se aprovadas, são incluídas nas atualizações de rede. A atualização de Homestead incluiu três EIPs:
EIP-2: Principais atualizações de Homestead
EIP 2.1: Aumentou o custo de criação de contratos inteligentes por meio de uma transação de 21.000 gás para 53.000 gás. O custo para criar um contrato por meio de outro contrato – o método preferido – custou mais do que criá-lo por meio de uma transação. Ao aumentar o custo do gás para criar contratos por meio de transações, o EIP 2.1 incentivou os usuários a voltar a criar contratos por meio de outros contratos.
EIP 2.2: “Todas as assinaturas de transação cujo valor-s é maior que secp256k1n / 2 são consideradas inválidas. O contrato pré-compilado de recuperação ECDSA permaneceu inalterado e continuou aceitando valores-s elevados; isso é útil, por exemplo se um contrato recuperar assinaturas antigas de Bitcoin. ” [fonte]
EIP 2.3: Ditava que se um contrato não tivesse gás suficiente para completar a operação, o contrato “falharia” em vez de criar um contrato vazio. Isso mudou as possíveis saídas de uma transação de [sucesso] [falha] ou [vazio] para apenas [sucesso] ou [falha].
EIP 2.4: Eliminado um incentivo que permitia aos usuários criar blocos com dificuldade um pouco maior – ou seja, blocos que teriam maior probabilidade de serem minerados. Esta atualização estabilizou os tempos de bloqueio entre 10–20 segundos e restaurou a rede ao seu tempo alvo geral de ~ 15 segundos por bloco.
EIP-7
“Adiciona um novo opcode, DELEGATECALL em 0xf4, que é semelhante em ideia a CALLCODE, exceto que ele propaga o remetente e o valor do escopo pai para o escopo filho, ou seja, a chamada criada tem o mesmo remetente e valor da chamada original. ” [fonte]
EIP-8: Atualizações futuras
O EIP-8 foi uma Proposta de Melhoria com vistas a futuras atualizações de rede planejadas. A melhoria garantiu que todo o software cliente no Ethereum pudesse acomodar futuras atualizações de protocolo de rede.
DAO Fork | 20 de julho de 2016
Na história das atualizações planejadas do Ethereum e dos hard forks, o incidente DAO não planejado merece inclusão. Em 2016, uma Organização Autônoma Descentralizada chamada DAO levantou $ 150 milhões de dólares em uma venda simbólica para financiamento. Em junho, o DAO foi hackeado e $ 50 milhões em ETH foram roubados por um hacker desconhecido. A comunidade Ethereum em geral decidiu fazer um fork da rede para restaurar os fundos às suas carteiras originais e corrigir a vulnerabilidade. A bifurcação difícil, no entanto, era controversa, e alguns na comunidade Ethereum continuaram a minerar e fazer transações na cadeia original. A corrente original – com o éter roubado não devolvido – tornou-se Ethereum Classic, que se tornou mais fraco e sujeito a exploração ao longo do tempo. A maioria da comunidade e os principais desenvolvedores continuaram trabalhando fora da cadeia bifurcada – com o ETH roubado devolvido a seus proprietários originais – que é o que agora conhecemos como blockchain Ethereum.
Metrópole: Bizâncio | 16 de outubro de 2017
A próxima etapa do roteiro de Ethereum era conhecida como Metrópole e ocorreria em duas fases: Bizâncio e Constantinopla. Byzantium entrou em operação em 2017 no bloco 4.370.000 e incluiu nove EIPs, incluindo:
EIP 100
Ajustou a fórmula para avaliar a dificuldade de um bloco para levar em consideração os blocos do tio. A nova fórmula proporcionou estabilidade à taxa de emissão, garantindo que ela não pudesse ser forçada para cima pela manipulação de blocos de tio.
EIP 658
Para os blocos após a atualização do Byzantium, os recibos da transação incluíam um campo de status para indicar sucesso (representado por 1) ou falha (representado por 0).
EIP 649
A Bomba de Dificuldade é um mecanismo que, se ativado, aumentaria a energia necessária (ou seja, a ‘dificuldade) para extrair um novo bloco até que se torne impossível e nenhum novo bloco possa ser extraído. Nesse ponto, a rede Ethereum ficaria “congelada”. A Bomba de Dificuldade foi originalmente incluída na rede em setembro de 2015. Seu objetivo é apoiar a eventual transição da Prova de Trabalho para a Prova de Participação. Quando o PoS é implementado, os mineiros podem teoricamente escolher apoiar a antiga cadeia de PoW, causando uma divisão na comunidade e a criação de duas cadeias separadas – uma mantida por stakers e outra mantida por mineiros. A solução para que isso não aconteça é implementar a Bomba de Dificuldade, que acabaria eliminando a eficácia da mineração e permitiria a transição completa da rede para o PoS sem a ameaça de uma bifurcação contenciosa. Atraso da bomba da idade do gelo / dificuldade em 1 ano e redução da recompensa do bloco de 5 ETH para 3 ETH
Uma visão geral dos EIPs de Bizâncio restantes (140, 196, 197, 198, 211, 214) encontrado aqui.
Metrópole: Constantinopla | 28 de fevereiro de 2019
A segunda parte da atualização da Metrópole, chamada Constantinopla, estava programada para entrar em operação no bloco 7.080.000 – estimada em meados de janeiro de 2019. Em 15 de janeiro, uma empresa de auditoria de segurança independente chamada ChainSecurity publicou um relatório que indicava uma das cinco principais atualizações do sistema pode fornecer aos invasores a oportunidade de roubar fundos. Em resposta ao relatório, os principais desenvolvedores do Ethereum e a comunidade estendida votaram para atrasar a atualização até que a brecha de segurança pudesse ser resolvida. Mais tarde naquele mês, os desenvolvedores do núcleo anunciaram que a atualização ocorreria no bloco 7.280.000. O bloco 7.280.000 chegou em 28 de fevereiro e a atualização do hard fork de Constantinopla entrou em operação. A rede Ethereum de hoje está na fase de Constantinopla.
EIP 145: Instruções de deslocamento bit a bit
Adicionadas instruções de deslocamento bit a bit para a Máquina Virtual Ethereum (EVM). As instruções permitem que bits de informações binárias se movam para a esquerda e para a direita. Essa melhoria significa que a execução de turnos em contratos inteligentes será 10 vezes mais barata.
EIP 1052: Verificação de Contrato Inteligente
Permitido que contratos inteligentes verifiquem um ao outro puxando apenas o hash do outro contrato inteligente. Antes de Constantinopla, os contratos inteligentes teriam que puxar todo o código de outro para verificar, o que levava tempo e energia para ser executado.
EIP 1014: CREATE2
Melhorou a capacitação de canais de estado, uma solução de escalonamento Ethereum com base em transações fora da cadeia.
EIP 1283: SSTORE
Reduziu o custo do gás para a operação SSTORE. Esta redução permite que várias atualizações ocorram dentro de uma transação mais barata.
EIP 1234: Recompensas em bloco & Atraso de bomba de dificuldade
Composto por dois componentes: Redução de recompensa de bloco e atraso de bomba de dificuldade.
Redução de recompensa de bloco
As recompensas para os mineiros foram reduzidas de 3 ETH por bloco para 2 ETH por bloco. Essa redução é conhecida como “Terceirização”.
Atraso de bomba de dificuldade
EIP 1234 atrasa a implementação da Bomba de Dificuldade por mais doze meses, quando será votada novamente.
Olhando para a Frente: Istambul & Serenidade
Olhando para o futuro, Serenity é o destino final para a cadeia de blocos Ethereum, mas não antes da bifurcação de Istambul e “Ethereum 1.x.” A bifurcação de Istambul será definida em grande parte pela decisão em torno de ProgPoW. A serenidade será definida pela mudança completa de Prova de Trabalho para Prova de Participação, mas incluirá outras atualizações importantes. Notavelmente, a introdução de Beacon Chain, Sharding e a mudança da Ethereum Virtual Machine (EVM) para Ethereum-flavoured Web Assembly (eWASM). Todas as atualizações do Serenity serão enviadas em fases e, durante esse tempo, o Ethereum 1.x continuará a ser aprimorado para garantir a continuação da cadeia PoW original. Fique atento ao próximo artigo sobre garfos rígidos futuros e serenidade.
***
Quer levar sua educação blockchain para o próximo nível?
Explore nosso cursos de treinamento de blockchain →
Boletim informativo Assine nosso boletim informativo para obter as últimas notícias da Ethereum, soluções empresariais, recursos para desenvolvedores e muito mais. Endereço de e-mailConteúdo exclusivoRelatório
Relatório Ethereum Q3 2020 DeFi
Relatório
Ethereum Q2 2020 DeFi Report
Guia
Guia completo para redes de negócios Blockchain
Webinar
Como construir um produto blockchain de sucesso
Webinar