אימות

אמת את התעודה שלך

אשר באופן עצמאי את האותנטיות של כל תעודת בלוקצ׳יין של Bernstein. ללא צורך באמון בשרת.

אימות ללא אמון

הכלי לאימות שלנו מעוצב כך שלעולם לא תצטרך לסמוך עלינו. הכל קורה בדפדפן שלך.

100% בצד הלקוח

הקבצים שלך לעולם לא עוזבים את המכשיר שלך. כל הגיבוב והאימות מתבצעים מקומית בדפדפן שלך.

הוכחת בלוקצ׳יין

תעודות מאומתות מול בלוקצ׳יין ביטקוין הבלתי-ניתן לשינוי - ללא צורך באמון בשרת.

עובד לא מקוון

לביטחון מרבי, תוכל להתנתק מהאינטרנט לפני העלאת קבצים רגישים.

אימות פתוח

כל אחד יכול לאמת תעודות באופן עצמאי בכלים קריפטוגרפיים סטנדרטיים.

יכולות

מה ניתן לאמת

הכלי לאימות שלנו מאפשר לך להוכיח גם את קיום הקבצים וגם בעלות על תעודות.

01

הוכח קיום

העלה קבצים כדי לאמת שהם תואמים לטביעת האצבע של התעודה הרשומה על בלוקצ׳יין ביטקוין.

02

הוכח בעלות

הזן את המפתחות הפרטיים שלך כדי להוכיח קריפטוגרפית שאתה הבעלים של התעודה.

03

צור חתימות

צור חתימות קריפטוגרפיות להוכחת בעלות לצדדים שלישיים כמו בתי משפט או משקיעים.

04

שתף הוכחה

ייצא נתוני אימות שכל אחד יכול לאמת באופן עצמאי.

טכני

כיצד עובד האימות

התעודות שלנו משתמשות בטכניקות קריפטוגרפיות סטנדרטיות שכל אחד יכול לאמת.

גיבוב SHA-256

קבצים מגובבים בשימוש באותו אלגוריתם כמו ביטקוין. טביעת האצבע היא מזהה ייחודי לקבצים המדויקים שלך.

עיגון לביטקוין

טביעת האצבע מוטמעת בעסקת ביטקוין, ויוצרת חותמת זמן בלתי-ניתנת לשינוי בפנקס הרישום הבטוח ביותר בעולם.

חותמות זמן מוסמכות

חותמות זמן נוספות מרשויות ממשלתיות של האיחוד האירופי וסין מספקות הכרה משפטית.

התאמת טביעות אצבע

העלה את הקבצים המקוריים שלך. אם טביעת האצבע המחושבת תואמת לרשומה בבלוקצ׳יין, הקיום הוכח.

פרוטוקול

פרוטוקול הרישום של Bernstein

הבנת אופן יצירת תעודות בלוקצ׳יין מהקבצים שלך.

Bernstein עוזרת לך ליצור הוכחת קיום ובעלות לאימות לכל נכס דיגיטלי. כאשר אתה מעלה קבצים לפרויקט, Bernstein מייצרת טביעת אצבע קריפטוגרפית ורושמת אותה על בלוקצ׳יין ביטקוין.

כל פרויקט יכול להכיל מספר קבצים ולהתפתח לאורך זמן. כל גרסה שאתה מאשר יוצרת רשומת בלוקצ׳יין חדשה, ובונה מסלול ביקורת מלא של הקניין הרוחני שלך.

כל תעודת Bernstein מתאימה לעסקת ביטקוין עם שלוש תכונות מרכזיות:

  • ציבורית - גלויה לכולם ברשת ביטקוין
  • מחותמת זמן - עוגנת לבלוק ספציפי עם תאריך ושעה מדויקים
  • בלתי-ניתנת לשינוי - לא ניתן לשנות או למחוק לאחר אישור

שלושה מפתחות קריפטוגרפיים

מפתח הבעלים

נגזר מחשבונך. מוכיח מי הבעלים של התעודה. המפתח הציבורי המתאים מודפס על קובץ ה-PDF של התעודה.

מפתח הנתונים

נגזר מגיבוב SHA-256 של קבצי הפרויקט שלך. מוכיח אילו קבצים מכוסים על ידי התעודה.

מפתח Bernstein

מפתח הפלטפורמה של Bernstein, החותם יחד על העסקה. המפתח הציבורי המתאים מודפס על קובץ ה-PDF של התעודה.

שלבי הרישום

01

הקבצים שלך מגובבים בנפרד באמצעות SHA-256, ולאחר מכן מאוחדים לטביעת אצבע פרויקט יחידה.

02

טביעת האצבע של הפרויקט מומרת למפתח פרטי של ביטקוין, ממנו נגזר מפתח ציבורי (מפתח הנתונים).

03

מפתח הנתונים, מפתח הבעלים ומפתח Bernstein מאוחדים לכתובת ביטקוין MultiSig 3-of-3.

04

עסקת ביטקוין נוצרת ושולחת כספים לכתובת ה-MultiSig הזו, ורושמת לצמיתות את התעודה על הבלוקצ׳יין.

כתובת הביטקוין המתקבלת מקודדת את שלושת המפתחות - ומוכיחה מי הבעלים של מה, ומתי. כל אחד עם הקבצים המקוריים והמפתחות הציבוריים יכול לשחזר באופן עצמאי את הכתובת ולאמת אותה מול הבלוקצ׳יין.

מתקדם

אימות ידני

אינך צריך אפילו את הכלים שלנו. עקוב אחר שלבים אלה לאימות עצמאי של תעודת Bernstein מול בלוקצ׳יין ביטקוין באמצעות תוכנת קריפטוגרפיה סטנדרטית בקוד פתוח.

מה שתצטרך לפני שתתחיל
  • כל קבצי הפרויקט וקובץ כיסוי הפרויקט (ניתן להורדה מאפליקציית Bernstein)
  • מזהה העסקה, מוצג על קובץ PDF של תעודת Bernstein
  • המפתח הציבורי של הבעלים ומפתח Bernstein הציבורי, שניהם נמצאים על קובץ ה-PDF של התעודה
  • היכרות בסיסית עם שימוש בטרמינל מחשב

חשב את גיבוב SHA-256 של כל קובץ בודד הכלול בפרויקט. ישנן כלים רבים לכך. ב-Linux או macOS, הפעל את הפקודה הבאה בטרמינל:

פקודת טרמינל:

shasum -a 256 yourfile.pdf

תוכל גם להשתמש בשירותים מקוונים כגון SHA256 Online Checksum.

SHA-256 הוא אלגוריתם סטנדרטי - הוא תמיד יפיק את אותה תוצאה ללא קשר לכלי המשמש.

זכור לגבב גם את קובץ כיסוי הפרויקט. זהו קובץ טקסט המכיל את כותרת הפרויקט ותיאורו, ניתן להורדה מאפליקציית Bernstein.

שלב את הגיבובים לטביעת אצבע פרויקט יחידה:
  1. מיין את כל הגיבובים הבודדים באופן אלפביתי
  2. שרשר אותם למחרוזת אחת
  3. חשב את גיבוב SHA-256 של המחרוזת המשורשרת

התוצאה היא טביעת האצבע של הפרויקט שלך. תוכל לאמת אותה מול טביעת האצבע המוצגת באפליקציית Bernstein תחת הפרויקט שלך.

כדי להשתמש בגיבוב הפרויקט כמפתח ביטקוין, עליך להמיר אותו מפורמט 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 Key Compression Tool

הדבק את מפתח WIF משלב 2 והכלי יציג את המפתח הציבורי הדחוס המשויך. זהו מפתח הנתונים הציבורי - אחד משלושת המפתחות המרכיבים את כתובת התעודה.

כעת שגזרת את מפתח הנתונים הציבורי מהקבצים שלך, שלב אותו עם מפתח הבעלים הציבורי ומפתח Bernstein הציבורי - שניהם נמצאים על קובץ ה-PDF של התעודה - לבניית כתובת ביטקוין MultiSig 3-of-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

עקוב אחר ההנחיות: בחר את גרסת הפרוטוקול שלך, ולאחר מכן הזן את שלושת המפתחות הציבוריים אחד אחד. הסקריפט יפיק את כתובת הביטקוין.

פרוטוקול 1 (ישן) מייצר כתובת P2SH. פרוטוקול 2 (נוכחי) מייצר כתובת SegWit P2WSH. בדוק את התעודה שלך כדי לקבוע איזו גרסת פרוטוקול חלה.

לבסוף, חפש את מזהה העסקה מקובץ PDF של התעודה בכל explorer בלוקצ׳יין.

אנו ממליצים על Blockstream.info orBlockchair.com.

מצא את הכתובת ברשימת הפלטים של העסקה והשווה אותה עם הכתובת שחישבת בשלב 4.

אם הכתובות תואמות, האימות הצליח!

ברכות - הוכחת באופן עצמאי את הקיום ושלמות המידע הכלול בפרויקט שלך, מבלי להסתמך על אף צד שלישי.

מוכן לאמת?

הזן את מזהה התעודה שלך לאימות עצמאי של האותנטיות שלה.