Proovik
Offentlig verifierare · PVK-PROOF/1

Så kontrollerar du ett Proovik-bevis utan att lita på Proovik

Du behöver bevisfilen (eller certifikatets PDF) och din kopia av originaldokumentet. Ingenting laddas upp: hashen beräknas i din webbläsare. Nedan följer den fullständiga specifikationen, steg för steg och med verkliga värden.

Version 1 Nätverk: Kaspa mainnet Referensverifierare: 248 rader Python, utan beroenden
Verktyg

Verifiera ett bevis online

Kontrollera ett certifikat här med samma motor som beskrivs nedan. Dokumentet lämnar aldrig din enhet: dess SHA-256 beräknas i din webbläsare och bara hashen skickas. Hashen lämnar du själv, den hämtas aldrig från bevisfilen. Om du drar in certifikatets PDF extraheras det bifogade bevispaketet i din webbläsare, och PDF:en skickas inte heller.

1 · Bevisfil

2 · Originaldokument

Verifieraren tar aldrig hashen från bevisfilen: den lämnar du.

Paketet och hashen skickas till POST /api/verify/proof. Utan konto. Gräns: 120 verifieringar per timme och IP.

Det står i PDF-certifikatet och visas i Kaspas blockutforskare.

Du kan beräkna den genom att dra in dokumentet i den andra fliken: värdet delas.

Det här läget bygger om paketet genom att fråga api.kaspa.org. Kaspa levererar bara det fullständiga blockhuvudet i ungefär 40 timmar efter förankringen: därefter går länk 3 och 4 inte att räkna om och utslaget blir Ej avgörande, aldrig ”Styrker”. För en fullständig verifiering, använd bevisfilen som fångades vid tillfället.

GET /api/verify/proof/{txid}?hash=…. Gräns: 30 per timme och IP (den frågar nätverket).

Utslag ·

Styrkt Ej avgörande Ej styrkt

De fyra länkarna stämmer: dokumentet med den här SHA-256 fanns när det angivna blocket minerades. Kom ihåg vad beviset inte styrker: varken upphovsmannaskap eller innehållets sanningshalt.

Det som gick att räkna om stämmer, men någon uppgift saknas (vanligen det fullständiga blockhuvudet, utanför beskärningsfönstret) för att sluta kedjan. Det är inget fel på beviset: det är en partiell verifiering. Med bevisfilen som fångades vid tillfället, eller med det fullständiga bevispaketet, går den att slutföra.

Minst en länk stämmer inte med den angivna hashen. Vanligast: dokumentet är inte exakt det som tidsstämplades (en enda avvikande byte ändrar SHA-256) eller så hör bevisfilen inte till det här dokumentet. Granska detaljerna för varje länk.

Se transaktionen i nätverket
dokument
txid
block_hash
nätverk
läge
blockhuvud
verifierat

Länkarna, en och en

Varningar

Vad varje länk betyder

Bevisets omfattning

Vad som exakt påstås

Precisionen väger tyngre än vältaligheten här, för det är den som avgör om beviset håller i ett kontradiktoriskt förfarande.

Vad beviset styrker

Att en bytesträng vars SHA-256 är ett bestämt värde infogades i en transaktion i Kaspa-nätverket, att den transaktionen bands inuti ett blockhuvud, och att ett giltigt arbetsbevis utfördes över det blockhuvudet —som innehåller en tidsstämpel—. Eftersom tidsstämpeln ligger inuti de data som arbetet utfördes på gör varje ändring av den arbetet ogiltigt. Datumet är ingens påstående: det är en fysisk storhet som redan är förbrukad.

Vad beviset INTE styrker

Vem som skapade dokumentet, om innehållet är sant, om upphovsmannen hade rätt att skapa det, eller att dokumentet inte fanns tidigare. Det styrker prioritet till en tidpunkt, inte upphovsmannaskap eller sanningshalt. Proovik ser aldrig dokumentet: det tar bara emot dess hash.

Om hashen

SHA-256 är en sammandragsfunktion på 256 bitar. Att hitta två olika dokument med samma sammandrag har aldrig lyckats, och den uppskattade insatsen överstiger vad mänskligheten förmår beräkna. Om sammandraget av det inlämnade dokumentet stämmer med det som ligger i kedjan är dokumentet därför detsamma, utan praktiskt utrymme för tvivel.

Verkligt exempel · 2026-09-20

De fyra länkarna

Verifieringen är en kedja. Varje länk hakar i nästa, och det räcker att en brister för att beviset ska bli värdelöst. Värdena nedan är verkliga: de hör till ett certifikat utfärdat den 20 september 2026.

1 2 3 4
Datumet

Därför är datumet en fysisk storhet och inte ett påstående

Det här är den del som det kontradiktoriska förfarandet oftast kräver, så den bör visas snarare än argumenteras. Tidsstämpeln ligger inuti blockhuvudet, och blockhuvudet är indata till arbetsbeviset. Ändrar man tiden ändrar man indata, och arbetet upphör att vara giltigt. Det kontrolleras experimentellt genom att ändra det blockhuvud som verifierades i steg 4 och göra om beräkningen:

Effekten av att ändra blockhuvudet på arbetsbevisets resultat
Blockhuvud Arbetets resultat Utslag
Original, orört0x15222b53caabb3b049ec…Giltigt
nonce + 10x6775abc19ba960657f66…Ogiltigt
timestamp flyttad fram en sekund0xaee1e8274b1d268866ed…Ogiltigt
Följden

För att lägga fram dokumentet med ett annat datum skulle man behöva göra om arbetsbeviset för det blockhuvudet mot nätverkets verkliga svårighetsgrad. Det är inte en kostnadsbarriär: det är en beräkningsbarriär i storleksordningen hela nätverkets samlade effekt under det intervall man vill förfalska. Ingen deklarerar datumet. Datumet betalas.

Beständighet

Fungerar det fortfarande efter framtida hardforkar?

Det ärliga svaret är ja, och det är värt att förstå varför. Ett fångat bevis är ingen levande fråga till nätverket: det är ett historiskt faktum, verifierat enligt de regler som gällde när det förankrades. Kaspa förändras med tiden —övergången Crescendo/Toccata ändrade till exempel DAA-takten och svårighetsräkningen— men det raderar inte det förflutna: det betyder bara att ett block från januari 2026 verifieras med januari 2026 års regler, och ett om tre år med reglerna om tre år.

Referensverifieraren är byggd just för det: den skiljer på epoker. Den känner aktiveringspunkten för varje konsensusändring (till exempel konstanten CRESCENDO_DAA_MAINNET) och tillämpar på varje block reglerna för dess epok, inte dagens. En senare hardfork lägger till en ny epok; den ogiltigförklarar inte de tidigare.

Bevisets beständighet vilar då på tre villkor, alla under kontroll av den som innehar det:

1

Fånga inom fönstret

Spara hela blockhuvudet vid förankringen, innan nätverket kastar bort de fullständiga uppgifterna (cirka 30-40 timmar).

2

Spara beviset

Bevisfilen (eller PDF:en som har den inbäddad) är självbärande: den hänvisar inte till någon server och gör ingen uppslagning online.

3

Behåll referensverifieraren

248 rader öppen kod, utan beroenden, härledbara ur Kaspas offentliga källkod. Även om den gick förlorad går den att skriva om.

Verifiera det själv

Gör det utan Proovik

Referensverifieraren är 248 rader Python utan externa beroenden: den implementerar blake2b med nyckel, permutationen Keccak-f[1600], generatorn xoshiro256++ och matrisaritmetiken. Den läses på en eftermiddag och granskas på två.

Terminalfönster
$ python3 verificador_kaspa.py prueba.json 0f7383b381366cc3a75dadd7e4a1e8998c492f7c5c5610f4384d7320f484aad8

  OK    1. El payload on-chain es el hash del documento
  OK    2. La transaccion esta en el arbol Merkle del bloque
  OK    3. La cabecera produce el hash de bloque declarado
  OK    4. La prueba de trabajo de esa cabecera es valida

RESULTADO: PRUEBA VALIDA

Ladda ner referensverifieraren

Två filer. Lägg dem i samma mapp och kör den första. De installerar ingenting och går aldrig ut på nätet.

Den som hellre slipper köra andras kod kan implementera om den: de fyra algoritmerna är beskrivna ovan utan tvetydighet, och alla parametrar kommer från den offentliga källkoden till rusty-kaspa. Det är lika legitimt att slå upp transaktionen i vilken offentlig Kaspa-blockutforskare som helst som kontroll, men skillnaden är värd att förstå: blockutforskaren är ett vittnesmål; beräkningen är en demonstration. Den här specifikationen finns till för att slippa vara beroende av det förra.

Rättslig ram

Rättslig omfattning

Proovik tillhandahåller en icke kvalificerad elektronisk tidsstämplingstjänst i den mening som avses i artikel 3.16 i) i förordning (EU) nr 910/2014. Det är värt att vara tydlig med vad det innebär.

  • Enligt artikel 41.1 i nämnda förordning får en elektronisk tidsstämplings rättsliga verkan och giltighet som bevis vid rättsliga förfaranden inte förnekas enbart på grund av att den har elektronisk form eller inte uppfyller kraven för en kvalificerad stämpling.
  • En icke kvalificerad stämpling omfattas inte av presumtionen om korrekt datum och tid i artikel 41.2, som är förbehållen de kvalificerade. Vid bestridande vilar bördan att styrka beviset på den som lägger fram det.
  • Det är just därför den här specifikationen finns: för att den bördan ska kunna fullgöras med en aritmetisk kontroll som vem som helst kan upprepa, i stället för med tillhandahållarens försäkran.

Proovik kontrollerar varken dokumentens innehåll, upphovsmannaskap eller laglighet, och får aldrig tillgång till dem: det tar bara emot deras kryptografiska sammandrag. Det som styrks är ett existens- och prioritetsbevis till en bestämd tidpunkt.

Referenser

Serialisering av blockhuvud och transaktion, uppbyggnad av Merkle-trädet och arbetsbevis, enligt källkoden till Kaspas referensimplementation (rusty-kaspa): consensus/core/src/hashing/header.rs, consensus/core/src/hashing/tx.rs, consensus/core/src/merkle.rs, crypto/hashes/src/pow_hashers.rs, consensus/pow/.

Värdena som används som exempel hör till verkliga certifikat och kan kontrolleras av vem som helst. Den här specifikationen versionshanteras: bevisen anger internt vilken version de utfärdades med.