Verifisering

Valider sertifikatet ditt

Bekreft uavhengig ektheten til ethvert Bernstein-blockchain- sertifikat. Ingen tillit til serveren kreves.

Zero-trust-verifisering

Valideringsverktøyet vårt er utformet slik at du aldri trenger å stole på oss. Alt skjer i nettleseren din.

100 % på klientsiden

100 % på klientsiden

Filene dine forlater aldri enheten din. All hashing og verifisering skjer lokalt i nettleseren din.

Blockchain-bevis

Blockchain-bevis

Sertifikater verifiseres mot den uforanderlige Bitcoin- blockchainen - ingen tillit til serveren kreves.

Fungerer frakoblet

Fungerer frakoblet

For maksimal sikkerhet kan du koble deg fra internett før du laster opp sensitive filer.

Åpen verifisering

Åpen verifisering

Hvem som helst kan verifisere sertifikater uavhengig med standard kryptografiske verktøy.

Muligheter

Hva du kan verifisere

Valideringsverktøyet vårt lar deg bevise både filers eksistens og eierskap til sertifikater.

01

Bevis eksistens

Last opp filer for å verifisere at de samsvarer med sertifikatets fingeravtrykk registrert på Bitcoin-blockchainen.

02

Bevis eierskap

Skriv inn de private nøklene dine for kryptografisk å bevise at du eier sertifikatet.

03

Generer signaturer

Lag kryptografiske signaturer for å bevise eierskap overfor tredjeparter som domstoler eller investorer.

04

Del bevis

Eksporter verifiseringsdata som hvem som helst kan validere uavhengig.

Teknisk

Slik fungerer verifisering

Sertifikatene våre bruker standard kryptografiske teknikker som kan verifiseres av hvem som helst.

SHA-256-hashing

SHA-256-hashing

Filer hashes med samme algoritme som Bitcoin. Fingeravtrykket er en unik identifikator for akkurat dine filer.

Bitcoin-forankring

Bitcoin-forankring

Fingeravtrykket bygges inn i en Bitcoin-transaksjon, og skaper et uforanderlig tidsstempel på verdens sikreste register.

Kvalifiserte tidsstempler

Kvalifiserte tidsstempler

Ekstra tidsstempler fra myndigheter i EU og Kina gir rettslig anerkjennelse.

Samsvar av fingeravtrykk

Samsvar av fingeravtrykk

Last opp originalfilene dine. Hvis det beregnede fingeravtrykket samsvarer med blockchain-oppføringen, er eksistensen bevist.

Protokoll

Bernsteins registreringsprotokoll

Forstå hvordan Bernstein skaper blockchain-sertifikater fra filene dine.

Bernstein hjelper deg med å skape verifiserbart bevis på eksistens og eierskap for enhver digital verdi. Når du laster opp filer til et prosjekt, genererer Bernstein et kryptografisk fingeravtrykk og registrerer det på Bitcoin-blockchainen.

Hvert prosjekt kan inneholde flere filer og utvikle seg over tid. Hver versjon du sertifiserer skaper en ny blockchain-oppføring, og bygger et fullstendig revisjonsspor over dine immaterielle rettigheter.

Hvert Bernstein-sertifikat tilsvarer en Bitcoin-transaksjon med tre nøkkelegenskaper:

  • Offentlig - synlig for alle på Bitcoin-nettverket
  • Tidsstemplet - forankret til en bestemt blokk med en presis dato og tid
  • Uforanderlig - kan ikke endres eller slettes når den er bekreftet

Tre kryptografiske nøkler

Eiernøkkel

Eiernøkkel

Avledet fra kontoen din. Beviser hvem som eier sertifikatet. Den tilsvarende offentlige nøkkelen er trykt på sertifikat-PDF-en din.

Datanøkkel

Datanøkkel

Avledet fra SHA-256-hashen av prosjektfilene dine. Beviser hvilke filer som dekkes av sertifikatet.

Bernstein-nøkkel

Bernstein-nøkkel

Bernsteins plattformnøkkel, som medsignerer transaksjonen. Den tilsvarende offentlige nøkkelen er trykt på sertifikat-PDF-en din.

Registreringstrinn

01

Filene dine hashes individuelt med SHA-256, og kombineres deretter til ett enkelt prosjektfingeravtrykk.

02

Prosjektfingeravtrykket konverteres til en privat Bitcoin-nøkkel, som en offentlig nøkkel (datanøkkelen) avledes fra.

03

Datanøkkelen, eiernøkkelen og Bernstein-nøkkelen kombineres til en 3-av-3 MultiSig Bitcoin-adresse.

04

En Bitcoin-transaksjon opprettes som sender midler til denne MultiSig- adressen, og registrerer sertifikatet permanent på blockchainen.

Den resulterende Bitcoin-adressen koder alle tre nøklene - og beviser hvem som eide hva, og når. Hvem som helst med originalfilene og de offentlige nøklene kan uavhengig rekonstruere adressen og verifisere den mot blockchainen.

Avansert

Manuell verifisering

Du trenger ikke engang verktøyene våre. Følg disse trinnene for uavhengig å validere et Bernstein-sertifikat mot Bitcoin-blockchainen med standard kryptografisk programvare med åpen kildekode.

Hva du trenger før du begynner
  • Alle prosjektfiler og prosjektets omslagsfil (kan lastes ned fra Bernstein-appen)
  • Transaksjons-ID-en, som vises på Bernstein-sertifikatets PDF
  • Eierens offentlige nøkkel og Bernsteins offentlige nøkkel, som også finnes på sertifikat-PDF-en
  • Grunnleggende kjennskap til bruk av en datamaskinterminal

Beregn SHA-256-hashen av hver enkelt fil som er inkludert i prosjektet. Det finnes mange verktøy for dette. På Linux eller macOS kjører du følgende kommando i terminalen din:

Terminalkommando:

shasum -a 256 yourfile.pdf

Du kan også bruke nettjenester som SHA256 Online Checksum.

SHA-256 er en standardalgoritme - den vil alltid produsere samme resultat uansett hvilket verktøy som brukes.

Husk å også hashe prosjektets omslagsfil. Dette er en tekstfil som inneholder prosjektets tittel og beskrivelse, og kan lastes ned fra Bernstein- appen.

Kombiner hashene til ett enkelt prosjektfingeravtrykk:
  1. Sorter alle enkelthasher alfabetisk
  2. Sett dem sammen til én enkelt streng
  3. Beregn SHA-256-hashen av den sammensatte strengen

Resultatet er prosjektfingeravtrykket ditt. Du kan verifisere det mot fingeravtrykket som vises i Bernstein-appen under prosjektet ditt.

For å bruke prosjekthashen som en Bitcoin-nøkkel må du konvertere den fra HEX-format til WIF (Wallet Import Format). Vi tilbyr et Python-skript for denne konverteringen.

Begynn med å installere den nødvendige Python-pakken:

pip install base58

Lagre følgende Python-skript som 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]))

Kjør deretter skriptet med prosjekthashen din:

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

Skriptet skriver ut den tilsvarende nøkkelen i WIF-format. Du kan verifisere resultatet i Bernstein-appen ved å klikke på nøkkelikonet ved siden av blockchain-sertifikatet i prosjektet ditt.

I dette trinnet må du avlede den komprimerte offentlige nøkkelen fra den private WIF-nøkkelen du fikk i trinn 2. Dette er en standard kryptografisk Bitcoin-operasjon.

Du kan bruke dette nettverktøyet: Bitcoin Key Compression Tool

Lim inn WIF-nøkkelen fra trinn 2, så viser verktøyet den tilhørende komprimerte offentlige nøkkelen. Dette er den offentlige datanøkkelen - en av de tre nøklene som utgjør sertifikatadressen.

Nå som du har avledet den offentlige datanøkkelen fra filene dine, kombinerer du den med eierens offentlige nøkkel og Bernsteins offentlige nøkkel - begge finnes på sertifikat-PDF-en - for å konstruere 3-av-3 MultiSig Bitcoin-adressen.

Lagre og kjør følgende Ruby-skript:

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}"

Kjør skriptet fra terminalen din:

ruby multisig.rb

Følg anvisningene: velg protokollversjon, og skriv deretter inn de tre offentlige nøklene én etter én. Skriptet skriver ut Bitcoin- adressen.

Protokoll 1 (eldre) genererer en P2SH-adresse. Protokoll 2 (gjeldende) genererer en SegWit P2WSH-adresse. Sjekk sertifikatet ditt for å avgjøre hvilken protokollversjon som gjelder.

Til slutt slår du opp transaksjons-ID-en fra sertifikat-PDF-en din på en hvilken som helst blockchain-utforsker.

Vi anbefaler Blockstream.info orBlockchair.com.

Finn adressen i transaksjonens utgangsliste og sammenlign den med adressen du beregnet i trinn 4.

Hvis adressene samsvarer, er verifiseringen vellykket!

Gratulerer - du har uavhengig bevist eksistensen og integriteten til informasjonen i prosjektet ditt, uten å være avhengig av noen tredjepart.

Klar til å verifisere?

Skriv inn sertifikat-ID-en din for å validere ektheten uavhengig.