עד 2012, גיבוי של ארנק היה משימה שלא נגמרת. התוכנית המקורית שמרה מאה מפתחות מוכנים בקובץ והשתמשה באחד בכל פעם; לאחר המפתח המאה, הגיבוי שנעשה ביום הראשון כבר לא הכיל את המפתחות החדשים, ומי שסמך עליו גילה זאת בדרך הקשה. פתרון לבעיה זו הוא הסיבה לקיומן של שתים עשרה המילים.
ההצעה הגיעה בפברואר 2012, מפי Pieter Wuille, ונקראת BIP-32. הרעיון פשוט להצהרה: במקום להגריל כל מפתח, מגרילים זרע יחיד וממנו נגזרים כל האחרים, תמיד באותו מסלול. גיבוי שנעשה היום תקף למפתחות של עוד עשר שנים, כי הם כבר נקבעו — הם פשוט לא חושבו עדיין.
השלב הראשון לוקח את הזרע של 512 ביטים מהשיעור הקודם ומעביר אותו דרך HMAC-SHA-512. יוצאים שישים וארבעה בייטים, מחולקים לשניים: השלושים ושניים משמאל הם המפתח הפרטי הראשי, והשלושים ושניים מימין הם דבר חדש, קוד השרשרת. החלק השני הזה הוא מה שמונע מהכרת מפתח בן לומר משהו על האחיות.

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

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

עכשיו המסלול מפסיק להיות קסם. ב-m/84'/0'/0'/0/5, ה-m הוא השורש. ה-84 עם אפוסטרוף הוא המטרה, שאומרת איזה תקן כתובת ישמש וזה הנושא של השיעור הבא. ה-0 הבא הוא המטבע, ו-Bitcoin הוא אפס. המספר השלישי הוא החשבון, מה שמאפשר להפריד בין כספים אישיים לאלו של העסק בתוך אותו זרע. שלושת הרמות הראשונות הן מוקשחות, תמיד, בדיוק מהסיבה של הפסקה הקודמת.
שתי האחרונות אינן, מסיבה מעשית. הרמה הרביעית היא 0 עבור הכתובות שאתה נותן למי שישלם ו-1 עבור אלו של העודף, שהארנק יוצר לבד; החמישית היא מונה שמתקדם אחד אחד. מכיוון ששתי הרמות הללו נפוצות, ה-xpub של החשבון מחשב את כולן — וזה מה שהחנות בדוגמה צריכה.
פרט יומיומי סוגר את השיעור. בעת שחזור זרע, הארנק לא סורק את כל העץ: הוא מחפש את הכתובות לפי סדר ועוצר לאחר שמצא עשרים ברצף ללא תנועה. הגבול הזה של עשרים הוא מוסכמה, ומי שיצר ידנית כתובת רחוק מאוד מהמונה יכול לראות את הכסף נעלם מהמסך מבלי שנעלם מה-blockchain.
נותר להסביר את המספר הראשון של המסלול, אותו מטרה. הוא זה שמחליט אם אותו זרע יראה כתובות שמתחילות ב-1, ב-3 או ב-bc1 — ולמה שני ארנקים כנים מציגים יתרות שונות עבור אותן שתים עשרה מילים. בשיעור הבא, התקנים 44, 49, 84 ו-86.