משמעות ההוכחה

מה מוכיחה תעודת Signet, בדיוק.

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

הטענה

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

הוכח, ללא צורך באמון

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

לא הוכח

  • זהות החותם.
  • שהשליטה בלעדית, או שהמפתח לא שותף ולא נמסר בכפייה.
  • שהחותם הוא לקוח של הגורם המבקש. קישור לזהות הוא חלק מתהליך ה־KYC של הגורם המבקש.

איך היא מוכחת

הגורם המבקש מנפיק הודעת אתגר שמשולב בה ערך חד־פעמי (nonce) הקשור לבקשה אחת בלבד. הצד שכנגד חותם בארנק שלו על הבתים המדויקים של הודעת האתגר. אנחנו מאמתים את החתימה מול הכתובת בבלוקצ'יין הנכון, ואז מגבבים את התעודה שנוצרה ומעגנים את הגיבוב על השרשרת במנת Merkle, באמצעות אותו חוזה Stamper המשמש בכל משפחת המוצרים של BA, כך שכלי האימות הציבורי מאמת אותה ללא שינוי.

הערך החד־פעמי הופך שימוש חוזר לבלתי אפשרי: חתימה על הודעת האתגר של בקשה אחת אינה ניתנת להעברה לבקשה אחרת. אנחנו מאמתים את הודעת האתגר השמורה בית אחר בית, ולעולם לא עותק שעובד מחדש.

קריפטוגרפיה לפי שרשרת

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

בלוקצ'ייןתקןאופן האימות
Ethereum ו־EVMEIP-191 personal_signשחזור החותם במצב לא מקוון
ארנקי חוזים חכמיםEIP-1271קריאה ל־isValidSignature על השרשרת
Bitcoin (SegWit / Taproot)BIP-322לא מקוון
Bitcoin (P2PKH מדור קודם)BIP-137 signmessageלא מקוון
Litecoin, Dogecoin, Zcash (t1)BIP-137 עם הקידומת של הרשתלא מקוון
Solanaed25519לא מקוון
Polkadot, Kusamasr25519 / ed25519לא מקוון
TRONTronWeb signMessageV2 (גם אפליקציית TRON של Ledger)שחזור החותם במצב לא מקוון

אימות עצמאי

מכל תעודה ניתן לייצא חבילת הוכחה עצמאית. כל אחד יכול לבדוק אותה מול שרשראות ציבוריות, ללא חשבון וללא צורך באמון ב־BA | Signet:

  1. signature היא חתימה תקפה של address על challenge בבלוקצ'יין המצוין. זה לבדו מוכיח שליטה במפתח.
  2. חישוב מחדש של SHA-256 של ה־JSON הקנוני של התעודה; התוצאה חייבת להיות שווה ל־contentHash (עלה ה־Merkle).
  3. קיפול העלה עם merkleProof (keccak256, זוגות ממוינים); התוצאה חייבת להיות שווה ל־merkleRoot.
  4. קריאה ל־timestamps(merkleRoot) בחוזה Stamper ב־Polygon; ערך שאינו אפס הוא המועד שעד אליו התעודה הייתה קיימת.
  5. אופציונלי: אימות הוכחת ה־OpenTimestamps מול בלוק Bitcoin.

מה אנחנו שומרים

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