A Decepção das Chaves Aleatórias do Pix

Análise feita do ponto de vista do usuário, com um quê técnico.

Roger Oba
3 min readDec 28, 2020
Fonte: bcb.gov.br

Em fevereiro de 2020 o Banco Central anunciou a criação do Pix, e em agosto fiquei sabendo um pouco mais sobre como as chaves do Pix funcionariam.

Nesse artigo não vou explicar o porquê de usar chaves aleatórias — isso pode ser encontrado neste outro artigo: Pix e Privacidade: Exclua Suas Chaves do Pix Imediatamente

Entusiasmado com a utilização das chaves aleatórias, esperei o grande dia para poder utilizá-las pela primeira vez, para ver como elas funcionariam. E, pra minha decepção, quando o dia chegou, logo me decepcionei.

a522f494-92ce-44e9-b1a3-f891baed8d60

Que ***** de chave é essa?

A partir de agora o artigo vai ficar um pouco mais técnico, mas posso resumir o resto do artigo em:

"Seria ótimo se as chaves aleatórias fossem memoráveis, curtas, e não-ambíguas, por exemplo: HDCK2."

O que fizeram de errado

Você e seu amigo vão a um restaurante, você paga a conta toda, mas ele quer transferir pra você a parte dele usando Pix. Ótimo, ele só precisa da sua chave Pix, algo como: a522f494-92ce-44e9-b1a3-f891baed8d60

Nesse momento, você tem 4 opções:

  • Pegar o celular e mostrar o código QR, pra ele poder escanear usando o celular dele;
  • Pegar o celular, copiar o código e enviar pra ele de alguma forma (por exemplo via Telegram, WhatsApp, etc);
  • Pegar o celular, ler os 36 caracteres em voz alta e fazer ele anotar em algum lugar, tomando cuidado pra não ditar ou anotar nada errado;
  • Falar "deixa quieto, na próxima você paga."

Como você pode ver, todas as opções requerem dois celulares.

Aparentemente utilizaram um gerador de identificador universalmente único (popularmente conhecido como UUID) para gerar chaves aleatórias para os usuários. O problema é a usabilidade de todo o sistema, uma vez que a chave precisa ser transmitida de uma pessoa a outra, e ela não é curta, tampouco memorável.

Como poderiam ter feito

Chaves Aleatórias Amigáveis

Ao invés de usar um UUID para gerar a chave aleatória, poderiam criar algo mais amigável ao usuário, que idealmente fosse memorável — e pontos extras por proverem uma chave sem ambiguidade (por exemplo remover M e N — letras com sons e grafias parecidos que podem ser confundidos tanto na fala quanto na escrita). Veja como essa conversa seria muito mais simples: “claro, minha chave do Pix é HDCA2”, ou “Helicóptero De Carga Armado 2”, ou “🚁📦🔫2️⃣". Note que com apenas 5 caracteres existem mais de 60 milhões de combinações possíveis (considerando 36 caracteres alfanuméricos disponíveis). Quando todas se esgotassem, poderiam aumentar pra 6, contando com mais 2,1 bilhões de chaves, e assim por diante.

Tá certo que utilizar um UUID permite que as chaves sejam geradas de forma decentralizada pois a chance de colisão é virtualmente nula — algo que não seria factível com um gerador de chaves amigável. No entanto, não vejo empecilhos do Banco Central oferecer um serviço centralizado que forneça chaves amigáveis únicas. Isso não deveria afetar o tempo de criação de chave comparado com o que temos hoje, mesmo porque hoje esse processo já acontece de modo assíncrono (você pede o cadastro de uma chave aleatória, e somente após alguns minutos, horas, dias, ou até mesmo semanas, que o banco lhe informa sua chave). Baseado nisso, pelo o que me parece o processo de criação de chaves já acontece de forma centralizada.

Chaves Criadas por Usuários

O bom e velho "username". Não entendo bem por que não oferecem a opção de criar chaves definidas pelos usuários, já que estes podem cadastrar emails, CPFs e telefones. Assim, cada um escolheria como deseja ser identificado pelo Pix, e cairia sobre o usuário a responsabilidade de criar um username memorável e conveniente.

Como usuários NÃO devem fazer

Usuários não deveriam cadastrar emails, telefones e CPFs. Para entender o porquê, leia Pix e Privacidade: Exclua Suas Chaves do Pix Imediatamente.

Conclusão

A menos que haja dificuldades técnicas ou requisitos que desconheço, não é tarde para a equipe do Banco Central implementar as chaves Pix de uma maneira melhor.

Se você tem mais informações internas que levaram a essas decisões, comente aqui em baixo. E se você conhece alguém do time que trabalhou no Pix, envie este artigo pra eles — adoraria entender os motivos que nos fizeram chegar no sistema que temos hoje.

--

--

Roger Oba

Lead iOS Engineer @ Tellus Inc. I hate reading, but Medium has been doing a great job changing this. I might write my opinions here every once in a while.