תוכן עניינים
בניגוד לטרנזקציות בכסף רגיל, שכאשר אינן מתבצעות במזומן הן חייבות לכלול צד שלישי או גורם מתווך כגון בנק או חברת אשראי, הטרנזקציות בעולם המטבעות הדיגיטליים מתבצעות בין ארנקים דיגיטליים וללא גורם מתווך אשר יכול לאמת עבור הצדדים את העובדה שארנק דיגיטלי מסוים אכן שייך לאדם או לגורם שאליו רוצים להעביר את הכסף.
הבעלות על ארנקים דיגיטליים רלוונטית גם במקרים בהם גופים ממשלתיים כמו רשות המיסים או הרשות לאיסור הלבנת הון ומימון טרור מבקשים לאמת את זהותו של בעל ארנק דיגיטלי מסוים.
מטבעות קריפטוגרפים מאוחסנים בארנקים דיגיטליים ועל מנת להוכיח עליהם בעלות, האדם או הגורם המחזיקים בארנק צריכים להראות כי המפתח הפרטי של הארנק נמצא ברשותם. אלא שהצגת המפתח הפרטי של ארנק דיגיטלי, ולמעשה גם הצגת רק חלק ממנו, מסכנת את בעל הארנק משום שבמידה והמפתח הפרטי נופל לידיו של אדם או גורם כלשהו, הרי שאותו אדם או גורם יוכלו להשיג גישה אל הנכסים הדיגיטליים המאוחסנים באותו ארנק. נשאלת השאלה, באילו דרכים ניתן להוכיח בעלות על ארנק דיגיטלי מבלי לחשוף את המפתח הפרטי שלו.
שלוש השיטות להוכחת בעלות על ארנק דיגיטלי הן: העברת סכום סמלי מארנק לארנק, שליחת תקציר מידע על הארנק, ושליחת הודעה אשר חתומה באמצעות המפתח הפרטי של הארנק.
העברת סכום סמלי מארנק לארנק
לצורך הדוגמה, נניח שאבי אמור לקבל מטבעות דיגיטליים מרוני. בהנחה שמדובר בטרנזקציה ראשונה שהשניים מבצעים ביניהם, רוני יבקש לוודא כי כתובת הארנק שאבי סיפק לו (כלומר הכתובת אליה הוא מתבקש להעביר את הכסף) מייצגת ארנק שאכן שייך לאבי. לשם כך אבי יכול לשלוח מהארנק שלו סכום סמלי במטבעות קריפטוגרפים לארנק של רוני וכך להוכיח שאכן יש לו שליטה על הארנק. רוני, בתורו, יעביר את הכסף שאבי אמור לקבל ממנו, בצירוף הסכום הסמלי שאבי העביר לו כדי להוכיח בעלות על הארנק. שיטה זו יכולה לספק את הצדדים, בעיקר כאשר מדובר על סכומים שאינם גבוהים במיוחד, אך היא עדיין משאירה פתח להונאות וגניבות (לדוגמה, הצד שקיבל את הסכום שנשלח כהוכחת בעלות משאיר את הסכום אצלו ולא מחזיר אותו).
שליחת תקציר מידע על הארנק
אבי יכול להפיק מהארנק שלו מידע רלוונטי אשר כולל מידע כגון שם בעל הארנק, היתרות של המטבעות הדיגיטלים המאוחסנים בארנק, הערך הדולרי של אותם מטבעות, תאריך רכישתם ועוד. במקרים מסוימים מידע זה ישכנע את רוני כי הנתונים שקיבל אכן מוכיחים את הבעלות של אבי על הארנק, אך ניתן להניח כי במקרים אחרים המידע לא יחשב כהוכחה מספקת, בוודאי כאשר מדובר בהעברת סכומים גבוהים. בנוסף, ייתכן כי הצד המחזיק בארנק לא יהיה מעוניין לחשוף את המידע הרלוונטי (למשל, פירוט האחזקות והיתרות שלו) בפני הצד שאמור להעביר אליו כסף.
הודעה חתומה – מושגי בסיס
הדרך השלישית והבטוחה ביותר להוכחת בעלות על ארנק דיגיטלי היא שליחת הודעה חתומה אל הצד שמעוניין לאמת את הבעלות, כאשר הודעה זו חתומה באמצעות המפתח הפרטי של אותו ארנק. כדי להבין כיצד שיטה זו פועלת, יש להבהיר שלושה מושגי בסיס: מפתח פרטי, מפתח ציבורי ופונקציית גיבוב.
- מפתח פרטי. המפתח הפרטי של ארנק דיגיטלי הוא הקוד שמאפשר גישה לארנק, לתוכן הארנק, ולאפשרות לבצע פעולות בארנק (למשל לשלוח מטבעות דיגיטליים לארנק אחר). ניתן להשוות את המפתח הפרטי לקוד של כרטיס כספומט. ללא הקוד, הכרטיס אינו ניתן לשימוש. לעומת זאת, בהינתן הקוד, הכרטיס יכול לשמש לביצוע שורה של פעולות בחשבון הבנק. במובן זה, לאדם שמחזיק במפתח הפרטי של ארנק דיגיטלי יש בעלות ושליטה על הארנק.
- מפתח ציבורי. המפתח הציבורי מאפשר גישה לארנק הדיגיטלי, אך רק כדי לאפשר לאדם או לגורם כלשהו להפקיד כסף בארנק. ניתן לשתף את המפתח הציבורי עם אדם או גורם אחר כדי שיעבירו כסף לארנק הדיגיטלי. אפשר להשוות את המפתח הציבורי למספר חשבון בנק. ניתן להעביר את מספר החשבון לאדם אחר כדי שיפקיד בו כסף, אך מספר החשבון אינו מאפשר לאותו אדם לבצע פעולות אחרות בחשבון הבנק.
ניתן לקרוא על כך עוד במאמר שלנו בנושא שינוי כתובת ארנק הביטקוין. - פונקציית גיבוב (Hash function). פונקציית גיבוב או פונקציית גיבוב קריפטוגרפית היא אלגוריתם אשר הופך קלט באורך כלשהו (למשל הודעת טקסט) לפלט באורך קבוע. במילים אחרות, לא משנה מה יהיה אורך המידע שנכניס לאלגוריתם (כלומר אורך הקלט), המידע שנקבל מהאלגוריתם (הפלט) יהיה תמיד באותו אורך. הפלט של פונקציית גיבוב מבוטא באמצעות שורה של ספרות.
אימות בעלות באמצעות הודעה חתומה
הדרך המהימנה ביותר להוכחת בעלות על ארנק דיגיטלי היא על ידי שליחת הודעה מהארנק אל האדם או הגורם המעוניין לאמת את הבעלות. שיטה זו כוללת את השלבים הבאים:
- כתיבת ההודעה. כאמור, זו יכולה להיות כל הודעה. למשל "זהו הארנק הדיגיטלי שלי" בתוספת תאריך עדכני.
- צירוף חתימה להודעה בעזרת המפתח הפרטי של הארנק.
- התוצאה של שני השלבים הראשונים היא יצירת קלט אשר מכיל את ההודעה ואת החתימה (המפתח הפרטי).
- העברת הקלט דרך פונקציית גיבוב קריפטוגרפית וקבלת פלט ייחודי. חשוב לציין כי כל שינוי בקלט גורם לשינוי משמעותי בפלט ולכן, צירוף המפתח הפרטי להודעה יוביל ליצירת פלט ייחודי שלא היה מתקבל ללא המפתח.
- שליחת הפלט אל האדם או הגורם הרלוונטיים יחד עם הכתובת הציבורית של הארנק.
פונקציית הגיבוב הינה חד כיוונית. המשמעות של עובדה זו היא שלא ניתן להסיק מהפלט על הקלט. במילים אחרות, מי שקיבל את הפלט אינו יכול "לחזור לאחור" ולפענח בעזרתו את המפתח הפרטי. לעומת זאת, ההודעה עצמה, שנחתמה באמצעות המפתח הפרטי, ניתנת לפיענוח באמצעות המפתח הציבורי (שנשלח למאמת יחד עם הפלט). כך נוצר תהליך שבמהלכו המפתח הפרטי משמש להוכחת הבעלות על הארנק, אך אינו נחשף.
כמובן שהתהליך כולו מתבצע בעזרת הממשקים של הארנקים הדיגיטליים של הצדדים השותפים לטרנזקציה, והם עצמם אינם צריכים לעסוק בפועל בסוגיות ההצפנה הכרוכות בו.