איך בונים את שורש מרקל?
מתחילים מהמזהה של כל עסקה בבלוק, שהוא בעצמו גיבוב כפול של SHA-256. מסדרים אותם, כשה-coinbase ראשון. מצרפים כל זוג שכנים ומחשבים את הגיבוב שלו. עכשיו יש חצי ממספר הגיבובים. חוזרים על הפעולה עד שנשאר אחד: זהו שורש מרקל.
אם יש מספר אי־זוגי של גיבובים ברמה מסוימת, מצרפים את האחרון לעצמו. שינוי של עסקה כלשהי, אפילו בסאטושי אחד, משנה כל גיבוב בדרך שלה למעלה, כולל את השורש. אפשר לנסות בהדגמה שלמעלה.
למה עץ ולא hash אחד גדול?
הוכחות. כדי להראות שעסקה נמצאת בבלוק, צריך רק את הגיבובים לאורך הענף שלה, ולא את הבלוק כולו. בבלוק עם כ-4,000 עסקאות צריך רק 12 מהם, כמה מאות בתים. במסמך הלבן של סאטושי מתוארים ארנקים קלים שבודקים תשלומים כך ושומרים רק את כותרות הבלוקים.
יש לזה חשיבות גם בכרייה. כשהכורה משנה את ה-extra nonce בעסקת ה-coinbase, שורש מרקל משתנה, וכותרת הבלוק מקבלת ערכי nonce חדשים לבדיקה.
מקורות
- ביטקוין: מערכת מזומנים אלקטרונית בין עמיתים · סאטושי נקמוטו, 2008
- מקור לעיון בשרשרת הבלוקים: כותרות, עצי מרקל ויעד · תיעוד למפתחי Bitcoin
- עץ מרקל · Bitcoin Wiki
הנתונים בזמן אמת בעמוד הזה מגיעים מ-API של CloudMineCrypto ומנתוני בלוקצ'יין ציבוריים. הם מתעדכנים בקביעות ומסומנים במקום שבו הם מופיעים. למטרות לימוד בלבד, לא ייעוץ פיננסי.