Bloat de Blockchain

Por que confiar em nós

Inchaço de blockchain é uma situação que pode ocorrer quando um blockchain cresce tanto que os nodes de rede ponto a ponto (P2P) que dão suporte ao livro-razão distribuído não conseguem mais armazenar, processar e compartilhar os dados do livro-razão de forma eficiente. Assim, para saber exatamente como funciona e o que é Bloat de Blockchain, continue lendo nosso artigo. 

Como funciona o Blockchain

Blockchains são livros-razão descentralizados e distribuídos que registram transações de forma sequencial e permanente. As transações são agrupadas em blocos de armazenamento, e os blocos são vinculados em uma cadeia.

Cada bloco contém um conjunto de transações, um timestamp, uma referência ao bloco anterior e outros metadados.

Antes de um bloco ser adicionado à cadeia, ele passa por um processo de consenso que requer que os nós da rede concordem programaticamente sobre o conteúdo e a validade do novo bloco. As especificidades desse processo podem diferir dependendo do tipo de blockchain e seu mecanismo de consenso subjacente.

Uma vez que um bloco é adicionado ao blockchain, seu conteúdo é considerado imutável. Embora seja tecnicamente possível alterar o conteúdo de um bloco, é computacionalmente caro e praticamente inviável fazê-lo porque cada bloco no blockchain é vinculado ao anterior por meio de um hash criptográfico.

Qualquer alteração no conteúdo de um bloco alterará seu hash e quebrará o link com os blocos subsequentes.

Problemas de escalabilidade do blockchain

À medida que um blockchain é usado e mais transações são adicionadas ao livro-razão distribuído, são necessários mais recursos e mais tempo para que os nós da rede processem, armazenem e validem todo o histórico da cadeia cada vez que um novo bloco é adicionado à cadeia. Esse problema de escalabilidade pode ser agravado pelo acúmulo adicional de microtransações, transações de poeira de baixo valor e a inclusão de blocos vazios ou quase vazios.

O crescimento contínuo causou inchaço, o que pode dificultar que usuários individuais ou participantes de pequena escala tenham acesso aos recursos de armazenamento e computação necessários para manter nós completos e acompanhar o processamento de novos blocos e transações.

Um problema adicional é que o inchaço não só cria uma experiência ruim para o usuário, como também cria uma divisão digital no ecossistema blockchain. Quando a participação é limitada apenas àqueles que podem pagar para usar a rede, ela centraliza a atividade da rede e enfraquece os princípios de descentralização e inclusão.

Esse problema pode ser agravado em blockchains onde a ordem das transações sendo realizadas pode ser influenciada por taxas. Mesmo o que parece um pequeno aumento nas taxas (em termos de USD ou outras moedas principais) pode ser significativo para usuários em regiões com menor poder de compra, efetivamente precificando alguns participantes para fora da rede.

Soluções de escalabilidade de blockchain

A comunidade blockchain está ciente dessas preocupações, e várias soluções foram propostas para mitigar o inchaço do blockchain e suas implicações. Elas incluem:

Poda de blockchain : A poda envolve a redução dos dados armazenados no blockchain para reduzir os requisitos de armazenamento de longo prazo. Os nós podados mantêm apenas os dados necessários para validar novas transações e manter o estado atual do blockchain. Muitas das soluções propostas para reduzir o inchaço envolvem algum tipo de estratégia de poda.

Rollups : Rollups envolvem o processamento de múltiplas transações off-chain e então a combinação (rolling up) das transações em uma única transação ou prova que é postada na cadeia principal. Muitas das soluções propostas para reduzir o inchaço envolvem algum tipo de estratégia de rollup.

Sidechains : Uma sidechain é uma blockchain separada e paralela à blockchain principal (mainchain). Ela opera de forma independente, mas pode se comunicar com a mainchain para permitir que ativos sejam transferidos entre elas. Sidechains podem ter seus próprios mecanismos de consenso e podem ser adaptadas para usos específicos. Muitas das soluções propostas para reduzir o inchaço envolvem algum tipo de sidechain.

Sharding : Sharding envolve dividir o blockchain em pedaços menores, cada um dos quais é capaz de processar suas próprias transações e contratos inteligentes. Essa abordagem melhora o processamento paralelo ao permitir que cada shard manipule um subconjunto de transações de forma independente. Muitas das soluções propostas para reduzir o inchaço envolvem algum tipo de estratégia de sharding que processa várias transações em diferentes shards simultaneamente.

Canais de estado: Um canal de estado é um canal de comunicaçãode Camada 2 de duas ou várias partes que permite aos participantes conduzir um número ilimitado de transações sem comprometer cada uma delas com o blockchain da Camada 1. Normalmente, duas partes bloqueiam fundos em um contrato inteligente e, em seguida, transacionam entre si assinando transações que fazem referência a esse valor bloqueado. Quando as partes terminam de transacionar, o estado final de suas transações é comprometido com o blockchain. A Lightning Network para Bitcoin e a Raiden Network para Ethereum são exemplos de canais de estado projetados para reduzir o inchaço.

Árvores Merkle : Árvores Merkle podem estruturar dados de blockchain em uma árvore na qual cada nó folha contém um hash de um bloco de dados, e cada nó não folha contém um hash de seus filhos. Apenas a raiz Merkle (o hash de todos os hashes de todas as transações individuais em um bloco) precisa ser armazenada por cada participante.

Sistemas Delegados : Os sistemas de prova de participação delegada (DPoS) permitem que um pequeno número de validadores confiáveis ​​produzam blocos. Reduzir o número de validadores pode agilizar a produção de blocos e, em teoria, melhorar a escalabilidade do blockchain. A compensação, no entanto, é que essa estratégia também pode introduzir um nível de centralização.

Armazenamento Diferencial : Em vez de armazenar repetidamente blocos inteiros, as técnicas de armazenamento diferencial armazenam apenas as diferenças entre eles. Essa abordagem para reduzir o inchaço é controversa porque, se for necessário, reconstruir os dados originais pode introduzir uma sobrecarga computacional significativa.

Provas de Conhecimento Zero (ZKPs) : sistemas de prova de conhecimento zero como zk-STARKs permitem que transações sejam verificadas sem revelar seus detalhes. Esta é outra solução para mitigar o inchaço que envolve reduzir a quantidade de dados que precisam ser armazenados na cadeia.

Segregated Witness (SegWit) : Segregated Witness permite que mais transações caibam em um bloco ao separar os dados da testemunha (os dados da assinatura) da parte principal de uma transação. Isso aumenta efetivamente a capacidade de cada bloco sem aumentar o tamanho do bloco tradicional.

Aumentando o tamanho do bloco : Ao longo dos anos, a ideia de aumentar o tamanho dos blocos de armazenamento para melhorar a escalabilidade e reduzir o inchaço tem sido a fonte de muita controvérsia dentro da comunidade de criptomoedas. Em teoria, se cada bloco fosse maior, isso poderia potencialmente permitir que um blockchain lidasse com um volume maior de transações dentro do mesmo período de tempo, diminuísse a fila de transações pendentes (mempool) e encurtasse as durações de espera.

Bloat de Blockchain e Bitcoin Cash

Em 2013, conforme o Bitcoin ganhava consciência pública, o limite de tamanho de bloco de 1 MB começou a levar ao congestionamento, causando atrasos nos tempos de confirmação e aumento nas taxas de transação. Dois pontos de vista primários surgiram conforme a necessidade de escalabilidade se tornou mais aparente.

Um ponto de vista era simplesmente aumentar e permitir mais transações por bloco aumentando o tamanho do bloco. O outro ponto de vista era otimizar a estrutura de bloco existente manipulando algumas transações fora do blockchain principal.

Os dois pontos de vista não puderam ser reconciliados e, em 2017, a facção da comunidade que queria adotar um tamanho de bloco maior se separou. O hard fork resultante é chamado Bitcoin Cash .

Margaret Rouse
Technology Specialist
Margaret Rouse
Especialista em Tecnologia

Margaret é uma premiada redatora e professora conhecida por sua habilidade de explicar assuntos técnicos complexos para um público empresarial não técnico. Nos últimos vinte anos, suas definições de TI foram publicadas pela Que em uma enciclopédia de termos tecnológicos e citadas em artigos do New York Times, Time Magazine, USA Today, ZDNet, PC Magazine e Discovery Magazine. Ela ingressou na Techopedia em 2011. A ideia de Margaret de um dia divertido é ajudar os profissionais de TI e de negócios a aprenderem a falar os idiomas altamente especializados uns dos outros.