Estado do Desenvolvimento do Protocolo Ethereum – agosto de 2018

blog 1NewsDevelopersEnterpriseBlockchain ExplainedEvents and ConferencesPressboletins informativos

Assine a nossa newsletter.

Endereço de email

Nós respeitamos sua privacidade

HomeBlogNews

Estado do Desenvolvimento do Protocolo Ethereum – agosto de 2018

Um olhar sobre tudo o que está acontecendo no “Ano da Escalabilidade” da Ethereum e o progresso feito no caminho em direção ao Ethereum 2.0.by ConsenSys 28 de agosto de 2018Postado em 28 de agosto de 2018

Ethereum hero ConsenSys

Escalabilidade Ethereum – a história até agora

Desde o início de 2018, ficou claro que o tema do ano seria “escalabilidade”. Em 2 de janeiro, a Fundação Ethereum fez um chamada para aplicações para bolsas a serem concedidas a pesquisadores e desenvolvedores que trabalham no aumento maciço da capacidade de processamento de transações da rede. E em um apresentação em 4 de março, intitulado “The Road Ahead for 2018”, Vitalik disse “Para 2018 realmente acreditamos que o dimensionamento é o foco principal.”

Então, o que está acontecendo até agora em 2018, no “Ano da Escalabilidade?”

Conforme descrito na convocação de aplicativos da EF, existem duas abordagens complementares para aumentar a capacidade de processamento do sistema Ethereum. A camada 1 é a camada de protocolo “on chain”: como podemos aumentar fundamentalmente a capacidade da blockchain Ethereum? A camada 2 cobre soluções “fora da cadeia” nas quais a maioria das transações não é registrada no blockchain. No entanto, o blockchain subjacente continua capaz de garantir a segurança dos sistemas da camada 2.

Nesta série de postagens, irei atualizá-lo com os desenvolvimentos no nível de protocolo da Camada 1, e meu colega Kevin Zhang explicará as últimas pesquisas e desenvolvimento sobre escalabilidade da Camada 2.

O problema: a necessidade de velocidade

A rede Ethereum tornou-se mais bem-sucedida do que qualquer um poderia ter previsto em tão pouco tempo. O gráfico abaixo mostra a porcentagem da capacidade máxima que o Ethereum está operando desde seu início. Depois de alguns anos funcionando em baixa capacidade (mais ou menos alguns picos em torno do hack DAO e os ataques de spam de rede do verão de 2016), a utilização foi de mais de 80% em grande parte de 2018, com mais de 96% de utilização média em um poucos dias este ano.

Utilização média do bloco de Ethereum Utilização média do bloco de Ethereum. Fonte: etherchain.org

Essa enorme demanda às vezes resultou em problemas indesejáveis ​​de experiência do usuário, como longas esperas para incluir as transações na cadeia e preços voláteis da taxa de transação (gás).

Escalabilidade massiva – a capacidade de processar milhares de transações por segundo em vez dos atuais 15 ou mais tps – tem há muito tempo parte do plano para Ethereum. A abordagem para implementar isso se tornou conhecida como “fragmentação”. Atualmente, como todas as outras plataformas de blockchain atualmente em lançamento público, cada nó na rede Ethereum processa todas as transações, o que é uma grande limitação. Na rede fragmentada, o processamento de transações e o armazenamento associado (o estado) são divididos em fragmentos separados e independentes, de modo que cada nó precisa lidar apenas com uma fração da carga total do sistema. Isso parece bastante simples. O verdadeiro desafio é fazer isso mantendo a segurança total da rede: se temos mil fragmentos, digamos, como podemos evitar tornar um ataque à rede mil vezes mais fácil?

Taipei, março de 2018: Construindo a Rede Sharded

No início de 2018 a especificação pois um protocolo Ethereum fragmentado já existia e tinha estado razoavelmente estável por um tempo. Com base nesta especificação, um oficina foi planejado para março de 2018 na cidade de Taipei, Taiwan, para reunir todas as partes que planejam trabalhar na implementação de fragmentação nos vários clientes da Ethereum. À medida que o workshop se aproximava, o ritmo da atividade de pesquisa acelerava, quando … BOOM … três dias antes do workshop, um novo especificação do esboço foi publicado, repleto de novas ideias e ambições.

Então, com muito para digerir na longa viagem de avião da Europa, Nicolas Liochon, também da PegaSys / ConsenSys, e eu partimos em direção a Taipei para o encontro inaugural da comunidade global de fragmentação.

Uma arquitetura de fragmentação e inovação mais ampla

Participantes da oficina de fragmentação inaugural em Taipei. Participantes da oficina de fragmentação inaugural em Taipei. Fotografia de Jason Yeh.

Foi ótimo ver a força das equipes representadas em Taipei. Entre os participantes:

  • A equipe de pesquisa da Fundação Ethereum, é claro. Muito da liderança inovadora na pesquisa de fragmentação vem de Vitalik e Justin Drake, bem como de outros como Hsiao-Wei Wang, Karl Floersch e Vlad Zamfir.
  • A equipe de desenvolvimento do cliente Geth.
  • As equipes de fundação Parity e Web3.
  • O Trindade (Py-EVM), também da Fundação Ethereum.
  • Uma equipe de Status desenvolver um cliente móvel na linguagem Nim.
  • O Prysmatic Labs equipe – trabalhando em uma implementação de fragmentação em Go.
  • Outros pesquisadores individuais, como Phil Daian e Leonardo Bautista-Gomez.

A discussão do workshop variou amplamente ao longo dos três dias.

Na frente de fragmentação, discutimos em profundidade os conceitos da nova especificação. Como um exemplo, na rede Ethereum de hoje, cada nó é responsável por três funções distintas: (1) participar do consenso sobre as transações de ordenação, (2) executar essas transações para atualizar o estado e (3) disponibilizar essas transações e o estado atualizado para o resto da rede (disponibilidade de dados). Em uma rede fragmentada, essas funções podem ser divididas entre diferentes participantes, a fim de otimizar vários recursos da rede da seguinte forma:

  • Nós proponentes podem ser responsáveis ​​por reunir as transações em blocos que eles propõem como a história canônica.
  • Os nós do agrupador verificam se os dados nos blocos oferecidos pelos proponentes estão disponíveis e, em seguida, os adicionam ao blockchain do fragmento.
  • Os nós de execução podem ser responsáveis ​​por atualizar os clientes sobre o estado do blockchain (por exemplo, seus saldos de conta) sob demanda. Isso permite uma espécie de “avaliação preguiçosa”Em que apenas cálculos relacionados aos dados realmente necessários são executados, e também talvez para“ mecanismos de execução alternativos ”.

Isso é bem diferente do Ethereum Mainnet de hoje, mas algo como isso é provavelmente necessário para equilibrar eficiência e segurança em uma rede onde nem todo nó pode ser um cliente de cada fragmento. Para manter a eficiência, a ideia é que os nós do proponente e do executor possam permanecer sincronizados com um pequeno número de fragmentos, mas para manter a segurança, os nós do agrupador (que realmente gravam no blockchain) podem ser embaralhados entre os fragmentos com bastante frequência. Isso evita o controle de fragmentos por um pequeno subconjunto de participantes.

Também discutimos as várias infraestruturas necessárias para fazer todo esse trabalho, o contrato do gerenciador de fragmentos, clientes sem estado, e a camada de rede ponto a ponto, entre outras coisas.

Além de trabalhar na infraestrutura de escalabilidade, também ficou claro que há uma demanda reprimida significativa por inovação no Ethereum, não relacionada à escalabilidade. Talvez a implementação de sharding possa ser uma chance de trazer algumas outras grandes inovações. Portanto, também dedicamos um tempo a outros tópicos de longa data, como a substituição da Máquina Virtual Ethereum (EVM) por eWasm, tópicos mais antigos como abstração de conta, e ideias polêmicas como aluguel de armazenamento.

Berlim, junho de 2018: Sharding atende a prova de interesse

Muitos dos conceitos discutidos em Taipei eram muito novos e as equipes continuaram a avaliá-los após o workshop. Nas semanas seguintes, algumas tendências surgiram. Primeiro, que havia alguns pontos fracos com as especificações das propostas discutidas (publicamos uma crítica) Em segundo lugar, houve alguns desenvolvimentos muito interessantes em outras frentes, mais notavelmente em criptografia, que poderia permitir uma grande refatoração do modelo de fragmentação sem perder eficiência ou segurança.

Com todos os novos desenvolvimentos para discutir, era hora de segurar outra oficina de fragmentação. Desta vez, fomos gentilmente recebidos em Berlim em junho de 2018 pela equipe da Status como parte do conferência de desenvolvedores do cliente eles organizaram.

Ficamos felizes com a inesperada presença da equipe Casper FFG (prova de aposta) no workshop. Durante as três ou quatro semanas que antecederam o evento, outro grande mudança na especificação foi proposto: por que não construímos Sharding e Casper juntos em uma plataforma comum?

Estava se tornando evidente que algumas das novas opções de design de Sharding tinham semelhanças com o trabalho planejado de Casper FFG que estava progredindo de forma independente (de acordo com o agora abandonado EIP-1011) Ambos requerem depósitos validadores (estacas), ambos contam com acesso a números aleatórios, ambos possuem provas de falhas e mecanismos de corte, ambos fazem uso de assinaturas agregadas. Em vista dessas semelhanças, foi proposto que tanto o Sharding quanto o Casper fossem construídos em uma infraestrutura comum conhecida como Beacon Chain. Uma vantagem adicional seria tirar o trabalho de executar Casper e Sharding fora da Mainnet existente, que pode ter dificuldade para sustentar a carga extra.

As discussões em Berlim confirmaram que todos concordamos que esta era uma abordagem positiva e prática para a entrega de ambos os projetos.

Além do planejamento do projeto, mais uma vez, uma ampla gama de novas ideias foi discutida no workshop. Tivemos sessões sobre novas primitivas criptográficas, como zkSTARKs e funções hash alternativas, discutimos as provas de custódia e examinamos as opções para geração de números aleatórios, com o atual favorito sendo um RANDAO com uma função de atraso verificável (VDF).

Hoje: Rumo ao Ethereum 2.0

Então, onde tudo isso nos deixa em agosto de 2018?

Espero que você tenha uma ideia do que foi dito acima, que nos últimos seis meses assistiu-se a uma explosão nas pesquisas sobre o escalonamento de Ethereum e, em grande medida, a poeira ainda não assentou.

Mas a direção geral é clara. O desenvolvimento e a entrega de Sharding e Proof of Stake ocorrerão em uma nova plataforma de blockchain (Ethereum 2.0), acoplada à corrente principal atual, que continuará a funcionar como está.

Anatomy of Ethereum 2.0. Diagrama Anatomy of Ethereum 2.0. Diagrama por Hsiao-Wei Wang.

Construir em uma nova plataforma como esta, a Beacon Chain, nos permite apresentar uma enorme inovação ilimitada pelas restrições da Mainnet de hoje e, crucialmente, sem ter que fazer cirurgia cardíaca aberta na rede em execução. Os cronogramas são bastante especulativos, mas as expectativas são que a cadeia de beacon (a camada de coordenação, incluindo Casper FFG) será implementada durante 2019, a Cadeia de Fragmentos (camada de dados) em 2020 e a camada de execução em 2021.

Espero explorar algumas dessas inovações com muito mais detalhes em atualizações futuras, mas, em resumo, para Ethereum 2.0, estamos procurando novos mecanismos de consenso, novos modelos criptoeconômicos, novos mecanismos de execução, como eWASM (e possivelmente , até mesmo, execução atrasada), e novas primitivas criptográficas.

Para citar Vitalik do primeiro workshop de fragmentação, “Ethereum 1.0 é uma tentativa fragmentária de algumas pessoas de construir o computador mundial; Ethereum 2.0 será realmente o computador mundial. ”

Saiba mais e envolva-se

Conforme mencionado acima, espero me aprofundar em algumas dessas inovações em artigos futuros.

Enquanto isso, aqui está uma lista de leitura de alto nível, se você quiser fazer algumas pesquisas sozinho. Mas cuidado, as coisas estão mudando rapidamente e alguns dos detalhes já estão desatualizados.

Se você realmente quer entrar no mato, regularmente Chamadas de implementadores ETH2.0 começaram recentemente a cada duas semanas, incluindo um grupo de novas equipes trabalhando nas implementações. Estes são transmitidos ao vivo para o YouTube, e há um Canal Gitter também.

Ethereum 2.0NewsletterSubscreva nossa newsletter para obter as últimas notícias da Ethereum, soluções empresariais, recursos para desenvolvedores e muito mais. Endereço de e-mailConteúdo exclusivoEthereum Q3 2020 DeFi ReportRelatório

Ethereum Q3 2020 DeFi Report

Ethereum Q2 2020 DeFi ReportRelatório

Ethereum Q2 2020 DeFi Report

Ethereum 2 0 Relatório de Ecossistema de EstacagemRelatório

Ethereum 2.0 Staking Ecosystem Report

Guia completo para redes de negócios BlockchainGuia

Guia completo para redes de negócios Blockchain

Como construir um produto blockchain de sucessoWebinar

Como construir um produto blockchain de sucesso

Bancos centrais e o futuro do dinheiroPapel branco

Bancos centrais e o futuro do dinheiro