מכניקת מפתחות פרטיים: זרעים, אנטרופיה ומסלולי נגזרת (תקני BIP)

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

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

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


יסודות האבטחה: אנטרופיה ואקראיות

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

מהי אנטרופיה בקריפטו?

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

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

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

מדידת אבטחה: ספירת הביטים

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

  1. זרע 12-מילים: זה תואם 128 ביטים של אנטרופיה. מספר השילובים האפשריים הכולל הוא . כדי להמחיש, הוא מספר גדול בהרבה ממספר האטומים המוערך ביקום הידוע. למטרות מעשיות, 128 ביטים של אנטרופיה נחשבים מאובטחים מפני התקפות כוח גס.
  2. זרע 24-מילים: זה תואם 256 ביטים של אנטרופיה. זה מציע עלייה אסטרונומית באבטחה, מכפיל את המורכבות. בעוד ש-12 מילים מאובטחות מאוד, 24 מילים מספקות את רמת ההגנה הסטנדרטית המקסימלית הזמינה היום.

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

מקורות אנטרופיה: תוכנה לעומת חומרה

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

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

היכרות עם BIP39: שפת ביטוי הזרע

מפתח פרטי הוא בעצם מספר עצום. כתיבת מחרוזת הבינארית של 256 הביטים הזו (רצף של 0 ו-1) היא נוטה מאוד לטעויות. דמיין ניסיון להעתיק מספר משושה של 78 ספרות בצורה מושלמת.

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

למה אנחנו משתמשים במילים ולא במספרים

BIP39 ממפה את נתוני האנטרופיה על רשימת מילים מוגדרת מראש של 2,048 מילות אנגלית (או שפות אחרות, בתנאי שהרשימה סטנדרטית).

התהליך עובד כך:

  1. האנטרופיה הגולמית (128 או 256 ביטים) מיוצרת.
  2. האנטרופיה מחולקת לחתיכות.
  3. כל חתיכה ממפה למילה ספציפית ברשימת המילים של BIP39.

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

תפקיד סכום הביקורת

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

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

איך סכום הביקורת מבטיח שלמות:

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

מביטוי זרע לזרע ראשי

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

שלב ההמרה הזה משתמש בפונקציה קריפטוגרפית הידועה כPBKDF2 (פונקציית הפקת מפתחות מבוססת סיסמה 2). הפונקציה הזו לוקחת את ביטוי הזרע ומבצעת האשינג מתמטי אינטנסיבי (לרוב עשרות אלפי סבבים של חישוב) כדי לייצר את הזרע הראשי המורכב והגדול.

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


ארנקים היררכיים דטרמיניסטיים (HD) ו-BIP32

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

זו הכוח של מבנה הארנק היררכי דטרמיניסטי (HD), המתוקן על ידי BIP32.

הבעיה שארנקי HD פותרים

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

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

יחסי הורה-ילד

מבנה ארנק HD ניתן לדמיון כעץ משפחתי שבו הזרע הראשי הוא אבי השורש.

  1. זרע ראשי (שורש): מיוצר ישירות מביטוי הזרע של BIP39.
  2. מפתח פרטי ראשי: נגזר מהזרע הראשי.
  3. מפתחות ילדים: המפתח הראשי יכול לייצר מפתחות פרטיים "ילדים". כל מפתח ילד ייחודי ומקושר מתמטית להורה שלו.
  4. מפתחות נכדים: מפתחות הילדים יכולים בתורם לייצר מפתחות "נכדים", וכן הלאה.

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

יתרונות הדטרמיניזם

מבנה ה-HD מספק מספר יתרונות קריטיים למאמץ אחזקה עצמית:

  • גיבוי יחיד: אתה רק צריך להגן על ביטוי הזרע של BIP39. אובדן הזרע הראשי פירושו אובדן הכל, אבל הגנה על הביטוי היחיד מעניקה לך גישה לכל הכתובות הנגזרות הנוכחיות והעתידיות.
  • פרטיות: מאחר שניתן לייצר כתובת ציבורית חדשה בקלות לכל עסקה, אתה מפחית את היכולת של צופים לעקוב אחר הפעילות הפיננסית המלאה שלך.
  • ארגון: המבנה ההיררכי מאפשר לארנקים לסווג מפתחות באופן לוגי (למשל, הפרדה של מפתחות לחשבון 1, חשבון 2 וכו').
  • מפתחות ציבוריים מורחבים (xPubs): BIP32 מאפשר יצירת "מפתחות ציבוריים מורחבים". xPub ניתן לשיתוף עם צד חיצוני (כמו רואה חשבון או מכשיר אחסון קר) ומאפשר לצד הזה לראות את כל העסקאות והכתובות הקשורות לענף ספציפי בעץ שלך, אבל הוא לא יכול להוציא כספים כי ה-xPub לא מכיל מידע מפתח פרטי.

תיקוף הנתיב: BIP44

בעוד BIP32 מגדיר את המכניקות של העץ ההיררכי, הוא לא מציין איך צריך לארגן את האסטות השונות (ביטקוין, את'ריום, לייטקוין) או את החשבונות השונים בתוך אותן אסטות בתוך העץ הזה.

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

קריאת נתיב הנגזרת

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

m / purpose' / coin_type' / account' / change / address_index

בואו נפרק את חמש הרמות הקריטיות של הנתיב:

רמה שם מטרה ערך דוגמה (ביטקוין)
1 m מציין את הזרע הראשי (שורש). m
2 מטרה מגדיר את תקן ה-BIP בשימוש (בדרך כלל 44' לארנקי HD). 44'
3 סוג מטבע מזהה את המטבע הקריפטוגרפי (למשל, 0' לביטקוין, 60' לאת'ריום). זה קריטי לתאימות בין-שרשרת. 0'
4 חשבון מאפשר למשתמשים להפריד כספים לחשבונות לוגיים (חשבון 0, חשבון 1). 0'
5 שינוי ערך בינארי (0 או 1). 0 לכתובות קבלה (חיצוניות) ו-1 לכתובות המשמשות לשינוי במהלך עסקאות (פנימיות). 0 או 1
6 מדד כתובת מדד הרצף של המפתח הנוצר (כתובת 0, כתובת 1, כתובת 2 וכו'). 0, 1, 2...

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

למה תיקוף חיוני

BIP44 פותר את משבר התיאום. דמיין שאתה משתמש בארנק A היום, שמארגן כתובות ביטקוין תחת נתיב m/44'/0'/0'/.... אם תרצה לעבור לארנק B מאוחר יותר, וארנק B תואם BIP44, הוא יחפש אוטומטית תחת אותו נתיב מדויק את הכספים שלך.

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

מקרי שימוש מעשיים: שימוש בנתיבים מותאמים אישית

בעוד שרוב המשתמשים פשוט מסתמכים על נתיב הנגזרת המוגדר מראש (בדרך כלל מתחיל ב-m/44'/), משתמשים מתקדמים לפעמים משתמשים ברמת 'חשבון' לניהול כספים:

  • דוגמה 1: הפרדת חשבונות: עסק עשוי להשתמש ב-m/44'/0'/0'/... לכספי תפעול ו-m/44'/0'/1'/... לחיסכון, כולם בשליטת אותו זרע ראשי.
  • דוגמה 2: ניהול אלטקוינים: ארנק צריך לבדוק נתיבים נפרדים למטבעות שונים. הוא יחפש ביטקוין תחת m/44'/0'/... ואת'ריום תחת m/44'/60'/....

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


המילה ה-25: הגנת הזרע שלך בסיסמת מעבר (תכונה אופציונלית של BIP39)

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

סיסמת המעבר הזו היא מילה או ביטוי נוסף שנבחר על ידי המשתמש שמוסף לביטוי הזרע של 12 או 24 מילים לפני שהזרע הראשי נגזר מתמטית.

איך סיסמת המעבר עובדת

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

מנגנון מפתח:

  1. ביטוי זרע + סיסמת מעבר = זרע ראשי ייחודי
  2. כל שינוי, אפילו תו בודד, בסיסמת המעבר יוצר זרע ראשי שונה לחלוטין, שמייצר קבוצה שונה לחלוטין של מפתחות פרטיים וכתובות.

באופן אפקטיבי, הוספת סיסמת מעבר פירושה שביטוי הזרע היחיד של 12 או 24 מילים יכול לשלוט במספר אינסופי של ארנקים נפרדים לחלוטין (או "כספות"). כל סיסמת מעבר ייחודית פותחת כספת ייחודית.

השלכות אבטחה ושיטות עבודה מומלצות

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

יתרונות (הכחשה סבירה והגנה מפני כוח גס)

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

סיכונים (נקודת כשל יחידה עליונה)

סיסמת המעבר לא ניתנת לשחזור על ידי הארנק.

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

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


מסקנה: שליטה בריבונות הפיננסית שלך

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

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

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