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が「遠い未来」と呼ぶ時間帯を、彼らはすでに想像している。