Перевірте свій сертифікат
Незалежно підтвердіть автентичність будь-якого блокчейн-сертифіката Bernstein. Довіра до сервера не потрібна.
Верифікація без довіри
Наш валідатор розроблений так, щоб вам ніколи не доводилося нам довіряти. Все відбувається у вашому браузері.
100% на стороні клієнта
Ваші файли ніколи не залишають ваш пристрій. Все хешування та верифікація відбуваються локально у вашому браузері.
Блокчейн-доказ
Сертифікати перевіряються за незмінним блокчейном Bitcoin — довіра до сервера не потрібна.
Працює офлайн
Для максимальної безпеки ви можете відключитися від Інтернету перед завантаженням конфіденційних файлів.
Відкрита верифікація
Будь-хто може незалежно перевіряти сертифікати за допомогою стандартних криптографічних інструментів.
Що можна перевірити
Наш валідатор дозволяє вам довести як існування файлів, так і право власності на сертифікати.
Довести існування
Завантажте файли, щоб перевірити їхню відповідність відбитку сертифіката, зареєстрованому в блокчейні Bitcoin.
Довести право власності
Введіть ваші приватні ключі, щоб криптографічно довести, що ви є власником сертифіката.
Генерувати підписи
Створюйте криптографічні підписи для підтвердження права власності третім сторонам — судам або інвесторам.
Поділитися доказом
Експортуйте дані верифікації, які будь-хто може незалежно підтвердити.
Як працює верифікація
Наші сертифікати використовують стандартні криптографічні методи, які може перевірити будь-хто.
Хешування SHA-256
Файли хешуються за тим самим алгоритмом, що і Bitcoin. Відбиток є унікальним ідентифікатором ваших точних файлів.
Прив'язка до Bitcoin
Відбиток вбудовується у транзакцію Bitcoin, створюючи незмінну часову мітку у найнадійнішому реєстрі світу.
Кваліфіковані часові мітки
Додаткові часові мітки від державних органів ЄС та Китаю забезпечують юридичне визнання.
Зіставлення відбитків
Завантажте оригінальні файли. Якщо обчислений відбиток збігається із записом у блокчейні, існування доведено.
Протокол реєстрації Bernstein
Розуміння того, як Bernstein створює блокчейн-сертифікати з ваших файлів.
Bernstein допомагає вам створити верифіковане підтвердження існування та права власності для будь-якого цифрового активу. Коли ви завантажуєте файли до проекту, Bernstein генерує криптографічний відбиток і записує його в блокчейн Bitcoin.
Кожен проект може містити кілька файлів та розвиватися з часом. Кожна версія, яку ви сертифікуєте, створює новий запис у блокчейні, формуючи повний журнал аудиту вашої інтелектуальної власності.
Кожен сертифікат Bernstein відповідає транзакції Bitcoin з трьома ключовими властивостями:
Три криптографічні ключі
Ключ власника
Похідний від вашого облікового запису. Доводить, хто є власником сертифіката. Відповідний відкритий ключ надрукований на вашому PDF-сертифікаті.
Ключ даних
Похідний від хешу SHA-256 файлів вашого проекту. Доводить, які файли охоплені сертифікатом.
Ключ Bernstein
Ключ платформи Bernstein, що підписує транзакцію спільно. Відповідний відкритий ключ надрукований на вашому PDF-сертифікаті.
Кроки реєстрації
Ваші файли хешуються окремо за допомогою SHA-256, потім об'єднуються в єдиний відбиток проекту.
Відбиток проекту перетворюється на приватний ключ Bitcoin, з якого виводиться відкритий ключ (Ключ даних).
Ключ даних, Ключ власника та Ключ Bernstein об'єднуються в адресу Bitcoin MultiSig 3-з-3.
Створюється транзакція Bitcoin, що надсилає кошти на цю адресу MultiSig, назавжди записуючи сертифікат у блокчейні.
Отримана адреса Bitcoin кодує всі три ключі — доводячи, хто чим володів і коли. Будь-хто, маючи оригінальні файли та відкриті ключі, може незалежно відтворити адресу та перевірити її у блокчейні.
Ручна верифікація
Вам навіть не потрібні наші інструменти. Виконайте ці кроки для незалежної перевірки сертифіката Bernstein у блокчейні Bitcoin за допомогою стандартного криптографічного програмного забезпечення з відкритим кодом.
Що потрібно перед початком
- Всі файли проекту та файл обкладинки проекту (завантажується із застосунку Bernstein)
- Ідентифікатор транзакції, відображений на PDF-сертифікаті Bernstein
- Відкритий ключ власника та відкритий ключ Bernstein, також зазначені на PDF-сертифікаті
- Базові навички роботи з терміналом комп'ютера
Обчисліть хеш SHA-256 кожного окремого файлу, включеного до проекту. Для цього існує багато утиліт. У Linux або macOS виконайте таку команду у терміналі:
Команда терміналу:
shasum -a 256 yourfile.pdfВи також можете використовувати онлайн-сервіси, наприклад SHA256 Online Checksum.
SHA-256 — це стандартний алгоритм, який завжди дає однаковий результат незалежно від використовуваного інструменту.
Не забудьте також хешувати файл обкладинки проекту. Це текстовий файл, що містить назву та опис проекту, який можна завантажити із застосунку Bernstein.
Об'єднайте хеші в єдиний відбиток проекту:
- Відсортуйте всі окремі хеші за алфавітом
- Об'єднайте їх в один рядок
- Обчисліть хеш SHA-256 об'єднаного рядка
Результат — це відбиток вашого проекту. Ви можете перевірити його за відбитком, показаним у застосунку Bernstein у вашому проекті.
Щоб використовувати хеш проекту як ключ Bitcoin, потрібно перетворити його з формату HEX у формат WIF (Wallet Import Format). Ми надаємо скрипт Python для цього перетворення.
Спочатку встановіть необхідний пакет Python:
pip install base58Збережіть наступний скрипт Python як 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]))
Потім запустіть скрипт з хешем вашого проекту:
python hex2wif.py <your-project-hash-hex>Скрипт виведе відповідний ключ у форматі WIF. Ви можете перевірити результат у застосунку Bernstein, натиснувши на іконку ключа поруч із блокчейн-сертифікатом у вашому проекті.
На цьому кроці потрібно вивести стиснутий відкритий ключ із WIF-приватного ключа, отриманого на кроці 2. Це стандартна криптографічна операція Bitcoin.
Можна скористатися цим онлайн-інструментом: Bitcoin Key Compression Tool
Вставте WIF-ключ з кроку 2, і інструмент відобразить пов'язаний стиснутий відкритий ключ. Це Ключ даних — один із трьох ключів, що складають адресу сертифіката.
Тепер, коли ви вивели Ключ даних із ваших файлів, об'єднайте його з Ключем власника та Ключем Bernstein — обидва знаходяться на PDF-сертифікаті — щоб побудувати адресу Bitcoin MultiSig 3-з-3.
Збережіть та запустіть наступний скрипт 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}"
Запустіть скрипт із терміналу:
ruby multisig.rbДотримуйтесь підказок: оберіть версію протоколу, потім введіть три відкритих ключі по одному. Скрипт виведе адресу Bitcoin.
Протокол 1 (застарілий) генерує адресу P2SH. Протокол 2 (поточний) генерує адресу SegWit P2WSH. Перевірте свій сертифікат, щоб визначити відповідну версію протоколу.
Нарешті, знайдіть ідентифікатор транзакції з вашого PDF-сертифіката у будь-якому блокчейн-провіднику.
Ми рекомендуємо Blockstream.info orBlockchair.com.
Знайдіть адресу у списку виходів транзакції та порівняйте її з адресою, обчисленою на кроці 4.
Вітаємо — ви незалежно довели існування та цілісність інформації, включеної до вашого проекту, не покладаючись на будь-яку третю сторону.