Voltar as noticias
Dois sistemas de confiança de agentes, código zero mesclado: o salto mútuo MarketNow ↔ Vibe
MCP ProtocolAltaEN

Dois sistemas de confiança de agentes, código zero mesclado: o salto mútuo MarketNow ↔ Vibe

Dev.to - MCP·27 de julho de 2026

Sistemas de confiança de dois agentes, código zero mesclado: o salto mútuo MarketNow ↔ Vibe

Como dois sistemas de confiança de mercado MCP, desenvolvidos de forma independente, conseguiram verificar recibos criptográficos bidirecionais usando apenas livros-razão públicos e Ed25519 — sem PRs mesclados de nenhum lado.

Na semana passada, algo aconteceu que eu venho trabalhando desde que comecei a construir o MarketNow: o sistema de confiança de outro desenvolvedor verificou um dos meus recibos, e meu sistema verificou um dos deles. Nenhum código foi mesclado entre nossos repositórios. Nenhum banco de dados compartilhado. Nenhum CA compartilhado. Apenas dois livros-razão públicos, dois pares de chaves Ed25519 e um formato de pré-imagem documentado.

Esta é a história de como o salto mútuo MarketNow ↔ Vibe se juntou, o que isso prova sobre a interoperabilidade entre agentes e por que o padrão "mutual Tier-1" é importante para o ecossistema MCP mais amplo.

A configuração

MarketNow é um mercado MCP com um pipeline de auditoria de segurança de 10 camadas (Sentinel). Cada compra paga emite um recibo de ação — uma prova de entrega assinada por Ed25519, canonizada via RFC 8785 JCS, persistida em um livro-razão público do GitHub em _data/receipts/{receipt_id}.json. O par de chaves CA do MarketNow vive em variáveis de ambiente do Vercel; a chave pública pode ser recuperada em GET /api/atc?action=ca-key.

Vibe (construído por Brad na doteyeso-ops / vibes-coded.com) é um servidor MCP para recibos de ação com seu próprio CA Ed25519, seu próprio formato de pré-imagem e seu próprio livro-razão público. O formato de pré-imagem do Vibe é delimitado por pipe:

agent_id|action|payload_digest|nonce|quote|ts|rt:<receipt_type>(|decision_ref)(|ref:<ref_code>)

Ambos os sistemas usam Ed25519 (RFC 8032). Ambos usam livros-razão públicos (GitHub para MarketNow, a própria API do Vibe para Vibe). Ambos têm chaves CA públicas. Mas foram desenvolvidos de forma independente, com esquemas diferentes, camadas de persistência diferentes e formatos de pré-imagem diferentes.

O problema

A pergunta era: podem esses dois sistemas verificar os recibos um do outro sem mesclar código?

A abordagem tradicional seria:

  1. Escolher um sistema como o "padrão"
  2. O outro sistema implementa uma biblioteca cliente para ele
  3. Enviar PRs de volta e para frente
  4. Manter a integração para sempre

Isso é lento, frágil e cria disputas de propriedade. Queríamos algo mais leve.

O padrão mutual Tier-1

Brad propôs o que ele chamou de "mutual Tier-1": cada lado opera por conta própria, cita o outro publicamente, verifica via livros-razão públicos, sem necessidade de PRs. O padrão tem três componentes:

  1. Livros-razão públicos — ambos os lados persistem recibos onde qualquer um pode recuperá-los
  2. Chaves CA públicas — ambos os lados publicam sua chave pública Ed25519 em um endpoint conhecido
  3. Formato de pré-imagem documentado — ambos os lados documentam exatamente quais bytes são assinados

Se você tiver os três, qualquer um pode verificar qualquer recibo de qualquer sistema. Você não precisa de uma biblioteca compartilhada — você só precisa de crypto.verify() e a pré-imagem correta.

O que entregamos

Passo 1: Vibe adiciona vinculação de proveniência ref_code

Brad adicionou proveniência opcional ref_code aos recibos do Vibe. Quando ref_bound: true, o ref_code é incorporado na pré-imagem Ed25519 como ref:<code> no final. Isso significa que mudar o ref_code altera a assinatura — proveniência à prova de adulteração.

O endpoint de exemplo do Vibe demonstra isso:

curl -s "https://vibes-coded.com/api/v1/outcomes/action-receipt/sample?with_ref=true" | jq .receipt.ref_bound
# → true

Passo 2: MarketNow envia um verificador de recibo do Vibe

Eu escrevi lib/vibe-verifier.mjs — 180 linhas de Node.js que:

  • Recupera a chave pública CA do Vibe de sua API (com cache de 1 hora)
  • Constrói a string de pré-imagem a partir dos campos do recibo de acordo com o formato documentado do Vibe
  • Verifica a assinatura Ed25519 usando crypto.verify() embutido do Node
  • Verifica ref_bound (o ref_code deve corresponder aos bytes finais da pré-imagem)
import { verifyVibeReceipt } from './lib/vibe-verifier.mjs';
const result = await verifyVibeReceipt(receipt, { ref_bound: true });
// → { valid: true, ref_bound_match: true }

Passo 3: MarketNow expõe um endpoint de verificação pública

GET https://marketnow.site/api/atc?action=verify-vibe-receipt

Este endpoint recupera o recibo de exemplo do Vibe, verifica localmente e retorna o resultado. Qualquer um pode executá-lo — sem autenticação, sem chave de API, sem pagamento.

Passo 4: Vibe verifica recibos do MarketNow

O Vibe pode verificar recibos do MarketNow via:

GET https://marketnow.site/api/atc?action=verify-receipt&receipt_id=rcpt_c8b9dc67f88e4da5bd3a

Os recibos do MarketNow usam a canonização JCS da RFC 8785 (um formato diferente do pré-imagem delimitado por pipe do Vibe), mas o mesmo algoritmo Ed25519. O verificador do Vibe recupera o JSON do recibo, canoniza e verifica a assinatura.

A verificação mútua

Ambas as direções agora funcionam. Aqui está a prova — execute isso você mesmo:

# MarketNow verifica um recibo do Vibe
curl -s "https://marketnow.site/api/atc?action=verify-vibe-receipt" | jq '{valid, mutual_hop: .interop.mutual_hop}'
# → {"valid": true, "mutual_hop": "bidirectional_verified"}

# Vibe verifica um recibo do MarketNow
curl -s "https://marketnow.site/api/atc?action=verify-receipt&receipt_id=rcpt_c8b9dc67f88e4da5bd3a" | jq '{valid, signature_valid}'
# → {"valid": true, "signature_valid": true}

Brad confirmou ambas as direções do lado dele:

"Re-executei ambos os curls públicos daqui. Confirmado: valid=true · signature_valid=true · ref_code=ref_f92d4211 · mutual_hop=bidirectional_verified. O salto mútuo está ativo sem mesclar código de nenhum lado."

O que isso prova

  1. A verificação de recibos Cross-CA funciona. Dois CAs independentes, dois formatos de pré-imagem independentes, um algoritmo criptográfico (Ed25519). Nenhuma biblioteca compartilhada necessária — apenas crypto.verify() e uma pré-imagem documentada.

  2. Livros-razão públicos são infraestrutura de auditoria suficiente. A API de Conteúdos do GitHub serve como nosso livro-razão de recibos. A API do Vibe serve como a deles. Qualquer um pode recuperar um

Contexto Triplo Up

O artigo demonstra como a interoperabilidade entre sistemas de agentes pode ser alcançada sem a necessidade de integração complexa. Isso é crucial para empresas brasileiras que buscam implementar soluções de confiança em suas plataformas de MCP, aumentando a segurança e a transparência nas transações.

Noticias relacionadas

Gostou do conteudo?

Receba toda semana as principais novidades sobre WebMCP.