Engenharia, às claras
Levamos nosso ledger até algo quebrar. Não foi o ledger.
Continuamos aumentando a carga até o próximo limite, removemos um ponto de contenção e deixamos o banco do ledger em cerca de metade da capacidade no pico.

2.600/ segundo
confirmados
Todos os pagamentos completos oferecidos concluíram até o topo da rampa.
~50%
capacidade do banco
Usada no pico depois da remoção da contenção.
0
falhas graves
Nenhum pagamento desapareceu em um resultado ambíguo.
0
violações do ledger
A auditoria independente permaneceu limpa.
Passamos da taxa confortável e continuamos
Nosso estudo anterior mostrou que o ledger permanecia correto e rápido na taxa publicada, com folga. Desta vez queríamos encontrar o ponto em que o sistema parava de acompanhar e entender o que ele realmente era.
Elevamos o caminho completo de autorização e captura além do ponto em que a latência subiu e observamos qual componente cederia primeiro.
O muro era nossa própria contenção no banco
A vazão parou de crescer mesmo com o processador do banco longe de ocupado. Essa é a assinatura da contenção: trabalho serializado em vez de recurso esgotado.
Localizamos o ponto no caminho de escrita, removemos e executamos a rampa novamente.
O resultado foi direto: todos os pagamentos oferecidos foram confirmados, 100%, até 2.600 por segundo, com zero falhas graves. Nessa carga, o banco gerenciado usou apenas cerca de metade de sua capacidade máxima.
Os 1.600 pagamentos por segundo publicados ficam confortavelmente dentro dessa faixa medida. Era um número conservador, e o teste posterior mostra por quê.
O próximo limite é a parte simples
Sem a contenção, o teto mudou para a computação stateless à frente do ledger, a parte que escala horizontalmente adicionando instâncias. É um bom lugar para o limite.
A parte difícil de pagamentos não é aceitar requisições. É manter o ledger correto enquanto o dinheiro se move sob carga. Essa parte nunca foi o gargalo.
Uma auditoria independente recalculou todos os saldos a partir de 1,3 milhão de transações:
Conservação
Os lançamentos assinados continuaram fechando em zero por moeda.
Toda transação fecha
Nenhuma transação deixou os livros desequilibrados.
Armazenado igual a recalculado
Os saldos armazenados corresponderam ao histórico.
Nenhum saldo proibido
Cada conta permaneceu dentro do piso configurado.
Todos os invariantes retornaram zero.
O limite mudou para computação comum. A fronteira de correção não mudou.
As evidências são públicas
Acesso antecipado
Torne-se um parceiro de design.
Estamos trabalhando com um pequeno numero de equipes que constroem produtos de carteira e financeiros sobre o WalletD. Se essa e a sua equipe, vamos conversar. Voce tera acesso direto as pessoas que o construiram.