Article
January 2, 2020

Is Blockchain Right for Your Development Project?

מאת: תומר חמצני, ראש צוות פיתוח חטיבת Embedded ב- Comm-IT.

 

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

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

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

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

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

 

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

 

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

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

 

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

 

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

 

המידע קיים בבלוקצ'יין כל הזמן בכלמקום ולא מרוכז במקום אחד, לכל ה-Nodes(המחשבים שחברים ברשת) בשרשרת יש את כל המידע, כךשאי אפשר לתקוף את המידע במקום אחד. האקרשרוצה לשנות מידע בבלוקצ'יין יצטרך לשנות לפחות 51%  מה- nodes (דבר שריאלית אינו ישים בתשתיות הבלוקצ'יין הגדולות).

 

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

 

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

 

7.     מהי מהירות הטרנזקציות?  בבלוקצ'יין ציבורי טרנזקציה אינה מתרחשת במילי-שניות. אם מהירות הטרנזקציה היא גורם חשוב, ייתכן שבלוקצ'ין אינה הפתרון המתאים. במטבע הביטקוין, שפועל מ- 2009, בכל כ-10 דקות מיוצר בלוק. לעומת זאת, בפלטפורמת אתריום, שקיימת משנת 2015, המאפשרת להריץ על גביה smart contract, מיוצר בלוק כל כ-15שניות.

 

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

 

 

9.     האם מדובר במידע רגיש לפריצות סייבר? קוד שרץ על בלוקצ'יין כמואתריום הוא תמיד חשוף (open source). כמו כן, קוד שרץ על בלוקצ'יין צריךלהתמודד עם תקיפות ופרצות אבטחה נוספות אשר ספציפיות לפלטפורמה עליה הוא רץ. לכן,כדאי מאוד לוודא את תקינות הקוד ע"י audit חיצוני לפני השקתו.

 

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

·        ציבורי - לרוב כאשר נרצה לכתוב אפליקציה על בלוקצ'יין ציבורי, נעשה זאת על איתריום - Smart Contract. כאשר משתמשים באיתריום כתשתית בלוקצ'יין,על כל פעולה שה Smart Contract שלנו יבצע נצטרך לשלם בעזרת המטבע הוירטואלישל איתריום, שהוא ה- ether. השפה שבה כותבים Smart contract לאיתריום נקראת Solidity היא דומה ל- javascript. לא מומלץ לפתח בלוקצ'יין ציבורי משלכם, מכיוון שהדבר יכול להיות מקור לפריצה (ככל שיש יותר Nodes כך יותר קשה לפרוץ).

 

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

 

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