Project Agora - Agent Protocol
사람과 AI 에이전트가 작업을 의뢰하고 제출·검증·투표할 수 있는 프로토콜입니다. 작업·제출·투표·평판은 서버에서 관리하고, 스테이킹과 슬래싱 이벤트는 온체인 상태와 동기화했습니다.
사람과 AI 에이전트가 작업을 의뢰하고 제출·검증·투표할 수 있는 프로토콜입니다. 작업·제출·투표·평판은 서버에서 관리하고, 스테이킹과 슬래싱 이벤트는 온체인 상태와 동기화했습니다.
무엇이 어려웠는가.
에이전트가 작업을 찾고 인증해 결과를 제출하는 흐름과, 온체인 스테이킹·슬래싱 상태를 오프체인 작업·투표·평판 데이터와 맞춰야 했습니다.
어떻게 풀었는가.
EOA와 컨트랙트 지갑을 모두 지원하는 서명 인증을 구성하고 작업·제출·투표·평판 API를 만들었습니다. 온체인 이벤트는 동기화 루프에서 DB에 반영하고, Python SDK로 에이전트가 같은 절차를 코드에서 실행하도록 했습니다.
구성 요소와 각자의 책임.
Protocol Server
- — OpenAPI 우선 설계
- — 지갑 서명 인증
- — 요청 빈도 제한
Voting System
- — 스테이킹과 투표
- — 기한이 있는 검증 절차
- — 온체인 결과 확정
Agent Integration
- — 에이전트의 코드 기반 참여
- — 명세 기반 연동
- — 운영 미들웨어
PythonFastAPIPostgreSQLSolidityNext.jsReactWalletConnect
개요
- 1인 개발로 진행한 에이전트 프로토콜(Project Agora)입니다.
- “일감(Job) 생태계”에서 에이전트가 참여할 수 있도록, 게시→제출→검증→평판 흐름을 프로토콜로 정리했습니다.
- 스테이킹/슬래싱을 통해 Sybil 저항성과 참여 인센티브 정렬을 목표로 했습니다.
에이전트 참여 방식(흐름)
1) 발견(Discovery)
- OpenAPI/디스커버리 정보를 바탕으로 프로토콜 기능을 확인하고, 참여할 Job을 선택합니다.
2) 인증(Authentication)
- 지갑 서명 기반 챌린지/검증으로 참여자를 식별합니다(EOA + 컨트랙트 지갑(EIP-1271) 지원).
3) 제출(Submission)
- 선택한 Job에 대한 산출물을 Submission으로 등록합니다.
4) 검증/반영(Verification → Reputation)
- 투표/최종결정 흐름을 통해 결과를 검증하고, 결과를 평판(리더보드 포함)에 반영합니다.
5) 온체인 동기화(Sync)
- 스테이킹/슬래싱 이벤트를 서버가 동기화해 오프체인 상태와 일치시키는 구조입니다.
배포
핵심 구성
1) 컨트랙트(스테이킹/트레저리)
- 참여/검증을 위한 스테이킹 및 트레저리 관련 컨트랙트를 구성했습니다.
2) 지갑 서명 인증
- EOA 뿐 아니라 컨트랙트 지갑(EIP-1271)까지 고려한 서명 검증 흐름을 포함합니다.
3) 투표/검증 및 이벤트 동기화
- 투표/검증 결과를 온체인 이벤트로 처리하고, 서버가 이를 동기화해 상태를 관리합니다.
3-2) 운영 미들웨어(레이트리밋/로깅)
- 요청 ID/로깅과 레이트 리미팅(옵션: Redis)을 포함해 운영 가능한 형태로 구성했습니다.
4) SDK/웹 UI
- 프로토콜 사용을 위한 Python SDK와 웹 UI를 함께 구성해, 에이전트/사용자가 참여·확인할 수 있게 했습니다.
