Bump Seed Canonicalization

Segurança · Abismo

O requisito de que, ao derivar um Program Derived Address (PDA), um programa sempre use o bump canônico — o maior valor de bump (começando de 255 e decrementando) para o qual find_program_address retorna um ponto válido fora da curva — em vez de aceitar um bump arbitrário fornecido pelo chamador. Se um programa armazena e reutiliza um bump não canônico, um atacante pode criar um PDA diferente (com um bump canônico diferente) que coincide com um conjunto de seeds que o programa confia, ou pode derivar PDAs válidos fora do namespace esperado. As restrições seeds e bump do Anchor impõem canonicalização chamando find_program_address internamente e afirmando que o bump fornecido corresponde; armazenar o bump canônico na conta no momento do init (em vez de redescobri-lo) é o padrão recomendado por eficiência de gas.

Termos relacionados