Artigo

Como fazer uma criptomoeda crescer sem perder a descentralização


Por Blocktrends
Abril 8, 2020

645

No mundo ideal, eu crio uma criptomoeda revolucionária que é 100% descentralizada, 100% escalável para quantos usuários eu quiser de forma rápida e barata e, de quebra, ainda é 100% segura. Na prática, alguns testes mostram que hoje não é simples juntar isso tudo.

  • Resumo da notícia:
    – As transações por segundo possíveis em diferentes criptomoedas variam
    – Máxima escalabilidade nem sempre será o mais desejável
    – A descentralização é um fator central que às vezes briga com a escalabilidade
Por Yan Martins*

Escalabilidade e transações por segundo (tps) são tópicos muito debatidos no mundo das criptomoedas. O Bitcoin pode suportar em torno de 7 tps e muitos dizem que esse é um dos principais motivos pelos quais ainda não houve adoção massificada.

Não vou entrar neste debate agora, já que é bastante longo (e às vezes muito apaixonado), mas a realidade é que muitos projetos baseados na tecnologia blockchain ou derivadas foram criados para resolver esse problema de escalabilidade. Muitos deles afirmam números realmente impressionantes: de 100.000 tps a 300.000 tps.

Embora eu não possa refutá-los sem examinar individualmente cada projeto, é certo que esses números só podem ser alcançados sob certas condições. É importante, então, analisar seus impactos na descentralização da rede, uma característica central das criptomoedas e uma das razões pelas quais o Bitcoin foi criado, em primeiro lugar.

O que significa descentralizado

Na Hathor, protocolo do qual sou um dos co-fundadores, compartilhamos a visão do Bitcoin de descentralização. Para nós, uma rede descentralizada significa que qualquer nó pode entrar nela a qualquer momento, com os mesmos direitos que os outros. Isso significa que não podemos ter validadores, masternodes, coordenadores ou qualquer coisa do tipo. Essas não são verdadeiras soluções descentralizadas. A interrupção de apenas um ou alguns nós não deve interromper a rede (certo, IOTA?).

Além disso, os requisitos para os nós participantes da rede não podem ser altos. O nó deve ser capaz de executar em um único computador – ou seja, sem clusters ou outras formas de dimensionamento horizontal. Isso garante que a rede esteja aberta a todos, não apenas a algumas poucas pessoas ou empresas com acesso a computadores/servidores de última geração.

Qualquer pessoa com um laptop moderno deve poder ingressar na rede. Vamos considerar, então, quantas transações por segundo um computador moderno comum pode suportar.

Tudo sobre blockchain, investimentos e economia.

Assine a nossa newsletter

BLOCKTRENDS

Assine Grátis nossa Newsletter e acompanhe as tendências sobre blockchain, investimentos e economia.

Limites de escalabilidade

Há muitas operações que um nó precisa executar ao receber uma nova transação, mas agora vamos nos concentrar em uma única operação: verificar assinaturas digitais. Toda transação terá pelo menos uma assinatura de entrada para verificar. Isso é algo que toda plataforma de criptomoeda precisa fazer (caso contrário, não são moedas verdadeiramente digitais e descentralizadas).

Vamos examinar a criptografia de curva elíptica secp256k1, a mesma usada pelo Bitcoin. Este teste foi desenvolvido no Python 3.6 e simplesmente verifica assinaturas criptográficas. Como mencionei, esta é uma operação que todas as criptomoedas precisam realizar.

""" Measure the number of operations per second involving digital signatures.
"""

import timeit

# cryptography library uses OpenSSL under the hood
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives import hashes
from cryptography.hazmat.primitives.asymmetric import ec

number = 20000

data = bytes(32)
priv_key = ec.generate_private_key(ec.SECP256K1(), default_backend())
pub_key = priv_key.public_key() 
signature = priv_key.sign(data, ec.ECDSA(hashes.SHA256()))
dt = timeit.timeit('pub_key.verify(signature, data, ec.ECDSA(hashes.SHA256()))', number=number, globals=globals())
print('Verification of digital signatures per second: {:.1f}'.format(number / dt))

Rodamos o teste em um computador com processador Intel 2.7 GHz Core i7 (I7–8559U):

$ python3.6 ./signature_test.py
Verification of digital signatures per second: 2700 

Foi possível verificar 2.700 assinaturas por segundo. Considerando que este processador possui 4 núcleos, podemos chegar a 10.800 operações por segundo, talvez mais com o Hyper-Threading.

Digamos que seja possível alcançar 15.000 operações. Se cada transação tiver apenas uma assinatura a ser verificada, esse processador poderá suportar até 15.000 transações por segundo. Isso apenas considerarando uma das operações que um nó deve executar ao validar uma transação. Muitas outras operações precisam ser executadas e diminuirão esse número.

Além desse limite de processador, outros recursos também desempenham um papel importante no desempenho do nó: memória RAM, velocidade do disco rígido e latência da rede, para citar alguns. No final, o número de transações por segundo que ele pode processar será significativamente menor do que os 15.000 impostos pela verificação de assinatura digital.

Conclusão

Somos muito céticos em relação às criptomoedas que prometem 50.000 ou 100.000 transações por segundo. Na maioria dos casos, eles usam mecanismos como masternodes ou validadores especiais para aumentar seu desempenho, o que não é uma solução realmente descentralizada.

Nos casos em que uma rede não usa nenhum tipo especial de nó e ainda promete números como esses, precisamos realmente investigar as condições sob as quais isso é possível. Vimos que é improvável que os computadores disponíveis hoje processem mais de 15.000 transações por segundo.

A única solução é usar hardware altamente especializado, que não está disponível para a maioria das pessoas e inevitavelmente leva a uma rede centralizada.

Na Hathor, estamos comprometidos em criar uma rede verdadeiramente descentralizada, seguindo o exemplo do Bitcoin. Temos uma arquitetura inovadora que traz incremento frente às dores de escalabilidade do Bitcoin e ainda é capaz de rodar em uma rede distribuída, na qual todos os nós podem participar igualmente.

Se você compartilha nossa visão e deseja fazer parte, pode contribuir com qualquer um de nossos projetos (https://github.com/HathorNetwork).

* Yan Martins é co-fundador e desenvolver sênior na Hathor Network. Engenheiro da Computação pelo IME, com experiência nas áreas de criptoativos, DevOps, web e mobile. Ao longo de sua carreira, atuou em diversas empresas no Brasil e no Vale do Silício.

Tudo sobre blockchain, investimentos e economia.

Assine a nossa newsletter

BLOCKTRENDS

Assine Grátis nossa Newsletter e acompanhe as tendências sobre blockchain, investimentos e economia.

Texto original em inglês disponível em: https://medium.com/hathor-network/on-cryptocurrencies-scalability-and-decentralization-5530748301e6

Para se manter atualizado, siga a QR Capital no Instagram e no Twitter.

645 views
cool good eh love2 cute confused notgood numb disgusting fail
Close Bitnami banner
Bitnami