זהו מאמר מערכת של שינובי, מחנך אוטודידקט בחלל הביטקוין ומנחה פודקאסט ביטקוין בעל אוריינטציה טכנולוגית.
אני מציע, לפני שתקרא את זה, שתקרא את ה מאמר קודם שכתבתי ומסביר מה זה Nostr ואיך זה עובד ברמה גבוהה. אז אתה אמור לקבל מושג טוב על עיצוב הליבה של המערכת בשלב זה, אז עכשיו בואו נסתכל על בעיות סבירות שהולכות להתרחש ככל שהיא תגדל באימוץ. עם הפלטפורמה הופך לאחד פופולרי עבור קהילת הביטקוין, הבעיות האלה הן כאלה שצריך להיות מודעים להן.
כפי שדיברתי במאמר הקודם, צמדי מפתחות ציבוריים/פרטיים של משתמשים הם חלק בלתי נפרד מהאופן שבו Nostr פועל כפרוטוקול. אין שמות משתמש, או כל סוג של מזהים ששרת ממסר שולט בהם, לשייך למשתמשים בודדים. פשוט המפתחות של אותם משתמשים נמצאים בשליטתם לחלוטין.
זה מתפקד ככריכה הדוקה בין המשתמש בפועל לבין האופן שבו הם מזוהים על ידי אחרים, שמונעת מכל שרת ממסר לבטל את הקשירה של שני הדברים האלה, כלומר לתת מזהה של מישהו למשתמש אחר. זה פותר את אחת הבעיות הבסיסיות הגדולות ביותר של פלטפורמות המשמשות לתקשורת בין אנשים: חוסר השליטה על זהויות המשתמשים עצמם. אבל זה גם מציג את כל הבעיות של ניהול מפתחות שמישהו בעל מפתח פרטי נתקל בהן. מפתחות יכולים ללכת לאיבוד ומפתחות עלולים להיפגע ואם אירוע כזה היה מתרחש, למשתמשים אין למי לפנות לסיוע, בדיוק כמו בביטקוין. אין תמיכת לקוחות כדי לשחזר שום דבר. אתה מאבד את זה, זהו.
זה יחייב בהכרח סכמה למשתמשים להסתובב מזוג מפתחות אחד למשנהו באופן שניתן לאימות וניתן לגילוי עבור משתמשים אחרים שהם מקיימים איתם אינטראקציה באמצעות הפרוטוקול. הפרוטוקול כולו מבוסס על הוכחה שאירוע הגיע ממשתמש ספציפי (מפתח זהות), כך שכל הערבויות הללו יוצאות מהחלון ברגע שהמפתחות של מישהו נפגעים.
איך מטפלים בזה? פשוט ללכת לבדוק את חשבון הטוויטר שלהם? ובכן, אז זו לא מערכת מבוזרת במיוחד, בסופו של דבר, אם אתה צריך להשתמש בפלטפורמה מרכזית שבה הם לא שולטים בזהות שלהם כדי לאמת את זהות Nostr שלהם.
האם משתמשים אחרים העידו על הלגיטימיות של מפתח חדש? זה לא מתייחס למצבים כמו פשרות המוניות מפתח, או אי הכרת מישהו קרוב אליהם מספיק טוב כדי לסמוך על האישור שלהם.
Nostr זקוקה לתכנית קריפטוגרפית ממשית הקושרת את הסיבוב של מפתח אחד למשנהו. יש הצעה מהמפתח פיאטג'ף עבור תוכנית בסיסית שיכולה לפתור בעיה זו. הרעיון הבסיסי יהיה לקחת קבוצה ארוכה של כתובות הנגזרות מזרע מאסטר יחיד, וליצור קבוצה של מפתחות "מכווצים" בדומה לאופן שבו עצי Taproot מחויבים למפתח ביטקוין. Taproot לוקח את שורש עץ Merkle של עץ Taproot ו"מוסיפה" אותו למפתח הציבורי כדי ליצור מפתח ציבורי חדש. ניתן לשכפל זאת על ידי הוספת שורש עץ מרקל למפתח הפרטי על מנת להשיג את המפתח הפרטי התואם עבור המפתח הציבורי החדש. הרעיון של פיאטג'ף הוא לשרשר התחייבויות אחורה מהסוף להתחלה, כך שכל מפתח מכווץ יכיל למעשה הוכחה לכך שהמפתח המכווץ הבא שימש ליצירתו.
אז תארו לעצמכם להתחיל עם מקש Z, האחרון בשרשרת. הייתם מכווצים את זה עם משהו, ואז חוזרים אחורה ויוצרים גרסה משובחת של מקש Y באמצעות מקש Z המותאם (Z' + Y = Y'). מכאן היית לוקח את Y' ואז משתמש בו כדי לצבוט את X (Y' + X = X'). אתה תעשה זאת כל הדרך חזרה למקש A, כדי לקבל A', ומשם תתחיל להשתמש במפתח הזה. כאשר הוא נפגע, המשתמש יכול לשדר אירוע המכיל את המפתח הבלתי מכווץ A ואת המפתח המכווץ B'. זה יכיל את כל הנתונים הדרושים כדי להראות ש-B' שימש ליצירת A', ומשתמשים יכולים להפסיק מיד לעקוב אחרי A' ולעקוב אחרי B' במקום זאת. הם יידעו בוודאות ש-B' הוא המפתח הבא של אותו משתמש ויעקוב אחריו במקום זאת.
עם זאת, להצעה זו עדיין יש כמה בעיות. ראשית, עליך ליצור את כל המפתחות שאי פעם תשתמש בהם מבעוד מועד ואין לו דרך להסתובב לסט חדש לגמרי של מפתחות. ניתן להתמודד עם זה על ידי התחייבות למפתח ראשי בסכימה זו שיכול להעניק נוטריון לסיבובים כאלה, או פשוט ליצור סט גדול מאוד של מפתחות מההתחלה. כל אחד מהנתיבים יהיה קורס חוקי, אך בסופו של דבר ידרוש שמירה על מפתח שורש או חומר מפתח בטוח וחשיפת מקשים חמים בודדים ללקוחות Nostr.
עם זאת, סכימה זו אינה עושה דבר כדי להגן על המשתמשים או להציע מנגנון לשחזור זהות במקרה שחומר מפתח הבסיס יאבד או נפגע בעצמו. עכשיו, זה לא אומר שאין תועלת לתוכנית של פיאטג'ף, יש בהחלט, אבל חשוב להדגיש ששום פתרון לא פותר כל בעיה.
כדי להתייחס קצת לפתרונות פוטנציאליים כאן, תארו לעצמכם במקום שרשרת של מפתחות מכווצים כמו שהוא מציע, שמפתח מכווץ עם מפתח קר ראשי שיש להשתמש בו גם כדי לחתום על האירוע המסתובב ממפתח אחד למשנהו. יש לך מפתח A', שנגזר על ידי הוספת A ו-M (המפתח הראשי), ואירוע הסיבוב יהיה A, M ו-B' (נוצר על ידי הוספת B ו-M) עם חתימה מ-M. M יכול להיות a מפתח סף multisig - שניים מתוך שלושה, שלושה מתוך חמישה וכו'. זה עשוי להוסיף יתירות נגד אובדן וכן לספק מנגנון מאובטח לסיבוב מפתח. זה פותח את הדלת גם לשימוש בשירותים כדי לסייע בהחלמה, או להפצת חלק מהמפתחות האלה לחברים מהימנים. הוא מציע את אותה גמישות כמו מולטיסיג עם הביטקוין עצמו.
PIN26 היא גם הצעה שיכולה להיות שימושית מאוד בטיפול בבעיה זו. זה מציין הרחבת פרוטוקול לאירועים המאפשרת חתימה ממפתח אחד לאשר מפתח אחר לפרסם אירועים מטעמו. ה"אסימון", או הוכחת החתימה של האצלה, ייכלל אז בכל האירועים שיפורסם על ידי המפתח הציבורי השני מטעם הראשון. זה אפילו יכול להיות מוגבל בזמן, כך שאסימוני האצלה יפוג אוטומטית ויש לחדש אותם.
בסופו של דבר, איך שהיא נפתרת, הבעיה הזו יש ל ייפתר עבור Nostr בטווח הארוך. פרוטוקול המבוסס כולו על צמדי מפתחות ציבוריים/פרטיים המשמשים זהויות לא יכול להשיג אחיזה ואימוץ אם לא ניתן להגן ולשמור על שלמותן של זהויות אלה עבור המשתמשים. זה בסופו של דבר יסתכם בצורך להשתמש כל הזמן בפלטפורמות מחוץ לפס ובפלטפורמות מרכזיות כדי לאמת מפתחות חדשים ולתאם אנשים בעקבות הזהות החדשה שלך כאשר משהו אובד או נפגע, ובנקודה זו, הפלטפורמות האחרות הופכות לאמצעי לזרוע בלבול ולעסוק בצנזורה.
בעיות של ניהול מפתח ואבטחה הן בעיות גדולות עם חלל עיצובי גדול מאוד מלא בחילופים ונקודות כאב, אבל הן בעיות שצריכים להיפתר בהקשר של Nostr כדי שזה יעבוד. במאמר הבא שלי, אסכם כמה בעיות שאני רואה שצצות בכל הנוגע לארכיטקטורת שרת הממסר ובעיות קנה מידה שמפתחי Nostr יצטרכו להתמודד איתם בהתחשב במבני הנתונים הבסיסיים שעליהם בנוי Nostr.
לכל מי שקורא ותוהה מדוע לא הזכרתי מזהים מבוזרים (DIDs): כן, זה פתרון פוטנציאלי לבעיות האלה, שלדעתי הוא די מקיף. עם זאת, נראה שמפתחי Nostr מהססים מאוד לשלב DIDs בפרוטוקול או בלקוחות בשל העובדה שזה יוצר תלות חיצונית מחוץ לפרוטוקול Nostr. אם אינכם מכירים כיצד פועלים תעודות ID ברמה הטכנית ומתעניינים, מאמר זה לפי רמה 39 הוא סיכום כתוב היטב של איך הם עובדים.
זהו פוסט אורח מאת Shinobi. הדעות המובעות הן לגמרי שלהם ואינן משקפות בהכרח את הדעות של BTC Inc או Bitcoin Magazine.
- הפצת תוכן ויחסי ציבור מופעל על ידי SEO. קבל הגברה היום.
- Platoblockchain. Web3 Metaverse Intelligence. ידע מוגבר. גישה כאן.
- מקור: https://bitcoinmagazine.com/technical/solving-nostr-key-management-issues
- 7
- a
- בהחלט
- חֶשְׁבּוֹן
- למעשה
- כתובת
- כתובות
- מוסיף
- אימוץ
- נגד
- קדימה
- סיוע
- תעשיות
- מאפשר
- ו
- אחר
- כל אחד
- ארכיטקטורה
- סביב
- מאמר
- סיוע
- עמית
- לאשר
- באופן אוטומטי
- בחזרה
- מבוסס
- בסיסי
- להיות
- הופך להיות
- לפני
- ההתחלה
- להיות
- תועלת
- בֵּין
- גָדוֹל
- הגדול ביותר
- כריכה
- קצת
- ביטקוין
- מגזין Bitcoin
- מִשׁדָר
- BTC
- BTC Inc
- נבנה
- לא יכול
- צֶנזוּרָה
- מְרוּכָּז
- שרשרת
- לבדוק
- לקוחות
- סְגוֹר
- מְחוּיָב
- מתחייב
- תקשורת
- לחלוטין
- מַקִיף
- התפשר
- בלבול
- תמיד
- הקשר
- לִשְׁלוֹט
- לתאם
- ליבה
- יכול
- קורס
- לִיצוֹר
- קריפטוגרפי
- לקוח
- שירות לקוחות
- נתונים
- מבוזר
- נגזר
- עיצוב
- מפתח
- מפתחים
- נָדוֹן
- דֶלֶת
- מטה
- כל אחד
- עריכה
- או
- לעסוק
- מספיק
- שלם
- לַחֲלוּטִין
- וכו '
- אֲפִילוּ
- אירוע
- אירועים
- בסופו של דבר
- אי פעם
- המסביר
- ביטא
- הארכה
- חיצוני
- מוכר
- פיאטג'ף
- ראשון
- גמישות
- לעקוב
- הבא
- חברים
- החל מ-
- מלא
- פונקציות
- יסודי
- לְהַשִׂיג
- ליצור
- נוצר
- יצירת
- לקבל
- נתן
- נתינה
- Go
- הולך
- טוב
- גדל
- ערבויות
- אוֹרֵחַ
- פוסט אורח
- לטפל
- טיפול
- יש
- כאן
- מהסס
- גָבוֹהַ
- המארח
- איך
- אולם
- HTTPS
- רעיון
- מזוהה
- מזהה
- זהויות
- זהות
- מיד
- חשוב
- in
- כלול
- בנפרד
- באופן בלתי נמנע
- במקום
- אינטגרלי
- לשלב
- שלמות
- אינטראקציה
- מעוניין
- מציג
- סוגיה
- בעיות
- IT
- עצמו
- שמירה
- מפתח
- מפתחות
- לדעת
- יודע
- חוסר
- גָדוֹל
- אחרון
- לֵגִיטִימִיוּת
- רמה
- סביר
- מוגבל
- ארוך
- נראה
- להפסיד
- את
- מגזין
- לעשות
- ניהול
- מסה
- אב
- תואם
- חוֹמֶר
- אומר
- מנגנון
- מוּזְכָּר
- מולטי-סיג
- בהכרח
- צרכי
- חדש
- הבא
- שֶׁלָנוּ
- הַצָעָה
- המיוחדות שלנו
- ONE
- נפתח
- דעה
- דעות
- להזמין
- אחר
- אחרים
- בחוץ
- שֶׁלוֹ
- כְּאֵב
- זוגות
- נתיב
- אֲנָשִׁים
- פלטפורמה
- פלטפורמות
- אפלטון
- מודיעין אפלטון
- אפלטון נתונים
- פודקאסט
- נקודה
- נקודות
- פופולרי
- הודעה
- פורסם
- פוטנציאל
- פוטנציאל
- קודם
- פְּרָטִי
- מפתח פרטי
- בעיה
- בעיות
- הוכחה
- הצעה
- מציע
- להגן
- מוּגָן
- פרוטוקול
- לספק
- ציבורי
- מפתח ציבורי
- חומר עיוני
- קריאה
- להחלים
- התאוששות
- לשקף
- דרישת שלום
- מחודש
- משוכפל
- לדרוש
- לַחֲזוֹר
- שורש
- בטוח
- אותו
- דרוג
- תכנית
- שְׁנִיָה
- לבטח
- אבטחה
- זרע
- שירותים
- סט
- צריך
- לְהַצִיג
- סִימָן
- דומה
- בפשטות
- יחיד
- מצבים
- So
- פִּתָרוֹן
- פתרונות
- לפתור
- פותר
- כמה
- מישהו
- משהו
- מֶרחָב
- ספציפי
- הפצת
- החל
- עוד
- עצור
- כזה
- לסכם
- תמיכה
- מערכת
- לקחת
- לוקח
- טמפרוט
- טכני
- השמיים
- שֶׁלָהֶם
- דברים
- שְׁלוֹשָׁה
- סף
- דרך
- זמן
- ל
- אסימון
- מטבעות
- כוח משיכה
- סחר
- עצים
- סומך
- מהימן
- בסופו של דבר
- תחת
- להשתמש
- משתמש
- משתמשים
- לאמת
- גרסה
- מה
- אשר
- יצטרך
- בתוך
- תוהה
- תיק עבודות
- עובד
- היה
- כתוב
- X
- אתה
- YouTube
- זפירנט