0x와 Uniswap의 공개 맞대결: 절반 이상의 v4 Hook이 악성으로 분류, 개방성의 대가는 누가 치러야 하나?
- 핵심 관점: 0x 보고서는 Uniswap v4의 절반 이상 Hook에 악성 위험이 존재한다고 밝혔고, Uniswap 창업자는 이는 무허가 시스템의 필연적 대가이며 안보 필터링은 프로토콜 레이어가 아닌 애플리케이션 레이어가 담당해야 한다고 응답했다.
- 핵심 요소:
- 0x는 6개 체인上的 84,163개 Hook을 분석한 결과, 19.4%만 안전하고 54.2%는 악성, 26.4%는 악성 의심으로 나타났다.
- 악성 Hook은 "호가 기만" 공격을 통해 실행 환경을 감지하고 매개변수를 무작위로 교체하며 최대 18%의 숨겨진 수수료를 부과했고, 극단적 사례에서는 사용자 실수령액이 호가보다 50% 적었다.
- 0x 플랫폼은 2026년 이후 8,192만 건의 거래를 라우팅했고 거래액은 426.7억 달러이며, 약 70%가 Uniswap 유동성과 관련된다.
- Hayden Adams 응답: 악성 컨트랙트는 v4만의 문제가 아니며, 공식 API는 심사를 거친 Hook만 연동하고, 애그리게이터는 자신의 라우팅 결정에 책임을 져야 한다.
- 84,163개 Hook은 분석 총량이며 사용자 실제 상호작용량이 아니고, 다수의 좀비 Hook을 포함한다.
- 논쟁의 핵심은 무허가 시스템의 개방성과 악성 행위의 공생이라는 DeFi의 오래된 문제이며, v4 Hook 시스템은 Uniswap의 최대 아키텍처 전환이다.
- 사용자는 Uniswap 공식 프런트엔드를 통하면 위험이 낮고, 제3자 애그리게이터를 통하면 위험은 그 필터링 능력에 달려 있으며, 직접 온체인 상호작용은 위험이 가장 높다.
원문 작성자: 小饼
DEX 애그리게이터 0x가 9월 14일 데이터 폭탄을 던졌다. 팀이 6개 체인의 84,163개 Uniswap v4 Hook을 분석한 결과, 9월 11일 기준 안전하다고 판정된 Hook은 19.4%에 불과했으며, 54.2%는 악성, 26.4%는 악성 의심으로 분류됐다.
Uniswap 창립자 Hayden Adams는 이후 X에서 이에 대응했는데, 핵심 입장은 악성 Hook의 존재는 무허가 시스템의 필연적 부산물이지만, 사용자가 Uniswap 공식 API와 검증된 프런트엔드를 통해 거래하면 이러한 악성 풀에 접촉하지 않는다는 것이다. 문제는 v4의 아키텍처 설계가 아니라 애그리게이터의 라우팅 필터링 능력에 있다.
DeFi의 '개방성' 비용에 관한 논쟁이 이렇게 두 헤드 프로토콜 사이에서 공개적으로 폭발했다.
0x의 혐의: 견적 사기
0x가 설명한 공격 패턴은 매우 구체적이다. 악성 Hook이 애그리게이터 견적 조회 단계에서 매우 경쟁력 있는 견적을 제시해 라우팅 엔진이 거래를 자신의 풀로 유도하도록 한다. 그러나 실제 거래 실행 시 Hook이 가격 책정 매개변수를 조작하거나 징벌적 수수료를 주입해 사용자가 실제로 받는 자산이 견적보다 훨씬 적어지게 만든다.
0x는 이 공격을 '견적 사기'(Quote Spoofing)로 정의했다. 기술적 구현 수단으로는 EVM 실행 환경 감지(시뮬레이션 호출과 실제 거래를 구분해 실제 거래에서만 조작), 매개변수 무작위 교체(탐지 시스템이 악성 행위를 안정적으로 재현하기 어렵게 함), 그리고 활발한 거래 쌍에서 최대 18%의 숨겨진 수수료 징수가 포함된다.
가장 극단적인 사례에서는 사용자가 실제로 받은 자산이 견적보다 50% 적었다. 0x는 이러한 악성 Hook이 슬리피지 허용 범위를 느슨하게 설정한 사용자로부터 수십만 달러를 추출했다고 밝혔다.
0x 자체 데이터에 따르면 2026년 이후 플랫폼은 8,192만 건의 거래를 라우팅했고 거래액은 426억 7천만 달러이며, 그중 약 70%가 Uniswap 유동성과 관련된다. Uniswap 유동성의 최대 외부 유통 채널 중 하나로서 0x는 이 문제를 해결할 직접적인 상업적 동기가 있다. 악성 Hook이 손상시키는 것은 0x 사용자의 거래 경험이며, 나아가 0x 자체의 브랜드 신뢰와 거래량에 영향을 미치기 때문이다.
Hayden Adams의 대응
Adams의 반박 논리는 세 층으로 정리할 수 있다:
누구나 이더리움에서 악성 컨트랙트를 만들 수 있으며, 이는 v4만의 문제가 아니다. 악성 ERC-20 토큰, 허니팟 컨트랙트, Rug Pull 풀은 v2와 v3 시대에도 대량으로 존재했다. Hook은 악성 행위에 새로운 기술적 매개체를 제공했을 뿐, 공격의 본질은 변하지 않았으며 여전히 사용자의 온체인 자산 안전성에 대한 기본적 신뢰를 이용하는 것이다.
Uniswap 공식 프런트엔드와 API는 검증된 Hook만 연결한다. Uniswap의 Niko(@saintniko, Uniswap 제품팀 멤버)는 같은 시점에 Uniswap 공식 API를 통해 거래하는 사용자는 검증된 Hook에만 접촉한다고 명확히 밝혔다. Uniswap의 입장은 명확하다: 프로토콜 계층은 개방적이지만, 애플리케이션 계층은 이미 필터링을 적용했다.
애그리게이터는 자신의 라우팅 결정에 책임을 져야 한다. 만약 0x의 라우팅 엔진이 무차별적으로 8만 개가 넘는 검증되지 않은 Hook을 연결했다면, 그것은 애그리게이터 자체의 리스크 관리 결함이다. 어떤 증권 거래소도 장외 사기에 책임을 지지 않듯, Uniswap 프로토콜은 제3자 애그리게이터의 라우팅 실수에 책임을 질 필요가 없다.
0x의 데이터 자체는 충분히 충격적이지만, 몇 가지 차원을 주의할 필요가 있다:
84,163개의 Hook은 '분석된' 총량이며, '사용자가 상호작용한' 총량이 아니다. 이 숫자에는 실제 거래가 한 번도 없었던 좀비 Hook이 대량 포함되어 있다. 이들은 배포되었지만 라우팅된 적이 한 번도 없을 수 있다. 이더리움에 배포된 모든 컨트랙트를 통계내면 90% 이상이 한 번도 호출된 적이 없을 수 있지만, 여전히 기준 수에 포함된다.
논쟁의 진정한 핵심
기술적 세부 사항과 설전을 걷어내면, 0x와 Uniswap 사이의 분열은 DeFi의 오래된 문제를 가리킨다: 무허가 시스템(permissionless system)의 개방성은 필연적으로 악성 행위자의 진입을 동반한다.
v4의 Hook 시스템은 Uniswap 역사상 가장 큰 아키텍처 도약이다. v2와 v3의 풀 로직은 고정되어 있어 모든 풀의 동작이 전적으로 프로토콜 코드에 의해 결정된다. v4는 풀의 동작을 개발자에게 개방해 누구나 커스텀 로직을 작성하고 거래 전후에 임의의 코드를 실행할 수 있게 했다. 이는 StablePair Hook(동적 수수료), DualPool Hook(유휴 자금 수익), Permissioned Pools(규정 준수 검증) 같은 혁신을 가져왔지만, 악의적 이용의 문을 여는 것도 불가피했다.
Uniswap의 논리는 개방성이 창출하는 가치가 악성 행위로 인한 손실보다 훨씬 크며, 보안 필터링은 애플리케이션 계층(프런트엔드, API, 애그리게이터)에서 완료해야 하고 프로토콜 계층에서 혁신을 제한해서는 안 된다는 것이다.
이는 이더리움 자체의 설계 철학과 일치한다. 이더리움은 악성 컨트랙트 배포를 막지 않지만, 지갑과 프런트엔드가 이를 필터링한다.
0x의 논리는 Hook의 절반 이상이 악성일 때 애플리케이션 계층의 필터링 부담이 이미 불합리할 정도로 커졌다는 것이다. 프로토콜 계층은 최소한 다운스트림이 악성 Hook을 식별하고 격리할 수 있도록 더 나은 도구를 제공해야 한다. 0x는 자체 탐지 기술과 자금 풀 감사를 통해 악성 풀이 라우팅에 진입하는 것을 차단했다고 밝혔지만, 이 군비 경쟁의 비용은 점점 높아지고 있다.
사용자에 대한 실제 영향
Uniswap 공식 프런트엔드(app.uniswap.org)를 통해 거래한다면 악성 Hook의 영향을 받을 위험은 낮다. Uniswap은 자사 API가 검증된 Hook만 연결한다고 주장하기 때문이다.
제3자 애그리게이터(0x, 1inch, Paraswap 등)를 통해 거래한다면 위험은 이러한 애그리게이터의 Hook 필터링 능력에 달려 있다. 0x는 자체적으로 탐지 및 차단 메커니즘을 구축했다고 밝혔으며, 다른 애그리게이터의 방어 수준은 각기 다르다.
온체인 컨트랙트와 직접 상호작용한다면(Etherscan 또는 커스텀 스크립트를 통해) 악성 Hook의 위험에 완전히 노출된다. 이는 고급 사용자의 영역이며, 위험이 가장 높은 시나리오이기도 하다.
간단한 자기 보호 원칙: 거래 프런트엔드가 v4 Hook에 대한 필터링 메커니즘을 갖추고 있는지 확인하라. 확실하지 않다면 Uniswap 공식 프런트엔드를 고수하라. 합리적인 슬리피지 허용 범위를 설정하라. 0x의 보고서에 따르면 악성 Hook은 주로 슬리피지를 너무 느슨하게 설정한 사용자를 겨냥한다.


