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.
Was Sie verifizieren können
Unser Validator ermöglicht es Ihnen, sowohl die Existenz von Dateien als auch das Eigentum an Zertifikaten nachzuweisen.
Existenz beweisen
Laden Sie Dateien hoch, um zu verifizieren, dass sie mit dem in der Bitcoin-Blockchain registrierten Zertifikats-Fingerabdruck übereinstimmen.
Eigentum beweisen
Geben Sie Ihre privaten Schlüssel ein, um kryptografisch nachzuweisen, dass Sie das Zertifikat besitzen.
Signaturen generieren
Erstellen Sie kryptografische Signaturen, um das Eigentum gegenüber Dritten wie Gerichten oder Investoren nachzuweisen.
Beweis teilen
Exportieren Sie Verifizierungsdaten, die jeder unabhängig validieren kann.
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.
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:
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
Ihre Dateien werden einzeln mit SHA-256 gehasht und dann zu einem einzigen Projekt-Fingerabdruck zusammengefasst.
Der Projekt-Fingerabdruck wird in einen Bitcoin-Privatschlüssel umgewandelt, aus dem ein öffentlicher Schlüssel (der Daten-Schlüssel) abgeleitet wird.
Der Daten-Schlüssel, der Eigentümer-Schlüssel und der Bernstein-Schlüssel werden zu einer 3-von-3-MultiSig-Bitcoin-Adresse kombiniert.
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.
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.pdfSie 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:
- Sortieren Sie alle einzelnen Datei-Hashes alphabetisch
- Verketten Sie sie zu einer einzelnen Zeichenkette
- 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 base58Speichern 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.rbFolgen 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.
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.