의견.png

"컴파운드 (암호화폐)"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
(개요)
3번째 줄: 3번째 줄:
 
== 개요 ==
 
== 개요 ==
 
컴파운드는 이더리움 블록체인을 기반으로 한 프로토콜로, 자금시장을 구축한다. 여기에서 자금시장은 자산의 공급과 수요에 기초하여 알고리즘으로 파생된 이자율을 가진 자산 풀이다. 자산 공급자는 거래 상대방과 만기일, 이자율 또는 담보와 같은 조건을 협상할 필요 없이 유동 금리를 획득하면서 프로토콜과 직접 상호작용한다. 각 자금시장은 이더리움 자산에 고유하며, 투명하고 공개적으로 확인할 수 있는 장부를 포함하고 있는데, 이 장부에 모든 거래 및 과거 이자율을 기록한다.
 
컴파운드는 이더리움 블록체인을 기반으로 한 프로토콜로, 자금시장을 구축한다. 여기에서 자금시장은 자산의 공급과 수요에 기초하여 알고리즘으로 파생된 이자율을 가진 자산 풀이다. 자산 공급자는 거래 상대방과 만기일, 이자율 또는 담보와 같은 조건을 협상할 필요 없이 유동 금리를 획득하면서 프로토콜과 직접 상호작용한다. 각 자금시장은 이더리움 자산에 고유하며, 투명하고 공개적으로 확인할 수 있는 장부를 포함하고 있는데, 이 장부에 모든 거래 및 과거 이자율을 기록한다.
 +
 +
==등장배경==
 +
컴파운드 이전에도 암호자산을 대출해주는 서비스는 존재했다. 그렇지만 널리 사용되기에는 두 가지 문제점이 있었다. 첫 째는 중앙화된 거래소로 증거금 대출시스템은 그대로 믿기에 신뢰도가 부족했다. 해킹 논란이 있었던 거래소들이 그러한 예시이다. 두 번째는 P2P 대출 프로토콜이다. 개인간 대출 프로토콜은 느리고 비동기적이며 자금 유동성이 매우 부족하고 번거로웠다. 이러한 두 가지 문제점은 모두 자금을 특정 대출에만 집중시켰기 때문에 대출시장이 충분히 성숙해지기 전까지는 원하는 규모의 자금대출이 어렵다. 이더리움은 튜링완전한 가상머신으로, 이론상 스마트 계약을 통해 복잡한 시스템을 구축할 수 있지만 실제로 금융 애플리케이션을 블록체인에 구현하는 것은 매우 어렵다. 복리계산을 위한 연산과 스마트 계약이 자체적인 쿼리를 콜하고 외부 이벤트를 받아올 수 없기 때문에 이러한 문제들을 어느정도 해결할 수 있도록 프로토콜 레이어를 통해 컴파운드를 구현하게 되었다. 프로토콜로 구현하면 대출에 직접 자금을 조달하는 대신 사용자는 자산을 자산 풀에 공급함으로써 유동성을 제공하고 락업이 걸려있지 않아 언제든지 대출계약을 철회할 수 있다. 사용자와 디앱은 프로토콜에 제공되는 사용 가능한 담보에 따라 자금시장에서 즉시 대출을 실행할 수 있다. 프로토콜이 각 자금시장의 수요와 공급에 따라 알고리즘적으로 이자율을 설정할 수 있으며 임의의 만기일이 없기 때문에 프로토콜은 더 적은 작업량으로 서비스 사용료를 낮출 수 있게 된다.<ref>wooqii, 〈[https://medium.com/@wooqii/defi-app-1%EB%B6%80-compound-afa214ffe7ca DeFi app 1부, Compound - DeFi란 무엇인지, 그리고 대표적인 DeFi service인 Compound에 대해 알아보자!]〉, 《미디엄》, 2019-12-18</ref>
  
 
== 특징 ==
 
== 특징 ==

2020년 6월 30일 (화) 17:00 판

컴파운드(Compound)는 컴파운드의 티커는 COMP이다.

개요

컴파운드는 이더리움 블록체인을 기반으로 한 프로토콜로, 자금시장을 구축한다. 여기에서 자금시장은 자산의 공급과 수요에 기초하여 알고리즘으로 파생된 이자율을 가진 자산 풀이다. 자산 공급자는 거래 상대방과 만기일, 이자율 또는 담보와 같은 조건을 협상할 필요 없이 유동 금리를 획득하면서 프로토콜과 직접 상호작용한다. 각 자금시장은 이더리움 자산에 고유하며, 투명하고 공개적으로 확인할 수 있는 장부를 포함하고 있는데, 이 장부에 모든 거래 및 과거 이자율을 기록한다.

등장배경

컴파운드 이전에도 암호자산을 대출해주는 서비스는 존재했다. 그렇지만 널리 사용되기에는 두 가지 문제점이 있었다. 첫 째는 중앙화된 거래소로 증거금 대출시스템은 그대로 믿기에 신뢰도가 부족했다. 해킹 논란이 있었던 거래소들이 그러한 예시이다. 두 번째는 P2P 대출 프로토콜이다. 개인간 대출 프로토콜은 느리고 비동기적이며 자금 유동성이 매우 부족하고 번거로웠다. 이러한 두 가지 문제점은 모두 자금을 특정 대출에만 집중시켰기 때문에 대출시장이 충분히 성숙해지기 전까지는 원하는 규모의 자금대출이 어렵다. 이더리움은 튜링완전한 가상머신으로, 이론상 스마트 계약을 통해 복잡한 시스템을 구축할 수 있지만 실제로 금융 애플리케이션을 블록체인에 구현하는 것은 매우 어렵다. 복리계산을 위한 연산과 스마트 계약이 자체적인 쿼리를 콜하고 외부 이벤트를 받아올 수 없기 때문에 이러한 문제들을 어느정도 해결할 수 있도록 프로토콜 레이어를 통해 컴파운드를 구현하게 되었다. 프로토콜로 구현하면 대출에 직접 자금을 조달하는 대신 사용자는 자산을 자산 풀에 공급함으로써 유동성을 제공하고 락업이 걸려있지 않아 언제든지 대출계약을 철회할 수 있다. 사용자와 디앱은 프로토콜에 제공되는 사용 가능한 담보에 따라 자금시장에서 즉시 대출을 실행할 수 있다. 프로토콜이 각 자금시장의 수요와 공급에 따라 알고리즘적으로 이자율을 설정할 수 있으며 임의의 만기일이 없기 때문에 프로토콜은 더 적은 작업량으로 서비스 사용료를 낮출 수 있게 된다.[1]

특징

자산 공급

사용자의 자산이 일치하고 다른 사용자에게 빌려주는 교환 또는 P2P 플랫폼과 달리 컴파운드 프로토콜은 각 사용자의 공급을 집계하는데, 사용자가 자산을 공급할 때 자산은 자원이 된다. 이러한 접근방식은 직접 대출보다 유동성이 훨씬 뛰어나다. 시장의 모든 자산을 대출받지 않는 한 프로토콜이 유동성을 장려하여 사용자는 특정 대출의 만기를 기다리지 않고 언제든지 자산을 회수할 수 있다. 시장에 공급되는 자산은 ERC-20 토큰 잔액 c토큰(cToken)으로 표시되며, 이는 증가하는 수량에 대한 권리를 소유주에게 부여한다. 즉, 자금시장이 수요를 대출하는 기능인 이자가 발생함에 따라 c토큰은 증가하는 기초 자산으로 전환할 수 있게 된다. 이런식으로 ERC-20 c토큰을 보유하는 것만으로 간단하게 이자를 얻을 수 있다.

이더리움과 토큰에 장기간 투자한 개인은 컴파운드 자산시장을 추가 투자 수익원으로 사용할 수 있다. 예를 들어 어거를 소유한 사용자는 자신의 토콘을 컴파운드 프로토콜에 공급할 수 있으며, 자산을 관리하거나 대출 요청을 이해항하거나, 투기적 위험을 감수하지 않고도 어거를 이자로 얻을 수 있다. 사용자는 토큰 잔액이 있는 디앱, 머신, 거래소에서 스위핑 잔액을 통해 수익 창출 및 증분 수익원으로 컴파운드 프로토콜을 사용할 수 있다. 이는 이더리움 생태계를 위한 완전히 새로운 비즈니스 모델을 열 수 있는 잠재력을 가지고 있다.

자산 대출

컴파운드는 사용자들이 c토큰을 담보로 프로토콜에서 마찰 없이 빌릴 수 있도록 하여 이더리움 생태계 어디서나 사용할 수 있도록 해준다. P2P 프로토콜과 달리 컴파운드에서 빌리려면 사용자가 원하는 자산을 지정하도록 한다. 협상 조건, 만기일 또는 자금조달 기간이 없다. 대출은 즉각적이고 예측 가능하다. 자산을 공급하는 것과 마찬가지로 각 자금시장에는 시장의 힘에 의해 설정된 변동 이자율이 있으며, 이 이자율은 각 자산의 대출원가를 결정한다.

  • 담보가치 : c토큰의 소유권에 의해 표시되는 프로토콜이 보유한 자산은 프로토콜로부터 대출하기 위한 담보로 사용된다. 각 시장에는 대출할 수 있는 기초 자산 가치의 일부를 나타내는 0~1의 담보요소가 있다. 유동성이 있는 소액 자산은 담보 요소가 적고, 담보력이 좋은 것은 아니지만 유동적인 고액 자산은 담보 요인이 높다. 토큰 잔액의 기초가 되는 계정 가치와 담보 요소를 곱한 값은 사용자의 대출능력과 같다. 사용자는 자신의 대출능력까지 최대한 대출받을 수 있지만, 능력 이상으로 대출 자산의 총 가치를 높이는 어떠한 조치도 취할 수 없다. 이는 프로토콜을 채무불이행 위험으로부터 보호한다.
  • 위험 및 청산 : 계정의 대출 대금의 가치가 대출능력을 초과하는 경우, 대출금의 일부는 현재 시장가격에서 청산 할인을 뺀 금액으로 사용자의 c담보를 대가로 미결제 대출금의 일부가 상환될 수 있다. 이는 대출 업체의 노출을 줄이고 프로토콜의 위험을 제거하기 위해서 신속하게 개입할 수 있는 중간자의 생태계를 의미한다. 마감할 수 있는 적격 비율, 즉 근접 요인은 상환 가능한 대출 자산의 일부이며 범위는 0에서 1까지이다. 사용자의 대출이 대출능력보다 적을 때까지 청산 절차는 계속해서 호출될 수 있다. 대출된 자산을 소유한 이더리움 주소는 청산 기능을 발동하여 차용인의 c토큰을 담보로 자산을 교환할 수 있다. 사용자, 자산, 가격 모두 컴파운드 프로토콜에 포함되어 있기 때문에 청산은 마찰이 없고 외부 시스템이나 주문서에 의존하지 않는다.
  • 주요 사용사례 : 포트폴리오를 판매하거나 재배치하지 않고 새로운 자산을 원활하게 보유할 수 있는 능력은 디앱 소비자, 거래자 및 개발자에게 다음과 같은 새로운 기능을 제공한다.
  1. 주문을 기다리거나 오프체인 행동을 요구하지 않고도 디앱은 골렘 네트워크에서 컴퓨팅파워를 구매하는 등 이더리움 생태계에서 사용할 토큰을 빌릴 수 있다.
  2. 거래자는 기존 포트폴리오를 담보로 이더를 빌려 새로운 ICO 투자에 자금을 조달할 수 있다.
  3. 거래자는 토큰을 빌려서 거래소에 보내고 판매할 수 있으며, 판매 시 차익을 얻을 수 있다.

이자율 모델

컴파운드 프로토콜은 개별 공급자나 차입자가 조건과 금리에 대해 협상을 해야 하는 것이 아니라, 공급 및 수요에 근거하여 각 자금시장에서 이자율 균형을 달성하는 이자율 모델을 활용한다. 경제이론에 따르면 금리는 수요의 함수로 증가해야 하고, 수요가 낮을 때는 금리가 낮아야 하며, 수요가 많을 때는 반대로 상승해야 한다. 각 시장의 사용률 U는 단일 변수로 소유와 공급을 통합한다.


수요곡선은 거버넌스를 통해 체계화되어 활용 함수로 표현된다. 예를 들어, 대출금리는 다음과 유사할 수 있다.


공급 업체가 벌어들인 금리는 암묵적인 것이며, 대출금리와 이용률을 곱한 값과 같다. 컴파운드 프로토콜은 유동성을 보장하지 않는 대신, 유동성 인센티브 구조를 채택하고 있다. 금리 모델에 의존하여 인센티브를 제공하는 것이다. 자산에 대한 수요가 극심할 때, 프로토콜의 유동성 즉 인출 또는 대출 가능한 토큰의 유동성이 감소한다. 이러한 상황이 발생하면 금리가 상승하고 공급을 장려하고 대출을 억제한다.

구현 및 구조

핵심적으로 컴파운드 자산시장은 이더리움 계정이 자산을 공급하거나 빌리면서 시간의 함수인 이자를 계산할 수 있도록 하는 원장이다. 이 프로토콜의 스마트 계약은 공개적으로 이용할 수 있으며, 기계, 디앱 및 사용자를 위해 무료로 사용할 수 있다.

c토큰 스마트 계약

각 자산시장은 ERC-20 토큰 사양을 구현하는 스마트 계약으로 구성된다. 사용자 잔액은 c토큰 잔액으로 표시되며, 사용자는 시장에 자산을 공급하여 c토큰을 민트하거나 기본 자산으로 c토큰을 상환할 수 있다. c토큰과 기초자산 간의 가격 즉, 교환율은 시간이 지남에 따라 증가하며, 자산의 차입자에 의해 이자가 발생하므로 다음과 같다.
        

시장의 총 대출 잔고가 증가함에 따라 대출이자 발생의 함수로 c토큰과 기초 자산 간의 환율이 상승한다.

c토큰 스마트 계약 기능의 ABI 및 설명
ABI 설 명
mint(uint256 amountUnderlying) 기본 자산을 시장으로 이전하고 msg.sender의 c토큰 잔액을 업데이트한다.
redeem(uint256 amount)
redeemUnderlying(uint256
amountUnderlying)
기본 자산을 시장 밖으로 이전하고 msg.sender의 c토큰 잔액을 업데이트한다.
borrow(uint amount) msg.sender 담보 가치를 점검하고, 충분할 경우 기초 자산을 시장에서
msg.sender로 이전하고 msg.sender의 차입 잔고를 업데이트한다.
repayBorrow(uint amount)
repayBorrowBehalf(address
account, uint amount)
기초 자산을 시장으로 이전하고, 차용자의 차입 잔고를 업데이트한다.
liquidate(address borrower,
address collateralAsset, uint
closeAmount)
기본 자산을 시장으로 이전하고, 차용자의 차입 잔고를 업데이트 한 다음,
c토큰 자료를 차용자에서 msg.sender로 이체한다.

이자율 메커니즘

컴파운드 자금시장은 모든 차용자에게 균일하게 적용되는 이자율로 정의되며, 이는 시간이 지남에 따라 공급과 수요의 관계가 변화함에 따라 조정된다. 각 자금시장에 대한 각 이자율의 이력은 이자율이 바뀔 때마다 계산되는 이자율 지수로, 사용자가 자산을 채굴, 상환, 대출, 상환 또는 청산하는 결과로 나타난다. 거래가 발생할 때마다 자산의 이자율 지수를 업데이트하여, 해당 기간의 이자를 로 표시하고, 계산한 이자를 사용하여 이전 지수 이후의 이자를 가중시킨다. 블록 당 이자율 사용은 다음과 같다.

    

시장의 총 대출 대금은 마지막 지수 이후에 발생한 이자를 포함하도록 업데이트된다.

    

발생이자의 일부는 0에서 1까지의 범위인 리저프팩터(reserveFactor)에 의해 결정되는 적립금으로 유지된다.

      

차용자 메커니즘

발생이자를 포함한 차용자의 잔액은 단순히 사용자의 잔액이 마지막으로 체크포인트되었을 때 현재의 지수를 지수로 나눈 비율이다. c토큰의 각 차입자 주소의 잔액은 계정 체크포인트로 저장된다. 계정 체크 포인트는 솔리디티 투플(tuple) (uint amount)이다. 이 투플은 해당 계정에 마지막으로 이자를 적용한 시점의 잔액을 설명한다.

차입

컴파운드에 충분한 잔액이 있는 차입을 원하는 사용자는 해당 cToken 계약에 따라 차입금(입금 금액)을 호출할 수 있다. 이 함수콜은 사용자의 계좌 가치를 확인하고 충분한 담보가 주어지면 사용자의 차용 잔고를 업데이트하고, 토큰을 사용자의 이더리움 주소로 이전하며, 자금시장의 변동금리를 업데이트한다. 차입금은 잔액 이자와 정확히 동일한 방식으로 계산되었다. 차용인은 미결제 잔액을 상환하는 (uint amount)를 호출하여 언제든지 미상환 대출금을 상환할 권리가 있다.

청산

담보가치가 떨어져 이용자의 대출잔액이 총 대출능력을 초과하거나, 대출 자산이 증가하는 경우, 호출자 자산을 차입자의 담보로 교환하는 공공기능 청산금(주소 목표, 주소 담보 자산, 차용 자산 주소, 자산 폐쇄 금액)을 시세보다 약간 좋은 가격으로 호출할 수 있다.

가격 피드

가격 오라클은 지원되는 각 자산의 현재 환율을 유지하며, 컴파운드 프로토콜은 자산 가치를 상위 10개 암호화폐 거래소의 가격을 수집하는 방법으로 위원회에 자산의 가치를 설정할 수 있는 권한을 위임한다. 이 환율은 대출 능력 및 담보 요건을 결정하는 데 사용되며, 계정과 동등한 가치를 계산해야 하는 모든 기능에 사용된다.

관리자

컴파운드 프로토콜은 기본적으로 특정 토큰을 지원하지 않는다. 대신 시장은 화이트리스트에 있어야 한다. 이는 사용자가 자산과 상호작용을 시작할 수 있도록 하는 관리기능인 서포트마켓(supportMarket) 즉, 주소 시장, 주소 금리 모델을 통해 수행된다. 자산을 빌리기 위해서는 가격 오라클(Price Oracle)의 유효한 가격이 있어야 하며, 자산을 담보로 사용하려면 유효한 가격과 담보 팩터가 있어야 한다. 각 함수 호출은 컴트롤러(comptroller)라고 하는 정책 계층을 통해 검증된다. 이 계약은 사용자 조치를 진행하기 전에 담보 및 유동성을 검증한다.

거버넌스

컴파운드는 중앙 집중식 프로토콜 제어(자산당 이자율 모델 선택 등)로 작할 것이며, 시간이 지남에 따라 커뮤니티 및 이해관계자의 통제로 전환된다. 프로토콜의 다음 권한은 관리자가 제어한다.

  • 새로운 c토큰 시장을 상장하는 능력
  • 시장별 금리 모델을 업데이트하는 기능
  • 오라클 주소를 업데이트하는 기능
  • c토큰의 예비금을 철회하는 기능
  • 커뮤니티에 의해 통제되는 다오(DAO)와 같은 새로운 관리자를 선택할 수있는 능력

각주

참고자료

같이 보기

  질문.png 이 문서는 로고가 필요합니다.  

  의견.png 이 컴파운드 (암호화폐) 문서는 암호화폐 종류에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.