C-NDAPROTOCOL
Inizia ora

Verifica

Come controllare un certificato senza fidarsi di noi

Tutto il resto di questo sito ti chiede di credere a qualcosa. Questo no. Dato l'archivio probatorio e il certificato, il controllo è aritmetica — e il record con cui lo confronti sta su una blockchain pubblica che non possiamo alterare.

A che cosa punta un certificato

Un certificato è un puntatore a due cose. Nessuna delle due è la fotografia di uno schermo, e nessuna delle due è la nostra parola.

Il pacchetto probatorio

Un solo file JSON, evidence.json, che contiene tutto ciò che è stato certificato: l'NDA e la sua impronta, ogni parte con il modo in cui si è davvero identificata e l'istante in cui ha accettato, e — per una sessione certificata — la trascrizione confermata, le impronte di entrambe le sue versioni, l'event log della riunione e l'impronta della registrazione. Non è il riassunto di ciò che è successo. È ciò che è successo.

L'ancoraggio

Una transazione pubblica su Polygon PoS in cui l'impronta di quel pacchetto è stata scritta, con un numero di blocco e il momento del blocco. Da quando è minata, né noi né altri possiamo spostarla, correggerla o ritirarla.

I tre controlli

In quest'ordine. Il terzo ha senso solo se il secondo è passato.

  1. 01

    Ricalcola l'impronta

    Prendi lo SHA-256 di evidence.json così com'è. Il file dentro l'archivio è già in forma canonica, quindi non c'è niente da normalizzare prima e nessuna libreria nostra da installare.

  2. 02

    Confrontala col certificato

    Deve coincidere con l'impronta del pacchetto stampata sul certificato — sul PDF, in certificate.json dentro l'archivio, e sulla pagina di verifica pubblica. Se differisce, la prova che hai in mano non è quella che è stata certificata, e il terzo controllo è inutile.

  3. 03

    Conferma l'ancoraggio sulla catena

    Apri la transazione di ancoraggio su un block explorer qualsiasi e leggi l'evento Anchored. L'impronta che porta deve essere quella che hai appena calcolato. Il momento del blocco ti dice da quando quell'impronta non è più stata modificabile da nessuno.

Perché l'impronta è sempre la stessa

Calcolare l'hash di un JSON alla buona sarebbe una lotteria: lo stesso contenuto, scritto da due programmi, dà due flussi di byte diversi — un altro ordine delle chiavi, un'altra spaziatura, un altro modo di scrivere lo stesso numero — e quindi due hash diversi.

Perciò il pacchetto è scritto nella forma canonica dell'RFC 8785. Canonico vuol dire che esiste esattamente un modo ammesso di scrivere un dato contenuto: chiavi ordinate, una sola forma scritta per ogni numero e per ogni stringa, uscita in UTF-8. Due persone, su due macchine, a dieci anni di distanza, dallo stesso pacchetto ottengono gli stessi byte — ed è ciò che rende «ricalcola l'impronta» una procedura invece che un invito.

È anche il motivo per cui il file che consegniamo è già canonico: su quel file, un semplice SHA-256 è tutto il primo controllo.

Fallo tu

Due comandi e un link. Qui dentro non c'è niente di nostro.

Ricalcola l'impronta — macOS, Linux

shasum -a 256 evidence.json

Ricalcola l'impronta — Windows

certutil -hashfile evidence.json SHA256

Apri la transazione di ancoraggio — l'id è sul tuo certificato

https://polygonscan.com/tx/<id transazione>

Il contratto di ancoraggio — Polygon PoS, chain 137

0x5CceC6F5806b7C949eB90D61fB9D13Cb639AC203

Sorgente verificato su Polygonscan. Anchored(hash, timestamp, sender) viene emesso per una transazione dedicata, BatchAnchored(merkleRoot, timestamp, sender) per un batch giornaliero.

Apri il contratto su Polygonscan

Il verificatore di riferimento

Manteniamo un verificatore a riga di comando che fa tutto quanto sopra in un comando solo, prove Merkle comprese. È sotto licenza MIT e non è ancora pubblicato su alcun registro pubblico, quindi al momento non hai modo di procurartelo — ed è esattamente per questo che questa pagina è scritta intorno a strumenti che hai già. Quando sarà pubblicato, l'istruzione comparirà qui.

Una transazione, oppure un batch al giorno

Un'impronta raggiunge la catena in due modi, e sono ugualmente controllabili. Ciò che cambia è il costo e l'immediatezza, non la forza.

Transazione dedicata

L'evento Anchored porta direttamente l'impronta del tuo pacchetto. Cerchi il tuo hash e lo trovi, oppure non lo trovi.

Batch Merkle giornaliero

Sulla catena va solo la radice di un albero, in un evento BatchAnchored, e il certificato porta la prova che conduce dalla tua impronta a quella radice: la foglia è il keccak-256 dell'impronta del pacchetto, ogni nodo interno il keccak-256 della coppia ordinata dei suoi figli. La prova si controlla offline, sulla tua macchina, e poi la radice deve comparire in un evento BatchAnchored. Un certificato in batch non è un certificato più debole: è la stessa prova con un passo breve in più.

Un certificato che dice «ancoraggio in corso» è stato sigillato ma non ancora scritto sulla catena. La sua impronta è già fissata; manca la transazione. È uno stato, e la pagina dice quale — mai un «ancorato» detto in silenzio.

Che cosa vede un terzo, e che cosa no

Verificabilità e riservatezza qui non sono in conflitto, perché il confine non è una regola che qualcuno rispetta: è una vista del database, e una vista può restituire solo ciò che seleziona.

Che cosa restituisce la verifica pubblica

  • il codice del certificato
  • se è una protocollazione documentale o una sessione certificata
  • l'impronta del pacchetto probatorio
  • rete, transazione, blocco e momento dell'ancoraggio
  • se è stato ancorato da solo o dentro un batch
  • la versione dello schema, e quando il certificato è stato emesso
  • quante parti hanno accettato

Che cosa non restituisce mai

  • nessun nome
  • nessun indirizzo email
  • nessuna ragione sociale
  • nessun titolo del documento o della riunione
  • nessun testo dell'NDA, nessuna trascrizione, nessuna registrazione

Niente di tutto questo viene oscurato dopo. Non viene selezionato: la query che serve quella pagina non raggiunge proprio quelle colonne.

Se qualcosa non torna

Una discordanza è un'informazione, non un'accusa. Leggila in quest'ordine.

  1. L'impronta è diversa

    La causa di gran lunga più comune è che il file sia stato aperto e risalvato da uno strumento che l'ha riformattato — basta uno spazio in più. Riscarica l'archivio originale e ricalcola sul file intatto.

  2. È ancora diversa

    Allora la prova che ti è stata data non è la prova che è stata certificata, e il certificato non la copre. Dillo a chi ti ha dato il file, e scrivi a noi con il codice del certificato.

  3. Il codice non risulta

    Ricontrollalo carattere per carattere sul certificato: il codice ha una forma fissa, CNDA-XXXX-XXXX-XXXX. Un codice ben formato e comunque sconosciuto significa che nessun certificato è mai stato emesso con quel codice.

hub@witup.ai

Hai un codice davanti?

La verifica pubblica non chiede altro: nessun account, nessun indirizzo email, nessuna motivazione.

Verifica un certificato

Dove andare adesso