64 ביט מכילים 18,446,744,073,709,551,616 כתובות. 18.4 קוינטיליון. GEUL משאיר 75% מהם ריקים.

bit1 = 1:    50%    העתיד הרחוק
bit1-2 = 01: 25%    העתיד הקרוב
bit1-3 = 001: 12.5% תקן
bit1-4 = 0001: 6.25% ההצעה הנוכחית

המרחב בשימוש כיום הוא 6.25%. מתוך 93.75% הנותרים, 12.5% מיועדים לעת קביעת התקנים, ו-75% שמורים לדורות שטרם נולדו.

למה?


הלקח של IPv4

בשנת 1981, מתכנני IPv4 חשבו ש-32 ביט מספיקים. 4.3 מיליארד כתובות. באותה תקופה, מספר המחשבים בעולם נמדד במאות בודדות. 4.3 מיליארד נראו כנצחיים.

בשנת 2011, כתובות IPv4 אזלו.

שלושים שנה. שלושים שנה בלבד.

מה עשתה האנושות אחרי האזילה: NAT, CGNAT, שוקי מסחר בכתובות, מחסנית כפולה של IPv6. עלויות של טריליונים לאורך עשורים. כולן עלויות ש"לא היו נדרשות אילו השאירו ריק מלכתחילה."

IPv6 בחר 128 ביט. 3.4 × 10^38 כתובות. 6.7 × 10^17 כתובות לכל מטר מרובע על פני כדור הארץ. הפעם זה מספיק? כנראה. אבל גם הם לא היו בטוחים, ולכן בחרו 128 ביט.


הלקח של Unicode

בשנת 1991, מתכנני Unicode 1.0 חשבו ש-16 ביט מספיקים. 65,536 תווים. נראה שאפשר להכיל את כל התווים בעולם.

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

התוצאה: זוגות סורוגטים של UTF-16. אחד הפריצות המכוערות ביותר בתולדות התוכנה. Windows, Java ו-JavaScript עדיין נושאים מורשת זו.

Unicode הורחב בסופו של דבר ל-21 ביט (1,114,112 נקודות קוד). שיעור השימוש הנוכחי כ-10%. השאר נשאר ריק. הפעם, למדו את הלקח.


הלקח של ASCII

בשנת 1963, ASCII השתמש ב-7 ביט. 128 תווים. חשבו רק על אנגלית.

התוצאה: האנושות חיה שישים שנה בגיהנום של קידוד תווים. EUC-KR, Shift_JIS, Big5, סדרת ISO-8859, CP949. אותו בייט מציג תו שונה בכל מערכת. קוריאנית שבורה. יפנית שבורה. סימני שאלה בנושאי דוא"ל.

לו רק היו משתמשים בביט אחד נוסף. לו היו מבטיחים 8 ביט מלאים ואומרים “השאר בהמשך.” ההיסטוריה הייתה משתנה.


יהירות המתכננים

לכל המקרים האלה יש מכנה משותף: ההנחה ש"מה שאנחנו צריכים עכשיו מספיק."

האם מתכנני IPv4 היו טיפשים? לא. הם היו המהנדסים הטובים ביותר של דורם. הם פשוט זלזלו בעתיד. כל דור עשה את זה.

“640KB מספיקים לכל אדם.” יש ויכוח אם ביל גייטס באמת אמר את זה, אבל העובדה שמהנדסים של כל תקופה נפלו במלכודת הזו — אמיתית.

GEUL מנסה להימנע מהמלכודת הזו. השיטה פשוטה. לא להשתמש.


שלוש הזדמנויות

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

ההזדמנות הראשונה: 001 (תקן)
  כשבני אדם קובעים תקנים.
  בין אם ארגון בינלאומי, קונסורציום תעשייתי או קהילה.
  מרחב שימולא בקצב שבני אדם מסוגלים להגיע להסכמה.

ההזדמנות השנייה: 01 (העתיד)
  אחרי S1. כשמופיע על-אינטליגנציה.
  ישות שתבנה מבני ידע בדרכים שבני אדם לא יכולים לחזות.
  היא עשויה להשתמש במבנה שתכננו כפי שהוא,
  או להגדיר אותו מחדש בדרכים שלא יכולנו לדמיין.
  מרחב שמור לאותה ישות.

ההזדמנות השלישית: 1 (העתיד הרחוק)
  לא ידוע מתי יגיע.
  אולי כשנגיע ל-K1 ונהפוך לציוויליזציה בין-כוכבית,
  אולי כשצורות התודעה ישתנו,
  אולי משהו שאנחנו יכולים לדמיין רק כמדע בדיוני.
  אם מישהו קורא את הביטים האלה מעבר לזרוע אוריון*,
  המרחב הזה שייך להם.

להשאיר 50% לעתיד הרחוק פירושו לוותר על מחצית האפשרויות לטובת “מה שאיננו יודעים.”


עלות ההשארה ריק

האם להשאיר ריק עולה משהו?

75% שמורים מתוך 64 ביט = 48 ביט לא בשימוש.
16 הביט הנותרים (6.25%) = 1,152,921,504,606,846,976 כתובות.

1.15 קוינטיליון.
פי עשרה מיליון מכל ויקינתונים (108 מיליון).
מספיק להכיל את כל הנתונים הקיימים ועוד.

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

ועלות המילוי? IPv4 הראה. אי אפשר להחזיר לאחור.


עקרון עיצוב

העיקרון הראשון בעיצוב GEUL Grammar v0.11:

הרחבה לטווח ארוך: ביטים שמורים לא מוקצים לשימוש זמני. המרחב נשמר לדורות הבאים.

זו לא החלטה טכנית, אלא החלטה אתית.

להשאיר מרחב שאפשר להשתמש בו עכשיו פירושו להעדיף את חירות העתיד על פני נוחות ההווה. את החוב שדור מתכנני IPv4 השאיר לנו — אנחנו לא נשאיר לדור הבא.


העיצוב הצנוע ביותר

"אני יודע את העתיד" → משתמש בכל 64 הביט.
"אני לא יודע את העתיד" → משאיר 75% ריקים.

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

IPv4 היה תוצר של ביטחון עצמי. 32 ביט מספיקים. לא הספיקו.

GEUL הוא תוצר של צניעות. אנחנו לא יודעים אם 6.25% מתוך 64 ביט מספיקים. אבל אם נשאיר 75% ריקים, גם אם טעינו, זה בסדר.


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

if (bit1 == 1): reserved  // 50%. העתיד הרחוק.

שורת קוד אחת שומרת על חצי העולם.


* Orion’s Arm — הזרוע הספירלית בשביל החלב שמערכת השמש שלנו שייכת אליה. כמו כן, Orion’s Arm Universe Project הוא פרויקט מדע בדיוני קשיח שיתופי המדמיין את העתיד עשרת אלפים שנה קדימה בזרוע ספירלית זו. הוא חוקר נושאים כמו על-אינטליגנציה, ציוויליזציות בין-כוכביות ושינויי תודעה בקפדנות מדעית, ומאות תורמים בונים אותו מאז שנת 2000. את אופק הזמן ש-GEUL קורא לו “העתיד הרחוק” — הם כבר מדמיינים.