האם בלוקצ'יין וביטקוין באמת לא ניתנים לשינוי?

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

בכל פעם שאנחנו מדברים על בלוקצ'יין (Blockchain), קביעוּת היא הנושא הראשון שעולה. יש השקפות שונות על הנושא, אבל בסופו של דבר כולם מחפשים תשובה לשאלה אחת – האם בלוקצ'יין וביטקוין קבועים? התשובה הקצרה היא – כן, בלוקצ'יין וביטקוין לא ניתנים לשינוי. התשובה הארוכה היא שעדיין כדאי לדעת מה הסיבות שעומדות מאחורי התשובה הזאת על מנת להבין את ההשלכות.

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

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

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

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

העברות ביטקוין – שמתרחשות בכל העולם – למעשה מאוחסנות באופן מבוזר ברחבי הרשת, עם כמה עותקים של המידע שמרחפים להם. הוא ממש, פשוטו כמשמעו, שרשרת של בלוקים קשורים אחד לשני ("בלוקצ'יין"). אם הבלוקים האלה ניתנים לשינוי, כל אדם בעל כוונת זדון יכול לשנות את היסטוריית ההעברה ולהפוך לעשיר כקורח על ידי שינוי פשוט של הרשומות. לכן הקביעוּת של הבלוקים חשובה כל-כך. בואו ניכנס לפרטים:

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

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

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

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

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

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

האם זה היה מועיל? שתף את זה!