Sharding centraliza a Ethereum vendendo-lhe o Scaling-In disfarçado de Scaling-Out

As diferenças entre Light-Clients e Totalmente Validating Nodes

Você está se perguntando o que isso significa? Não se preocupe, você vai. Vá fazer uma xícara de café primeiro, é outra longa. Se você ainda não leu isto, comece por aqui:

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) hackernoon.com

O seguinte é uma troca que tive com Vitalik após a publicação do artigo acima. Embora iniciado por sua resposta ao meu artigo , o propósito da troca da minha perspectiva foi extrair a razão subjacente dele e muitos outros fãs do Ethereum não vêem o sharding diminuindo a integridade da rede que está sendo aplicada. Felizmente ele estava cooperativamente respondendo às perguntas que eu fiz, que foram feitas intencionalmente para quebrar a lógica para que pudéssemos chegar a essa resposta semi-esperada:

Eu quis dizer nós. Ele sabia o que eu queria dizer e respondeu de acordo.

Estou destacando isso porque resume a totalidade deste artigo muito bem.

Vitalik: "É assim que o Ethereum está agora, e o Sharding não será diferente quando mudarmos para ele, exceto que algumas coisas serão mais fáceis para algumas pessoas."

Eu: "Eu não concordo com isso, e aqui está uma contra-resposta completa".

O objetivo deste artigo será explicar as seguintes informações e suas nuances em um formato digestível (em nenhuma ordem específica):

  • Diferenças na arquitetura de rede entre Bitcoin, Old-Ethereum e New-Ethereum. Matemática muito básica, sem equações extravagantes. Apenas um pouco de lógica.
  • As redes baseadas em blockchain, dependendo de sua arquitetura, irão centralizar ou descentralizar inerentemente o tempo necessário. Isso exclui os períodos bootstrapping & hype-cycles (por mais longos que sejam) e não assume nenhuma alteração no protocolo. Podemos nos referir a isso como a “direção inerente” da rede.
  • Como as mudanças no protocolo podem ter efeitos imediatos ou intermediários na centralização das redes, mas não necessariamente alteram a “direção inerente” da rede no longo prazo.
  • O Ethereum é inerentemente centralizado como está agora, mudar para a Prova de Estaca não muda isso, e fragmentar apenas retarda o inevitável vendendo a você uma solução defeituosa de dimensionamento.

Vai ser longo, mas fácil. Se você se importa em entender isso, leia.

Índice

Primer conceitual

Diferenças de Rede

Sharding

Respostas do Contador

Mantendo-se com os Etherians – uma resposta às preocupações tamanho do blockchain
Ontem @StopAndDecrypt publicou um artigo médio discutindo o crescimento do blockchain Ethereum e preocupações… medium.com

Escala-o que? Escala-quem? Escala-onde?

Escalando…… quando?

Aqui está Vitalik dizendo Sharding é uma solução de dimensionamento de camada 1:

Note que o escalonamento é usado aqui sem contexto, então vamos fornecer algum contexto. Não podemos continuar usando o termo escalabilidade sem uma definição acordada do que a palavra significa. Mesmo que a definição seja diferente para pessoas diferentes, quem faz um argumento deve pelo menos fornecer o seu.

Quando eu falo sobre escalar neste artigo, eu estou falando sobre uma coisa e apenas uma coisa, aumentando a funcionalidade sem sacrificar a descentralização e o conjunto total de nós validação é uma das representações mais diretas de como descentralizada da rede é. Concentrar-se em qualquer outra coisa ao discutir o dimensionamento em relação às redes blockchain é um resultado de não entender isso corretamente, discordar dele ou de um ato intencionalmente enganoso por qualquer motivo que seja necessário fazê-lo.

É importante deixar isso claro primeiro, porque entender as diferenças nos tipos de escala a seguir e como elas se aplicam a redes descentralizadas exige essa linha de base.

  • Dimensionamento: Aumenta o número de nós de validação total na camada base (L1) da rede ou aumenta a funcionalidade na camada base sem afetar a “direção inerente” da rede. O aumento da funcionalidade aumenta os incentivos para usar a rede, aumentando assim o conjunto de nós de validação. Portanto, em ambos os casos, a contagem de nós de validação aumenta em algum grau.
  • Expansão: Adicionando camadas à rede acima da camada base. O aumento de escala pode ser feito corretamente ou incorretamente. O jeito certo de fazer isso é ter pouco ou nenhum efeito nas camadas abaixo dela. Redes de canais de pagamento como Lightning são um exemplo de bom aumento de escala. Sidechains são, sem dúvida, um exemplo de aumento de escala ruim , porque eles podem potencialmente quebrar o modelo de segurança de mineração, mas este artigo não é sobre isso.

Por outro lado, há:

  • Dimensionando em: Diminuindo o número de nós de validação completa. A adição de funcionalidade na camada base que reduz o número de nós completos é dimensionada. Sharding faz isso e é por isso que estou escrevendo este artigo.
  • Escala abaixo: diminuindo a complexidade da camada. Isso é desnecessário em uma rede descentralizada. Este termo é geralmente usado em sistemas centralizados, como empresas que tentam reduzir ou reorganizar sua estrutura interna.

O termo "nó" é muito usado, mas na maioria das vezes permanece indefinido para alguém de fora tentando seguir adiante. Eu tenho um amigo que tentou me dizer que o Nano permite que todos executem um nó e tenham seu próprio blockchain . As pessoas simplesmente não sabem do que estão falando, e é porque as informações corretas não estão prontamente disponíveis para elas. Aumentar a contagem de nós é um esforço sem sentido se eles não forem os tipos certos de nós. Então, quando digo que você está vendendo uma solução de escalonamento, é porque os tipos importantes de nós vão cair como resultado da mudança. Não necessariamente de imediato, mas com o tempo , e vou falar sobre o porquê isso também é importante.

A importância dos nós que validam totalmente

https://twitter.com/lopp/status/1001903809004736513 /// Leia o artigo do BCash se estiver interessado em saber por que a conta do Twitter “Bitcoin” me bloqueou.

A primeira coisa que quero fazer é justificar por que isso é importante, então apresentarei os argumentos comuns contra ele. Eu vou responder a esses argumentos brevemente, e depois aprofundar em como a rede Bitcoin realmente funciona mais tarde neste artigo, e então você será capaz de ver apenas a partir da minha explicação onde esses argumentos anti-nó ficam aquém.

Apenas um heads-up: Se você veio aqui para ler sobre o Ethereum e não quer aprender sobre como funciona a rede do Bitcoin, então você merece perder todo o dinheiro investido, ou a qualquer momento que você desperdiçar desenvolvimento para a Ethereum .

Meu caso aqui é bem simples:

No Bitcoin, todos os nós são totalmente validados. Se alguém quiser enviar algo que não seja válido, não vai circular pela rede. Todo nó é um glóbulo branco. Não há melhor segurança do que isso para uma rede blockchain.

Alguns argumentos comuns usados ??contra a postura pró-nó são:

  • Seus nós não impõem consenso a menos que sejam "nós de mineração", e seus nós atrapalham os "nós de mineração".
  • As bordas importam mais do que os nós para a descentralização, portanto, aumentar a contagem de nós nem sempre lhe causa mais descentralização.
  • Quantos nós são necessários para serem seguros? Certamente há uma quantidade “boa o suficiente” de nós que podem ser alcançados?

1: “Os nós não impõem consenso a menos que estejam minerando.”

Este eu vou responder mergulhando diretamente em como funciona a rede do Bitcoin. Você verá muito facilmente no final da seção “Topologia de Rede de Bitcoin” como ele responde isso. Eu também publiquei essa seção como um artigo autônomo por causa de como desinformação desenfreada é espalhada sobre este assunto sozinho. (Isso tudo volta para Sharding e Ethereum, confie em mim.)

2: “As arestas são mais importantes que os nós”

Só para deixar isso claro para o resto do artigo, quando digo descentralizado quero dizer (c) no diagrama a seguir (mas em “4D” não 2D) que roubei de Vitalik, que usou para escrever sobre o quão ruim esta imagem é :

As arestas são apenas as conexões de um nó para outro. Os diagramas a seguir são redes de 16 nós cada. Mesma quantidade de nós, mas um tem muito menos arestas. O outro tem todos os nós conectados a todos os outros nós.

A diferença entre estes?

O primeiro tem arestas suficientes para se propagar (veremos adiante) para todos os nós da rede em uma quantidade suficiente de “saltos” e nenhum dos nós é censurável porque as conexões (arestas) são distribuídas adequadamente.

A outra rede?

  • Todo mundo sabe quem você é.
  • Todo mundo sabe se a transação que você enviou foi criada por você ou não.
  • Todos conhecem o bloco que um relé de nó foi criado por esse nó ou retransmitido através desse nó de um potencial minerador que eles não gostam.
  • Agora eles sabem que o endereço IP contém um endereço com muito Bitcoin.
  • Eles sabem que era um mineiro ou sabem qual endereço IP está permitindo que um minerador indesejado retransmita esses blocos.
  • Qualquer pessoa que controle a quantidade limitada de validadores pode censurá-lo ou bloquear as transações incluídas.

É o oposto de privado e é o oposto de seguro.

No que diz respeito às arestas, há definitivamente uma quantidade “suficiente”, como você verá mais adiante. Eu também falo sobre propagação no meu artigo anterior e ele só está ficando melhor apesar dessas quantidades “limitadas” de bordas. É principalmente um argumento usado por golpistas (que até Vitalik chama com frequência) que querem parecer inteligentes quando estão enganando:

Ele também compara uma rede da Camada 1 com uma rede da Camada 2 aqui, como um idiota.

3: “Quantos nós são necessários?”

O argumento “quantos é suficiente para garantir” é provavelmente um dos maiores sinais, na minha opinião, de que alguém não está tendo uma visão mais ampla. Ao fazer essa pergunta, eles já concordaram com a condição de que é preciso haver alguns para serem considerados seguros, e agora eles estão apenas tentando levar o argumento para descobrir esse valor. Às vezes são genuínas, outras vezes estão desviando o assunto.

Aqui estão algumas perguntas simples que eu não necessariamente espero que você tenha uma resposta. Vamos dizer que nós determinamos e concordamos que esse número é de 20.000 nós completos.

  • Como codificamos o protocolo para garantir que a contagem de nós permaneça acima e não caia abaixo de 20.000 nós?
  • Mesmo se descobríssemos isso, como a rede sabe o quão grande ou pequeno é sem um oráculo externo dizendo que é nesse número?
  • Nós concordamos que são 20.000 nós, mas por que nós concordamos com 20.000? Medimos algo na “vida real” e determinamos que precisávamos de 20.000 “pessoas” para impedir a tomada do governo? É um exemplo bobo, mas o que acontece se a população multiplicar por 10? Esse número de 20.000 ainda é preciso?
  • Se nós decidirmos sobre algum valor agora, e determinarmos que isso é um valor ruim no futuro, então temos que passar pelo processo (e assumir o risco) de tentar mudar o protocolo para se ajustar ao novo valor. Isso vale a pena?

Meu ponto aqui é que não há como fazer isso . Você não pode codificar a rede para "pairar" em uma determinada contagem de nós. Estou muito inclinado a acreditar no seguinte, e não vi bons argumentos contra isso: qualquer rede blockchain, se o protocolo for deixado inalterado e a demanda continuar a crescer, será descentralizado ou centralizado ao longo do tempo, dependendo de como eles são construídos. Então, se a descentralização é um recurso que você quer, o protocolo precisa ser inerentemente descentralizado. Isso significa que o protocolo precisa ser projetado de forma a garantir que a contagem de nós de validação cresça com o tempo . Se for assegurado um crescimento, não é assegurada encolhimento , o que me leva para a próxima seção.

Centralização Inerente / Descentralização

Eu quero começar esta seção esclarecendo algumas das confusões sobre como essas cadeias se comparam. Há alguns sal admitidos sobre os métodos de comparação que eu e outros usamos no passado, então eu pretendo mostrar uma comparação mais justa que realmente faz tudo parecer pior.

  • O “tamanho” do blockchain do Bitcoin cresce linearmente porque os dados que um nó precisa processar na capacidade máxima do bloco são estáticos ao longo do tempo. Então, quando você vê o primeiro gráfico abaixo, é igual ao segundo gráfico.
  • Um único aumento de tamanho de bloco resultaria em um nó precisando processar mais dados (mas estáticos) ao longo do tempo e acelerar o crescimento da cadeia (mas linear) ao longo do tempo. Os crescimentos intermináveis ??do blockize tornam ambos exponenciais.

Espero que o seguinte seja claro, mas vou elaborar mais:

Descentralização Inerente: Validadores sobem

  • Bloqueio de blocos = crescimento da cadeia linear
  • Crescimento da cadeia linear = requisitos de nó estático
  • Requisitos de nó estático = A contagem de nós aumenta ao longo do tempo

Centralização Inerente: Validadores caem

  • Sem limite = crescimento da cadeia exponencial
  • Crescimento exponencial da cadeia = requisitos crescentes do nó
  • Requisitos crescentes do nó = A contagem de nós diminui ao longo do tempo

https://twitter.com/StopAndDecrypt/status/1000874907448827904 https://twitter.com/StopAndDecrypt/status/1003807436967481344

Com um conjunto de blocos que nunca sobe, conforme a tecnologia cresce, torna-se mais fácil e mais fácil executar um nó, portanto, a contagem total de nós aumentará com o tempo. É isso que quero dizer quando digo “descentralizar inerentemente”. Quando Bitcoin atualizado para Segwit, os requisitos para executar um nó que faz full-validação fez subir, mas apenas marginalmente. Ele não expulsou ninguém da rede ou dificultou a execução de nós pré-Segwit, mas, o mais importante, permaneceu descentralizando inerentemente:

Quando o tamanho foi alterado para o Segwit, foi feito por outras razões do que arbitrariamente “adicionando espaço”. No momento, o blockize do Bitcoin é regulado, o limite está definido e não está sendo alterado. Se um bloco é muito grande, é inválido. Isso é ideal porque garante um volume estático de dados ao longo do tempo. Ninguém vota nisso, não é uma situação de 51% contra 49%. É sempre inválido se for muito grande.

A rede não tem como saber se o nó minerou um bloco, então o protocolo impõe igualdade de privacidade nesse sentido, mas o limite de tamanho de bloco impõe igualdade física, no sentido de que não há diferenciação zero entre validadores, sejam eles minados ou não . isso mais tarde) . Sua capacidade de processar transações não as segrega porque é fácil para o nó de todos. Remover a tampa do tamanho do bloco separa esses nós em camadas, onde um grupo tem o poder de cortar os outros com força, criando blocos que desligam a outra metade da rede, destruindo a rede a longo prazo.

Alterar o design do Bitcoin para permitir um tamanho variável de blocos resultaria em:

  • Tamanhos indesejáveis ??agora são válidos.
  • Mineiros começam a criar blocos sem se preocupar com o efeito que terá em outros validadores que podem ou não ser meus.
  • Os requisitos para executar um nó continuam crescendo, então a contagem continua diminuindo.

Mais variáveis ??significa mais maneiras de diferenciar e segregar tipos de nós.

Também quero salientar que não importa se o limite está definido em 2 MB ou 8 MB. Em algum ponto, a tecnologia permitirá que o tamanho do bloco seja viável, mas isso é outro debate, porque poderíamos definir o tamanho do bloco para 50 terabytes agora e "esperar que ele alcance", mas o Bitcoin se tornará centralizado e arruinado até esse ponto. Onde o limite deve ser um debate diferente, mas o meu único argumento agora é que deve haver um limite rígido isso não muda com o tempo, onde os blocos são inválidos se estiverem acima dele.

Isso me leva ao próximo exemplo: Ethereum e seu arbitrário “limite de gás”:

Sem um limite adequado, como no gráfico acima, ou no Ethereum, o tamanho do bloco continua crescendo e a tecnologia nunca pode crescer a um ritmo rápido o suficiente para que você possa continuar executando o nó. É isso que quero dizer quando digo "centralizar inerentemente". Os requisitos de crescimento ilimitado, determinados por um pequeno grupo de atores centralizados, não são bons. Mesmo com o Sharding, esse limite aumentará com o tempo. Sharding pode ser temporariamente bem-sucedido em dividir o trabalho, mas a direção inerente de Ethereum é sul:

O tamanho de um bloco Ethereum é determinado pelos mineiros, que definem o limite de gás para esse bloco. Se você não entende o limite de gás do Ethereum, aqui vai uma explicação muito simples que pode roubar os jimmies de algumas pessoas técnicas:

Em Ethereum, em vez de bytes, um bloco é limitado a quantas unidades de gás ele pode ter. Para este exemplo, digamos que sejam 1000 unidades de gás.

Quando você deseja criar uma transação ou um “contrato”, o gás é processado. Digamos que sua transação custa dois custos de gás e minas. Podemos nos encaixar em um único bloco, juntamente com mais 993 unidades de gás no valor de transações.

Assim, quando um mineiro faz um bloqueio, ele está limitado a apenas incluir 1.000 unidades de gás no valor de transações ou a rede considera inválido.

Exceto eles não estão limitados a 1000 unidades …

Eles podem fazer um bloco com 1200 unidades. Então eles podem fazer um bloco com 1500 unidades. As regras de consenso permitem aumentá-lo gradualmente sem que seja inválido. Outros mineiros podem fazer blocos menores, o que ajuda a reduzir a média (e, portanto, o limite) , mas esses são apenas outros mineiros. Se você estiver operando um nó de validação completa sob esses tipos de regras de consenso, não poderá decidir essa métrica. Miners são um nível acima de todos os outros nós nessa rede, e Vitalik nem nega isso.

Devido a essa diferenciação de nós por código dentro da rede Ethereum, o Ethereum é inerentemente centralizado. Esta é a diferença fundamental entre as propriedades de rede do Bitcoin e do Ethereum, como elas existem atualmente. O conjunto de nós de validação completa da Ethereum não tem direitos de voto iguais porque suas habilidades externas permitem que eles alterem o protocolo, o que afeta outros nós. No Bitcoin não há direitos de voto que afetem sua capacidade de executar o seu nó.

  • Se você deixar o Bitcoin sozinho (e esse é o plano) , sua contagem de nós totalmente validada aumentará com o tempo.
  • Se você deixar o Ethereum sozinho, sua contagem de nós totalmente validada diminuirá com o tempo.

Eu acho que é importante notar aqui que sem a tecnologia de rede de canal de estado como Lightning, minha declaração não seria válida para o Bitcoin. Propriedades inerentes como esta não estão limitadas apenas ao crescimento / redução de nós. Eu também acho que, embora as redes de canal de estado também possam existir para a Ethereum, a Ethereum tem uma questão muito mais profunda à mão.

As próximas duas seções estarão detalhando a topologia de rede da Bitcoin para elaborar mais sobre este conceito e, em seguida, as diferenças na rede da Ethereum diretamente devido a essa hierarquia de quem pode e não pode votar.

Topologia de Rede do Bitcoin

Bitcoin é mais do que apenas uma cadeia de blocos, e eu quero ajudá-lo a entender como a rede blockchain do Bitcoin é projetada primeiro, porque é a mais simples do grupo, e existem atributos fundamentais à sua simplicidade que você precisa entender para o resto Este artigo. Eu digo rede de blockchain porque Bitcoin também tem uma rede de canal de pagamento (raio) sobre ela que não afeta a estrutura da rede blockchain. Não vou discutir a rede de relâmpagos do Bitcoin neste artigo, já que não é tão relevante para os pontos que vou fazer.

Abaixo está um exemplo aproximado da rede Bitcoin reduzida para 1000 nós totalmente validados (atualmente existem 115.000) . Cada nó aqui tem 8 conexões com outros nós, porque essa é a quantidade padrão de conexões que o cliente faz sem fazer nenhuma alteração. Meu nó está aqui em algum lugar, e se você está executando um, está lá também. Os nós do Coinbase estão lá, os nós do Bitmain estão lá, e se o Satoshi ainda estiver por perto, o nó do Satoshi está lá também.

Observe que isso é apenas um diagrama e que a topologia de rede real pode (e provavelmente faz) variar disso. Alguns nós têm mais que a quantidade padrão de conexões, enquanto outros podem optar por se conectar a um número limitado ou ficar atrás apenas de um outro nó. Não há como saber o que realmente parece porque foi projetado com privacidade em mente (embora algumas empresas de monitoramento certamente tentem obter aproximações muito próximas) e os nós podem rotineiramente mudar quem são seus pares.

Comecei com esse diagrama porque quero que você entenda que não há diferenças nesses nós, porque todos eles são totalmente validados. Os do lado de dentro não são diferentes dos que estão do lado de fora, todos eles têm a mesma quantidade de conexões. Quando você inicia um novo nó, ele encontra os pares e se torna um dos nós. A distância mais longa neste gráfico de qualquer um desses nós para outro é 6. Na vida real existem alguns desvios para essa distância, pois encontrar novos pares não é um processo perfeitamente automatizado que distribui todos uniformemente, mas geralmente, adicionando mais nós ao rede não muda isso. Existem 6 graus de Kevin Bacon, e em 6 saltos minha transação está nas mãos de (quase) todos os nós, se for válida.

Selecionarei o “meu” nó desse grupo e arraste-o para que eu possa demonstrar o que acontece quando crio uma transação e anuncio-a à rede. Abaixo você verá meu nó todo o caminho para a direita, e então você verá os outros 8 nós (peers) aos quais o meu está conectado.

Quando eu crio uma transação e "envio para o mundo", é na verdade apenas para esses 8 pares. Como o Bitcoin é projetado desde o início para fazer com que cada nó seja totalmente validado, quando esses oito nós recebem minha transação, eles verificam se são válidos antes de enviá-los para seus 8 peers. Se minha transação for inválida, ela nunca quebrará a “superfície” da rede. Meus colegas nunca enviarão as transações ruins para seus pares. Eles nem sabem que eu criei essa transação. Não há como eles contar, e eles tratam todos os dados como iguais, mas se eu continuasse enviando transações inválidas para qualquer um dos meus 8 pares, todos acabariam me bloqueando. Isso é feito automaticamente por eles para impedir que eu envie spam para minha conexão. Não importa quem você é, ou o tamanho da sua empresa, sua transação não será propagada se for inválida.

Agora digamos que você não está executando um nó completo, mas está usando um cliente leve . Existem vários clientes de luz para o ambiente de trabalho e para o seu telemóvel. Alguns deles são Electrum, Armory, Bread e Samourai Wallet. Clientes ligeiros se conectam a um nó específico. Alguns podem ser configurados para alterar o que eles conectam ao longo do tempo, mas eles ainda estão amarrados. É assim que o tethering se parece:

A razão pela qual estou mostrando isso ficará mais aparente mais adiante neste artigo, mas quero que você observe que isso é apenas um diagrama, e é fácil demonstrar o tethering usando um nó que por acaso está na borda, mas há não é um aro real e o tethering é amarrado onde quer que esse nó esteja dentro desse diagrama. Eu destaquei isso em amarelo. Os nós que estão sendo amarrados são verdes e os azuis são leves-clientes. Todas as informações que vão ou vêm do cliente leve passam pelo nó ao qual elas estão conectadas. Eles dependem desse nó. Eles não fazem parte da rede. Eles não são nós. Lembre-se disso, porque no Ethereum seu comportamento é um pouco diferente, mas seu efeito na rede é o mesmo: nada.

Aqui é onde fica divertido, e onde outras pessoas tentam deturpar como a rede realmente funciona: E se eu quisesse começar a mineração?

Minerar um bloco é o ato de criar um bloco. Assim como uma transação que você deseja enviar, você deve criar o bloco e anunciá-lo na rede. Qualquer nó pode anunciar um novo bloco, não há nada especial sobre esse processo, você só precisa de um novo bloco . A mineração ficou cada vez mais difícil, mas se você quiser, pode adquirir hardware especializado e conectá-lo ao seu nó pessoal.

Lembre-se que pouco sobre transações inválidas? O mesmo vale para blocos, mas você precisa entender algo muito específico sobre como os blocos são criados.

Primeiro assista a este vídeo. Eu pulei para a parte importante sobre hashing, usando nonces (valor aleatório) e anexando a cadeia com esse novo cabeçalho de bloco:

Por favor, assista a coisa toda se você tiver tempo. É pessoalmente meu vídeo favorito explicando como a mineração funciona.

Quando você chegar à parte seguinte no vídeo em que os rótulos "Prev hash" são aplicados, esses são os cabeçalhos de bloco:

O que não é mencionado neste vídeo é que você pode criar cabeçalhos de blocos válidos mesmo se todas as transações dentro do bloco forem inválidas . Ele ainda requer o mesmo tempo para meus blocos com transações inválidas, assim como para minerar um bloco com transações válidas. O incentivo para gastar todo esse tempo e energia criando um bloqueio desse tipo seria realizar uma transação que o recompense com o Bitcoin que não é seu. É por isso que é importante que todos os nós verifiquem não apenas os cabeçalhos de bloco, mas também as transações . Isto é o que impede os mineiros de gastar esse tempo. Como todos os nós verificam, nenhum mineiro pode enganar o sistema. Se todos os nós não verificar você teria que contar com os que não verificar. Isso separaria os nós em "tipos", e o único tipo que importaria seriam os que verificassem. Ethereum faz isso atualmente, e eu vou tocar nisso na próxima seção.

Então, se você se juntar a uma piscina de mineração? Você pode fazer isso porque a mineração é muito difícil para você fazer sozinho, ou se você é uma entidade um pouco maior, você pode preferir uma renda estável, em oposição a uma esporádica. Muitos mineiros fazem isso e conectaram seu hardware especializado diretamente a um pool de mineração usando um protocolo de chamada totalmente diferente do protocolo de mineração Stratum . Assim como criar uma transação com o seu celular não-nó, você não precisa executar um nó para conectar seu hardware a um pool de mineração. Você pode minerar sem executar um nó e muitos mineiros fazem exatamente isso. Aqui está o que parece abaixo em azul. Eu usei o Slush Pool para este exemplo:

Lembre-se, arrastei esses nós do pool para fora do diagrama para fins de demonstração. Assim como qualquer outro nó, esses nós executados pelo pool precisam de pares. Eles precisam de colegas para receber transações e bloqueios, e precisam que seus pares anunciem os blocos que eles criaram. Permita-me reiterar novamente: todos os nós validam todos os blocos e transações. Se qualquer um desses pools anunciar um bloco inválido, seus colegas saberão porque são totalmente validados e não o enviarão para outros nós. Assim como as transações, os blocos inválidos não entram na rede.

Aqui está outra maneira de ver isso sem retirar esses nós do diagrama. Abaixo está um mineiro que não quer ser conhecido, tem 8 pares aleatórios, e nenhum desses pares sabe que é um mineiro . Mais uma vez, isto é intensionalmente concebido desta forma por razões de privacidade. Não há como nenhum nó na rede saber que o bloco que receberam foi criado por seus pares ou retransmitido por seus pares. Tudo o que eles sabem é se é válido ou não, e se são enviados, se não são, não são.

Espero que você esteja recebendo a imagem, e eu não acredito que usei qualquer matemática ou equações sofisticadas para chegar aqui. Eu gostaria de seguir em frente porque eu sinto que esta é uma cobertura completa, mas há uma última coisa que eu gostaria de abordar, porque é esse aspecto final que é usado para confundir os outros que não entendem completamente tudo que acabei de explicar. É tão usado que eu preciso resolver isso.

https://twitter.com/VitalikButerin/status/1000232465540136960

Meu comentário original estava falando sobre clientes leves, também chamados de clientes SPV, e como eles não fazem parte da rede. Eu demonstrei isto acima com os pontos amarrados azuis. Seu comentário de acompanhamento tenta sugerir que os nós que são meus são os únicos nós cuja rejeição é importante. Lembre-se: os nós não têm como saber quais outros nós minaram um bloco versus quem retransmitiu um bloco, isso foi projetado intencionalmente.

Agora, para um diagrama final, posso tentar explicar a lógica usada quando as pessoas dizem que "apenas os nós de mineração são importantes". Alguns mineiros se conectam diretamente a outros mineradores para que, fora de sua lista de pares com a rede, alguns deles também sejam outros mineiros. Nem todos os mineiros fazem isso . Alguns desses mineiros que se conectam diretamente também usam redes de retransmissão opcionais , como a rede FIBER sendo projetada pelo desenvolvedor Matt Corallo do Bitcoin Core , mas mesmo essa rede não é exclusiva dos mineradores, qualquer um pode participar incluindo você ou eu e está lá para ajudar a bloquear o relé pela rede. De qualquer forma, as pessoas tentam argumentar que essa interconexão de nós que a minha (usando algo como FIBER ou não) implica que eles são os únicos que importam, e é um absurdo:

Neste exemplo, deixei os pares do nó dentro do diagrama. Você deve entender o ponto agora. Eles rejeitam blocos inválidos. Esse grupo de nós dentro dos círculos verdes definitivamente não é o único conjunto de nós que importa nesta rede, e com isso dito, eu acho que já cobri tudo o que você precisa saber sobre a rede blockchain do Bitcoin para eu mover para o Ethereum.

Ethereum com prova de trabalho

Este vai ser relativamente o mesmo com algumas diferenças fundamentais. A maior vantagem de tudo isso é que seu nó de validação completa não pode rejeitar blocos com base em seu tamanho ou no limite de gás. Não ter nenhum controle sobre esse procedimento externo pressiona esses nós de validação completa para processar essas informações em um ritmo que eles podem não conseguir acompanhar, reduzindo a quantidade de nós ao longo do tempo e inclinando o conjunto de nós para entidades muito maiores.

Assim como o Bitcoin, o Ethereum atualmente usa um sistema de Prova de Trabalho para seu processo de anexação de blockchain e processo de distribuição de token. Como a função pretendida da rede blockchain Ethereum é diferente, os dados que são colocados dentro de um bloco também são diferentes. Isso não será sobre o tipo de dados, "contratos inteligentes", ou qualquer coisa desse tipo. Isso será apenas sobre o volume desses dados e a topologia da rede.

O diagrama a seguir, como o Bitcoin, é apenas uma topologia visual e não real. Em vez de cada nó ter uma distribuição par de pares, coloquei o número de peers por nó em uma curva, porque é bem conhecido e admito que o Ethereum está tendo problemas de pares, já que a contagem de nós continua caindo, e pares "bons" servir quantidades suficientes de dados são difíceis de obter nos dias de hoje.

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

Isso é o que uma rede “descentralizada” parece quando os bons pares são limitados em número, e isso se torna problemático quando pessoas tentando sincronizar um novo nó Ethereum não podem porque simplesmente não há pares suficientes semeando os dados que eles estão pedindo. Você recebe um pequeno grupo de pares altamente conectados que atendem a todos os outros do blockchain. Isso é muito ruim para uma rede de transmissão. O que é ainda pior é o limite de gás (e em retorno o total de blocos) continua subindo porque não há restrições, colocando mais pressão sobre esses nós limitados e diminuindo a quantidade que existe, apesar das afirmações de que “o limite de gás não se moveu em X meses ”:

O “limite” do gás não é um limite e, como mencionei anteriormente, os mineiros escolhem isso no seu tempo livre. O importante é que os nós do Ethereum não rejeitam os blocos, independentemente do limite de gás . Esta é uma das diferenças fundamentais entre Bitcoin e Ethereum. Os nós não são configurados para impedir que pressões externas os centralizem com dados sem regulamentação. Mineiros não estão aumentando esse limite agora por razões altruístas, e porque Vitalik está dizendo a eles que não. Soa descentralizado, certo? Não é assim que você quer que um blockchain funcione. O que vai acontecer quando as taxas ficarem altas demais?

Tome a resposta da Vitalik, e o seguinte gráfico de blocos, como você irá:

Ethereum tem 2 opções:

  • Se o limite de gás não subir, não haverá espaço suficiente para todos os contratos, uma guerra de lances começará assim que as taxas aumentem. Se as taxas sobem demais, os contratos básicos começam a se tornar muito caros, e o Dapps, que funciona com taxas baixas, deixa de funcionar. A última vez que isso aconteceu, eles foram forçados a aumentar o limite, porque precisam do Dapps para funcionar.
  • Se o limite de gás for aumentado, a contagem de nós centralizados já em pares diminuirá ainda mais.

Felizmente, o Ethereum tem clientes leves como o Bitcoin, e eles estão aqui para salvar o dia se você não puder executar o seu próprio nó de validação…

Lembre-se de como demonstrei anteriormente que os clientes SPV (que apenas os cabeçalhos de sincronização) são vinculados a um nó específico e não fazem parte da rede? Na Ethereum eles deram um passo adiante e criaram uma “sub-rede” para esses clientes-luz, onde eles podem compartilhar cabeçalhos de blocos. Se você não sabia, a maioria das pessoas na verdade não executa nós de validação completa no Ethereum (por várias razões) , eles na verdade executam clientes leves.

https://www.reddit.com/r/ethereum/comments/7k4vy5/we_desperately_need_more_lightserve_nodes/ https://github.com/ethereum/go-ethereum/issues/15454 /// Você também pode consultar o meu artigo anterior.

Eles têm tido alguns problemas para obter full-nodes suficientes para suprir os clientes light com os cabeçalhos de bloco que eles precisam. Os clientes-luz não podem ficar olhando uns para os outros porque as pessoas são muito indulgentes, desligando-os e ligando-se, de modo que eles se tornam ainda mais dependentes dos nós completos que voluntariamente lhes dão esses dados. No Bitcoin não há voluntariado, todos os nós completos executam as mesmas funções de retransmissão e é fácil de fazer. Em suma, na verdade, não acho que haja algo de errado em ter uma sub-rede para clientes leves. Acho que qualquer um que queira executar um deve ser capaz. Eu acho que ter uma sub-rede deles é uma coisa boa, na melhor das hipóteses, mais pessoas não teriam que confiar em nós específicos para cabeçalhos, na pior das hipóteses, eles não podem atender adequadamente a sua própria demanda. A questão é quando os desenvolvedores começam a chamar esses “nós” e a comunidade é levada a acreditar que eles contribuem para uma rede. Eles não são "nós" e não fazem nada pela rede.

https://twitter.com/NickSzabo4/status/1001488447129829377

E os desenvolvedores do Ethereum os chamam de nós. O que se segue é sobre sharding, que eu vou entrar em seguida, mas eles não devem sair por aí dizendo à comunidade que os clientes-leves que eles estão rodando são nós. Em seguida, eles obtêm contagens de nós que continuam subindo, mas tudo o que realmente está acontecendo é que a contagem de clientes leves sobe enquanto a contagem de nós completos diminui lentamente. Chamar esses nós oculta o problema.

Espero que eu tenha perfurado isso agora. Verificando cabeçalhos de bloco não faz nada para a rede.

Portanto, este é um modelo mais preciso de como a rede se parece:

Vendo isso, o que você acha agora quando vê essa contagem total de “nós”? Eles estão discernindo entre esses nós? Você entendeu a diferença antes desses artigos? Mesmo que eles não estejam incluindo os nós de luz, o que vai acontecer com o tempo?

Com o tempo, mesmo que a contagem total de “nós” possa estar aumentando, é isso que acontece com uma rede que é inerentemente centralizada e não se importa com o conjunto de nós de validação completa: ela fica pior.

Não apenas a rede começa a cair na contagem do validador, os mineiros começam a se conectar diretamente entre si por necessidade de evitar taxas de tio / órfão ruins. Uncles / Orphans são blocos descartados que ocorrem porque os tempos de bloco são muito próximos uns dos outros. À medida que mineiros diferentes fazem blocos válidos ao mesmo tempo, você acaba com duas correntes válidas. Eventualmente, um desses blocos é construído em cima e o outro bloco é órfão.

Neste diagrama, os blocos roxos são órfãos.

Você sabe quem perde mais quando seus blocos são descartados porque a rede selecionou um ramo diferente para seguir? Os mineiros menores, centralizam ainda mais a rede porque não conseguem lidar com a volatilidade da renda.

Então agora você tem:

  • Um total de validador de encolhimento constante
  • Uma comunidade voltando-se para os nós-luz porque eles não podem executar os validadores
  • Um grupo de desenvolvimento que diz à comunidade que tudo está bem porque eles nunca foram "validadores significativos" para começar
  • Uma mudança fundamental para a estrutura de rede que encolhe esse conjunto de validação ainda mais, onde você precisa de 32 ETH apenas para ser um

As respostas para levantar este assunto são concordadas com preocupação, ou demissão completa da questão. Quando as pessoas descartam essa questão, elas normalmente usam a tática de “não mineração” que já utilizamos. Eles dizem “todos aqueles nós no meio que estão encolhendo, eles nunca estavam fazendo nada de qualquer maneira a menos que estivessem minerando / apostando. "

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

É realmente o argumento menos compreensível que você ouviu durante todo este mês?

https://twitter.com/NickSzabo4/status/1001488447129829377

Recapitular:

  • No Bitcoin, todos os nós são validados, e nenhum deles tem maior influência, porque o tamanho do bloco é limitado e imposto por todos eles.
  • No Ethereum, os nós são divididos em versões full & light e somente os nós completos são validados. Nós completos não limitam o limite de gás, o que faz com que eles tenham que processar mais dados ao longo do tempo, desligando muitos deles.

Ethereum com prova de aposta

Muito parecido com Ethereum com prova de trabalho, todas as opções acima se aplicam à Prova de Estaca. A intenção é lançar PoS junto com Sharding ao mesmo tempo, então eu não acho que Ethereum com apenas PoS irá ocorrer. Isso é apenas para destacar os degraus da centralização à medida que nos aproximamos do sharding. Além de tudo na última seção, o PoS traz essas questões adicionais:

  • Nenhuma mineração significa nenhum custo externo. Os validadores que apostam precisam apenas apostar suas moedas e hospedar seu servidor. Como eles ganham dinheiro por não fazer nada, eles podem continuar a atualizar seus servidores para compensar os requisitos cada vez maiores dos nós, enquanto todos ficam para trás.
  • A estaca exige 32 ETH (US $ 16.000 a partir de agora) , portanto, o conjunto de validadores está diminuindo continuamente, mas aqueles que têm US $ 16.000 à sua disposição não se preocupam com os requisitos de processamento de dados. Portanto, isso só acelerará o crescimento da taxa de transferência de dados

Nesta rede, é estruturalmente o mesmo que o diagrama Ethereum que forneci abaixo, mas desta vez eu destaquei os nós que estão em jogo, para que você possa ver a progressão do conjunto de validação de nós ao longo do tempo em relação aos validadores que também são Estacando. Lembre-se, Vitalik disse que sempre foi assim para começar, e acima eu expliquei como isso é tecnicamente incorreto. De qualquer forma, com PoS este processo é acelerado:

Em seu preço de pico, você teria hipoteticamente necessário US $ 45.000 para ser um desses nós. O compartilhamento de fundos não altera nada, o pool executa o nó, não você. Felizmente, o PoS vem com o Sharding empacotado para que possamos terminar esta seção aqui.

Ethereum com Prova de Estaca + Fragmentação

Como o título afirma, o Sharding introduz o dimensionamento enquanto faz você acreditar que está ajudando o scale-out do Ethereum. Como você pode imaginar, isso tem muito a ver com a contagem de nós de validação, mas com uma diferença. A validação de responsabilidades é dividida entre vários grupos, cada um com seu próprio fragmento. A intenção é aliviar a quantidade de trabalho que um único nó de validação deve fazer para que possa haver mais deles, mas isso só resulta em prolongar o problema e não corrigir o problema. Além disso, há agora um custo enorme para alguns desses nós, já que o staking é necessário para ser um deles.

Vídeo Completo: https://www.youtube.com/watch?v=r0TGpp2SV-w

  1. Não teremos nós com bitcoin completo processando 1 gigabyte a cada 3 segundos, porque não estamos aumentando o limite de tamanho de bloco.
  2. Não teremos 10 nós completos, teremos milhões, porque não estamos aumentando o limite de blocos.
  3. Claramente, nossas definições de “out” de escala são diferentes aqui, e elas estão bem com a contagem de nós completos sendo trocados por taxa de transferência na camada base.

Uma vez que acredito que já expus um argumento muito bom para os nós completos, nossas definições divergentes não importarão e focar-me-ei nelas.

Reworded:

  • Eles querem aumentar o rendimento da transação na camada base.
  • Eles sabem que isso reduzirá a contagem de nós, não importa o que eles façam.
  • Sua solução é dividir as responsabilidades, para que não diminua “tão ruim”.
  • Eles acham que o total encolhido é "bom o suficiente" para a segurança do cliente leve.
  • Eles justificam o total diminuído comparando-o a um Bitcoin hipotético com 10 nós completos baseado na falácia do “nó de mineração”.
  • A solução deles é o Sharding, que eles chamam de scaling-out, e não há problema em sacrificar “alguns” nós, mas afirmam que isso resultará em mais nós no futuro do que os 10 nós do Bitcoin.

Eu acho que o mais importante de todo este artigo é a seção sobre a rede de validar completamente os nós, a descentralização inerente, e como isso se compara a tudo o mais quando as pessoas tentam vender “soluções de escala”. Então, vamos comparar isso ao Sharding. É aqui que fica divertido, porque mesmo Vitalik não delineou claramente como será a topologia. Eu vou tentar o meu melhor porque Sharding pega o conceito de “todos os nós são iguais e fazem o mesmo trabalho” e o abole completamente. Identificar onde a centralização existe será… divertido.

Para começar, aqui está o que a explicação usual do Sharding soa , e aqui está como o artigo típico se parece:

https://bitcoinist.com/vitalik-buterin-sharding-plasma-scale-ethereum-10000-times/

Este é apenas um site de notícias blockchain, por isso espera-se que haja informações técnicas buzzwording e zero. Estou destacando isso porque está cheio de palavras e termos que parecem ser vistos pela comunidade de criptografia desinformada. A "escalabilidade" permanece indefinida, o "processamento" precisa de mais esclarecimentos, e cada menção única da palavra "nó" não se aplica a você ou ao seu nó de luz. Todas estas menções:

  • "Nó único"
  • “Nó individual”
  • "Todo nó"

Pode ser substituído por:

  • $ 16.000 nó que Stakes
  • $ 16.000 nó que Stakes
  • $ 16.000 nó que Stakes

Onde quer que você leia ou ouça sobre Sharding, a explicação parece estar dizendo “as coisas ficarão mais fáceis nos nós”, mas os nós que podem pagar US $ 16.000 para apostar não precisam que as coisas fiquem mais fáceis. Eles já podem processar blocos muito maiores. Os datacenters não precisam de shards e você não estará executando um dos nós importantes em um laptop. Existem muitos tipos de nós neste sistema, e ainda não está claro quais deles realmente existirão quando o protocolo for finalizado. Começarei explicando a estrutura básica e, em seguida, definindo os principais tipos de nós dentro desse sistema para que possamos destacar os que importam e os que não.

Sharding pega uma única blockchain, transforma-a em vários blockchains chamados Collations , depois coloca um laço de torção na parte superior e espera que o molde não cresça. Brincadeira à parte, este diagrama de um único agrupamento deve ajudá-lo a entender:

Brincadeiras à parte, aqui está uma boa que demorou muito para ficar bem:

Vamos dividir o que você está olhando:

  • Agrupamento [Blocos Roxos]: Um agrupamento é apenas um bloco específico do fragmento. Eles formam cadeias de colação, semelhantes a uma cadeia de blocos.
  • Nós do executor [Azul]: Os nós do executor validam os dados da transação dentro de cada agrupamento. Eles calculam os contratos e delegam os nós do Collator a shards específicos.
  • Nós do agrupador [vermelho]: os nós do agrupador “reúnem” os dados desse fragmento, fazem o agrupamento (bloco) e, em seguida, apresentam-no aos nós do executor para “executar”.
  • Light Nodes [Pink]: Estes são os nós que você estará executando. Eles não contribuem com nada para a rede, eles apenas “assistem”. Eles têm a capacidade de verificar as transações, mas como não estão transmitindo transações ou bloqueios, eles não têm poder para reter a retransmissão se não for válida. Mais uma vez, esta é a diferença fundamental entre os nós Bitcoin e todos os outros blockchains. Cada nó Bitcoin faz a mesma coisa e não há como diferenciá-los.

Dentro de cada fragmento, os únicos nós que importam são os nós Executor e Collator. Ambos exigem 32 ETH para ser executado . Cada nó de luz pode “escolher um fragmento de que eles se importam” (se quiserem) , sincronizar esse fragmento e os cabeçalhos de bloco da cadeia principal. Eles provavelmente não precisarão, a menos que sejam um aplicativo ou serviço que dependa da validação desse fragmento, porque o contrato deles se baseia nele.

Acima você verá várias cadeias de Collation, conjuntos de nós Executor / Collator que fazem o trabalho nessas cadeias (32 ETH) , a "cadeia principal" (verde) e, claro, seu nó de luz no topo se você selecionou um um fragmento específico para “validar”.

Algumas coisas que você deve notar:

  • Você não será um dos nós do Executor / Collator, a menos que tenha 32 ETH.
  • Seu nó de luz não retransmite blocos. Ele não impõe o código de consenso e não pode fazer nada com dados inválidos, além de gritar a plenos pulmões. (Uma rede de validação de nós obtém seu poder da capacidade de negar a propagação de transações / bloqueios inválidos. Quando você não está se propagando para começar, não pode retê-los.)
  • A cadeia principal não possui dados de transação. Apenas armazena os cabeçalhos das cadeias de Collation.

Mas isso não é tudo, há mais nessa rede. Todos os seus nós de luz que apenas sincronizam os cabeçalhos da cadeia principal podem ser agrupados juntos nesta grande caixa abaixo. Eles não fazem nada, mas serão os maiores em número. Geralmente, se você não tiver 32 ETH, você será um desses nós.

Meu ponto aqui é que, embora a "validação total" seja dividida em subempregos, o grupo de nós que fazem esses trabalhos ainda é limitado. Ele diz que esses nós estariam processando menos que os nós atuais da Ethereum, mas novamente isso nunca foi o problema. A questão é que a dificuldade para fazê-lo cresce com o tempo, e a quantidade de nós diminui com o tempo por causa disso. É inerentemente centralizador . Vitalik até concordou que esse número diminuiria com o tempo se os limites de gás continuassem subindo, e não há nada que impeça que isso aconteça. Neste momento os mineiros estão sendo altruístas, mas o que acontece quando a mineração nem sequer existe? O que acontece quando está apenas apostando e as pessoas que estão fazendo isso não se importam com o bloqueio de outras pessoas ficando órfãs? Por que eles manteriam o limite de gás baixo? Lembre-se que eles podem ajustar manualmente isso, então por que eles intencionalmente manteriam baixo se estivessem hiperconectados entre si e totalmente capazes de processar esses dados? O que acontece quando eles começam a aumentar seus ganhos fixos, configurando mais nós e ganhando mais controle da rede?

O que acontece quando as pessoas não acham que é uma merda? A maioria vai falhar, mas o que acontece quando um deles é convincentemente descentralizado apenas o tempo suficiente para manter as pessoas usando-o?

Eu disse que tudo isso seria fácil. Não me sinto assim, mas tentei mantê-lo o mais simples que pude. Menciono isso porque gostaria de encerrar este artigo com um link para o FAQ do Sharding, onde há uma longa lista de problemas admitidos com o Sharding, e como eles planejam abordá-los, e como cada um deles apresenta uma nova complexidade com ele problema próprio e outra solução para resolver esse novo problema. É complicado, demorei demais para decifrar o palavreado para os tipos de nó, mas é justo provê-lo.

Minha questão nunca foi se "funcionou", mas se continua descentralizada. Foi um pouco ruim antes de Sharding, mas não acho que seja mais claro que haja apenas um caminho para essa rede em uma escala de tempo longa o suficiente. Se você não se importa em ter validadores centralizados, é melhor comprar o EOS. Eles pularam toda a parte fingida e foram direto para a centralização. Eles nem mesmo precisam do Sharding porque eles apenas manipulam os dados do blockchain de maneira centralizada.

O Google pode processar o pagamento de todos.

Não queremos que o Google processe os pagamentos de todos.

Nós também não queremos o Fortune 500 ou o Forbes 400.

Então, o que aprendemos?

Não.

Use uma segunda camada.

@ (@StopAndDecrypt) | Twitter
Os últimos Tweets de ???? (@StopAndDecrypt). Fullstack Social Engineer: 10% FUD, 20% memes, 15% concentrado… twitter.com

Derrubando a resposta de Vitalik

1:

Isso é * severamente * desinformado. Ethereum já tem um limite de tamanho de bloco na forma de seu limite de gás, e este limite de gás é de 8 milhões e está lá nos últimos seis meses.

Eu abordei isso acima. Você aumentará o limite de gás se Sharding não estiver pronto em breve para entrar e interromper esse problema.

2:

O rápido crescimento do datadir de sincronia chegou a 10GB por mês nos últimos seis meses e não será muito mais alto, mesmo porque aumentar muito mais o limite de gás levaria a problemas de centralização da taxa de tio. Então, nós já estamos experimentando o pior e estamos há seis meses.

Se você não aumentar o limite de gás, as taxas desabilitarão o Dapps e causarão indignação na comunidade porque têm expectativas e demandas. Eu fui sobre isso acima também. Taxa de tio não importa quando você não tem outra solução, agora os mineiros estão apenas sendo altruísta, ouvindo você. Essa é uma questão em si.

3:

Além disso, focar no tamanho do nó de arquivamento é altamente falacioso porque (i) você pode ter um tamanho de datadir muito mais baixo, seja ressincronizando uma vez por ano, ou apenas rodando um nó Parity, que remove para você, e (ii) inclui um monte de dados irrelevantes (tecnicamente, todos os estados históricos, mais nós da árvore Patricia) que poderiam ser recalculados do blockchain (abaixo de 50 GB) de qualquer maneira, então você não está nem "jogando fora a história" em nenhum sentido significativo da teoria da informação . E se você estiver * * * * com o histórico de descartes, você pode executar o Parity no modo somente estado e os requisitos de disco caem para menos de 10 GB.

Eu abordei este "conflito" quando mostrei o gráfico de throughput ao longo do tempo. O tamanho do diretório é análogo ao mesmo crescimento exponencial que ocorre com os requisitos de processamento dos nós. A única resposta contrária a isso é que você não aumentará o limite de gás. Você irá.

4:

O principal ponto de fragmentação é que a rede pode, teoricamente, sobreviver com o ZERO do que você chama de “nós completos”. E se houver cinco nós completos, esses cinco nós completos não terão nenhum poder extra especial para decidir o consenso; eles apenas verificam mais coisas e assim encontram o caminho para a cadeia correta mais rapidamente, isso é tudo. Os nós formadores de consenso precisam ser apenas nós fragmentados.

Eu abordei sharding acima.

5 (lol):

Finalmente, você está usando o termo "BCash" errado; é uma implementação, não um blockchain / cryptocurrency.

Isso não é Bitcoin, isso é BCash
Ou, lá e de volta, um conto de Full-Node hackernoon.com

Derrubando a resposta de Gustav Simonsson:

Mantendo-se com os Etherians – uma resposta às preocupações tamanho do blockchain
Ontem @StopAndDecrypt publicou um artigo médio discutindo o crescimento do blockchain Ethereum e preocupações… medium.com

1: “(…) a estrutura de incentivo da camada de base está completamente quebrada porque não há limite para o tamanho do bloco da Ethereum (…)”

Isso é enganoso na melhor das hipóteses e falso na pior das hipóteses. Ethereum tem um limite de tamanho de bloco devido ao limite de bloqueio de gás imposto pelo protocolo de consenso.

é improvável que votem em um aumento de tamanho de blocos que romperia a rede

Eu abordei o limite de gás ainda neste artigo. Obrigado por me motivar. A rede não quebra porque os validadores caem e os colegas são perdidos. A rede funciona com dois datacenters. O que quebra é a descentralização . Os nós conectados não têm incentivo para se preocupar com outras habilidades de validação de nós menos conectados.

2: "Mesmo que um [tampão de tamanho de bloco] tenha sido colocado em prática, ele teria que ser razoável, e então esses Dapps nem funcionariam porque eles mal funcionam agora sem tampa".

Ninguém vai mais para a praia – é muito lotado.

Se uma rede blockchain estiver em capacidade, com todos os blocos preenchidos com transação, todos os remetentes de tx encontrarão utilidade em enviar seus txs com suas taxas específicas.

Isso perde completamente o ponto, porque esse é o mesmo argumento que fazemos no Bitcoin. É muito popular, mas o Bitcoin não promete baixas taxas e usabilidade aos desenvolvedores e usuários do Dapp. Quando esses Dapps são ajustados para transações básicas de mixers (lol) usando 90% do espaço do bloco para despejar suas moedas hackeadas / roubadas porque a mistura vale a pena pagar mais do que usar o Dapps que ninguém realmente usa, que marketing você ainda tem? Essa é a questão. Você pode discutir isso tudo o que quiser, mas em algum momento você começa a justificar a existência do Ethereum com apenas as propriedades correspondentes do Bitcoin sem os sinos e assobios extravagantes, e o Bitcoin melhora o Bitcoin.

O autor continua sua falácia, contradizendo-se diretamente, argumentando que os aplicativos da Ethereum passariam para o Bitcoin. Se os aplicativos se tornarem inúteis na Ethereum devido ao aumento das taxas tx, eles também serão inúteis no Bitcoin se forem bloqueados por outros usuários que pagam taxas tx mais altas.

Eu sugeri que os desenvolvedores desenvolvessem o Bitcoin. Eu não disse que você pega as mesmas idéias de programas que você pode nunca realmente funcionar e constrói no Bitcoin. Quase todos os Dapps são centralizados para começar e não são realmente “dapps”. Todos eles podem ser construídos em Lightning. Você não terá problemas com taxas, independentemente do tamanho do bloco em uma rede de canais de pagamento. Novamente, você poderia argumentar que o Ethereum também pode fazer isso, mas isso não significa que a camada de base promete qualquer razão extra para existir.

O rápido crescimento do datadir de sincronia chegou a 10GB por mês nos últimos seis meses e não será muito mais alto, mesmo porque aumentar muito mais o limite de gás levaria a problemas de centralização da taxa de tio. Então, nós já estamos experimentando o pior e estamos há seis meses.

0

cryptokitties ethereum – Pesquisa Google
15 de dezembro de 2017… A Crypto-Kitties está crescendo a tal ponto que está atrapalhando a rede Ethereum – criando… www.google.com

3: “O blockize [Bitcoin] não restringe o fluxo de transações, ele regula a quantidade de dados de transmissão para todos que estão sendo enviados pela rede.”

O rápido crescimento do datadir de sincronia chegou a 10GB por mês nos últimos seis meses e não será muito mais alto, mesmo porque aumentar muito mais o limite de gás levaria a problemas de centralização da taxa de tio. Então, nós já estamos experimentando o pior e estamos há seis meses.

1

Nós os estamos incluindo, e é por isso que eu disse que isso não restringe o fluxo. O blocksize é uma barragem que gera energia na forma de taxas. O estouro transborda para a Rede Lightning, que não tem limitações superiores na taxa de transferência de transações fora do volume de nós do Lightning e canais de pagamento, que não têm limites próprios.

Além disso, qualquer transação em que você receber o Bitcoin pode ser recebida diretamente em um canal recém-aberto. Este não é um processo de duas etapas.

4: “Estou dizendo que essa informação precisa deixar de ser obscurecida. Também estou dizendo que, se / quando estiver desocupado, será tarde demais e nada poderá ser feito sobre isso de qualquer maneira. ”

O rápido crescimento do datadir de sincronia chegou a 10GB por mês nos últimos seis meses e não será muito mais alto, mesmo porque aumentar muito mais o limite de gás levaria a problemas de centralização da taxa de tio. Então, nós já estamos experimentando o pior e estamos há seis meses.

2

O rápido crescimento do datadir de sincronia chegou a 10GB por mês nos últimos seis meses e não será muito mais alto, mesmo porque aumentar muito mais o limite de gás levaria a problemas de centralização da taxa de tio. Então, nós já estamos experimentando o pior e estamos há seis meses.

3

O rápido crescimento do datadir de sincronia chegou a 10GB por mês nos últimos seis meses e não será muito mais alto, mesmo porque aumentar muito mais o limite de gás levaria a problemas de centralização da taxa de tio. Então, nós já estamos experimentando o pior e estamos há seis meses.

4

Está obscurecido. Não é uma questão de eu “não conseguir localizar” sites que acompanham isso. Os sites que fizeram segui-lo parado segui-lo.

Você esqueceu de incluir a próxima frase: "Já é tarde demais."

Foi uma piada, não uma falácia. É pegar ou largar.

5: “Tenha em mente que nenhuma dessas informações [tempos de propagação de blocos e tempos de transação] estão disponíveis para a Ethereum”

O rápido crescimento do datadir de sincronia chegou a 10GB por mês nos últimos seis meses e não será muito mais alto, mesmo porque aumentar muito mais o limite de gás levaria a problemas de centralização da taxa de tio. Então, nós já estamos experimentando o pior e estamos há seis meses.

5

O rápido crescimento do datadir de sincronia chegou a 10GB por mês nos últimos seis meses e não será muito mais alto, mesmo porque aumentar muito mais o limite de gás levaria a problemas de centralização da taxa de tio. Então, nós já estamos experimentando o pior e estamos há seis meses.

6

Primeiro, isso é o oposto de fácil. Novamente, isso não é sobre mim, porque eu sou claramente capaz de discernir as diferenças nessas redes e reunir as informações. Eu sou o único a compartilhar porque eu fiz isso.

Segundo, não preciso configurar nós em todo o mundo para verificar isso, e todas as reclamações on-line, além dos dados à esquerda disso, no próprio site que você sugeriu, apenas solidificam o consenso on-line. Quando metade dos nós que oferecem seus dados para este site têm uma latência terrível, isso é indicativo de um problema.

Em terceiro lugar, uma pessoa preguiçosa não passaria pelo esforço que eu sou, nem sou falsa afirmando que isso não está publicamente disponível. Os dados de rede em geral não estão disponíveis publicamente, não estão literalmente disponíveis para o público, e alguns deles já foram. Você precisa de mais do que conhecimento comum para acessá-lo.

6: [vago reclamar sobre o uso do blockchain do jeito “certo” e o hatin em CryptoKitties]

O rápido crescimento do datadir de sincronia chegou a 10GB por mês nos últimos seis meses e não será muito mais alto, mesmo porque aumentar muito mais o limite de gás levaria a problemas de centralização da taxa de tio. Então, nós já estamos experimentando o pior e estamos há seis meses.

7

O rápido crescimento do datadir de sincronia chegou a 10GB por mês nos últimos seis meses e não será muito mais alto, mesmo porque aumentar muito mais o limite de gás levaria a problemas de centralização da taxa de tio. Então, nós já estamos experimentando o pior e estamos há seis meses.

8

Isso não é sobre as transações que os mineiros aceitam. Estou dizendo que, embora estejam sendo aceitos agora, no futuro qualquer Dapps que só funcione usando taxas baixas não será utilizável a menos que o limite seja elevado ou a descentralização seja sacrificada. Você pode querer começar a procurar em outro lugar por essa funcionalidade. Se você não se importa com a descentralização, isso não se aplica a você. Mas isso é literalmente o ponto de venda da Ethereum agora:

Colocando a lavagem de dinheiro de lado, existem idiotas. CryptoKitties é uma ótima ferramenta para demonstrar isso. Eu realmente gosto de CryptoKitties por causa deste valioso teste decisivo publicamente disponível, e eu não odeio gatos:

7: “A rede Bitcoin tem cerca de 115.000 nós, dos quais cerca de 12.000 são nós de escuta”.

O rápido crescimento do datadir de sincronia chegou a 10GB por mês nos últimos seis meses e não será muito mais alto, mesmo porque aumentar muito mais o limite de gás levaria a problemas de centralização da taxa de tio. Então, nós já estamos experimentando o pior e estamos há seis meses.

9

Além disso, focar no tamanho do nó de arquivamento é altamente falacioso porque (i) você pode ter um tamanho de datadir muito mais baixo, seja ressincronizando uma vez por ano, ou apenas rodando um nó Parity, que remove para você, e (ii) inclui um monte de dados irrelevantes (tecnicamente, todos os estados históricos, mais nós da árvore Patricia) que poderiam ser recalculados do blockchain (abaixo de 50 GB) de qualquer maneira, então você não está nem "jogando fora a história" em nenhum sentido significativo da teoria da informação . E se você estiver * * * * com o histórico de descartes, você pode executar o Parity no modo somente estado e os requisitos de disco caem para menos de 10 GB.

0

Além disso, focar no tamanho do nó de arquivamento é altamente falacioso porque (i) você pode ter um tamanho de datadir muito mais baixo, seja ressincronizando uma vez por ano, ou apenas rodando um nó Parity, que remove para você, e (ii) inclui um monte de dados irrelevantes (tecnicamente, todos os estados históricos, mais nós da árvore Patricia) que poderiam ser recalculados do blockchain (abaixo de 50 GB) de qualquer maneira, então você não está nem "jogando fora a história" em nenhum sentido significativo da teoria da informação . E se você estiver * * * * com o histórico de descartes, você pode executar o Parity no modo somente estado e os requisitos de disco caem para menos de 10 GB.

1

Tudo o que ele faz é contar os nós que não ouvem, assim como os nós de escuta. Contar os dois é mais difícil, então os sites não fazem isso. Da mesma forma, a separação de nós de nó de luz e de validação no Ethereum é mais difícil, portanto, os sites não o fazem.

https://twitter.com/LukeDashjr/status/1001202223009935361

8: “Esse nó do Ethereum conta? 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.

Além disso, focar no tamanho do nó de arquivamento é altamente falacioso porque (i) você pode ter um tamanho de datadir muito mais baixo, seja ressincronizando uma vez por ano, ou apenas rodando um nó Parity, que remove para você, e (ii) inclui um monte de dados irrelevantes (tecnicamente, todos os estados históricos, mais nós da árvore Patricia) que poderiam ser recalculados do blockchain (abaixo de 50 GB) de qualquer maneira, então você não está nem "jogando fora a história" em nenhum sentido significativo da teoria da informação . E se você estiver * * * * com o histórico de descartes, você pode executar o Parity no modo somente estado e os requisitos de disco caem para menos de 10 GB.

2

Admito presumir, mas dizer que minha credibilidade está perdida é um pouco exagerado. Minhas preocupações são legítimas e não devem ser ignoradas. Você pode discordar, mas você precisa argumentar por que discorda, e este e meu artigo anterior apresentam um caso bem claro: os nós de validação são importantes e o Ethereum os negligencia em um nível de protocolo.

9: Quando o seu nó não pode ficar sincronizado, ele é reduzido para um cliente leve.

Além disso, focar no tamanho do nó de arquivamento é altamente falacioso porque (i) você pode ter um tamanho de datadir muito mais baixo, seja ressincronizando uma vez por ano, ou apenas rodando um nó Parity, que remove para você, e (ii) inclui um monte de dados irrelevantes (tecnicamente, todos os estados históricos, mais nós da árvore Patricia) que poderiam ser recalculados do blockchain (abaixo de 50 GB) de qualquer maneira, então você não está nem "jogando fora a história" em nenhum sentido significativo da teoria da informação . E se você estiver * * * * com o histórico de descartes, você pode executar o Parity no modo somente estado e os requisitos de disco caem para menos de 10 GB.

3

Não é falso, você simplesmente pegou literalmente. Todos os comentários on-line sobre os nós das pessoas que estão caindo fora de sincronia fazem com que a pessoa decida usar a sincronização rápida, geralmente depois de ser obrigada por alguém dizendo "está tudo bem". A partir de uma perspectiva reduzida, isso resulta na validação dos nós que estão offlinando os nós de luz on-line, como o diagrama que mostrei acima.

10: “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."

Além disso, focar no tamanho do nó de arquivamento é altamente falacioso porque (i) você pode ter um tamanho de datadir muito mais baixo, seja ressincronizando uma vez por ano, ou apenas rodando um nó Parity, que remove para você, e (ii) inclui um monte de dados irrelevantes (tecnicamente, todos os estados históricos, mais nós da árvore Patricia) que poderiam ser recalculados do blockchain (abaixo de 50 GB) de qualquer maneira, então você não está nem "jogando fora a história" em nenhum sentido significativo da teoria da informação . E se você estiver * * * * com o histórico de descartes, você pode executar o Parity no modo somente estado e os requisitos de disco caem para menos de 10 GB.

4

Além disso, focar no tamanho do nó de arquivamento é altamente falacioso porque (i) você pode ter um tamanho de datadir muito mais baixo, seja ressincronizando uma vez por ano, ou apenas rodando um nó Parity, que remove para você, e (ii) inclui um monte de dados irrelevantes (tecnicamente, todos os estados históricos, mais nós da árvore Patricia) que poderiam ser recalculados do blockchain (abaixo de 50 GB) de qualquer maneira, então você não está nem "jogando fora a história" em nenhum sentido significativo da teoria da informação . E se você estiver * * * * com o histórico de descartes, você pode executar o Parity no modo somente estado e os requisitos de disco caem para menos de 10 GB.

5

A razão pela qual você pode ter certeza do Bitcoin é porque todos os nós são validados . Cada ator participante da rede valida a cadeia, é a única maneira de saber se o próximo bloco é válido sem confiar em mais ninguém. Não há nós de luz no Bitcoin.

No Ethereum existem tantas maneiras ambíguas que os nós interagem uns com os outros que a única maneira de detectar razoavelmente quais nós estão sendo totalmente validados seria solicitar blocos aleatórios do passado para ver se eles têm esse bloco completo, mas a maioria dos nós Ethereum geralmente não t manter a história porque o Ethereum é baseado no estado.

As redes são fundamentalmente diferentes, e é por isso que é fácil pesquisar a rede por Bitcoin e, na melhor das hipóteses, problemático para a Ethereum.

– – –

Além disso, focar no tamanho do nó de arquivamento é altamente falacioso porque (i) você pode ter um tamanho de datadir muito mais baixo, seja ressincronizando uma vez por ano, ou apenas rodando um nó Parity, que remove para você, e (ii) inclui um monte de dados irrelevantes (tecnicamente, todos os estados históricos, mais nós da árvore Patricia) que poderiam ser recalculados do blockchain (abaixo de 50 GB) de qualquer maneira, então você não está nem "jogando fora a história" em nenhum sentido significativo da teoria da informação . E se você estiver * * * * com o histórico de descartes, você pode executar o Parity no modo somente estado e os requisitos de disco caem para menos de 10 GB.

6

1: Está ficando mais difícil com o tempo.

2: Também é meio discutível, considerando os nós de validação de US $ 45.000.

3: Largura de banda em redes de nó de validação que não sejam de US $ 45.000 é certamente importante porque “bem conectado” é perigoso para privacidade, como descrevi acima.

– – –

Além disso, focar no tamanho do nó de arquivamento é altamente falacioso porque (i) você pode ter um tamanho de datadir muito mais baixo, seja ressincronizando uma vez por ano, ou apenas rodando um nó Parity, que remove para você, e (ii) inclui um monte de dados irrelevantes (tecnicamente, todos os estados históricos, mais nós da árvore Patricia) que poderiam ser recalculados do blockchain (abaixo de 50 GB) de qualquer maneira, então você não está nem "jogando fora a história" em nenhum sentido significativo da teoria da informação . E se você estiver * * * * com o histórico de descartes, você pode executar o Parity no modo somente estado e os requisitos de disco caem para menos de 10 GB.

7

Além disso, focar no tamanho do nó de arquivamento é altamente falacioso porque (i) você pode ter um tamanho de datadir muito mais baixo, seja ressincronizando uma vez por ano, ou apenas rodando um nó Parity, que remove para você, e (ii) inclui um monte de dados irrelevantes (tecnicamente, todos os estados históricos, mais nós da árvore Patricia) que poderiam ser recalculados do blockchain (abaixo de 50 GB) de qualquer maneira, então você não está nem "jogando fora a história" em nenhum sentido significativo da teoria da informação . E se você estiver * * * * com o histórico de descartes, você pode executar o Parity no modo somente estado e os requisitos de disco caem para menos de 10 GB.

8

Nada disso importa em uma rede centralizada PoS. É muito perigoso em um sistema PoW a longo prazo. Não há incentivo para manter “outros” nós conectados ou sincronizados “quando eles podem apenas sincronizar os cabeçalhos”. Eles podem estar agindo de forma altruísta agora, mas não há razão para esperar esse comportamento no futuro. É uma proposta perigosa para começar a confiar na honestidade entre os que estão no poder, à medida que essas redes começam a aumentar.

– – –

Além disso, focar no tamanho do nó de arquivamento é altamente falacioso porque (i) você pode ter um tamanho de datadir muito mais baixo, seja ressincronizando uma vez por ano, ou apenas rodando um nó Parity, que remove para você, e (ii) inclui um monte de dados irrelevantes (tecnicamente, todos os estados históricos, mais nós da árvore Patricia) que poderiam ser recalculados do blockchain (abaixo de 50 GB) de qualquer maneira, então você não está nem "jogando fora a história" em nenhum sentido significativo da teoria da informação . E se você estiver * * * * com o histórico de descartes, você pode executar o Parity no modo somente estado e os requisitos de disco caem para menos de 10 GB.

9

Não tenho motivos para acreditar que o limite será reduzido, como deixei claro em todos esses artigos.

– – –

O principal ponto de fragmentação é que a rede pode, teoricamente, sobreviver com o ZERO do que você chama de “nós completos”. E se houver cinco nós completos, esses cinco nós completos não terão nenhum poder extra especial para decidir o consenso; eles apenas verificam mais coisas e assim encontram o caminho para a cadeia correta mais rapidamente, isso é tudo. Os nós formadores de consenso precisam ser apenas nós fragmentados.

0

O principal ponto de fragmentação é que a rede pode, teoricamente, sobreviver com o ZERO do que você chama de “nós completos”. E se houver cinco nós completos, esses cinco nós completos não terão nenhum poder extra especial para decidir o consenso; eles apenas verificam mais coisas e assim encontram o caminho para a cadeia correta mais rapidamente, isso é tudo. Os nós formadores de consenso precisam ser apenas nós fragmentados.

1

Checkpoints têm suas funções, mas você está presumindo um pouco sobre o que eu penso sobre eles. Independentemente disso, os modos de sincronização não importam, eles são bons para você, se é isso que você quer fazer. Minha preocupação, novamente, é o conjunto de nós de validação, e os pontos de verificação apenas endereçam os dados do histórico, não os requisitos de processamento de dados depois de serem sincronizados.

O principal ponto de fragmentação é que a rede pode, teoricamente, sobreviver com o ZERO do que você chama de “nós completos”. E se houver cinco nós completos, esses cinco nós completos não terão nenhum poder extra especial para decidir o consenso; eles apenas verificam mais coisas e assim encontram o caminho para a cadeia correta mais rapidamente, isso é tudo. Os nós formadores de consenso precisam ser apenas nós fragmentados.

2

Concordo.

– – –

O principal ponto de fragmentação é que a rede pode, teoricamente, sobreviver com o ZERO do que você chama de “nós completos”. E se houver cinco nós completos, esses cinco nós completos não terão nenhum poder extra especial para decidir o consenso; eles apenas verificam mais coisas e assim encontram o caminho para a cadeia correta mais rapidamente, isso é tudo. Os nós formadores de consenso precisam ser apenas nós fragmentados.

3

O principal ponto de fragmentação é que a rede pode, teoricamente, sobreviver com o ZERO do que você chama de “nós completos”. E se houver cinco nós completos, esses cinco nós completos não terão nenhum poder extra especial para decidir o consenso; eles apenas verificam mais coisas e assim encontram o caminho para a cadeia correta mais rapidamente, isso é tudo. Os nós formadores de consenso precisam ser apenas nós fragmentados.

4

O principal ponto de fragmentação é que a rede pode, teoricamente, sobreviver com o ZERO do que você chama de “nós completos”. E se houver cinco nós completos, esses cinco nós completos não terão nenhum poder extra especial para decidir o consenso; eles apenas verificam mais coisas e assim encontram o caminho para a cadeia correta mais rapidamente, isso é tudo. Os nós formadores de consenso precisam ser apenas nós fragmentados.

5

Veja acima.

– – –

O principal ponto de fragmentação é que a rede pode, teoricamente, sobreviver com o ZERO do que você chama de “nós completos”. E se houver cinco nós completos, esses cinco nós completos não terão nenhum poder extra especial para decidir o consenso; eles apenas verificam mais coisas e assim encontram o caminho para a cadeia correta mais rapidamente, isso é tudo. Os nós formadores de consenso precisam ser apenas nós fragmentados.

6

Espero que tenham mais de $ 45.000, uma vez que o PoS + Sharding vem. Se a ETH subir, isso é ainda pior. O DASH exige 1000 moedas, era $ 1.000.000 para executar um masternode em um ponto.

– – –

O principal ponto de fragmentação é que a rede pode, teoricamente, sobreviver com o ZERO do que você chama de “nós completos”. E se houver cinco nós completos, esses cinco nós completos não terão nenhum poder extra especial para decidir o consenso; eles apenas verificam mais coisas e assim encontram o caminho para a cadeia correta mais rapidamente, isso é tudo. Os nós formadores de consenso precisam ser apenas nós fragmentados.

7

Eu fiz e não te odeio. As pessoas tendem a considerar minha escrita hostil. Não é.