ניווט מהיר בפוסט
IPFS, קיצור של InterPlanetary File System, היא רשת מבוזרת לאחסון, גישה ושיתוף של קבצים, אתרי אינטרנט, אפליקציות ונתונים.
מה זה IPFS ואיך זה עובד
דמיינו ספרייה, שבה ניתן למצוא ספר המבוסס על מיקום ספציפי שנקבע על ידי קוד שהספרן יכול לזהות במהירות.
עם האינטרנט, ניתן לעשות משהו דומה – מקלידים כל מונח חיפוש בוויקיפדיה ופתאום יש דף מידע מוכן על, נגיד, סטן לי. כדי להשיג את המידע הזה על אחד מיוצרי הקומיקס הגדולים אי פעם, המחשב שלכם צריך לבקש מאחד ממחשבי ויקיפדיה להכין את הדף הזה עבורכם.
עם זאת, זו לא האפשרות היחידה לחיפוש מידע על סטן לי. יש מראה של ויקיפדיה המאוחסנת ב-IPFS, וניתן להשתמש בה במקום.
עם מערכת קבצים פלנטרית, עדיין תמצאו את אותו דף מידע על סטן לי – אבל הדף נמצא לא לפי המיקום שלו, אלא לפי התוכן שלו, שנמצא על ידי שאילת מחשבים רבים בכל רחבי העולם באמצעות IPFS. כך ניתן לקבל את מידע על סטן לי מכל מי שיש לו, לא רק מוויקיפדיה.
וכאשר משתמשים ב-IPFS, לא רק מורידים קבצים ממישהו אחר – המחשב שלכם גם עוזר להפיץ אותם. כאשר חבר שלכם מהשכונה צריך את אותו דף ויקיפדיה, סביר להניח שהם יקבלו אותו מכם כפי שהם מקבלים מהשכן או מכל אדם אחר המשתמש ב-IPFS.
IPFS מאפשר זאת לא רק לדפי אינטרנט אלא גם לכל סוג של קובץ שהמחשב עשוי לאחסן, בין אם זה מסמך, דואר אלקטרוני או אפילו רשומת מסד נתונים.
אחד ההבדלים המכריעים בין האינטרנט הריכוזי והמבוזר הוא האופן שבו אנו מזהים ומחזירים נתונים – לפי מיקום, או לפי תוכן.
האינטרנט הריכוזי מסתמך על רשויות מהימנות לארח את הנתונים שלנו ומשתמש בכתובות URL מבוססות מיקום כדי לגשת אליהם.
מאתר המשאבים האחיד (URL) הוא כתובת האינטרנט שאנו מקלידים בדפדפן שלנו המזהה וקולט את מיקום הדף שאנו מחפשים.
עם מערכת קבצים פלנטרית, האחריות היא על התוכן לעזור לכם למצוא את החיפוש שלכם – זה נקרא כתובת תוכן.
זיהוי כתובות תוכן
מערכת קבצים בין פלנטרית מחפשת את המידע שלנו על סמך תוכן ולא מיקום.
במקום שרת במיקום מרכזי, מערכת קבצים בין פלנטרית בנויה סביב מערכת מבוזרת עמית לעמית (p2p) המאפשרת למשתמשים לארח ולקבל תוכן, בדומה ל-BitTorrent.
המחשב שלכם משתמש ב-IPFS כדי למצוא קבצים שמתארחים על ידי מחשבים אחרים, ועוזר להפיץ קבצים בתורו.
משתמשים יכולים לאחסן ולאחזר תוכן על סמך "טביעת אצבע" של התוכן עצמו.
טביעת אצבע היא גיבוב קריפטוגרפי הנקרא מזהה תוכן, (content identifier) CID.
במילים פשוטות, כאשר אתם מחפשים משהו ספציפי עם IPFS, אתם מבקשים מרשת IPFS למצוא HASH מסוים, במקום כתובת IP מסוימת.
במונחים מורכבים יותר, IPFS היא שכבה על גבי אחסון הנתונים שבה כל אחד יכול לבקש CID ולקבל בחזרה את התוכן הרלוונטי, המתאים באופן ייחודי לאותו CID כל עוד מישהו משדר אותו לרשת.
ברשת מבוזרת כולנו יכולים לארח את הנתונים אחד של השני באמצעות שיטת "טביעת אצבע" זו של תוכן המסתמכת על גיבוב קריפטוגרפי לאבטחה.
גרפים א-מחזוריים מכוונים
IPFS ומערכות מבוזרות רבות אחרות מנצלות מבנה נתונים הנקרא גרפים א-מחזוריים מכוונים, או DAG's. באופן ספציפי, הם משתמשים ב- Merkle DAGs, כאשר לכל צומת יש מזהה ייחודי שהוא גיבוב של תוכן הצומת.
במילים אחרות: זיהוי אובייקט נתונים (כמו צומת Merkle DAG) לפי ערך ה-hash שלו הוא התייחסות לתוכן.
מערכת הקבצים משתמשת ב- Merkle DAG המותאם לייצוג ספריות וקבצים, אך ניתן לבנות את Merkle DAG בדרכים רבות ושונות.
לדוגמה, Git משתמש ב- Merkle DAG שיש בתוכו גרסאות רבות של ה-Repo.
כדי לבנות ייצוג Merkle DAG של תוכן, IPFS לרוב מפצל אותו לראשונה לבלוקים. פיצול זה לבלוקים אומר שחלקים שונים של הקובץ יכולים להגיע ממקורות שונים ולהיות מאומתים במהירות.
(אם אי פעם השתמשתם ב-BitTorrent, אולי שמתם לב שכאשר מורידים קובץ, BitTorrent יכול להביא אותו ממספר עמיתים בו-זמנית; זה אותו רעיון.)
השימוש של IPFS
מאספקת תוכן לאתרי אינטרנט, אחסון גלובלי של קבצים והקלה על שיתוף קבצים מאובטח ותקשורת מוצפנת, IPFS מציעה הזדמנות לעשות כמה דברים עם הנתונים.
הצבעה וממשל
Snapshot היא פלטפורמת הצבעה לפרויקטים של Web3, DAOs וקהילות המשתמשת ב-IPFS כשכבת האחסון העיקרית שלה.
Snapshot משתמשת ב-IPFS כדי לאחסן הצעות והצבעות משתמשים בטכניקה המכונה הצבעה 'מחוץ לשרשרת', שבה החתימות ההצפנה המוכיחות שהצבעות המשתמשים נשמרות למערכת הקבצים במקום להיות מאוחסנות בבלוקצ'יין.
יישומי שולחן עבודה
IPFS Desktop הוא לקוח שולחן העבודה הרשמי עבור IPFS. זה מגיע עם צומת מובנה המאפשר להצמיד קבצים ונותן קישור לשתף אותם.
זוהי אחת הדרכים הקלות ביותר להתחיל להצמיד קבצים ל-IPFS.
לדפדפן האינטרנט Brave יש תמיכה מובנית ב-IPFS. הוא משתמש באותו יישום כמו IPFS Desktop ופותר כתובות ipfs://{cid} מחוץ לקופסה.
מציאות מדומה מבוזרת
Decentraland הוא עולם וירטואלי שמאפשר לחקור עם ערכת VR, מחשב או הטלפון. הם מאחסנים את כל הנכסים ב-IPFS, כך שניתן להביא את הקבצים הכבדים הללו ממספר משתמשים אחרים בו-זמנית לטעינה וסנכרון מהירים יותר.
צמתים
צמתי IPFS משתמשים בטבלאות Hash מבוזרות (DHT), מערכת אחסון מבוזרת המספקת חיפוש ואחסון למיפוי מפתחות לערכים. כל צומת ב-DHT אחראי על מפתחות וערכים ממופים ויכול לאחזר ביעילות את הערך המשויך למפתח נתון.
DHT מציע דרך קלה למצוא מידע באיסוף נתונים נרחב, מכיוון שכל המפתחות מאורגנים בפורמט עקבי. יתרה מכך, ניתן לחלק ולהפיץ את כל סט המפתחות באופן המאפשר לזהות היכן נמצא צמד המפתח/ערך במהירות. תחשוב על זה כעל טבלה מסיבית המאחסנת למי יש אילו נתונים.
במילים פשוטות יותר, צמתים יכולים לתקשר ביניהם והחליף קבצים.
האתגרים של IPFS
מערכת קבצים פלנטרית מייצגת דרך מצוינת לשפר את הביזור של האינטרנט ואת מציאת הנתונים. עם זאת, זה מגיע עם אתגרים משלו.
האתגר הגדול ביותר הוא שצריך להתחרות עם יישומי Web2.0 שאומצו באופן נרחב.
בעוד שהמערכת המבוזרת הופכת את IPFS לטוב יותר מנקודת מבט של אבטחה ופרטיות, זה מכביד יותר לעדכן מכיוון שלא ניתן לבצע שינויים באופן פנימי.
יש להשלים שדרוגים באמצעות מהדורות רגילות ושיטתיות של גרסאות חדשות.
אתגר רלוונטי נוסף הוא זמינות הקבצים.
בשרתים מרכזיים, קבצים מתוחזקים ונשלטים על ידי צד אחד שמתומרץ לשמור על השרת פעיל כל הזמן.
IPFS מסתמך במידה רבה על קבצי נתונים המסופקים על ידי צמתים נפרדים, ואם הצמתים הללו אינם מקוונים מסיבה כלשהי, קבצים אלה לא יהיו זמינים.