Dosando o estado, o desafio da escalabilidade do Ethereum – Trustnodes

0


Apesar de um aumento no limite de gás do ethereum, o tamanho do bloco não mudou muito porque não há uma relação completa entre a quantidade de transações e a quantidade de dados.

Isso já foi revelado há algum tempo, quando o ethereum atingiu a capacidade total, apesar de processar apenas metade das transações de todos os tempos.

Obviamente, existe alguma relação entre bytes e gás no ethereum, como pode ser visto acima, e se esse fosse um gráfico de linhas, você verá um aumento geral. No entanto, é um relacionamento um pouco confuso.

O gás no ethereum é uma unidade abstrata de medida de quantos recursos de computação são necessários para executar uma ação.

Como os contratos estão concluídos em Turing, você pode ter intermináveis ​​repetições. O gás coloca um limite para isso e atualmente esse limite é de 12 milhões.

Transações Ethereum, junho 2020

Apesar de um aumento de 50% no limite de gás, as transações no Ethereum ainda estão um pouco longe o tempo todo. Isso ocorre porque grande parte do gás é consumida por transações de token ou transações de contrato inteligente.

Uma transação de token simples requer 80.000 unidades de gás, enquanto para eth são 20.000. Uma transação dapp dependeria, mas frequentemente eles exigem mais unidades de gás do que uma transação de token.

Isso torna as coisas um pouco mais complexas do que no bitcoin, onde uma transação tem apenas 250 bytes ou pode ser a base e, em seguida, cada transação tem 20 bytes.

No ethereum, não existe essa compactação de transações no nível do protocolo e é porque ele usa contas.

Para a rede gerenciar essas contas, ela atualiza todos os blocos que são chamados de estado. Griffin Ichiba Hotchkiss, da Fundação Ethereum, diz:

"O 'estado' completo do Ethereum descreve o status atual de todas as contas e saldos, bem como as memórias coletivas de todos os contratos inteligentes implantados e em execução no EVM.

Todo bloco finalizado da cadeia tem um e apenas um estado, que é acordado por todos os participantes da rede. Esse estado é alterado e atualizado a cada novo bloco adicionado à cadeia. ”

O equivalente muito simplificado de estado para bitcoin é UTXO, ambos conceitos difíceis de entender, com uma descrição simplificada sendo memória (ram) ou um instantâneo da rede, para que todos saibamos quem tem quanto ou qual função de código um contrato contém.

Para sincronizar o ethereum do bloco de gênese, você precisa passar por 400 milhões de 'nós', que de maneira menos confusa podem ser descritos mais como pontos de conexão, que fornecem esses instantâneos com tudo isso levando cerca de uma semana.

A cada bloco, cerca de 3.000 pontos de conexão – que são pequenas compressões de interações ou alterações de conta – precisam ser atualizados por todos os cerca de 10.000 nós para se manter sincronizados.

Isso significa que a memória RAM do computador é mantida constantemente ocupada a cada bloco, a cada 15 segundos, e seu disco também está lendo e gravando em cada bloco essas mudanças que estão acontecendo na rede ethereum.

Portanto, quanto mais alterações houver, mais ocupada sua memória RAM e disco, até que em algum momento haja algum limite para seus recursos e você caia na sincronização.

Você não consegue acompanhar. E isso não está no passado no histórico de downloads, mas no presente no processamento da rede.

A isso é adicionado um artigo do ano passado que revela a difícil tarefa dos codificadores de se envolverem em matemáticas bastante altas para vincular coisas como gás e bytes ou, neste caso, “o custo de execução e os recursos utilizados, como CPU e memória. "

"Descobrimos várias discrepâncias no modelo de medição, como inconsistências significativas no preço das instruções", dizem eles, acrescentando ainda:

“Projetamos um algoritmo genético que gera contratos com uma taxa de transferência em média 200 vezes mais lenta que os contratos comuns.

Em seguida, mostramos que todas as principais implementações de clientes Ethereum são vulneráveis ​​e, se executadas em hardware comum, seriam incapazes de permanecer sincronizadas com a rede quando estão sob ataque. ”

O equivalente em bitcoin aqui seria criar um bloco projetado para ser muito difícil de validar, de modo que seu sistema de mineração de computadores potencialmente trava.

No bitcoin, no entanto, se você fez isso, há uma boa chance de perder sua recompensa de 6,25 bitcoin e se você a manteve como uma piscina, há uma boa chance de perder todos os seus mineiros.

Enquanto na ética, você perderia apenas o custo da publicação do contrato, o que, segundo os pesquisadores, é muito desproporcional aos efeitos que pode ter.

Tornar o dimensionamento da rede ethereum em sua forma atual uma tarefa muito complicada e demorada, se ainda puder ser executado por alguém como PapoBitcoin.com para nossa própria análise interna de blockchain, se quisermos.

Sempre há o Infura, é claro, os nós no provedor de nuvem que alimentam talvez até a maioria das operações de rede ethereum.

Sua incubadora, ConsenSys, recentemente, através de algum tipo de projeto apoiado em parceria com a AMD, criou "a próxima geração de computação descentralizada, armazenamento e largura de banda para o planeta", segundo Joseph Lubin, o fundador.

A solução real, porém, no momento, é o que pode ser chamado de fragmentação em nível de contrato da blockchain.

Soluções de escala Ethereum, junho 2020
Soluções de escala Ethereum, junho 2020

Se focarmos nos três últimos à direita, essas são suas próprias redes e até suas próprias cadeias de blocos que 'conversam' com o ethereum, mas, por enquanto, elas não conversam entre si.

Se a história se repetir, pode ser o primeiro passo para conectar o computador mundial independente a muitos computadores mundiais que ainda estão na mesma página.

Inicialmente, como você deve saber, se você tivesse um laptop, só teria acesso aos dados nesse laptop. Em seguida, uma inovação conectou laptops diferentes, inicialmente por meio de conexões a cabo, e agora você tinha acesso aos dados de seus vizinhos no laptop deles.

Como esses computadores podem conversar, agora podemos permitir que todos tenham acesso aos nossos dados como esta mesma página, sem que todos precisem armazenar nossos dados, a menos que desejemos armazená-los.

No entanto, não precisamos armazená-los, a menos que compartilhemos os dados. Nós só precisamos nos conectar com os outros para que possamos ver o que temos e o que eles têm.

Ou seja, precisamos que o OMG fale com o ZK. Não podemos ter bitcoin conversando com eth porque são protocolos diferentes, mas até mesmo conexões de nós estão acontecendo.

Se conseguirmos que esses clusters de dados conversem entre si, não haverá limite para escalabilidade, desde que todos sejam executados no mesmo protocolo.

Isso é algo que leva tempo, mas se você vê dessa forma, Nakamoto estava obviamente certo, assim como Gregory Maxwell, porque eles estão em níveis de tempo diferentes.

Nakamoto provavelmente estava pensando na evolução geral da tecnologia e, em suas declarações, pensava claramente que ela se desenvolveria da mesma maneira que a Internet, que é um sistema distribuído globalmente.

Enquanto Maxwell estava pensando no presente e apontou, talvez com muita razão, que você não pode pular para o futuro sem fazer muitas, muitas coisas necessárias para chegar lá.

Ou seja, estamos escalando e talvez a tarefa mais difícil já tenha sido concluída. Nesta fase, trata-se mais de sentar e apreciar o nível que necessariamente levará algum tempo.

Direitos autorais PapoBitcoin.com



Leave A Reply

Your email address will not be published.