Rede Valis: Um Qubic mais difícil, melhor, mais rápido e mais forte
A Rede Valis é uma poderosa solução de middleware concebida para suportar milhões de utilizadores Qubic em simultâneo.
Spelunker, 29 de julho de 2024.
Uma megalópole em construção
Imagine uma cidade à beira de um crescimento massivo, mas com um grande problema: as suas estradas limitadas ameaçam sufocar esta expansão. Tal como uma cidade precisa de mais infra-estruturas para lidar com o aumento do tráfego, o ecossistema Qubic precisa de infra-estruturas robustas para suportar a sua base de utilizadores em expansão.
Vamos fazer um cálculo rápido. Com 50 nós de computação Qubic públicos, cada um com 80 conexões nas configurações actuais, a rede Qubic só pode suportar 4.000 conexões. Felizmente, este número limitado de ligações pode ser partilhado por vários utilizadores finais através de um "método de ligação por pedido".
Um método de ligação por pedido é uma técnica de rede em que é estabelecida uma nova ligação para cada pedido individual efectuado por um cliente a um servidor. Depois de o servidor tratar o pedido, a ligação é encerrada. Isto permite que vários clientes partilhem eficientemente um conjunto limitado de ligações, uma vez que cada ligação é utilizada apenas temporariamente.
Tal como o seu carro não utiliza a estrada 100% do tempo, um cliente não utiliza uma ligação 100% do tempo. Por conseguinte, a capacidade real da estrada depende do seu nível de utilização. Uma vez que um cálculo rápido não é suficiente, precisamos de alguns cenários:
Utilização | Ligações simultâneas por QCN | Total de ligações (50 QCNs) | Carga de ligação por carteira | Total de utilizadores suportados |
Máximo | 80 | 4,000 | 100% | 4,000 |
Pico | 80 | 4,000 | 10% | 40,000 |
Realista | 80 | 4,000 | 3% | 133,333 |
Baixa | 80 | 4,000 | 1% | 400,000 |
No nosso cenário de "Pico", a rede Qubic pode suportar 40.000 utilizadores simultâneos, apenas um pouco abaixo dos 43.000 membros do Qubic Discord oficial. Sem escalabilidade, a ambiciosa megalópole Qubic corre o risco de desaparecer antes mesmo de se materializar.
Um pouco de história
No final de 2023, Qsilver identificou este problema e começou a desenvolver uma solução. O seu principal objetivo era criar ferramentas capazes de suportar o primeiro milhão de utilizadores simultâneos da Qubic. Uma vez que a atual rede Qubic não consegue lidar diretamente com este volume, Qsilver concebeu camadas intermediárias para atuar como uma ponte entre várias aplicações (tais como utilizadores finais com carteiras) e a rede Qubic. Em termos técnicos, criou um"middleware" que poderia eventualmente integrar o mundo na Qubic.
A primeira implementação da visão da Qsilver foi desenvolvida de forma independente e denominada Qserver e Qclient. Mais tarde, o financiamento da Comunidade Qubic foi utilizado para o desenvolvimento da IU. O Qserver e o Qclient alimentam atualmente a versão 1 da Valis Wallet e do Valis Explorer.
Nos últimos quatro meses, temos estado a trabalhar silenciosa e diligentemente para melhorar o nosso middleware. Depois de passar por uma extensa refacção, melhorias e polimento, a base de código está pronta para se tornar a espinha dorsal da versão 2 da Valis Wallet e do Valis Explorer. Estamos extremamente orgulhosos dos resultados. Chamamos-lhe a Rede Valis.
Entrar na Rede Valis
A Rede Valis foi concebida como um serviço de nuvem com escalonamento a pedido. Ela segue uma estrutura de nó hierárquico distribuído, aproveitando dois tipos de nós:
- Valis Cloud Nodes (VCN): Implantados em ambientes de nuvem centralizados, os VCNs interagem com os Qubic Computor Nodes (QCN) e lidam com processamento e armazenamento de dados pesados.
- Valis Edge Nodes (VEN): Posicionados na periferia da rede, os VENs gerem as interações com o utilizador e comunicam com os VCNs.
A rede Valis suporta vários VCNs, cada um dos quais serve vários VENs. Cada VEN, por sua vez, suporta inúmeras aplicações de utilizador final (por exemplo, carteiras Valis).
Na rede Valis, 99,9% dos dados fluem da rede Qubic para o utilizador final. Os VCNs extraem dados da Qubic Network, comprimem-nos e transmitem-nos aos VENs, que processam fluxos de dados optimizados e tratam os pedidos de websocket das aplicações do utilizador final. Os VENs sincronizam com o tick mais recente com latência mínima.
O único momento em que os dados fluem na direção oposta é quando os utilizadores finais enviam transacções através de aplicações de utilizador final, como a Valis Wallet, para a Qubic Network.
Levar a relação custo-eficácia ao limite
Quando falamos de"execução" na Valis, referimo-nos a fazer as coisas de forma eficaz e eficiente. Note-se que a eficácia tem a ver com o resultado, enquanto a eficiência tem a ver com o processo. O simples facto de atingir o objetivo (por exemplo, escalabilidade, usabilidade...) não é considerado um sucesso. É necessário fazê-lo utilizando os recursos de forma sensata e minimizando o desperdício. Por conseguinte, para determinar se a Rede Valis é bem sucedida, temos de olhar para o custo.
Escalabilidade económica
Enquanto nos preparamos para entrar na fase de testes, esperamos que a Rede Valis seja escalada horizontalmente a um custo mensal de 1000 dólares por milhão de utilizadores. Por outras palavras, um milésimo por carteira e por mês. Este exemplo pressupõe a implementação de apenas 1 VCN ($200/VCN/mês) para gerir 40 VENs ($20/VEN/mês), cada uma suportando 25.000 carteiras Valis.
Em termos de escalabilidade, esta configuração é mais económica do que as soluções descentralizadas. Mais uma vez, lembre-se, um Qubic Computor Node suporta 80 conexões, e o servidor sozinho(servidor bare metal com pelo menos 8 núcleos, 500GB ou RAM e conexão de internet síncrona de 1Gbps) tem um custo estimado de cerca de $13.000.
É verdade que comparar um VCN com um QCN é como comparar maçãs e laranjas. Cada um deles visa atingir objectivos diferentes. No entanto, quando se trata de servir os utilizadores finais, a Rede Valis (VN) na sua configuração mínima de 1000 dólares/mês é 25 vezes mais eficiente do que toda a Rede Qubic (QN) de 50 QCNs a funcionar no pico de utilização com 650 000 dólares de investimento inicial.
Usabilidade económica
Ao mesmo tempo que assegura uma experiência óptima para o utilizador final, a escalabilidade não é a única ameaça para a Qubic Megalopolis.
Na busca incessante do máximo desempenho, a Qubic faz muitas escolhas pouco ortodoxas, algumas das quais afectam a usabilidade. Por exemplo, uma vez que a Qubic elimina todos os dados, exceto os saldos, semanalmente, a criação de históricos de transacções para os utilizadores finais torna-se um desafio. Não se preocupe, a Rede Valis vem em socorro. Ao manter um arquivo histórico atualizado de dados transaccionais, armazenando e indexando todas as transacções para uma recuperação rápida, a Valis Network é capaz de oferecer saldos de tokens e históricos de transacções actualizados aos utilizadores finais. Como referência, um QCN requer 35 GB de armazenamento por época de dados brutos, enquanto cada VEN usa 6 GB para 23 épocas, ou 0,26 GB por época.
Para além das caraterísticas, a velocidade é importante. Cada nova ligação demora cerca de um segundo a estabelecer, acrescentando uma latência indesejada. Um segundo pode não parecer muito, mas, quando se trata de aplicações para utilizadores finais (inscrições, pagamentos em POS, transferências com a expetativa de confirmação quase instantânea...), esse atraso adicional torna-se bastante percetível, muito para além do limiar de Doherty. Ao manter conexões persistentes, a rede Valis elimina esse segundo extra em escala.
Custo-eficiência, escalabilidade e usabilidade em ação
Para compreender melhor os benefícios da Rede Valis para as aplicações do utilizador final, vamos utilizar a Valis Wallet como exemplo. Vamos nos concentrar em como oferecer três recursos principais em escala:
- Exibição de saldos de tokens: A Valis Wallet exibe eficientemente os saldos dos tokens sem exigir a intervenção do utilizador. Outras carteiras podem exibir saldos. No entanto, elas geralmente se desconectam e exigem atualizações manuais para reduzir a carga de QCN.
- Suporte a Qx: A Valis Wallet é a única carteira Qubic que suporta o Qx Decentralized Exchange (DEX). Outras carteiras podem criar transacções Qx sem middleware, ligando-se diretamente a um QCN, mas que ordens devem os utilizadores fazer sem ver o livro de ordens? Em teoria, outras carteiras poderiam solicitar a busca de livros de ordens a cada tick, mas elas rapidamente sobrecarregariam os QCNs, por isso não o fazem.
- Disponibilidade durante picos: A Valis Wallet mantém-se recetiva e funcional mesmo durante eventos de elevado tráfego, suportando milhões de utilizadores graças à utilização de ligações persistentes. Outras carteiras podem, e irão, deixar de responder sob carga pesada.
Como pode ver, enquanto outras se esforçam ou não conseguem imitar as principais caraterísticas durante períodos de baixa atividade ou em condições limitadas, a Valis Wallet pode oferecer as mesmas caraterísticas-chave de forma económica e fiável, em escala, garantindo um serviço ininterrupto e evitando o congestionamento da rede.
Em suma, a rede Valis oferece às empresas e aos programadores uma vantagem única em termos de escalabilidade, eficiência e facilidade de utilização, especialmente em condições de elevado tráfego. Além disso, beneficia o ecossistema Qubic ao oferecer estas funcionalidades sem danificar a rede, evitando assim uma tragédia dos comuns.
O exoesqueleto da Qubic
Ao ler sobre os desafios descritos acima, alguns podem pensar que a Qubic tem falhas e que a rede Valis é uma muleta da Qubic. Nós não. O Qubic é um belo DRT, intransigente na procura de desempenho, eliminando todos os elementos desnecessários até restar apenas o essencial. Em vez disso, consideramos a Rede Valis como o exoesqueleto da Qubic, complementando e melhorando a Rede Qubic.
Graças à utilização de contratos inteligentes, os utilizadores finais da Qubic obtêm desempenho e, graças à rede Valis, escalabilidade e facilidade de utilização. De forma eficaz e eficiente.
Outra forma de pensar sobre a natureza complementar de ambas as redes é como uma cebola com quatro camadas, cada uma delas encapsulando as anteriores. A camada interna é uma rede formada por QCNs. A segunda e a terceira camadas são formadas por VCN e VEN, respetivamente. Em conjunto, as camadas intermédias constituem a rede Valis. A camada exterior é uma rede de utilizadores finais, programadores e empresas.
As partes interessadas da Qubic podem optar por interagir diretamente com a camada interna, mas terão menos fiabilidade, maior complexidade de desenvolvimento, menos funcionalidades, desempenho mais lento e fraca escalabilidade. Graças à rede Valis, a Qubic torna-se:
Mais difícil (Fiabilidade)
As ligações persistentes na Rede Valis evitam o tempo de inatividade durante os períodos de pico das transacções. A sua carteira Valis estará disponível quando mais precisar dela.
Melhor (Tempo para solução e recursos)
Os programadores podem integrar-se rapidamente com a Qubic utilizando a Rede Valis, evitando as complexidades da interação direta com os nós. Os utilizadores finais usufruem dos benefícios de ter acesso a dados não transaccionais e não relacionados com o stick (saldos de endereços e tokens, carteira de encomendas, marketcap, lista rica, estado de contratos inteligentes...).
Mais rápido (velocidade)
As ligações persistentes permitem aos utilizadores finais usufruir de uma latência mínima. A partilha de ligações entre todos os utilizadores permite uma experiência rápida e consistente, semelhante a uma via rápida numa autoestrada movimentada.
Mais forte (escalabilidade)
A Rede Valis pode suportar milhões de utilizadores em simultâneo, ordens de magnitude superiores às carteiras diretamente ligadas aos nós Qubic, que se debatem com apenas uma centena.
O futuro
Como sugerimos há duas semanas, acreditamos que a Rede Valis transformará o ecossistema Qubic tanto do ponto de vista comercial quanto técnico. Ao criar um serviço semelhante ao Infura em cima do Qubic, em vez do Ethereum, pretendemos facilitar o desenvolvimento e a implantação de aplicativos de usuário final de alto desempenho, impulsionando o crescimento e a adoção do Qubic.
Para os programadores
A Valis Network abstrai a complexidade da rede Qubic, permitindo que os programadores criem aplicações sem se preocuparem com a infraestrutura e a escalabilidade.
Para as empresas
As empresas podem criar e implementar aplicações escaláveis na rede Qubic com um modelo de pagamento por utilização para uma boa relação custo-eficácia.
Para o ecossistema Qubic
A Valis Network apoia o crescimento da rede Qubic fornecendo infra-estruturas essenciais, facilitando a adoção e a utilização da Qubic por parte dos programadores e das empresas.
À medida que o desenvolvimento continua, o objetivo continua a ser garantir um desempenho robusto, escalabilidade e facilidade de utilização para todas as partes interessadas.
Se tiver uma ideia para desenvolver a partir da Rede Valis, gostaríamos de a ouvir.
Para as últimas atualizações, junta-te ao Discord da Valis, segue-nos no X e adiciona o nosso blog aos marcadores.
Seguinte →
Nesta página
- Rede Valis: Um Qubic mais difícil, melhor, mais rápido e mais forte
- Uma megalópole em construção
- Um pouco de história
- Entrar na Rede Valis
- Levar a relação custo-eficácia ao limite
- Escalabilidade económica
- Usabilidade económica
- Custo-eficiência, escalabilidade e usabilidade em ação
- O exoesqueleto da Qubic
- Mais difícil (Fiabilidade)
- Melhor (Tempo para solução e recursos)
- Mais rápido (velocidade)
- Mais forte (escalabilidade)
- O futuro
- Para os programadores
- Para as empresas
- Para o ecossistema Qubic
Publicações relacionadas