Name Price24H (%)
Bitcoin (BTC)
$5,706.21
-10.31%
Ethereum (ETH)
$181.69
-12.12%
Bitcoin Gold (BTG)
$26.02
-7.82%
XRP (XRP)
$0.467081
-8.46%
EOS (EOS)
$4.63
-11.4%
Versão alfa da CREDITS apresenta velocidade de 488.403 trans...

Altcoins

Versão alfa da CREDITS apresenta velocidade de 488.403 transações por segundo durante teste

Os técnicos da plataforma blockchain da CREDITS completaram os testes da versão Alpha do sistema. O objetivo era verificar qual é a carga máxima e como ela é resistente ao processamento de grandes volumes de transações, identificar seus problemas e resolvê-los.

– No pico de carga máxima, o sistema pôde processar uma pool (bloco) de 488 403 transações por segundo. Reestruturamos toda a arquitetura de armazenamento de dados, a API e alguns dos componentes individuais da plataforma durante o teste. O vídeo do procedimento está publicado em nosso canal do YouTube. Abaixo está o texto com detalhes técnicos como suplemento  — disse Eugeniy Butyaev, diretor de tecnologia da CREDITS. 

https://www.youtube.com/watch?v=dS_Z41r4sCs

Um robô-gerador de transações foi desenvolvido para realizar o teste. Ele funcionou de acordo com o seguinte princípio: cada iteração (os robôs formaram um conjunto de transações e enviaram grandes pools de transações por segundo durante o limite de tempo previamente estabelecido) de transação aleatória entrou no sistema o mais rápido possível e esse processo foi cíclico. Os arquivos Client_6300.bat e TransactionSendler.exe foram executados em cada um dos servidores, e apenas uma tela em um servidor. Tudo isso permitiu criar condições que simulassem um grande número de transações processadas por 1 segundo.

Implementações técnicas do teste:

  1. O principal objetivo do teste foi de checar a capacidade da arquitetura de rede de gerenciar e processar grandes volumes de transações. Esse foi o processamento de transações assíncronas por todos os nós na rede devido a operações de multi-threading. O Multi-threading, por sua vez, foi implementado apenas nas etapas de formação e processamento de uma transação. A gravação simultânea de várias transações ou a leitura e gravação de transações no banco de dados foi feita na fila de pedidos.

 

  1. Na execução total, o teste foi realizado cerca de 30 vezes e foi consistentemente de 300 a 500 mil transações por segundo, devido ao fato de que tal número de transações ocupa até 385 MB de memória (500 mil transações por segundo). A transação tem um tamanho máximo reservado no banco de dados, ou seja, até 808 bytes dependendo do saldo, do comprimento do endereço, da moeda da transação, da disponibilidade da assinatura digital, etc. Decidimos cortar a transação para 120–150 bytes para simplificar o teste. Caso contrário, teríamos que utilizar nós muito poderosos com uma alta largura de banda de rede e um grande armazenamento. Por exemplo, por 1 hora a 500 tps, o volume seria de 1.387 TB. Mais tarde, como a rede da CREDITS ganhará poder de computação, esse problema será resolvido pelos proprietários dos nós, bem como pelo sistema de arquivamento interno para armazenar os dados.

 

  1. A ausência de EDS. Fomos encarregados de testar a carga em uma versão estável da plataforma. EDS requer um tempo de processamento adicional e adiciona 64 bytes ao volume de uma transação. A função é implementada em versões posteriores da plataforma com o uso da tecnologia ЕВ25519, detalhada no artigo “A TECNOLOGIA DE SEGURANÇA DA PLATAFORMA DE CREDITS”. Neste momento, está na fase de testes. Além disso, o uso desta tecnologia pode aumentar o tempo de processamento da transação em 8 a 10%.

 

  1. Validação de nós. Recusamos o algoritmo de validação DPOS e implementamos uma versão estável do algoritmo de validação BFT. Durante a fase de teste, foi decidido usar uma versão simplificada, mas estável deste protocolo.No estágio atual, uma versão estável do algoritmo funciona da seguinte maneira: a transação recém-criada é enviada por nós confiáveis; o número de nós confiáveis varia (com um número total de 10 nós, 50% são confiáveis, mas não menos de 3; com um número total de 100 nós, 10% são confiáveis), se 51% dos nós confiáveis aprovarem o número transação, é enviada para o nó principal (master node) para desenvolvimento posterior da pool e registrada no banco de dados. A verificação da singularidade da transação foi realizada sem verificar o saldo da conta. Isso afeta a velocidade apenas em desprezíveis 1–2%, mas teríamos que criar muitas contas diferentes.

 

Conclusão e resultado dos testes.

Os dados obtidos durante esses testes representam um ótimo valor para a comunidade blockchain e também para nosso projeto. O teste ajuda a avaliar a possível carga real na rede, o que deve ser considerado ao antecipar um grande fluxo de operações.

Primeiro, provamos que nosso sistema pode lidar com grandes volumes de transações na cada das 500 mil por segundo, com perspectivas de milhões de transações. Estamos provando a viabilidade de processar milhões de transações por segundo com um tempo de processamento médio de frações de um segundo.

Deve haver um entendimento de que o código ainda não está otimizado e, mais tarde, terá um enorme potencial de melhoria e otimização.

O tempo mínimo médio de passagem de um registro de transação para o banco de dados é 1.302 microssegundos (10–6 seg) (transferência entre nós, processamento e preservação no armazenamento). Outro relatório sobre a velocidade das transações será dado em breve.

O monitoramento e análise dos resultados ajuda a detectar problemas existentes e potenciais. Durante o nosso teste, naturalmente encontramos muitas dificuldades que exigiram mais trabalho para melhorar o sistema.

No momento, a equipe técnica da CREDITS é representada por mais de 70 pessoas que trabalham no projeto, lançando comunicados e melhorando o código da plataforma.

Leia uma declaração mais detalhada sobre os testes e resultados alcançados neste artigo em seu canal no Medium: https://medium.com/@creditsbrasil/a-vers%C3%A3o-alpha-da-credits-mostrou-uma-velocidade-de-488-403-transa%C3%A7%C3%B5es-por-segundo-durante-os-3b89447872e4

Redação

Comentários