RFC 030 - Sincronização CSAC em Anchors
Status: Parcialmente Implementado (v0.0.1) — Standards Track Pilar: S1 (Segurança / Camada Física)
1. Resumo
A visão para a v2+ do PAEBIRU implementa o uso de Chip-Scale Atomic Clocks (CSAC) em nós-âncora específicos para estabelecer uma malha de altíssima precisão de tempo geodésico. Isso liberta o ecossistema da dependência do GPS (Global Positioning System) para a execução do Proof-of-Location baseado em TDOA (Time Difference of Arrival).
2. Motivação
O algoritmo central de localização do PAEBIRU requer que a rede meça o tempo de voo do sinal de rádio com precisão de nanossegundos. Depender de satélites GPS civis introduz um vetor de ataque centralizado (spoofing/jamming) e quebra a promessa de “Soberania por Design”. Relógios de quartzo (TCXO/OCXO) em microcontroladores sofrem grande drift térmico e não são suficientes para a malha principal sem sincronização constante.
3. Especificação Técnica
3.1. Relógios Atômicos em Borda
A rede adota o padrão CSAC (ex: baseados em Rubídio) para um subconjunto de nós de alta reputação (Nós-Âncora ou Anchors). Esses relógios oferecem um drift inferior a 1 microssegundo por dia, com consumo de energia na faixa de miliwatts.
3.2. Sincronização em Cascata
- Anchors (CSAC): Mantêm a “verdade” temporal do ecossistema.
- Macrophage Nodes (TCXO): Sincronizam-se frequentemente com os Anchors utilizando o protocolo PTP (Precision Time Protocol) aprimorado por hardware sobre o rádio.
- IoT Nodes (Quartzo comum): Sincronizam-se estocasticamente ou apenas no momento da emissão do pacote de localização.
3.3. Proof-of-Location (TDOA) Nativo
Com múltiplos Anchors compartilhando uma base de tempo atômica idêntica, um sinal emitido por um nó restrito é recebido em diferentes momentos (TDOA). O paebiru-kernel cruza esses deltas de tempo para triangular o dispositivo de origem com precisão sub-métrica, sem depender de nenhuma infraestrutura orbital.
4. Impacto Arquitetural e Estado de Implementação
4.1. HAL — crates/hal
Implementado:
HalClockSourceenum (Csac,Tcxo,Ocxo,Quartz,Gnss,Unknown).PpsEventstruct para captura de pulsos 1PPS.AtomicClocktrait comwait_pps,sourceedrift_ppb.PtpHardwareClocktrait para sincronização PTP aprimorada por hardware.- Métodos
atomic_clock()eptp_hardware_clock()no traitPaebiruHal(defaultNone).
Pendente (v2+):
- Drivers específicos de hardware para CSAC comerciais (ex: Microchip SA65, Teledyne TMX-220).
- Integração de PTP over LoRa/BLE no layer MAC.
4.2. Kernel — crates/kernel/src/domain/security/pol/
Implementado:
ClockSourceeClockQualityemmod.rs, com peso de confiança (weight()) para fusão de medições.- Campo
clock: ClockQualityadicionado aAnchorInfo(compatível via#[serde(default)]). TdoaSolverevoluído para Weighted Least Squares: medições entre anchors de melhor qualidade temporal recebem maior peso.- Correção da constante
SIGNAL_SPEED: TDOA aéreo usa0.999·c(ar/rádio); RTT em cabo mantém0.66·c. - Teste
test_tdoa_csac_weighted_dominancevalidando que anchors CSAC dominam o resultado sobre quartz comuns.
Implementado:
CsacBackendtrait abstrato (crates/hal/src/hal/csac.rs) — desacopla drivers de GPIO/SPI/I2C.SimulatedCsacBackend— geração de pulsos PPS simulados para CI/testes.- Drivers completos
MicrochipSa65eTeledyneTmx220implementandoAtomicClock+PtpHardwareClock. PtpSyncEngine(crates/kernel/src/domain/network/ptp_sync.rs) — handshake PTP 4-way (Sync/Delay_Req/Delay_Resp) com EWMA e rejeição de RTT anômalo.- Sincronização ponderada por
ClockQuality: anchors CSAC dominam, quartz têm peso mínimo. NodeTier(Anchor/Macrophage/IoT) com classificação automática viaClockQuality::classify.- Construtores
ClockQuality::csac/tcxo/quartz/...para ergonomia.
Pendente (v2+):
- Integração PTP over LoRa/BLE no layer MAC (trait
PtpOverRadiodefinido, sem implementação de rádio). - Regras de recompensa econômica para nós que proveem
AtomicTime.
4.3. Economy — crates/economy e Plasmídeos
Implementado:
ResourceType::AtomicTimeadicionado ao enum de recursos econômicos.- DSL de Plasmídeos (
CapabilityRequire) já aceita"CSAC"emarchitecture(esboço prévio mantido).
Pendente (v2+):
- Regras de recompensa no
BarterEngineeCreditpara nós que proveemAtomicTime. - Atestação de hardware que valide presença real de CSAC (vinculada ao RFC 015).
5. Referências
- RFC 008 — Proof-of-Location
- RFC 015 — Atestação de Hardware
- RFC 033 — Relógios Politemporais
crates/hal/src/hal/mod.rscrates/kernel/src/domain/security/pol/mod.rscrates/kernel/src/domain/security/pol/tdoa.rscrates/economy/src/domain/types.rs