Jump to content

1-5. 연금술 – 탈중앙화 거래소 차익거래 매커니즘


Recommended Posts

  • beTITAN 회원

image.thumb.jpeg.5fb2bb1bf950f84bb0d644e55ac53ea6.jpeg

Peter가 보내온 이메일을 확인하고 압축 파일을 다운로드 받았다. 어쨌든 이 압축파일의 가치가 $300만불이라니, 순간 오만가지 생각이 다 들었다.

바탕화면에 다운로드 받은 압축파일을 한동안 뚫어지게 바라 본 후 우선 폴더를 만들어 넣어두고, 백업을 했다.

압축파일을 풀진 않았다. 소스 코드를 보고 나면, 코드 리뷰를 시작해야 할꺼 같았다.

우선 이 봇을 객관적으로 리뷰하기 위해서는 적어도 코드를 보기 전 기본적인 덱스 아비트레이지 매커니즘에 대한 이해가 필요하다는 생각이 들었다.

매커니즘을 가장 빠르게 이해하는 방법은 실제 사용(=성공) 사례에서부터 시작하는 것이다. 우선 데본싱크에서 DEXs Arbitrage 관련 자료가 있는지 확인해봤다. 다행히 몇 개 가치있는 자료들을 확인할 수 있었고, 연구 조사를 어디에서부터 시작하면 좋을지 빠르게 감을 잡을 수 있었다.

이제 가설들을 세우고 검증을 해보면서 옳은 방법들을 찾으면 된다. 우선, 덱스 아비트레이지에서 실제 수익을 내는 사용 사례들을 찾기 시작했다. 나는 제일 먼저 유니스왑 데이터들을 분석했고 3가지 유형의 정교한 스마트 콘트랙트 방법들을 찾아냈다.

1. 가장 정교한 방법 – 가스 토큰, 플래시 대출, 멤풀 거래 대체, 거래 일괄 처리(하나 이상의 탈중앙 거래소에서 여러 거래를 단일 거래로 묶어서 처리) 등을 활용하는 방법

2. 거래 일괄 처리를 사용해서 하나 이상의 거래소에서 여러 거래를 단일 거래로 묶는 방법. 복잡하지 않지만 Trade Batching만으로 수익을 낼 수 있다니!

3. 거래를 일괄 처리 하지 않고 대신 개별 거래들을 통해 Two-Point 차익 거래를 하는 방식. 흔히 우리가 생각하는 차익거래 방식. 싸게 사서 비싸게 팔기. 이 경우 나중에 좀 더 자세히 설명하겠지만, 공격 위험이 있기 때문에, 가스 토큰, 멤플 거래 대체 등을 함께 사용하는 트레이더들이 많다는 것도 알게 되었다.

처음 듣는 생소한 용어들이 많았다. 하나씩 공부를 하면서 더 많은 내용들을 알게 되었다. 아니 근데 내가 지금 이걸 왜 하고 있는거지?!란 생각이 갑자기 들고 나지막하게 Peter 이름을 외쳤다. 휴.

거래 일괄 처리(Trade Batching)는 모든 거래가 진행되거나 거래가 진행되지 않을 수 있다. 아비트레이지에서 중요한 점은 이미 매수자가 있다는 점을 먼저 확인해야 한다는 점이다. 이전 글에서 예로 든, 만화책이라면, 가라지 세일에서 찾은 만화책을 딜러가 오늘까지 더 비싼 값에 사준다고 하면 만화책을 사서 바로 딜러에게 당일 판매할 수 있다. 이로써 몇시간만에 모든 거래가 한번에 처리 되었다고 생각할 수 있다. 반대로 좋은 만화책을 찾았다고 생각했지만 구입 의사가 있는 딜러가 없다면, 그 만화책은 차익거래에서는 구매해서는 안된다.

따라서 모든 아비트레이지 봇에는 거래 기회를 우선적으로 탐색해야 한다는 점도 깨달았다. 즉 핵심은 거래 기회를 탐색하고 수익이 나는 트레이드 기회를 찾아내는 것에 있다. 그리고 그 기회를 찾았다면, 거래가 일괄 처리되어야(기회 확인 > 매수 > 매도 > 이익 확정) 확정 수익을 얻을 수 있다.

플래시 대출(Flash Loans)은 또 다른 정교한 기술이다. 플래시 대출을 사용하면 누구나 거래를 완료하는데 필요한 자금을 빌린 다음 동일한 거래선상에서 상환까지 할 수 있다. 만화책을 예로 들면, 가치 있는 만화책을 찾았고, 더 비싼 값에 구입하겠다는 딜러까지 찾았지만 당장 내가 가라지 세일에서 그 만화책을 살 돈이 없는 경우이다. 그런데, 같이 간 친구가 돈이 있다면, 그 친구에게 돈을 빌려 가라지 세일에서 만화책을 사고 친구와 함께 바로 딜러에게 달려가 만화책을 판매한 후 친구에게 빌린 돈을 갚는거라고 이해하면 된다.

즉, 기회 확인 >플래시 대출 > 매수 > 매도 > 플래시 대출 상환 > 이익 확정의 거래 일괄 처리가 되어야 한다.

플래시 대출을 이용할 경우, 트레이더는 돈을 벌기 위해 아무런 자금이 없어도 된다. 이미 대출 수수료가 포함된 방식으로 수익이 나는 거래 기회를 확인 후 차익거래를 하는 방식이기 때문에, 담보를 제공하지 않아도 된다. 중요한건 플래시 대출 스마트 콘트랙트는 딜러에게 판매 후 상환까지이기 때문이다. 대출자 역시 리스크가 없다. 이게 스마트 콘트랙트의 강점이다.

이 시점에서 나는 이런게 가능하다니?! 하는 생각을 많이 했던거 같다. 마치 마법같은 일이라는 생각과 비현실적이라는 생각이 강하게 들었다. 그렇지만, 모두 실제하는 방법들이었다.

가스 토큰(Gas Tokens)을 통한 차익 거래는 스마트 콘트랙트의 거래 수수료를 절감할 수 있다는 것도 알게 되었다. 일반적으로 이 방법은 이더리움 네트워크의 사용량이 적고 가스 가격이 낮을 때 사용된다. 차익 거래자는 가스 토큰을 저렴하게 먼저 지불할 수 있다. 그러다가 가스 가격이 높아졌을 때 차익 거래를 수행하면, 현재 가격을 지불하는 대신 이 토큰을 소각하게 된다. 이건 자동차와 휘발유로 비유할 수 있는데, 휘발유 가격이 쌀 때 미리 주유를 가득 해놓고, 휘발유 가격이 올라가도 현재 가격과 상관없이 계속 자동차를 타고 다닐 수 있는 것과 같다.

멤플 거래 대체(Mempool Transaction Replacement)는 가장 정교한 프론트 러닝 기법 중 하나이다. 트레이더가 대기 중인 나의 거래보다 먼저 다른 공격자가 나보다 먼저 거래가 체결할 수 있다는 것을 알았을 때 해당 거래를 무효화하기 위해 더 높은 가스 가격을 다시 제시해 공격자의 거래를 막을 수도 있고, 아니면 그냥 포기하는 경우이다. 이는 차익 거래를 하는 트레이더의 잠재적 손실을 줄여주는 방법이 될 수 있다.

다시 예를 들면, 당근에서 시세보다 싸게 나온 에어팟 프로 급매를 보고 연락했고, 셀러와 흥정해 올려진 가격보다 조금 낮은 가격에 흥정을 성공했다. 셀러와 만나기로 했는데, 셀러가 남은 시간 동안 다른 분에게 연락오면 또 어떻게 될지 모른다는 묘한 여운이 남는 말을 남겼다. 빨리 가서 거래를 끝내야겠단 생각에 만나기로 한 약속 장소로 가고 있는데 신호등 앞에서 다른 누군가가 나보다 더 높은 가격을 불렀고 심지어 셀러가 처음 내놓은 판매가가 높은 가격을 제시했다는 것을 알게 되었다. 이 경우 내가 할 수 있는 방법은 두가지인데, 정해진 시간까지 셀러가 있는 장소에 도착해 신호등 앞에서 만난 다른 경쟁자보다 가격을 더 올려 내가 최종적으로 에어팟 프로를 겟하거나 아니면 그냥 집으로 돌아 가는 것이다. 이렇게 하면 손실을 줄일 수 있고 시간도 낭비하지 않아도 된다. (최초 찾아낸 차익거래 기회에서의 계산된 구매 비용과 판매 비용)

마지막으로 개별 트랜잭션을 사용하여 Two-Point 아비트레이즈 거래를 하는 가장 간단한 방법이 있다. 이 경우는 우리가 흔히 생각하는 차익 거래이다. 빠르게 DEXs 안에서 차익 거래 기회를 찾은 후 빠르게 사고 파는 방식이다. 봇을 만들기도 가장 쉽고 간단할거 같다. 단순하게 A에서 코인 가격을 확인하고 B에서 코인 가격을 확인한 후 A에서 사서 B에 팔았을 때 수익이 나는지 여부를 확인 후 거래를 하면 되기 때문이다. 단 멤플 거래 대체 등 프론트 러너들에 의해 찾은 기회를 뺏길 수 있다. 이 경우 손해를 볼 수 있는데, A에서 구입한 코인이 B에서 더 싸질 수 있기 때문이다. 쉬운 만큼 이제는 선수들 사이에서는 거의 쓰이지 않는 방식이다.

DEXs 아비트레이지에서 수익을 내는 여러 방법들을 알게 된 후 압축 파일을 풀어 코드를 살펴보기 시작했다.

  • Like 2

아캔락의 연금술사, 투자, 재테크, 경제적 자유, 원칙 등의 주제에 대해 글을 씁니다.

Link to comment
다른 사이트에 공유하기

beTITAN 회원 가입 또는 로그인하기

beTITAN 커뮤니티 회원만이 커뮤니티 활동에 참여할 수 있습니다.

회원 가입하기

beTITAN 커뮤니티 초대장이 있으신가요?

beTITAN 커뮤니티 회원 가입하기

로그인

beTITAN 커뮤니티 회원이라면 먼저 로그인을 해주세요.

beTITAN 커뮤니티 로그인하기
×
×
  • Create New...