O que é escalabilidade vertical e horizontal?

A escalabilidade vertical é baseada na expansão de uma rede a partir da adição de mais energia e memória à unidade de processamento principal do sistema, enquanto a escalabilidade horizontal envolve a adição de mais nodes (ou seja, máquinas) à estrutura de um sistema já existente.

Ao lidar com o assunto escalabilidade, é importante entender que o conceito geralmente é invocado quando busca-se aumentar a capacidade de transação de uma plataforma específica.

A escalabilidade vertical em relação a uma arquitetura cliente-servidor tradicional significa atualizar o hardware existente do sistema para incorporar mais poder de processamento e memória. Na mesma linha, a escalabilidade horizontal está relacionada à alteração da estrutura principal da plataforma - para estabelecer um cluster de servidores capazes de lidar com um número maior de solicitações de transações com facilidade.

Vertical and horizontal blockchain scaling

A escalabilidade funciona bem em blockchains?

A escalabilidade funciona melhor com bancos de dados tradicionais. No entanto, do ponto de vista da segurança, as blockchains escaláveis são muito mais úteis e pragmáticas - mas há outros fatores envolvidos.

Ao incorporar o conceito de escalabilidade no contexto da tecnologia blockchain, é preciso ter em mente que, como os sistemas blockchain já são redes distribuídas, é mais difícil aprimirar o desempenho geral de uma rede adicionando mais entidades de hardware - como mineradores, nodes ou validadores - para isso.

Para ser um pouco mais específico, enquanto a escala horizontal tende a aumentar a confiança ou a segurança de uma rede, ela geralmente também resulta na degradação do desempenho geral (capacidade de processamento de transações) do sistema.

Por outro lado, a escala vertical geralmente implica tornar cada componente interno de um sistema mais rápido e mais forte. Do ponto de vista de um sistema de registro distribuído, isso envolve o uso de nodes de supercomputadores. No entanto, a desvantagem de tudo isso é que apenas alguns indivíduos selecionados serão capazes de executar esses nodes.

Como é feita a escalabilidade?

A escalabilidade vertical é feita melhorando a eficiência de cada transação individual, enquanto a escalabilidade horizontal é alcançada através do aumento da capacidade geral de produtividade da plataforma.

Em termos simples, as melhorias gerais de escalabilidade são conquistadas através do uso de um conceito chamado "layering" (um verbo em inglês que implica a justaposição de camadas) - em que cada componente individual de um sistema específico é criada uma camada para interagir com suas contrapartes digitais de algum modo seqüencial e hierárquico.

Além disso, quando o assunto é blockchain, os desenvolvedores esforçam-se para manter a integridade de sua cadeia-base, o que, por sua vez, permite que a camada de escalabilidade aproveite a segurança da cadeia principal. Um exemplo que destaca perfeitamente este conceito é o da Lightning Network - uma tecnologia que aproveita a segurança do Bitcoin para aumentar a taxa de transferência geral de transmissão do sistema.

Relacionados: O que é Lightning Network?

Agora, ao lidar com a escalabilidade horizontal e vertical, podemos ver que a primeira é implementada a partir da adição de mais clusters ou máquinas virtuais a um sistema - para lidar com uma carga crescente de transações. A escala vertical, por outro lado, é alcançada adicionando mais poder de processamento (ou memória) a uma máquina virtual existente para aumentar a capacidade de processamento.

Por isso, a próxima atualização da Ethereum 2.0 é muito aguardada, por buscar melhorar a capacidade transacional geral do projeto por meio de várias mudanças de design diferentes - com uma das principais sendo o sharding.

Ao implementar essas mudanças, a estrutura principal da Ethereum será transportada de um único ambiente de execução para diversos ambientes de execução, que validarão as transações de forma sincrônica.

Quando usar escalabilidade horizontal ou vertical?

A escalabilidade vertical pura limita sua eficácia, mas é relativamente mais fácil de ser obtida. A escalabilidade horizontal ajuda a melhorar a taxa de transferência geral de um sistema, mas leva mais tempo para se desenvolver.

Para entender melhor o problema, é possível examinar o desempenho de gargalos de um sistema. Um gargalo representa uma situação em que uma demanda excessiva é aplicada em um sistema específico para analisar o desempenho geral da plataforma e de que forma ela pode ser severamente afetada.

Por exemplo, se houver um problema com a memória local da máquina virtual, não sendo esta suficiente para processar todas as transações recebidas, uma escalabilidade vertical poderá ajudar a corrigir o problema - porque, adicionando memória adicional à estrutura, a carga geral pode ser reduzida.

Vertical and horizontal blockchain scaling

Por outro lado, se uma carga de transação excessiva não puder ser processado pelo hardware de uma plataforma, ao empregar uma escalabilidade horizontal (ou seja, adicionando unidades de processamento adicionais), será possível corrigir o problema.

Para ilustrar o conceito acima mencionado da maneira mais simples possível, Jonathan R. Brandt, líder de iniciativas de tecnologia empresarial que foi pioneiro de um estudo de blockchain que atualmente está sendo ministrado em várias faculdades e universidades do estado de Minnesota, disse ao Cointelegraph:

“No combate ao crime, o Hulk escala verticalmente e a Liga da Justiça horizontalmente. No Bitcoin, um servidor de mineração pode ser escalado verticalmente, aumentando a memória ou atualizando sua GPU, e pode ser escalado horizontalmente, unindo servidores ”.

Existem boas soluções de escalabilidade de blockchain?

Nos últimos anos, várias empresas trabalharam para resolver problemas de escalabilidade que afetaram o setor de criptografia.

A LiquidApps, da vCPU, por exemplo é uma solução de dimensionamento horizontal que foi projetada para permitir que os desenvolvedores obtenham acesso a um maior suprimento de poder computacional descentralizado, encarregando os provedores de serviços de aplicativos descentralizados (DApp) a ler solicitações on-chain, executar o processamento e enviar os resultados de volta para o DApp. Um dos maiores pontos de venda da vCPU é sua capacidade de permitir que o DApps escolha o nível de falta de confiança que é apropriado e adequado de acordo com as necessidades e requisitos de um caso de uso específico.

Outro exemplo é o EOS. O objetivo principal do EOS é resolver muitos dos problemas de escalabilidade existentes no setor. O principal ponto de diferença do EOS para a vCPU é sua tecnologia de processamento paralelo, possível graças ao uso de elementos relacionados à escalabilidade vertical (ou seja, maior poder de processamento).

Por outro lado, o protocolo temporal de Temtum garante que os dados possam ser compartilhados entre os nós, mesmo que o nó atual não tenha o espaço de armazenamento necessário para armazenar toda a blockchain - reduzindo assim a barreira de entrada para novos nós que ingressam na rede.

O custo de participação da rede é baixo, portanto, a quantidade de recursos necessários para executar os nós também é baixa, possibilitando a utilização total dos recursos de nós ociosos (algo que a maioria das criptomoedas atualmente não pode fazer), aumentando assim a desempenho geral.

Outros exemplos relevantes incluem Ziliqa, ETH 2.0, um Iota.

Quais são os principais fatores da escalabilidade?

É tudo sobre centralização ou descentralização.

Para plataformas blockchain, a escalabilidade de uma determinada cadeia geralmente se resume ao nível de descentralização da rede. Ecossistemas altamente descentralizados (como o do Bitcoin) são bastante lentos, enquanto as redes mais centralizadas (como a EOS, com seus 21 produtores de bloco) são muito mais rápidas.

Portanto, ter menos nodes produzindo blocos geralmente torna as coisas mais rápidas. No entanto, a centralização reduz as propriedades próprias do conceito de blockchain - a saber, sua posição contrária à censura e a favor da transparência e imutabilidade amplas.