מדריך לעצי מרקל

האם שמעת על עצי מרקל כשדנים בטכנולוגיית בלוקצ’יין? הסיבה לכך היא שעץ מרקל הוא הליבה של הטכנולוגיה עצמה.

אז מה זה בדיוק?

במאמר זה, נעבור לעומק עץ מרקל ונבין את תפקידו בהפיכת טכנולוגיית הבלוקצ’יין.

עץ מרקל

בואו נתחיל.

מהו עץ מרקל?

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

Ethereum ו- Bitcoin משתמשים שניהם בעצי מרקל.

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

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

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

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

קרא גם, Hyperactger Cactus: A New Hyperledger Framework

פונקציות Hash קריפטוגרפיות

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

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

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

ל- Hashing יש מספר שימושים כולל

  • הגנת סיסמא
  • בדיקות ואימות תקינות של קבצים
  • מטבע מוצפן

ישנן מספר משפחות חשיש, כולל Message Direct (MD), Secure Hash Function (SHF) ו- RIPE Message Direct (RIPEMD).

אם אתה משתמש באלגוריתם hash של SHA256 ומעביר 101Blockchains כקלט, תקבל את הפלט הבא

fbffd63a60374a31aa9811cbc80b577e23925a5874e86a17f712bab874f33ac9

לסיכום, מאפייני המפתח של פונקציות hash כוללים:

  • דטרמיניסטי
  • עמיד בפני תמונה
  • יעילות חישובית
  • לא ניתן להפוך מהונדס
  • עמיד בפני התנגשות

אם אתה רוצה ללמוד עוד על פונקציות Hash Cryptographic, עיין במאמרים המפורטים כאן:

איך עובדות עצי מרקל?

עכשיו שיש לנו הבנה טובה למדי של פונקציות Hash, הגיע הזמן ללמוד עוד על עצי מרקל.

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

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

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

עצי מרקל

מקור: ויקיפדיה

בבסיס עצי המרקל, עלינו ללמוד שלושה מונחים חשובים. הם להלן:

  • שורש מרקל
  • צמתים עלים
  • צמתים שאינם עלים

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

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

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

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

דוגמה

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

דוגמת עץ-מרקל

דוגמה לעץ מרקל

כאן אנו רואים שארבע עסקאות התרחשו בבלוק. עסקאות אלה נקראות X, Y, Z ו- W. לאחר מכן נסגרות העסקאות ואז נשמרות בצמתים עלים שאנו מכנים בשם Hash X, Hash Y, Hash Z ו- Hash W.

לאחר שתסיים, צמתים העלים של Hash X, Y, Z ו- W שוב חוסמים ונוצרים לחשיש משולב של XY ו- ZW. לבסוף, שני hashes אלה משמשים ליצירת שורש מרקל או שורש האש.

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

כפי שדנו קודם, השימוש באלגוריתמים של hashing תלוי ביישום. עם זאת, אחת מתפקודי החשיש הנפוצים ביותר בהם נעשה שימוש כוללת את פונקציית ה- Hash הצפנתית SHA-2.

לכן, ניתן לאמת עסקה אם ניתן לאמת את העסקאות הקודמות, הודות לערכי החשיש.

מה לגבי שלמות הנתונים?

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

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

כל אלה יכולים להישמע קצת דומים ל- hash-list, אולם זה לא נכון. לקבלת רשימת hash, עליך להוריד את הרשימה המלאה כדי לאמת עסקאות או נתונים.

במקרה של עץ מרקל, אתה יכול להוריד את הסניף ואז להשתמש בו כדי לאמת את העסקאות.

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

אתה יכול גם לבדוק פיתון עץ מרקל – יישום עץ מרקל בפייתון מאמר.

כיצד עובדות מרקל בביטקוין

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

קרא גם, כיצד להתחיל עם Blockchain

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

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

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

מרקל-עץ-בביטקוין

כיתוב: עצי מרקל בביטקוין

כפי שאתה יכול לראות, זה מחייב את הכורים לכלול את העסקאות בבלוק. לאחר שתסיים, הוא מגובש והופך לחלק מעץ המרקל.

השימוש בעצי מרקל, בדרך זו, יכול להוביל להרבה יתרונות. זה כולל הטבה בולטת אחת, כלומר אימות תשלום פשוט (SPV). SVP’s אלו הם צמתים שניתן לכנותם גם כלקוחות קלים. אז מה הם עושים? הם פשוט מורידים את כותרות הבלוק הארוכות ביותר, ולכן אינן צריכות להוריד את כל הבלוקצ’יין. כדי לעשות את כל אלה, עליהם לוודא שיש לו כותרות חסימות המאוחסנות לשרשרת הארוכה ביותר. כך נעשה יישום עץ מרקל בביטקוין.

בסופו של דבר, SPV יכול להשתמש בהוכחת המפה של מרקל ולאמת עסקה באמצעות חשיש השורש של עץ מרקל..

כיצד משתמשים בעצי מרקל באת’ריום

Ethereum blockchain גם עושה שימוש בעצי מרקל. עם זאת, הגישה כאן שונה מזו של אופן השימוש בביטקוין. באת’ריום משתמשים בעץ מרקל פטרישיה המהווה גרסה מורכבת של עץ מרקל. זה אפשרי מכיוון שאת’ריום הוא טיורינג שלם.

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

יישום עצי מרקל אחרים: מקרי שימוש

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

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

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

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

בקיצור, השימוש במקרים של עצי מרקל כולל

  • סנכרון נתונים
  • אימות נתונים
  • אימות עקביות

יתרונות מרקל עצים

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

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

סיכום

עץ מרקל הוא אחד המושגים החשובים במדעי המחשב. הוא נמצא בשימוש נרחב במקרי שימוש רבים והשימוש בו בקריפטוגרפי הוליד טכנולוגיה מהפכנית, – blockchain.

אז מה אתה יודע על עצי מרקל? הגיבו למטה והודיעו לנו.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
map