TL;DR
En hashkedja länkar varje verifikationshändelse till den föregående genom en kryptografisk hash. Resultatet är en struktur där varje ändring av en tidigare händelse ogiltigförklarar varje hash som kom efter. En extern revisor kan verifiera kedjan mekaniskt. Detta är vad "manipulationssäker" faktiskt betyder, och det är det som skiljer ett trovärdigt verifikationsspår för e-signering från en uppförstorad loggfil.
Strukturen
Föreställ dig att du har tre händelser att logga:
{ event: "opened", signer: "[email protected]", at: "2026-05-12T09:00Z" }{ event: "viewed_section", section: "pricing", at: "2026-05-12T09:04Z" }{ event: "signed", at: "2026-05-12T09:08Z" }
En enkel logg lagrar dem bara. En hashkedja omsluter varje händelse med den föregående händelsens hash:
event_1 = {opened, signer, at, prev_hash: "genesis"}
hash_1 = SHA-256(JSON.stringify(event_1))
event_2 = {viewed_section, section, at, prev_hash: hash_1}
hash_2 = SHA-256(JSON.stringify(event_2))
event_3 = {signed, at, prev_hash: hash_2}
hash_3 = SHA-256(JSON.stringify(event_3))
Du lagrar hash_3 någonstans externt (ett vittne, en tidsstämplingstjänst, blockkedjan, en intern Merkle-rot). Det är ditt ankare.
Varför detta är manipulationssäkert
Om någon senare redigerar händelse 1 (ändrar tidsstämpeln, byter ut signerarens namn) ändras hash_1. Eftersom händelse 2 innehöll prev_hash: hash_1 ger en omräkning av hash_2 över den ursprungliga händelse 2-datan plus den nya hash_1 en annan hash_2. Samma kaskad till hash_3.
Nu räknar verifieraren om kedjan från de ursprungliga händelserna. Sluthashen matchar inte det lagrade ankaret. Kedjan är bruten. Manipulationen är upptäckt.
Den snygga egenskapen: du behöver inte veta vilken händelse som ändrades. Du kan upptäcka att något ändrades.
Vad detta inte gör
En hashkedja förhindrar inte manipulation. Den upptäcker den.
En illvillig aktör med databasåtkomst kan:
- Radera händelser.
- Ändra händelser och räkna om kedjan.
Det som stoppar dem är ankaret. Om hash_3 tidsstämplades externt (RFC 3161 TSA, blockkedjeankare eller ett vittne som förvaras av en tillsynsmyndighet) i det ögonblick den genererades kan angriparen inte räkna om kedjan i efterhand, eftersom det externa ankaret skapades vid en bestämd tidpunkt med den ursprungliga hashen.
Det är därför ett trovärdigt verifikationsspår kombinerar:
- Hashkedja över händelserna (intern manipulationsdetektering).
- Externt tidsstämplingsankare (försvar mot manipulation på databasnivå).
Hur revisorer verifierar
Givet den ursprungliga händelseloggen och ankaret:
- Räkna om hash_1 från event_1 och genesis-prev_hash.
- Räkna om hash_2 från event_2 och hash_1.
- Fortsätt genom hash_N.
- Jämför hash_N med ankaret.
Om de matchar är kedjan intakt. Om inte, har något ändrats.
Öppen källkod för verifieringsskript finns för de vanliga formaten (Bitcoin OP_RETURN-ankare, RFC 3161-tidsstämplar).
Hur Closepact implementerar det
Varje signaturhändelse är en del av en hashkedja per dokument. Varje kedja ankras periodiskt till en långsiktig tidsstämplingsauktoritet. Exporten inkluderar händelserna, kedjehasharna och ankarkvittona, så att en tredjepartsrevisor kan verifiera utan att kontakta Closepact.
De flesta större e-signeringsplattformar implementerar något liknande. Fråga leverantören hur. Om de inte kan förklara det är påståendet om manipulationssäkerhet ett tomt löfte.
När detta spelar roll
I det dagliga arbetet, aldrig. Signaturen fungerar, avtalet är signerat, livet går vidare.
Det spelar roll specifikt när:
- Ett signerat avtal bestrids i domstol.
- En tillsynsmyndighet ber dig bevisa att ingen manipulation skett.
- Inköp granskar själva signaturplattformen.
I alla tre fallen slår ett trovärdigt svar redo att lägga fram att spendera sex veckor på att rekonstruera vad som hände.