O Caso de um Qubic Stablecoin - Parte 4: Rápido, Mais Rápido, Qubic
Explicamos a diferença entre transferências e transacções e orientamos os leitores através de vários cenários de transferências para mostrar o impressionante rendimento do Qubic. Ao destacar os testes de velocidade do mundo real, demonstramos o que diferencia a Qubic de outras blockchains.
Qsilver, 22 de agosto de 2024.
Recapitulação
Nas três primeiras partes desta série, lançamos as bases para nossa visão de uma stablecoin baseada 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 de "desempenho ultra-alto", como um catalisador para o crescimento do ecossistema e sucesso a longo prazo.
Introdução
Agora, voltamos a nossa atenção para uma questão técnica crucial: Quão rápida é a Qubic? Esta questão não é simples. Para compreender plenamente o desempenho da Qubic e as suas implicações para a nossa visão da stablecoin, temos primeiro de clarificar alguns conceitos-chave. Acompanhe-nos enquanto explicamos as diferenças entre transacções e transferências, cenários de transferência e métodos de geração de transferências. No final desta publicação, deverá ter uma noção sólida de como a velocidade do Qubic se compara à dos concorrentes e de como planeamos utilizar o Qubic para construir a stablecoin mais rápida que o mundo alguma vez viu.
Antes de começarmos
Conceitos-chave
A camada de protocolo refere-se à camada central do sistema de blockchain, definindo suas regras e mecanismos. Aqui:
- Uma transação é uma operação única que envolve uma mudança de estado no livro-razão.
- Uma transferência é uma suboperação dentro de uma transação que move activos de um endereço para outro.
A camada de aplicação refere-se à camada onde os utilizadores interagem com a cadeia de blocos através de aplicações (interfaces de utilizador, dApps e contratos inteligentes). Aqui:
- Uma transferência de criptomoeda é o tipo de transação mais comum, em que um utilizador transfere um montante de criptomoeda para outro utilizador.
- Outros tipos de transacções incluem execuções de contratos inteligentes, pedidos de dados de oráculos, liquidações de canais de estado, transferências de fichas, extração/queima de fichas, criação/transferência de fichas não fungíveis (NFT), staking, empréstimos/empréstimos, ordens de troca, acções de votação/governação, actualizações da governação da cadeia, distribuições de recompensas/dividendos, verificações de identidade, armazenamento/modificação de dados, operações entre cadeias... uma lista aberta apenas limitada pela imaginação dos programadores e que, por conseguinte, varia em função de cada cadeia de bloqueio.
O termo "transferência" pode ser confuso porque o seu significado muda consoante o contexto:
- Ao nível do protocolo, uma transferência é uma sub-operação no âmbito de uma transação.
- Ao nível da aplicação, uma transferência é um tipo de transação entre muitas.
Para aumentar a confusão, uma única transação, como a execução de um contrato inteligente, pode desencadear várias transferências. Por exemplo, um contrato inteligente de folha de pagamento que distribui 1 QU a cada 100 funcionários envolve 100 transferências, todas iniciadas por uma única transação.
As diferenças de design entre blockchains também contribuem para essa confusão. Por exemplo, o empréstimo no Ethereum requer um contrato inteligente, mas no Celo, é um tipo de transação nativa no nível do protocolo.
Esta complexidade sobrecarrega os utilizadores finais. Como as transferências de criptomoeda são o tipo de transação mais comum, eles acabam equiparando ambos (como em "uma transação serve para transferir criptografia!"). Não importa que as transacções sejam capazes de muito mais. Os utilizadores utilizam um termo ao nível do protocolo para descrever um benefício ao nível da 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 comércio eletrónico.
- Um-para-muitos (1-para-muitos): Uma única transação envia um ativo de um endereço para vários endereços. Por exemplo, desembolso de benefícios, folha de pagamento.
- Deum para todos (1-to-All): Uma única transação envia um ativo de um endereço para todos os endereços de uma cadeia. Por exemplo, Rendimento Básico Universal (RBI), gotas de ajuda.
Geração de transferências
Dado o seu impacto no desempenho, vamos distinguir a forma como as transferências são geradas:
- Geradas por transacções: 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 (SC). A quantidade de transferências geradas dependerá do tipo de contrato inteligente.
Parâmetros de rede
Finalmente, vamos definir os principais parâmetros de rede que afectam o desempenho:
- Duração do tick (tDur): Uma unidade de tempo durante a qual um conjunto de transacções é processado e finalizado. A duração atual do tick é de cerca de 2,5 segundos.
- Transacções por Tick (TxPT): O número máximo de transacções que podem ser processadas durante um único tick. As transações atuais por tick são 1.024.
Decidir o que medir
No mundo criptográfico, o desempenho do blockchain é normalmente medido no nível do protocolo usando a métrica Transações por segundo (TPS, ou TxPS). Esta mede o número de transacções - uma mudança de estado no livro-razão - que uma cadeia de blocos pode processar num único segundo. Por exemplo, a TON alcançou 104.715 TxPS ao alavancar o sharding, enquanto a Ethereum tem como objetivo exceder 100k TxPS usando rollups.
O Qubic não se destaca em TxPS, mas não faz mal. De uma perspetiva de marketing, o TxPS é uma métrica voltada para dentro - mais relevante para equipes de criptografia e investidores que gostam de se gabar das capacidades de seu blockchain em rixas de criptografia. No entanto, o que realmente importa para os utilizadores finais é se podem concluir um pagamento instantaneamente, mesmo quando milhares de outras pessoas estão a tentar fazer o mesmo no mesmo momento. Por outras palavras, não se preocupam com as transacções por segundo (TxPS), mas sim com as transferências por segundo (TfPS). E aqui, para experiências de pagamento sem falhas - transferências criptográficas ao nível da aplicação -, onde realmente importa, a Qubic usa a coroa. Ou será que sim?
Desempenho hoje
Com uma compreensão dos conceitos-chave (transacçõ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ências (gerados por Tx vs. gerados por SC) e parâmetros de rede (duração do tick e transacções por tick), podemos agora explorar a rapidez com que o Qubic funciona ao nível da aplicação. À medida que examinamos as várias combinações, encorajamo-lo a pensar no Qubic como um motor que passa por diferentes mudanças.
Esta tabela resume os resultados dos nossos testes de desempenho. Para maior clareza, apresentamos a tabela com parâmetros de rede constantes, embora, na prática, o tDur tenha variado de teste para teste:
Equipamento | tDur | TxPT | Cenário | Gen | S. Contrato | Txs | TfPS |
#1 | 2.5 | 1024 | 1 para 1 | Tx | N/A | 410 | 410 |
#2 | 2.5 | 1024 | 1-para-Muitos | SC | QUTIL-1 | ~10,250 | 410 |
#2 | 2.5 | 1024 | 1-para-Muitos | SC | QUTIL-2 | ~16,525 | 410 |
#3 | 2.5 | 1024 | 1-para-muitos | SC | AERODROP-1 | 1,024 | 150k |
#3 | 2.5 | 1024 | 1-para-muitos | SC | AERODROP-2 | 1,024 | 1M |
#4 | 2.5 | 1024 | 1 para todos | SC | AERODROP-3 | 4 | 20M |
#5 | 2.5 | 1024 | 1-para-muitos | SC | QUTIL-3 | 1 | 55M |
Primeira velocidade
Na primeira velocidade, sem contratos inteligentes envolvidos, cada transação gera diretamente uma transferência. Para maximizar o número de transferências, é necessário maximizar o número de transacções. Sob os parâmetros actuais da rede, a Qubic pode processar 410 TxPS (1.024 TxPT / 2,5 tDur). Este desempenho é significativamente maior do que o Bitcoin (3-7) e Ethereum (15-30), mas ainda modesto quando comparado com Algorand (1.200), Avalanche (4.500), ou Solana (65.000).
Segunda velocidade
Na segunda marcha, usamos o QUTIL SC (anteriormente Sendmany SC), que permite fazer 25 transferências 1-to-Many em lote em uma única transação. Isto aumenta o TfPS para 10 250 (410 TfPS * 25), colocando o Qubic a par da maioria das outras cadeias, mas apenas no cenário de transferência 1-para-Muitos.
Uma variação da segunda velocidade (ver QUTIL-2 na tabela acima) envolve o encadeamento de execuções QUTIL SC. A transação inicial aciona uma chamada QUTIL SC para 25 pagamentos, o que gera 25 transferências. Cada transferência, por sua vez, desencadeia outras 25 execuções QUTIL, criando um efeito em 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 restritos pelo limite de 1024 TxPT. Consequentemente, são necessários 16 ticks totalmente saturados (15.625 Txs / 1.024 TxPS), ou 40 segundos (16 ticks * 2,5 tDur) para concluir todo o processo em condições ideais. Em resumo, essa abordagem não aumenta o rendimento geral e permanece aplicável apenas ao cenário de transferência de 1 para muitos.
Terceira velocidade
Na terceira velocidade, utilizamos o AIRDROP SC que permite enviar a mesma quantidade para cada endereço no espetro - umalista de todos os endereços Qubic armazenados na RAM dos Nós Computadores. Uma vez que muito poucos casos de utilização (se é que existe algum) requerem o envio da mesma quantidade para todos os endereços Qubic (~450k), o cenário de transferência 1-to-All tem uma aplicabilidade limitada no mundo real. No entanto, continua a ser útil para testar o motor Qubic em condições reais, uma vez que medimos o tempo total de processamento (processamento tick + processamento SC).
No nosso teste inicial na testnet (AIRDROP-1 na tabela acima), criámos 1024 airdrops (para ~450k endereços cada) por tick, utilizando totalmente os 1024 Tx permitidos por tick. O objetivo teórico de 460,8M TfPS (1.024 TxPT * 450k endereços) resultou em "apenas" 150k TfPS. Embora este resultado possa parecer dececionante, ele revela que encontramos um bug ou que 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 do desempenho em tais condições.
Para um teste de terceira velocidade adequado (AIRDROP-2), alterámos 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 testnet (em vez de bare metal) e muita sobrecarga de SC.
Quarta mudança
Na quarta velocidade, realizámos um teste personalizado e totalmente artificial (AIRDROP-3), no qual foram criados quatro airdrops, cada um com endereços de espetro que processam 100 transferências diferentes para determinar o desempenho máximo possível. Normalmente, a mainnet tem um desempenho superior ao da testnet devido aos seus sistemas de desempenho superior e à utilização de vários nós em vez de apenas um ou dois. Para simular de perto as condições da mainnet, utilizámos uma testnet bare-metal. Face ao objetivo teórico de 180M TfPS (4 airdrops * 450k endereços * 100 transferências por endereço), atingimos 20M TfPS. Esta taxa de transferência é sustentável ao longo de toda a época, e não apenas um pico de desempenho, o que indica a robustez das capacidades de débito do Qubic. Embora a taxa de transferência seja impressionante (levaria apenas algumas horas para enviar QU para todas as pessoas do mundo), ela é específica para cenários de transferência 1-to-All e não tem aplicabilidade no mundo real.
Quinta marcha
Um teste recente da equipa de desenvolvimento do Qubic registou 55M TfPS. Isso foi alcançado por meio de outro teste personalizado e totalmente artificial (QUTIL-3), usando um contrato inteligente QUTIL personalizado em um loop, concentrando-se apenas no tempo da CPU. Tecnicamente falando, a quinta marcha foi um cenário de transferência de 1 para muitos (não de 1 para todos). No entanto, como os endereços foram obtidos a partir de um conjunto predefinido gerado dentro do SC (não a partir de transacções reais) e os montantes a transferir foram gerados aleatoriamente dentro do SC (não a partir de transacções reais), este teste também carece de aplicabilidade no mundo real.
Para compreender a discrepância entre os nossos resultados de 20M e os de 55M, pode pensar nestes testes em termos de "tempo de voo". Os testes da Valis mediram o tempo necessário de porta a porta (processamento de ticks + processamento de contratos inteligentes), enquanto a equipa principal da Qubic mediu apenas o tempo real no ar (processamento de contratos inteligentes).
Uma coroa desigual
O atual desempenho de transferência da Qubic em cenários de transferência 1-para-muitos/todos está numa liga à parte. A disparidade é tão significativa que levou a Come-from-Beyond a especular publicamente se o mecanismo de contrato inteligente da Qubic é mais eficiente do que os mecanismos 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, cadeias laterais ou canais de estado). No entanto, o atual desempenho de transferência da Qubic no cenário de transferência 1 para 1 mais comum, o necessário na maioria dos cenários do mundo real, incluindo uma stablecoin, não é nada de que se possa gabar (410 TfPS).
Por esta altura, os 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, em quarta e quinta velocidade, pertencem a condições artificiais, medições limitadas e cenários de transferência improváveis, sem aplicabilidade no mundo real. É importante compreender que os testes de desempenho são necessários para a otimização do sistema. Além disso, as diferentes equipas que trabalham no Qubic têm objectivos diferentes e, por conseguinte, necessidades de teste diferentes. A Valis está concentrada no nível da aplicação e testa um desempenho mais próximo do mundo real (~20M). A equipa de desenvolvimento principal do Qubic está concentrada no nível do protocolo e testa o tempo interno (~55M).
Desempenho no futuro
Porque é que Valis está a defender o reposicionamento da Qubic como umacadeia de "desempenho ultra-elevado", incorporada numa 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 da Qubic verá uma melhoria radical num futuro próximo, graçasàs contribuições de duas equipas.
Equipa principal do Qubic
A Qubic é conhecida pelas suas escolhas pouco ortodoxas e orientadas para o desempenho, tais como servidores bare metal, funcionando inteiramente em RAM e evitando SO e máquinas virtuais. Estas decisões, associadas a requisitos de hardware cada vez maiores, distinguem a Qubic.
A primeira prioridade no roteiro da equipa principal do Qubic é atingir um tempo de tique estável de 1-2 segundos. Em última análise, os ticks poderão ser acelerados para 5 por segundo, obtendo-se um aumento de 12,5x no desempenho através da redução da duração do tick de 2,5 segundos para 0,2 segundos.
Os requisitos de RAM para os nós de computação aumentarão para 1 TB em 4 de setembro e para 2 TB em 4 de dezembro. À medida que a RAM aumenta, não é rebuscado pensar em 4.096 TxPT.
Com ticks mais rápidos e maiores, as coisas começam a ser diferentes. O Qubic passará de 410 TxPS (1.024 TxPT / 2,5 tDur) para 20.480 TxPS (4.096 TxPT / 0,2 tDur). Estes valores são optimistas; à medida que o débito aumenta, podem surgir outros estrangulamentos, mas fica-se com a ideia:
Equipamento | tDur | TxPT | Cenário | Gen | S. Contrato | Txs | TfPS |
#1 | 0.2 | 4096 | 1 para 1 | Tx | N/A | 20,480 | 20,480 |
#2 | 0.2 | 4096 | 1-para-muitos | SC | QUTIL | ~10,250 | 20,480 |
#3 | 0.2 | 4096 | 1-para-Muitos | SC | AEROPORTO | 1 | M? |
#4 | 0.2 | 4096 | 1-para-todos | SC | AEROPORTO | 1 | M? |
Achas que isto é rápido? Está na altura de apertar o cinto.
Equipa Valis
O Qubic alcança um desempenho de "mind-blogging" em TfPS gerados por SC, mas, até agora, todos os SCs se concentraram no cenário de transferência de 1 para muitos. O que aconteceria se pudéssemos aproveitar os Qubic SCs no benchmark mais difícil de obter velocidade máxima, o cenário de transferência 1 para 1?
Qubic | Sem SC | Com SC |
De 1 para 1 | Modesto | Desconhecido |
De 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 a Qubic não tenha custos de gás a minimizar, o nosso objetivo é maximizar o número de transferências 1-para-1 que podem ser codificadas numa única transação.
Identificámos um método capaz de enrolar 26 a 95 transferências 1-para-1 por SC Tx utilizando o limite atual de 1024 TxPT. Esperamos que essa capacidade aumente rapidamente de 26x para 95x devido à reutilização eficiente de endereços do Qubic. Usando uma estimativa conservadora de 90x, isso se traduz em ~40k TxPS com os parâmetros de rede atuais. Com um aumento de 12,5x na capacidade da rede, isso poderia atingir 1,8 milhões de TxPS em cenários de transferência 1 para 1.
Equipamento | tDur | TxPT | Cenário | Gen | S. Contrato | Txs | TfPS |
#2 | 2.5 | 1024 | 1 para 1 | SC | VROLLUP-26 | 410 | 10,660 |
#2 | 2.5 | 1024 | 1 para 1 | SC | VROLLUP-90 | 410 | 38,950 |
#2 | 0.2 | 4096 | 1 para 1 | SC | VROLLUP-26 | 20,480 | 532,480 |
#2 | 0.2 | 4096 | 1 para 1 | SC | VROLLUP-90 | 20,480 | 1,843,200 |
Ajoelhar-se perante a Coroa
As contribuições acima farão da Qubic o líder indiscutível em TfPS, em todos os cenários e cadeias de transferência. "The Fastest" é uma afirmação de marketing curta, direta e poderosa, com grande apelo no mundo das criptomoedas.
O posicionamento "ultra-high-performance" responde à questão crítica do porquê tão alto e claro que pode sozinho atrair empresários de todas as verticais para construir sobre Qubic. Juntamente com a primeira stablecoin segura, transparente, consistente, instantânea, escalável e gratuita do mundo, tem uma chance real de fazer do Qubic uma potência em estabilidade econômica, liquidez e DeFi.
O "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 o nosso produto.
Se achas que a Qubic é bonita, devias vê-la numa coroa.
A seguir: Proposta Valis
Na parte final da nossa série, vamos delinear o nosso plano para dar vida a uma stablecoin baseada na Qubic. Cobriremos a nossa estratégia de angariação de fundos, potenciais fontes de capital e como planeamos usar os fundos. Estabeleceremos objectivos claros e explicaremos como esta iniciativa irá gerar valor e crescimento a longo prazo para o ecossistema Qubic.
Leia a série "O Caso de um Stablecoin Qubic”
- O Caso de um Stablecoin Qubic - Parte 1: A Pergunta 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: Crescendo o Ecossistema
Para as últimas atualizações, junta-te ao Discord da Valis, segue-nos no X e adiciona o nosso blog aos marcadores.
Nesta página
- O Caso de um Qubic Stablecoin - 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ências
- Parâmetros de rede
- Decidir o que medir
- Desempenho hoje
- Primeira velocidade
- Segunda velocidade
- Terceira velocidade
- Quarta mudança
- Quinta marcha
- Uma coroa desigual
- Desempenho no futuro
- Equipa principal do Qubic
- Equipa Valis
- Ajoelhar-se perante a Coroa
- A seguir: Proposta Valis
- Leia a série "O Caso de um Stablecoin Qubic”
Publicações relacionadas