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

נקודות עיקריות
- הטלה הוגנת של קובייה בעלת שישה צדדים מספקת כ־2.585 ביטים של אנטרופיה, לפי נוסחת קלוד שאנון.
- בתיעוד של Coinkite נכתב ש־50 הטלות קובייה עומדות בתקן של 128 ביט עבור seed של ארנק ביטקוין.
- הניתוח של Wizard Sardine מאת קווין לואק סימן סיכון בכלי Coldcard מעבר ל-seed הראשי.
מדוע קשה כל כך לחזות תוצאה של הטלת קובייה
קלוד שאנון, המתמטיקאי שהניח את היסודות לתורת המידע, השתמש באנטרופיה כדי למדוד עד כמה תוצאה אינה ודאית. בקובייה הוגנת בעלת שישה צדדים, לכל פאה יש אותו סיכוי של אחד משישה להופיע. זה נותן לכל הטלה בערך 2.585 ביטים של אנטרופיה. הטלת מטבע מפיקה 1 ביט, בעוד שקובייה בעלת שמונה צדדים מפיקה 3 ביטים.

הסערה האחרונה סביב Coldcard דחפה יצירת seed מבוססת קוביות ברחבי הרשתות החברתיות. יש משתמשים שכעת מתייחסים לזה כחיוני, אחרים אומרים שזה הגן על הכספים שלהם, בעוד שמפעילים מנוסים מציינים שרוב המתחילים לא יסכימו לתהליך הקמה איטי ומועד לטעויות.
הנקודה החשובה אינה שקובייה מתגלגלת מתנהגת באקראיות ברמה האטומית. היא לא. התוצאה נשלטת בידי הפיזיקה, אבל יותר מדי משתנים קטנים משתנים בו־זמנית מכדי שמישהו יוכל לחשב את התוצאה באופן אמין. הקובייה עוזבת את היד במהירות, בזווית, בגובה ובסיבוב מסוימים, ואז פוגעת בשולחן ומשנה כיוון בכל קפיצה.
בפועל, אפילו שינוי זעיר בשחרור יכול להפיק תוצאה שונה לחלוטין. מיקום אצבע מעט שונה או הטלה מעט חזקה יותר משנה את המסלול מספיק כדי שלא ניתן יהיה לנבא את המספר הסופי רק מצפייה בתנועה. התוצאה אולי דטרמיניסטית בתיאוריה, אבל עבור יצירת ארנק, מה שחשוב הוא שתוקף לא יוכל לשחזר או לחשב אותה.
הפיכת הטלות קובייה לנתונים שימושיים
מחשב אינו יכול להשתמש ישירות ברשימת תוצאות של קוביות. קודם צריך להמיר את ההטלות לנתונים בינאריים, ושיטת ההמרה חשובה.
שיטה בסיסית של זוגי-או-אי-זוגי קלה להבנה, אבל היא מבזבזת חלק גדול מהאנטרופיה הזמינה. כל הטלה מצטמצמת לביט אחד, למרות שהקובייה הפיקה כ־2.6 ביטים של מידע. שיטות יעילות יותר אוספות רצף ארוך של הטלות ומעבדות את כל המחרוזת, לרוב באמצעות פונקציית גיבוב קריפטוגרפית. זה משמר הרבה יותר מהאקראיות.
אותו עיקרון מופיע ב-Diceware, שיטה ותיקה ליצירת ביטויי סיסמה מאובטחים, וביצירה ידנית של ארנק ביטקוין. ביטוי שחזור טיפוסי של 12 מילים נבנה מ־128 ביטים של אנטרופיה. בקירוב של כ־2.6 ביטים לכל הטלה, כ־50 הטלות הוגנות מספקות מספיק מידע גולמי כדי לעבור את הסף הזה.
Coinkite, יצרנית ארנק החומרה Coldcard, ממליצה על 99 הטלות או יותר למשתמשים שמבקשים להגיע קרוב ל־256 ביטים של אנטרופיה. זה לא הופך את הארנק לקשה פי שניים לשימוש, אבל זה מעניק לסוד שנוצר מרווח אבטחה מתמטי גדול הרבה יותר.
מבחן בעולם האמיתי ל-seed שנוצר מהטלות קובייה
ההבחנה הזו הפכה לחשובה לאחר ש-Coinkite חשפה בעיית קושחה שמקורה עוד בשנת 2021. בחלק ממכשירי Coldcard, התוכנה יכלה לדלג על מחולל המספרים האקראיים הפנימי של החומרה ובמקום זאת להשתמש בתהליך חלש יותר, המחובר למידע שאינו סודי של המכשיר.
מאחר שחלקים מהתהליך הזה היו ניתנים לשחזור, תוקפים הצליחו לצמצם את מספר מפתחות הארנק האפשריים במקום לחפש בכל מרחב המפתחות. הפגם נקשר לגניבה של הערכה של 1,128.6633 BTC מכ־1100 כתובות, נכון לשעה 13:00 לפי שעון החוף המזרחי.

זרעי ארנק שנוצרו לחלוטין ממספר מספיק של הטלות קובייה עצמאיות לא נחשפו דרך אותו נתיב. המשתמשים הללו סיפקו את האנטרופיה שלהם בעצמם, ולכן מחולל החומרה הלקוי לא היה אחראי ליצירת הסוד הראשי של הארנק.
עם זאת, ההגנה הזו חלה רק על ה-seed שהופק מהקוביות. היא לא הגנה אוטומטית על כל סוד אחר שנוצר על ידי המכשיר.
Wizard Sardine בוחנת את האותיות הקטנות
חוקר האבטחה קווין לואק פרסם הערכה של פרצת Coldcard באתר של Wizard Sardine ב־1 באוגוסט. התצפית החשובה ביותר שלו נגעה לתכונות ב-Coldcard שמייצרות סודות משלהן בנפרד מה-seed הראשי של הארנק.
“אני מאמין שחשוב מאוד להדגיש שגם משתמשים שייבאו או יצרו seed עם קוביות פגיעים, אם הם משתמשים בתכונות הבאות,” כתב לואק ב-X, לפני שהציג תרשים של המערכת שנפגעה.
התרשים מראה שמחולל המספרים האקראיים הלקוי מזין כמה פונקציות משניות של Coldcard. אלו כללו יצירת ארנק נייר, שכפול מכשיר, הצפנת סשן USB, תכונת ההעברה Secret Teleport, יצירת מפתח לחתימה משותפת, מחולל הסיסמאות המובנה וקודי אימות של מודול אבטחת חומרה.

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

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

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

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
















