64ビットは18,446,744,073,709,551,616個のアドレスを持つ。184京。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ビットあれば十分だと考えた。43億個。当時、世界中のコンピュータは数百台だった。43億あれば永遠にもつように思えた。

2011年、IPv4アドレスが枯渇した。

30年。たった30年だった。

枯渇後に人類がやったこと:NAT、CGNAT、アドレス取引市場、IPv6デュアルスタック。数十年にわたり数兆円のコスト。すべて「最初に空けておけば必要なかった」コストだ。

IPv6は128ビットを選んだ。3.4 × 10^38個。地球表面1平方メートルあたり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文字。英語のことしか考えていなかった。

その結果、人類は60年間エンコーディング地獄を生きた。EUC-KR、Shift_JIS、Big5、ISO-8859シリーズ、CP949。同じバイトがシステムごとに異なる文字になる。文字化けした韓国語。文字化けした日本語。メール件名の疑問符。

あと1ビット多く使っていれば。8ビットを丸ごと確保して「残りは後で」と言っていれば。歴史は変わっていただろう。


設計者の傲慢

これらすべての事例に共通点がある:「今必要な分だけあれば十分だ」という判断。

IPv4を設計した人々は愚かだったのか?違う。当代最高のエンジニアたちだった。ただ未来を過小評価しただけだ。すべての世代がそうだった。

「640KBあれば誰にとっても十分だ。」ビル・ゲイツがこの言葉を言ったかどうかは議論があるが、あらゆる時代のエンジニアがこの罠に落ちたのは事実だ。

GEULはこの罠を避けようとしている。方法は単純だ。使わないこと。


三度目の正直

日本には「三度目の正直」ということわざがある。大事なことには三度の機会が必要だ。

一度目の機会:001(標準)
  人間が標準を制定するとき。
  国際機関であれ、産業コンソーシアムであれ、コミュニティであれ。
  人間が合意できる速度で埋められていく空間。

二度目の機会:01(未来)
  S1以降。超知能が登場したとき。
  人間には予測できない方法で知識を構造化する存在。
  我々が設計した構造をそのまま使うかもしれないし、
  我々が想像もしなかった方法で再定義するかもしれない。
  その存在に与える空間。

三度目の機会:1(遠い未来)
  いつになるかわからない。
  K1を達成し恒星間文明になったときかもしれないし、
  意識の形態が変わったときかもしれないし、
  今の我々にはSFとしてしか想像できない何かかもしれない。
  Orion's Arm*の向こう側でこのビットを読む誰かがいるなら、
  この空間はその者たちのものだ。

50%を遠い未来に残すということは、半分の可能性を「我々が知らないもの」に譲るということだ。


空けておくコスト

空けておくのにコストはかかるか?

64ビットのうち75%予約 = 48ビット未使用。
残り16ビット(6.25%)= 1,152,921,504,606,846,976個のアドレス。

11.5京。
Wikidata全体(1.08億)の1000万倍。
現存するすべてのデータを収めてもなお余る。

空けておいても足りなくはならない。現在必要な空間は6.25%で十分だ。空けておくコストは0だ。

埋めるコストは?IPv4が示した。元には戻せない。


設計原則

GEUL Grammar v0.11の設計原則第1条:

長期拡張性: 予約ビットを一時的な用途に転用しない。未来の世代が使う空間を保全する。

これは技術的な決定ではなく、倫理的な決定だ。

今使える空間を使わずに残しておくことは、今の便利さより未来の自由を優先するという宣言だ。IPv4を設計した世代が我々に残した負債を、我々は次の世代に残さないということだ。


最も謙虚な設計

「私は未来を知っている」→ 64ビットを使い切る。
「私は未来を知らない」→ 75%を空けておく。

空けておくことは謙虚さだ。今の我々が未来を知り得ないことを認める行為だ。そしてその謙虚さが最も堅牢な設計を生む。

IPv4は自信の産物だった。32ビットあれば十分だ。十分ではなかった。

GEULは謙虚さの産物だ。64ビットのうち6.25%で十分かどうかわからない。しかし75%を空けておけば、間違っても大丈夫だ。


空けておく理由を説明するのに、これだけ多くの言葉が必要だった。空けておく行為そのものは一行で済む:

if (bit1 == 1): reserved  // 50%。遠い未来。

一行のコードが半分の世界を守る。


* Orion’s Arm — 我々の太陽系が属する天の川銀河の渦状腕。また、Orion’s Arm Universe Projectはこの渦状腕を舞台に一万年後の未来を描くハードSF協働世界観プロジェクトだ。超知能、恒星間文明、意識の変容といったテーマを科学的厳密性の上で探求し、2000年から数百人の貢献者が作り上げてきた。GEULが「遠い未来」と呼ぶ時間帯を、彼らはすでに想像している。