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.
| Blockchain | Standard | Verifica |
|---|---|---|
| Ethereum ed EVM | EIP-191 personal_sign | Recupero offline del firmatario |
| Wallet smart contract | EIP-1271 | Chiamata on-chain a isValidSignature |
| Bitcoin (SegWit / Taproot) | BIP-322 | Offline |
| Bitcoin (P2PKH legacy) | BIP-137 signmessage | Offline |
| Litecoin, Dogecoin, Zcash (t1) | BIP-137 con il prefisso della rete | Offline |
| Solana | ed25519 | Offline |
| Polkadot, Kusama | sr25519 / ed25519 | Offline |
| TRON | TronWeb 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:
signatureè una firma valida dichallengeda parte diaddresssulla blockchain indicata. Già questo dimostra il controllo della chiave.- Ricalcola lo
SHA-256del JSON canonico del certificato; deve essere uguale acontentHash(la foglia merkle). - Ripiega la foglia con
merkleProof(keccak256, coppie ordinate); il risultato deve essere uguale amerkleRoot. - Chiama
timestamps(merkleRoot)sul contratto Stamper su Polygon; un valore diverso da zero è il momento entro cui il certificato esisteva. - 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.