본문 바로가기

암호화폐 정보

디파이(DeFi) 플래시 론(flash loan)이란 무엇인가요?

 

안녕하세요, Encleiv입니다.

 

최근에 바이낸스 스마트 체인(BSC) 기반 프로젝트들이 최근 연달아 플래시 론 공격 등에 노출되며 이번달들어 BSC 생태계 프로젝트들의 해킹 피해액이 1.57억 달러를 넘어선 것으로 나타났습니다.

 

오늘은 탈중앙화 금융 생태계의 플래시 론에 대해 자세히 참고하실 수 있도록 잘 정리된 자료들을 기반으로 플래시 론에 대해서 요약과 정리를 해볼려고 합니다.

 


 

#1. 개요

 

아무런 담보 없이 낯선 이에게 자금을 빌려줄 수 있을까요?

차용자가 자금이 발행되는 동일 트랜잭션 내에 자금을 상환하도록 하는 단 한 가지 조건에서는 가능합니다.

이상한 소리 같지 않나요?

몇 초 후에 되갚아야 하는 대출금으로 무엇을 할 수 있을까요?

 

여러분은 동일한 트랜잭션 내에서 스마트 컨트랙트를 호출할 수 있습니다.

대출을 통해 더 많은 돈을 벌 수 있다면, 단 몇 초 만에 자금을 상환하고 수익을 가져갈 수 있습니다.

하지만 그렇게 쉬운 일은 아닙니다.

탈중앙화 금융 생태계에 새롭게 추가된 플래시 론에 대해 자세히 알아보겠습니다.

 

#2. 들어가며

 

암호화폐 업계는 블록체인상에서 기존 금융 시스템을 대대적으로 재창조해 가고 있습니다.

회의론자들은 그렇게 생각하지 않을 수도 있지만, 분명 업계 전선에서는 흥미로운 인프라가 구축되고 있습니다.

 

실제로 디파이(DeFi), 탈중앙화 금융(Decentralized Finance)의 전반적인 목적은 블록체인 네트워크 위에 허가가 필요 없고, 탈중앙적이며, 투명한 금융 생태계를 구현하는 것입니다.

암호화폐는 화폐로 사용될 수 있다는 것이 증명되었습니다.

전 세계적으로 매일 비트코인과 같은 시스템이 가치를 전송하는 데 사용되고 있습니다.

 

탈중앙화 금융 기술의 새로운 물결은 추가적인 시스템 계층을 제시합니다.

오늘날 여러분은 암호화폐 기반 대출을 진행하고, 신뢰가 필요 없는 방식으로 디지털 자산을 교환하고, 명목화폐 가격을 모방하는 코인에 자산을 저장할 수 있습니다.

 

이어지는 글에서 우리는 특별한 대출 형태인 플래시 론(flash loan)에 대해 살펴볼 것입니다.

이제 곧 알게 되겠지만, 이는 점차 커져가는 탈중앙화 금융의 다양한 요소 중에서도 무척이나 고유한 추가적인 요소입니다.

 

#3. 일반적인 대출은 어떻게 진행되나요?

 

우리 대부분은 일반적인 대출이 어떻게 진행되는지 알고 있습니다.

그러나 이후의 비교를 위해 이를 재확인해 볼 필요가 있습니다.

 

 무담보 대출

 

무담보 대출은 어떠한 담보도 제공하지 않아도 되는 대출입니다.

즉, 여러분이 대출금을 갚지 못했을 때, 대출자가 가져가게 되는 자산이 존재하지 않는다는 것입니다.

예를 들어, 여러분이 3,000 달러의 금 목걸이를 정말로 원한다고 해보겠습니다.

그러나 수중에 현금이 없고, 다음 주에 급여를 받게 되는 상황입니다.

 

여러분은 친구 앨리스에게 이야기합니다.
금 목걸이를 정말로 갖고 싶으며, 이를 통해 트레이딩 게임 능력을 최소 20% 향상 시킬 수 있다고 설명합니다.

앨리스는 자금을 빌려주기로 결정합니다.

물론, 월급이 들어오면 바로 이를 상환하는 조건으로 말입니다.

 

앨리스는 여러분의 좋은 친구이고 3,000 달러를 빌려주며 수수료를 부과하지 않습니다.

그러나 모든 이들이 여러분에게 이처럼 친절한 것은 아닐 것입니다.

앨리스는 여러분이 다시 돈을 갚을 것이라 믿습니다.

다른 사람은 여러분이 누구인지 알지 못할 것이고, 따라서 자금을 가지고 도주할 것인지도 알 수 없습니다.

 

일반적으로, 기관에서 진행하는 무담보 대출을 위해서는 신용 조회가 필요합니다.

이들은 여러분의 기록(신용 점수)을 추적하고, 상환 능력을 측정합니다.

여러분이 몇 번의 대출을 진행하고, 이를 제 때 상환했다는 것이 확인된다면, "꽤나 신뢰할 수 있군. 돈을 조금 빌려줘도 되겠어."하고 생각할 것입니다.

 

그렇게 기관은 여러분에게 돈을 빌려주지만, 조건이 있습니다.

바로, 이자율입니다.

지금 돈을 받기 위해서는, 나중에 더 많은 금액을 갚는다는 조건에 동의해야 합니다.

 

신용카드를 사용한다면, 이러한 모델에 익숙할 것입니다.

일정 기간 동안 청구 대금을 납부하지 않으면, 잔액(및 추가 수수료)을 모두 상환할 때까지 이자가 부과됩니다.

 

 담보 대출

 

좋은 신용만으로는 충분하지 않을 때도 있습니다.

수십 년 동안 제 때 대출금을 상환했더라도, 신용도만으로는 큰 금액을 빌리는 게 쉽지 않을 수도 있습니다.

이러한 경우, 담보를 제시해야 합니다.

 

여러분이 누군가에게 많은 대출금을 요구할 경우, 이를 수락하는 데는 위험이 따릅니다.

이러한 위험을 조금 줄이기 위해, 그들은 무언가를 요구할 것입니다.

귀금속에서부터 부동산에 이르기까지 여러분의 모든 자산이 담보가 될 수 있으며, 제때 자금을 상환하지 못하는 경우 이는 대출자의 소유가 될 것입니다.

이를 통해 대출자는 일정 손실 금액을 만회할 수 있습니다.

이것이 바로 담보입니다.

 

여러분은 50,000 달러 상당의 차를 구매하고자 합니다.

앨리스는 여러분을 믿지만, 무담보 대출 형태로 돈을 주고 싶지는 않습니다.

그 대신, 여러분의 귀금속을 담보로 제시할 것을 요청합니다.

여러분이 대출을 상환하지 못할 경우, 앨리스는 여러분의 담보를 가져다 판매할 수 있습니다.

 

#4. 플래시 론은 어떻게 작동하나요?

 

플래시 론을 무담보 대출이라고 하겠습니다.

왜냐하면 어떠한 담보도 필요하지 않기 때문입니다.

또한 신용 확인과 같은 어떠한 과정도 통과할 필요도 없습니다.

대출자에게 50,000달러 상당의 ETH를 빌릴 수 있는지 묻기만 하면, "네! 여기 있습니다!" 하며 대출을 할 수 있습니다.

 

이해가 되시나요? 플래시 론은 반드시 동일한 트랜잭션 내에 상환되어야 합니다.

이는 전혀 직관적이지 않은데, 우리는 자금이 한 사용자에게서 다른 사용자에게로 이동하는 일반적인 거래 형식에 익숙하기 때문입니다.

상품이나 서비스에 대한 비용을 지불하거나, 거래소에 토큰을 입금하는 것처럼 말입니다.

 

그러나 여러분이 이더리움에 대해 조금 이해하고 계신다면, 해당 플랫폼이 꽤나 유연하다는 것을 알 수 있을 것입니다.

따라서 어떤 이들을 이를 프래그래밍 가능한 돈이라 부르기도 합니다.

플래시 론의 경우, 트랜잭션이 다음 세 가지 부분으로 구성된다고 생각할 수 있습니다.

대출금 수령, 대출금 사용, 대출금 상환. 이 과정은 눈 깜짝할 사이에(flash) 진행됩니다!

 

이는 블록체인 기술의 마법 덕분에 가능한 일입니다.

네트워크에 전송된 트랜잭션을 통해 일시적으로 자금을 대출할 수 있습니다.

여러분은 트랜잭션의 두 번째 단계에서 몇 가지 일을 진행할 수 있습니다.

세 번째 단계에서 자금이 제시간에 돌아오기만 하면, 어떤 일이든 할 수 있습니다.

만약 그렇지 않을 경우, 네트워크가 트랜잭션을 거부합니다.

이는 대출자가 자금을 회수한다는 의미입니다.

실제로, 블록체인상에서는 대출자가 언제나 자신의 자금을 보유하고 있습니다.

 

이것이 바로 대출자가 여러분에게 담보를 요구하지 않는 이유입니다.

상환 계약은 코드에 의해 시행됩니다.

 

#5. 핵심은 무엇인가요?

 

이쯤에서 여러분은 플래시 론을 받는 이유가 궁금하실 것입니다.

만약, 모든 일이 하나의 트랜잭션 내에서 발생한다면 람보르기니를 살 수 없지 않을까요?

 

글쎄요. 플래시 론의 목표는 그것이 아닙니다.

앞서 설명했던 대출금으로 무언가를 하는 두 번째 단계에 초점을 맞춰보겠습니다.

해당 아이디어는 스마트 컨트랙트(또는 컨트랙트의 체인)에 자금을 공급하고, 재빠르게 이익을 얻고, 트랜잭션의 마지막에는 초기 대출금을 상환하는 것입니다.

이처럼 플래시 론의 핵심은 이익을 얻는 것입니다.

 

유용하게 살펴볼 수 있는 몇 가지 활용 예시가 있습니다.

분명, 그동안 오프체인에서 무언가를 할 수는 없지만, 탈중앙화 금융 프로토콜에서 대출을 통해 더 많은 돈을 벌 수 있습니다.

가장 잘 알려진 경우는 재정 거래이며, 이는 서로 다른 트레이딩 장소에서 가격 차이로 인한 이익을 취하는 것입니다.

 

DEX A에서 10 달러에 거래되는 토큰이 있다고 가정해보겠습니다.

그러나 DEX B에서는 10.5 달러에 거래되고 있습니다.

수수료가 없다고 가정할 경우, DEX A에서 10개의 토큰을 구매하여 DEX B에 판매하면 5 달러의 수익을 올릴 수 있습니다.

이를 통해 여러분이 빠른 시간에 별장을 살 수는 없을 것이지만, 대량 거래를 통해 어떻게 돈을 벌 수 있는지 알 수 있습니다.

10,000개의 토큰을 100,000 달러에 구매하고, 이를 성공적으로 105,000 달러에 판매한 경우, 5,000 달러의 수익이 발생합니다.

 

여러분이 플래시 론을 받을 경우(예를 들면, 에이브 프로토콜을 통해) 이러한 탈중앙화 거래소 등에서 재정 거래 기회를 포착할 수 있습니다.

다음 예시를 살펴보시기 바랍니다.

 

 10,000 달러를 대출 받음
 대출금으로 DEX A에서 토큰을 구매함
 DEX B에서 토큰을 판매함
 대출금을 상환함(이자 포함)
수익이 발생함

 

이는 모두 하나의 트랜잭션 내에서 진행됩니다!

그러나 현실적으로는 높은 경쟁, 이자율, 슬리피지 때문에 재정 거래 수익은 미미한 수준입니다.

수익을 올리기 위해서는 가격 차이 경쟁에서 승리할 방법을 찾아야 합니다.

같은 시도를 하는 수천 명의 사용자와 경쟁하게 될 경우, 그다지 큰 행운이 따르지는 않을 것 같습니다.

 

#6. 플래시 론 공격

 

암호화폐, 더 나아가 탈중앙화 금융은 무척이나 실험적인 분야입니다.

상당한 금액이 스테이킹되어 있는 경우, 취약성이 발견되는 것은 시간문제입니다.

우리는 이더리움에서 발생한 상징적인 2017 다오 해킹의 경우를 살펴볼 수 있습니다.

이후로 많은 프로토콜들이 경제적 이득을 위한 51% 공격을 받고 있습니다.

 

2020년 두 차례의 상당한 금액의 플래시 론 공격이 있었으며, 공격자는 1,000,000 달러에 가까운 부당 이득을 취했습니다.

두 공격 모두 비슷한 패턴을 따랐습니다.

 

 첫 번째 플래시 론 공격

 

 

차용자는 처음에 dYdX(대출 디앱)에서 이더 플래시 론을 받았습니다.

이후, 다른 대출 플랫폼인 컴파운드(Compound)와 펄크럼(Fulcrum)으로 대출금을 나눠 전송했습니다.

 

펄크럼(bZx 프로토콜 기반)에서 공격자는 대출금의 일부를 사용해 랩드 비트코인(WBTC)에 대한 ETH 숏에 진입했습니다.

이는 펄크럼이 랩드 비트코인을 취득해야 한다는 의미입니다.

이 정보는 잇따라 다른 탈중앙화 금융 프로토콜인 카이버(Kyber)로 전송되었고, 잘 알려진 이더리움 기반 DEX 유니스왑(Uniswap)의 주문을 체결시켰습니다.

그러나 유니스왑의 낮은 유동성 때문에, 랩드 비트코인의 가격이 크게 치솟았고, 펄크럼은 WBTC에 초과 금액을 지불해야 했습니다.

 

공격자는 동시에 dYdX의 나머지 대출 자금으로 컴파운드에서 WBTC를 대출받았습니다.

가격이 치솟았고 이들은 대출한 WBTC를 유니스왑에서 교환하여 상당한 이익을 얻었습니다.

최종적으로 이들은 dYdX의 대출을 상환하고 나머지 ETH를 챙겼습니다.

 

과정이 복잡해 보이며, 따라 하기는 어려울 수도 있습니다.

결론은 공격자가 다섯 개의 서로 다른 탈중앙화 금융 프로토콜을 통해 시장을 조작했다는 것입니다.

놀랍게도, 이 모든 일이 기존의 플래시 론 대출이 승인되는 시간 내에 일어났습니다.

 

어디서 문제가 발생했는지 파악하셨나요?

펄크럼이 사용하는 bZx 프로토콜이 문제였습니다.

시장을 조작함으로써, 공격자는 WBTC가 실제보다 훨씬 더 가치 있는 것으로 속일 수 있었습니다.

 

첫 번째 플래시 론 공격 요약

공격 시점에서 ETH와 BTC의 정상적인 교환 비율은 약 38.5 WETH/WBTC 정도였다고 합니다.
* ETH와 WETH, BTC와 WBTC는 같은 가치를 가지고 있습니다.

1. dYdX(대출 디앱)로부터 10,000 ETH를 대출

2. 5,500 ETH는 컴파운드(Compound)로 전송, 112 WBTC를 대출받는 담보로 사용

3. 1,300 ETH는 bZx의 펄크럼(Fulcrum)로 전송, ETH 숏 5배 레버리지로 예치
* 이 레버리지는 공격의 이득을 극대화하기 위해 사용

4. 3번의 결과로 5,637 ETH를 빌려 51 WBTC로 교환
* 이때, 교환 비율이 110 ETH/BTC로 이더리움의 가치를 떨어뜨려, 공격의 핵심이 되는 단계

5. 2번의 컴파운드(Compound)에서 빌린 112 WBTC를 6,871 ETH로 교환
* 이 단계에서 공격자가 4번에서 조작한 교환 비율을 이용하여 이득을 취함

6. 대출받은 10,000 ETH를 상환하고, 남은 1,193 ETH의 이득을 취함

 

 두 번째 플래시 론 공격

 

 

bZx에게는 좋지 못한 한 주였습니다.

불과 며칠 후, 또 다른 공격이 발생했습니다.

공격자는 플래시 론을 받아 일부를 스테이블코인(sUSD)으로 전환했습니다.

여러분은 스테이블코인이 명목화폐 가격을 추적한다는 것을 알고 계실 것입니다.

무엇보다도 이름에 USD가 있기도 합니다.

 

그러나 이러한 명칭에도 불구하고, 스마트 컨트랙트는 그다지 똑똑하지 못했습니다.

스마트 컨트랙트는 스테이블코인 가격이 얼마여야 하는지 알지 못합니다.

따라서, 공격자가 (차용한 ETH를 사용하여) 상당한 금액의 sUSD 매수 주문을 제출하자, 카이버의 가격은 두 배가 되었습니다.

 

bZx는 sUSD의 가치가 1달러가 아닌 2달러라고 생각했습니다.

공격자는 2달러에 해당하는 구매력을 가진 1달러 코인을 통해 bZx에서 보통 허용되는 금액보다 훨씬 많은 ETH를 대출받았습니다.

최종적으로, 공격자는 초기 플래시 론을 상환하고 차익을 취한 채 자취를 감췄습니다.

 

두 번째 플래시 론 공격 요약

1. bZx로부터 7,500 ETH를 대출

2. 대출받은 이더리움 중 3,518 ETH를 sUSD로 교환
* sUSD는 1 달러 스테이블코인

3. 카이버(Kyber)에 900 ETH를 가지고 sUSD를 매수
* 이때 sUSD의 보통 가격인 1 달러보다 높은 2.5 달러 정도의 가치로 sUSD를 매수

4. 신세틱스(Synthetix)에서 6,000 ETH를 이용해서 sUSD를 매수
* 공격자는 3번과 4번의 과정으로 1M 넘는 sUSD를 확보

5. bZx에서 1,099,841 sUSD를 담보로 6,796 ETH를 대출
* bZx는 sUSD와 ETH의 교환 비율을 카이버(Kyber)에 의존
* 3번의 결과로 sUSD의 가치가 높아져 있는 상태
* 원래 가치대로 였다면 4,080 ETH를 대출받을수 있지만, sUSD의 높아져 있는 가치로 6,796 ETH를 대출을 받음

6. 대출받은 7,500 ETH 상환하고, 남은 2,716 ETH의 이득을 취함

 

#7. 플래시 론은 위험한가요?

 

옳고 그름을 떠나 이러한 특정 공격 벡터는 인상적인데, 공격자가 어디까지 나아갈 수 있는지를 보여주기 때문입니다.

이들이 이용한 방법을 거슬러 올라가며 살펴보기는 쉬운 일이며, 우리는 bZx가 다른 오라클을 통해 가격 데이터를 받아와야 한다 말할 수 있습니다.

그러나 현실적으로 이러한 강탈 행위에는 무척이나 적은 비용이 듭니다.

공격자는 공격을 위해 많은 투자를 하지 않아도 되는 것입니다.

공격자가 이러한 일을 진행하지 않도록 하는 아무런 경제적 제지 사항도 존재하지 않습니다.

 

기존에는 시장을 조작하고자 하는 개인 또는 단체는 엄청난 양의 암호화폐를 투자해야 했습니다.

그러나 플래시 론에서는 단 몇 초 만에 누구나 고래가 될 수 있습니다.

우리가 살펴본 것처럼, 단 몇 초 만에 수십만 달러 상당의 이더를 획득할 수 있습니다.

 

긍정적인 측면에서는 나머지 탈중앙화 금융 생태계가 이러한 두 번의 공격을 통해 교훈을 얻을 것이라는 점입니다.

이제 모두가 이를 알고 있는 상황에서, 누군가 이러한 일을 다시 한번 성공적으로 해낼 수 있을까요?

그럴 수도 있습니다.

두 번째 공격에서 목격한 것처럼 오라클에는 여러 취약점들이 존재하며, 이러한 취약성을 제거하기 위해서는 상당한 작업이 필요합니다.

 

이는 전반적으로 플래시 론의 문제는 아닙니다.

보다 명확하게는 다른 프로토콜의 취약성이 악용된 것이며, 플래시 론은 공격의 자금을 충당했을 뿐입니다.

이러한 유형의 탈중앙화 금융 대출은 특별히 대출자와 차용자 모두가 낮은 위험을 감수한다는 점에서 향후 흥미로운 활용 사례를 제시할 수 있습니다.

 

#8. 마치며

 

플래시 론은 탈중앙화 금융 영역에 처음 진입하는 것이지만, 분명히 깊은 인상을 남겼습니다.

무담보 대출의 개념은 오직 코드에 의해서만 수행되며, 전 세계에 새로운 금융 시스템의 가능성을 제시하고 있습니다.

 

현재까지는 활용 예시가 꽤나 제한적이지만, 플래시 론은 최종적으로 탈중앙화 금융의 혁신적인 새로운 애플리케이션을 위한 기초를 다져가고 있습니다.