Semantica della prova

Cosa dimostra un certificato Signet — con precisione.

Questa pagina fa parte del prodotto, non del marketing. Una prova è utile solo se tutti concordano esattamente su ciò che afferma. Ecco l'affermazione, la crittografia su cui si basa e come controllarla senza fidarsi di noi.

L'affermazione

Un certificato Signet fa un'unica affermazione, circoscritta e forte: il titolare della chiave privata di un dato indirizzo ha firmato una data challenge in un dato momento. Niente di più. È una prova di controllo di una chiave, non di identità.

Dimostrato, senza fiducia

  • Questo indirizzo ha prodotto questa firma su questa challenge.
  • Il firmatario deteneva la chiave privata al momento della firma.
  • L'hash del certificato esisteva entro il momento dell'ancoraggio on-chain.

Non dimostrato

  • L'identità del firmatario.
  • Che il controllo sia esclusivo, o che la chiave non sia stata condivisa o estorta.
  • Che il firmatario sia cliente del richiedente — il collegamento all'identità spetta alla KYC del richiedente.

Come viene dimostrata

Il richiedente emette una challenge che contiene un nonce monouso legato a quell'unica richiesta. La controparte firma con il proprio wallet i byte esatti della challenge. Verifichiamo la firma rispetto all'indirizzo sulla blockchain corretta, poi calcoliamo l'hash del certificato risultante e lo ancoriamo on-chain tramite un batch merkle — lo stesso contratto Stamper usato in tutta la famiglia BA, così il verificatore pubblico lo convalida senza modifiche.

Il nonce rende impossibile il riutilizzo: una firma sulla challenge di una richiesta non può essere spostata su un'altra. Verifichiamo la challenge conservata byte per byte, mai una copia rigenerata.

Crittografia per blockchain

Ogni blockchain ha il proprio standard di firma. Il livello di verifica è progettato perché nuove blockchain si aggiungano senza modificare le esistenti.

BlockchainStandardVerifica
Ethereum ed EVMEIP-191 personal_signRecupero offline del firmatario
Wallet smart contractEIP-1271Chiamata on-chain a isValidSignature
Bitcoin (SegWit / Taproot)BIP-322Offline
Bitcoin (P2PKH legacy)BIP-137 signmessageOffline
Litecoin, Dogecoin, Zcash (t1)BIP-137 con il prefisso della reteOffline
Solanaed25519Offline
Polkadot, Kusamasr25519 / ed25519Offline
TRONTronWeb signMessageV2 (anche app Ledger TRON)Recupero offline del firmatario

Verificalo tu stesso

Ogni certificato esporta un pacchetto di prova autosufficiente. Chiunque può controllarlo sulle blockchain pubbliche, senza account e senza fidarsi di BA | Signet:

  1. signature è una firma valida di challenge da parte di address sulla blockchain indicata. Già questo dimostra il controllo della chiave.
  2. Ricalcola lo SHA-256 del JSON canonico del certificato; deve essere uguale a contentHash (la foglia merkle).
  3. Ripiega la foglia con merkleProof (keccak256, coppie ordinate); il risultato deve essere uguale a merkleRoot.
  4. Chiama timestamps(merkleRoot) sul contratto Stamper su Polygon; un valore diverso da zero è il momento entro cui il certificato esisteva.
  5. Facoltativamente, verifica la prova OpenTimestamps rispetto al blocco Bitcoin.

Cosa conserviamo

La controparte non è nostra cliente e non ha un account. Raccogliamo il minimo: l'indirizzo, la challenge, la firma, il timestamp e il riferimento del richiedente. Non chiediamo né accettiamo mai una chiave privata o una seed phrase. Nessuna profilazione basata sull'IP oltre a quanto richiesto dalla prevenzione degli abusi. La conservazione costituisce la documentazione di compliance del richiedente, cancellata su richiesta.