-
@ Shim
2024-04-17 18:58:24נוסטר הוא לא אפליקציה. הוא פרוטוקול פשוט אך הניתן להרחבה שמאפשר בנייה של פלטפורמות לרשתות חברתיות מבוזרות ועמידות לצינזור.
הפרוטוקול מבוסס על ממסרים. ממסרים הינם שרתים שכל אחד יכול לתפעל. על ידי פתיחת חיבור מתמשך עם השרת, לקוחות (או אפליקציות) יכולים לדחוף ולמשוך אירועים בזמן אמת.
🤸 חשבונות
בנוסטר לא צריך להשתמש במידע אישי בשביל לפתוח חשבון.
כמו בביטקוין, אתה צריך רק זוג מפתחות:
🏷️מפתח פומבי: שמשמש כשם משתמש שלך. אפשר לשתף את המפתח הזה עם אחרים והוא גלוי לציבור.
🔑 מפתח פרטי: המפתח הזה הוא כמו הסיסמה שלך. כשמו כן הוא - אתה צריך לשמור אותו סודי. בנוסף, המפתח הזה יעניק לך גישה לחשבון שלך בכל פלטפורמה הבנוייה על נוסטר.
לקבל זוג מפתחות הוא מאוד קל! פשוט תבחר כל לקוח של פרוטוקול נוסטר, והוא יְיַצֵּר אותו עבורך. אם אתה משתמש בדפדפן, צעד אבטחתי נוסף הוא להשתמש בהרחבת דפדפן כמו Alby או nos2x. אתה יכול גם לייצר זוג מפתחות ייחודי עם כלי כמו rana.
כדאי לשמור על המפתח הפרטי שלך כי זו הדרך היחידה להכנס מחדש או לשחזר את החשבון שלך בעתיד.
💡 פוטוקול נוסטר ניתן להרחבה באמצעות NIPים (Nostr Implementation Possibilities). כשאנחנו מדברים על הרחבות פרוטוקול נוסטר, כמו אישור מפתחות פומביים, אנחנו מתייחסים לNIPים.
📝 אירועים
סוג האובייקט היחיד שקיים בנוסטר הוא האירוע. אירועים הם תבניות קטנות של טקסט בלבד.\ ככה נראה אירוע:
{ "id": "c011...4c43", "pubkey": "dec1...4fb3", "created_at": 1671551112, "kind": 1, "tags": [], "content": "good morning!", "sig": "e1dc...5f1" }
נעבור על הנתונים הנ"ל:\ אין מה להסביר כל כך לשדות של
content
וcreated
.\🪪 ה
id
הוא המזהה הייחודי של האירוע. זוהי דרך להתייחס לאירוע הזה ברשת. שדה הpubkey
מכיל את הpublic key
(משתמש) איתו נוצר האירוע.1️⃣ שדה ה
kind
הוא אחד הרכיבים המעניינים של נוסטר. הוא שדה שמפרט באיזה סוג אירוע מדובר. תשאל מדוע זה מעניין...אז הקטע הוא שאין הגבלה על סוגי האירועים, אז אנחנו יכולים להנדס כל סוג שנרצה.\ לדוגמה, ישנו אירוע מסוג 1, שהוא סתם הודעת טקסט. מעין "ציוץ" אם תרצה. אבל יש לנו גם את סוג 4 שהינו הודעות מוצפנות מקצה לקצה!\ יש הרבה אפשרויות!🖋 שדה ה
sig
הוא הוכחה קריפטוגרפית שמי שפירסם את האירוע הוא הבעלים של המפתח הפרטי הקושר לאותו מפתח פומבי.🏷 שדה ה
tag
יכול להכיל תגית שרירותית כלשהי. זה פותח בפני מפתחים הרבה אפשרויות! לדוגמה, שימוש נפוץ הוא כאשר אתה מגיב להודעה כלשהי (אירוע), הid
של אותו אירוע מקבל תגית "e".📡 ממסרים
ממסרים הם חלק חיוני של פרוטוקול נוסטר. הם שומרים אצלם את האירועים שמתקבלים מלקוחות. ממסרים לא מדברים אחד עם השני. רק הממסרים אליהם אתה מחובר יקבלו וישמרו את האירועים שלך.
זה מאפיין חשוב של נוסטר. ממסרים אינם מתקשרים אחד עם השני. מהסיבה הזאת, כדאי לך להתחבר לכמות הממסרים שאתה רוצה לשלוח את הנתונים שלך אליה.
לקוחות אמורים לאפשר למשתמשים להתחבר לכמה ממסרים שהם רוצים. משתמשים יכולים גם לבחור אם הם רוצים לקרוא מהממסרים אליהם הם מחוברים או לכתוב להם, או שניהם. זאת אומרת שאני יכול להתחבר לממסר מסויים לקבל תוכן, אך לא לפרסם אירועים שלי שם, או הפוך.
אם אני מחובר לממסר A בלבד ואתה מחובר לממסר B בלבד, לא נוכל לראות את האירועים של אחד והשני. כדי לראות את האירועים של אחד והשני, אנחנו צריכים להיות מחוברים ללפחות ממסר אחד משותף. זה אומר, שבתרחיש הנ"ל, אם רציתי לראות את האירועים שלך, הייתי חייב להתחבר לממסר B (או שתתחבר לממסר A) ואז יכולנו לראות אחד את השני!
זה אולי קצת מבלבל בהתחלה, אבל זה מאפיין עוצמתי. אתה יכול להריץ ממסר שאתה לא משתף עם אף אחד ולפרסם את כל האירועים שלך שמה (יחד עם ממסרים אחרים). בדרך הזאת, יהיה לך גיבוי של האירועים שלך בלבד אצלך בממסר. אולי יש ממסר שמוקדש לדיונים על כדורגל ואם לא ארצה להיות חלק מזה, אני פשוט לא מוסיף אותו בלקוחות שלי. בו זמנית אוכל לדבר למשתמש שגם נמצא בממסר הכדורגל ובממסר גנרי שאני גם נמצא בו.
✊ נוסטר יכול לעזור במאבק בצינזור. תאר לעצמך שביכולתך ליצור דרכי מילוט איפה שתרצה. אם מישהו מנסה לכלוא אותך אתה פשוט יוצר דרך מילוט חדשה ובורח. עם נוסטר, בגלל שהרצת ממסר הוא זול וקל, זה אותו דבר. ובאמת, ממסר יכול לרוץ על פלאפון פשוט! בנוסף, העובדה שממסרים לא מדברים אחד עם השני עוזר לנו עם זה: ממסר שמפעיל צנזורה לא משפיע על ממסרים אחרים! יש מאות ממסרים מפוזרים על פני כדור הארץ.
🔨 מה נוסטר יכול עשות?
כמו שהזכרנו נוסטר הוא כלי עוצמתי לשיתוף נתונים. זה אומר שאנשים יכולים לבנות מה שהם רוצים איתו.
נוסטר בתחילת דרכו ועוד מתפתח, אבל יש עשרות מימושים של לקוחות ממגוון רחב של סוגים.\ כדאי לכם לבדוק!