التحقق

تحقق من شهادتك

تأكد بشكل مستقل من صحة أي شهادة Bernstein للبلوكتشين. لا حاجة للثقة بالخادم.

التحقق بدون ثقة

أداة التحقق لدينا مصممة بحيث لا تحتاج للثقة بنا أبداً. كل شيء يحدث في متصفحك.

100% من جانب العميل

ملفاتك لا تغادر جهازك أبداً. كل عمليات الهاش والتحقق تحدث محلياً في متصفحك.

إثبات البلوكتشين

يتم التحقق من الشهادات مقابل بلوكتشين البيتكوين غير القابل للتغيير—لا حاجة للثقة بالخادم.

يعمل بدون اتصال

لأقصى درجات الأمان، يمكنك قطع الاتصال بالإنترنت قبل رفع الملفات الحساسة.

تحقق مفتوح

يمكن لأي شخص التحقق من الشهادات بشكل مستقل باستخدام أدوات التشفير القياسية.

القدرات

ما يمكنك التحقق منه

تتيح لك أداة التحقق إثبات وجود الملفات وملكية الشهادات.

01

إثبات الوجود

ارفع الملفات للتحقق من تطابقها مع البصمة المسجلة على بلوكتشين البيتكوين.

02

إثبات الملكية

أدخل مفاتيحك الخاصة لإثبات ملكيتك للشهادة بشكل تشفيري.

03

إنشاء التوقيعات

أنشئ توقيعات تشفيرية لإثبات الملكية لأطراف ثالثة مثل المحاكم أو المستثمرين.

04

مشاركة الإثبات

صدّر بيانات التحقق التي يمكن لأي شخص التحقق منها بشكل مستقل.

تقني

كيف يعمل التحقق

تستخدم شهاداتنا تقنيات تشفير قياسية يمكن لأي شخص التحقق منها.

تجزئة SHA-256

يتم تجزئة الملفات باستخدام نفس الخوارزمية المستخدمة في البيتكوين. البصمة هي معرف فريد لملفاتك بالضبط.

التثبيت على البيتكوين

يتم تضمين البصمة في معاملة بيتكوين، مما ينشئ طابعاً زمنياً غير قابل للتغيير على أكثر السجلات أماناً في العالم.

طوابع زمنية مؤهلة

طوابع زمنية إضافية من سلطات حكومية في الاتحاد الأوروبي والصين توفر اعترافاً قانونياً.

مطابقة البصمة

ارفع ملفاتك الأصلية. إذا تطابقت البصمة المحسوبة مع سجل البلوكتشين، فقد تم إثبات الوجود.

البروتوكول

بروتوكول تسجيل Bernstein

فهم كيفية إنشاء Bernstein لشهادات البلوكتشين من ملفاتك.

يساعدك Bernstein في إنشاء إثبات قابل للتحقق لوجود وملكية أي أصل رقمي. عند تحميل ملفات في مشروع، يقوم Bernstein بإنشاء بصمة تشفيرية وتسجيلها على بلوكتشين البيتكوين.

يمكن لكل مشروع أن يحتوي على ملفات متعددة ويتطور بمرور الوقت. كل إصدار تقوم بتوثيقه ينشئ سجل بلوكتشين جديداً، مما يبني سجل تدقيق كامل لملكيتك الفكرية.

يتوافق كل شهادة Bernstein مع معاملة بيتكوين بثلاث خصائص رئيسية:

  • عامة — مرئية لأي شخص على شبكة البيتكوين
  • مختومة بالوقت — مثبتة في كتلة محددة بتاريخ ووقت دقيقين
  • غير قابلة للتغيير — لا يمكن تعديلها أو حذفها بمجرد تأكيدها

ثلاثة مفاتيح تشفيرية

مفتاح المالك

مشتق من حسابك. يثبت من يملك الشهادة. المفتاح العام المقابل مطبوع على شهادة PDF الخاصة بك.

مفتاح البيانات

مشتق من تجزئة SHA-256 لملفات مشروعك. يثبت أي الملفات مشمولة بالشهادة.

مفتاح Bernstein

مفتاح منصة Bernstein الذي يشارك في توقيع المعاملة. المفتاح العام المقابل مطبوع على شهادة PDF الخاصة بك.

خطوات التسجيل

01

يتم تجزئة ملفاتك بشكل فردي باستخدام SHA-256، ثم تُدمج في بصمة مشروع واحدة.

02

تُحوّل بصمة المشروع إلى مفتاح بيتكوين خاص، يُشتق منه مفتاح عام (مفتاح البيانات).

03

يُجمع مفتاح البيانات ومفتاح المالك ومفتاح Bernstein في عنوان بيتكوين MultiSig 3-من-3.

04

تُنشأ معاملة بيتكوين ترسل أموالاً إلى عنوان MultiSig هذا، مسجّلةً الشهادة بشكل دائم على البلوكتشين.

يُشفّر عنوان البيتكوين الناتج جميع المفاتيح الثلاثة — مما يثبت من يملك ماذا، ومتى. يمكن لأي شخص يمتلك الملفات الأصلية والمفاتيح العامة إعادة بناء العنوان بشكل مستقل والتحقق منه على البلوكتشين.

متقدم

التحقق اليدوي

لا تحتاج حتى لأدواتنا. إليك الخطوات للتحقق بشكل مستقل من شهادة Bernstein مقابل بلوكتشين Bitcoin باستخدام برامج تشفير مفتوحة المصدر.

ما تحتاجه قبل البدء
  • جميع ملفات المشروع وملف غلاف المشروع (قابل للتنزيل من تطبيق Bernstein)
  • معرف المعاملة، المعروض على شهادة Bernstein بصيغة PDF
  • المفتاح العام للمالك والمفتاح العام لـ Bernstein، الموجودان أيضاً على شهادة PDF
  • مهارات أساسية لتشغيل سطر الأوامر في الحاسوب

احسب هاش SHA-256 لكل ملف على حدة ضمن المشروع. هناك العديد من الأدوات البرمجية التي يمكنك استخدامها. على Linux أو macOS، نفّذ الأمر التالي في سطر الأوامر:

أمر سطر الأوامر:

shasum -a 256 yourfile.pdf

يمكنك أيضاً استخدام خدمات عبر الإنترنت مثل SHA256 Online Checksum.

SHA-256 هي خوارزمية قياسية — ستنتج دائماً نفس النتيجة بغض النظر عن الأداة التي تستخدمها.

لا تنسَ أيضاً حساب هاش ملف غلاف المشروع. هذا ملف نصي يحتوي على عنوان المشروع ووصفه، ويمكنك تنزيله من تطبيق Bernstein.

ادمج الهاشات في بصمة مشروع واحدة:
  1. رتّب جميع هاشات الملفات الفردية أبجدياً
  2. اربطها في سلسلة نصية واحدة
  3. احسب هاش 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.

إذا تطابق العنوانان، فقد نجح التحقق!

تهانينا — لقد أثبتّ بشكل مستقل وجود وسلامة المعلومات المضمنة في مشروعك، دون الاعتماد على أي طرف ثالث.

هل أنت مستعد للتحقق؟

أدخل معرف شهادتك للتحقق من صحتها بشكل مستقل.