Principais conclusões:
- A escalabilidade da cadeia de blocos refere-se ao número de transacções que uma rede pode processar por segundo, sendo as soluções financeiras tradicionais, como a Visa e a PayPal, o padrão de ouro atual.
- O rendimento, a finalidade e o tempo de confirmação são os três principais estrangulamentos para a escalabilidade de uma cadeia de blocos. As soluções propostas têm todas como objetivo resolver estes problemas.
- O trilema da escalabilidade da cadeia de blocos (escalabilidade, descentralização, segurança) pode ser um problema difícil de resolver, mas não é algo inabalável.
- As três direcções que as cadeias de blocos estão a seguir para aumentar a sua escalabilidade incluem novos mecanismos de consenso e soluções on-chain e off-chain.
Introdução
A escalabilidade da cadeia de blocos é indiscutivelmente o Santo Graal e o ponto de estrangulamento do mundo das criptomoedas. Refere-se principalmente à velocidade das transacções, uma vez que os tempos de transação actuais de muitas criptomoedas não se comparam aos de outros métodos de pagamento. No entanto, as comunidades criptográficas estão a trabalhar com diferentes teorias sobre a melhor forma de ultrapassar este obstáculo. Neste artigo, analisamos em profundidade os desenvolvimentos promissores que poderão finalmente trazer velocidades de transação quase instantâneas para as criptomoedas.
Por que a escalabilidade é importante: Velocidades de transação de criptomoeda
Enquanto a Visa pode processar até 24.000 transacções por segundo (TPS), a Bitcoin pode processar apenas sete TPS. O Ethereum, o concorrente mais próximo do Bitcoin, pode lidar com 20 a 30 TPS. É evidente que as criptomoedas têm de alcançar as capacidades de transação das finanças tradicionais para serem adoptadas em massa.
Mas porque é que a escalabilidade é tão difícil numa cadeia de blocos? Quais são algumas das direcções que os profissionais do sector estão a ouvir? Este artigo responde a estas e outras questões.
Gargalos: Taxa de transferência, finalidade e tempo de confirmação
Como é que o TPS está relacionado com a velocidade de processamento? O que significa exatamente quando se pergunta se uma moeda criptográfica é escalável? Para responder a estas questões, é necessário compreender primeiro os conceitos de rendimento, finalidade e tempo de confirmação.
Veja esta história:
Uma pessoa está à espera de um autocarro que passa de 10 em 10 minutos. Depois, o autocarro demora 60 minutos a levá-los ao seu destino. No entanto, esta rota em particular é popular e há sempre muitas pessoas a tentar entrar no autocarro.
Passaram dois minutos e o autocarro chegou. Infelizmente, há demasiadas pessoas à frente desta pessoa na fila e o autocarro fica cheio. Agora têm de esperar mais 10 minutos para poderem iniciar a sua viagem, que pode ser resumida da seguinte forma:
É de notar que:
- Medir o rendimento (TPS) não é suficiente – o tempo de confirmação também deve ser considerado. Simplificando, um protocolo que pode processar até 100.000 TPS é ótimo. No entanto, se o tempo de confirmação for de dois dias, isso não será suficiente para uma utilização quotidiana.
- Quando há congestionamento na rede, o débito não diminui (uma vez que o autocarro continua a poder transportar sete passageiros por minuto), mas o tempo de confirmação aumenta devido ao maior tempo médio de espera no primeiro bloco.
- O carácter definitivo é fixo: existe um período de espera de “confirmação de seis blocos” para garantir que o bloco não é reversível. O tempo médio de espera no primeiro quarteirão varia consoante a situação.
O trilema da escalabilidade da cadeia de blocos
O trilema da escalabilidade da cadeia de blocos é um dos maiores obstáculos para a moeda criptográfica. Afirma que as cadeias de blocos só podem atingir simultaneamente duas das seguintes características: descentralização, escalabilidade ou segurança – mas nunca as três. Por conseguinte, as soluções de compromisso são inevitáveis. O trilema foi originalmente cunhado por Vitalik Buterin, o fundador do Ethereum.
No entanto, o trilema da escalabilidade não é definitivo, pois é uma observação das comunidades Buterin e Web3. Apesar da dificuldade de resolver o trilema, é possível que exista um algoritmo… a menos que alguém tenha provado que é impossível.
1) Descentralização
A descentralização refere-se ao grau de diversificação da propriedade, da influência e do valor numa cadeia de blocos. As moedas criptográficas são geralmente descentralizadas, uma vez que nenhuma parte pode governar toda a rede. No entanto, a descentralização é um espetro e não um “sim ou não” binário, uma vez que existem diferentes níveis de descentralização em vários projectos de cadeias de blocos, incluindo a Bitcoin e a Ethereum.
2) Segurança
A segurança é o nível de defensibilidade e resistência à adulteração que uma cadeia de blocos tem contra ataques de fontes externas. Existem muitos vectores de ataque num sistema de cadeias de blocos, incluindo gastos duplos, negação de serviço distribuída(DDoS) e ataques de 51%.
Em geral, uma maior liberdade (ou seja, entrada/saída livre da rede) resulta numa maior descentralização mas numa menor segurança. Isto deve-se ao facto de ser difícil verificar a identidade dos novos participantes, que podem ser propriedade de uma única entidade maliciosa ou estar em conluio para causar danos a uma rede.
3) Escalabilidade
A escalabilidade determina a capacidade da rede, incluindo o número de nós que tem, o número de transacções que pode processar e a rapidez com que as pode processar, entre outros factores.
O termo escalabilidade é por vezes confuso porque a cadeia de blocos da Bitcoin é escalável quando novos participantes se juntam à rede. O sistema Proof of Work (PoW) ajusta automaticamente a dificuldade da exploração mineira e a rede pode tolerar qualquer número de nós que nela existam.
O ditado comum de que “a Bitcoin não é escalável” centra-se no seu rendimento. Recorde-se que o seu TPS é apenas sete, o que não é suficientemente elevado para uma utilização prática. A velocidade de finalização da Bitcoin é outra questão. Esperar 60 minutos para confirmar que uma compra é válida está definitivamente longe de ser o ideal.
Aumentar a escalabilidade da cadeia de blocos
O escalonamento de uma cadeia de blocos é complicado, e há inúmeros esforços de investigadores e empresas para resolver o trilema. Em geral, acreditamos que existem três direcções para a escalabilidade da cadeia de blocos:
- Camada-1 (na cadeia)
- Camada 2 (fora da cadeia)
- Outros mecanismos de consenso
Soluções de camada 1 (na cadeia)
As soluções da camada 1 requerem a alteração da base de código da cadeia de blocos (por conseguinte, “na cadeia”). Uma solução de escalabilidade na cadeia representa uma mudança estrutural ou fundamental para uma cadeia de blocos. Aqui, discutimos duas soluções de escalonamento na cadeia: SegWit e sharding.
Testemunha Segregada (SegWit)
O SegWit é uma atualização do protocolo para a Bitcoin que altera a forma e a estrutura de como os dados são armazenados. A intenção original do SegWit era resolver o problema da maleabilidade das transacções, uma vez que a assinatura digital que verifica a propriedade e a disponibilidade dos fundos do remetente ocupa muito espaço numa transação.
Com o SegWit, a remoção dos dados de assinatura para cada transação liberta mais espaço e capacidade para as transacções estarem contidas nos blocos de armazenamento de 1 MB da Bitcoin, permitindo que mais transacções sejam incluídas num bloco. O SegWit já foi implementado no Litecoin.
Embora o SegWit aumente a taxa de transferência e ajude o Bitcoin a processar mais transacções, não é uma solução de escalonamento sustentável. Não é uma solução de escalonamento genérica e só pode ser aplicada à única blockchain baseada em Bitcoin que existe. Embora o SegWit permita ao Bitcoin processar mais transacções, não reduz o tempo de confirmação de cada transação.
Fragmentação
A fragmentação é uma forma de particionamento da base de dados, também conhecida como particionamento horizontal. É um processo de divisão de uma vasta base de dados em segmentos mais pequenos e mais fáceis de gerir, com a ideia de melhorar o desempenho e reduzir o tempo de resposta da consulta.
A Blockchain é uma base de dados distribuída e, se aplicarmos o sharding a uma blockchain, a rede é dividida em diferentes segmentos. Cada segmento é regido por determinados nós que lhe foram atribuídos. Por este motivo, o rendimento do sistema melhora consideravelmente, uma vez que, arbitrariamente, muitos clusters de nós estão a funcionar em paralelo para processar as transacções.
Soluções de camada 2 (fora da cadeia)
As soluções de escalabilidade da camada 2, ou soluções fora da cadeia, adicionam uma segunda camada à rede principal da cadeia de blocos (também conhecida como cadeia principal) para facilitar transacções mais rápidas. Os protocolos secundários são construídos em cima da cadeia principal, onde as transacções são “descarregadas” para poupar espaço e reduzir o congestionamento da rede.
Cadeias laterais
Uma sidechain é uma cadeia de blocos separada ligada à cadeia principal, em que os activos são transaccionados entre a cadeia principal e as sidechains a taxas pré-determinadas, utilizando uma ligação bidirecional. As cadeias laterais são utilizadas para descarregar da cadeia principal, transferindo para elas determinadas aplicações; estão entre as soluções mais promissoras para o problema da escalabilidade se a comunicação entre cadeias de blocos se tornar mais eficiente.
Várias cadeias laterais podem ser ligadas à cadeia principal, e cada cadeia lateral pode ter a sua própria arquitetura. Pode ser criada uma rede de sidechains com uma mainchain, em que a mainchain actua como uma rede de retransmissão e as sidechains representam uma rede de blockchain. Plasma (Ethereum) e Parachain (Polkadot) são soluções de escalonamento populares que utilizam sidechains e relés.
Canais de pagamento
Um canal de pagamento é uma rede off-chain que funciona paralelamente à mainchain. A ideia é estabelecer um canal entre duas partes que pretendam efetuar transacções.
Todas as transacções que ocorrem dentro do canal são fora da cadeia, e não é necessário consenso global. Como resultado, estas transacções são executadas rapidamente através de um contrato inteligente, geralmente com taxas mais baixas. Um canal de pagamento típico inclui três fases:
Primeira fase: Estabelecer o canal através da assinatura e do financiamento.
Segunda fase: Transacções peer-to-peer (P2P) que ocorrem no canal.
Terceira fase: O canal é fechado e o estado final da cadeia principal é transmitido.
Existem várias concepções diferentes para os canais de pagamento. A Lightning Network (Bitcoin) e a Raiden Network (Ethereum) são implementações populares de canais de pagamento.
Mecanismos de consenso e a sua importância para a velocidade das transacções
A dificuldade de escalar uma cadeia de blocos deve-se principalmente ao seu mecanismo de consenso, uma vez que exige que todos os participantes na rede cheguem a acordo sobre quais as transacções válidas. Embora a Bitcoin possa escalar para um grande número de participantes (nós), não pode escalar para um grande número de transacções.
Assim, alguns mecanismos de consenso alternativos surgiram como tentativas de resolver o problema. Apresentamos três a seguir: Nakamoto, Clássico e Sem Líder.
Mecanismos de consenso de Nakamoto
O mecanismo de consenso PoW de Satoshi Nakamoto abriu uma nova direção para resolver o Problema dos Generais Bizantinos numa configuração sem permissões. Após o desenvolvimento do mecanismo de consenso PoW, surgiram muitos novos algoritmos de consenso. Estas incluem a Prova de Participação(PoS), a Prova de Autoridade (PoA), a Prova de Reputação (PoR) e a Prova de Importância (PoI).
Em geral, estes são classificados como mecanismos de consenso Nakamoto.
Mecanismos clássicos de consenso
Os mecanismos clássicos de consenso são os algoritmos tradicionais que foram objeto de investigação antes da invenção da Bitcoin. Centram-se em conjuntos fixos de pares com várias rondas de votação para chegar a um consenso em toda a rede. Exemplos de redes que utilizam mecanismos de consenso clássicos incluem Paxos, Raft e pBFT.
Após a invenção do Bitcoin, os mecanismos clássicos de consenso também evoluíram, com novas variações como o BFT delegado (dBFT), o BFT federado (fBFT), o Tendermint, entre outros. Estes mecanismos são mais adaptáveis a um ambiente sem permissões.
Mecanismos de consenso sem líderes
Tanto os mecanismos de consenso tradicionais (tipo BFT) como os de Nakamoto (tipo PoW) são baseados em líderes, exigindo que toda a rede eleja um líder para propostas de blocos, transacções, estados do livro-razão e outros, antes de o resto da rede poder votar se concorda ou não com a proposta.
No entanto, há uma direção emergente que utiliza mecanismos de consenso sem líderes, em que todos os participantes na rede podem apresentar transacções recentes, que são depois espalhadas como boatos pela rede. Eventualmente, a cadeia de blocos decide por consenso quais as transacções a incluir. Exemplos de projectos que utilizam um mecanismo de consenso sem líder incluem Avalanche, IOTA e NKN.
Embora os mecanismos de consenso sem líderes pareçam oferecer um caminho para resolver o trilema da escalabilidade, a maioria é atualmente experimental.
Para uma discussão mais aprofundada sobre os princípios subjacentes aos mecanismos de consenso, leia Como chegar a um acordo: Diferentes tipos de consenso para Blockchain.
Palavras finais sobre soluções de escala
Apesar dos grandes obstáculos que a cadeia de blocos ainda tem de ultrapassar, nomeadamente o trilema da escalabilidade, existem várias soluções potenciais para aumentar os tempos de transação, incluindo a fragmentação e a Lightning Network, para além das que estão a ser propostas pela comunidade. Para uma leitura mais aprofundada, consulte os nossos mergulhos profundos em sidechains e mecanismos de consenso.
Diligência devida e fazer a sua própria investigação
Todos os exemplos apresentados neste artigo têm um carácter meramente informativo. O utilizador não deve interpretar essas informações ou outros materiais como aconselhamento jurídico, fiscal, de investimento, financeiro ou outro. Nada aqui contido constituirá uma solicitação, recomendação, endosso ou oferta da Crypto.com para investir, comprar ou vender quaisquer moedas, tokens ou outros activos criptográficos.
O desempenho passado não é uma garantia ou um indicador do desempenho futuro. O valor dos activos criptográficos pode aumentar ou diminuir, e pode perder a totalidade ou um montante substancial do seu preço de compra. Ao avaliar um ativo criptográfico, é essencial que faça a sua investigação e a devida diligência para fazer o melhor julgamento possível, uma vez que quaisquer compras serão da sua exclusiva responsabilidade.