Uma semente só floresce uma vez; quando você a planta, precisa pensar bem. E a coleta de sementes só pode depender de você mesmo.

Isso é algo que entendi no meu jardim. A chave WOTS @BabylonLabs_io é esse tipo de semente: uso único — os materiais de chave usados ficam inválidos; o novo fluxo precisa ser substituído por outro. O protocolo fixa o uso único. A responsabilidade pelas cópias de segurança fica com o usuário.

Vamos fazer um experimento mental. Suponha que a chave pudesse ser reutilizada: o que aconteceria? A reutilização dos materiais de assinatura equivale a deixar ao atacante uma janela para aproveitar a repetição; um vazamento uma vez, problemas em todas as vezes. Eu achava que o design de uso único era trabalhoso, mas só depois de ler entendi que ele coloca o risco na linha de frente: chave usada é descartada; a janela de vazamento é fechada diretamente. No jardim, uma semente só floresce uma vez — na verdade, é o melhor remédio contra pragas: o inseto come uma vez e, na próxima, não há flor para comer.

Então o que o usuário precisa fazer? Fazer backup. A semente acaba quando usada, então antes de semear é preciso deixar pronta a próxima leva de sementes. A lista de backup tem de registrar a correspondência com o cofre, o status de uso de cada chave de uso único, e a localização onde os materiais estão guardados. Se você esquecer qualquer item, é como perder uma colheita de uma estação inteira.

O que exatamente a lista de backup precisa registrar? A correspondência com o cofre, o status de uso da chave de uso único, e a localização dos materiais — três coisas que não podem faltar. Saber só o local, mas não o status, torna impossível saber se a semente está lá ou não. Saber só o status, mas não a correspondência, deixa incerto a quem pertence a colheita. As regras do jardim: marcando tudo certinho, haverá colheita no ano seguinte. No ecossistema $BABY , tudo o que estiver escrito “só pode ser usado uma vez” vale a pena manter duas cópias.

Para encerrar, uma frase: uso único não é para dificultar; é para colocar o custo de segurança no dia em que o sistema é criado. O custo colocado na frente o usuário enxerga; o risco colocado depois o usuário não enxerga. Custo visível é fácil de gerenciar; risco invisível é que assusta. Quem cultiva flores sabe: uma boa colheita começa na escolha das sementes. Prepare também essa tarefa de backup — faça antes de semear. Guarde os materiais em três lugares: local, disco offline e papel; na cadeia, deixe um índice. Se você perder uma cópia, ainda ficam duas.

Vá lendo esse design com calma: quanto mais olha, mais faz sentido. Uso único é o limite mínimo de segurança do protocolo; backup é o limite de responsabilidade do usuário. Ambos cuidam de suas próprias partes. Babylon separa claramente a linha de base e a responsabilidade, e o usuário só precisa seguir. #baby