O tamanho do blockchain Ethereum excedeu 1TB, e sim, é um problema

(TL; DR: Não tem nada a ver com limites de espaço de armazenamento)

Este é um em resposta direta para o seguinte artigo de Afri Schoedon , um desenvolvedor para o cliente Ethereum Paridade, escrito menos de um ano atrás:

O tamanho da blockchain Ethereum não excederá 1TB em breve.
Uma vez por mês, os usuários publicam um gráfico no `r / ethereum` prevendo que o tamanho do blockchain do Ethereum em breve excederá 1 TB. Eu… dev.to

Quero deixar claro que tenho respeito por quase todos os desenvolvedores neste espaço, e isso não tem a intenção de atacar ninguém. Pretende-se elaborar sobre quais são as preocupações reais e explicar como o artigo original não faz nada para resolver essas preocupações reais. Eu realmente adoraria ver algo que faz, porque então podemos jogá-lo no Bitcoin . Dito isto, existem alguns desenvolvedores que enganam, obscurecem, ignoram e atacam através de confusão de protocolo, como o que ocorreu com o 2X e o drama de proteção de replay , mas a maioria não é assim. Você não pode assistir algo assim ou ler algo assim e odiar esses desenvolvedores. Eles estão genuinamente tentando lutar a mesma luta que nós, e acredito que Afri é parte do último grupo, não do primeiro.

https://github.com/paritytech/parity/issues/6372

Se você leu meus outros artigos, verá alguns pequenos pedaços dessa informação repetidos. Até agora eu escrevi principalmente sobre Bitcoin de uma perspectiva “maximalista” (ainda sou) e focado em conflitos dentro dessa comunidade. O que você pode achar interessante, se você assistir apenas do canto do olho, é que a razão para o "conflito" aqui é exatamente a mesma. Vou até usar Prova de Estaca como alavanca adicional para o meu argumento sem criticá-lo.

Edit: Parece que as pessoas não estão lendo o subtítulo e entendendo mal alguma coisa. Isso não é sobre nós de arquivamento. Trata-se de validar totalmente os nós. Eu não me importo se você podar a história ou pular a linha para acompanhar todos os outros. Isso é sobre ficar em sincronia, depois do fato. Nós de luz não são nós.

Índice

  • Meu Argumento: O tamanho do diretório de dados fugitivo do Ethereum é apenas a dica.
  • Minha previsão: tudo vai funcionar, até que não funcione.
  • Minha sugestão: transpor .

Meu Argumento: Blocos maiores centralizam validadores.

É simples assim. É o argumento central em toda a comunidade de criptomoedas no que diz respeito ao escalonamento. Poucas pessoas familiarizadas com o protocolo blockchain realmente negam isso. A seguir, um trecho do que considero ser uma explicação muito bem elaborada de várias opções de escala da “Camada 2”. (Dos quais, o único trabalho já está implementado no Bitcoin.)

https://medium.com/l4-media/making-sense-of-ethereums-layer-2-scaling-solutions-state-channels-plasma-and-truebit-22cb40dcc2f4

Esse artigo é escrito por Josh Stark . Ele entendeu. Sua empresa até anunciou um projeto que deveria espelhar a Lightning Network na Ethereum. (O que é estranhamente coincidência, dado que a empresa de Elizabeth Stark está ajudando a construir Lightning.)

O problema? Colocando tudo sobre a Prova de Estaca completamente ao lado, a estrutura de incentivo da camada de base está completamente quebrada porque não há limite para o tamanho do bloco da Ethereum, e mesmo se uma foi colocada em prática, teria que ser razoável , e então essas Dapps até funcionam porque mal funcionam agora sem tampa. Não importa qual é o limite para este argumento, porque agora não há nenhum no lugar.

Vamos recuar um pouco. Eu vou definir brevemente um blockchain e perturbar as pessoas.

Aqui está o que um blockchain fornece:

  • Um ledger imutável e descentralizado.
  • É isso aí.

Aqui está o que um blockchain precisa para manter essas propriedades:

Uma rede descentralizada com as seguintes prerrogativas:

  • Distribuir meu livro – Validar
  • Anexar meu livro – Trabalho
  • Incentive minhas necessidades – Token

Aqui está o que mata um blockchain:

  • Qualquer recurso embutido no blockchain que prejudique os objetivos da rede.

Um blockchain é apenas uma ferramenta para uma rede. Na verdade, é uma ferramenta muito específica que só pode ser usada por um tipo muito específico de rede. Tanto é assim que eles exigem um ao outro para existir e desmoronar quando não o fazem -operar co, dado tempo suficiente. Você pode construir em cima dessa rede, mas, francamente, qualquer outra coisa embutida na camada de base (L1) que afete negativamente a capacidade da rede de fazer seu trabalho colocará toda a rede de joelhos … com tempo suficiente.

Aqui está um exemplo de um recurso L1 que não afeta a rede: Multisig.

Isso exige que o nó faça um pouco mais de trabalho, mas é “marginal”. O importante a notar é que o hardware não é o gargalo para essas redes (apropriadamente projetadas) , a latência da rede é. Algo tão simples quanto pagar por um endereço com várias assinaturas não sobrecarrega a rede mais do que pagar por um endereço normal, porque você está pagando em uma base por byte para cada transação. É um recurso blockchain que não prejudica a capacidade da rede de continuar fazendo seu trabalho porque os dados enviados pela rede são (1) pagos por byte e (2) regulados por meio do limite de blocos. Regulado , não "artificialmente limitado". O tamanho do bloco não restringe o fluxo de transações, ele regula a quantidade de dados de transmissão para todos enviados pela rede. Aqui está o problema.

Quando falamos sobre o tamanho do "diretório de dados", é uma referência direta ao tamanho de toda a cadeia de blocos do bloco da gênese original, mas levar isso ao valor de face resulta nas respostas padrão:

  • O espaço em disco é barato, veja também a Lei de Moore.
  • Você pode remover o blockchain se precisar mesmo assim.
  • Você não precisa validar tudo desde o bloco de geração, a última quantidade de blocos X é suficiente para confiar no estado da rede.

O que estes ignoram completamente são os dados por segundo que um nó deve processar.

Você pode ler todo o meu artigo sobre a Lei de Moore, se quiser, mas vou extrair a parte importante abaixo. Em Oz eles tentam argumentar “você não precisa rodar um nó, apenas mineradores devem decidir qual código é executado”. É um absurdo, mas não vou ter que me preocupar com isso aqui, porque o Proof of Stake remove completamente os mineiros e coloca tudo nos nós. (Eles sempre foram, mas agora não há mineiros para desviar o argumento.)

  1. A Lei de Moore é uma medida das taxas de crescimento do circuito integrado, cuja média é de 60% ao ano. Não é uma medida da largura de banda média disponível (o que é mais importante) .
  2. As taxas de crescimento de largura de banda são mais lentas. Confira a Lei de Nielsen . Começando com uma proporção de 1: 1 (sem gargalo entre hardware e largura de banda) , com 50% de crescimento anual, 10 anos de resultado de crescimento composto em uma proporção de ~ 1: 2. Isso significa balanças de largura de banda duas vezes mais lentas em 10 anos, 4 vezes mais lento em 20 anos, 8 vezes em 40 anos e assim por diante… (Na verdade, isso é muito pior do que isso, mas eu mantenho as coisas simples .)
  3. Escalas de latência de rede mais lentas que a largura de banda. Isso significa que, conforme as velocidades médias de largura de banda aumentam entre nós na rede, as velocidades de propagação de blocos e dados não são escalonadas na mesma proporção.
  4. Blocos maiores exigem melhor propagação de dados (latência) para contrabalançar a centralização dos nós.

Estritamente de uma perspectiva Ethereum com uma rede futura de apenas nós após a mudança para Prova de Estaca, você geralmente quer garantir que a centralização de nós não seja um problema. O gargalo para a rede do Bitcoin é seu tamanho de bloco (como deveria ser) , porque assegura que a taxa de crescimento das demandas de rede nunca exceda a taxa de crescimento de limitações externas (e em alguns casos indetermináveis) como desempenho computacional ou desempenho de rede . Por causa do blockize exponencialmente crescente da Ethereum, o gargalo não é regulado abaixo desses fatores externos e, como tal, resulta em uma rede cada vez mais centralizada devido a demandas de rede que excedem cada vez mais o hardware ea largura de banda dos usuários médios.

Clientes Bitcoin SPV não são nós. Eles não propagam blocos ou transações em torno da rede, eles leech, e tudo o que eles sanguessuga são os cabeçalhos de bloco.

Lembre-se disso porque será muito importante mais adiante neste artigo:

  • Você pode colocar transações inválidas em um bloco e ainda criar um cabeçalho de bloco válido .
  • Se a rede for controlada por 10 nós FULL , você só precisará de metade deles para ignorar / aprovar transações inválidas, desde que o cabeçalho seja válido.

É por isso que validar as transações é importante do ponto de vista da rede e por que você precisa de uma grande rede descentralizada. Não importa a perspectiva da minha avó e tudo bem, mas não estamos falando da minha avó. Estamos falando de garantir que a rede de nós ativos e ativamente participantes cresça, não diminua.

Este nó estava participando até ser cortado devido ao crescimento da demanda da rede:

https://www.reddit.com/r/ethereum/comments/58ectw/geth_super_fast/d908tik/

Não é incomum e continua acontecendo:

https://github.com/ethereum/go-ethereum/issues/14647

Observe como a solução é “encontrar um bom par” ou “atualizar seu hardware”? Os bons colegas não deveriam ser o gargalo. O hardware também não deveria ser. Quando todos os seus pares são arrancados por tantos outros que saem deles (porque os bons são os que fazem o trabalho real) , você cria uma rede de mestres e escravos que gradualmente se aproximam de apenas um mestre e todos os escravos. (Se você não concordar com essa afirmação, você precisa argumentar sobre como essa tendência não diminuirá no futuro, porque atualmente essa é a direção para a qual isso está indo e não vai parar a menos que um limite seja estabelecido. Se a sua resposta está desmoronando, eu abordo essa poeira de fada no final.) É a definição de centralização. Blocos desregulados centralizam redes. Blocos grandes (mas limitados) são apenas marginalmente melhores, mas estabelecem um precedente para um tamanho de bloco cada vez maior, que é igualmente ruim porque estabelece um precedente para aumentar o tamanho “em tempos de necessidade”, o que espelha os resultados de blocos não regulados. . É por isso que não nos movemos no tamanho do bloco Bitcoin.

Eu twittou sobre isso algumas vezes, mas claramente eu não achei que fosse o suficiente. Meu alcance no Twitter não se estende muito no espaço do Ethereum.

Esse gráfico é simbólico e não representa qualquer número real. Só serve para expressar visualmente o ponto que estou tentando fazer. Para esclarecer, a curva verde representa uma média agregada das várias demandas da Rede Ethereum. Em algum momento, o seu nó ficará fora de sincronia devido a isso ou um limite de tamanho de bloco será colocado no lugar. Isso pode acontecer agora, ou pode acontecer em 10 anos, ou em 50, mas seu nó ficará fora de sincronia em algum momento a essa taxa. Isso nunca acontecerá no Bitcoin. Você pode negar agora tudo o que quiser, mas este artigo estará aqui para quando acontecer, e quando fizer Dapps como CryptoKitties, Shrimp Farm , Pepe Farm , e o que vier depois, deixará de funcionar . Isso é exatamente o que aconteceu com o serviço de Ryan Charles, Yours.org, que ele originalmente construiu no Bitcoin. A única diferença sendo o Bitcoin já tinha a tampa no lugar e Ryan não previu isso por falta de entendimento, ou por alguma razão ele esperava que o blockize continuasse sendo aumentado. Em vez de reavaliar, ele dobrou o BCash, enquanto o Yalls.org pegou seu conceito e implementou a mesma coisa no topo do Lightning Network da Bitcoin.

My Prediction: Ethereum irá implementar um limite de blocos e vai correr BCash para ambas as suas mortes.

http://bc.daniel.net.nz/ ? Não atualizando mais as estatísticas, o gráfico é editado e extrapolado usando os dados atuais REAL. https://ethereum.stackexchange.com/questions/143/what-are-the-ethereum-disk-space-needs

O gráfico acima não é sequer uma previsão. Este sou eu preenchendo os espaços em branco (em amarelo) no que foi o último gráfico restante que comparou os diretórios de dados das cadeias e, em seguida, extrapolando a partir dele. Aqui está o que sabemos:

  • O futuro do Bitcoin é previsível. As demandas de crescimento e rede blockchain sempre serão lineares. (Ideal)
  • A quantidade de dados que um nó Ethereum é necessário para processar por segundo é através do telhado e da subida. (Unideal)
  • Se a demanda da cadeia Ethereum congela onde está agora, o crescimento do blockchain continuará a tendência linear destacada por essa linha pontilhada. (Muito mal)
  • Se a demanda da cadeia Ethereum continuar a crescer exponencialmente, a quantidade de pessoas reclamando de que seu nó está fora de sincronia chegará a um ponto crítico. (Há apenas uma opção quando isso ocorre.)

Esse gráfico acima? O proprietário parou de tentar manter o nó. As exigências físicas também são um problema, como restrições de tempo em sua vida pessoal. Os requisitos de manutenção precisam ser baixos, não altos, não razoáveis ??… baixos.

Você sabe o que eu faço para atender o meu nó Bitcoin / Lightning? Deixo meu laptop ligado. É isso . Se eu tiver que reinicializar, encerrei os serviços, reiniciei e iniciei o backup novamente. Dia a dia eu uso meu laptop para uma variedade de outras tarefas, nenhuma das quais inibe sua capacidade de executar o software do nó. Com o devido respeito, se uma mudança foi implementada e forçada a mim, o que resultou em meu nó não ser mais compatível com a rede e incapaz de manter uma sincronização, eu me debruçaria sobre a idiotice que permitia isso, se eu fosse um indivíduo mal informado. Felizmente eu não sou e me inscrevi para uma blockchain com previsão (Bitcoin) .

O problema? Eu não acho que a maioria das pessoas que executam os nós do Ethereum seja informada o suficiente para saber para que elas se inscreveram. Eu não acho que eles entendem os modelos de incentivo fundamentais, e eu não acho que eles percebem perfeitamente onde e por que eles quebram com algo tão simples como não ter um limite de tamanho de bloco. Espero que este artigo tenha sucesso em ensinar isso.

Então, o que acontece quando esse ponto psicológico é alcançado? As pessoas desistem? Quantos nós devem ser perdidos para que isso ocorra? Os sites do explorador não estão mais rastreando esses dados. Etherscan.io não está mais rastreando diretórios de sincronização completos ou rápidos, Etherchain.org diz: Error: Not Found

O Etherscan também não permite que você diminua o zoom no pool de memória, a fila de transações esperando para ser incluída nos blocos. A razão pela qual as taxas sobem é porque essa fila se acumula. Você deve ser capaz de ver isso ao longo do tempo. Aqui está um que monitora o mempool do Bitcoin, lado a lado com o Etherscan.io:

https://jochen-hoenicke.de/queue/#1,4d /// https://etherscan.io/chart/pendingtx

Ambos os gráficos estão monitorando o total bruto de contagens de transações pendentes nessas redes, e as escalas são aproximadamente as mesmas, 4/5 dias, respectivamente. A diferença? Eu posso diminuir o zoom no Bitcoin e ver todo o histórico. Por que isso importa? A psicologia é importante quando sua rede não tem limites superiores regulamentados. Aqui o que parece ser o nosso zoom:

Veja o que eu quero dizer? Veja como a escala é importante? E se eu ampliasse o mempool da Ethereum e visse que ele estava no topo de uma montanha sempre crescente? Não estou dizendo que é onde está hoje, mas estou dizendo que essa informação precisa deixar de ser obscurecida. Também estou dizendo que, se / quando estiver desobstruído, será tarde demais e nada poderá ser feito sobre isso de qualquer maneira. Já é tarde demais agora.

Vamos dar uma olhada no atraso de transação e bloqueio na rede do Bitcoin. Abaixo você verá dois gráficos. O primeiro é quanto tempo leva para um bloco se espalhar pela rede, o segundo é para uma transação. As transações são processadas pelos nós (todos os 115.000 deles) e mantidas em espera até que um bloco válido seja criado por um minerador e anunciado à rede.

  • Os tempos de propagação de blocos caíram drasticamente devido a melhorias muito bem projetadas no software. As transações são validadas quando entram e são mantidas no mempool. Quando um novo bloco é recebido, ele é rapidamente referenciado com todas as transações que você já armazenou e, muito raramente, inclui muitas transações que você ainda não recebeu. Isso permite que seu nó valide esse bloco com extrema rapidez e o envie para todos os outros colegas.
  • Os tempos de transação, por outro lado, subiram lentamente, mas parecem estar se estabilizando. Eles foram “intencionalmente” autorizados a subir como resultado de melhorias de privacidade no software, mas isso é uma troca digna, porque os blocos têm 10 minutos de intervalo, em média, de qualquer maneira, então um atraso de 16 segundos é aceitável. Eu imagino que, uma vez que os blocos estejam consistentemente cheios, esse crescimento será nivelado porque as taxas de transação do limite de tamanho de bloco regularão o fluxo de entrada de transações, supondo que nenhuma outra alteração de protocolo seja feita.

Tenha em mente que nenhuma dessas informações está disponível para a Ethereum:

https://dsn.tm.kit.edu/bitcoin/

Bitcoin é projetado com isso em mente. A fila de contagem de transações aumenta, mas os blocos são regulados. As pessoas acabam aprendendo como usar essa ferramenta que chamamos de blockchain da maneira correta ao longo do tempo e o fluxo de transação se estabiliza. Com uma ferramenta não regulamentada, você acaba com um monte de pessoas tentando caoticamente usar essa ferramenta de uma só vez para algum "recurso" aleatório, como o CryptoKitties, que acaba atrapalhando a coisa toda até que o backlog seja processado. Todos os nós completos da Ethereum precisam processar cada um desses contratos. Você pode não precisar, e eles podem dizer que você não precisa, mas alguém precisa. Então, quantos deles estão lá? O que taxas mais altas fazem? Eles impedem Dapps estúpidos como CryptoKitties na camada de base. Não há absolutamente nenhuma necessidade para eles, e maiores "idéias funcionais" só experimentarão a mesma coisa, mas muito pior porque os blockchains não são dimensionados.

Esses Dapps estão debilitando seu blockchain porque não é regulamentado:

Mas essa foi a promessa, certo? Esse foi o sonho. Essa foi toda a premissa do blockchain Ethereum: Bitcoin, mas melhor. Não é.

Blocos claramente não-regulamentados não resultam em transações infinitas, mas a verdadeira vantagem aqui é que a rede não pode manipular fisicamente a quantidade atual, simplesmente não há nós suficientes capazes de processar essas informações e retransmiti-las em tempo hábil. Você sabe quantos nós Ethereum existem? Você realmente sabe? A rede Bitcoin tem cerca de 115.000 nós, dos quais cerca de 12.000 são nós de escuta. Quase todos eles são nós participantes, porque isso também é regulado. O que um nó de escuta é, comparado a um não ouvir, não importa aqui, porque todos eles estão participando no envio e recebimento de blocos de e para os colegas aos quais estão conectados. O padrão é 8, o cliente não permitirá que você obtenha mais de 8, a menos que você os adicione manualmente. Isso foi intencionalmente colocado em prática, e é recomendável não adicionar mais porque não é saudável para a rede:

https://bitcoin.stackexchange.com/a/8140

Lembre-se disso de mais cedo?

Encontre um bom par.

Não é assim que você conserta as coisas. Esse é um excelente exemplo de por que uma cadeia que permite aos participantes a liberdade de ser egoísta por falta de regulamentação é ruim. Isso só tem um resultado: nós Mestre e Escravo, onde os mestres limitados servem todos os nós escravos. Soa descentralizado, certo? Especialmente quando os requisitos financeiros para um desses nós mestres continuarem aumentando …

Para ser justo e como um aparte: Esta é a crítica exata que a Lightning Network recebe, mas é um tipo completamente diferente de rede. As redes blockchain são redes de difusão peer-to-peer. Redes de canal de estado, como o Lightning, são redes anycast peer-to-peer. A forma como as informações estão sendo enviadas é completamente diferente. Sua geladeira tem hardware suficiente para ser um nó Lightning. As críticas de raio “Hub & Spoke” estão com volumes de balanceamento de canal. Hub e Spoke é equivalente aos problemas de Mestre e Escravo, mas com os balanços de canais não há nenhum gargalo nos dados . Você apenas padroniza os clientes Lightning para abrir uma quantidade X de canais com fundos X em cada um, depois formulários de rede em torno desse padrão, evitando completamente hubs ou spokes, assim como os clientes Bitcoin padronizam 8 peers. A Rede Lightning é nova, então não sabemos qual deve ser esse padrão, porque temos quase zero dados que podemos medir. / endlightningdefense

Falando de dados zero, podemos medir, por que esses são os únicos gráficos para contagens de nó da Ethereum? Cadê a história? Quantos desses nós usaram sincronização rápida / de sincronização e nunca validaram tudo? Você não precisa armazenar tudo porque pode remover, mas novamente, quantos são totalmente validados? Quantos são apenas clientes leves sincronizando apenas os cabeçalhos de bloco?

https://www.ethernodes.org/network/1

É engraçado como sites de propaganda como o Trustnodes, que empurram conspirações do BCash, publicam peças como a seguinte, com mentiras ousadas, então circulam por aí e ninguém fora do fluxo de informações corretas questiona:

Eu não estou ligando para um site de propaganda do BCash.

Existem 115.000 nós de Bitcoin e todos validam totalmente:

http://luke.dashjr.org/programs/bitcoin/files/charts/software.html

Então, o que você faz agora? O que você faz como um indivíduo que lentamente chega a essa percepção? O que você faz como um indivíduo que não tem ideia do que está acontecendo? O que acontece com uma rede composta principalmente por esses indivíduos que saem lentamente (não literalmente, mas como um nó participante fazendo downgrade para um nó de luz) ? Quantos nós participantes restam? Quantos nós possuem uma cópia completa do bloco original da gênese? O que acontece quando 5 datacenters estão atendendo toda a rede de escravos (nós-luz) da cadeia? Quem está validando essas transações quando todos estão apenas sincronizando os cabeçalhos de bloco ? Você pode se sentar lá e repetir uma e outra vez que “a rede precisa apenas que o histórico de estado recente seja seguro”, tudo que você quer, mas quando sua rede é quebrada de baixo para cima e a maioria dos nós não consegue nem acompanhar o último 1.000 blocos, como isso é seguro de alguma forma?

O takeaway de tudo isso:

  1. O crescimento do tamanho do bloco da Ethereum é ruim por causa dos requisitos de processamento do nó, não do quanto eles precisam armazenar em um disco rígido.
  2. Para evitar o colapso completo da rede, a Ethereum precisará implementar um limite de blocos razoável.
  3. A implementação de um limite de tamanho de bloco aumentará as taxas e, em contrapartida, evitará que muitos Dapps funcionem ou diminuam a velocidade. Futuro Dapps não vai funcionar.
  4. Se Dapps não funcionar, toda a proposta de Ethereum para existir é irrelevante.

Onde o BCash se encaixa?

  1. O BCash apenas aumentou seu tamanho de blocos de 8MB para 32MB e está adicionando novos OP_CODES em breve para permitir “recursos” como ICOs e BCash Birdies .
  2. O BCash tem “espaço para crescer” vindo de um blockchain completamente sem restrições, enquanto o Ethereum é um blockchain completamente superestressado.

https://txhighway.cash

Ethereum está morrendo e BCash está tentando ser exatamente igual a ele enquanto ignora todos os sinais de alerta que estamos tentando trazer para a atenção de todos. Eles queriam blocos maiores e ICOs, eles conseguiram agora. Ambas as cadeias se tornarão a mesma coisa: blockchains controlados centralmente que morrerão lentamente, mas receberão suporte temporário de vida por meio de aumentos graduais de blocos para continuar suportando tokens de utilidade fraudulentos, até que o sistema inteiro falhe quando ninguém puder executar um nó.

Minha sugestão: Pare de usar blockchains centralizados.

O único na sala que executa um nó de validação completa é aquele que está simultaneamente segurando a pintura e a rede Ethereum. Eu não consegui fazer menção a Vitalik em todo este artigo para que eu possa me concentrar nos aspectos técnicos, mas se essa imagem (ou a original) não representa a essência do espaço Ethereum, então eu não sei o que faz. Eu aplaudo Vitalik por chamar golpistas como Fake Satoshi, mas ao mesmo tempo ele também representa erroneamente as alegações de funcionalidade da Ethereum.

Ah, e aquele ovo de ganso dourado que você chama de sharding? É hocus pocus. Pó de fada. É o mesmo problema de centralização do nó com um véu lançado na frente dele. É efetivamente forçar a alimentação da rede Master & Slave que acabei de avisar, sob o disfarce de “nova tecnologia de dimensionamento”.

Esquecendo-se do diagrama de Vitalik que ele colocou porque não tem sentido, vamos tentar simplificar a rede atual da Ethereum primeiro. O diagrama abaixo mostra essencialmente todos os clientes-luz em verde e os nós-bons em vermelho. Seu nó de sincronização fast / warp pode estar vermelho agora até que não consiga ou você desista de atualizar / manter e apenas usar o recurso cliente leve, então ele se junta ao grupo verde.

À medida que o tempo avança, os nós verdes aumentam enquanto o vermelho diminui. Isso é inevitável porque é o que todo mundo está fazendo. Você executar um nó completo ou um cliente luz? Você executar alguma coisa? Mudar para usar o cliente leve é ??consistentemente recomendado “se a sincronização falhar”. Isso não é uma correção.

Este gráfico é realmente generoso. Muitos nós completos (vermelhos) têm pares / conexões ruins, eles não estão bem conectados:

Não se preocupe, Vitalik está aqui para salvar o dia. Ele está transformando "nós" em clientes SPV que apenas sincronizam os cabeçalhos de bloco:

Mas o que isso significa? Bem, felizmente eu perdi muito tempo desenhando isso também para que eu possa explicar visualmente, mas primeiro vamos começar com as palavras:

Em Bitcoin, você quer validar totalmente ou não. Você também é:

  • Um Full-Node e fazer tudo. Você valida totalmente todas as transações / blocos.
  • Um cliente SPV que não faz nada, é apenas vinculado a um nó completo, sincroniza apenas os cabeçalhos de bloco e não compartilha nada. Eles não fazem parte da rede. Eles nem deveriam ser mencionados aqui, mas eu estou fazendo isso para evitar confusão.

Novamente, existem 115.000 nós completos em Bitcoin que fazem tudo.

Em Ethereum existem:

  • Full-Nodes que fazem tudo. Eles validam totalmente todas as transações / blocos.
  • Nós que tentam fazer tudo, mas não podem sincronizar por causa de problemas de peer, então pulam a linha e usam sincronização rápida / warp e, em seguida, “totalmente” – validam novas transações / blocos.
  • Luz – "nós" que estão permanentemente sincronizando apenas os cabeçalhos de bloco, e eu acho que eles estão compartilhando os cabeçalhos com outros nós semelhantes, então vamos chamar esses "Nós SPV". Eles não existem no Bitcoin, novamente os clientes SPV no Bitcoin não propagam informações, eles não são nós.

Que contagem de nós Ethereum? Garanta que esses são, na maioria, Light-Nodes, com absolutamente nenhum trabalho de validação (verificar cabeçalhos não é validação). Não concorda com isso? Prove-me errado. Mostre-me os dados. Eles estão efetivamente operando uma rede secundária de apenas compartilhar os cabeçalhos de bloco, mas sendo fraudulentamente incluídos na contagem de nós da rede. Eles não beneficiam a rede principal e apenas a sanguessuga.

Em New -Ethereum with Sharding, as coisas mudam um pouco. Tem:

  • Full-Nodes que fazem tudo. Eles validam totalmente todas as transações / blocos.
  • Redes de fragmentos com nós completos que fazem tudo dentro desse fragmento e validam os cabeçalhos de outros fragmentos.
  • "Nós" que apenas sincronizam, validam e propagam os cabeçalhos de bloco dos diferentes fragmentos. (Verificação de cabeçalhos não é validação, esta é efetivamente uma rede secundária de não-nós que eles vão fingir serem nós reais do Ethereum, e eles vão incluí-los na contagem de nós e continuar enganando as pessoas a pensar que isso é um funcionamento rede descentralizada quando não é.)

Pegue um palpite que tipo de nó você vai rodar. Vá em frente, estou esperando. Nada mudou para os nós de validação completa. Nada.

Fui em frente e enganado um pouco com as conexões usando copy / paste, eu não estou perdendo muito tempo fazendo isso por uma questão de precisão. As redes azuis são as redes de fragmentos. A rede vermelha é a mesma rede antiga da Ethereum, composta por nós que ainda precisam processar tudo. Os "nós" verdes estão apenas sincronizando os cabeçalhos e compartilhando-os:

(Verificar cabeçalhos não é validação.)

Isso não está escalando. Quando seu nó não pode ficar sincronizado, ele é reduzido para um cliente leve. Agora, com sharding, ele pode ser reduzido para um "nó shard". Nada disso importa. Você ainda está perdendo um nó completo toda vez que um downgrade. O que é ainda pior é que eles estão chamando todos os nós de pontos verdes, mesmo que estejam apenas sincronizando os cabeçalhos e confiando nos nós vermelhos para validar.

Como você saberia quantos nós de validação completa existem nesta configuração? Você não pode nem mesmo dizer agora porque os únicos sites que rastreiam contam os clientes leves no total. Como você poderia saber que os nós completos são centralizados, digamos, em 10 datacenters? Você nunca saberá. Você. Vai. Nunca. Conhecer.

Correção: Eu fui "corrigido" em sharding apesar de estar ciente de como é proposto trabalhar. Eu queria manter este artigo simples, porque não é sobre sharding, e eu vou estar escrevendo outro artigo que se concentra especificamente em seus problemas, principalmente os nós Collator e Executor , que são apenas nós completos renomeados que você nunca conseguirá executar. Até lá, você pode usar o novo diagrama a seguir para uma representação mais precisa da rede Ethereum com sharding.

0 Full-Nodes:

Por outro lado, o Bitcoin é construído a partir do zero para evitar isso:

https://twitter.com/_Kevin_Pham/status/999152930698625024

Então o que você vai fazer?

O que você deve fazer?

Você é um desenvolvedor? Pegue tudo o que você aprendeu e comece a desenvolver aplicativos em cima de um bom blockchain. Um que não está quebrado.

Você é um comerciante? Comece a se concentrar em preparar seus serviços para suportar redes de pagamento. Aqueles que são construídos em cima de um bom blockchain.

Você é um investidor? Pegue tudo o que você investiu e comece a investir em uma boa blockchain. Um que não vai morrer nos próximos anos.

Você é um jogador? Compre EOS. É mais recente, tão merda pelas mesmas razões que mencionei acima, só que ninguém sabe disso ainda.

Você é um idealista? Esta definitivamente não é a corrente para você. Encontre um que seja.

https://twitter.com/StopAndDecrypt/status/992766974022340608

Se você estiver interessado em executar um nó Bitcoin que nunca sairá de sincronia ou exigir que você atualize seu hardware, confira este tutorial que eu juntei:

Um guia completo de iniciantes para instalar um nó completo Bitcoin no Linux (edição 2018)
Como compilar um Bitcoin Full Node em uma nova instalação do Kubuntu 18.04 sem qualquer experiência com o Linux. hackernoon.com
@ (@StopAndDecrypt) | Twitter
Os últimos Tweets de ???? (@StopAndDecrypt). Fullstack Social Engineer: 10% FUD, 20% memes, 15% concentrado… twitter.com

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *