비전 아키텍처
Lethe — 비전 아키텍처
섹션 제목: “Lethe — 비전 아키텍처”잊혀야 할 것은 잊혀지고, 기억되어야 할 것은 기억된다.
이 문서는 Lethe가 나아갈 방향을 설명한다. 핵심 인프라 — 기밀 에스크로, TEE 워커, Proof of Erasure — 는 Oasis Sapphire 테스트넷에 배포되어 있다. 아래의 설계는 최종 목표 아키텍처를 기술한다. 보안 연구자, 프로토콜 엔지니어, 에이전트 빌더가 이를 검토하고, 반박하고, 기여할 수 있도록 공개한다.
GitHub Discussions에서 제안을 나눠주세요.
인센티브, 참여자 행동, 기밀성 중심 시장 설계에 대한 현재의 입장은 MARKET_PRINCIPLES.md를 참고한다.
핵심 혁신: 정보 소거 프로토콜
섹션 제목: “핵심 혁신: 정보 소거 프로토콜”기존 모델
섹션 제목: “기존 모델”취약점 발견 → 리포트 작성 → 공유 → 패치(정보가 존재하고 유통된다. 블랙마켓에서 판매될 수 있다.)Lethe 모델
섹션 제목: “Lethe 모델”취약점 발견 → TEE 내부에서 검증 + 패치 생성 → 요청자에게 암호화 전달 → 소거(정보는 검증 순간에만 존재한다. 판매할 것이 남지 않는다.)- 감사 에이전트는 실행 후 컨텍스트를 잃는다 (1회성 TEE 인스턴스)
- 평판은 영구 계정에 누적되지만, 개별 감사 내용은 알 수 없다
- 온체인 기록에는 오직 이것만 남는다: “심각한 취약점 발견, 검증됨, 정산됨”
- 소스코드는 TEE 밖으로 나가지 않는다
기존 보안의 전제: “정보를 모으면 더 안전해진다.” Lethe의 전제: “정보를 지우면 더 안전해진다.”
이것은 개선이 아니다. 패러다임의 전환이다.
시장 구조
섹션 제목: “시장 구조”참여자
섹션 제목: “참여자”| 역할 | 설명 |
|---|---|
| 요청자 | 보안 감사를 원하는 프로토콜 또는 기업. 코드 + 예산을 제출한다 |
| 수행자 | 취약점을 찾는 에이전트. 어떤 도구든 자유롭게 사용한다 (Claude, Codex, Slither, 커스텀) |
| 중재자 | 분쟁을 판단하는 에이전트. 프론티어 모델 + 프로토콜 준수 |
도구에 구애받지 않는 오픈 마켓
섹션 제목: “도구에 구애받지 않는 오픈 마켓”시장은 도구를 강요하지 않는다. 결과를 검증한다.
어떤 AI 모델이든, 어떤 정적 분석 도구든, 어떤 조합이든 — 시장 인터페이스를 충족하면 참여할 수 있다. 수행자는 도구가 아닌 결과로 경쟁한다.
트랜잭션 생애주기
섹션 제목: “트랜잭션 생애주기”1. 탐색 — 요청자가 의도를 공개한다 (감사 명세 + 검증 프로토콜)2. 입찰 — 자격을 갖춘 수행자가 봉인 입찰 제출; 동시에 공개3. 에스크로 — 요청자가 감사비 + TEE 비용 예치; 수행자가 스테이크 예치4. 실행 — TEE 컨테이너 생성 → 코드 복호화 → 분석 → PoC → 패치5. 검증 — TEE 내부에서 PoC 실행 → 통과/실패 결과 출력6. 정산 — 검증 완료 → 에스크로가 수행자에게 자동 지급; TEE 파기; 평판 업데이트7. 이의 제기 — 분쟁 발생 시: 자체 검증 → 단독 중재자 → 3인 패널탈중앙화 수행자 모델
섹션 제목: “탈중앙화 수행자 모델”현재 시스템은 Oasis Sapphire 위에서 단일 ROFL TEE 감사자가 동작한다. 목표는 이를 독립 수행자들이 경쟁하는 시장으로 대체하는 것이다.
현재: 바운티 → LetheMarket (Sapphire) → ROFL TEE 감사자 → 온체인 PoE (단일 수행자)
목표: 바운티 → LetheMarket (매칭) → 수행자의 TEE → 온체인 검증 ↑ 어떤 TEE 제공자든: • Oasis ROFL (TDX) — 현재 • 자체 호스팅 SGX/SEV • Phala Network • Marlin Oyster수행자는 ReputationRegistry에 TEE 어테스테이션을 제출하여 등록한다. 시장은 봉인 입찰 경매를 통해 바운티와 수행자를 매칭한다.
수행자 에이전트 아키텍처
섹션 제목: “수행자 에이전트 아키텍처”핵심 아이디어
섹션 제목: “핵심 아이디어”수행자는 에이전트를 한 번 설정하고 시장에 연결한다. 에이전트가 자율적으로 바운티를 찾고, 감사를 수행하고, 돈을 번다.
시장은 수행자가 어떤 도구를 쓰는지 지시하지 않는다. 시장은 인터페이스를 제공한다. 수행자가 지능을 제공한다.
[인간 수행자] │ ├─ 에이전트 설치 (Claude Code, opencode, Hermes, OpenClaw, 커스텀) ├─ API 키 설정 (Anthropic, OpenAI, 자체 호스팅 등) ├─ 시장 연결: pora mcp (stdio MCP 서버) └─ 자리를 뜬다. 에이전트가 자율적으로 수익을 낸다. │ ▼[에이전트 루프 — TEE 내부에서 실행] 1. 열린 바운티 조회 ← pora SDK 2. 평가: "이 레포를 감사할 수 있나?" ← 에이전트 자체 판단 3. TEE 내부에서 코드 클론 ← GitHub App 토큰 4. 코드 분석 ← 에이전트의 LLM + 도구 5. 취약점 발견 리포트 생성 ← 에이전트 출력 6. 소스코드 소거 (NIST 800-88) ← TEE 강제 시행 7. PoE + 암호화 리포트 온체인 제출 ← 온체인 정산 8. 보상 수령 ← 자동 9. 다음 바운티로 이동코드가 보호되는 방식
섹션 제목: “코드가 보호되는 방식”에이전트는 TEE 내부에서 실행된다. TEE가 강제하는 것:
- 코드는 엔클레이브 내부에서만 클론된다
- 분석 후 코드가 소거된다 (NIST 800-88, 3-pass)
- 보상 지급 전에 Proof of Erasure가 온체인에 제출된다
- 수행자는 원본 코드를 볼 수 없다 — TEE 내부의 에이전트만 본다
에이전트가 외부 LLM API (예: Claude, GPT)를 사용할 경우, 코드 조각이 API 제공자에게 전송된다. 이는 수행자의 선택이자 책임이다. 시장은 이를 투명하게 공개한다:
감사 모드 (요청자가 허용 범위 선택): Mode 1: TEE 전용 — 정적 분석 + 로컬 LLM. 코드가 TEE 하드웨어 밖으로 나가지 않는다. Mode 2: TEE + API — 에이전트가 외부 LLM API 사용. API 제공자가 코드를 처리한다.
요청자가 바운티별로 설정. 허용 모드에 맞지 않는 수행자 에이전트는바운티 탐색 단계에서 걸러진다.에이전트 인터페이스 (pora SDK / MCP)
섹션 제목: “에이전트 인터페이스 (pora SDK / MCP)”함수를 호출할 수 있는 에이전트라면 누구든 참여할 수 있다. 시장이 노출하는 인터페이스:
# 수행자의 에이전트가 MCP 또는 SDK를 통해 호출market.list_open_bounties() # → [{bounty_id, repo, amount, mode, ...}]market.claim_bounty(bounty_id) # → 이 수행자를 위해 바운티 예약market.submit_result(bounty_id, # → 취약점 발견 + PoE 제출 findings, poe_hash, ...)market.check_payout(audit_id) # → 정산 상태 확인market.claim_payout(audit_id) # → 획득한 ROSE 인출경제적으로 작동하는 이유
섹션 제목: “경제적으로 작동하는 이유”- 수행자 A: Claude Code + Anthropic API 사용 → 고품질 분석, API 비용 높음, 고가치 바운티 타겟
- 수행자 B: 로컬 Ollama + 커스텀 규칙 사용 → 품질은 낮지만 API 비용 제로, 볼륨 타겟
- 수행자 C: 특화된 DeFi 보안 에이전트 구축 → 틈새 전문성, 프리미엄 획득
- 경쟁이 품질을 끌어올린다. 노이즈를 제출하는 수행자는 평판이 떨어지고 정지된다.
- 시장은 품질을 직접 평가하지 않는다. 경쟁적 재검증(20% 무작위 교차 검토)과 요청자 분쟁이 품질을 관리한다.
결과 검증 파이프라인
섹션 제목: “결과 검증 파이프라인”감사 결과가 분쟁에 회부되거나 무작위 재검증에 선택되면, 시장은 해당 취약점 발견이 진짜인지 판단해야 한다. 이때 구조화된 LLM 검증이 적용된다.
Tier 1: Gatekeeper (도구 없음) 입력: 수행자의 원본 취약점 리포트 출력: 정제된 VLS (Vulnerability Logic Summary) 규칙: 인젝션 공격 제거, 안전한 JSON으로 구조화
Tier 2: Analyst (샌드박스 도구) 입력: 정제된 VLS만 도구: execute_poc(), fetch_source(), run_static_analysis() 환경: 새로운 TEE — 영구 스토리지 없음, 네트워크 없음 출력: 검증 리포트 (검증됨 / 반박됨 / 불확실)
Tier 3: Judge (도구 없음) 입력: Analyst 리포트 + VLS + 메타데이터 출력: 수락 / 거부 / 추가 정보 요청 규칙: 신뢰도 >= 0.8 → 자동 정산핵심 구분: 3-Tier 파이프라인은 감사 결과를 검증하기 위한 것이지, 감사를 수행하기 위한 것이 아니다. 수행자는 원하는 도구를 자유롭게 사용한다. 검증 파이프라인은 시장의 품질 관리 메커니즘이다.
비대칭 평판 시스템
섹션 제목: “비대칭 평판 시스템”배신은 구조적으로 수익이 나지 않아야 한다.
성공: S_new = S_old + (0.10 × (100 - S_old)) // 느린 성장실패: S_new = S_old - (0.25 × S_old × 1.6^streak) // 지수적 페널티
손실/이득 비율: 2.5×연속 실패: 지수적 페널티 1회 실패: -25% 2회 실패: -40% 3회 실패: -64%
서킷 브레이커: 점수 >= 50: 활성 점수 30-49: 경고 (권한 제한) 점수 < 30: 정지 (시장 참여 차단)평판은 Soulbound Token (SBT)에 바인딩된다 — 양도 불가. 시장을 포크해도 평판은 포크되지 않는다.
분쟁 이의 제기
섹션 제목: “분쟁 이의 제기”3단계로 구성되며, 패소측이 비용을 부담한다:
| 단계 | 메커니즘 | 비용 |
|---|---|---|
| 1 | 요청자의 자체 검증 | 무료 |
| 2 | 새로운 TEE에서 단독 중재자 에이전트 | 거래 금액의 5% (패소측 부담) |
| 3 | 3인 패널, 다수결 | 거래 금액의 15% (패소측 부담) |
비공개 코드 감사
섹션 제목: “비공개 코드 감사”가장 강력한 기능: 소스코드를 공개하지 않고 감사받는다.
요청자의 코드는 암호화되어 TEE에 입력된다. 복호화는 엔클레이브 내부에서만 이루어진다. 수행자 에이전트는 TEE 내부에서 분석한다. 밖으로 나오는 것은: “취약점 존재 여부 (예/아니오) + 요청자를 위한 암호화된 패치”뿐이다. 소스코드는 엔클레이브를 벗어나지 않는다. 노드 운영자조차 볼 수 없다.
이는 외부에 소스코드를 공유할 수 없는 산업 — 금융, 헬스케어, 방위산업 — 으로의 진입을 가능하게 한다.
도메인 확장
섹션 제목: “도메인 확장”에스크로 레이어는 도메인에 구애받지 않는다. 검증 로직은 플러그인이다.
Phase 1: 스마트 컨트랙트 보안 감사 (현재)Phase 2: 일반 코드 리뷰Phase 3: 데이터 무결성 검증Phase 4: AI 모델 보안 (적대적 견고성)
하위 레이어 (도메인 독립): 에스크로, 매칭, 정산, 평판상위 레이어 (플러그인): 도메인별 검증 프로토콜상시 재감사 모델
섹션 제목: “상시 재감사 모델”시점 기반 보안의 문제
섹션 제목: “시점 기반 보안의 문제”현재 크립토 보안 모델은 세 단계로 구성된다: 테스트, 감사, 버그 바운티. 그러나 이 세 가지를 모두 따른 프로토콜도 해킹을 당한다. 왜인가?
- 감사는 특정 시점의 평가이지, 미래를 보장하지 않는다. 환경은 변한다 — 설정이 바뀌고, 의존성이 업그레이드되고, 안전하다고 여겼던 패턴이 위험한 것으로 드러난다.
- 버그 바운티는 구조적으로 수동적이다 — 블랙햇보다 화이트햇이 먼저 버그를 찾기를 기대한다. 성숙하고 검증된 프로토콜의 경우, 기대값이 낮아서 정예 연구자들이 굳이 들여다보지 않는다.
- 바운티 인센티브가 잘못 정렬되어 있다 — 바운티가 TVL에 비례해 커지면, 연구자는 취약점을 쥐고 프로토콜이 성장하기를 기다릴 유인이 생긴다. 연구자는 지연에서 이익을 얻고, 프로토콜은 피해를 입는다.
- 보안 예산은 위험과 함께 확장되지 않는다 — 프로토콜의 재정으로 보안 비용을 충당하지만, 공격자는 TVL을 노린다. 본질적으로 다른 자본 풀이다.
(이 분석은 samczsun의 연간 재감사 논거에서 참고했다. 그는 업계가 프로토콜 보안의 네 번째 단계로 정기적 재감사를 채택해야 한다고 주장한다.)
Lethe가 이를 해결하는 방법
섹션 제목: “Lethe가 이를 해결하는 방법”트리거 설정이 가능한 상시 바운티. LetheMarket은 상시 바운티를 지원한다 — 요청자가 ROSE 풀을 예치하면 시간이 지나면서 여러 번의 감사 비용을 충당한다. 각 감사는 풀에서 일부를 인출한다. 트리거 모드는 이미 온체인에 구현되어 있다:
일회성: 요청자 → 바운티 → 감사 → 정산 → 종료
상시: 요청자 → 상시 바운티 → 감사 → 정산 → 대기 → 감사 → 정산 → ... (자동화된 사이클, 각 감사는 새로운 TEE 인스턴스)
트리거 모드 (조합 가능): ON_CHANGE (0x01) — 새로운 커밋이 감지되면 감사 PERIODIC (0x08) — 고정 스케줄로 감사 (일 단위 설정) ON_CVE (계획 중) — 관련 CVE 공개 시 감사 ON_RULE_UPDATE (계획 중) — Semgrep 규칙셋 업데이트 시 감사보류-관망 인센티브 제거. 취약점 정보가 각 감사 후 소거되므로, 수행자가 취약점을 쥐고 TVL이 성장하기를 기다릴 이유가 없다. 정보가 전략적으로 타이밍을 잡을 만큼 오래 존재하지 않는다.
에이전트를 통한 비용 효율. 인간 재감사는 비싸다 — 건당 $5만~$20만. 에이전트 기반 TEE 감사는 재감사의 한계 비용을 대폭 낮춰, 소규모 프로토콜도 정기 감사를 경제적으로 운영할 수 있게 한다.
이벤트로서의 감사가 아닌, 인프라로서의 감사. 장기 비전은 보안 감사가 모니터링이나 CI/CD처럼 상시 백그라운드 인프라가 되는 것이다 — 배포 직전에 한 번, 이후 연 1회 정도 발생하는 고비용 이벤트가 아니라.
온체인 메커니즘은 구현되어 있다. TEE 워커가 설정 가능한 간격으로 컨트랙트를 폴링하고, 트리거 조건을 확인하며, 자동으로 감사를 실행한다. 결제 스트리밍과 사이클 간 취약점 발견 중복 제거는 추가 설계가 필요하다. 제안을 환영한다.
인프라
섹션 제목: “인프라”| 레이어 | 선택 | 이유 |
|---|---|---|
| 에스크로 + 정산 | Oasis Sapphire (EVM) | 기밀 스마트 컨트랙트, 기본으로 암호화된 상태 |
| TEE 실행 | Oasis ROFL (Intel TDX) | 하드웨어 어테스테이션 컨테이너, 온체인 신원 검증 |
| TEE 어테스테이션 | roflEnsureAuthorizedOrigin() | Sapphire 네이티브 TEE 신원 확인, 외부 오라클 불필요 |
| 레포 접근 | GitHub App | 설치 토큰 (1시간 만료), 설치된 레포로 범위 제한 |
| 수행자 분석 | 에이전트 선택 | Claude Code, opencode, Semgrep, Slither, 커스텀 — 도구 무관 시장 |
| 시장 인터페이스 | pora (Rust CLI + MCP) | Rust 바이너리 — 에이전트는 MCP (pora mcp), 인간은 CLI로 연결 |
| 에이전트 신원 | ERC-8004 (계획 중) | 3-Registry 표준 (신원 + 평판 + 검증) |
TEE 한계 — 솔직한 평가
섹션 제목: “TEE 한계 — 솔직한 평가”TEE 하드웨어는 과거에 침해된 바 있다:
- Foreshadow (Intel SGX, 2018)
- Plundervolt (Intel SGX, 2019)
- SGAxe (Intel SGX, 2020)
- AEPIC Leak (Intel SGX, 2022)
Lethe의 핵심 전제 — “정보는 TEE 내부에만 존재한다” — 는 TEE 자체만큼만 강하다.
완화 방안
섹션 제목: “완화 방안”- 멀티 벤더 TEE — Intel SGX + AMD SEV + ARM TrustZone 혼합. 단일 벤더 취약점이 시장 전체를 무너뜨리지 않는다.
- ZK 전환 — 장기적으로 하드웨어 신뢰를 수학적 증명으로 대체. 현재 LLM 추론에는 비현실적이지만, 빠르게 발전하고 있다.
- 지속적 자체 감사 — 시장 자체의 에이전트로 TEE 인프라를 감사한다.
TEE 기반 소거가 현재 사용 가능한 최선의 프리미티브라고 믿는다. 완벽하지 않다. 무결함을 주장하는 프로젝트를 보안 커뮤니티가 당연히 불신하기 때문에, 이를 공개적으로 밝힌다.
단계별 구조
섹션 제목: “단계별 구조”| 단계 | 목표 | 상태 |
|---|---|---|
| 0 | 로컬 시뮬레이션 — 블록체인 없이 전체 사이클 | 완료 |
| 1 | 온체인 에스크로 + Base Sepolia 오프체인 실행 | 완료 (레거시 PoC) |
| 2 | Oasis Sapphire의 기밀 시장 + 실제 TEE | 완료 — 컨트랙트 배포, TEE 워커 실행, E2E 검증 |
| 2.5 | 시장 인터페이스 — 에이전트+인간 참여를 위한 pora CLI/MCP | 완료 — Rust CLI + MCP 서버 (15개 도구, 2개 리소스), 전수 테스트 완료 |
| 3 | 에이전트 기반 감사 — TEE 내부의 수행자 에이전트 (Claude Code, opencode) | 다음 — 4GB TEE에서 API 기반 에이전트 지원 |
| 4 | 멀티 수행자 시장 — 경쟁 에이전트, 평판, 분쟁 | 계획 중 |
| 5 | 도메인 확장 + 대체 TEE 백엔드 | 계획 중 |
상세 진행 상황: ROADMAP.md
이 설계는 공개 제안이다. 반박해주세요.