Bewijssemantiek

Wat een Signet-certificaat bewijst — precies.

Deze pagina hoort bij het product, niet bij de marketing. Een bewijs is alleen nuttig als iedereen het eens is over wat het precies beweert. Hier staan de bewering, de cryptografie erachter en hoe je het controleert zonder ons te vertrouwen.

De bewering

Een Signet-certificaat doet één beperkte, sterke uitspraak: de houder van de privésleutel van een bepaald adres heeft een bepaalde challenge op een bepaald moment ondertekend. Niets meer. Het is een bewijs van controle over een sleutel, niet van identiteit.

Bewezen, zonder vertrouwen

  • Dit adres heeft deze handtekening over deze challenge geproduceerd.
  • De ondertekenaar had de privésleutel op het moment van ondertekenen.
  • De certificaathash bestond op het moment van de on-chain verankering.

Niet bewezen

  • De identiteit van de ondertekenaar.
  • Dat de controle exclusief is, of dat de sleutel niet gedeeld of onder dwang gebruikt is.
  • Dat de ondertekenaar klant is van de aanvrager — de koppeling aan een identiteit is de KYC van de aanvrager.

Hoe het wordt bewezen

De aanvrager stelt een challenge op met daarin een eenmalige nonce die aan dat ene verzoek gekoppeld is. De tegenpartij ondertekent exact de bytes van de challenge met de eigen wallet. Wij verifiëren de handtekening tegen het adres op de juiste chain, hashen daarna het resulterende certificaat en verankeren die hash on-chain via een merkle-batch — hetzelfde Stamper-contract dat binnen de hele BA-familie wordt gebruikt, zodat de openbare verifier het ongewijzigd valideert.

De nonce maakt hergebruik onmogelijk: een handtekening over de challenge van het ene verzoek kan niet naar een ander worden verplaatst. We verifiëren de opgeslagen challenge byte voor byte, nooit een opnieuw opgebouwde kopie.

Cryptografie per chain

Elke chain heeft een eigen ondertekeningsstandaard. De verificatielaag is zo ontworpen dat nieuwe chains alleen iets toevoegen.

ChainStandaardVerificatie
Ethereum & EVMEIP-191 personal_signOffline herleiding van de ondertekenaar
Smart-contractwalletsEIP-1271On-chain aanroep van isValidSignature
Bitcoin (SegWit / Taproot)BIP-322Offline
Bitcoin (legacy P2PKH)BIP-137 signmessageOffline
Litecoin, Dogecoin, Zcash (t1)BIP-137 met het prefix van het netwerkOffline
Solanaed25519Offline
Polkadot, Kusamasr25519 / ed25519Offline
TRONTronWeb signMessageV2 (ook Ledger TRON-app)Offline herleiding van de ondertekenaar

Controleer het zelf

Elk certificaat exporteert een zelfstandig bewijspakket. Iedereen kan het controleren tegen openbare chains, zonder account en zonder BA | Signet te vertrouwen:

  1. signature is een geldige handtekening van challenge door address op de vermelde chain. Dit alleen al bewijst controle over de sleutel.
  2. Bereken de SHA-256 van de canonieke certificaat-JSON opnieuw; die moet gelijk zijn aan contentHash (de merkle-leaf).
  3. Vouw de leaf met merkleProof (keccak256, gesorteerde paren); het resultaat moet gelijk zijn aan merkleRoot.
  4. Roep timestamps(merkleRoot) aan op het Stamper-contract op Polygon; een waarde ongelijk aan nul is het moment waarop het certificaat uiterlijk bestond.
  5. Verifieer optioneel het OpenTimestamps-bewijs tegen het Bitcoin-blok.

Wat we opslaan

De tegenpartij is niet onze klant en heeft geen account. We verzamelen het minimum: het adres, de challenge, de handtekening, het tijdstip en de referentie van de aanvrager. We vragen of accepteren nooit een privésleutel of herstelzin. Geen profilering op basis van IP-adressen buiten wat misbruikpreventie vereist. De gegevens worden bewaard als compliancedossier van de aanvrager en op verzoek verwijderd.