בלוקצ'יין ומטבעות קריפטוגרפיים הם נוף עצום ומורכב. גלגלי שיניים רבים נכנסים למכונה הזו, כולל משהו המכונה עץ מרקל. עצי מרקל ממלאים תפקיד מפתח בפונקציונליות הבלוקצ'יין, אבל מה זה בדיוק עושה? כיצד פועל עץ מרקל, ולמה הוא כל כך חשוב בטכנולוגיית הבלוקצ'יין?
איך עובד בלוקצ'יין?
לפני שנכנסים לדינמיקה של עץ מרקל, חשוב להבין כיצד פועלים בלוקצ'יין.
במונחים הפשוטים ביותר, בלוקצ'יין הוא שרשרת וירטואלית של בלוקים, שכל אחד מכיל קבוצת נתונים משלו. כל בלוק משתמש בקריפטוגרפיה, במיוחד hashing, כדי לאבטח נתונים ולהרחיק אותם מידיהם של שחקנים זדוניים.
בלוקצ'יין משמשים לרוב בתעשיית המטבעות הקריפטוגרפיים, כאשר כל עסקה ועסקה שנערכת עם נכס נתון מתועדת בבלוקצ'יין המקורי שלו. יתר על כן, כל עסקה מתועדת באופן כרונולוגי וגלויה לכל הבלוקצ'יין (ניתן לצפייה באמצעות כלים כמו סייר בלוקצ'יין).
לא ניתן לשנות או למחוק עסקאות בבלוקצ'יין. במקום זאת, באמצעות א תהליך שנקרא hashing, הנתונים מקודדים באמצעות אלגוריתמים מתמטיים. אלגוריתמים אלה יכולים להמיר כל אורך של תווים לאורך קבוע ומקודד.
בעת הקלטת עסקאות בבלוקצ'יין, לעצי מרקל יש תפקיד מכריע. אבל איך פועל עץ מרקל?
מהו עץ מרקל?
לשם "עץ מרקל" יש שני מקורות. "מרקל" מתייחס לראלף מרקל, מדען מחשבים ומתמטיקאי אמריקאי שתרם רבות לקריפטוגרפיה של מפתח ציבורי. מרקל הציעה תחילה עצי חשיש בינאריים ב-1987 במאמר שכותרתו "חתימה דיגיטלית המבוססת על פונקציית הצפנה קונבנציונלית." מרקל גם המציאה גיבוב קריפטוגרפי, המשמש במרקל עֵץ.
החלק השני של "עץ מרקל" נובע מהמבנה שלו. עץ מרקל (או עץ חשיש בינארי) הוא מבנה נתונים שנראה קצת כמו עץ. עצי מרקל מכילים "ענפים" ו"עלים", כאשר כל "עלה" או "ענף" מכילים את ה-hash של בלוק נתונים.
בקיצור, עץ מרקל מייעל את תהליך אחסון ה-hashs של טרנזקציות בבלוקצ'יין. הוא מקבץ את כל העסקאות בתוך בלוק אחד ומקודד אותן ביעילות לאחסון בטוח ומהיר יותר בצורה של hash אחד. באמצעות עץ מרקל, ניתן להעריך במהירות את תקפות הנתונים באמצעות hash אחד אחרון. זה מפשט את תהליך אחסון הנתונים אך גם שומר על שלמות האבטחה.
עצי מרקל גם אינם דורשים משאבי חישוב רבים. למעשה, הם מצמצמים את שטח האחסון הנדרש לנתונים על ידי קומפילציה של מספר hashes של עסקאות לאחד בלבד. השימוש במשאבים כבר מזמן מהווה נקודת מחלוקת בתעשיית הקריפטו, שכן רשתות בלוקצ'יין יכולות להוות בזבוז עצום של שטח אחסון וכוח. לכן, שימוש בעצי מרקל מסייע בהפחתת בעיה זו. אחסון נתונים בשרשרת יכול להיות גם יקר, כך ששימוש בעצי מרקל כדי לצמצם את כמות הנתונים יכול לעזור לפלטפורמות בלוקצ'יין לחסוך כסף.
מה גם שתהליך עץ מרקל לא לוקח הרבה זמן, וזה חדשות טובות לגבי יעילות. אחרי הכל, בלוקצ'יין רבים תוכננו לזמני העסקה הארוכים שלהם (כולל ביטקוין), כך שכל תהליך שיכול לעזור בבעיה זו הוא יתרון.
עצי מרקל משמשים בתחומים רבים של מחשוב (במיוחד בקריפטוגרפיה והצפנה) אך ידועים לעתים קרובות בנוכחותם ב-blockchains של מטבעות קריפטוגרפיים. ביטקוין, Ethereum, Dogecoin וכל שאר המטבעות הקריפטו משתמשים בעץ המרקל, כך שאין ספק שזהו מרכיב חשוב.
אז איך זה עובד?
כיצד פועל עץ מרקל?
להלן תרשים של אופן הפעולה של עץ מרקל. שימו לב שבמציאות, יהיו הרבה יותר עסקאות ו-hash לכל עץ, אבל תמונה זו מפשטת את התהליך כך שתוכלו לקבל מושג על השלבים המעורבים.
כשמסתכלים על דיאגרמת עץ מרקל, הדברים נראים מעט מורכבים. אבל תהליך הגיבוב של עץ מרקל הוא די פשוט כשהוא מפורק.
ישנם כמה שלבים שנכנסים לתהליך עץ מרקל. הגיבובים בתחתית עץ מרקל ידועים בתור עלים, בעוד שהאשים באמצע העץ ידועים כענפים. הענפים מכונים לפעמים גם צמתים שאינם עלים. בתחתית הדיאגרמה, יש לך את בלוקי הנתונים (או העסקאות) שמהם ה-hash ייצא.
העסקאות הראשוניות מכל צומת עוברות גיבוב בזוגות, כאשר גיבוב אחד נשאר כתוצאה. לאחר מכן, זוג על זוג עוברים שוב ושוב לאחד עד שיופיע גיבוב בודד, שם התהליך מסתיים. אם במקרה יש מספר אי-זוגי של עסקאות בתוך בלוק, עסקה אחת תשוכפל כך שניתן יהיה לשייך אותה למקור לצורך hashing.
למרות שה-hash הסופי מופיע בראש התרשים לעיל, הוא ידוע בתור "שורש" העץ (ה-hash השורש). השורש הוא בעצם ה-hash השיא של כל ה-hash הבודדים של עסקאות המאוחסנות בתוך הבלוק. נדרש עץ מרקל אחד לכל בלוק, כלומר לכל בלוק יש שדה נתוני שורש מרקל אחד.
אם אי פעם בדקתם את הבלוקצ'יין לעומק, אולי שמעתם על שורש מרקל או מרקל האש. בתוך בלוק קיים משהו המכונה hashMerkleRoot. הנתונים האלה (ה-hash הסופי בסוף העץ) נשמרים בכותרת הבלוק של בלוק נתון. א בלוק blockchain מחזיק גם נתונים אחרים, כגון חותמת זמן, מספר גרסת הנכס וה-"nonce" (המספר בשימוש פעם אחת בלבד).
האם בלוקצ'יין יכול לתפקד ללא עצי מרקל?
אמנם עצי מרקל אינם נחוצים לחלוטין לקיום בלוקצ'יין, אך הם ממלאים תפקיד חשוב להפליא באבטחת נתונים.
ללא עצי מרקל, בלוקצ'יין של מטבעות קריפטוגרפיים דורשים יותר משאבים וזמן לביצוע תהליכי מפתח. ראשית, כל צומת ברשת יצטרך לשמור עותק משלו של כל עסקה שבוצעה על הבלוקצ'יין. ב-blockchains גדול יותר, מאות אלפי עסקאות יכולות להתרחש בטווח של אחת בלבד יום, כך שהוספת כמות כזו של נתונים לעותק של כל צומת תצרוך ללא ספק הרבה אֶמְצָעִי.
יתרה מכך, לעצי מרקל יש תפקיד גדול באימות נתונים. באמצעות ה-hash השורש הבודד בקצה העץ, מאמתים וכורים יכולים לוודא אם הבלוק, בכללותו, חוקי להוספה לבלוקצ'יין. היכולת לאמת נתונים מבלי לסנן כל עסקה בודדת היא יתרון, חוסכת זמן ושטח אחסון.
עצי מרקל הם המפתח בפונקציונליות הבלוקצ'יין
אין להכחיש שעצי מרקל מציעים אבטחה ויעילות של בלוקצ'יין מבלי לתפוס הרבה מקום. תהליך ההצפנה הנחמד הזה מאפשר לבלוקצ'יין לפעול בצורה חלקה ללא צורך בשימוש מופרז במשאבים. עצי מרקל אינם חיוניים אלא מועילים באופן מסיבי בכל הנוגע לזמן, שטח אחסון ואימות נתונים.