주의력은 자산이다: 신세대 예측 시장의 시스템적 안전 위험과 ExVul의 방어 방법론
近 2년 동안, 예측 시장(Prediction Markets)은 주변 실험에서 주류 금융 인프라로의 변화를 겪고 있습니다. 데이터가 이 추세를 뒷받침합니다: Polymarket는 2024년 미국 대선 기간 동안 월 거래량이 10억 달러를 돌파했으며, 누적 거래액은 50억 달러를 초과했습니다; 규제 준수 파생상품 거래소 Kalshi도 세쿼이아 캐피탈의 주도로 1억 달러 이상의 자금을 확보했습니다.
자금 규모의 폭발과 함께, 제품 형태도 단순한 이진 베팅(Binary Betting)에서 더 복잡한 금융 파생상품으로 발전하고 있습니다------「주의 예언기」(Attention Oracle)、「영향력 시장」(Impact Markets)、가상 스포츠 조합 베팅 등 새로운 개념이 쏟아지고 있습니다. 현재의 예측 시장은 실제 자금에 의해 구동되는 확률, 영향력 및 인간의 주의를 복잡하게 가격 책정하는 금융 시스템입니다.
그러나 복잡한 게임 관계를 스마트 계약에 '고정'하는 시스템은 더 높은 차원의 보안 위험에 노출될 수밖에 없습니다. 본문에서는 Web3 보안의 관점에서 예측 시장이 직면할 수 있는 핵심 보안 위험을 체계적으로 정리하고, 실제 사례와 함께 방어 방안을 제시하며, ExVul이 예측 시장 프로젝트에 제공할 수 있는 전문 보안 서비스도 소개합니다.
1. 예측 시장이 직면한 주요 보안 위험
1. 스마트 계약 취약점: 복잡한 비즈니스 아래의 보이지 않는 살인자
예측 시장은 자금 관리, 베팅, 정산, 배당률 계산, 수수료 분배, 조건 자산 분할(예: Trump-BTC / Kamala-BTC) 등 복잡한 논리를 관리하기 위해 스마트 계약에 크게 의존합니다. 계약에 취약점이 존재할 경우, 공격자는 자금을 직접 탈취하거나 시장 결과를 조작할 수 있으며, 심지어 자금을 영구적으로 잠글 수도 있습니다.
일반적인 위험에는 다음이 포함됩니다:
재진입 공격, 권한/`delegatecall` 남용으로 인해 자금이 악의적으로 이전됨;
청산 및 정산 논리 설계 부적절, 경계 조건(이벤트 취소, 장기 미발생) 처리 누락;
조건 자산의 발행/소각 불균형으로 인해 다중 발행, 소각 부족 또는 이중 지불 발생;
영구 계약, AMM 가격 공식 구현이 엄격하지 않아 예언기 가격과 자금 풀 상태가 심각하게 이탈;
업그레이드 계약 또는 대리 계약의 권한이 강화되지 않아 운영자나 공격자에 의해 남용됨.
실제 사례: 주문 체결 중 "정밀 절단 취약점"으로 인해 주문 자금이 지속적으로 소진됨
Opinion Labs의 체결 레이어 감사에서 엔지니어는 매우 대표적인 정밀 경제 공격(Precision Attack) 유형을 발견했습니다. 이 취약점은 권한 제어에 의존하지 않으며, 예언기를 조작할 필요도 없이 정수 나눗셈의 절단 행동을 이용하여 안정적으로 주문 측으로부터 이익을 얻을 수 있습니다.
전형적인 체결 공식은 대략 다음과 같습니다:
```solidity
takingAmount = makingAmount * takerAmount / makerAmount;
```
공격자가 지속적으로 극소량의 `makingAmount`(정수 나눗셈에서 결과가 0으로 절단될 만큼 작음)를 제출할 경우, 시스템은 위험한 상태에 빠지게 됩니다:
`takingAmount = 0` ------ 공격자는 이번 거래에서 어떤 토큰도 지불할 필요가 없습니다;
그러나 `makingAmount`는 여전히 메이커의 주문 잔액에서 실제로 차감됩니다;
이러한 "극소 거래"의 주문 요청을 반복 제출함으로써, 공격자는 지속적이고 무위험하게 주문 측 자금을 조금씩 소진할 수 있습니다.
공격 경로는 다음과 같이 요약할 수 있습니다:
공격자는 목표 주문을 선택하고, 극소량의 `makingAmount`와 상대적으로 큰 `takerAmount`의 주문 매개변수를 구성합니다;
정수 절단으로 인해, `takingAmount`는 계산 시 0이 됩니다;
체결 논리는 여전히 "거래 성공"으로 간주하고, 메이커 계좌에서 `makingAmount`를 공격자에게 전송합니다;
공격자는 수백, 수천 번 이러한 소액 거래 호출을 반복 실행하여 결국 전체 주문을 소진합니다.
예측 시장 시나리오에서 이러한 문제는 특히 치명적입니다. 그 이유는:
주문서에는 종종 깊은 유동성이 걸려 있습니다(시장 조성 로봇, 전문 LP);
조건 자산(Yes/No Token), 조합 포지션(예: Trump-BTC / Kamala-BTC) 등의 구조로 인해 주문이 더욱 분산되고 수가 많아집니다;
고빈도 소액 거래 자체가 정상 거래 행동의 일부이므로, 육안으로 이상을 발견하기가 더 어렵습니다.
따라서 진지한 예측 시장 시스템에서는 모든 체결 및 정산 관련 정수 연산이 다음과 같아야 합니다:
최소 거래량(min fill) 제한을 설정하여, 지나치게 작고 "정밀을 훔치기" 위한 거래를 거부합니다;
핵심 경로에서 `takingAmount > 0` / `makingAmount > 0`를 명시적으로 확인하고, 그렇지 않으면 직접 `revert`합니다;
체결 모듈에 대해 대규모 퍼징 테스트 및 경계 조건 테스트를 수행하며, 특히 "극소 금액 / 극단 가격"의 조합 상황에 주의합니다.
그렇지 않으면, 겉보기에는 단순한 "반올림 오류"처럼 보이는 작은 문제가 실제로는 공격자가 보는 무권한 인출기로 발전할 수 있습니다.
방지 조치:
예측 시장 비즈니스 모델에 대한 전문 스마트 계약 보안 감사를 수행하여 자금 흐름, 상태 기계, 권한 모델, 실패 모드를 포괄합니다.
핵심 불변량(자금 보존, 자산 1:1 대응, 청산 후 잔액 등)에 대해 형식적 검증 및 모델 검사를 수행합니다.
성숙한 오픈 소스 구성 요소(표준 토큰, 권한 제어, 업그레이드 프레임워크)를 최대한 재사용하여 새로운 함정을 피합니다.
Testnet 및 포크 환경에서 대규모 퍼징 테스트 및 경제 공격 시뮬레이션을 수행하여 극단적인 상황에서의 정산 및 환불 경로를 포괄합니다.
제어 가능한 업그레이드 및 긴급 중단(circuit breaker) 메커니즘을 채택하고, 다중 서명 + 시간 잠금을 관리합니다.
2. 예언기 공격: 가격에서 '주의'의 조작 가능성까지
전통적인 예측 시장은 예언기가 가격 및 외부 사건 결과를 제공하는 데 의존합니다; 반면 예측 시장 2.0의 주의 예언기는 종종 소셜 미디어 데이터, 검색 트렌드(예: Google Trends), 뉴스 출처 등 여러 입력을 통합합니다.
이로 인해 발생하는 위험은 한편으로는 오래된 문제이고, 다른 한편으로는 새로운 도전입니다:
가격/결과 예언기:
플래시 론을 이용해 단기 가격을 조작하여 가격을 공급함;
데이터 소스가 단일 거래소 또는 기관에 집중되어 있어, 악의적 행위나 다운타임이 발생할 경우 정산에 직접적인 영향을 미침;
L2 → L1 메시지 브리지 오류 또는 공격으로 인해 결과 보고에 이상이 발생함.
주의 예언기:
클릭 수 조작, 마녀 공격, 봇 계정을 통해 소셜 미디어 데이터를 조작함;
유동성이 낮은 소형 예측 시장을 이용해 저비용으로 기본 '주의 입력'을 끌어올림;
다중 플랫폼 연동을 통해 한 플랫폼의 데이터를 조작하여 다른 플랫폼의 지수 정산에 영향을 미침.
실제 사례: 2025년 Polymarket 전쟁 지도(war map)는 단일 데이터 제공자에 의존하여 심각한 논란이 발생함.
사건에서 Polymarket이 사용한 유일한 정산 출처(ISW 지도)는 시장 마감 약 1시간 전에 갑자기 특정 논란 지역을 "전선 진전 / 전선 변화"로 표시하여 해당 시장 가격이 즉시 촉발되었으나, 시장 정산이 완료된 후 해당 표시는 즉시 롤백되었습니다.
커뮤니티 추적자는 다음과 같이 지적했습니다:
당시 모든 독립 제도자들은 해당 지역을 점령되었거나 변화가 발생했다고 표시하지 않았음;
러시아군의 진입이나 진전과 관련된 제3자 보도가 없음;
변화는 시장의 매우 민감한 정산 전 창구에서 발생함;
롤백은 정산이 막 완료된 후 발생함;
모든 작업은 시장 대상이 명확히 지정된 "핵심 경계점"에서 발생함.
거래자에게 이는 "단일 예언기가 마지막 시간에 시장의 운명을 바꿀 수 있다"는 것과 같습니다.
악의가 존재하든 아니든, 이 사건은 충분히 드러냅니다:
단일 Web2 데이터














