O Caso de um Stablecoin Qubic - Parte 4: Rápido, Mais Rápido, Qubic
Explicamos a diferença entre transferências e transações e guiamos os leitores através de vários cenários de transferências para mostrar o impressionante rendimento do Qubic. Ao destacar testes de velocidade do mundo real, demonstramos o que diferencia o Qubic de outras blockchains.
Qsilver, 22 de agosto de 2024.
Recapitulação
Nas três primeiras partes desta série, estabelecemos as bases para nossa visão de um stablecoin baseado em Qubic. Destacamos a atual falta de uma resposta convincente para a pergunta essencial "por que construir no Qubic?", como os esforços de marketing atuais da SteCo estão desalinhados, e propusemos uma mudança estratégica para posicionar o Qubic em torno do "desempenho ultra-alto", como um catalisador para o crescimento do ecossistema e o sucesso a longo prazo.
Introdução
Agora, voltamos nossa atenção para uma questão técnica crucial: Quão rápido é o Qubic? Esta questão não é simples. Para entender completamente o desempenho do Qubic e suas implicações para nossa visão de stablecoin, devemos primeiro esclarecer alguns conceitos-chave. Tenha paciência enquanto explicamos as diferenças entre transações e transferências, cenários de transferência e métodos de geração de transferências. Ao final deste post, você deve ter uma compreensão sólida de como a velocidade do Qubic se compara aos concorrentes e como planejamos aproveitar o Qubic para construir o stablecoin mais rápido que o mundo já viu.
Antes de Começarmos
Conceitos-Chave
A camada de protocolo refere-se à camada central do sistema blockchain, definindo suas regras e mecanismos. Aqui:
- Uma transação é uma única operação que envolve uma mudança de estado no livro-razão.
- Uma transferência é uma sub-operação dentro de uma transação que move ativos de um endereço para outro.
A camada de aplicação refere-se à camada onde os usuários interagem com a blockchain através de aplicativos (interfaces de usuário, dApps e contratos inteligentes). Aqui:
- Uma transferência de criptomoeda é o tipo mais comum de transação, onde um usuário transfere uma quantidade de criptomoeda para outro usuário.
- Outros tipos de transações incluem execuções de contratos inteligentes, solicitações de dados de oráculos, liquidações de canais de estado, transferências de tokens, cunhagem/queima de tokens, criação/transferência de Tokens Não Fungíveis (NFT), staking, empréstimos/empréstimos, ordens de câmbio, ações de votação/governança, atualizações de governança da cadeia, distribuições de recompensas/dividendos, verificações de identidade, armazenamento/modificação de dados, operações entre cadeias... uma lista aberta limitada apenas pela imaginação dos desenvolvedores e que, portanto, varia dependendo de cada blockchain.
"Transferência" pode ser confuso porque seu significado muda com o contexto:
- No nível do protocolo, uma transferência é uma sub-operação dentro de uma transação.
- No nível da aplicação, uma transferência é um tipo de transação entre muitos.
Para aumentar a confusão, uma única transação, como a execução de um contrato inteligente, pode acionar múltiplas transferências. Por exemplo, um contrato inteligente de folha de pagamento que distribui 1 QU para cada um dos 100 funcionários envolve 100 transferências, todas iniciadas por uma única transação.
Diferenças de design entre blockchains também contribuem para essa confusão. Por exemplo, tomar empréstimos no Ethereum requer um contrato inteligente, mas no Celo, é um tipo de transação nativa no nível do protocolo.
Essa complexidade sobrecarrega os usuários finais. Como as transferências de criptomoedas são o tipo de transação mais comum, eles acabam equiparando ambos (como em "uma transação serve para transferir cripto!"). Não importa que as transações sejam capazes de muito mais. Os usuários empregam um termo de nível de protocolo para descrever um benefício de nível de aplicação.
Cenários de Transferência
Vamos distinguir os seguintes cenários de transferência:
- Um-para-Um (1-para-1): Uma única transação envia um ativo de um endereço para outro endereço. Por exemplo, uma transferência entre contas, um pagamento de e-commerce.
- Um-para-Muitos (1-para-Muitos): Uma única transação envia um ativo de um endereço para múltiplos endereços. Por exemplo, desembolso de benefícios, folha de pagamento.
- Um-para-Todos (1-para-Todos): Uma única transação envia um ativo de um endereço para todos os endereços em uma cadeia. Por exemplo, Renda Básica Universal (UBI), airdrops.
Geração de Transferência
Dado seu impacto no desempenho, vamos distinguir como as transferências são geradas:
- Gerada por Transação: Uma transferência gerada a partir de uma transação (Tx).
- Gerada por Contrato Inteligente: Uma transferência gerada a partir de um contrato inteligente (CI). A quantidade de transferências geradas dependerá do tipo de contrato inteligente.
Parâmetros de Rede
Finalmente, vamos definir os parâmetros-chave da rede que impactam o desempenho:
- Duração do tick (tDur): Uma unidade de tempo durante a qual um conjunto de transações é processado e finalizado. A duração atual do tick é de cerca de 2,5 segundos.
- Transações por Tick (TxPT): O número máximo de transações que podem ser processadas durante um único tick. As transações atuais por tick são 1.024.
Decidindo o Que Medir
No mundo das criptomoedas, o desempenho da blockchain é tipicamente medido no nível do protocolo usando a métrica de Transações Por Segundo (TPS, ou TxPS). Isso mede o número de transações—uma mudança de estado no livro-razão—que uma blockchain pode processar em um único segundo. Por exemplo, a TON alcançou 104.715 TxPS utilizando sharding, enquanto o Ethereum visa exceder 100 mil TxPS usando rollups.
O Qubic não se destaca em TxPS, mas isso não é um problema. De uma perspectiva de marketing, TxPS é uma métrica voltada para dentro—mais relevante para equipes de cripto e investidores que gostam de se gabar das capacidades de sua blockchain em disputas cripto. No entanto, o que realmente importa para os usuários finais é se eles podem concluir um pagamento instantaneamente, mesmo quando milhares de outros estão tentando fazer o mesmo no exato momento. Em outras palavras, eles não se importam com transações por segundo (TxPS), mas com transferências por segundo (TfPS). E aqui, para experiências de pagamento perfeitas—transferências de criptomoedas no nível da aplicação—, onde realmente importa, o Qubic usa a coroa. Ou será que usa?
Desempenho Hoje
Com uma compreensão dos conceitos-chave (transações vs. transferências), métricas (TxPS vs. TfPS), cenários de transferência (1-para-1, 1-para-Muitos, 1-para-Todos), métodos de geração de transferência (gerada por Tx vs. gerada por CI), e parâmetros de rede (duração do tick e transações por tick), podemos agora explorar quão rápido o Qubic opera no nível da aplicação. Ao examinarmos as várias combinações, encorajamos você a pensar no Qubic como um motor mudando de marcha.
Esta tabela resume os resultados de nossos testes de desempenho. Para maior clareza, apresentamos a tabela com parâmetros de rede constantes, embora na prática, tDur variasse de teste para teste:
Marcha | tDur | TxPT | Cenário | Gen | C. Inteligente | Txs | TfPS |
#1 | 2,5 | 1024 | 1-para-1 | Tx | N/A | 410 | 410 |
#2 | 2,5 | 1024 | 1-para-Muitos | CI | QUTIL-1 | ~10.250 | 410 |
#2 | 2,5 | 1024 | 1-para-Muitos | CI | QUTIL-2 | ~16.525 | 410 |
#3 | 2,5 | 1024 | 1-para-Muitos | CI | AIRDROP-1 | 1.024 | 150 mil |
#3 | 2,5 | 1024 | 1-para-Muitos | CI | AIRDROP-2 | 1.024 | 1M |
#4 | 2,5 | 1024 | 1-para-Todos | CI | AIRDROP-3 | 4 | 20M |
#5 | 2,5 | 1024 | 1-para-Muitos | CI | QUTIL-3 | 1 | 55M |
Primeira Marcha
Na primeira marcha, sem envolver contratos inteligentes, cada transação gera diretamente uma transferência. Para maximizar o número de transferências, precisamos maximizar o número de transações. Sob os parâmetros de rede atuais, o Qubic pode processar 410 TxPS (1.024 TxPT / 2,5 tDur). Este desempenho é significativamente maior que o Bitcoin (3-7) e o Ethereum (15-30), mas ainda modesto quando comparado ao Algorand (1.200), Avalanche (4.500) ou Solana (65.000).
Segunda Marcha
Na segunda marcha, usamos o QUTIL SC (anteriormente Sendmany SC) que permite agrupar 25 transferências 1-para-Muitos em uma única transação. Isso aumenta o TfPS para 10.250 (410 TfPS * 25), colocando o Qubic em pé de igualdade com a maioria das outras cadeias, mas apenas no cenário de transferência 1-para-Muitos.
Uma variação da segunda marcha (veja QUTIL-2 na tabela acima) envolve o encadeamento de execuções do QUTIL SC. A transação inicial aciona uma chamada do QUTIL SC para 25 pagamentos, que gera 25 transferências. Cada transferência, por sua vez, aciona outras 25 execuções do QUTIL, criando um efeito cascata. Após três iterações (25 x 25 x 25), esse processo resulta em 15.625 transferências. No entanto, como cada transferência deve ser processada dentro de uma transação, ainda estamos limitados pelo limite de 1024 TxPT. Consequentemente, leva 16 ticks totalmente saturados (15.625 Txs / 1.024 TxPS), ou 40 segundos (16 ticks * 2,5 tDur) para completar todo o processo em condições ideais. Em resumo, essa abordagem não aumenta o throughput geral e permanece aplicável apenas ao cenário de transferência 1-para-Muitos.
Terceira Marcha
Na terceira marcha, usamos o AIRDROP SC que permite enviar a mesma quantidade para cada endereço no espectro—uma lista de todos os endereços Qubic armazenados na RAM dos Nós Computadores. Como poucos casos de uso (se houver) exigem o envio da mesma quantidade para todos os endereços Qubic (~450k), o cenário de transferência 1-para-Todos tem aplicabilidade limitada no mundo real. No entanto, ainda é útil para testar o motor Qubic sob condições do mundo real, pois medimos o tempo total de processamento (processamento de tick + processamento de SC).
Em nosso teste inicial na testnet (AIRDROP-1 na tabela acima), criamos 1.024 airdrops (para ~450k endereços cada) por tick, utilizando totalmente as 1.024 Tx permitidas por tick. O alvo teórico de 460,8M TfPS (1.024 TxPT * 450k endereços) resultou em "apenas" 150k TfPS. Embora esse resultado possa parecer decepcionante, ele revela que ou encontramos um bug ou o Qubic não está otimizado para processar várias instâncias do mesmo contrato inteligente simultaneamente, especialmente na testnet. No entanto, esses resultados são valiosos, pois destacam o impacto de desempenho sob tais condições.
Para um teste adequado da terceira marcha (AIRDROP-2), mudamos o AIRDROP SC para transferir 1 QU em vez de um token. Isso resultou em "apenas" 1M TfPS, novamente devido ao uso de máquinas virtuais da testnet (em vez de bare metal) e muito overhead de SC.
Quarta Marcha
Na quarta marcha, realizamos um teste personalizado e totalmente artificial (AIRDROP-3) onde quatro airdrops foram criados, cada um com endereços do espectro lidando com 100 transferências diferentes para determinar o desempenho máximo alcançável. Tipicamente, a mainnet supera a testnet devido aos seus sistemas de maior desempenho e ao uso de múltiplos nós em vez de apenas um ou dois. Para simular de perto as condições da mainnet, usamos uma testnet bare-metal. Contra o alvo teórico de 180M TfPS (4 airdrops 450k endereços 100 transferências por endereço), alcançamos 20M TfPS. Essa taxa de transferência é sustentável durante toda a época, não apenas um desempenho de pico, indicando a robustez das capacidades de throughput do Qubic. Embora o throughput seja impressionante (levaria apenas algumas horas para enviar QU para todos no mundo), é específico para cenários de transferência 1-para-Todos e carece de aplicabilidade no mundo real.
Quinta Marcha
Um teste recente da Equipe de Desenvolvimento Core do Qubic registrou 55M TfPS. Isso foi alcançado através de outro teste personalizado e totalmente artificial (QUTIL-3), usando um contrato inteligente QUTIL personalizado em um loop, focando apenas no tempo de CPU. Tecnicamente falando, a quinta marcha era um cenário de transferência 1-para-Muitos (não 1-para-Todos). No entanto, como os endereços foram obtidos de um pool predefinido gerado dentro do SC (não de transações reais) e os valores a serem transferidos foram gerados aleatoriamente dentro do SC (não de transações reais), este teste também carece de aplicabilidade no mundo real.
Para entender a discrepância entre nossos resultados de 20M e os 55M deles, você pode pensar nesses testes em termos de "tempo de voo". Os testes da Valis mediram o tempo necessário de portão a portão (processamento de tick + processamento de contrato inteligente), enquanto a equipe core do Qubic mediu apenas o tempo real no ar (processamento de contrato inteligente).
Uma Coroa Desigual
O desempenho atual de transferência do Qubic em cenários de transferência 1-para-Muitos/Todos está em uma liga própria. A disparidade é tão significativa que levou Come-from-Beyond a especular publicamente se o motor de contratos inteligentes do Qubic é mais performático que os motores de todas as outras criptomoedas combinadas. Enquanto outros discutem soluções de escalonamento para alcançar milhares de transações, o Qubic lida sem esforço com milhões de transferências sem a necessidade de soluções de escalonamento de camada 1 (sharding) ou camada 2 (rollups, side chains ou state channels). No entanto, o desempenho atual de transferência do Qubic no cenário de transferência 1-para-1 mais comum, aquele necessário na maioria dos cenários de casos do mundo real, incluindo uma stablecoin, não é nada para se gabar (410 TfPS).
A esta altura, leitores menos técnicos podem sentir que foram enganados por afirmações grandiosas de "milhões" de TfPS apenas para descobrir que tais métricas, na quarta e quinta marcha, pertencem a condições artificiais, medições limitadas e cenários de transferência improváveis, sem aplicabilidade no mundo real. É importante entender que os testes de desempenho são necessários para a otimização do sistema. Além disso, diferentes equipes trabalhando no Qubic têm objetivos diferentes e, portanto, diferentes necessidades de teste. A Valis está focada no nível de aplicação e testa mais próximo do desempenho do mundo real (~20M). A Equipe de Desenvolvimento Core do Qubic está focada no nível do protocolo e testa o tempo interno (~55M).
Desempenho Amanhã
Por que a Valis está defendendo o reposicionamento do Qubic como uma cadeia de "ultra-alto desempenho", incorporada em uma stablecoin Qubic, se o desempenho em cenários de transferência 1-para-1 é modesto? Porque estamos confiantes de que o desempenho 1-para-1 do Qubic verá uma melhoria radical em um futuro próximo, graças às contribuições de duas equipes.
Equipe Core do Qubic
O Qubic é conhecido por suas escolhas não ortodoxas e orientadas para o desempenho, como servidores bare metal, funcionando inteiramente na RAM e evitando SO e máquinas virtuais. Essas decisões, juntamente com requisitos de hardware cada vez maiores, diferenciam o Qubic.
A primeira prioridade no Roteiro da Equipe Core do Qubic é alcançar um tempo de tick estável de 1-2 segundos. Em última análise, os ticks poderiam ser acelerados para 5 por segundo, alcançando um aumento de 12,5x no desempenho ao reduzir a duração do tick de 2,5 segundos para 0,2 segundos.
Os requisitos de RAM para nós computadores aumentarão para 1TB em 4 de setembro e para 2TB em 4 de dezembro. Com o aumento da RAM, não é absurdo pensar em 4.096 TxPT.
Com ticks mais rápidos e maiores, as coisas começam a parecer diferentes. O Qubic passará de 410 TxPS (1.024 TxPT / 2,5 tDur) para 20.480 TxPS (4.096 TxPT / 0,2 tDur). Esses são otimistas; à medida que o throughput aumenta, outros gargalos podem surgir, mas você entende a ideia:
Marcha | tDur | TxPT | Cenário | Gen | C. Inteligente | Txs | TfPS |
#1 | 0,2 | 4096 | 1-para-1 | Tx | N/A | 20.480 | 20.480 |
#2 | 0,2 | 4096 | 1-para-Muitos | CI | QUTIL | ~10.250 | 20.480 |
#3 | 0,2 | 4096 | 1-para-Muitos | CI | AIRDROP | 1 | M? |
#4 | 0,2 | 4096 | 1-para-Todos | CI | AIRDROP | 1 | M? |
Você acha que isso é rápido? Hora de apertar os cintos.
Equipe Valis
O Qubic alcança um desempenho impressionante em TfPS gerados por CI, mas, até agora, todos os CIs se concentraram no cenário de transferência 1-para-Muitos. O que aconteceria se pudéssemos aproveitar os CIs do Qubic no benchmark mais difícil para obter velocidade máxima, o cenário de transferência 1-para-1?
Qubic | Sem CI | Com CI |
1-para-1 | Modesto | Desconhecido |
1-para-Muitos | N/A | Mais rápido |
Assim como o Ethereum reduziu os custos de gás com rollups L2, uma abordagem semelhante pode ser aplicada ao Qubic. Embora o Qubic não tenha custos de gás para minimizar, nosso objetivo é maximizar o número de transferências 1-para-1 que podem ser codificadas em uma única transação.
Identificamos um método capaz de agrupar de 26 a 95 transferências 1-para-1 por Tx de CI usando o limite atual de 1.024 TxPT. Esperamos que essa capacidade aumente rapidamente de 26x para 95x devido ao reuso eficiente de endereços do Qubic. Usando uma estimativa conservadora de 90x, isso se traduz em ~40 mil TxPS com os parâmetros atuais da rede. Com um aumento de 12,5x na capacidade da rede, isso poderia alcançar 1,8M TxPS em cenários de transferência 1-para-1.
Marcha | tDur | TxPT | Cenário | Gen | C. Inteligente | Txs | TfPS |
#2 | 2,5 | 1024 | 1-para-1 | CI | VROLLUP-26 | 410 | 10.660 |
#2 | 2,5 | 1024 | 1-para-1 | CI | VROLLUP-90 | 410 | 38.950 |
#2 | 0,2 | 4096 | 1-para-1 | CI | VROLLUP-26 | 20.480 | 532.480 |
#2 | 0,2 | 4096 | 1-para-1 | CI | VROLLUP-90 | 20.480 | 1.843.200 |
Ajoelhe-se à Coroa
As contribuições acima tornarão a Qubic a líder indiscutível em TfPS, em todos os cenários de transferência e cadeias. “O Mais Rápido” é uma afirmação de marketing curta, direta e poderosa, com amplo apelo no mundo cripto.
O posicionamento de “ultra alta performance” responde a pergunta crítica do porquê de forma tão alta e clara que pode, sozinho, atrair empreendedores de todos os setores para construir na Qubic. Juntamente com a primeira stablecoin segura, transparente, consistente, instantânea, escalável e gratuita do mundo, tem uma chance real de tornar a Qubic uma potência em estabilidade econômica, liquidez e DeFi.
“uPoW para IA” é novo, brilhante e bonito, mas o brilho não dura. Para ter sucesso, a Qubic precisa de clientes reais, dispostos e capazes de comprar nosso produto.
Se você acha a Qubic bonita, você deveria vê-la em uma coroa.
Em breve: Proposta da Valis
Na parte final da nossa série, delinearemos nosso plano para dar vida a uma stablecoin baseada no Qubic. Abordaremos nossa estratégia de captação de recursos, potenciais fontes de capital e como planejamos usar os fundos. Estabeleceremos metas claras e explicaremos como essa iniciativa impulsionará valor e crescimento de longo prazo para o ecossistema Qubic.
Leia a Série "O Caso para uma Stablecoin Qubic"
- O Caso de um Stablecoin Qubic - Parte 1: A Questão do Porquê
- O Caso de um Stablecoin Qubic - Parte 2: Marketing Qubic
- O Caso de um Stablecoin Qubic - Parte 3: A Melhor Opção
- O Caso de um Stablecoin Qubic - Parte 4: Rápido, Mais Rápido, Qubic
- O Caso de um Stablecoin Qubic - Parte 5: Expandindo o Ecossistema
Para obter as atualizações mais recentes, junte-se ao Discord do Valis, siga-nos no X e adicione nosso blog aos favoritos.
Nesta página
- O Caso de um Stablecoin Qubic - Parte 4: Rápido, Mais Rápido, Qubic
- Recapitulação
- Introdução
- Antes de Começarmos
- Conceitos-Chave
- Cenários de Transferência
- Geração de Transferência
- Parâmetros de Rede
- Decidindo o Que Medir
- Desempenho Hoje
- Primeira Marcha
- Segunda Marcha
- Terceira Marcha
- Quarta Marcha
- Quinta Marcha
- Uma Coroa Desigual
- Desempenho Amanhã
- Equipe Core do Qubic
- Equipe Valis
- Ajoelhe-se à Coroa
- Em breve: Proposta da Valis
- Leia a Série "O Caso para uma Stablecoin Qubic"