Skip to content

dannythecountok/UODI-standard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UODI — Universal Omnimodal Demand Identifier

A position-sensitive encoding standard for machine-to-machine transport demand discovery.

Version Patent Pending Safe Creative DOI License


What is UODI?

UODI is a 91-character fixed-width ASCII string that encodes a complete transport demand — mode, cargo type, quantity, origin, destination, schedule, and service level — without schema negotiation, bilateral API agreements, or premature identity disclosure.

One string. Any transport mode. Any infrastructure. Parseable in O(1).

P120-PASS-ROAD-****-****-****-****-****-********-P0003-6GF3V7______0000-6GF9M2______0000-270226-M015-F6DA

This single string encodes: 3 passengers, road transport, anonymous buyer, origin zone, destination zone, date 27/02/2026, 15-minute SLA. The last 4 characters (F6DA) are a CRC-16-CCITT integrity checksum — tamper-evident, computed over the canonical 87-character payload.

Website & full specification: o4db.org/uodi


The Problem UODI Solves

Every existing transport matching system requires one of these before any competitive matching occurs:

  • Bilateral API integration — proprietary schema agreements between each pair of participants
  • Full identity disclosure — buyer must reveal exact origin, destination, and identity upfront
  • Platform lock-in — demand only reaches carriers inside a closed ecosystem

UODI solves all three:

Problem UODI Solution
Schema negotiation Fixed positional blocks — any parser reads any conforming string
Premature identity exposure Anonymous broadcast (Phase 1) → bilateral disclosure (Phase 2)
Platform dependency Transport-layer agnostic — works over HTTP, MQTT, UDP, satellite, LPWAN
No integrity check CRC-16-CCITT embedded in every string
2D location only 3D geospatial encoding (lat/lon/altitude) in fixed-width GPF format

Efficiency vs. Alternatives

UODI is not just compact — it is architecturally lighter than every alternative at every level:

System Message size Parsing Privacy Broadcast
UODI ~91 bytes O(1) positional Progressive (native) Open, no pre-agreement
JSON / REST APIs 220–500 bytes Tree deserialization None — full exposure Requires auth + session
XML / EDI 300–1,200 bytes Complex parser None Bilateral schema required
Freight platforms N/A Platform-dependent Low (visible to operator) Closed ecosystem

At 1 million messages/day, UODI uses 50–70% less bandwidth and 80–90% less CPU than JSON-based equivalents. At IoT or satellite scale, the gap widens further.

Metric (1M msg/day) UODI JSON/REST XML/EDI
Data volume ~90 MB ~210 MB ~290 MB
CPU parse time ~0.5 s ~4 s ~10 s
Memory per message ~135 bytes ~700 bytes ~1,500 bytes
Monthly egress cost ~$2.70 ~$6.30 ~$8.70

Two-Phase Privacy Protocol

UODI enables anonymous demand broadcast followed by cryptographic identity disclosure upon bilateral agreement.

Phase 1 — Anonymous Discovery
──────────────────────────────
Buyer emits UODI with:
  OWNR = ********        (identity locked)
  DEST = ???????????????? (destination locked)

Carriers filter on: MODE, TYPE, CLAS, PRIO, CANT, approximate ORIG
CHK4 commits all demand parameters publicly.
No sensitive data is transmitted.

Phase 2 — Cryptographic Handshake
──────────────────────────────────
Upon bilateral agreement:
  Buyer discloses exact ORIG, DEST, and OWNR
  Carrier verifies CHK4 against disclosed values
  Any field modification → CRC mismatch → rejected immediately

No oracle, notary, or external registry required.

3D Geospatial Encoding (GPF)

UODI encodes location as [GEOHASH_12][SIGN][ZZZ] in exactly 16 characters — from approximate region to sub-centimeter robotic docking precision within the same fixed-width field.

Mode Example Precision Use case
Exact AR69Y7PGXQWT+120 ≈3.7 cm Drone docking pad
Reduced AR69Y7PG____0000 ≈610 m City block
Vague AR69Y7______0000 ≈±20 km Regional broadcast
Incognito ???????????????? None Locked until handshake

Supported Modalities

Demand types:  PASS · CARG · VALO · ANIM
Infrastructure: ROAD · AIRS · SEAS · RAIL · ORBT · UNDE

Block Structure (P120)

P120 - MODE - TYPE - PROP - CLAS - PRIO - AUTO - FUEL - OWNR - CANT - ORIG - DEST - DATE - WAIT - CHK4
  4      4      4      4      4      4      4      4      8      5     16     16      6      4      4

Canonical payload (blocks 1–14, no delimiters): 87 characters.
CHK4 (CRC-16-CCITT, XModem variant, init 0xFFFF): 4 characters.
Total wire format: 91 characters (core) + optional ::EXTENSION tail.


Tail Extensions

Domain-specific data appends via :: delimiter without affecting CHK4:

::TEMP-NEG20          Cold chain temperature (−20°C)
::ENRG-GNGL           Energy commodity (LNG)
::SPEC-BOVI           Live animal species (bovine)
::SHAR-NO             Exclusive vehicle (no ride-sharing)
::RETN-NO             One-way trip
::TRAJ-[TLE]          Orbital trajectory (mandatory for TYPE=ORBT)

Quick Start

# Python (no dependencies)
python3 sdk/uodi_example.py

# Node.js (no dependencies)
node sdk/uodi_example.js

# Go (no external modules)
go run sdk/uodi_example.go

# Java (Java 11+, no dependencies)
javac sdk/UodiExample.java && java -cp sdk UodiExample

# Rust (no external crates)
rustc sdk/uodi_example.rs -o uodi_example && ./uodi_example

All five produce the same canonical wire strings and CHK4 checksums, verified against the reference values in the specification.


SDK Reference

All implementations in sdk/ provide: Builder · Parser · Validator

File Language Dependencies
sdk/uodi_example.py Python 3.8+ None
sdk/uodi_example.js Node.js 12+ None
sdk/uodi_example.go Go 1.16+ None
sdk/UodiExample.java Java 11+ None
sdk/uodi_example.rs Rust 2018+ None

Canonical Test Vectors

All conforming implementations must produce exactly these outputs:

# 3 passengers, road, anonymous, 15-min SLA
P120-PASS-ROAD-****-****-****-****-****-********-P0003-6GF3V7______0000-6GF9M2______0000-270226-M015-F6DA

# Cold-chain drone, 12 kg, −20°C, exact 3D coordinates
P120-VALO-AIRS-FRIG-CRIT-URGE-REMO-****-XOM6LP4Z-K0012-AR69Y7PGXQWT+120-AR69Y7PVMNBQ+080-270226-M000-FFEB::TEMP-NEG20

# LNG tanker, 5,000 kL, destination locked (Phase 1)
P120-CARG-SEAS-HAZM-NORM-NORM-****-****-********-G5000-AR69Y7PG____0000-????????????????-270226-D003-8CCA::ENRG-GNGL

# Anonymous cargo, 50 t, electric, destination locked
P120-CARG-ROAD-****-NORM-NORM-FULL-ELEC-********-T0050-AR69Y7______0000-????????????????-270226-H006-E121

# Live cattle, 450 kg, species declared
P120-ANIM-ROAD-LIVE-NORM-NORM-HUMA-****-********-K0450-AR69Y7______0000-????????????????-270226-H006-B185::SPEC-BOVI

# Private jet, 4 pax, London origin, exclusive
P120-PASS-AIRS-****-EXEC-NORM-HUMA-****-XOM6LP4Z-P0004-GCVR0000________-????????????????-070326-H002-DD47::SHAR-NO::RETN-NO

# Robotaxi, 1 pax, Berlin, fully electric
P120-PASS-ROAD-****-ECON-NORM-FULL-ELEC-********-P0001-U33DC0__________-????????????????-070326-M015-DCF9

# Armored valuables, 500 kg, NYC zone
P120-VALO-ROAD-ARMD-CRIT-URGE-HUMA-****-XOM6LP4Z-K0500-DR5RS0__________-????????????????-070326-M030-CD47

# Drone delivery, 3 kg, Tokyo, altitude +12m
P120-CARG-AIRS-****-NORM-URGE-REMO-ELEC-XOM6LP4Z-K0003-QM4F90__________-QM4F9RXQ____+012-070326-M000-8724

# Livestock, 2,000 kg, Rotterdam maritime
P120-ANIM-SEAS-LIVE-NORM-NORM-HUMA-****-********-K2000-U15HH0__________-????????????????-070326-D002-E5D3::SPEC-BOVI

CRC-16-CCITT Reference

def crc16_ccitt(data: bytes) -> int:
    crc = 0xFFFF
    for byte in data:
        crc ^= byte << 8
        for _ in range(8):
            crc = (crc << 1) ^ 0x1021 if crc & 0x8000 else crc << 1
        crc &= 0xFFFF
    return crc

def validate_uodi(uodi: str) -> bool:
    parts = uodi.split('::')[0].split('-')
    assert len(parts) == 15
    canonical = ''.join(parts[:14])
    assert len(canonical) == 87
    return format(crc16_ccitt(canonical.encode('ascii')), '04X') == parts[14]

Academic References


Intellectual Property

Protection Reference Date
U.S. Provisional Patent 63/993,355 February 2026
Copyright Safe Creative 2602284718909 February 2026
Zenodo DOI 10.5281/zenodo.18817254 February 2026

UODI v1.2 is the subject of U.S. Provisional Patent Application No. 63/993,355, filed February 28, 2026, under 35 U.S.C. §119(e).

© 2026 Daniel Eduardo Placanica — daniel@o4db.org


Integration with O4DB

UODI is an independent standard. It is also the native demand type within the O4DB Protocol — a demand-initiated, cryptographically sovereign commerce protocol (Patent Pending U.S. 63/993,946).

When used with O4DB, UODI's progressive location disclosure integrates with O4DB's JIT identity release mechanism: approximate zone at VCI emission, exact coordinates released only to the winning carrier at CONFIRMED state.


UODI™ — Patent Pending U.S. 63/993,355 · o4db.org/uodi

About

Universal Omnimodal Demand Identifier — Position-sensitive encoding protocol for M2M transport demand. Patent Pending U.S. 63/993,355

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors