Verifizierung

Validieren Sie Ihr Zertifikat

Bestätigen Sie unabhängig die Authentizität jedes Bernstein Blockchain-Zertifikats. Kein Server-Vertrauen erforderlich.

Zero-Trust-Verifizierung

Unser Validator ist so konzipiert, dass Sie uns niemals vertrauen müssen. Alles geschieht in Ihrem Browser.

100% Client-seitig

Ihre Dateien verlassen nie Ihr Gerät. Alle Hashing- und Verifizierungsprozesse finden lokal in Ihrem Browser statt.

Blockchain-Beweis

Zertifikate werden gegen die unveränderliche Bitcoin-Blockchain verifiziert—kein Server-Vertrauen erforderlich.

Funktioniert offline

Für maximale Sicherheit können Sie die Internetverbindung trennen, bevor Sie sensible Dateien hochladen.

Offene Verifizierung

Jeder kann Zertifikate unabhängig mit Standard-Kryptografie-Tools überprüfen.

Funktionen

Was Sie verifizieren können

Unser Validator ermöglicht es Ihnen, sowohl die Existenz von Dateien als auch das Eigentum an Zertifikaten nachzuweisen.

01

Existenz beweisen

Laden Sie Dateien hoch, um zu verifizieren, dass sie mit dem in der Bitcoin-Blockchain registrierten Zertifikats-Fingerabdruck übereinstimmen.

02

Eigentum beweisen

Geben Sie Ihre privaten Schlüssel ein, um kryptografisch nachzuweisen, dass Sie das Zertifikat besitzen.

03

Signaturen generieren

Erstellen Sie kryptografische Signaturen, um das Eigentum gegenüber Dritten wie Gerichten oder Investoren nachzuweisen.

04

Beweis teilen

Exportieren Sie Verifizierungsdaten, die jeder unabhängig validieren kann.

Technisch

Wie die Verifizierung funktioniert

Unsere Zertifikate verwenden Standard-Kryptografie-Techniken, die von jedem überprüft werden können.

SHA-256-Hashing

Dateien werden mit demselben Algorithmus wie Bitcoin gehasht. Der Fingerabdruck ist eine eindeutige Kennung für Ihre exakten Dateien.

Bitcoin-Verankerung

Der Fingerabdruck wird in eine Bitcoin-Transaktion eingebettet, wodurch ein unveränderlicher Zeitstempel auf dem sichersten Hauptbuch der Welt erstellt wird.

Qualifizierte Zeitstempel

Zusätzliche Zeitstempel von EU- und China-Regierungsbehörden bieten rechtliche Anerkennung.

Fingerabdruck-Abgleich

Laden Sie Ihre Originaldateien hoch. Wenn der berechnete Fingerabdruck mit dem Blockchain-Eintrag übereinstimmt, ist die Existenz bewiesen.

Protokoll

Das Bernstein-Registrierungsprotokoll

Verstehen Sie, wie Bernstein Blockchain-Zertifikate aus Ihren Dateien erstellt.

Bernstein hilft Ihnen, überprüfbare Nachweise über Existenz und Eigentum für jedes digitale Asset zu erstellen. Wenn Sie Dateien in ein Projekt hochladen, generiert Bernstein einen kryptografischen Fingerabdruck und zeichnet ihn auf der Bitcoin-Blockchain auf.

Jedes Projekt kann mehrere Dateien enthalten und sich im Laufe der Zeit weiterentwickeln. Jede Version, die Sie zertifizieren, erstellt einen neuen Blockchain-Eintrag und baut eine vollständige Prüfkette Ihres geistigen Eigentums auf.

Jedes Bernstein-Zertifikat entspricht einer Bitcoin-Transaktion mit drei Schlüsseleigenschaften:

  • Öffentlich — für jeden im Bitcoin-Netzwerk sichtbar
  • Mit Zeitstempel — an einen bestimmten Block mit genauem Datum und Uhrzeit verankert
  • Unveränderlich — kann nach Bestätigung weder geändert noch gelöscht werden

Drei kryptografische Schlüssel

Eigentümer-Schlüssel

Von Ihrem Konto abgeleitet. Beweist, wem das Zertifikat gehört. Der entsprechende öffentliche Schlüssel ist auf Ihrem Zertifikat-PDF gedruckt.

Daten-Schlüssel

Vom SHA-256-Hash Ihrer Projektdateien abgeleitet. Beweist, welche Dateien vom Zertifikat abgedeckt sind.

Bernstein-Schlüssel

Bernsteins Plattform-Schlüssel, der die Transaktion mitzeichnet. Der entsprechende öffentliche Schlüssel ist auf Ihrem Zertifikat-PDF gedruckt.

Registrierungsschritte

01

Ihre Dateien werden einzeln mit SHA-256 gehasht und dann zu einem einzigen Projekt-Fingerabdruck zusammengefasst.

02

Der Projekt-Fingerabdruck wird in einen Bitcoin-Privatschlüssel umgewandelt, aus dem ein öffentlicher Schlüssel (der Daten-Schlüssel) abgeleitet wird.

03

Der Daten-Schlüssel, der Eigentümer-Schlüssel und der Bernstein-Schlüssel werden zu einer 3-von-3-MultiSig-Bitcoin-Adresse kombiniert.

04

Eine Bitcoin-Transaktion wird erstellt, die Mittel an diese MultiSig-Adresse sendet und das Zertifikat dauerhaft auf der Blockchain aufzeichnet.

Die resultierende Bitcoin-Adresse kodiert alle drei Schlüssel — und beweist, wer was und wann besaß. Jeder mit den Originaldateien und den öffentlichen Schlüsseln kann die Adresse unabhängig rekonstruieren und auf der Blockchain überprüfen.

Erweitert

Manuelle Verifizierung

Sie brauchen nicht einmal unsere Tools. Hier sind die Schritte, um ein Bernstein-Zertifikat unabhängig gegen die Bitcoin-Blockchain zu validieren, unter Verwendung standardmäßiger kryptografischer Open-Source-Software.

Was Sie vor dem Start benötigen
  • Alle Projektdateien und die Projekt-Deckblattdatei (herunterladbar aus der Bernstein-App)
  • Die Transaktions-ID, die auf dem Bernstein-Zertifikat-PDF angezeigt wird
  • Den Owner Public Key und den Bernstein Public Key, ebenfalls auf dem Zertifikat-PDF zu finden
  • Grundlegende Kenntnisse im Umgang mit einem Computer-Terminal

Berechnen Sie den SHA-256-Hash jeder einzelnen Datei, die im Projekt enthalten ist. Es gibt viele Software-Tools, die Sie verwenden können. Unter Linux oder macOS führen Sie folgenden Befehl in Ihrem Terminal aus:

Terminal-Befehl:

shasum -a 256 yourfile.pdf

Sie können auch Online-Dienste verwenden wie SHA256 Online Checksum.

SHA-256 ist ein Standardalgorithmus — er liefert immer dasselbe Ergebnis, unabhängig davon, welches Tool Sie verwenden.

Vergessen Sie nicht, auch die Projekt-Deckblattdatei zu hashen. Dies ist eine Textdatei mit dem Projekttitel und der Beschreibung, die Sie aus der Bernstein-App herunterladen können.

Hashes zu einem einzelnen Projekt-Fingerabdruck zusammenführen:
  1. Sortieren Sie alle einzelnen Datei-Hashes alphabetisch
  2. Verketten Sie sie zu einer einzelnen Zeichenkette
  3. Berechnen Sie den SHA-256-Hash der verketteten Zeichenkette

Das Ergebnis ist Ihr Projekt-Fingerabdruck. Sie können ihn mit dem Fingerabdruck vergleichen, der in der Bernstein-App unter Ihrem Projekt angezeigt wird.

Um den Projekt-Hash als Bitcoin-Schlüssel zu verwenden, müssen Sie ihn vom HEX-Format in WIF (Wallet Import Format) konvertieren. Wir stellen ein Python-Skript für diese Konvertierung bereit.

Installieren Sie zuerst das erforderliche Python-Paket:

pip install base58

Speichern Sie das folgende Python-Skript als hex2wif.py:

import sys, hashlib, base58

def hex_to_wif(hex_key):
    extended = "80" + hex_key + "01"
    first_sha = hashlib.sha256(bytes.fromhex(extended)).digest()
    second_sha = hashlib.sha256(first_sha).digest()
    checksum = second_sha[:4].hex()
    return base58.b58encode(bytes.fromhex(extended + checksum)).decode()

if __name__ == "__main__":
    if len(sys.argv) != 2:
        print("Usage: python hex2wif.py <your-project-hash-hex>")
        sys.exit(1)
    print(hex_to_wif(sys.argv[1]))

Führen Sie dann das Skript mit Ihrem Projekt-Hash aus:

python hex2wif.py <your-project-hash-hex>

Das Skript gibt den entsprechenden Schlüssel im WIF-Format aus. Sie können das Ergebnis in der Bernstein-App überprüfen, indem Sie auf das Schlüssel-Symbol neben dem Blockchain-Zertifikat in Ihrem Projekt klicken.

In diesem Schritt müssen Sie den komprimierten öffentlichen Schlüssel aus dem in Schritt 2 erhaltenen WIF Private Key ableiten. Dies ist eine standardmäßige kryptografische Bitcoin-Operation.

Sie können dieses Online-Tool verwenden: Bitcoin Key Compression Tool

Fügen Sie den WIF-Schlüssel aus Schritt 2 ein und das Tool gibt den zugehörigen komprimierten öffentlichen Schlüssel aus. Dies ist der Data Public Key — einer der drei Schlüssel, die die Zertifikatsadresse bilden.

Nachdem Sie den Data Public Key aus Ihren Dateien abgeleitet haben, kombinieren Sie ihn mit dem Owner Public Key und dem Bernstein Public Key (beide auf dem Zertifikat-PDF zu finden), um die 3-von-3 MultiSig Bitcoin-Adresse zu erstellen.

Speichern und führen Sie das folgende Ruby-Skript aus:

require 'digest'
require 'base58'
require 'bech32'

def decode_hex(hex)
  [hex].pack('H*')
end

def sha256(data)
  Digest::SHA256.digest(data)
end

def hash160(data)
  Digest::RipeMD160.digest(sha256(data))
end

def p2sh_multisig(keys)
  script = "\x53" # OP_3
  keys.sort.each { |k| script += [k.length / 2].pack('C') + decode_hex(k) }
  script += "\x53\xae" # OP_3 OP_CHECKMULTISIG
  h = hash160(script)
  version = "\x05"
  payload = version + h
  checksum = sha256(sha256(payload))[0..3]
  Base58.binary_to_base58(payload + checksum, :bitcoin)
end

def p2wsh_multisig(keys)
  script = "\x53"
  keys.sort.each { |k| script += [k.length / 2].pack('C') + decode_hex(k) }
  script += "\x53\xae"
  witness_hash = sha256(script)
  Bech32::SegwitAddr.new(hrp: 'bc', ver: 0,
    bytes: witness_hash.unpack('C*')).addr
end

puts "Select protocol version:"
puts "1 - Protocol 1 (P2SH)"
puts "2 - Protocol 2 (P2WSH SegWit)"
version = gets.chomp.to_i

keys = []
%w[Data Owner Bernstein].each do |name|
  print "Enter #{name} Public Key: "
  keys << gets.chomp
end

address = version == 1 ? p2sh_multisig(keys) : p2wsh_multisig(keys)
puts "\nBitcoin Address: #{address}"

Führen Sie das Skript von Ihrem Terminal aus:

ruby multisig.rb

Folgen Sie den Eingabeaufforderungen: Wählen Sie Ihre Protokollversion, geben Sie dann die drei öffentlichen Schlüssel nacheinander ein. Das Skript gibt die Bitcoin-Adresse aus.

Protokoll 1 (Legacy) erzeugt eine P2SH-Adresse. Protokoll 2 (aktuell) erzeugt eine SegWit P2WSH-Adresse. Prüfen Sie Ihr Zertifikat, um festzustellen, welche Protokollversion gilt.

Suchen Sie abschließend die Transaktions-ID aus Ihrem Zertifikat-PDF in einem beliebigen Blockchain-Explorer.

Wir empfehlen Blockstream.info orBlockchair.com.

Finden Sie die Adresse in der Liste der Transaktionsausgaben und vergleichen Sie sie mit der Adresse, die Sie in Schritt 4 berechnet haben.

Wenn die Adressen übereinstimmen, ist die Verifizierung erfolgreich!

Herzlichen Glückwunsch — Sie haben unabhängig die Existenz und Integrität der in Ihrem Projekt enthaltenen Informationen nachgewiesen, ohne sich auf Dritte verlassen zu müssen.

Bereit zur Verifizierung?

Geben Sie Ihre Zertifikats-ID ein, um dessen Authentizität unabhängig zu validieren.