AI 에이전트가 체인상에서 결제하는 방법
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발, 인공지능, DevOps
대상자
웹/블록체인 개발자, AI 엔지니어, M2M 결제 시스템 설계자
난이도: 중급~고급 (HTTP 프로토콜, 블록체인 구현, 보안 개념 필요)
핵심 요약
- HTTP 402 Payment Required는 1997년 RFC 2068에서 정의되었으나, 2025년에
x402
프로토콜로 체인상 결제 기능이 활성화됨 x402
는 AI 에이전트가 HITL(인간 개입) 없이 M2M 결제를 수행할 수 있도록 HTTP 프로토콜 내에 블록체인 결제 흐름을 구현- 시스템 구성 요소: 클라이언트, 리소스 서버, 프로미터, 블록체인에서 분리된 책임과 표준화된 HTTP 인터페이스를 통해 결합성을 최소화
- 핵심 기술: EIP-712 서명, 비밀번호 추적, USDC 전송, 스마트 계약
섹션별 세부 요약
1. HTTP/1.1의 역사와 HTTP 402의 등장
- RFC 2068에서 지속 연결(Persistent Connections)과 Chunked Transfer Encoding 도입
- HTTP 402 Payment Required는 '미래 사용 예약' 상태 코드로 남아 있었음
- 2025년까지도 HTTP 402는 여전히 '미래 사용 예약' 상태로 남아 있었음
2. AI 에이전트의 M2M 결제 문제
- AI 에이전트는 HITL(인간 개입) 없이 결제를 수행해야 하지만, 기존 결제 흐름은 인간 상호작용, 리디렉션, 수동 단계가 필요
- x402는 이러한 문제를 해결하기 위해 HTTP 프로토콜 내에서 체인상 결제를 구현
3. x402 프로토콜의 구성 요소
- 클라이언트: 결제 시작, EIP-712 서명, 자동 재시도, 결제 탐지
- 리소스 서버: 가격표 관리, HTTP 402 응답, 미들웨어 통합
- 프로미터: 서명 검증, 비밀번호 추적, 가스 추상화
- 블록체인: USDC 전송, 스마트 계약, 불변 기록
4. 아키텍처 설계 원칙
- 책임 분리: 리소스 서버는 비즈니스 로직, 프로미터는 결제 복잡성, 클라이언트는 사용자 상호작용
- 조인트 결합성: HTTP/REST 인터페이스를 통해 블록체인 구현 세부사항과 독립
- 의존성 역전: 서버와 클라이언트는 HTTP 인터페이스에 의존, 구체적인 블록체인 API에 의존하지 않음
5. x402 결제 흐름
- 초기 요청: 클라이언트가 리소스에 대한 표준 HTTP 요청
- 결제 필요 응답: 서버가 결제 세부사항을 포함한
HTTP 402
응답 - 결제 승인: 클라이언트가 서명된 결제 생성 후 요청 재시도
- 검증 및 접근: 서버가 결제 검증, 블록체인에 전송, 접근 허가
6. 서버 측 구현 예시 (Java)
public class PaymentFilter implements Filter {
private final String payTo;
private final Map priceTable; // 경로 → 금액
private final FacilitatorClient facilitator;
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) {
String path = req.getRequestURI();
String paymentHeader = req.getHeader("X-PAYMENT");
if (!priceTable.containsKey(path)) {
chain.doFilter(request, response); // 무료 엔드포인트
return;
}
if (paymentHeader == null) {
send402Response(resp, path); // 결제 요청
return;
}
VerificationResponse verification = facilitator.verify(paymentHeader, requirements);
if (verification.valid) {
chain.doFilter(request, response);
facilitator.settle(paymentHeader, requirements);
}
}
}
결론
- x402*는 HTTP 402 상태 코드를 활용한 체인상 결제로, AI 에이전트의 M2M 결제를 HITL 없이 자동화하며, EIP-712 서명, 비밀번호 추적, USDC 전송 등의 기술을 사용하여 HTTP 프로토콜 레벨에서 투명하게 결제 처리 가능. 리소스 서버와 클라이언트는 HTTP 인터페이스에만 의존하여 블록체인 구현 세부사항을 숨김.