Temporal Infrastructure

Temporal Infrastructure

The Timing Stack

ROKO adds proven time to blockchain. Three layers: hardware clocks at the bottom, beacon consensus in the middle, temporal transactions at the top.


Architecture Overview

Application Layer
Temporal Smart Contracts & DApps
Temporal Consensus Layer
Time Beacons • Ordering • Attestation
Hardware Timing Layer
OCP-TAP • IEEE 1588 PTP • Atomic Clocks • GPS

Each layer:

1. Hardware Timing Layer: Physical time sources and synchronization

2. Temporal Consensus Layer: Beacon production and block timestamp proofs

3. Application Layer: Temporal transactions and smart contracts


Hardware Timing Layer

OCP-TAP Compliance

ROKO validators run Open Compute Project Time Appliance hardware:

Time Card Specifications

Time Card Specifications:
      - Manufacturer: OCP-compliant vendors
      - GPS/GNSS: Multi-constellation (GPS, Galileo, BeiDou)
      - Oscillator: OCXO with <1ppb stability
      - Interfaces: PCIe Gen3 x1
      - Accuracy: <100ns to UTC
      - Holdover: 24 hours at <1μs drift

Hardware Requirements for Validators

ComponentSpecificationPurpose
Time CardOCP TAP 2.0+Hardware timestamp generation
NICIntel X710/E810PTP hardware timestamping
CPUAVX2 supportCryptographic operations
GPS AntennaActive, 30dB gainTime source reception
OscillatorOCXO or betterHoldover stability

IEEE 1588 PTP Implementation

ROKO uses Precision Time Protocol v2.1 for network synchronization:

PTP Configuration

# ROKO PTP Profile
    [global]
    domainNumber              44    # ROKO domain
    slaveOnly                 0     # Can be grandmaster
    priority1                 128   # Standard priority
    clockClass                6     # GPS-locked
    clockAccuracy            0x21   # <100ns
    network_transport        L2
    delay_mechanism          E2E    # End-to-end
    time_stamping            hardware

Synchronization Hierarchy

                    GPS/GNSS Satellites
                               ↓
                        Stratum 0 (Atomic)
                               ↓
            ┌──────────────────┼──────────────────┐
            ↓                  ↓                  ↓
      Grandmaster 1      Grandmaster 2      Grandmaster 3
      (Region: US)       (Region: EU)        (Region: Asia)
            ↓                  ↓                  ↓
       Validators          Validators          Validators

Time Source Redundancy

Validators maintain multiple time sources:

1. Primary: GPS/GNSS with multi-constellation

2. Secondary: Network Time Security (NTS)

3. Tertiary: IEEE 1588 PTP from peers

4. Backup: Local OCXO holdover


Temporal Consensus Layer

Time Beacons

Validators broadcast signed timestamps at 150ms intervals. See Time Beacons for details.

Block Timestamp Proofs

Blocks include beacon proofs - K-of-N beacon selection proving the block's timestamp via median calculation.

Temporal Ordering

Transactions with beacon proofs execute in signing-time order:

class TemporalOrdering:
        def order_transactions(self, tx_pool):
            # Verify beacon proofs
            valid_txs = [tx for tx in tx_pool if self.verify_beacon_proof(tx)]

            # Sort by proven signing time
            valid_txs.sort(key=lambda x: x.median_timestamp)

            return valid_txs

Performance Characteristics

MetricValueNotes
Beacon Interval150msConfigurable
Drift Tolerance2s launch, 500ms targetTightens as network matures
Block Time2-3 secondsGRANDPA finality
Timestamp PrecisionMicroseconds in beaconsNanoMoment format supports nanoseconds

Security

Attack Prevention

AttackPrevention
Time ManipulationBeacon proofs require multiple validator signatures
Front-runningTemporal ordering - can't back-date beacon proofs
ReplayMonotonic sequence numbers in beacons

Slashing

Validators can be slashed for:

  • Beacons consistently outside drift tolerance
  • Invalid beacon signatures
  • Producing blocks without valid beacon proofs

Integration

For Validators

# Install time card drivers
    sudo apt-get install ocp-timecard-driver

    # Configure PTP
    sudo ptp4l -i eth0 -f /etc/ptp/roko.conf

    # Verify synchronization
    roko time verify

For Developers

// Get proven timestamp
    const timestamp = await roko.time.now();

    // Verify temporal proof
    const isValid = await roko.time.verify(tx.timestamp, tx.proof);

See Also