איתריום למפתחי WEB – השוואה

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

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

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

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

במאמר זה ננסה להסביר מה זה איתריום מתוך מעיניו של מפתח WEB.


אם אתם מפתחים אז אתם כנראה מכירים את הארכיטקטורה של אפליקצית WEB עם Client ו- Server ממבט על.

webapp

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

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

בהינתן בקשה לשרת, השרת מתחיל לפעול, פונה לדטהבייס או לCache כותב/קורא/מעדכן ומחזיר תשובה ללקוח.

הארכיטקטורה הזו עובדת מעולה, ברוב הפעמים.

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

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

כמובן שהדבר יפגע קשות בעסק שלך.

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

eBay כן אמינים בד"כ ומספקים שירותי תיווך מעולים לרוב, אך הם לוקחים על כך עמלות – מה אם לא היינו צריכים לשתף את eBay בעמלות כלל

או שולטים במידע של עצמנו.

זהו המקום בו נכנסות אפליקציות מבוזרות לתמונה.

איתריום הופכת לנו את החיים למאוד קלים (יחסית) לבנית dApps – Decentralized Applications.

ככה נראית בד"כ ארכיטקטורה של אפליקציה מבוזרת מעל איתריום:

dappethereum

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

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

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

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

כעת, מהו בדיוק הבלוקצ'יין הזה ?

  1. Database

בכל פעם כמות טרנזקציות מסוימת נאספת ונירשמת אל תוך "בלוק" כאשר כל בלוק מצביע לבלוק הבא.

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

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

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

2. Code

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

איפה נכבתבת הלוגיקה הזו ?

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

זו לא האפשרות היחידה אך בהחלט הפופולארית ביותר.

 

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

על מנת לבנות אפליקציה מבוזרת איתריום בנו ספרית JavaScript (קיימת בשפות נוספות) שנקראת Web3.

ספריה זו מתקשרת עם הרשת וכל מה שתצטרכו לעשות זה להוסיף אותה לפרויקט שלכם בין עם זה Angular, React או כל Frame Work אחר.

דבר גדול נוסף שמקבלים זה היכולת לפתוח "חשבון בנק" מידית ובקלות.

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

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

 

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

במאמר זה ניסינו להתמקד בהבדלים בין אפליקצית WEB רגילה לבין אפליקצית DAPP.

לקריאה נוספת:

 

 

 

Related Post