目次
251205 2 TiB 時代 - なぜ Qubic Computor は大規模メモリを必要とするのか (転載)
なぜ Qubic Computor は大規模メモリを必要とするのか
ほとんどの(ブロックチェーンの)バリデータノードは 32 〜 128 GB で問題なく動作します。
Qubic Computor は ≥2 TiB 時代に突入しており、まもなくこれが競争の基準となります。
これは見栄えのためのハードウェアではなく、Qubic がコンセンサスメカニズムを決定論的な計算として実行するからです。
Qubic は Szabo(@NickSzabo4) の決定論的クォーラムモデルに基づいて構築されています:
- Nick Szabo -- Quorum Systems(注 http接続)
1/ 履歴ではなく状態
Qubic はエポック(約 7 日間)ごとに履歴をプルーニング(剪定) <sup> *1</sup> します。
コンセンサスに必要なのはライブの状態(live state)だけです:
- UNIVERSE (グローバルなスナップショット)
- コントラクトのヒープとスタック
- SPECTRUM (エポックログ)
次のティックに必要なものすべてが RAM に格納されていなければなりません。
ディスクアクセスは、毎秒数百万の操作に対してはあまりにも遅すぎます。
2/ RAM は台帳である
ブロックチェーンはディスクから履歴をリプレイします。
Qubic は、エポック全体にわたり、作業セット全体をホットな状態でメモリに保持します。
≥2 TiB は、Computor が以下を可能にします:
- UNIVERSE を常駐させる
- SPECTRUM の作業セット全体を保持する
- 全てのインデックスとキャッシュを維持する
- ページフォルトを排除する
遅いパスに決して触れない状態エンジンです。
3/ 並列コントラクトには実際の空間が必要
今日の Qubic スマートコントラクトは C++ を通じてネイティブのマシンコードにコンパイルされ、新しい QGPL ランタイムでは Rust のサポートが予定されています。
各コントラクトインスタンスは最大 4 GiB を使用できます。 数百のコントラクトが、スワップや仮想メモリなしで、ロックステップ(同期)で実行されます。
これはサーバー領域ではなく、HPC (High Performance Computing) の領域です。
4/ AI グレードのワークロードがそれを要求する
uPoW (Useful Proof of Work) は、コンセンサス内部でニューラルネットワークのトレーニングと評価を行います。
モデルはティックごとにギガバイト単位のテンソル(Tensor)<sup> *2</sup>をストリームします。
複数の候補が RAM に常駐し続けます。
もし作業セットがメモリに収まらなければ、コンセンサスから脱落します。代替手段(フォールバック)は存在しません。
5/ 決定論性には絶対的な予測可能性が必要
数百台のマシンが、ティックごとに同じ状態ハッシュを生成しなければなりません。
それは以下を意味します:
- ページフォルト なし
- スケジューラジッタ<sup> *3</sup> なし
- ディスク I/O なし
- バックグラウンドノイズ なし
サイクルレベルの一貫性のために、全てが RAM にピン留めされます。
6/ 誰が参加できるか
はい、≥2 TiB の ECC RAM に加え、ハイエンドの EPYC または Threadripper は高価です。
Qubic は産業グレードのコンセンサスファブリックです。
しかし、参入の扉はパフォーマンスによって決まり、許可によるものではありません。
誰でもハードウェアを購入できます。
誰でも uPoW を解いて競争に参加できます。
マイナーはどの Computor をサポートするかを選択します。
7/ なぜそれが重要か
人々は「2 TiB ノード」と聞いて、集中化や肥大化を考えるかもしれません。
Qubic では、その逆が真実です。
大規模な RAM は以下を可能にします:
- 完全にホットなグローバル状態
- 高性能なコンパイル済みコントラクト
- オンチェーン AI トレーニング
- 毎秒数百万の操作での決定論的な実行
2 TiB 時代はオーバーヘッドではありません。
それは最初の真のグローバルコンピューターへの入場料なのです。
用語解説
1. プルーニング(剪定, Pruning)
- ブロックチェーンにおけるプルーニングとは、ノードがディスク上に保存するデータの総量を削減する技術のことです。これにより、ノードの運用コスト(ストレージ容量)を下げ、新規ノードがネットワークに参加しやすくすることを目指します。
2. テンソル(Tensor)
- 主にAI (人工知能) やディープラーニングの分野でデータを表現するために使われる多次元配列。
3. スケジューラ・ジッタ(Scheduler Jitter)
- コンピュータの信号やイベントの時間的な間隔が理想的なタイミングからずれる(ばらつく)現象。OSの処理で発生する。
