Validera ditt intyg
Bekräfta oberoende äktheten hos valfritt Bernstein-blockkedjeintyg. Inget serverförtroende krävs.
Nollförtroende-verifiering
Vår validerare är designad så att du aldrig behöver lita på oss. Allt sker i din webbläsare.
100% på klientsidan
Dina filer lämnar aldrig din enhet. All hashning och verifiering sker lokalt i din webbläsare.
Blockchain-bevis
Intyg verifieras mot den oföränderliga Bitcoin-blockkedjan - inget serverförtroende krävs.
Fungerar offline
För maximal säkerhet kan du koppla från internet innan du laddar upp känsliga filer.
Öppen verifiering
Vem som helst kan verifiera intyg oberoende med standardkryptografiska verktyg.
Vad du kan verifiera
Vår validerare låter dig bevisa både filernas existens och äganderätten till intyg.
Bevisa existens
Ladda upp filer för att verifiera att de matchar intygets fingeravtryck registrerat på Bitcoin-blockkedjan.
Bevisa äganderätt
Ange dina privata nycklar för att kryptografiskt bevisa att du äger intyget.
Generera signaturer
Skapa kryptografiska signaturer för att bevisa äganderätt för tredje parter som domstolar eller investerare.
Dela bevis
Exportera verifieringsdata som vem som helst kan validera oberoende.
Hur verifiering fungerar
Våra intyg använder standardkryptografiska tekniker som kan verifieras av vem som helst.
SHA-256-hashning
Filer hashas med samma algoritm som Bitcoin. Fingeravtrycket är en unik identifierare för dina exakta filer.
Bitcoin-förankring
Fingeravtrycket bäddas in i en Bitcoin-transaktion och skapar en oföränderlig tidsstämpel på världens säkraste register.
Kvalificerade tidsstämplar
Ytterligare tidsstämplar från EU:s och Kinas statliga myndigheter ger rättsligt erkännande.
Fingeravtrycksmatchning
Ladda upp dina originalfiler. Om det beräknade fingeravtrycket matchar blockkedjerecordet är existensen bevisad.
Bernsteins registreringsprotokoll
Förstå hur Bernstein skapar blockkedjeintyg från dina filer.
Bernstein hjälper dig att skapa verifierbart bevis på existens och äganderätt för valfri digital tillgång. När du laddar upp filer till ett projekt genererar Bernstein ett kryptografiskt fingeravtryck och registrerar det på Bitcoin-blockkedjan.
Varje projekt kan innehålla flera filer och utvecklas över tid. Varje version du certifierar skapar ett nytt blockkedjerecord och bygger ett komplett revisionshistorik för din immateriella egendom.
Varje Bernstein-intyg motsvarar en Bitcoin-transaktion med tre viktiga egenskaper:
Tre kryptografiska nycklar
Ägarnyckel
Härledd från ditt konto. Bevisar vem som äger intyget. Motsvarande publika nyckel trycks på ditt intygs-PDF.
Datanyckel
Härledd från SHA-256-hashen av dina projektfiler. Bevisar vilka filer som täcks av intyget.
Bernstein-nyckel
Bernsteins plattformsnyckel, som medsignerar transaktionen. Motsvarande publika nyckel trycks på ditt intygs-PDF.
Registreringssteg
Dina filer hashas individuellt med SHA-256, sedan kombineras de till ett enda projektfingeravtryck.
Projektfingeravtrycket konverteras till en Bitcoin-privat nyckel, från vilken en publik nyckel (datanyckeln) härleds.
Datanyckeln, ägarnyckeln och Bernstein-nyckeln kombineras till en 3-av-3 MultiSig Bitcoin-adress.
En Bitcoin-transaktion skapas som skickar medel till denna MultiSig-adress och registrerar intyget permanent på blockkedjan.
Den resulterande Bitcoin-adressen kodar alla tre nycklar - och bevisar vem som ägde vad och när. Vem som helst med originalfilerna och de publika nycklarna kan oberoende rekonstruera adressen och verifiera den mot blockkedjan.
Manuell verifiering
Du behöver inte ens våra verktyg. Följ dessa steg för att oberoende validera ett Bernstein-intyg mot Bitcoin-blockkedjan med vanlig öppen källkod för kryptografi.
Vad du behöver innan du börjar
- Alla projektfiler och projektomslaget (nedladdningsbart från Bernstein-appen)
- Transaktions-ID, visas på Bernstein-intygets PDF
- Ägarens publika nyckel och Bernsteins publika nyckel, finns också på intygets PDF
- Grundläggande kunskap om att använda en terminal
Beräkna SHA-256-hashen för varje enskild fil som ingår i projektet. Det finns många verktyg för detta. På Linux eller macOS, kör följande kommando i din terminal:
Terminalkommando:
shasum -a 256 yourfile.pdfDu kan också använda onlinetjänster som SHA256 Online Checksum.
SHA-256 är en standardalgoritm - den ger alltid samma resultat oavsett vilket verktyg som används.
Kom ihåg att också hasha projektomslaget. Det är en textfil som innehåller projekttiteln och beskrivningen, nedladdningsbar från Bernstein-appen.
Kombinera hasharna till ett enda projektfingeravtryck:
- Sortera alla individuella hashar i alfabetisk ordning
- Konkatenera dem till en enda sträng
- Beräkna SHA-256-hashen av den sammansatta strängen
Resultatet är ditt projektfingeravtryck. Du kan verifiera det mot fingeravtrycket som visas i Bernstein-appen under ditt projekt.
För att använda projekthash som en Bitcoin-nyckel måste du konvertera den från HEX-format till WIF (Wallet Import Format). Vi tillhandahåller ett Python-skript för denna konvertering.
Börja med att installera det nödvändiga Python-paketet:
pip install base58Spara följande 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]))
Kör sedan skriptet med din projekthash:
python hex2wif.py <your-project-hash-hex>Skriptet matar ut motsvarande nyckel i WIF-format. Du kan verifiera resultatet i Bernstein-appen genom att klicka på nyckelikonen bredvid blockkedjeintygen i ditt projekt.
I detta steg behöver du härleda den komprimerade publika nyckeln från WIF-privatnyckeln som erhölls i steg 2. Detta är en standard Bitcoin-kryptografisk operation.
Du kan använda detta onlineverktyg: Bitcoin Key Compression Tool
Klistra in WIF-nyckeln från steg 2 och verktyget visar den tillhörande komprimerade publika nyckeln. Det är den publika datanyckeln - en av de tre nycklar som utgör intygsadressen.
Nu när du har härledd den publika datanyckeln från dina filer, kombinera den med ägarens publika nyckel och Bernsteins publika nyckel - båda finns på intygets PDF - för att konstruera 3-av-3 MultiSig Bitcoin-adressen.
Spara och kör följande 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}"
Kör skriptet från din terminal:
ruby multisig.rbFölj instruktionerna: välj protokollversion och ange sedan de tre publika nycklarna en i taget. Skriptet matar ut Bitcoin-adressen.
Protokoll 1 (äldre) genererar en P2SH-adress. Protokoll 2 (nuvarande) genererar en SegWit P2WSH-adress. Kontrollera ditt intyg för att avgöra vilken protokollversion som gäller.
Slutligen, slå upp transaktions-ID:t från ditt intygs-PDF i valfri blockchain explorer.
Vi rekommenderar Blockstream.info orBlockchair.com.
Hitta adressen i transaktionens outputlista och jämför den med adressen du beräknade i steg 4.
Gratulerar - du har oberoende bevisat existensen och integriteten hos informationen i ditt projekt, utan att förlita dig på någon tredje part.