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
| Bridge | Propósito | Tipo de Integração |
|---|---|---|
| Chainlink Functions | Dados off-chain verificados (JS/TS executado em DON) | ChainlinkBridge |
| Filecoin / IPFS | Persistência soberana (CID + pinning) | FilecoinBridge |
| IoTeX W3bstream | Compute-over-Data disparado por eventos de hardware | IoTeXBridge |
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://chainlinkmock://filecoinmock://iotex
Recomenda-se este padrão para qualquer bridge nova (RFC 016 trata de aggregation multi-DON).
Chainlink Functions
- 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:
- 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.
- Agregação Lógica (External Bridges): Para dados financeiros, preços e estados de redes externas. Aqui entra o
paebiru-bridgescomo 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) agregaOracleReports vindos de múltiplas bridges e da DON nativa (FROST k-de-n) — mediana resistente a outliers byzantinos.MacrophageVMquarentena qualquer payload de bridge que falharDataContractGate(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.md —
DecentralizedOracle, agregação FROST. - KERNEL.md —
DataContractGate(Gate 5).