Algoritmo de Consenso Leased Proof of Stake

Compartilhar
Algoritmo de Consenso Leased Proof of Stake
Ouça este artigo
00:00 / 00:00

Algoritmo de Consenso Leased Proof of Stake e o protocolo Waves-NG 

Autor: Guy Brandon, colaborador da Waves.

A plataforma Waves opera em um algoritmo de consenso leased proof-of-stake (LPoS) combinado com o protocolo Waves-NG, permitindo um alto grau de escalabilidade e taxa de transferência de transações.


Introdução

A plataforma Waves foi lançada em 2016 após uma ICO (Inicial Coin Offering) que arrecadou 30,000 BTC – cerca de $16 milhões na época. O projeto está desenvolvendo um abrangente ecossistema de blockchain para uso em processos de negócios, com um amplo conjunto de ferramentas cobrindo diversas necessidades - incluindo a fácil criação de tokens de criptomoedas personalizados; contratos inteligentes diretos; negociação peer-to-peer em uma exchange integrada e descentralizada (DEX); e um meio seguro e conveniente de interagir com o dApps e serviços da Web por meio do plug-in do navegador Waves Keeper.


Escalabilidade

Desde o início, a Waves reconheceu que a escalabilidade seria necessária para a adoção massiva da blockchain e priorizou o desenvolvimento de tecnologias para lidar com as limitações das blockchains existentes. Por exemplo, a Bitcoin é altamente segura, mas relativamente lenta e só pode suportar cerca de 7 transações por segundo (TPS). Assim sendo, a Bitcoin não é eficiente o bastante para ser usada como moeda cotidiana em todo o mundo. Soluções secundárias, como a rede Lightning Network, são necessárias para que a Bitcoin atenda a esse propósito. A Waves adotou uma abordagem diferente, concentrando-se inicialmente em alta escalabilidade na cadeia antes de considerar aplicativos de segundo nível.


Arrendamento de saldo (Balance leasing)

algoritmo de consenso original da Waves era uma simples implementação Proof of Stake. Todos os 100 milhões de tokens WAVES foram distribuídos após a ICO e o fornecimento é fixo: não há inflação como nas moedas mineradas pelo algoritmo PoW. Portanto, os validadores de bloco da Waves recebem as taxas de transação dos blocos que processam mas, ao contrário de mineradores PoW, não recebem recompensas de bloco (block reward). Esses validadores também podem ser chamados de forjadores (forgers), mas no ecossistema Waves são mais conhecidos como mineradores mesmo.

O sistema Leased Proof of Stake (LPoS) foi completamente lançado em Maio de 2017, permitindo que os usuários do Waves lite – aqueles que não executaram um  completo – concedessem seus tokens WAVES aos nós de mineração. Os tokens WAVES arrendados/alugados são bloqueados na conta do usuário e não podem ser transferidos ou negociados. Ainda assim, os tokens permanecem no controle total do titular da conta e as locações podem ser canceladas a qualquer momento. Dadas as sobrecargas técnicas associadas à execução de um nó de mineração e a necessidade de estar on-line 24 horas por dia, somente uma proporção relativamente pequena da comunidade Waves executa nós (uma lista dos criadores de blocos pode ser encontrada em http://dev.pywaves.org/generators/). 

Tokens WAVES que são alugados para um nó de mineração são usados para aumentar a proporção de moedas usadas no no processo de staking, aumentando as chances do minerador de encontrar o próximo bloco. O sistema Leased Proof of Stake melhora a segurança da rede através de pelo menos duas maneiras. Primeiramente, quanto mais WAVES forem usados para proteger a rede, melhor, pois se torna mais difícil para um invasor acumular os tokens necessários para realizar um ataque de 51%. Além disso, tokens WAVES podem ser alugado para um nó a partir do endereço de cold storage (sem contanto com a internet) de um usuário, enquanto que o nó em si (que permanece online) só precisa de um valor mínimo de saldo. Isso reduz significativamente o risco de tokens WAVES serem roubados de computadores que estão online, uma vez que os fundos arrendados/alugados não são transferidos para o minerador (continuam seguros offline).


Uma nova abordagem para o consenso: Waves-NG

Uma nova atualização para a rede ocorreu em dezembro de 2017, com o lançamento do Waves-NG. Este foi um novo protocolo baseado na proposta Bitcoin-NG do professor Emin Gün Sirer, da Cornell IT.

O protocolo original da Bitcoin escolhe cada minerador retrospectivamente. Depois que um bloco foi adicionado à blockchain, os mineradores competem para encontrar um hash válido para o próximo bloco, com base no estado atual da blockchain. Enquanto isso, as transações recém-geradas vão para a pool de memória (mempool), onde permanecerão pendentes até que um minerador as colete e valide. 

Embora os protocolos Bitcoin e Bitcoin-NG sejam considerados sistemas Byzantine fault tolerant (BFT), o último foi proposto em 2015 como uma alternativa escalável baseada em um mecanismo de trabalho diferente. Em um sistema Bitcoin-NG, o próximo minerador é escolhido antecipadamente e este minerador cria um “bloco de chaves” (key block) vazio - que é o bloco que será adicionado por último à blockchain. Pequenos blocos chamados "microblocks" (consistindo de poucas transações cada) são adicionados em tempo quase real a esse bloco de chaves. Utilizando uma analogia cotidiana, isso é como adicionar vários sacos de compras (microblocks) a um carrinho (keyblock), antes que o carrinho completo seja finalmente levado até o caixa (adicionado à blockchain). Isso significa que as transações podem ser adicionadas à blockchain em apenas alguns segundos, com o único atraso real sendo a latência da rede. A Waves atualizou essa idéia para uma rede proof-of-stake, criando o protocolo Waves-NG - a primeira implantação do Bitcoin-NG para uma blockchain aberta e pública.

Outra adição ao ecossistema foi a MassTransfers que permite que até 100 transferências sejam “empacotadas” em uma única transação, com taxas reduzidas. O limite de 100 txs por MassTransfer foi escolhido como um compromisso entre adicionar capacidade e conveniência significativas por um lado e, por outro lado, limitar a capacidade de enviar de uma só vez lotes muito grandes de transações de baixo custo. Se mais transferências precisarem ser feitas, vários MassTransfers podem ser enviados sequencialmente. 

Em outras palavras, os usuários podem simplesmente escolher um MassTransfer como um tipo diferente de "Envio de transação", permitindo que eles incluam até 100 destinatários em uma única transação. Além disso, os endereços dos destinatários podem ser fornecidos via JSON ou carregados a partir de um arquivo CSV, tornando simples e eficiente a realização de grandes airdrops ou a realização de pagamentos semanais para aqueles que arrendam suas WAVES aos nós de mineração. Combinado com o Waves-NG, o recurso MassTransfer permite uma altíssima taxa de transferência na rede.

Uma série de testes foram conduzidos na rede Waves para medir o potencial de transferência do novo protocolo. Em outubro de 2018, um grande teste de stress foi realizado na MainNet. Isso demonstrou que o protocolo blockchain aberto e público da Waves (não apenas o TestNet limitado e controlado) poderia suportar mais de 6,1 milhões de transações dentro de um período de 24 horas - uma média de 4.200 txs por minuto ou 71 txs por segundo, com pico de produção atingindo centenas de transações por segundo. 


Considerações finais

O sistema Leased Proof-of-Stake permitiu que usuários comuns sem conhecimento técnico possam ajudar a proteger a rede Waves, arrendando suas WAVES para nós completos sem perder o controle de seus tokens. Já o Waves-NG permitiu uma taxa de transferência de até 100 TPS, que é uma ordem de grandeza maior que muitas blockchains. As taxas pagas pelas transações são baixas porque não há necessidade de pagar aos mineradores recompensas de bloco (em blockchains PoW essas recompensas são usadas para compensar os altos custos de eletricidade e hardware).

A escalabilidade on-chain (na cadeia) tem sido uma prioridade para a Waves, mas há limites na medida em que qualquer blockchain pode escalar dessa forma devido ao armazenamento e largura de banda necessários. Os desenvolvedores da Waves acreditam que a abordagem atual pode ser otimizada para suportar até 1.000 TPS antes de serem necessárias novas soluções de dimensionamento. Atualmente, a Waves está explorando opções para uma solução de escalonamento de segundo nível envolvendo cadeias laterais, permitindo que um grande número de transações sejam processadas em uma cadeia paralela, porém, garantindo as transações seguras na blockchain principal da Waves.

Loading