Zweryfikuj swoj certyfikat
Niezaleznie potwierdz autentycznosc kazdego certyfikatu blockchain Bernstein. Nie wymaga zaufania do serwera.
Weryfikacja zero-trust
Nasz walidator jest zaprojektowany tak, abys nigdy nie musial nam ufac. Wszystko odbywa sie w Twojej przegladarce.
100% po stronie klienta
Twoje pliki nigdy nie opuszczaja Twojego urzadzenia. Cale hashowanie i weryfikacja odbywaja sie lokalnie w Twojej przegladarce.
Dowod blockchain
Certyfikaty sa weryfikowane wobec niezmiennego lancucha bloków Bitcoin - nie wymaga zaufania do serwera.
Dziala offline
Dla maksymalnego bezpieczenstwa mozesz odlaczyc sie od internetu przed przeslaniem wrażliwych plików.
Otwarta weryfikacja
Kazdy moze niezaleznie zweryfikowac certyfikaty za pomoca standardowych narzedzi kryptograficznych.
Co mozesz zweryfikowac
Nasz walidator pozwala udowodnic zarówno istnienie plików, jak i wlasnosc certyfikatów.
Udowodnij istnienie
Przeslij pliki, aby zweryfikowac, ze odpowiadaja odciskowi palca certyfikatu zarejestrowanemu w lancuchu bloków Bitcoin.
Udowodnij wlasnosc
Wprowadz swoje klucze prywatne, aby kryptograficznie udowodnic, ze jestes wlascicielem certyfikatu.
Generuj podpisy
Twórz podpisy kryptograficzne, aby udowodnic wlasnosc stronom trzecim, takim jak sady lub inwestorzy.
Udostepnij dowód
Eksportuj dane weryfikacyjne, które kazdy moze niezaleznie zwalidowac.
Jak dziala weryfikacja
Nasze certyfikaty wykorzystuja standardowe techniki kryptograficzne, które moga byc zweryfikowane przez kazdego.
Hashowanie SHA-256
Pliki sa hashowane tym samym algorytmem co Bitcoin. Odcisk palca jest unikalnym identyfikatorem Twoich dokladnych plików.
Zakotwiczenie w Bitcoin
Odcisk palca jest osadzany w transakcji Bitcoin, tworzac niezmienny znacznik czasu w najbezpieczniejszym rejestrze na swiecie.
Kwalifikowane znaczniki czasu
Dodatkowe znaczniki czasu od organów rzadowych UE i Chin zapewniaja uznanie prawne.
Dopasowanie odcisków palca
Przeslij oryginalne pliki. Jesli obliczony odcisk palca odpowiada rekordowi w lancuchu bloków, istnienie zostalo udowodnione.
Protokól rejestracji Bernstein
Dowiedz sie, jak Bernstein tworzy certyfikaty blockchain z Twoich plików.
Bernstein pomaga tworzyc weryfikowalne dowody istnienia i wlasnosci dla kazdego zasobu cyfrowego. Gdy przesylasz pliki do projektu, Bernstein generuje kryptograficzny odcisk palca i rejestruje go w lancuchu bloków Bitcoin.
Kazdy projekt moze zawierac wiele plików i rozwijac sie w czasie. Kazda certyfikowana wersja tworzy nowy rekord w lancuchu bloków, budujac pelny slad audytu Twojej wlasnosci intelektualnej.
Kazdy certyfikat Bernstein odpowiada transakcji Bitcoin o trzech kluczowych wlasciwosciach:
Trzy klucze kryptograficzne
Klucz wlasciciela
Wyprowadzony z Twojego konta. Dowodzi, kto jest wlascicielem certyfikatu. Odpowiadajacy klucz publiczny znajduje sie na PDF certyfikatu.
Klucz danych
Wyprowadzony z hasha SHA-256 plików projektu. Dowodzi, które pliki sa objete certyfikatem.
Klucz Bernstein
Klucz platformy Bernstein, który wspólpodpisuje transakcje. Odpowiadajacy klucz publiczny znajduje sie na PDF certyfikatu.
Kroki rejestracji
Twoje pliki sa indywidualnie hashowane algorytmem SHA-256, a nastepnie laczone 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 wlasciciela i klucz Bernstein sa laczone w adres Bitcoin 3-z-3 MultiSig.
Tworzona jest transakcja Bitcoin wyslajaca srodki na ten adres MultiSig, co trwale rejestruje certyfikat w lancuchu bloków.
Wynikowy adres Bitcoin koduje wszystkie trzy klucze - dowodzac kto co posiadal i kiedy. Kazdy, kto posiada oryginalne pliki i klucze publiczne, moze niezaleznie odtworzyc adres i zweryfikowac go wobec lancucha bloków.
Reczna weryfikacja
Nie potrzebujesz nawet naszych narzedzi. Wykonaj te kroki, aby niezaleznie zwalidowac certyfikat Bernstein wobec lancucha bloków Bitcoin za pomoca standardowego oprogramowania kryptograficznego open-source.
Co jest potrzebne na poczatek
- Wszystkie pliki projektu i plik okladki projektu (do pobrania z aplikacji Bernstein)
- Identyfikator transakcji widoczny na PDF certyfikatu Bernstein
- Publiczny klucz wlasciciela i publiczny klucz Bernstein, równiez na PDF certyfikatu
- Podstawowa znajomosc korzystania z terminala komputerowego
Oblicz hash SHA-256 kazdego pojedynczego pliku w projekcie. Istnieje wiele narzedzi do tego celu. Na Linuksie lub macOS wykonaj nastepujace polecenie w terminalu:
Polecenie terminala:
shasum -a 256 yourfile.pdfMozesz równiez uzyc uslug online, takich jak SHA256 Online Checksum.
SHA-256 to standardowy algorytm - zawsze daje ten sam wynik, niezaleznie od uzytego narzedzia.
Pamietaj, aby zahashowac równiez plik okladki projektu. Jest to plik tekstowy z tytulem i opisem projektu, do pobrania z aplikacji Bernstein.
Polacz hashe w jeden odcisk palca projektu:
- Posortuj wszystkie indywidualne hashe alfabetycznie
- Polacz je w jeden ciag znakowy
- Oblicz hash SHA-256 polaczonego ciagu
Wynik to Twój odcisk palca projektu. Mozesz go zweryfikowac wobec odcisku palca wyswietlanego w aplikacji Bernstein w Twoim projekcie.
Aby uzyc hasha projektu jako klucza Bitcoin, musisz go przekonwertowac z formatu HEX na WIF (Wallet Import Format). Udostepniamy skrypt Python do tej konwersji.
Zacznij od zainstalowania wymaganego pakietu Python:
pip install base58Zapisz nastepujacy 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]))
Nastepnie uruchom skrypt z hashem projektu:
python hex2wif.py <your-project-hash-hex>Skrypt wyswietli odpowiadajacy klucz w formacie WIF. Mozesz zweryfikowac wynik w aplikacji Bernstein, klikajac ikone klucza obok certyfikatu blockchain w Twoim projekcie.
W tym kroku musisz wyprowadzic skompresowany klucz publiczny z klucza prywatnego WIF uzyskanego w kroku 2. Jest to standardowa operacja kryptograficzna Bitcoin.
Mozesz uzyc tego narzedzia online: Bitcoin Key Compression Tool
Wklej klucz WIF z kroku 2, a narzedzie pokaze odpowiadajacy skompresowany klucz publiczny. To jest publiczny klucz danych - jeden z trzech kluczy tworzacych adres certyfikatu.
Teraz, gdy wyprowadziles publiczny klucz danych z plików, polacz go z publicznym kluczem wlasciciela i publicznym kluczem Bernstein - oba znajduja sie na PDF certyfikatu - aby skonstruowac adres Bitcoin 3-z-3 MultiSig.
Zapisz i uruchom nastepujacy 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.rbPostepuj zgodnie z instrukcjami: wybierz wersje protokolu, a nastepnie wprowadz trzy klucze publiczne po kolei. Skrypt wyswietli adres Bitcoin.
Protokól 1 (przestarzaly) generuje adres P2SH. Protokól 2 (aktualny) generuje adres SegWit P2WSH. Sprawdz certyfikat, aby okreslic, która wersja protokolu ma zastosowanie.
Na koniec wyszukaj identyfikator transakcji z PDF certyfikatu w eksploratorze lancucha bloków.
Zalecamy: Blockstream.info orBlockchair.com.
Znajdz adres na liscie wyjsc transakcji i porównaj go z adresem obliczonym w kroku 4.
Gratulacje - niezaleznie udowodniles istnienie i integralnosc informacji w Twoim projekcie, bez polegania na zadnej stronie trzeciej.