O perigoso endereço Dusk nem sempre é um inválido. Ele pode ser perfeitamente um endereço válido do modelo de transação errado.
Tanto os endereços do Moonlight quanto do Phoenix são Base58, então uma verificação simples “isso parece Base58?” me diz pouco. O Moonlight é uma chave pública BLS12-381 G2 comprimida. O Phoenix são dois pontos Jubjub comprimidos. O mesmo alfabeto na tela, estruturas diferentes por baixo.
Isso importa se eu estiver criando um formulário de depósito ou saque DUSK em torno do Moonlight. O caminho de troca da Dusk é explicitamente o Moonlight, enquanto o Phoenix precisa de um modelo diferente de custódia e de varredura. Se meu campo de endereço só verifica caracteres, posso aceitar um endereço Phoenix blindado em um fluxo construído para atribuir, escanear ou enviar contra contas públicas do Moonlight.
A falha aparece tarde. O usuário vê “endereço aceito”. Minha base de dados o armazena. Depois, o construtor de transações ou o pipeline de depósito é o primeiro lugar que descobre que o endereço pertence à família errada.
Eu analisaria o endereço de forma estrutural na fronteira e afirmaria o modelo esperado antes de salvá-lo.
Na Dusk, endereço válido e destino válido são duas verificações diferentes.
$GNO $SOXSB #dusk $DUSK @Dusk
Tanto os endereços do Moonlight quanto do Phoenix são Base58, então uma verificação simples “isso parece Base58?” me diz pouco. O Moonlight é uma chave pública BLS12-381 G2 comprimida. O Phoenix são dois pontos Jubjub comprimidos. O mesmo alfabeto na tela, estruturas diferentes por baixo.
Isso importa se eu estiver criando um formulário de depósito ou saque DUSK em torno do Moonlight. O caminho de troca da Dusk é explicitamente o Moonlight, enquanto o Phoenix precisa de um modelo diferente de custódia e de varredura. Se meu campo de endereço só verifica caracteres, posso aceitar um endereço Phoenix blindado em um fluxo construído para atribuir, escanear ou enviar contra contas públicas do Moonlight.
A falha aparece tarde. O usuário vê “endereço aceito”. Minha base de dados o armazena. Depois, o construtor de transações ou o pipeline de depósito é o primeiro lugar que descobre que o endereço pertence à família errada.
Eu analisaria o endereço de forma estrutural na fronteira e afirmaria o modelo esperado antes de salvá-lo.
Na Dusk, endereço válido e destino válido são duas verificações diferentes.
$GNO $SOXSB #dusk $DUSK @Dusk