Blockchain – הקסם שבפנים
לפרק הקודם: blockchain – רגע, מה?
בפעם הקודמת סיפרתי כיצד ה blockchain פרץ לעולם וכיצד הוא משנה את שיטת העבודה בכל מה שקשור לתיעוד מידע רגיש. הפעם אני אתמקד באבני הבניין של ה blockchain ואסביר מהם החלקים שגורמים לטכנולוגיה הזו לעבוד כל כך טוב.
נזכיר בקצרה מה זה blockchain: זוהי מערכת מבוזרת, לניהול ותיעוד של "ספר חשבונות" באופן כזה המאפשר לישויות שלא סומכות זו על זו להגיע להסכמה על הדרך שבה מעדכנים את הספר, באמצעות פרוטוקולים בין הישויות (peer to peer) במקום דרך גורם מרכזי, או תהליך offline המסדיר עסקאות.
בואו נסתכל על דוגמה שתמחיש את מה שהטכנולוגיה מבצעת:
בוב ואליס יושבים בגינה. לבוב יש תפוח והוא מחליט לתת אותו לאליס. ברגע שהוא מעביר אותו לאליס, התפוח אצלה ולבוב אין יותר תפוחים. עניין פשוט.
ומה בפועל קרה כאן – בוב הניח את התפוח באופן פיסי בידיה של אליס. שניהם יודעים את זה, שניהם היו שם. הם לא היו צריכים גורם שלישי שיעזור להם לבצע את ההעברה של התפוח. הם לא היו צריכים מישהו שישב איתם ויאשר שהתפוח אכן עבר מבוב לאליס.
התפוח עכשיו של אליס. בוב לא יכול לתת לאליס תפוח אחר כי אין לו, ואין לו יותר שליטה על התפוח כי הוא לא אצלו. התפוח כבר לא בחזקת בוב. לאליס יש שליטה מלאה על התפוח. אליס יכולה להעביר את התפוח לחבר שלה צ'רלי והוא יכול להעביר לחבר שלו וכך הלאה.
כך נראית העברה אישית, ובעצם ככה נראית כל העברה, ולא משנה מה מועבר – בננות, ספרים או שטרות של כסף.
עכשיו נסתכל על זה באופן טיפה שונה:
נניח שלבוב יש תפוח דיגיטלי .בוב נותן את התפוח הדיגיטלי לאליס. איך אליס יודעת שהתפוח הדיגיטלי הזה, שהיה שייך לבוב, שייך לה, ורק לה?
זה הפך את העניין להיות הרבה יותר מורכב. איך אליס יכולה לדעת שבוב לא שלח העתק של התפוח הדיגיטלי לחבר שלו דייב באימייל קודם לכן? או לחבר אחר אורי? או לכמה אנשים בו זמנית?
אולי בוב עשה מספר העתקים של התפוח על המחשב שלו? או שאולי העלה את התפוח הדיגיטלי לאינטרנט ומיליון איש מורידים אותו משם.
ניתן לראות מכל זה שהעברה דיגיטלית יותר בעייתית. שליחה של תפוחים דיגיטלים שונה משליחה של תפוחים פיזיים.
לבעיה הזו יש אפילו שם מקצועי – בעיית ההוצאה הכפולה (double-spending problem). אז איך פותרים אותה?
נראה שהתפוחים הדיגיטלים האלה צריכים להיות מתועדים בספר חשבונות (ledger). ספר שבו נתעד את כל הטרנזקציות. הספר הזה, בהיותו דיגיטלי, צריך לחיות בעולם משלו וצריך שמישהו יהיה אחראי עליו.
אבל מה יקרה אם מישהו, סתם ככה, יוסיף לעצמו תפוחים למאזן כל פעם שהוא ירצה? זה לא אותו דבר כמו על הספסל בגינה. שם היו רק אליס ובוב. ולהשתמש ברשת דיגיטלית ריכוזית שמנהלת את זה, זה כמו לקרוא לשופטת ג'ודי, כגורם שלישי, לצאת מבית המשפט ולאמת כל טרנזקציה שנעשית בגינה...
אז איך בוב יכול להעביר את התפוח הדיגיטלי לאליס באותו אופן כמו בשיטה הפיזית?
מה יקרה אם ספר החשבונות יהיה אצל כולם?
במקום שספר החשבונות יחיה על מחשב אחד, הוא יהיה אצל המחשבים של כולם. כל הטרנזקציות שהיו מאז ומעולם של התפוחים הדיגיטלים יתועדו אצל כולם.
שיטה כזו, הרבה יותר קשה לזייף. בוב לא יוכל לשלוח לאליס תפוחים שאין לו, כי אז הטרנזקציות האלה לא תוכלנה להסתנכרן אצל כולם במערכת. יהיה מאוד קשה לפצח רשת שכזו, בעיקר אם היא תהיה ממש גדולה.
בנוסף לזה – היא כבר לא בשליטת אדם יחיד.
כל אחד שירצה יוכל להשתתף ברשת ולעדכן את ספר החשבונות ולאמת שהכל תקין בו. על הטרחה הוא יוכל לקבל גם עמלה של מספר תפוחים דיגיטלים. וזו תהיה גם הדרך היחידה של הוספת תפוחים דיגיטלים חדשים לרשת.
עד כאן הדוגמה הכללית, בהמשך נראה כמה וריאציות והרחבות שלה, אבל הרעיון המרכזי זהה בכולם.
אוקי, אז עכשיו שמטרת הטכנולוגיה ברורה. בואו נכנס קצת יותר פנימה כדי להבין איך זה עובד:
• רשת blockchain, מורכבת מקבוצה של שרתים, nodes, מבוזרים
• כל שרת ברשת מחזיק העתק של עובדות, מידע ערכי,facts, ואת ההיסטוריה של אותן עובדות. אוסף עובדות אלה וההיסטוריה שלהן מהוות את ה blockchain
• המשתמשים שברשת מחוללים טרנזקציות המעוניינות לשנות את העובדות
• הטרנזקציה מפעילה חוזה חכם, smart contracts, המגדיר את החוקים של עדכון או עדכונים של עובדות
• החוזים החכמים מכילים את החוקים של הטרנזצקיות, כולל פרוטוקול הקונצנזוס, ההסכמה כדי לוודא את התוצאות (של הטרנזקציה)
• ברגע שקיים קונצנזוס על פי החוקים של אוסף הטרנזקציות, השרתים מוסיפים לקצה השרשרת בלוק חדש, המאובטח באופן קריפטוגרפי, אשר לא ניתן לשינוי
• ברגע שאירוע קרה, ותעדנו את האירוע, העובדה כי האירוע קרה לעולם לא תשתנה
• המידע שרשום ב blockchain הוא תיעוד היסטורי שלא ניתן לשינוי
• הבלוקים בשרשרת צריכים להוכיח כי לא "התעסקו" איתם/ חיבלו בהם
• כל השותפים לרשת ה blockchain חייבים להסכים לתקינות המידע שרשום בה
עובדה מעניינת היא שהמרכיבים השונים של רשת blockchain, כגון – הקריפטוגרפיה, מאגרים מבוזרים, והקונצנזוס הם לא חדשים. אבל החיבור של המרכיבים הללו מיצר יכולת חדשה וחזקה לשיתוף מידע, העברת נכסים אשר מייתרת מתווכים, ריכוזיות ועלויות יקרות של בקרות ותיקונים.
ספר חשבונות מבוזר – מאגר מידע מוגן מזיופים, נגיש באופן מקומי לכל משתמש, מהימן, מקור אמת
פרטוקול קונצנזוס משותף – עמיד מכשלונות ומפעולות זדוניות
חוזים חכמים – קידוד בתוכנה של הסכמים, תנאים, והוראות לפעולה
הצפנות (קריפטוגרפיה) חדשות – תעודות זמניות מאפשרות פרטיות בטרנזקציות, הצפנות הומומורפיות מאפשרות חישובים על המידע, ללא צורך בפיענוח שלו ושמירה על הפרטיות
(הסברים על ההצפנות יהיו במאמרי המשך)
• כל אחד יכול להתחבר לרשת ולקבל העתק מלא של ספר החשבונות (bitcoin לדוגמה)
• שיטה זו דורשת משאבי מחשב רבים בשביל לבצע "כריה", הוספה של בלוקים חדשים לשרשרת
• מודל הקונצנזוס (כפי שהסברנו עליו מקודם) אשר מבוסס על אלגוריתמים חישוביים "כבדים", דורש כוח עיבוד של הרבה מאוד שרתים כדי לשמור על האבטחה
• מערכת בסביבה סגורה: החברים ברשת מוזמנים להצטרף אליה ולקבל העתק של ספר החשבונות
• מיהם החברים ברשת בעולם האמיתי ידועים, לפחות למפעיל הרשת, לאו דווקא בפני שאר החברים ברשת
• מודל הקונצנזוס מסתמך על ידיעה של מיהם החברים ברשת כדי לספק סקלביליות רבה יותר
בפרק הבא אסקור את הדומה והשונה בין השיטות ואת מגוון היישומים שהן מאפשרות בתעשיות השונות.
.
Blockchain – הקסם שבפנים
לפרק הקודם: blockchain – רגע, מה?
בפעם הקודמת סיפרתי כיצד ה blockchain פרץ לעולם וכיצד הוא משנה את שיטת העבודה בכל מה שקשור לתיעוד מידע רגיש. הפעם אני אתמקד באבני הבניין של ה blockchain ואסביר מהם החלקים שגורמים לטכנולוגיה הזו לעבוד כל כך טוב.
נזכיר בקצרה מה זה blockchain: זוהי מערכת מבוזרת, לניהול ותיעוד של "ספר חשבונות" באופן כזה המאפשר לישויות שלא סומכות זו על זו להגיע להסכמה על הדרך שבה מעדכנים את הספר, באמצעות פרוטוקולים בין הישויות (peer to peer) במקום דרך גורם מרכזי, או תהליך offline המסדיר עסקאות.
בואו נסתכל על דוגמה שתמחיש את מה שהטכנולוגיה מבצעת:
בוב ואליס יושבים בגינה. לבוב יש תפוח והוא מחליט לתת אותו לאליס. ברגע שהוא מעביר אותו לאליס, התפוח אצלה ולבוב אין יותר תפוחים. עניין פשוט.
ומה בפועל קרה כאן – בוב הניח את התפוח באופן פיסי בידיה של אליס. שניהם יודעים את זה, שניהם היו שם. הם לא היו צריכים גורם שלישי שיעזור להם לבצע את ההעברה של התפוח. הם לא היו צריכים מישהו שישב איתם ויאשר שהתפוח אכן עבר מבוב לאליס.
התפוח עכשיו של אליס. בוב לא יכול לתת לאליס תפוח אחר כי אין לו, ואין לו יותר שליטה על התפוח כי הוא לא אצלו. התפוח כבר לא בחזקת בוב. לאליס יש שליטה מלאה על התפוח. אליס יכולה להעביר את התפוח לחבר שלה צ'רלי והוא יכול להעביר לחבר שלו וכך הלאה.
כך נראית העברה אישית, ובעצם ככה נראית כל העברה, ולא משנה מה מועבר – בננות, ספרים או שטרות של כסף.
עכשיו נסתכל על זה באופן טיפה שונה:
נניח שלבוב יש תפוח דיגיטלי .בוב נותן את התפוח הדיגיטלי לאליס. איך אליס יודעת שהתפוח הדיגיטלי הזה, שהיה שייך לבוב, שייך לה, ורק לה?
זה הפך את העניין להיות הרבה יותר מורכב. איך אליס יכולה לדעת שבוב לא שלח העתק של התפוח הדיגיטלי לחבר שלו דייב באימייל קודם לכן? או לחבר אחר אורי? או לכמה אנשים בו זמנית?
אולי בוב עשה מספר העתקים של התפוח על המחשב שלו? או שאולי העלה את התפוח הדיגיטלי לאינטרנט ומיליון איש מורידים אותו משם.
ניתן לראות מכל זה שהעברה דיגיטלית יותר בעייתית. שליחה של תפוחים דיגיטלים שונה משליחה של תפוחים פיזיים.
לבעיה הזו יש אפילו שם מקצועי – בעיית ההוצאה הכפולה (double-spending problem). אז איך פותרים אותה?
נראה שהתפוחים הדיגיטלים האלה צריכים להיות מתועדים בספר חשבונות (ledger). ספר שבו נתעד את כל הטרנזקציות. הספר הזה, בהיותו דיגיטלי, צריך לחיות בעולם משלו וצריך שמישהו יהיה אחראי עליו.
אבל מה יקרה אם מישהו, סתם ככה, יוסיף לעצמו תפוחים למאזן כל פעם שהוא ירצה? זה לא אותו דבר כמו על הספסל בגינה. שם היו רק אליס ובוב. ולהשתמש ברשת דיגיטלית ריכוזית שמנהלת את זה, זה כמו לקרוא לשופטת ג'ודי, כגורם שלישי, לצאת מבית המשפט ולאמת כל טרנזקציה שנעשית בגינה...
אז איך בוב יכול להעביר את התפוח הדיגיטלי לאליס באותו אופן כמו בשיטה הפיזית?
מה יקרה אם ספר החשבונות יהיה אצל כולם?
במקום שספר החשבונות יחיה על מחשב אחד, הוא יהיה אצל המחשבים של כולם. כל הטרנזקציות שהיו מאז ומעולם של התפוחים הדיגיטלים יתועדו אצל כולם.
שיטה כזו, הרבה יותר קשה לזייף. בוב לא יוכל לשלוח לאליס תפוחים שאין לו, כי אז הטרנזקציות האלה לא תוכלנה להסתנכרן אצל כולם במערכת. יהיה מאוד קשה לפצח רשת שכזו, בעיקר אם היא תהיה ממש גדולה.
בנוסף לזה – היא כבר לא בשליטת אדם יחיד.
כל אחד שירצה יוכל להשתתף ברשת ולעדכן את ספר החשבונות ולאמת שהכל תקין בו. על הטרחה הוא יוכל לקבל גם עמלה של מספר תפוחים דיגיטלים. וזו תהיה גם הדרך היחידה של הוספת תפוחים דיגיטלים חדשים לרשת.
עד כאן הדוגמה הכללית, בהמשך נראה כמה וריאציות והרחבות שלה, אבל הרעיון המרכזי זהה בכולם.
אוקי, אז עכשיו שמטרת הטכנולוגיה ברורה. בואו נכנס קצת יותר פנימה כדי להבין איך זה עובד:
• רשת blockchain, מורכבת מקבוצה של שרתים, nodes, מבוזרים
• כל שרת ברשת מחזיק העתק של עובדות, מידע ערכי,facts, ואת ההיסטוריה של אותן עובדות. אוסף עובדות אלה וההיסטוריה שלהן מהוות את ה blockchain
• המשתמשים שברשת מחוללים טרנזקציות המעוניינות לשנות את העובדות
• הטרנזקציה מפעילה חוזה חכם, smart contracts, המגדיר את החוקים של עדכון או עדכונים של עובדות
• החוזים החכמים מכילים את החוקים של הטרנזצקיות, כולל פרוטוקול הקונצנזוס, ההסכמה כדי לוודא את התוצאות (של הטרנזקציה)
• ברגע שקיים קונצנזוס על פי החוקים של אוסף הטרנזקציות, השרתים מוסיפים לקצה השרשרת בלוק חדש, המאובטח באופן קריפטוגרפי, אשר לא ניתן לשינוי
• ברגע שאירוע קרה, ותעדנו את האירוע, העובדה כי האירוע קרה לעולם לא תשתנה
• המידע שרשום ב blockchain הוא תיעוד היסטורי שלא ניתן לשינוי
• הבלוקים בשרשרת צריכים להוכיח כי לא "התעסקו" איתם/ חיבלו בהם
• כל השותפים לרשת ה blockchain חייבים להסכים לתקינות המידע שרשום בה
עובדה מעניינת היא שהמרכיבים השונים של רשת blockchain, כגון – הקריפטוגרפיה, מאגרים מבוזרים, והקונצנזוס הם לא חדשים. אבל החיבור של המרכיבים הללו מיצר יכולת חדשה וחזקה לשיתוף מידע, העברת נכסים אשר מייתרת מתווכים, ריכוזיות ועלויות יקרות של בקרות ותיקונים.
ספר חשבונות מבוזר – מאגר מידע מוגן מזיופים, נגיש באופן מקומי לכל משתמש, מהימן, מקור אמת
פרטוקול קונצנזוס משותף – עמיד מכשלונות ומפעולות זדוניות
חוזים חכמים – קידוד בתוכנה של הסכמים, תנאים, והוראות לפעולה
הצפנות (קריפטוגרפיה) חדשות – תעודות זמניות מאפשרות פרטיות בטרנזקציות, הצפנות הומומורפיות מאפשרות חישובים על המידע, ללא צורך בפיענוח שלו ושמירה על הפרטיות
(הסברים על ההצפנות יהיו במאמרי המשך)
• כל אחד יכול להתחבר לרשת ולקבל העתק מלא של ספר החשבונות (bitcoin לדוגמה)
• שיטה זו דורשת משאבי מחשב רבים בשביל לבצע "כריה", הוספה של בלוקים חדשים לשרשרת
• מודל הקונצנזוס (כפי שהסברנו עליו מקודם) אשר מבוסס על אלגוריתמים חישוביים "כבדים", דורש כוח עיבוד של הרבה מאוד שרתים כדי לשמור על האבטחה
• מערכת בסביבה סגורה: החברים ברשת מוזמנים להצטרף אליה ולקבל העתק של ספר החשבונות
• מיהם החברים ברשת בעולם האמיתי ידועים, לפחות למפעיל הרשת, לאו דווקא בפני שאר החברים ברשת
• מודל הקונצנזוס מסתמך על ידיעה של מיהם החברים ברשת כדי לספק סקלביליות רבה יותר
בפרק הבא אסקור את הדומה והשונה בין השיטות ואת מגוון היישומים שהן מאפשרות בתעשיות השונות.
.
הודעתך לא התקבלה - נסה שוב מאוחר יותר
Oops! Something went wrong while submitting the form