Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Bridges Web3 (Pontes Externas)

paebiru-bridges conecta a malha PAEBIRU a infraestruturas Web3 existentes — oráculos descentralizados, armazenamento persistente e plataformas de compute-over-data — sem violar a soberania local.

Princípio orientador: bridges são periféricos, não dependências. O kernel não conhece nenhuma rede externa; é o agente ABAPORU quem decide se uma bridge é necessária para uma tarefa específica.

Bridges Disponíveis

BridgePropósitoTipo de Integração
Chainlink FunctionsDados off-chain verificados (JS/TS executado em DON)ChainlinkBridge
Filecoin / IPFSPersistência soberana (CID + pinning)FilecoinBridge
IoTeX W3bstreamCompute-over-Data disparado por eventos de hardwareIoTeXBridge

Todos os clientes são assíncronos (Tokio) e seguem o mesmo padrão.

Padrão Bridge (Reutilizável)

Cada bridge implementa o mesmo formato:

#![allow(unused)]
fn main() {
pub struct XxxBridge { http: reqwest::Client, base_url: String }

impl XxxBridge {
    pub fn new(base_url: impl Into<String>) -> Self { /* ... */ }
    pub async fn operate(&self, ...) -> anyhow::Result<...> { /* ... */ }
}
}

A novidade em relação a wrappers HTTP genéricos é o scheme mock:// — detectado no construtor, faz a bridge curto-circuitar a rede e retornar respostas determinísticas. Permite que paebiru-node rode em laboratório, em CI ou em ambientes air-gapped sem stubs de rede externos.

#![allow(unused)]
fn main() {
// Produção
let bridge = ChainlinkBridge::new("https://functions.chainlink.network");

// Mock (sem rede)
let bridge = ChainlinkBridge::new("mock://chainlink");
}

URIs mock reconhecidas:

  • mock://chainlink
  • mock://filecoin
  • mock://iotex

Recomenda-se este padrão para qualquer bridge nova (RFC 016 trata de aggregation multi-DON).

  • Execução de payload JS/TS em nós Chainlink (DON).
  • Retorno: bytes determinísticos assinados pela DON.
  • Uso típico: oráculo de preço, clima, evento off-chain auditável.
#![allow(unused)]
fn main() {
let bridge = ChainlinkBridge::new("https://functions.chainlink.network");
let data = bridge.fetch_data("return Functions.encodeString('25.5')", vec![]).await?;
}

Filecoin / IPFS

  • Pinning de CIDs existentes via APIs Pinning Service (RFC IPFS Pinning Service API 1.0).
  • Upload multipart direto a gateways (Kubo/Infura) ou serviços de Pinning (Pinata).
  • Detecção automática do tipo de gateway pelo URL — não exige feature flag.
#![allow(unused)]
fn main() {
let bridge = FilecoinBridge::new("https://api.pinata.cloud");
let cid = bridge.upload_and_pin(data, "relatorio_metabolismo.bin").await?;
}

IoTeX W3bstream

  • Compute-over-Data triggered por eventos de dispositivos IoT.
  • Recibos executáveis (auditáveis on-chain).
  • Pipeline de dados de hardware → mesh PAEBIRU.

Como o Kernel as Consome

O PAEBIRU adota uma Estratégia de Oráculo Híbrido para garantir segurança e soberania:

  1. Soberania Física (DON Nativa): Para dados de sensores (IoT, DePIN), localização e entropia. A validação é feita pelos próprios nós da malha via assinaturas de threshold FROST 100% assíncronas e atestação de hardware. Esta evolução permite que a DON escale para centenas de oráculos sem sofrer de latência síncrona.
  2. Agregação Lógica (External Bridges): Para dados financeiros, preços e estados de redes externas. Aqui entra o paebiru-bridges como adaptador oficial para Chainlink, Filecoin, etc.

Bridges nunca são chamadas no caminho crítico do ZeroTrustPipeline. O componente HybridOracleAggregator combina as saídas da DON nativa e das bridges externas, entregando uma verdade consensual aos Plasmídeos.

  • DecentralizedOracle (ECONOMY.md) agrega OracleReports vindos de múltiplas bridges e da DON nativa (FROST k-de-n) — mediana resistente a outliers byzantinos.
  • MacrophageVM quarentena qualquer payload de bridge que falhar DataContractGate (Gate 5).

Testes

crates/bridges usa wiremock para simular respostas HTTP externas. Combinado com o scheme mock://, isto cobre dois níveis:

  • Mock no construtor — exercício de fluxos puramente determinísticos (sem rede).
  • Wiremock no teste — exercício do parsing real de respostas HTTP por construção controlada.
rtk cargo test -p paebiru-bridges

Questões em Aberto

  • RFC 017 — custo de bridges sem token nativo. Quem paga a chamada Chainlink? Hoje: crédito mútuo entre nó solicitante e nó operador da bridge.
  • Interoperabilidade L9 — como Plasmídeos expressam a preferência entre DON nativa e agregador externo para um campo específico.

Cross-references

  • crates/bridges/ — detalhamento granular por bridge.
  • theory/depin_substrate.md — papel das DONs na visão arquitetônica e estratégia híbrida.
  • ECONOMY.mdDecentralizedOracle, agregação FROST.
  • KERNEL.mdDataContractGate (Gate 5).