O modelo de duas chaves
Por que sua carteira é controlada por duas chaves em vez de uma, e o que cada chave pode e não pode fazer.
A maioria das carteiras autocustodiais descansa sobre um único segredo, e tudo o que é difícil nelas vem daí. O MozaikPay divide o trabalho entre duas chaves. Esta página explica o que cada chave faz, por que a separação existe e o que faz ela valer.
O problema de uma chave só
Uma carteira clássica te dá um segredo, normalmente vestido de doze palavras num papel. Esse único segredo gasta o dinheiro, faz o backup da carteira e a restaura em um aparelho novo. Ele precisa estar à mão todo dia e guardado para sempre, e esses dois trabalhos puxam em direções opostas. Deixe o segredo por perto e ele fica exposto. Tranque-o longe e você não paga nem um café. Perca-o, e tudo some de uma vez.
A solução é uma ideia antiga, a separação de funções. Dê o trabalho do dia a dia e o trabalho de emergência a chaves diferentes, e garanta que nenhuma consiga fazer o trabalho da outra.
A chave de gastos
Sua chave de gastos é criada no seu telefone quando a carteira é configurada, e vive no armazenamento seguro do aparelho, presa àquele único dispositivo. Ela nunca vai para backup, nunca é sincronizada e nunca é enviada a ninguém, nem para a gente.
O único poder dela é mover fundos. Quando você confirma um pagamento com seu PIN ou biometria, o app desbloqueia a chave só o suficiente para assinar aquele único pagamento, e a tranca de novo. Todo movimento de fundos no MozaikPay é autorizado assim, no seu telefone, por essa chave.
Se um ladrão de algum jeito extraísse sua chave de gastos e tentasse te deixar de fora substituindo-a, a carteira recusaria. Trocas de chave pertencem à outra chave.
A chave de recuperação
Sua chave de recuperação também é criada no seu telefone, e é criptografada na hora com uma senha que só você conhece. O que de fato fica guardado, na sua nuvem, no seu e-mail ou onde você escolher, é um arquivo trancado. A senha nunca sai do seu telefone, então não existe em lugar nenhum uma cópia da sua chave de recuperação em uma forma que outra pessoa consiga usar. Tudo o que a gente chega a saber é o endereço público dela.
Os poderes dela são exatamente dois. Ela pode substituir a chave de gastos, que é como sua carteira se muda para um telefone novo, e pode substituir a si mesma, que é como você aposenta um backup em que não confia mais. A chave de recuperação não pode mover fundos. Nem alguém com o seu arquivo de backup e a senha dele conseguiria gastar um centavo com ela.
O contrato faz a separação valer
Sua carteira é uma conta inteligente, um pequeno contrato na Base, e o contrato verifica duas coisas em cada instrução que recebe: qual chave a assinou e o que ela está pedindo. Uma assinatura da chave de gastos numa troca de chave é rejeitada. Uma assinatura da chave de recuperação num pagamento é rejeitada. A rejeição acontece na rede, em código público que qualquer um pode ler, sem nossos servidores em nenhum ponto da decisão.
O que a separação te dá
A chave que você usa todo dia não é a chave cuja perda é fatal.
Se seu telefone for perdido, roubado ou quebrar, a chave de gastos morre com ele e o seu dinheiro não. Em um telefone novo, sua chave de recuperação autoriza a rede a aceitar uma chave de gastos recém-criada, e a partir desse momento a antiga não assina mais nada, não importa com quem o telefone termine. O que acontece se eu perder meu telefone? conta essa história por inteiro.
Se você suspeitar que seu arquivo de backup vazou, a chave de recuperação substitui a si mesma. Você cria um backup novo com uma senha nova, e o arquivo velho perde o valor onde quer que tenha ido parar.
Se o backup sumiu, ou a senha dele foi esquecida, enquanto seu telefone ainda funciona, seu dinheiro continua podendo ser gasto, e você pode movê-lo para um lugar seguro enquanto o aparelho durar. A única perda total é perder as duas chaves ao mesmo tempo, que tem o mesmo formato de perder o telefone e o gerenciador de senhas no mesmo dia.