Verifizierung

Wie Sie ein Zertifikat prüfen, ohne uns zu vertrauen

Alles andere auf dieser Seite verlangt, dass Sie etwas glauben. Dies nicht. Mit dem Beweisarchiv und dem Zertifikat ist die Prüfung Arithmetik, und der Eintrag, gegen den Sie prüfen, liegt auf einer öffentlichen Blockchain, die wir nicht ändern können.

Worauf ein Zertifikat verweist

Ein Zertifikat ist ein Verweis auf zwei Dinge. Keines von beiden ist ein Screenshot eines Bildschirms, und keines von beiden ist unser Wort.

Das Evidenzpaket

Eine JSON-Datei, evidence.json, die alles enthält, was zertifiziert wurde: die NDA und ihren Fingerabdruck, jede Partei mit der Art, wie sie tatsächlich identifiziert wurde, und dem Zeitpunkt, zu dem sie akzeptiert hat, und, bei einem geschützten Meeting, das Transkript (mit beiden Versionen und ihren Fingerabdrücken, falls es korrigiert wurde), das Ereignisprotokoll des Meetings und den Fingerabdruck der Aufzeichnung. Es ist keine Zusammenfassung dessen, was geschehen ist. Es ist, was geschehen ist.

Der Anker

Eine öffentliche Transaktion auf Polygon PoS, in der der Fingerabdruck dieses Pakets geschrieben wurde, mit einer Blocknummer und einem Block-Zeitstempel. Ab dem Moment, in dem sie gemint wird, können weder wir noch sonst jemand sie verschieben, ändern oder zurücknehmen.

Die drei Prüfungen

In dieser Reihenfolge. Die dritte ist nur aussagekräftig, wenn die zweite bestanden wurde.

  1. 01

    Den Fingerabdruck neu berechnen

    Berechnen Sie den SHA-256 von evidence.json genau so, wie sie ist. Die Datei im Archiv liegt bereits in kanonischer Form vor, sodass zuerst nichts normalisiert werden muss und keine Bibliothek von uns installiert werden muss.

  2. 02

    Vergleichen Sie ihn mit dem Zertifikat

    Er muss dem Paket-Hash entsprechen, der auf dem Zertifikat angegeben ist: im PDF, in certificate.json im Archiv und auf der öffentlichen Verifizierungsseite. Wenn er abweicht, ist die Evidenz in Ihren Händen nicht die Evidenz, die zertifiziert wurde, und die dritte Prüfung ist sinnlos.

  3. 03

    Den Anker in der Chain bestätigen

    Öffnen Sie die Verankerungstransaktion in einem beliebigen Block-Explorer und lesen Sie das Anchored-Ereignis. Der darin enthaltene Hash muss der sein, den Sie gerade berechnet haben. Der Block-Zeitstempel nennt Ihnen den Zeitpunkt, nach dem dieser Fingerabdruck von niemandem mehr geändert werden konnte.

Warum es immer derselbe Fingerabdruck ist

JSON naiv zu hashen wäre ein Lotteriespiel: derselbe Inhalt, von zwei Programmen geschrieben, ergibt zwei verschiedene Byte-Ströme (eine andere Schlüsselreihenfolge, eine andere Leerzeichensetzung, eine andere Art, dieselbe Zahl zu schreiben) und daher zwei verschiedene Hashes.

Daher wird das Paket in der kanonischen Form von RFC 8785 geschrieben. Kanonisch bedeutet, dass es genau eine zulässige Art gibt, einen gegebenen Inhalt zu schreiben: Schlüssel sortiert, eine einzige Schreibform für jede Zahl und jede Zeichenkette, UTF-8-Ausgabe. Zwei Personen, an zwei Maschinen, zehn Jahre auseinander, erzeugen aus demselben Paket dieselben Bytes, was „den Hash neu berechnen“ zu einer Prozedur macht statt zu einer Einladung.

Das ist auch der Grund, warum die Datei, die wir ausliefern, bereits kanonisch ist: Bei dieser Datei ist ein einfacher SHA-256 die gesamte erste Prüfung.

Machen Sie es selbst

Zwei Befehle und ein Link. Nichts davon ist von uns.

Fingerabdruck neu berechnen: macOS, Linux

shasum -a 256 evidence.json

Fingerabdruck neu berechnen: Windows

certutil -hashfile evidence.json SHA256

Verankerungstransaktion öffnen: die ID steht auf Ihrem Zertifikat

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

Der Verankerungs-Contract: Polygon PoS, Chain 137

0x5CceC6F5806b7C949eB90D61fB9D13Cb639AC203

Quellcode auf Polygonscan verifiziert. Anchored(hash, timestamp, sender) wird für eine eigene Transaktion ausgegeben. Der Vertrag definiert außerdem BatchAnchored(merkleRoot, timestamp, sender) für einen täglichen Batch, der noch nicht im Einsatz ist: Derzeit hat jedes Zertifikat seine eigene Transaktion.

Den Contract auf Polygonscan öffnen

Der Referenz-Verifier

Wir pflegen einen Kommandozeilen-Verifier, der alles oben Genannte in einem Befehl erledigt, inklusive Merkle-Beweisen. Er ist MIT-lizenziert und noch nicht in einer öffentlichen Registry veröffentlicht, daher gibt es derzeit für Sie keine Möglichkeit, ihn zu erhalten, weshalb diese Seite genau um Werkzeuge herum geschrieben ist, die Sie bereits haben. Sobald er veröffentlicht ist, erscheint die Anleitung hier.

Eine Transaktion oder ein Batch pro Tag

Heute erreicht jeder Fingerabdruck die Chain in seiner eigenen Transaktion. Der Vertrag unterstützt außerdem einen täglichen Batch, der noch nicht im Einsatz ist; sobald er im Einsatz ist, wird er ebenso prüfbar sein. Was sich ändert, sind Kosten und Unmittelbarkeit, nicht die Stärke.

Dedizierte Transaktion

Das Anchored-Ereignis trägt Ihren Paket-Fingerabdruck direkt. Sie suchen nach Ihrem eigenen Hash und finden ihn, oder eben nicht.

Täglicher Merkle-Batch (noch nicht im Einsatz)

Nur die Wurzel eines Baums geht in die Chain, in einem BatchAnchored-Ereignis, und das Zertifikat trägt den Beweis, der von Ihrem Fingerabdruck zu dieser Wurzel führt: Das Blatt ist der keccak-256-Hash des Paket-Hashs, jeder interne Knoten der keccak-256-Hash des sortierten Paares seiner Kinder. Der Beweis ist offline überprüfbar, auf Ihrer eigenen Maschine, und die Wurzel muss dann in einem BatchAnchored-Ereignis erscheinen. Ein gebatchtes Zertifikat ist kein schwächeres Zertifikat, es ist derselbe Beweis mit einem weiteren kurzen Schritt.

Ein Zertifikat, auf dem „anchoring pending“ steht, wurde versiegelt, aber noch nicht in die Chain geschrieben. Sein Fingerabdruck ist bereits fixiert; was fehlt, ist die Transaktion. Das ist ein Zustand, und die Seite sagt, welcher es ist: niemals ein stilles „anchored“.

Was ein Dritter sieht und was nicht

Verifizierbarkeit und Vertraulichkeit stehen hier nicht im Spannungsverhältnis, weil die Grenze keine Regel ist, die jemand befolgt: Sie ist eine Datenbankansicht, und eine Ansicht kann nur zurückgeben, was sie auswählt.

Was die öffentliche Verifizierung zurückgibt

  • den Zertifikatscode
  • ob es eine Dokumentregistrierung oder ein geschütztes Meeting ist
  • den Fingerabdruck des Evidenzpakets
  • das Netzwerk, die Transaktion, den Block und den Zeitstempel des Ankers
  • ob es eigenständig oder innerhalb eines Batches verankert wurde
  • die Schemaversion und wann das Zertifikat ausgestellt wurde
  • wie viele Parteien akzeptiert haben

Was sie niemals zurückgibt

  • keine Namen
  • keine E-Mail-Adressen
  • keine Firmennamen
  • keinen Titel des Dokuments oder des Meetings
  • keinen NDA-Text, kein Transkript, keine Aufzeichnung

Nichts davon wird nachträglich geschwärzt. Es wird nicht ausgewählt: Die Abfrage, die diese Seite bedient, kann diese Spalten überhaupt nicht erreichen.

Wenn etwas nicht übereinstimmt

Eine Abweichung ist eine Information, kein Vorwurf. Lesen Sie sie in dieser Reihenfolge.

  1. Der Fingerabdruck weicht ab

    Die mit Abstand häufigste Ursache ist, dass die Datei von einem Tool geöffnet und erneut gespeichert wurde, das sie neu formatiert hat: Ein hinzugefügtes Leerzeichen genügt. Laden Sie das ursprüngliche Archiv erneut herunter und berechnen Sie auf der unveränderten Datei neu.

  2. Er weicht weiterhin ab

    Dann sind die Nachweise, die Sie erhalten haben, nicht die Nachweise, die zertifiziert wurden, und das Zertifikat deckt sie nicht ab. Sagen Sie es der Person, die Ihnen die Datei gegeben hat, und schreiben Sie uns unter Angabe des Zertifikatscodes.

  3. Der Code wurde nicht gefunden

    Prüfen Sie ihn Zeichen für Zeichen gegen das Zertifikat: Der Code hat eine feste Form, CNDA-XXXX-XXXX-XXXX. Ein korrekt aufgebauter Code, der weiterhin unbekannt ist, bedeutet, dass unter ihm nie ein Zertifikat ausgestellt wurde.

hub@witup.ai

Haben Sie einen Code vor sich?

Die öffentliche Verifizierung verlangt nichts weiter: kein Konto, keine E-Mail-Adresse, keinen Grund.

Zertifikat verifizieren

Wo es weitergeht