Toda a tecnologia tem suas limitações. O blockchain, a tecnologia que está por trás das Criptomoedas, não é diferente.
Hoje, o Bitcoin gera um conjunto novo de transações a cada 10 minutos. O Ethereum, segunda rede em valor de mercado, a cada 3 segundos. Seria possível melhorar isto até um ponto em que o tempo de espera fosse zero? A tecnologia permitiria isso?
Em um post no seu blog, Vitalik Buterin, um dos criadores da rede Ethereum, tenta responder justamente isto e o texto de hoje tenta deixar mais “mastigado” o que ele escreveu.
Segundo Buterin, a atual limitação no número de transações por segundo não é um problema do blockchain em si, mas dos computadores ligados à rede. Poderíamos aumentar a capacidade imediatamente, mas, por mais incrível que possa parecer, NÃO queremos isso.
Explicando melhor.
A diferença do blockchain para outros sistemas de armazenamento de dados é a descentralização.
No blockchain, qualquer usuário é capaz de baixar uma cópia dos registros, validá-los e, inclusive, recusá-los caso não estejam de acordo com as regras. Se um número suficiente de usuários concordar que tem algo de errado, eles têm o poder de mudar a história.
Essa descentralização é o que faz os blockchains e as Criptomoedas por extensão serem instrumentos de liberdade e resistência à censura. Por exemplo, se um ditador quiser apagar os dados sobre um certo grupo insurgente, usuários comuns ainda podem impedir que isso aconteça.
Quanto mais descentralizada a rede, mais resistente ela será a este tipo de ataque.
No entanto, para que os usuários possam exercer esse seu poder, eles precisam ser capazes de (i) se comunicar com a rede a uma taxa de razoável,
(ii) processar registros em uma velocidade mais alta do que a criação dos mesmos e
(iii) armazenar um histórico de transações de tamanho crescente localmente.
Pode parecer banal, mas existe uma relação direta entre a quantidade de transações processadas e a demanda por estes 3 pontos (conexão de internet, capacidade de processamento e armazenamento).
Então, se simplesmente dobrarmos a capacidade da rede, muitos computadores pessoais perderão a capacidade de se manterem sincronizados. Isto aumentaria a centralização, justamente o que queremos evitar.
Se demandar mais recursos não é uma opção, a única alternativa seria aumentar a eficiência do sistema e isto é difícil. Por exemplo, você conseguiria fazer o dobro de coisas por dias sem mudar a sua estrutura de vida? Isso seria fácil? Felizmente existem alternativas (para os blockchains pelo menos).
Dentre todas as melhorias capazes de gerar ganho de eficiência, Buterin está mais animado com o sharding, uma estratégia prevista para o Ethereum 2.0. A ideia básica seria paralelizar a rede, com usuários processando um conjunto diferente de transações (cada grupo é chamado de shard).
As propriedades mágicas da criptografia garantiriam que o sistema todo ficasse sincronizado e seguro. Obviamente este conceito também tem suas limitações (a partir de um certo ponto, paralelizar começa a perder eficiência), mas com esta técnica seria possível alcançar uma taxa de milhões de transações por segundo e isto deve ser suficiente por uns bons anos.
Pode parecer um pouco frustrante que as Criptomoedas ainda sejam um pouco lentas. Por exemplo, dez minutos para o pagar alguém inviabiliza diversas aplicações do dia a dia. No entanto, melhorias já em desenvolvimento devem trazer este tempo de espera para números aceitáveis. Meu palpite, no entanto, é que as Criptomoedas nunca serão tão rápidas se comparadas a sistema centralizados, como uma Visa ou Mastercard, mas esse é o custo da descentralização e da liberdade.