בכתבה זו, אנסה להסביר בשפה פשוטה וברורה, מהו הבלוקצ’יין (שרשרת בלוקים בעברית), מדוע הוא נחוץ ואיזה יישומים אפשר לבצע על גביו.
לפני שאסביר כיצד הבלוקצ’יין פועל, חשוב להבין מהי הבעיה שהבלוקצ’יין מתיימר לפתור. כידוע, תפיסת הבלוקצ’יין נהגתה לראשונה ב-2009 ע”י סאטושי נאקמוטו (שם בדוי), כשתכליתה המקורית הייתה לאפשר ביצוע ואימות עסקאות בכסף דיגיטלי בין גורמים בלתי תלויים, באופן בטוח וללא תלות בגוף ריכוזי. היישום הראשון והמוכר ביותר על גבי בלוקצ’יין, הוא הביטקוין. ביטקוין הוא מטבע דיגיטלי, שהפונקציה אותו הוא משרת, היא store of value. כלומר, אחסון ערך. הביטקוין משמש כאמצעי תשלום, שמטרתו לאפשר לפרטים לבצע ביניהם עסקאות באופן מאובטח וללא תלות בצד שלישי.
אסביר: בטרם נבצע עסקה, נרצה לוודא שני דברים: ראשית, שלצד הרוכש יש בחשבון מספיק יתרה של מטבעות על מנת לבצע את העסקה; ושנית, שהוא יעביר את הסכום המבוקש לחשבון של הצד המוכר, כאשר הוא המורשה ואין מניעה שהוא יעביר את היתרה. בעולם שלנו כיום, האמון בין צדדים המבצעים עסקה מושג באמצעות תלות בצד שלישי (לרב בנקים). השימוש ברשת הבלוקצ’יין מייתר את הצורך באותו גוף שלישי, ומאפשר לבצע עסקה באופן ישיר בין שני צדדים, כשתהליך הוולידציה (וידוא) של העסקאות, נעשה ע”י המשתמשים ברשת עצמם (הכורים). מעין אימות קולקטיבי ומבוזר.
בלוקצ’יין הוא שיטת מחשוב המבוססת על טכנולוגיית הרישום המבוזר (ה-DLT). מדובר במאגר מידע מוצפן אשר נשמר אצל כל המחשבים (הנקראים גם צמתים, nodes) המחוברים לרשת מסוימת ומתעדכן אצלם באופן סימולטני, כאשר המידע שנשמר במאגר אינו ניתן לעריכה או שינוי. מאגר המידע לרוב מכיל רשימה של העסקאות שבוצעו ברשת. המאגר מורכב משרשרת של בלוקים, כשכל בלוק יכול להכיל כמות מוגבלת של עסקאות (של מידע), וכל בלוק מקושר לבלוק שלפניו באמצעות מנגנון הצפנה. כך נוצרת שרשרת של בלוקים המורכבים מרשימת עסקאות מוצפנת. הרשת מבוזרת מאחר שכל אחד מהמשתמשים בה יכול להשתתף בהליך אימות העסקה (השרטוט הימני). זאת בשונה מרשת ריכוזית, שבה אימות העסקה, מתבצע ע”י ישות ריכוזית אחת (השרטוט השמאלי). אלמנט נוסף של ביזור, הוא היות הפרויקטים מבוססים על קוד פתוח. כלומר, הקוד של הפרויקט הוא שקוף ונגיש לכל המשתמשים, וכך האחרונים יכולים לאמת שאכן מדובר ברשת מבוזרת.
אנלוגיה לתוכנת שיתוף הקבצים גוגל דוקס עשויה לסייע בהבנת הקונספט של הבלוקצ’יין. נניח שמספר סטודנטים מעוניינים לכתוב מאמר. אותם סטודנטים יפתחו מסמך גוגל דוקס משותף כאשר רק הם יכולים לצפות בו, ורק הם יכולים לערוך אותו (הסטודנטים הם לכאורה הצמתים\משתמשים ברשת הבלוקצ’יין). לאחר כל פעולה של הוספת תוכן למסמך, המסמך החדש המכיל את התוכן שהוסף, יתעדכן במחשבים של כל הסטודנטים. כל שינוי\עדכון שביצע כל סטודנט מתועד בגוגל דוקס, ולצורך האנלוגיה, נניח שתיעוד הפעולות אינו ניתן לשינוי או מחיקה. באופן זה, ניתן לראות איזה תוכן הוסף ע”י כל סטודנט, או בהקשר של הבלוקצ’יין, איזה עסקה בוצעה ע”י כל משתמש. האנלוגיה אינה מושלמת, אך היא בהחלט עוזרת להבין את הקונספט.
*הערה – ע”מ לא להקשות יותר מדי, התייחסתי לכל המשתמשים\צמתים (nodes) ברשת באופן זהה, אולם בפועל יש הבחנה בין full node ו- lightweight node. הרחבה בקישור.
אקח את הבלוקצ’יין של הביטקוין כדוגמה ע”מ להסביר את הקונספט – לכל משתמש ברשת יש כתובת ציבורית (המופקת ע”י הארנק הדיגיטלי שלו). זוהי הכתובת אליה משתמשים אחרים יוכלו לשלוח כסף דיגיטלי, אך היא אינה מאפשרת גישה לכסף הנמצא בארנק הדיגיטלי. כעת, נניח שא’ מבצע העברה של 10 ביטקוין ל-ב’; ההוראה לביצוע העסקה תופיע על מסד הנתונים של הבלוקצ’יין, כשכל המשתמשים ברשת יוכלו לראות שהכתובת הציבורית של א’ מנסה לשלוח 10 ביטקוין לכתובת הציבורית של ב’. מרגע שהעסקה מופיעה בבלוקצ’יין (במסד הנתונים), כל המשתמשים ברשת יכולים להתחרות מי יהיה הראשון לאמת שיש לא’ את הסכום הדרוש לביצוע העסקה (10 ביטקוין). אימות זה נעשה ע”י פיצוח של קוד מתמטי המצריך כוח מחשוב. המשתמשים שמבצעים את תהליך האימות, נקראים כורים. המשתמש (כורה) הראשון שמפצח את הקוד ומאמת שיש לא’ 10 ביטקוין בחשבון, שולח “הודעה” על כך לכל שאר המשתמשים ברשת, האחרונים מאשרים זאת, וכך, מושג קונצנזוס בקרב כל המשתמשים ברשת והעסקה מאומתת. מרגע שהעסקה אומתה, היא נרשמת במאגר המידע, והמאגר החדש מתעדכן אצל כל המשתמשים ברשת. (אותו מאגר מידע זמין ונגיש בבלוק אקספולרר (block explorer). מדובר בדפדפן, אשר מספק מידע אודות רשימת הבלוקים שנכרו לאחרונה, רשימת העסקאות ועוד. קיים בלוק אקספלורר נפרד עבור כל רשת, למשל, לא ניתן לצפות בהיסטוריית העסקאות של הלייטקוין בבלוק אקספלורר של ביטקוין ולהפך. עבור הביטקוין Blockchain.Info ו-Blockexplorer הם מומלצים).
ארחיב על תהליך הכריה: תהליך הכריה, הוא למעשה התהליך של הוספת בלוק חדש לשרשרת הבלוקים. באופן תאורטי, כל משתמש ברשת יכול לשמש ככורה ולהשתתף בתהליך הכריה. תהליך הכריה נעשה באמצעות מנגנון הנקרא proof-of-work, או בעברית, הוכחת עבודה. הכורה צריך לספק הוכחה מסוימת ע”מ שהבלוק שכרה, יוכל להיכלל בשרשרת הבלוקים. הוכחה זו, מושגת באמצעות פיצוח של קוד מתמטי המצריך כוח מחשוב. חשוב להבהיר, לא מדובר באיזה צופן מתמטי מורכב המצריך ידע מתמטי, אלא יותר בניחוש, וע”מ לנחש את הצופן הנכון במהירות מירבית, נדרש כח מחשוב רב. הרעיון שבבסיס מנגנון הוכחת העבודה, הוא שתהליך ההוכחה (הפיצוח של הצופן), הוא קשה ומורכב, אך שאר הצמתים ברשת יכולים לאמת בקלות שההוכחה שסופקה היא נכונה. כל הכורים מתחרים ביניהם מי יהיה הראשון לפצח את הקוד המתמטי, וברגע שהכורה הראשון מפצח את הקוד, הוא משדר את ההוכחה לשאר הצמתים ברשת, האחרונים מאמתים את ההוכחה, וכך, מושג קונצנזוס עבור הבלוק החדש, והוא מתווסף לשרשרת הבלוקים. ע”מ לתמרץ את הכורים להשתתף בתהליך הכריה, הכורה שפתר ראשון את הקוד, מתוגמל עבור כריית הבלוק באמצעות כמות מסוימת של ביטקוין (ככה למעשה ביטקונים “נוצרים”), וכן באמצעות העמלות הנגבות עבור עסקאות המתרחשות בבלוק.
הביטקוין הוא הפרויקט הראשון בו נעשה שימוש במנגנון הוכחת העבודה, ונכון להיום, הוא הדוגמה הטובה ביותר למימוש טכנולוגיית הבלוקצ’יין בצורה מבוזרת.
הבלוקצ’יין אינו בהכרח מבוזר – חשוב להבין שקונספט הבלוקצ’יין אינו בהכרח מבוזר, אלא ניתן להגדירו גם באופן ריכוזי. קיימת הבחנה בין בלוקצ’יין ריכוזי (permissioned), כמו זה של פרוטוקול הריפל למשל, לבין בלוקצ’יין ציבורי (permissonless) כמו הביטקוין. בלוקצ’יין ריכוזי, מאפשר להגדיר בפרוטוקול מאפיינים ריכוזיים כגון: הגבלת הליך אימות העסקה, באופן שרק רשימה מוגבלת של משתמשים תוכל לאמת את העסקאות על גבי הבלוקצ’יין; הגבלת הגישה להיסטוריית העסקאות, ואף מתן הרשאה לישות ריכוזית לשנות או למחוק את המידע ברשת. לפיכך, קיימת ביקורת לפיה ה”בלוקצ’יין הריכוזי”, אינו אלא יישום ריכוזי של טכנולוגיית הרישום המבוזר, וכי אינו (בדיוק) עונה על ההגדרה של “בלוקצ’יין”.
פרט לכך שהבלוקצ’יין עשוי לייתר את התלות בגוף שלישי, הוא טומן בחובו פוטנציאל במגוון תחומים, הנה שתי דוגמאות:
שימושים נוספים: פלטפורמות לשיתוף מוזיקה, תוך שמירה על זכויות היוצרים של הזמרים; ניהול מידע אודות מטופלים בבתי חולים במאגר מידע מוצפן, באופן שרק מורשים יוכלו לצפות במידע מסוים, ועוד.
מקורות וקריאה נוספת:
Mike Bullock Linkedin, Deloitte, Brononjuly4 , Coindesk .