금융상품 CDS를 블록체인 컨트랙트로 구현하기 [ DeFi 프로젝트 ]

알락·2023년 2월 14일
3
post-thumbnail

아니, DeFi 가 뭔지도 모르는데!


DeFi가 뭔지 아는가? 나도 잘 모른다. 하지만 DApp과 DAO 처럼, DecentralizedFinance라는 단어의 약어이니 탈중앙화된 금융이라는 것은 알겠다.
내가 아는 DeFi 프로젝트는 유니스왑이나 Maker DAO의 프로젝트가 있다. 하지만 어렴풋이 돈셈하는 분야라고만 생각했지 골똘하게 고민을 해본 적이 없다.

그런 내 앞에 재미있는 아이디어가 떨어졌다.

어찌보면 비트코인을 있게 원인을 제공한 CDS 라는 상품을 블록체인 상에서 구현하는 아이디어였다. 뒷통수를 세게 치는 재밌는 생각이었다. 심지어 내가 알던 DeFi 프로젝트들처럼 k=x×yk=x \times y 같이 복잡한 공식 없이도 구현이 가능하다는 생각도 들었다. '이렇게 DeFi 프로젝트를 진행할 수 있다고?' 반신반의하면서도 당장에 해당 프로젝트의 리더를 맡겠다고 낚아채 프로젝트를 진행하였다.

그래서 DeFi가 뭔데?


라고 물어본다면, 이제 프로젝트를 다 끝낸 상황에서 내가 생각한 DeFi에 대해서 얘기를 꺼내보겠다.

DeFi StakeHolder

우선 DeFi로 이익을 보는 사람들을 생각해볼 수 있겠다.

유니스왑을 예시로 들여보려고 한다.

유니스왑은 유동성풀에 제공된 유동성을 바탕으로 토큰 간, 혹은 코인 간, 심지어 토큰과 코인 간의 교환을 제공한다. 교환이 되는 자산의 비율은 자동 시장 조성자(AMM)에 의해 계산이 된다. 재밌는 것은 유동성풀도, 자동 시장 조성자도 블록체인 상에 올라가 있는 코드라는 것이다.

블록체인에 올라가 있는 코드만으로는 아직 부족하다. 왜냐하면 아직 참여자가 없기 때문이다. 코드는 코드만으로 참여자가 해당 프로토콜, 프로젝트에 참여할 수 있게 인센티브를 제공해야 한다.

유니스왑에서 직접적으로 이익을 보는 사람들은 두 부류로 분류할 수 있다.

하나는 내가 소유한 코인이나 토큰으로 내가 필요한 코인이나 토큰으로 교환을 하고 싶어하는 사람이다. 유니스왑의 프르토콜을 작동시키는 주 타겟이라할 수 있다.
하나는 유니스왑이라는 프로토콜에 유동성을 공급하여, 주 타겟인 스왑러(임의로 만든 용어)들이 안정적으로 토큰을 교환할 수 있는 기여하고 수수료를 받아가는 사람이다.

두 부류의 프로토콜 이용자들은 각자가 필요한 인센티브로 유니스왑에 참여하게 된다. 하나는 자산의 교환, 하나는 자산의 증식이다. 이렇게 설계된 프로토콜이라면 굳이 광고 안해도 참여자들이 알아서 생긴다. (문제는 그래도 어렵다는 것이다.)

사라진 중개자

유니스왑을 현실로 완전히 대치해려고 한다. 환율은행으로 설명을 해보려고 한다. 원화화폐와 달러화폐를 교환하려고 하면 어디로 찾아가는가? 당연히 외환은행이다. 외환은행은 은행이 보유하고 있는 유동성으로 언제든지 누가 은행에 찾아와 환전을 해가면, 환전 수수료로 이익을 얻는다. 이익은 은행이 가져가는 것이다.

유니스왑은 블록체인 상에서 외환은행의 역할을 완전히(슬리피지 문제가 없다면) 대체한다. 유니스왑으로 발생하는 이익은 유니스왑 프로토콜에 유동성을 제공하는 개인이 가져간다.

정리

DeFi는 금융을 블록체인 상에서 구현하는 것이라고 간단히 말할 수 있다. 그래서 어떻게 구현을 할 것인 가에 대한 답변을 해보자면 코드 만으로도 시장이 만들어지고 각 참여자들이 참여할 인센티브가 준비되어야 한다는 것이다.

CDS는 어떤 식으로 구현될까?


CDS는 무엇인가?

우선 CDS에 대해서 설명을 해야될 것 같다. Credit Default Swap(신용 파산 스왑) 라고하는 금융파생상품이다. 원래 현실에서 이루어지는 CDS 계약은, 채무가 불이행되는 상황에서 해당 채무에 대한 리스크를 상대방에게 전가하는 대신 프리미엄을 상대방에게 지급하게 설계가 된다. 당사자 둘 중, 한 쪽은 보험을 들게 되고, 한 쪽은 보험수수료를 받는 구조이기 때문에 서로의 이익이 맞아 떨어지면 계약이 성립이 된다.

블록체인에서의 CDS 모습

우선 구매자, 판매자의 관계를 정의할 필요가 있는 것 같다. 프리미엄을 지급하는 사람이 구매자, 프리미엄을 지급받는 사람이 판매자라고 생각하면 된다.

당사자들에게 CDS의 계약 이행에 대한 인센티브가 이미 존재하고 있다. CDS의 기능을 추상적으로 나열해보자면 다음과 같이 정리할 수 있다.

  • 프리미엄 지급
  • 보상 요구
  • 청산
  • 만료

위 기능들에 대해서 누구에게 인센티브가 있는지 생각해보자.

  • 프리미엄 지급 -> CDS 구매자
  • 보상 요구 -> CDS 구매자
  • 청산 -> CDS 구매자
  • 만료 -> CDS 판매자

프리미엄 지급이 살짝 혼란스러울 수 있다. 하지만 기존 보유한 자산에 대한 리스크를 전가하며 이익을 갖는 사람은 CDS 구매자이기 때문에 사실상 프리미엄은 사실 티켓과 같은 존재다. 티켓은 갖고 있는 사람이 공연을 보지 않나? 프리미엄 지급을 안하면 계약은 그것만으로 종료다. 결국 프리미엄은 CDS 구매자가 필요에 의해서 내는거고, 덤으로 CDS 판매자가 이익을 얻는 것이라고 정리할 수 있다.

청산도 혼란스러울 수 있을 것 같다. 이는 사실 판매자를 보호하는 수단인 동시에 계약상의 원금을 보상해줄 수 있는 데드라인이다. 이 이상 원금에 대한 보상은 안돼지만, 일정 부분 보상은 여전한 상태다. 보상이 된다는 것은 구매자의 인센티브다.

위 기능들을 블록체인에서 구현해내면 CDS의 기능은 다하고 있는 것이다. 이번에는 필요한 데이터를 모두 블록체인 상에 올리는 방식으로 구현했다.

가스비가 상당히 많이 든다는 단점이 있다. 계약 하나 당 평균 0.05 ether10만 원 정 도 든다. 네트워크 상태에 따라 0.5 ether(100만 원)가 드는 것도 확인할 수 있었다.

계약을 법이 아닌 코드가 판단한다.

블록체인 상의 CDS가 대체하는 것은 중개자가 아닌 법이다. 왜냐하면 현실에서 만들어지는 CDS 계약들은 법으로서 효력이 있어 이행되는 것이기 때문이다.

하지만 현실의 사법 절차가 이행되기까지는 시간이 오래 걸린다. 그리고 CDS 이외에도 당장의 지불해야하는 큰 비용보다 자잘하게 비용을 지불하면서 시간을 끌어 계약이 이행되는 것을 보류하는 게 이로울 수 있다. 계약이 충분히 적법한지를 걸고 넘어지면 검토 과정이 이뤄져야하는 절차 때문에 충분히 가능한 일이다.

이미 다 공유되어 있는 코드라면, 그리고 가차 없이 집행하는 코드라면 얘기는 달라진다. 블록체인 상에 작성되어있는 로직데로 계약은 이행이되고, 계약은 강제로 실물을 이전할 수 있다. CDS를 현실적으로 제일 간단하게 설명하자면 친구와 장난스럽게 하는 내기를 강제로 이행시킨다 라고도 볼 수 있다.

Business Model


CDS가 양자 간 계약이라는 것이 문제다. 이번에 블록체인에서 구현한 CDS는 스마트 컨트랙트를 작성해주는 플랫폼의 역할이다. 여기서 시대해 볼 수 있는 비즈니스 모델은 수수료 장사밖에 생각이 안 난다.

은행처럼 지급준비금을 마련하고 CDS 계약에 묶인 일부 자산을 굴려 이익을 창출하자는 의견이 있었는데, 내 돈을 다른 사람이 마음데로 쓴다는 찝찝함은 지울 수가 없었다.

조금더, 조금더 블록체인스러운 비즈니스 모델을 생각해보고 싶다. CDS의 구조적인 문제라 어쩔 수 없는 부분일까?

profile
블록체인 개발 공부 중입니다, 프로그래밍 공부합시다!

0개의 댓글