Verifizierung
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.
Ein Zertifikat ist ein Verweis auf zwei Dinge. Keines von beiden ist ein Screenshot eines Bildschirms, und keines von beiden ist unser Wort.
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.
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.
In dieser Reihenfolge. Die dritte ist nur aussagekräftig, wenn die zweite bestanden wurde.
01
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.
02
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.
03
Ö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.
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.
Zwei Befehle und ein Link. Nichts davon ist von uns.
Fingerabdruck neu berechnen: macOS, Linux
shasum -a 256 evidence.jsonFingerabdruck neu berechnen: Windows
certutil -hashfile evidence.json SHA256Verankerungstransaktion öffnen: die ID steht auf Ihrem Zertifikat
https://polygonscan.com/tx/<transaction id>Der Verankerungs-Contract: Polygon PoS, Chain 137
0x5CceC6F5806b7C949eB90D61fB9D13Cb639AC203Quellcode 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 öffnenWir 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.
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.
Das Anchored-Ereignis trägt Ihren Paket-Fingerabdruck direkt. Sie suchen nach Ihrem eigenen Hash und finden ihn, oder eben nicht.
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“.
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.
Nichts davon wird nachträglich geschwärzt. Es wird nicht ausgewählt: Die Abfrage, die diese Seite bedient, kann diese Spalten überhaupt nicht erreichen.
Eine Abweichung ist eine Information, kein Vorwurf. Lesen Sie sie in dieser Reihenfolge.
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.
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.
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.
Die öffentliche Verifizierung verlangt nichts weiter: kein Konto, keine E-Mail-Adresse, keinen Grund.
Zertifikat verifizieren