Zweryfikuj swój certyfikat
Niezależnie potwierdź autentyczność każdego certyfikatu blockchain Bernstein. Nie wymaga zaufania do serwera.
Weryfikacja zero-trust
Nasz walidator zaprojektowano tak, byś nigdy nie musiał nam ufać. Wszystko odbywa się w Twojej przeglądarce.
100% po stronie klienta
Twoje pliki nigdy nie opuszczają Twojego urządzenia. Całe hashowanie i weryfikacja odbywają się lokalnie w Twojej przeglądarce.
Dowód blockchain
Certyfikaty są weryfikowane wobec niezmiennego łańcucha bloków Bitcoin - nie wymaga zaufania do serwera.
Działa offline
Dla maksymalnego bezpieczeństwa możesz odłączyć się od internetu przed przesłaniem wrażliwych plików.
Otwarta weryfikacja
Każdy może niezależnie zweryfikować certyfikaty za pomocą standardowych narzędzi kryptograficznych.
Co możesz zweryfikować
Nasz walidator pozwala udowodnić zarówno istnienie plików, jak i własność certyfikatów.
Udowodnij istnienie
Prześlij pliki, aby zweryfikować, że odpowiadają odciskowi palca certyfikatu zarejestrowanemu w łańcuchu bloków Bitcoin.
Udowodnij własność
Wprowadź swoje klucze prywatne, aby kryptograficznie udowodnić, że jesteś właścicielem certyfikatu.
Generuj podpisy
Twórz podpisy kryptograficzne, aby udowodnić własność stronom trzecim, takim jak sądy lub inwestorzy.
Udostępnij dowód
Eksportuj dane weryfikacyjne, które każdy może niezależnie zwalidować.
Jak działa weryfikacja
Nasze certyfikaty wykorzystują standardowe techniki kryptograficzne, które każdy może zweryfikować.
Hashowanie SHA-256
Pliki są hashowane tym samym algorytmem co Bitcoin. Odcisk palca jest unikalnym identyfikatorem Twoich dokładnych plików.
Zakotwiczenie w Bitcoin
Odcisk palca jest osadzany w transakcji Bitcoin, tworząc niezmienny znacznik czasu w najbezpieczniejszym rejestrze na świecie.
Kwalifikowane znaczniki czasu
Dodatkowe znaczniki czasu od organów rządowych UE i Chin zapewniają uznanie prawne.
Dopasowanie odcisków palca
Prześlij oryginalne pliki. Jeśli obliczony odcisk palca odpowiada rekordowi w łańcuchu bloków, istnienie zostało udowodnione.
Protokół rejestracji Bernstein
Dowiedz się, jak Bernstein tworzy certyfikaty blockchain z Twoich plików.
Bernstein pomaga tworzyć weryfikowalne dowody istnienia i własności dla każdego zasobu cyfrowego. Gdy przesyłasz pliki do projektu, Bernstein generuje kryptograficzny odcisk palca i rejestruje go w łańcuchu bloków Bitcoin.
Każdy projekt może zawierać wiele plików i rozwijać się w czasie. Każda certyfikowana wersja tworzy nowy rekord w łańcuchu bloków, budując pełny ślad audytu Twojej własności intelektualnej.
Każdy certyfikat Bernstein odpowiada transakcji Bitcoin o trzech kluczowych właściwościach:
Trzy klucze kryptograficzne
Klucz właściciela
Wyprowadzony z Twojego konta. Dowodzi, kto jest właścicielem certyfikatu. Odpowiadający klucz publiczny znajduje się na PDF certyfikatu.
Klucz danych
Wyprowadzony z hasha SHA-256 plików projektu. Dowodzi, które pliki są objęte certyfikatem.
Klucz Bernstein
Klucz platformy Bernstein, który współpodpisuje transakcję. Odpowiadający klucz publiczny znajduje się na PDF certyfikatu.
Kroki rejestracji
Twoje pliki są indywidualnie hashowane algorytmem SHA-256, a następnie łączone w jeden odcisk palca projektu.
Odcisk palca projektu jest konwertowany na klucz prywatny Bitcoin, z którego wyprowadzany jest klucz publiczny (klucz danych).
Klucz danych, klucz właściciela i klucz Bernstein są łączone w adres Bitcoin 3-z-3 MultiSig.
Tworzona jest transakcja Bitcoin wysyłająca środki na ten adres MultiSig, co trwale rejestruje certyfikat w łańcuchu bloków.
Wynikowy adres Bitcoin koduje wszystkie trzy klucze - dowodząc, kto co posiadał i kiedy. Każdy, kto ma oryginalne pliki i klucze publiczne, może niezależnie odtworzyć adres i zweryfikować go wobec łańcucha bloków.
Ręczna weryfikacja
Nie potrzebujesz nawet naszych narzędzi. Wykonaj te kroki, aby niezależnie zwalidować certyfikat Bernstein wobec łańcucha bloków Bitcoin za pomocą standardowego oprogramowania kryptograficznego open source.
Co jest potrzebne na początek
- Wszystkie pliki projektu i plik okładki projektu (do pobrania z aplikacji Bernstein)
- Identyfikator transakcji widoczny na PDF certyfikatu Bernstein
- Publiczny klucz właściciela i publiczny klucz Bernstein, również na PDF certyfikatu
- Podstawowa znajomość korzystania z terminala komputerowego
Oblicz hash SHA-256 każdego pojedynczego pliku w projekcie. Istnieje wiele narzędzi do tego celu. Na Linuksie lub macOS wykonaj następujące polecenie w terminalu:
Polecenie terminala:
shasum -a 256 yourfile.pdfMożesz również użyć usług online, takich jak SHA256 Online Checksum.
SHA-256 to standardowy algorytm - zawsze daje ten sam wynik, niezależnie od użytego narzędzia.
Pamiętaj, aby zahashować również plik okładki projektu. Jest to plik tekstowy z tytułem i opisem projektu, do pobrania z aplikacji Bernstein.
Połącz hashe w jeden odcisk palca projektu:
- Posortuj wszystkie indywidualne hashe alfabetycznie
- Połącz je w jeden ciąg znaków
- Oblicz hash SHA-256 połączonego ciągu
Wynik to Twój odcisk palca projektu. Możesz go zweryfikować wobec odcisku palca wyświetlanego w aplikacji Bernstein w Twoim projekcie.
Aby użyć hasha projektu jako klucza Bitcoin, musisz go przekonwertować z formatu HEX na WIF (Wallet Import Format). Udostępniamy skrypt Python do tej konwersji.
Zacznij od zainstalowania wymaganego pakietu Python:
pip install base58Zapisz następujący skrypt Python jako 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]))
Następnie uruchom skrypt z hashem projektu:
python hex2wif.py <your-project-hash-hex>Skrypt wyświetli odpowiadający klucz w formacie WIF. Możesz zweryfikować wynik w aplikacji Bernstein, klikając ikonę klucza obok certyfikatu blockchain w Twoim projekcie.
W tym kroku musisz wyprowadzić skompresowany klucz publiczny z klucza prywatnego WIF uzyskanego w kroku 2. Jest to standardowa operacja kryptograficzna Bitcoin.
Możesz użyć tego narzędzia online: Bitcoin Key Compression Tool
Wklej klucz WIF z kroku 2, a narzędzie pokaże odpowiadający skompresowany klucz publiczny. To jest publiczny klucz danych - jeden z trzech kluczy tworzących adres certyfikatu.
Teraz, gdy wyprowadziłeś publiczny klucz danych z plików, połącz go z publicznym kluczem właściciela i publicznym kluczem Bernstein - oba znajdują się na PDF certyfikatu - aby skonstruować adres Bitcoin 3-z-3 MultiSig.
Zapisz i uruchom następujący skrypt Ruby:
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}"
Uruchom skrypt z terminala:
ruby multisig.rbPostępuj zgodnie z instrukcjami: wybierz wersję protokołu, a następnie wprowadź trzy klucze publiczne po kolei. Skrypt wyświetli adres Bitcoin.
Protokół 1 (przestarzały) generuje adres P2SH. Protokół 2 (aktualny) generuje adres SegWit P2WSH. Sprawdź certyfikat, aby określić, która wersja protokołu ma zastosowanie.
Na koniec wyszukaj identyfikator transakcji z PDF certyfikatu w eksploratorze łańcucha bloków.
Zalecamy: Blockstream.info orBlockchair.com.
Znajdź adres na liście wyjść transakcji i porównaj go z adresem obliczonym w kroku 4.
Gratulacje - niezależnie udowodniłeś istnienie i integralność informacji w Twoim projekcie, bez polegania na żadnej stronie trzeciej.