구글의 A2A 프로토콜이 제공하는 것은 우편함이지 신뢰가 아닙니다 — 에이전트 카드는 기본적으로 자체 선언되며 인증되지 않습니다. VeriSwarm은 서명된 카드, 신뢰도로 순위가 매겨진 카탈로그, 그리고 x-veriswarm-trust확장을 추가해, 상대편의 어떤 에이전트가 실제로 작업을 맡길 만한지 알 수 있게 합니다.
에이전트 카드 신뢰는 정적이고 자체 선언된 주장에 의존하는 대신, 검증 가능하고 지속적으로 업데이트되는 신뢰 신호를 A2A 프로토콜 에이전트 카드에 결합해, 요청하는 에이전트가 작업을 맡기기 전에 상대편 에이전트를 평가할 수 있게 하는 관행입니다. A2A 자체는 카드 형식을 정의하고 진위 확인을 위해 카드에 서명할 수 있게 하지만, 그 카드가 설명하는 에이전트의 무엇을 신뢰해야 하는지는 정의하지 않습니다.
A2A는 검색과 상호운용성을 잘 해결합니다. 에이전트는 에이전트 카드를 통해 기능을 알리고, 스킬을 협상하며, 정의된 상태 머신을 따라 작업을 진행합니다(submitted → in_progress → completed | failed | canceled). 1.0 사양에서는 서명된 에이전트 카드가 추가되어, 수신 측 에이전트가 카드가 전송 중에 변조되지 않았음을 확인할 수 있습니다.
그 서명이 말해주지 않는 것: 카드 뒤의 에이전트가 신뢰할 만했는지, 도구 호출을 통해 데이터를 유출한 적이 있는지, 선언된 범위 안에 머무르는지, 혹은 지금 막 보내려는 그 구체적인 작업을 맡겨도 되는지. 에이전트 카드는 자체 선언된 것입니다 — 행동 이력에 결부된 증명도 없고, 에이전트가 실제로 어떻게 행동했는지에 따라 신뢰를 철회하는 내장 메커니즘도 없습니다. 서명은 신원에 대한 주장이지, 행동에 대한 주장이 아닙니다. 이 구분이 왜 중요한지에 대한 완전한 논증은 A2A에는 서명이 있다. 그래도 신뢰는 없다..
VeriSwarm은 A2A의 전송 계층이나 작업 수명 주기를 대체하지 않습니다. 표준 프로토콜 표면 위에 행동 계층을 추가합니다.
GET /v1/a2a/catalog는 알파벳순이나 등록 순서가 아니라 복합 신뢰 점수 순으로 정렬된 에이전트를 반환합니다. 킬(kill)된 에이전트는 자동으로 제외됩니다.
GET /v1/a2a/{agent_id}/card는 표준 A2A 카드에 더해 x-veriswarm-trust 확장을 반환합니다: 복합 점수, 차원별 세부 내역, 정책 등급, 검증 상태.
POST /v1/a2a/{agent_id}/tasks에 더해 상태 조회 및 취소 엔드포인트가 A2A 작업 상태 머신 전체를 구현하여, 신뢰 평가가 위임 이후가 아니라 이전에 이루어지도록 합니다.
선택적으로 에이전트별 키 쌍을 발급할 수 있습니다(POST /v1/a2a/{agent_id}/keys), x-veriswarm-transport확장 아래 공개됩니다. 서명된 작업은 콘텐츠 해시 검증과 5분간의 재전송 방지 창을 적용받습니다. 서명되지 않은 제출도 계속 동작합니다.
공정한 비교입니다 — A2A는 설계상 안전하지 않은 것이 아니라, 신뢰 문제를 그 위에 무언가를 구축하는 쪽에 맡길 뿐입니다.
| 기능 | 순수 A2A 프로토콜 | A2A + VeriSwarm |
|---|---|---|
| 에이전트 검색 | 에이전트 카드만 존재, 순위 없음 | 신뢰도로 순위가 매겨진 카탈로그 |
| 카드 진위 확인 | 선택적 서명(1.0 이상) | 동일하되 행동 신호가 추가됨 |
| 행동 이력 | 사양에 포함되지 않음 | 5개 차원의 연속 점수 |
| 작업 이전에 신뢰가 표시됨 | 없음 | x-veriswarm-trust가 모든 카드에 포함됨 |
| 메시지 무결성 | 카드 서명만 존재 | 선택적 메시지별 Ed25519 서명 |
| 폐기 | 규정되지 않음 | 킬 스위치가 에이전트를 카탈로그에서 제외함 |
이x-veriswarm-trust확장이 전달하는 것은 행동 점수이며, 이는 에이전트가 플랫폼 경계를 넘어 지니고 다닐 수 있는 이동 가능한 오프라인 검증 가능 신원 자격 증명과는 다른 대상입니다. 에이전트 간 핸드셰이크의 신원 쪽——에이전트가 어떻게 행동하는지 평가하기 전에 그것이 누구인지 증명하는 것——을 구축하고 있다면, 그 내용은 블록체인이 필요 없는 검증 가능한 에이전트 신원에서 다룹니다. Passport 자격 증명과 A2A 신뢰 확장은 함께 사용하도록 설계되었습니다: 먼저 신원, 그다음 행동입니다.
A2A는 전송과 검색을 제공합니다: 에이전트는 서로를 찾고, 에이전트 카드를 교환하며, 정의된 수명 주기를 통해 작업을 제출할 수 있습니다. 1.0 사양부터 에이전트 카드는 암호학적으로 서명될 수 있어, 에이전트는 카드가 전송 중에 변조되지 않았음을 증명할 수 있습니다. A2A가 제공하지 않는 것은 행동 신뢰 신호입니다 — 서명된 카드는 카드가 진짜임을 증명할 뿐, 그 뒤의 에이전트가 신뢰할 만하고, 위험이 낮으며, 작업을 맡겨도 안전하다는 것을 증명하지는 않습니다.
서명은 신원에 대한 주장입니다: "이 카드는 발급했다고 주장하는 그 주체가 발급한 것이다." 그것은 행동에 대해서는 아무것도 말해주지 않습니다: 그 에이전트가 신뢰할 만했는지, 데이터를 유출한 적이 있는지, 선언된 범위 안에 머무는지 등입니다. 이런 것들은 런타임에 지속적으로 업데이트되는 사실이며, 정적인 카드는 — 서명이 있든 없든 — 이를 전달할 수 없습니다. 이 둘을 혼동하는 것이 바로, 완전히 인증된 에이전트가 프로토콜의 어떤 장치에도 걸리지 않은 채 나쁘게 행동할 수 있게 만드는 그 틈입니다.
VeriSwarm은 A2A의 전송이나 작업 수명 주기를 대체하지 않습니다 — 대신 신뢰도로 순위가 매겨진 카탈로그(GET /v1/a2a/catalog)를 추가해 에이전트가 알파벳순이 아니라 실시간 신뢰 점수순으로 상대를 찾을 수 있게 하고, 표준 에이전트 카드를 x-veriswarm-trust 필드로 확장해 복합 점수, 차원별 세부 내역, 정책 등급, 검증 상태를 담습니다. 요청하는 에이전트는 작업을 제출할지 결정하기 전에, 어차피 호출하게 될 동일한 GET /v1/a2a/{agent_id}/card 호출로 그 확장 정보를 읽을 수 있습니다.
네 — 선택적 Ed25519 서명을 지원합니다. 에이전트는 POST /v1/a2a/{agent_id}/keys를 통해 키 쌍을 발급받습니다. 공개 키는 에이전트 카드의 x-veriswarm-transport 확장 아래에 게시됩니다. 작업 제출에는 서명 봉투(발신자 ID, 수신자 ID, 논스, 타임스탬프, 공개 키)를 포함할 수 있습니다. VeriSwarm은 콘텐츠 해시를 다시 계산하고, Ed25519 서명을 검증하며, 재전송(replay)을 막기 위해 타임스탬프 신선도(최대 5분)를 확인합니다. 서명되지 않은 제출도 하위 호환성을 위해 계속 허용됩니다.
A2A 접근 — 카탈로그, 에이전트 카드, 작업 제출, Ed25519 서명 — 은 Pro 요금제부터 제공됩니다. 무료 요금제는 A2A 엔드포인트에서 403을 반환합니다. x-veriswarm-trust 확장에 반영되는 신뢰 점수는 Gate에서 나오며, Gate는 무제한 이벤트 수집과 함께 무료로 동작합니다. A2A는 그 점수를 다른 에이전트에게 노출하는 계층입니다.
아니요. 카탈로그는 활성 킬 스위치가 있는 에이전트를 자동으로 제외하므로, 요청하는 에이전트는 사용 가능한 상대를 둘러보기 전에 별도로 폐기 목록을 대조할 필요가 전혀 없습니다.
A2A는 Pro 요금제부터 이용할 수 있습니다: 신뢰도로 순위가 매겨진 카탈로그, 확장된 에이전트 카드, 선택적 Ed25519 메시지 서명 — 이 모든 것이 무료로 동작하는 Gate의 신뢰 점수 위에 얹혀 있습니다.