1,300만 원으로 이더리움을 3분간 멈추고 35억 잭팟을 턴 Fomo3D 하이스트
2018년 8월, 10,469 ETH(당시 약 35억 원)가 쌓인 악마의 도박 DApp Fomo3D. 아무도 깰 수 없던 게임을 한 익명의 천재 플레이어가 스마트 계약 해킹 대신 이더리움 블록체인 13개 블록을 물리적으로 틀어막아 잭팟을 독식한 전설의 실화.

3줄 퀵 브리핑
- 발단 / 역설2018년 여름, 24시간 카운트다운 타이머가 0이 되는 순간 마지막 티켓(Key) 구매자 1명이 금고의 모든 이더리움(10,469 ETH)을 독식하는 Fomo3D 게임이 전 세계적인 광풍을 일으켰습니다.
- 결정적 사건수만 명의 봇이 30초마다 키를 사서 게임이 영원히 끝나지 않자, 한 공격자가 6191896 블록에서 마지막 키를 산 뒤 500 Gwei 가스비로 assert(false) 트랜잭션 폭탄을 투하했습니다.
- 역사적 결말채굴자들을 돈으로 매수해 13개 연속 이더리움 블록을 100% 독점함으로써 다른 모든 참여자의 트랜잭션을 3분간 완벽히 차단했고, 타이머가 사상 최초로 0초에 도달하며 35억 잭팟을 낚아챘습니다.
사건의 흐름 한눈에 보기
익명의 개발 그룹 Team JUST가 영구 배당과 잭팟을 결합한 자율 복권 스마트 계약을 런칭하며 이더리움 가스비를 폭등시킵니다.
공격자 지갑(0x18e1...)이 타이머 3분 남은 시점에 조용히 키 1개를 구매하여 최종 우승자 후보에 오릅니다.
블록 6191897부터 6191908까지 500 Gwei 초고가 가스비로 블록당 800만 가스를 100% 장악해 타인의 거래를 전면 차단합니다.
아무도 키를 사지 못해 타이머가 0초로 만료되며, 10,469.66 ETH가 공격자 지갑으로 단독 송금됩니다.
이더리움 합의 계층의 가스 경매 취약점이 폭로되며 향후 EIP-1559 가스 개편과 MEV 봇 방어 설계의 결정적 계기가 됩니다.
1. 끝나지 않는 악마의 폰지 게임: 10,000 ETH의 유혹
2018년 여름, 익명의 개발자 그룹 'Team JUST'가 공개한 스마트 계약 게임 **Fomo3D**는 이더리움 생태계 전체를 마비시킬 정도의 거대한 광풍을 불러일으켰습니다. 게임의 룰은 단순하면서도 악마적이었습니다.
화면 중앙에는 24시간 카운트다운 시계가 째깍거리며 줄어들고 있었습니다. 누군가 소액의 ETH로 '키(Key)'를 하나 구매할 때마다 타이머에 30초가 추가되었고, 지불된 ETH는 기존 키 보유자들의 배당금과 중앙 잭팟 금고로 나뉘어 적립되었습니다.
승리 조건은 단 하나였습니다: **타이머가 00:00:00이 되는 순간, 마지막으로 키를 구매한 최후의 1인이 금고의 모든 이더리움(10,469 ETH, 당시 약 35억 원, 현재 가치 450억 원 상당)을 독식하는 것**이었습니다. 그러나 전 세계 수천 명의 플레이어와 자동 매수 봇들이 30초마다 경쟁적으로 키를 샀기 때문에 타이머는 몇 달 동안 24시간 언저리에서 요지부동이었습니다. 사람들은 이 게임을 '절대 끝나지 않을 영구 폰지'라고 불렀습니다.
2. 발상의 전환: 코드가 아니라 블록체인 자체를 멈춰라
수많은 해커들이 Fomo3D의 솔리디티(Solidity) 소스 코드를 샅샅이 뒤지며 재진입 공격(Reentrancy)이나 오버플로우 취약점을 찾으려 했지만, 코드는 수학적으로 너무나 완벽했습니다.
하지만 익명의 한 천재 공격자는 완전히 다른 각도에서 문제에 접근했습니다: **'스마트 계약을 해킹할 수 없다면, 이더리움 블록체인 네트워크 자체를 잠시 마비시켜 다른 사람들의 구매 주문을 원천 차단하면 된다.'**
2018년 당시 이더리움 블록 1개의 최대 가스 한도(Gas Limit)는 약 800만 가스였고, 블록 생성 주기는 약 14초였습니다. 또한 채굴자들은 수수료(Gas Price)를 가장 많이 제시한 트랜잭션을 우선적으로 블록에 실어주는 '최고가 입찰 방식'으로 동작했습니다. 해커는 타이머가 3분 아래로 떨어졌을 때 자신이 마지막 키를 사고, **이후 3분 동안 생성되는 모든 이더리움 블록의 용량을 자신이 100% 매수해 틀어막는 '블록 스터핑(Block Stuffing)' 작전**을 수립했습니다.
3. 솔리디티 assert() 폭탄과 13개 블록의 완전 봉쇄
2018년 8월 22일 오후, 거래량이 잠시 주춤하며 타이머가 드물게 3분 밑으로 내려앉은 순간 작전이 시작되었습니다. 공격자 지갑(`0x18e1...`)은 블록 **6191896**에서 키 1개를 전격 구매하며 순식간에 1위 자리에 올랐습니다.
직후 공격자의 자동화 봇은 사전에 배포해 둔 여러 개의 공격용 스마트 계약으로 일제히 트랜잭션을 쏟아부었습니다. 이 스마트 계약들의 핵심은 솔리디티의 `assert(false)` 명령어였습니다.
실패 시 남은 가스를 환불해 주는 `require()`와 달리, 당시 솔리디티의 `assert()`는 **트랜잭션에 배정된 수백만 가스를 강제로 100% 불태워 없애는 특성**이 있었습니다. 공격자는 트랜잭션당 무려 420만 가스를 할당하고, 당시 일반 시세(10~20 Gwei)의 25배가 넘는 **500 Gwei**의 엄청난 가스비를 걸었습니다.
"공격자는 Fomo3D 코드를 해킹한 것이 아니다. 이더리움의 경제적 합의 규칙을 역이용해 180초 동안 채굴자들을 돈으로 매수하고 전 세계를 차단한 것이다."— SECBIT Labs 포렌식 분석 보고서 (2018)
이더리움 채굴기들은 당연히 돈이 가장 많이 되는 공격자의 500 Gwei 트랜잭션들만 골라 담았습니다. 공격자의 헤비 트랜잭션 단 2~3개만으로 블록 1개의 800만 가스가 100% 꽉 차버렸고, **블록 6191897부터 6191908까지 13개 연속 블록**이 완전히 봉쇄되었습니다. 타이머를 늘리려고 다른 유저들이 보낸 수만 건의 키 구매 트랜잭션은 멤풀(Mempool)에 갇혀 블록에 단 한 건도 들어가지 못했습니다.
4. 00:00:00 도달과 35억 잭팟 수령
약 3분 동안 이더리움 네트워크에서 Fomo3D로 향하는 모든 통로가 완벽하게 침묵했습니다. 아무도 키를 사지 못하자, 몇 달 동안 불사신처럼 돌아가던 타이머는 역사상 처음으로 **00:00:00**에 도달했습니다.
스마트 계약은 즉시 우승자를 확정하고 중앙 금고에 잠겨 있던 **10,469.66 ETH** 전액을 공격자의 지갑으로 일시 송금했습니다.
이 작전의 경제적 가성비는 경악스러웠습니다. 공격자가 13개 블록을 봉쇄하는 데 지출한 가스비와 키 구매 비용은 **단 11,000달러(약 1,300만 원, 2.76 ETH)**에 불과했습니다. 단 1,300만 원을 베팅해 3분 만에 **300만 달러(약 35억 원)**를 벌어들인, 무려 27,000%의 수익률을 기록한 완전범죄였습니다.
5. 사건의 유산: EIP-1559와 MEV의 서막
Fomo3D 하이스트는 스마트 계약 보안의 패러다임을 근본적으로 뒤흔들었습니다. 개발사인 Team JUST는 비난 대신 '블록체인 게임 이론을 완벽하게 이해한 천재적인 승리'라며 공격자를 극찬했습니다.
이 사건은 블록체인 합의 계층의 가스 경매 구조가 디앱(DApp)의 비즈니스 로직을 어떻게 무너뜨릴 수 있는지를 전 세계 개발자들에게 똑똑히 각인시켰습니다.
이 공격을 계기로 블록 스터핑을 방지하기 위한 가스비 메커니즘 개편안인 **EIP-1559**가 본격 논의되기 시작했고, 오늘날 블록체인 생태계의 핵심 화두인 **MEV(Maximal Extractable Value)** 연구의 직접적인 시발점이 되었습니다.
이 사건이 남긴 핵심 교훈 (Key Takeaways)
스마트 계약 무결성을 무력화하는 합의 계층(Layer 1) 독점 공격
스마트 계약 코드에 버그가 전혀 없더라도, 게임 규칙이 트랜잭션의 시간 내 블록 포함 여부에 의존한다면 채굴자 가스 경매를 통해 무력화될 수 있습니다.
비대칭적 경제 인센티브와 가스 독점의 위험성
잭팟 상금(35억 원)이 블록 공간 독점 비용(1,300만 원)을 압도할 때, 합리적 공격자는 합법적인 고가 수수료를 통해 경쟁자들을 합법적으로 검열합니다.
코드 이즈 로(Code is Law)와 게임 이론의 잔혹한 아름다움
개발팀 Team JUST는 이를 시스템 해킹이 아닌 이더리움 경제 규칙을 완벽하게 활용한 승리라고 인정하며 블록체인의 비정한 현실을 증명했습니다.
출처 및 참고 자료
- 출처 1: SECBIT Labs: How the Winner Got the Fomo3D 10,469 ETH PrizeSECBIT · 2018-08-22
- 출처 2: The Next Web: How someone gamed Ethereum to win $3M in Fomo3DThe Next Web · 2018-08-23
- 출처 3: Bitcoin.com: Fomo3D Round 1 Ends as Winner Takes 10,469 ETHBitcoin.com · 2018-08-23