교육 목적으로만 제공되며 투자 조언이 아닙니다. 투자로 인해 손실이 발생할 수 있습니다.
핵심 답변
플래시 론은 하나의 원자적 트랜잭션이 진행되는 동안만 사용할 수 있는 스마트 컨트랙트 유동성입니다. 전형적인 방식에서는 대출 컨트랙트가 해당 트랜잭션이 끝나기 전에 원금과 수수료를 돌려받도록 요구하므로 차입자가 담보를 제공하지 않습니다. 필요한 결제가 이루어지지 않으면 실행이 되돌려지고 해당 트랜잭션의 상태 변경은 남지 않습니다.
이 설계를 이용하면 운영자가 원금 전액을 미리 마련하지 않고도 컨트랙트가 임시 자본으로 차익거래, 청산, 담보 교환 또는 부채 리파이낸싱을 수행할 수 있습니다. 그렇다고 공짜 돈이 생기는 것은 아닙니다. 전략은 대출 수수료, 거래 수수료, 슬리피지, 가스비뿐 아니라 불리한 체결이나 MEV까지 감당해야 합니다. 일부 프로토콜 변형에서는 즉시 상환하는 대신 일반 부채 포지션을 개설할 수 있지만, 이 방식에는 담보 또는 신용 위임이 필요하며 무담보 플래시 론과 혼동해서는 안 됩니다.
플래시 론은 유용한 트랜잭션과 공격 모두의 영향력을 키울 수 있습니다. 플래시 론은 자본을 공급할 뿐이며, 손실을 일으키는 익스플로잇에는 조작 가능한 가격 입력값, 잘못된 회계 처리, 안전하지 않은 콜백 또는 거버넌스 규칙과 같은 별도의 약점이 필요합니다.
작동 방식
- 요청: 수신 컨트랙트가 유동성 풀에
10,000,000 USDC와 같은 자산 및 수량을 요청하고 전략에 필요한 매개변수를 전달합니다. - 전송 및 콜백: 풀이 자산을 전송한 다음 수신 컨트랙트를 호출합니다. 모든 스왑, 청산, 상환 또는 담보 변경은 동일한 트랜잭션 안에 중첩된 컨트랙트 호출을 통해 이루어집니다.
- 전략 실행: 수신 컨트랙트가 임시 자금을 사용합니다. 외부 호출은 컨트랙트 재진입을 일으키거나 예상 밖의 가격을 만들 수 있으므로, 구현 시 명시적인 접근 제어, 입력값 검증, 슬리피지 한도 및 안전한 승인 처리가 필요합니다.
- 결제 확인: 수신 컨트랙트가 상환액의 인출을 승인하거나 직접 전송합니다. 단순한 Aave 방식에서는 콜백 후 풀이 원금과 프리미엄을 인출하며, 잔액이나 허용량이 부족하면 트랜잭션이 되돌려집니다.
- 원자적 결과: 모든 호출이 성공하면 최종 상태가 기록됩니다. 처리되지 않은 오류가 발생하거나 결제에 실패하면 Solidity의 상태 되돌림 예외가 해당 호출과 하위 호출에서 발생한 변경을 취소합니다. 다만 송신자는 실패한 트랜잭션에 사용된 가스비를 잃을 수 있습니다.
원자성은 대출 기관의 트랜잭션 내 신용 익스포저를 없애지만, 차입자의 전략이 수익성이 있거나 비공개로 유지되거나 올바르게 코딩되었다고 보장하지는 않습니다. 이용 가능한 유동성, 지원 자산, 프리미엄, 콜백 인터페이스, 부채 전환 옵션 및 일시 중지 제어는 프로토콜마다 다르며 거버넌스를 통해 변경될 수 있습니다.
예시
한 컨트랙트가 10,000,000 USDC를 빌려 한 풀에서 자산을 매수하고 다른 풀에서 매도한다고 가정해 보겠습니다. 원금을 A, 플래시 론 수수료를 F, 가스비와 실행 비용을 G, 슬리피지와 기타 거래 비용을 S, 매도 대금으로 받은 USDC를 R이라고 하면, 단순화한 손익분기 조건은 R >= A + F + G + S입니다.
두 차례 스왑으로 10,012,000 USDC를 돌려받고, 원금과 수수료를 포함한 대출 상환액이 10,009,000 USDC이며, 가스비와 기타 실행 비용이 2,000 USDC라고 가정하겠습니다. 단순화한 이익은 10,012,000 - 10,009,000 - 2,000 = 1,000 USDC입니다.
이처럼 겉으로 보이는 마진은 트랜잭션이 블록에 포함되기 전에 사라질 수 있습니다. 다른 서처가 트랜잭션을 복제하거나 더 높은 조건을 제시할 수 있고, 풀 준비금이 바뀌거나 토큰에 예상치 못한 전송 수수료가 부과되거나 가스를 소비한 뒤 트랜잭션이 되돌려질 수도 있습니다. 컨트랙트는 허용 가능한 최소 출력량을 강제하고 실제 결과가 그보다 낮으면 되돌리도록 해야 합니다. 대시보드의 견적은 실행 가능한 이익이 아닙니다.
위험
- 전략 및 컨트랙트 위험: 코딩 오류, 안전하지 않은 승인, 악성 토큰, 재진입 경로 또는 잘못된 콜백 권한 부여로 인해 수신 컨트랙트가 이미 보유한 자금을 잃을 수 있습니다.
- 가격, 유동성 및 슬리피지 위험: 준비금이 변하면 표시된 스프레드가 사라질 수 있습니다. 유동성이 얕은 풀에서는 가격 충격이 심할 수 있으며, 조작 가능한 현물 시장에 기반한 오라클은 임시 자본으로 프로토콜의 판단을 왜곡할 수 있습니다.
- MEV 및 순서 위험: 공개된 대기 트랜잭션은 복제, 샌드위치, 프런트러닝 또는 백러닝의 대상이 될 수 있습니다. 비공개 제출은 일부 익스포저를 줄이지만 빌더나 릴레이에 대한 의존성을 만들며 블록 포함을 보장하지도 않습니다.
- 수수료 및 되돌림 위험: 대출 프리미엄, 거래소 수수료, 가스비, 토큰 전송 수수료 및 우선순위 수수료를 모두 충당해야 합니다. 거래가 되돌려지면 상태 변경은 취소되더라도 일반적으로 가스비는 손실됩니다.
- 프로토콜 및 거버넌스 위험: 일시 중지, 업그레이드, 프리미엄 변경, 유동성 인출, 오라클 장애 및 연동된 프로토콜 중 하나의 장애로 인해 원래 타당했던 전략이 무효가 될 수 있습니다.
- 운영 및 법적 위험: 탈취된 키, 잘못된 주소, 신뢰할 수 없는 자동화, 제재, 세금 또는 관할권별 기타 규칙으로 인해 스마트 컨트랙트 계산 밖에서 손실이나 의무가 발생할 수 있습니다.
프로토콜 검토자에게 사고 추적 기록 속 플래시 론은 임시 자금 조달의 증거일 뿐 근본 원인의 증거는 아닙니다. 상태 전이를 재현하고 어떤 불변 조건, 가격 출처, 권한 또는 회계 규칙이 가치 유출을 허용했는지 식별해야 합니다.
흔한 오해
오해 1: 플래시 론은 공짜 자본이다
플래시 론은 엄격한 결제 조건이 적용되는 임시 유동성입니다. 실행 가능한 전략은 필요한 금액을 상환하고도 모든 실행 비용을 충당해야 합니다. 그렇지 않으면 트랜잭션이 되돌려지거나 손실이 발생합니다.
오해 2: 차입자는 같은 블록의 나중 시점까지 자금을 보유할 수 있다
전형적인 대출은 단순히 같은 블록 안의 어느 시점이 아니라 동일한 트랜잭션 호출 스택 안에서 결제되어야 합니다. 자금을 지갑으로 옮겼다가 이후 트랜잭션에서 갚을 수는 없습니다.
오해 3: 원자적 실행은 손실 위험이 전혀 없다는 뜻이다
원자성은 처리되지 않은 실패 이후 상태 변경을 되돌리지만 이미 소비된 가스비를 환불하지는 않습니다. 또한 잘못된 가격 책정, 유출된 승인, MEV 또는 수신 컨트랙트가 호출 전에 보유하던 자금의 손실도 막지 못합니다.
오해 4: 모든 플래시 론은 공격이다
차익거래, 청산, 담보 교환 및 부채 리파이낸싱은 정상적인 용도입니다. 익스플로잇의 원인은 결함이 있는 오라클, 권한, 회계, 거버넌스 또는 콜백 가정이며, 플래시 론은 이를 악용할 만큼 충분한 임시 자본을 제공할 뿐일 수 있습니다.
오해 5: 표시된 스프레드가 크면 이익이 보장된다
이익은 모든 수수료와 슬리피지를 반영한 실행 가능 가격 및 트랜잭션 순서에 따라 결정됩니다. 목표 블록 상태를 기준으로 시뮬레이션하고, 최소 출력량을 설정하며, 실패했거나 경쟁에서 밀린 트랜잭션도 실제 비용으로 간주해야 합니다.
관련 주제
출처
- FlashLoanLogic.sol - Aave DAO(열람일: 2026-08-20)
- Expressions and Control Structures - Solidity(열람일: 2026-08-20)
- DeFi risks and the decentralisation illusion - Bank for International Settlements(열람일: 2026-08-20)