הוכחות אפס ידיעה רקורסיביות לתיעול פרטי ברשתות מבוזרות
TL;DR
רגע, מה זה בכלל הוכחות אפס-ידע רקורסיביות?
תהיתם פעם איך אפשר להוכיח לחבר שיש לכם את המפתחות לכספת נעולה מבלי להראות לו את המפתחות או לפתוח את הדלת? זה אולי נשמע כמו תעלול קסמים, אבל בעולם הקריפטוגרפיה, אנחנו קוראים לזה הוכחת אפס-ידע (zkp).
בכנות, הדרך הפשוטה ביותר לתפוס את המושג של הוכחות רקורסיביות היא לדמיין שאתם מצלמים סלפי בפארק היום, כשאתם אוחזים בתמונה מודפסת של עצמכם מאותו פארק מאתמול. כדי להוכיח שהייתם שם כל השבוע, אתם פשוט ממשיכים לצלם תמונה חדשה בכל יום, כשאתם מחזיקים את התמונה מהיום הקודם.
ביום השביעי, התמונה הסופית הבודדת הזו מוכיחה את ההיסטוריה של השבוע כולו, מכיוון שהיא מכילה "הוכחה של הוכחה". לפי sCrypt, הלוגיקה הזו מאפשרת לנו לאגד אלפי עסקאות – כולל "לחיצות ידיים" (handshakes) מורכבות בין משתמשים – לתוך מחרוזת נתונים אחת קטנה וניתנת לאימות.
- ידע ללא חשיפה: אתם מוכיחים שאתם יודעים סוד (כמו מפתח פרטי של רשת וירטואלית פרטית - vpn) מבלי להדליף אפילו ביט אחד מהנתונים עצמם.
- קינון רקורסיבי: הוכחה לא רק מאמתת נתונים; היא מאמתת שאימות קודם בוצע כהלכה.
- קנה מידה בלתי אפשרי: בעולם הפיננסי, המשמעות היא שבנק יכול להוכיח שמיליון עסקאות הן תקפות מבלי לאלץ את המבקר לבדוק כל אחת ואחת מהן.
הוכחות סטנדרטיות הן מצוינות, אבל הן הופכות ל"כבדות" מהר מאוד. כפי שצוין במחקר של Anoma, חישוב מחדש של כל מעבר מצב מבלוק הבראשית (genesis block) של הבלוקצ'יין הוא סיוט עבור משתמש במכשיר נייד.
הוכחות מסוג zk-snarks רגילות עלולות להפוך לגדולות או איטיות מדי עבור תיעול פרטי (tunneling) בזמן אמת. (zk-SNARKs: מבעיות סקילביליות לפתרונות חדשניים) אם ה-dVPN (רשת וירטואלית פרטית מבוזרת) שלכם היה צריך לייצר הוכחה מאסיבית עבור כל חבילת מידע בודדת, מהירות האינטרנט שלכם הייתה צונחת. הוכחות רקורסיביות פותרות זאת על ידי "דחיסת" האמת.
וזהו היתרון המכריע – זה לא משנה אם אתם מוכיחים שעה אחת של נתונים או עשר שנים; ההוכחה נשארת קטנה. בהמשך נצלול לאופן שבו זה בונה בפועל "מנהרה פרטית".
מנהור פרטי ומהפכת ה-dVPN
האם אי פעם הרגשתם שה-VPN ה"פרטי" שלכם הוא בעצם בית זכוכית ענק עם בעל בית עסוק מדי? שירותי VPN מסורתיים הם למעשה "מלכודות דבש" (Honeypots); הם יושבים שם, אוספים את הנתונים שלכם בשרת מרכזי אחד, ופשוט מחכים להאקר או לצו בית משפט שיקישו בדלת.
רוב האנשים משתמשים ב-VPN כדי להסתתר, אבל בפועל הם רק מעבירים את האמון שלהם מספק התשתית (ISP) לחברה כמו Nord או Express. אם השרת שלהם נפרץ, המטא-דאטה שלכם – מי אתם, מתי התחברתם וכמה נתונים העברתם – חשוף וזמין לכל דורש.
- מלכודות דבש להאקרים: שרת ריכוזי הוא מטרה ענקית. אם גורם עוין חודר למסד הנתונים של הספק, הוא לא מקבל מידע רק על אדם אחד; הוא מקבל גישה לכולם.
- המעבר ל-dVPN: ברשת VPN מבוזרת (dVPN), הצמתים (Nodes) מופעלים על ידי אנשים פרטיים. זהו מודל של "Airbnb לרוחב פס". אתם לא נותנים אמון בתאגיד ענק אחד, אלא משתמשים ברשת עמית-לעמית (P2P).
- אימות ללא צורך באמון (Trustless): מכיוון שאינכם מכירים את האדם המפעיל את הצומת, אתם זקוקים לדרך להוכיח שהוא לא "מרחרח" בתעבורה שלכם או משקר לגבי כמות הנתונים שנשלחה. כאן נכנסים לתמונה הטריקים של הוכחות באפס ידיעה (ZKP) רקורסיביות.
בעולם ה-Web3, מנהור (Tunneling) הוא לא רק העברת חבילות מידע; זהו תהליך של עטיפתן בשכבות של הוכחות קריפטוגרפיות. המטרה היא להעביר נתונים בין צמתים מבלי שבעל הצומת יראה מה יש בפנים או אפילו ידע את הזהות האמיתית שלכם.
הצפנה מסתירה את התוכן, אבל היא לא מסתירה את עצם העובדה שאתם מתקשרים. כפי שצוין על ידי sCrypt בחלק הקודם, הוכחות רקורסיביות מאפשרות לנו לאחד את לחיצות הידיים (Handshakes) הללו כדי שהרשת תישאר מהירה.
ראיתי חובבי טכנולוגיה שמקימים את הצמתים הללו במרתפים שלהם כדי להרוויח תגמולים באסימונים (Tokens). בעולם הגיימינג, זה אומר ששחקן יכול להפחית את השיהוי (Lag) על ידי חיבור דרך צומת מקומי, מבלי שבעל הצומת יוכל לראות את פרטי החשבון שלו. בעיתונות, כתב יכול לגשת לאתרים חסומים דרך מנהרת P2P, מה שמבטיח שאף שרת בודד לא מחזיק ב"מפתח המאסטר" לאותו חיבור רגיש.
על פי מחקר של Tari Labs University, שימוש ב"זוגות ידידותיים" (Amicable pairs) של עקומים אליפטיים מאפשר למאמת (Verifier) לבדוק את תקינות המנהרה מבלי לבצע את העבודה החישובית הכבדה בעצמו. זה מה שמאפשר לכל הקונספט של "חוסר אמון" לעבוד בפועל גם על מכשיר טלפון נייד.
בהמשך, נבחן כיצד ההוכחות הללו מצליחות "לדחוס" את הנתונים כדי שמהירות הגלישה שלכם לא תיפגע.
המתמטיקה שמאחורי הקסם: SNARKs, Halo ומה שביניהם
כדי ש"המנהרות הפרטיות" הללו באמת יעבדו, אנחנו זקוקים למתמטיקה כבדת משקל שמתנהגת בקלילות. הנה פירוט הטכנולוגיה שמאפשרת לכל זה לקרות:
- SNARKs (טיעוני ידע תמציתיים ולא-אינטראקטיביים): אלו הם כוכבי הרוק של עולם ה-zkp (הוכחות באפס ידיעה). הם נחשבים ל"תמציתיים" (Succinct) כיוון שההוכחה קטנה מאוד, ול"לא-אינטראקטיביים" (Non-interactive) מכיוון שהמוכיח יכול פשוט לשלוח את ההוכחה מבלי לנהל דיאלוג של "צעד קדימה, צעד אחורה" מול המאמת.
- פרוטוקול Halo: זו הייתה פריצת דרך משמעותית כיוון שהיא ביטלה את הצורך ב"הגדרה מהימנה" (Trusted Setup). גרסאות מוקדמות של snarks דרשו יצירת מפתח סודי שאותו היה צריך להשמיד לאחר מכן; אם מישהו היה שומר עותק, הוא היה יכול לזייף הוכחות. Halo, כפי שמתואר במחקר של Electric Coin Company, משתמש בשיטה של "הפחתה מקוננת" (Nested Amortization) כדי לאמת הוכחות ללא אותו סיכון ראשוני של סוד משותף.
- מחזורי עקומים אליפטיים (Cycles of Elliptic Curves): זה אולי נשמע כמו שם של להקת רוק מתקדם, אבל זהו ה"רוטב הסודי" עבור רשתות dVPN במובייל. על ידי שימוש ב"זוגות ידידותיים" של עקומים (כמו Tweedledum ו-Tweedledee), טלפון נייד יכול לאמת הוכחה באמצעות שפת המתמטיקה הטבעית שלו, מה שהופך את הרקורסיה למהירה מספיק כדי לטפל בתעבורת נתונים בזמן אמת.
רוב האנשים לא מבינים שאימות של הוכחה קריפטוגרפית הוא למעשה משימה חישובית "רועשת" ותובענית מאוד. אם צומת (node) ברשת dVPN היה צריך לבדוק את ההיסטוריה של כל חבילת מידע (packet) מאפס, הזרמת התוכן בנטפליקס הייתה נראית כמו מצגת שקופיות משנת 1995.
כפי שציינו קודם, הוכחות רקורסיביות פותרות זאת על ידי "דחיסת" עומס העבודה. אך ישנו טריק נוסף: יצירת הוכחות מקבילית (Parallel Proof Generation). במקום שאדם אחד יבדוק אלף קבלות בזו אחר זו, אתם שוכרים אלף אנשים שכל אחד מהם בודק קבלה אחת, ואז מאחדים את כל התוצאות שלהם לקבלה "ראשית" אחת קטנה.
ראיתי את היישום הזה בא לידי ביטוי ביותר מסתם גלישה באינטרנט. בעולם הפיננסים, סוחרים בתדירות גבוהה (High-frequency traders) משתמשים ב-snarks מקביליים כאלה כדי להוכיח שמיליון עסקאות הן תקפות מבלי לאלץ את המבקר לבדוק כל אחת ואחת מהן, מה ששומר על תנועת השוק במהירות האור.
על פי המחקר של ג'יהנג ג'אנג באוניברסיטת ברקלי, פרוטוקולים כמו Virgo ו-Libra לקחו את זה צעד אחד קדימה והשיגו "זמן הוכחה אופטימלי". המשמעות היא שהזמן הנדרש ליצירת ההוכחה הוא כעת ליניארי לחלוטין לגודל הנתונים – ללא האטה אקספוננציאלית (מעריכית).
אז יש לנו את המתמטיקה ששומרת על הדברים מהירים ופרטיים. אבל איך זה באמת מונע ממישהו לגנוב לכם את המידע? בשלב הבא, נבחן כיצד כל זה משתלב בתמונה הגדולה של התשתית הפיזית (Hardware).
רוחב פס מבוזר ו"ה-Airbnb של האינטרנט"
חשבתם פעם כמה מחיבור האינטרנט הביתי שלכם פשוט עומד ללא שימוש בזמן שאתם בעבודה או ישנים? זה קצת כמו להחזיק חדר אורחים שנשאר ריק כל השנה – רק שבמקרה הזה, ה"חדר" הוא מהירות ההעלאה (Upload) הלא מנוצלת שלכם.
כאן נכנסת לתמונה טוקניזציה של רוחב פס (Tokenized Bandwidth). זהו למעשה "ה-Airbnb של האינטרנט". במקום לתת לקיבולת העודפת הזו להתבזבז, אתם יכולים להשכיר אותה לרשת עמית-לעמית (P2P) ולקבל תשלום במטבעות קריפטוגרפיים.
"כריית רוחב פס" הופכת למגמה מאסיבית מכיוון שהיא הופכת את המודל הישן של ספקיות האינטרנט על פיו. בדרך כלל, אתם משלמים לחברה כמו בזק או הוט על "צינור" נתונים, ולא באמת אכפת להן אם ניצלתם אחוז אחד או 90% ממנו.
באמצעות VPN מבוזר (dVPN), הנתב (Router) שלכם הופך ל"צומת" (Node) ברשת. כשמישהו בצד השני של העולם זקוק לחיבור מאובטח, הוא יוצר "מנהרה" (Tunnel) דרך כתובת ה-IP שלכם, ואתם מרוויחים טוקנים על הנתונים שעברו. זוהי דרך עבור המשתמשים לקחת חזרה את השליטה, ואתרים כמו SquirrelVPN עוקבים כל העת אחר האופן שבו התכונות הללו הופכות את הרשת לפתוחה וחופשית יותר.
אבל יש כאן אתגר: איך האדם שמשלם לכם יודע שבאמת סיפקתם את רוחב הפס? הרי אתם יכולים פשוט לשקר ולומר שהעברתם 10 ג'יגה-בייט כשבפועל העברתם רק אחד. כאן נכנסים לתמונה אותם טריקים של "הוכחות באפס ידיעה רקורסיביות" (Recursive ZKP) שדיברנו עליהם קודם, ומצילים את המצב.
המערכת כולה נשענת על היצע וביקוש לכתובות IP גלובליות. חוקר בטורקיה עשוי להזדקק לכתובת IP אמריקאית כדי לעקוף צנזורה מקומית, בעוד שלעסק קטן באוהיו יש קיבולת סיבים אופטיים מיותרת למכור.
- חוזים חכמים ליצירת אמון: התשלומים מתבצעים באופן אוטומטי. אין צורך לחכות לצ'ק בדואר; הבלוקצ'יין מטפל במיקרו-תשלומים בכל פעם שחבילת מידע מאומתת.
- פרטיות כעמוד השדרה: הקסם של ZKP מאפשר לי להרוויח טוקנים מהתעבורה שלכם, מבלי שיהיה לי שמץ של מושג מה אתם באמת עושים באינטרנט.
- השפעה על התעשייה: במגזר הקמעונאות, חברות משתמשות ברשתות P2P כדי לבדוק כיצד המחירים שלהן נראים ללקוחות במדינות שונות, מבלי להיחסם על ידי תוכנות אנטי-בוטים.
כפי שצוין במחקר של sCrypt משנת 2022, כל זה מתאפשר רק בזכות היכולת שלנו לאגד אלפי הוכחות שימוש קטנות לכדי "הוכחת-על" אחת. זה מונע מהבלוקצ'יין להיסתם במיליארדי קבלות תשלום זעירות.
בכנות, זהו מצב של רווח כפול (Win-Win). אתם מממנים את עלות האינטרנט שלכם על ידי שיתוף שלו, והעולם מקבל רשת עמידה יותר וחסינה בפני צנזורה.
רשתות תשתית פיזיות מבוזרות (DePIN): התשתית החדשה
תהיתם פעם מדוע אנחנו עדיין מסתמכים על חוות שרתים עצומות בבעלות תאגידי ענק כדי להפעיל את האינטרנט כולו? זה מרגיש קצת כאילו אנחנו שוכרים את האוויר שאנחנו נושמים מבעל בית שעוקב אחרי כל צעד שלנו.
כאן נכנסות לתמונה רשתות ה-DePIN (תשתית פיזית מבוזרת) כדי לשנות את כללי המשחק. במקום שחברה אחת תחזיק ב"צינורות", הקהילה היא זו שבבעלותה החומרה – הנתב (ראוטר) שלכם, כונן האחסון של השכן, ואולי אפילו תחנת מטאורולוגיה מקומית – וכולם מתוגמלים באסימונים (Tokens) על תחזוקת הרשת והפעלתה.
- חומרה ללא ריכוזיות: מודל ה-DePIN הופך מכשירים רגילים ל"צמתים" (Nodes) המשמשים כנתבים ושרתים של רשת גלובלית חדשה. אתם כבר לא רק צרכנים; אתם חלק בלתי נפרד מהתשתית.
- עמידות בפני צנזורה: מכיוון שאין "מתג כיבוי" מרכזי, קשה מאוד לממשלות או לספקיות אינטרנט להשבית רשת עמית-לעמית (P2P).
- יעילות מקסימלית: על פי מחקרו של ג'יאנג ז'אנג באוניברסיטת ברקלי, פרוטוקולים כמו deVirgo מאפשרים לרשתות מבוזרות אלו להתרחב (Scale) על ידי מתן אפשרות למספר מכונות לייצר הוכחות במקביל, מה שהופך את המערכת כולה לאופטימלית מבחינת מהירות.
האתגר האמיתי ברשתות DePIN הוא להוכיח שכל אותם צמתים אקראיים אכן מבצעים את מה שהם מצהירים. אם אני משלם לכם על רוחב פס, אני צריך לדעת שלא פברקתם את יומני הנתונים.
הוכחות רקורסיביות משמשות כאן כ"דבק" המקשר. הן משתמשות ב-IVC (חישוב ניתן לאימות הדרגתי) כדי לאמת מעברי מצב. למעשה, IVC הוא תהליך מתמטי של עדכון הוכחה צעד אחר צעד ככל שנוספים נתונים חדשים, כך שלא צריך להתחיל את תהליך ההוכחה מאפס בכל פעם שחבילת מידע (Packet) חדשה עוברת ברשת.
בתחום הלוגיסטיקה, המשמעות היא שרשת של חיישנים פרטיים יכולה לאמת שמשלוח נשמר בטמפרטורה הנכונה לאורך עשר משאיות הובלה שונות, מבלי לחשוף את נתיב ה-GPS המדויק של אותן משאיות.
בכנות, זה מרשים לראות איך הקונספט הזה עובר משלב התיאוריה לחומרה ממשית שיושבת לאנשים על שולחן העבודה.
הטמעת תיעול פרטי באמצעות הוכחות בקידוד אפס (ZKP) רקורסיביות
המעבר מהתאוריה לקוד הוא השלב שבו הדברים הופכים למורכבים באמת. כדי לבנות מנהרת ZKP רקורסיבית, עלינו לתרגם את התנהגות הרשת למעגלים אריתמטיים. חשבו עליהם כעל סדרה של שערים לוגיים שמעבדים את הנתונים שלכם. ה"עדות" (witness) היא החלק הסודי של ההוכחה – כמו המפתח הפרטי שלכם או התוכן הממשי של תעבורת הרשת – שלעולם לא נחשף לצומת המפעיל את המנהרה.
- מעגלים אריתמטיים: אנו מגדירים את חוקי המנהרה באמצעות מתמטיקה. במקום ששרת יבדוק את יומני הרישום (logs) שלכם, המעגל מאמת שהחבילה עברה בנתיב הנכון ולא הוטתה או שונתה.
- ניהול העדות (Witness): אנו משתמשים ב"פולינומי מיסוך" כדי להסתיר את העדות. כפי שנדון בעבר במחקריו של ג'יהאנג ז'אנג, מסכות קטנות אלו מבטיחות שגם אם צומת רואה את ההוכחה, הוא לא יוכל לבצע הנדסה לאחור ולחשוף את הנתונים שלכם.
- אימות במילי-שניות: מכיוון שההוכחות הן רקורסיביות, המאמת בודק רק את ההוכחה האחרונה בשרשרת. זה קורה תוך מילי-שניות, מה שמאפשר הזרמת מדיה ב-4K בצורה חלקה או חוויית גיימינג ללא השהיות (Lag).
למען האמת, לא הכל ורוד. מפתחים נתקלים במכשולים רציניים בבניית מערכות אלו לשימוש בעולם האמיתי. בעיה מרכזית אחת היא זיווגים ביליניאריים (Bilinear Pairings). אלו פעולות מתמטיות המשמשות לאימות הוכחות, אך הן יקרות מאוד מבחינת כוח מחשוב. אם לא נזהרים, הן עלולות "לאכול" את סוללת הטלפון שלכם לארוחת בוקר.
גם בחירת השדות הסופיים (Finite Fields) הנכונים היא כאב ראש לא קטן. דרוש שדה התומך בהתמרות פורייה מהירות (FFT), הנדרשות כדי שהחישובים יישארו מהירים. ראיתי מפתחים נאבקים בזה – אם בוחרים בשדה הלא נכון, זמן יצירת ההוכחה הופך מ"מיידי" ל"אלך להכין קפה בזמן שזה נטען".
מחקר משנת 2020 על פרוטוקול Virgo הראה ששימוש בשדות הרחבה של מספרי מרסן ראשוניים יכול להאיץ משמעותית כפלים מודולריים, מה שמהווה שינוי כללי המשחק עבור חיי הסוללה במכשירים ניידים.
בתחום הבריאות, מנהרות ממוטבות אלו מאפשרות למרפאה לשלוח בדיקת MRI למומחה. ההוכחה הרקורסיבית מבטיחה שהנתונים לא שונו בדרך, אך בעל הצומת – שעשוי להיות בסך הכל אדם עם נתב במרתף – לעולם לא יראה את שם המטופל או את ההיסטוריה הרפואית שלו.
העתיד של כלי הפרטיות ב-Web3
חשבו על הפעם האחרונה שהשתמשתם בשירות "חינמי" והבנתם שהנתונים שלכם הם המטבע האמיתי. זה מרגיש קצת כאילו חיינו בתוך אקווריום דיגיטלי, נכון? אבל הכלים שחקרנו – אותן הוכחות רקורסיביות ומנהרות עמית-לעמית (P2P) – סוף סוף מנפצים את הזכוכית.
אנחנו מתרחקים מהימים שבהם היינו צריכים לסמוך על חברת VPN אחת שלא תמכור את היסטוריית הגלישה שלנו. עם כלי Web3, ה"אמון" אינו מבוסס על הבטחה של מנכ"ל כזה או אחר; הוא מבוסס על המתמטיקה. כפי שראינו, הוכחות רקורסיביות מאפשרות לנו לאמת רשתות שלמות מבלי להאט את המערכת לקצב זחילה.
- המפגש בין FHE ל-ZKP: דמיינו עולם שבו שרת יכול לעבד את הנתונים שלכם מבלי "לראות" אותם לעולם. הצפנה הומומורפית מלאה (FHE) מתחילה להתמזג עם טכנולוגיית אפס ידיעה (Zero-Knowledge). בעוד ש-ZKP מוכיחה שהחישוב היה תקף, ה-FHE שומרת על הנתונים עצמם מוצפנים בזמן החישוב. זהו שילוב הפרטיות האולטימטיבי.
- ניתוב מבוסס בינה מלאכותית (AI): רשתות dVPN עתידיות לא רק יעבירו חבילות מידע; הן ישתמשו בבינה מלאכותית כדי למטב נתיבים על פני צמתי DePIN (תשתית פיזית מבוזרת). המשמעות היא שהחיבור שלכם ימצא את הנתיב המהיר והמאובטח ביותר דרך רשת ה-P2P באופן אוטומטי.
- סוף לדליפות המטא-דאטה: שירותי VPN סטנדרטיים מסתירים את כתובת ה-IP שלכם, אך לעיתים קרובות הם מדליפים מתי וכמה מידע אתם מעבירים. הוכחות רקורסיביות יכולות לאגד את הדפוסים האלו, מה שגורם לטביעת הרגל הדיגיטלית שלכם להיראות כמו רעש רקע עבור כל מי שמנסה לעקוב.
כבר היום אני רואה עסקים קטנים בעלי מודעות טכנולוגית שמעבירים את התקשורת הפנימית שלהם למנהרות P2P כדי להימנע מריגול תעשייתי. בתחום הנדל"ן, זה הופך לדרך לשיתוף פרטי חוזים רגישים על פני רשת מבוזרת מבלי לחשוף את זהות הקונה לכל צומת בשרשרת.
בסופו של יום, פרטיות לא צריכה להיות תכונת פרימיום שמשלמים עליה 9.99 דולר בחודש. זוהי זכות בסיסית. על ידי מעבר לרשתות מבוזרות מבוססות תמריצי טוקנים, אנחנו בונים אינטרנט שנמצא באמת בבעלות האנשים שמשתמשים בו.
הטכנולוגיה מורכבת והמתמטיקה קשה, אבל התוצאה היא רשת שהיא סוף סוף, באמת, חופשית. הישארו סקרנים, שמרו על המפתחות שלכם מאובטחים, ואל תפסיקו לשאול מי באמת הבעלים של הנתונים שלכם.