Custom UUIDv8 Specification

Draft Version 0.1

1. 概要

本仕様書は、RFC 9562 で定義されている UUID Version 8 (Custom) を利用した独自の識別子フォーマットについて記述するものです。 既存のUUID構造(8-4-4-4-12)を維持しつつ、アプリケーション固有の要件に合わせてタイムスタンプ、ランダム性、および任意のメタデータを埋め込むことを目的としています。

Note: 本仕様は開発中であり、特に Part 5 (Node) の利用方法は未定です。

2. ビットレイアウト図

0
32
48
64
128
Part 1 (32b) High
Part 2 (16b) Mid
Ver (4b)
Custom (12b)
Var (2b)
Custom (14b)
Part 5 (48b) Undefined

3. フィールド詳細定義

Part 1 & 2
Bits 0-47

Payload (48 bits)

以下の2つのモードから選択して初期化する。

  • Mode v4 (Random): 暗号論的擬似乱数生成器 (CSPRNG) による48ビットのランダム値。衝突耐性を重視する場合に使用。
  • Mode v7 (Timestamp): Unix Epoch (ミリ秒) の下位48ビット。時系列ソート(K-sortable)が必要な場合に使用。
Part 3
Bits 48-63

Version & Custom Data A (16 bits)

Bits Name Description
48-51 Version 固定値 1000 (Version 8)
52-55 Flags A ユーザー定義の4ビットフラグ(任意設定可能)
56-63 Data Byte A ユーザー定義の8ビット値(16進数またはASCII文字1字)
Part 4
Bits 64-79

Variant & Custom Data B (16 bits)

Bits Name Description
64-65 Variant 固定値 10 (RFC 4122)
66-71 Flags B ユーザー定義の6ビットフラグ(任意設定可能)
72-79 Data Byte B ユーザー定義の8ビット値(16進数またはASCII文字1字)
Part 5
Bits 80-127

Node (48 bits)

[UNDEFINED] 現在の仕様では、この領域の使用ルールは定義されていません。実装上は初期化時のゼロ、またはランダム生成時の値がそのまま残る場合があります。将来的にはMACアドレス、乱数、あるいは追加のアプリケーションデータの格納に使用される可能性があります。