כתובות סמויות ב-Monero: הסבר מלא
כתובות סמויות ב-Monero: הסבר מלא
פתחו סייר בלוקים כלשהו של Monero ונסו למצוא את הכתובת שאליה זה עתה שילמתם. לא תמצאו. אפשר לגלול בין אלפי עסקאות ולעולם לא תיתקלו בכתובת הציבורית של נמען רשומה על השרשרת — לא פעם אחת, אף פעם. העובדה הבודדת הזו היא מה שמבדיל בין Monero ל-Bitcoin, שבו כל תשלום הוא קישור קבוע וניתן לחיפוש בין השולח למקבל. המנגנון שמאחורי היעלמות הקסם הזו נקרא כתובת סמויה (stealth address), והוא רץ בשקט מאחורי כל עסקה — כולל אלה שעוברות דרך MoneroSwapper כשאתם ממירים מטבע אחר ל-XMR.
כתובת סמויה איננה המחרוזת הארוכה שמתחילה ב-"4" שאתם מעתיקים ומדביקים כדי לקבל כספים. את המחרוזת הציבורית הזו אפשר לשתף בחופשיות — לפרסם באתר, להדפיס על כרטיס ביקור או למסור לאלף לקוחות. מה שנוחת בפועל על הבלוקצ'יין הוא דבר אחר לגמרי: מפתח יעד חד-פעמי וטרי שנוצר על ידי השולח, קשור אליכם מתמטית אך בלתי קריא לאיש. המאמר הזה מפרק בדיוק איך זה עובד, מדוע זו אבן הפינה של מודל הפרטיות של Monero, וכיצד הוא מתממשק עם שני העמודים הנוספים — חתימות טבעת (ring signatures) ו-RingCT — כדי לספק תחליפיות (fungibility) אמיתית.
מדוע פרטיות הנמען היא הבעיה הקשה
רוב האנשים מניחים שהחלק המפחיד בבלוקצ'יין שקוף הוא הסכום. זה לא. הדליפה הגדולה יותר היא גרף הכתובות: רשת הקשרים של מי-שילם-למי, שאותה חברות ניתוח שרשרת משחזרות כדי לחשוף זהויות, לקבץ ארנקים ולסמן מטבעות "מזוהמים". ב-Bitcoin, שימוש חוזר בכתובת אחת הופך את כל ההיסטוריה הפיננסית שלכם לגיליון אלקטרוני פומבי.
Monero פותר שלוש בעיות נראוּת נפרדות בעזרת שלושה כלים נפרדים, וכדאי לא לבלבל ביניהם:
- הסתרת הנמען: הכתובת הסמויה מבטיחה שאף שני תשלומים אליכם לא חולקים יעד משותף על השרשרת, כך שצופים מן הצד אינם יכולים לקשור אותם זה לזה.
- הסתרת השולח: חתימות טבעת (ומאז 2020, אלגוריתם CLSAG) מערבבות את הקלט האמיתי שלכם עם פיתיונות (decoys), כך שלא ברור איזה מטבע הוצא בפועל.
- הסתרת הסכום: RingCT, המאובטח באמצעות הוכחות טווח (range proofs), מצפין את ערכי העסקה ועדיין מאפשר לרשת לאמת ששום דבר לא נוצר יש מאין.
כתובות סמויות מטפלות בבעיה הראשונה, והן עושות זאת "בחינם" מצד הנמען — אתם לא צריכים ליצור כתובת חדשה ידנית עבור כל תשלום, כפי שמשתמשי Bitcoin שמודעים לפרטיות נדרשים לעשות. הפרוטוקול עושה זאת אוטומטית, מיליארדי פעמים, ללא שום תיאום בין השולח לנמען מעבר לכתובת הציבורית האחת שכבר שיתפתם.
איך כתובת סמויה באמת עובדת
הטריק בנוי על חילופי מפתחות מסוג Diffie-Hellman מעל עקום אליפטי — עקום ed25519, אותה משפחת עקומים המשמשת לחתימות דיגיטליות מודרניות. השיטה של Monero נקראת לעיתים פרוטוקול הכתובת הסמויה הדו-מפתחית (Dual-Key Stealth Address Protocol), מכיוון שהכתובת הציבורית שלכם מקודדת שני מפתחות, לא אחד.
שני זוגות המפתחות שלכם
כשאתם יוצרים ארנק Monero מתוך זרע מנמוני (Mnemonic seed), הארנק גוזר שני זוגות מפתחות:
- מפתחות הוצאה (b, B): מפתח ההוצאה הפרטי
bמאשר הוצאת כספים; המקבילה הציבורית שלוBהיא מחצית מהכתובת שלכם. - מפתחות צפייה (a, A): מפתח הצפייה הפרטי
aמאפשר לכם לזהות כספים נכנסים; המקבילה הציבורית שלוAהיא המחצית השנייה של הכתובת.
הכתובת הציבורית שלכם, אותה מחרוזת בת 95 תווים, היא בעצם B ו-A ארוזים יחד עם בית רשת (network byte) וסכום ביקורת (checksum). וכאן הנקודה הקריטית: את מפתח הצפייה אפשר לשתף עם מבקר חשבונות או רואה חשבון, שיוכל אז לראות את התשלומים הנכנסים שלכם בלי יכולת להוציא ולו פּיקונרו (piconero) אחד. מפתח ההוצאה הוא זה שעליו אתם שומרים בחירוף נפש.
מה השולח מחשב
כשמישהו משלם לכם, הארנק שלו מבצע את הצעדים הבאים, אוטומטית ובשבריר שנייה:
- מגריל סקלר סודי אקראי
rעבור העסקה הזו בלבד. - מפרסם את מפתח העסקה הציבורי המתאים
R = r·Gבתוך העסקה (G הוא נקודת הבסיס של העקום). - מחשב סוד משותף בעזרת מפתח הצפייה הציבורי שלכם:
H(r·A), כאשר H הוא פונקציית גיבוב מבוססת Keccak. - גוזר את מפתח היעד החד-פעמי
P = H(r·A)·G + Bוכותב אתPככתובת הפלט על השרשרת.
המפתח P הזה הוא הכתובת הסמויה. הוא ייחודי לעסקה הזו. שלמו לאותו אדם פעמיים ותקבלו שני פלטים שנראים בלתי קשורים לחלוטין, מכיוון ש-r שונה בכל פעם. שום צופה חיצוני אינו יכול לחבר את P חזרה לכתובת המפורסמת שלכם, משום שכדי לעשות זאת דרושים או מפתח הצפייה הפרטי שלכם, או פתרון בעיית הלוגריתם הבדיד (discrete logarithm).
השולח כותב על הבלוקצ'יין כתובת חדשה לגמרי עבור כל תשלום בודד — והנמען מעולם לא היה צריך לבקש אותה. זו הגאונות השקטה של הכתובת הסמויה.
איך אתם מוצאים את הכסף שלכם
וכאן החלק שמפתיע מתחילים: מאחר שהכתובת האמיתית שלכם לעולם אינה מופיעה על השרשרת, איך הארנק שלכם יודע שהגיע תשלום? הוא סורק. הארנק לוקח את ה-R שפורסם בכל עסקה ומחשב H(a·R)·G + B בעזרת מפתח הצפייה הפרטי a. לפי המתמטיקה של Diffie-Hellman, a·R = a·r·G = r·a·G = r·A, כך שהחישוב משחזר בדיוק את אותו P שהשולח יצר. אם התוצאה תואמת פלט כלשהו בעסקה — הפלט הזה שלכם.
זו הסיבה שארנק Monero מסונכרן חייב לבדוק כל עסקה בשרשרת — הוא אינו יכול לשאול שרת "מה היתרה שלי?" בלי לחשוף אילו פלטים מעניינים אותו. עלות הסריקה הזו היא המחיר של פרטיות הנמען, וזו הסיבה שארנקי צפייה בלבד וכלים כמו monero-wallet-cli הרשמי מבלים זמן ב"רענון".
כדי להוציא בפועל פלט שהתקבל, הארנק מחשב את המפתח הפרטי החד-פעמי x = H(a·R) + b, חישוב שדורש את מפתח ההוצאה הפרטי b. המפתח החד-פעמי הזה גם מייצר תמונת מפתח (key image) ייחודית — ערך שמאפשר לרשת לזהות הוצאה כפולה בלי לחשוף איזה פלט מוצא.
כתובות סמויות מול גישות פרטיות אחרות
שווה לראות איפה ניצבת הגישה האוטומטית ברמת הפרוטוקול של Monero לצד החלופות שאנשים מנסים על שרשראות שקופות.
| גישה | פרטיות הנמען | חיסרון |
|---|---|---|
| שימוש חוזר בכתובת Bitcoin | אין — פומבית לחלוטין, ניתנת לקישור מלא | כל ההיסטוריה נחשפת |
| כתובת Bitcoin טרייה לכל תשלום | חלקית; נשברת באיחוד פלטים (consolidation) | ידנית, מועדת לטעויות, דולפת בהוצאה |
| CoinJoin / מערבלים (mixers) | הסתברותית, בבחירה (opt-in) | יוריסטיקות + ניתוח תזמון, לרוב משמורתי |
| כתובת סמויה של Monero | חובה, לכל עסקה, אוטומטית | הארנק חייב לסרוק את השרשרת |
ההבדל המרכזי הוא שהפרטיות של Monero אינה פיצ'ר שבוחרים להפעיל — היא ברירת המחדל עבור 100% מהעסקאות ברשת. האוניברסליות הזו היא מה שמייצר תחליפיות: מכיוון שאי אפשר להבדיל מטבע אחד ממשנהו או לעקוב אחריו עד למקור "מלוכלך", כל XMR מתחלף בכל XMR אחר. מערבל מסתיר רק את האנשים שמשתמשים בו; ברירת מחדל של פרטיות מסתירה את כולם — וזה מה שהופך את קבוצת האנונימיות (anonymity set) למשמעותית.
איפה נכנסות תת-כתובות
בשנת 2018 הוסיף Monero את מנגנון תת-הכתובות (Subaddresses) מעל מכונת הכתובות הסמויות. תת-כתובת מאפשרת לכם ליצור מספר כמעט בלתי מוגבל של כתובות קבלה (אחת לכל לקוח, לכל חשבונית, לכל שימוש), שכולן מתנקזות לארנק יחיד — בלי דליפת הפרטיות של גישות "מזהה תשלום" (payment ID) הישנות. כל תת-כתובת עדיין מתורגמת לפלטים חד-פעמיים בלתי ניתנים לקישור על השרשרת — תת-כתובות הן נוחות ארגונית עבורכם, שכבה מעל הקריפטוגרפיה שמסתירה דברים מכל השאר.
איך כתובות סמויות משתלבות בתמונה הגדולה של Monero
כתובות סמויות הן רגל אחת של שרפרף תלת-רגלי. הסירו רגל כלשהי והפרטיות קורסת. הסתירו את הנמען אך הדליפו את השולח — והאנליסטים יצעדו לאחור על הגרף. הסתירו את שני הצדדים אך הדליפו סכומים — וערכים ייחודיים הופכים לטביעות אצבע. ההגנה לעומק (defense-in-depth) של Monero היא הסיבה שהוא נשאר עומד על תילו, בעוד ששירותי ערבוב עצמאיים נסגרו או נפרצו שוב ושוב לאורך 2024 ו-2025.
הטכנולוגיה גם אינה קפואה. שדרוג CLSAG ארוך-הטווח החליף את חתימות הטבעת הישנות מסוג MLSAG כדי לקצץ בגודל העסקה ובזמן האימות, ו-Bulletproofs ואחריו Bulletproofs+ צמצמו דרמטית את גודל הוכחות הטווח שמגנות על הסכומים. במבט קדימה, מאמץ הוכחות החברוּת של כל-השרשרת (FCMP++) שואף להחליף לחלוטין את חתימות הטבעת בקבוצת הוכחה שמשתרעת על פני השרשרת כולה — ולדחוף את קבוצת האנונימיות של השולח מ-16 פיתיונות לכל פלט שאי פעם נוצר, הלכה למעשה. לצידו, שיטות המיעון של הדור הבא — Seraphis ו-Jamtis — נועדו לחדש את אופן הפעולה של הכתובות הסמויות ומפתחות הצפייה, כולל דרגות צפייה גמישות יותר וביצועי סריקת ארנק טובים יותר.
אף אחד מסעיפי מפת הדרכים הללו אינו מסיר את הכתובות הסמויות; הם מעדנים ומרחיבים את אותו רעיון ליבה. העיקרון שנקבע עוד במאמר הלבן של CryptoNote משנת 2014 — שיעד התשלום צריך להיות מפתח חד-פעמי שאיש מלבד הנמען אינו יכול לזהות — נשאר היסוד.
מפתח הצפייה, רואי חשבון ורשות המסים
כאן נכנס לתמונה היבט מעשי שרלוונטי במיוחד בישראל. רשות המסים מתייחסת למטבעות דיגיטליים כאל "נכס" לצורכי מס, ורווח ממכירת XMR חייב בדרך כלל במס רווחי הון. השאלה המתבקשת: איך מדווחים כחוק על נכס שכל מהותו היא שאינו מופיע בגלוי על השרשרת?
וכאן הפרדת המפתחות של Monero זוהרת. אתם יכולים למסור את מפתח הצפייה הפרטי (a) לרואה החשבון שלכם, או להגדיר לעצמכם ארנק נפרד "לצפייה בלבד". בעזרתו אפשר לראות, לתעד ולכמת כל תשלום נכנס — בדיוק מה שדרוש לדוח שנתי — מבלי להעניק את היכולת להוציא ולו אגורה. רואה החשבון רואה את התנועות; את מפתח ההוצאה (b) אתם שומרים אצלכם בלבד.
השקיפות הסלקטיבית הזו היא יתרון אמיתי על פני בלוקצ'יין שקוף לחלוטין: שם, לחשוף כתובת אחת בפני הרשות פירושו לחשוף את כל ההיסטוריה — בפני הרשות וגם בפני כל מי שמסתכל. ב-Monero, מפתח הצפייה מאפשר לכם לבחור למי לתת נראוּת ובאיזה היקף. שווה לזכור: בנק ישראל פרסם לאורך השנים אזהרות לגבי הסיכונים בנכסים דיגיטליים, ואחריות הדיווח נותרת על הנישום — מפתח הצפייה הוא הכלי שהופך את הדיווח הזה לאפשרי בלי לוותר על השליטה בכספים.
הדגמה מעשית: קבלת המרה (swap)
דמיינו שאתם ממירים מעט Litecoin ל-Monero דרך MoneroSwapper ומדביקים את כתובת ה-XMR הרגילה שלכם בהזמנה. הנה מה שקורה מאחורי הקלעים:
- אתם משתפים את הכתובת הציבורית שלכם — מחרוזת אחת, שאפשר להשתמש בה שוב בבטחה כמה פעמים שתרצו.
- הארנק השולח מגריל
rאקראי וטרי, מחשב את מפתח הפלט החד-פעמי שלכםP, ומשדר את העסקה ל-mempool. - העסקה מאושרת כש-
Pרשום על השרשרת. לכל מי שצופה, זהו פלט אנונימי בין רבים, ללא שום קישור אליכם. - הארנק שלכם, שסורק בלוקים חדשים, מחשב מחדש את
Pבעזרת מפתח הצפייה הפרטי, מזהה את הפלט, ומזכה את היתרה שלכם.
בשום שלב הכתובת האמיתית שלכם לא נגעה בבלוקצ'יין. אם תקבלו המרה שנייה לאותה כתובת בשבוע הבא, שני הפלטים לא יחלקו שום קשר גלוי. זו המציאות היומיומית של שימוש ב-Monero — הפרטיות בלתי נראית, אוטומטית, ואינה דורשת מכם דבר מעבר לשמירה בטוחה על ביטוי הזרע (seed phrase) שלכם.
שאלות נפוצות
האם כתובת ה-Monero שלי זהה לכתובת סמויה?
לא. הכתובת שאתם מעתיקים ומשתפים (המחרוזת בת 95 התווים שמתחילה ב-"4") היא הכתובת הציבורית שלכם. הכתובת הסמויה היא המפתח החד-פעמי שהשולח גוזר ממנה וכותב על הבלוקצ'יין. הכתובת הציבורית עצמה לעולם אינה מופיעה על השרשרת — רק הפלטים החד-פעמיים הבלתי ניתנים לקישור מופיעים.
האם אני יכול להשתמש שוב בכתובת ה-Monero שלי בבטחה?
כן. בניגוד ל-Bitcoin, שימוש חוזר בכתובת Monero אינו מדליף דבר, מכיוון שכל תשלום נכנס נוחת על כתובת סמויה נפרדת שצופים אינם יכולים לקשור לכתובת המפורסמת שלכם או זו לזו. משתמשים רבים עדיין מעדיפים תת-כתובות כדי לארגן כספים נכנסים, אבל זו נוחות, לא דרישת פרטיות.
אם הכתובות מוסתרות, איך הארנק שלי רואה כספים נכנסים?
הארנק שלכם משתמש במפתח הצפייה הפרטי כדי לסרוק כל עסקה ולבדוק אם כל פלט יועד אליכם. זו הסיבה שארנקים צריכים "להסתנכרן" או "להתרענן" — אין שרת שיכול לומר לכם את היתרה בלי שתחשפו אילו פלטים מעניינים אתכם. מפתח הצפייה מאפשר לזהות כספים; מפתח ההוצאה הנפרד נדרש כדי להזיז אותם בפועל.
האם שיתוף מפתח הצפייה שלי מאפשר למישהו לגנוב את המטבעות שלי?
לא. מפתח הצפייה הפרטי מעניק רק את היכולת לראות עסקאות נכנסות — שימושי למבקר, רואה חשבון או דיווח מס. הוצאה דורשת את מפתח ההוצאה הפרטי, שאין אותו למחזיק מפתח הצפייה. שמרו את ביטוי הזרע המנמוני המלא בסוד, מכיוון שהוא יכול לשחזר את שני המפתחות.
האם FCMP++ או Seraphis יסירו את הכתובות הסמויות?
לא. השדרוגים הללו מכוונים למערכות פרטיות-השולח וההוכחה, ולשכבת המיעון בהתאמה. מושג הליבה של מפתחות יעד חד-פעמיים ובלתי ניתנים לקישור נשאר בעינו. Seraphis ו-Jamtis שואפים לעדן את מפתחות הצפייה וביצועי הסריקה, לא לחשוף כתובות נמענים.
סיכום
כתובות סמויות הן הסיבה שכתובת Monero יכולה להיות ציבורית ופרטית בו-זמנית: אתם משדרים מחרוזת אחת לעולם, אך כל תשלום אליה הופך לפלט מבודד ובלתי ניתן לזיהוי על השרשרת. בשילוב עם חתימות טבעת שמסתירות את השולח ו-RingCT שמסתיר את הסכום, הן מעניקות ל-Monero מודל פרטיות שהוא חובה, אוטומטי, ומיושם באופן אחיד על כל עסקה — התנאים שהופכים תחליפיות אמיתית לאפשרית.
אם אתם רוצים את ההגנה הזו מהרגע שהמטבעות שלכם מגיעים, רכישת XMR דרך המרה ללא לוגים וללא חשבון חשובה לא פחות מהקריפטוגרפיה עצמה. אתם יכולים לקנות Monero בעילום שם או להמיר יתרה קיימת דרך MoneroSwapper, ומכונת הכתובות הסמויות תעשה את השאר בשקט — תייצר יעד חד-פעמי ששום סייר בלוקים, בורסה או אנליסט לא יוכל לעולם לעקוב אחריו חזרה אליכם.
🌍 קרא בשפה