Semântica da prova

O que um certificado Signet comprova — com precisão.

Esta página faz parte do produto, não do marketing. Uma prova só é útil se todos concordarem exatamente sobre o que ela afirma. Aqui estão a afirmação, a criptografia por trás dela e como conferi-la sem precisar confiar em nós.

A afirmação

Um certificado Signet faz uma única afirmação, restrita e forte: o titular da chave privada de um determinado endereço assinou um determinado desafio em um determinado momento. Nada mais. É uma prova de controle de uma chave, não de identidade.

Comprovado, sem necessidade de confiança

  • Este endereço produziu esta assinatura sobre este desafio.
  • O signatário detinha a chave privada no momento da assinatura.
  • O hash do certificado existia, no máximo, até o momento da ancoragem on-chain.

Não comprovado

  • A identidade do signatário.
  • Que o controle é exclusivo, ou que a chave não foi compartilhada nem obtida sob coação.
  • Que o signatário é cliente do solicitante — a vinculação com uma identidade cabe ao KYC do solicitante.

Como é comprovada

O solicitante emite um desafio que inclui um nonce de uso único vinculado a essa única solicitação. A contraparte assina os bytes exatos do desafio com a própria carteira. Verificamos a assinatura em relação ao endereço na blockchain correta, depois calculamos o hash do certificado resultante e ancoramos esse hash on-chain por meio de um lote merkle — o mesmo contrato Stamper usado em toda a família BA, para que o verificador público o valide sem alterações.

O nonce torna a reutilização impossível: uma assinatura sobre o desafio de uma solicitação não pode ser transferida para outra. Verificamos o desafio armazenado byte a byte, nunca uma cópia regenerada.

Criptografia por blockchain

Cada blockchain tem o próprio padrão de assinatura. A camada de verificação foi projetada para que novas blockchains sejam adicionadas sem alterar as existentes.

BlockchainPadrãoVerificação
Ethereum e EVMEIP-191 personal_signRecuperação offline do signatário
Carteiras smart contractEIP-1271Chamada on-chain a isValidSignature
Bitcoin (SegWit / Taproot)BIP-322Offline
Bitcoin (P2PKH legacy)BIP-137 signmessageOffline
Litecoin, Dogecoin, Zcash (t1)BIP-137 com o prefixo da redeOffline
Solanaed25519Offline
Polkadot, Kusamasr25519 / ed25519Offline
TRONTronWeb signMessageV2 (também app Ledger TRON)Recuperação offline do signatário

Verifique você mesmo

Cada certificado exporta um pacote de prova autossuficiente. Qualquer pessoa pode conferi-lo em blockchains públicas, sem conta e sem precisar confiar na BA | Signet:

  1. signature é uma assinatura válida de challenge por address na blockchain indicada. Só isso já comprova o controle da chave.
  2. Recalcule o SHA-256 do JSON canônico do certificado; ele deve ser igual a contentHash (a folha merkle).
  3. Dobre a folha com merkleProof (keccak256, pares ordenados); o resultado deve ser igual a merkleRoot.
  4. Chame timestamps(merkleRoot) no contrato Stamper na Polygon; um valor diferente de zero é o momento até o qual o certificado já existia.
  5. Opcionalmente, verifique a prova OpenTimestamps em relação ao bloco Bitcoin.

O que armazenamos

A contraparte não é nossa cliente e não tem conta. Coletamos o mínimo: o endereço, o desafio, a assinatura, o carimbo de data e hora e a referência do solicitante. Nunca pedimos nem aceitamos uma chave privada ou frase de recuperação. Nenhuma criação de perfil baseada em IP além do que a prevenção de abusos exige. A retenção constitui o registro de compliance do solicitante e é excluída mediante solicitação.