Balance : Dynamic Adjustment of Cryptocurrency Deposits

송아람
CURG
Published in
14 min readJun 21, 2020

송아람, Sogang Univ.Base LAB, CURG

본 내용은 “Balance : Dynamic Adjustment of Cryptocurrency Deposits” 를 바탕으로 쓰여졌습니다.

이번 글에서는 암호자산 담보형에서 담보 비율 결정 방법과 그에 따라 발생할 수 있는 문제인 초과 담보(Over collateralization) 를 Balance가 어떤 방법으로 해결했는지 설명한다. 글의 구성은 다음과 같다.

1. 암호자산 담보형의 형태

2. 암호자산 담보형의 문제점

3. Deposit Dilemma

4. Cryptoeconomic protocols

5. BALANCE

6. Evaluation

1. 암호자산 담보형(Crypto Collateralized Stable coin)

암호자산 담보는 암호자산을 스마트 컨트랙트 주소에 예치하여 프로토콜에 설정된 담보 비율에 따라 대출받아 사용할 수 있는 시스템이다. 대출 방식은 아래와 같은 방법으로 수행된다.[4]

암호자산 담보 대출은 크게 두 가지 절차에 따라 이뤄지는 데 1) 담보 비율 2) 담보 청산으로 구성된다.

담보 비율은 내가 빌리려고 하는 가치 대비 담보로 제공하는 암호화폐의 가치를 뜻한다. 만약 ETH의 담보 비율이 150%라면 100 $를 빌리기 위해서 $100*1.5 = $150에 해당하는 ETH를 제공해야 한다. 이 비율이 존재하는 이유는 외부적인 요인으로 인해 암호화폐의 가치가 떨어졌을 경우를 대비하기 위한 일종의 보험과 같은 비율이다.

담보 청산원금 + 이자의 금액이 담보 암호화폐의 가치를 상회했을 때 시작되고 청산 단계에 진입한다면 원금 + 이자의 가치보다 높아질 때까지 담보 암호화폐가 조금씩 판매된다. 따라서 대출자는 담보 가치가 항상 원금 + 이자의 금액보다 크도록 신경을 써줘야 한다. 만약 청산 조건에 근접한 상황이라면 추가 담보를 제공할수도 있고 일부를 제공해서 빚을 갚을수도 있다.[7]

2. 암호 자산 담보형의 문제점

담보 비율을 정할 때 외부적인 요인으로 인한 가격 변동을 대비하여 더 많은 예치금(Deposit)을 받게 된다. 일반적으로 기존 대비 150%~200%정도 담보가 되는 암호화폐의 비율을 측정하는데 이는 필요 이상으로 많은 금액을 묶어놓기 때문에 초과 담보(Over-collateralization) 문제를 야기할 수 있다.

논문에서는 이러한 담보(Deposit)로 생길 수 있는 문제를 아래 3가지로 정의한다.

  1. Deposits are costly : 프로토콜에 묶어놓은 담보 금액에 따른 기회비용이 발생할 수 있다.
  2. Uncertainty factors : 환율 변동과 같은 외부적인 요인으로 인한 가격 안정성이 떨어질 수 있다.
  3. Unclear deposit size : 적당한 담보 비율 또는 크기를 정하는 것이 어렵다.

이 때 담보 비율을 정하는 데 있어 딜레마가 발생하는데, 담보 비율을 너무 높게 잡을 경우에는 프로토콜에 참여하는 사람(Service Provider)이 적어질 수 있으며, 너무 낮게 잡을 경우엔 서비스에 대해 돈을 지불하는 사람(Service User) 입장에서 해당 대출 서비스의 안전성에 대한 우려가 생길 수 있다.

3. Deposit Dilemma

위에서 설명한 담보 비율에 따른 딜레마를 “Deposit Dilemma”라 한다. 서비스 제공자인 Alice와 서비스 사용자 Bob간의 이해관계에 따른 딜레마를 뜻하는데 이를 도식화하면 아래 그림과 같다.

서비스 제공자인 Alice는 예치금을 묶어놓는 동안의 기회비용을 대비하여 가능한 최소한의 담보를 원하고,서비스 사용자인 Bob은 더 높은 안전성을 위해 더 많은 담보를 원한다.

담보의 크기를 정할 때 발생할 수 있는 Deposit Dilemma [2]

그렇다면 BALANCE에서는 이러한 딜레마로부터 적절한 담보의 크기(Deposit size)를 어떻게 정했을까?

4. Cryptoeconomic Protocol

BALANCE를 설명하기에 앞서 간단하게 기존 Cryptoeconomic Protocol에서는 단계별로 어떻게 진행되는지 알아보자.

일반적으로 암호 경제학이란 새로운 종류의 시스템이나 어플리케이션, 네트워크를 디자인할 때 인센티브와 암호학을 활용하는 것을 말한다.[8]

암호 경제학 관점에서 논문에서 정의하는 프로토콜(Crypto economic Protocol)을 다시 설명하면 여러 Agent간의 분산된 장부에서 암호학을 통해 계약을 검증하는 과정으로 Agent의 정직한 행동을 촉진하기 위해 Payments와 Deposit을 통한 Incentive를 제공하는 프로토콜을 뜻한다. 먼저, 프로토콜은 총 3단계로 구성된다.

  1. Committed : Agent A는 계약에 의해 정의된 내용 ϕ를 충족하는 행동(action) σ를 수행하기로 Commit한다. Commit이 진행되기 위해서는 담보D(deposit D)가 필요하다.
  2. Executed : Agent A가 어떤 행동 σ를 수행할지 결정 후 행동한다.
  3. Concluded : 계약 내용에 정의된 대로 행동할 경우 “Desired Action” , 위반되는 행동을 할 경우 “Undesired Action”이라고 정의한다. 만약 규칙을 준수하는 경우(Desired Action) 예치금(Deposit)과 지불금(Payment)는 Agent A에게 이전된다.규칙을 위반할 경우에는(Undesired Action) Agent A의 예치금(Deposit)은 파기되거나, 잘못된 행동 σ에 의해 피해받은 다른 Agent에게 해당 예치금이 이전된다.
  • Contracts and Agreements

Cryptoeconomic protocol은 스마트 컨트랙트에 의해서 실행된다. 컨트랙트에는 합의 과정이 포함되는데 합의 과정의 결과는 조건(true/false), 지불금(Payment), 예치금(Deposit)을 통해 정해진다.

여기서 ϕ가 조건에 해당하며 행동(σ)에 따라 값이 {0,1}로 결정된다.p 는 컨트랙트에 명시된 대로 agent B(Bob)가 agent A(Alice)로 지불한 금액이다. agent들은 선택한 행동을 commit하기 위해 예치금 D를 제공해야한다. D는 스마트 컨트랙트에 참여하기 위해 지불한 예치금 D를 뜻하며 이는 올바른 행동(ϕ(σ) = 1)을 했을 경우에 반환된다. ( ϕ(σ) = 0, 잘못된 행동을 할 경우에 D는 반환되지 않는다.)

  • Action choices

(1) Desired Action : 계약에 명시된 행동을 할 경우, 즉 true값으로 평가되는 모든 행동을 뜻한다. ϕ(Σd) = 1.

(2) Undesired Action : 계약에 false값으로 명시되어 있는 행동. ϕ(Σu ) = 0.

  • Utility parameters

Utility는 특정한 상황에서 여러 전략 중 특정 전략을 선택했을 때 그 결과로 얻을 수 있는 만족도의 크기를 뜻한다. 위의 두 가지 행동 중에 하나를 선택했을 때 얻을 수 있는 결과 값을 뜻하며 u(σ)로 나타낸다. Utility는 아래 다섯개의 변수에 의해 달라질 수 있다.

(1) Payment p : agent B의 입장에서 p는 지불해야하는 금액이며, agent A의 입장에서 p는 계약에 명시된 행동을 취했을 때 받는 금액을 뜻한다.

(2) Cost c : 행동에 드는 모든 비용 예를 들면 거래 수수료나 행동을 수행하는 데 있어 드는 비용 모두를 합친 값.

(3) Deposit D : 계약에 참여하는 agent들의 예치금.

(4)Expected future return E[rD] : 프로토콜에 묶여있는 예치금 D에 대한 기회비용.

(5)Valuation v : 행동 σ에 따른 결과에 대한 agent의 선호도를 암호화한 값.

  • Performing agent utilities(agent A, Alice)

“Desired”와 “Undesired”의 전략 중 하나를 선택했을 때 얻을 수 있는 utility는 아래와 같다. 위의 식이 “Desired” , 아래 식이 “Undesired” 행동을 선택했을 때 얻을 수 있는 결과값이다. 아래 식에 따라 agent는 매 회 Utility를 최대로 받을 수 있는 행동을 선택하게 된다.

  1. 이전의 전략이 다음의 전략에 영향을 미치지 않는 한번에 끝나는 1회 게임(Single-shot game)인 경우엔 “Undesired Action”을 선택한다. 아래와 같은 경우엔 agent는 “Undesired”가 더 많은 보수를 얻을 수 있기 때문이다.

2. 반대의 경우엔, “Desired Action”을 선택한다.

  • Receiving agent utilities(agent B, Bob)

이미 지불한 금액(Payment, p)을 변경할 수 없는 경우에는 agent A의 전략이 agent B의 Utility에 영향을 끼치진 않지만, agent A이 선택한 행동에 따라 agent A의 예치금(Deposit,D)이 agent B에게 반환된다면 아래와 같은 식을 통해 agent B의 Utility는 계산될 수 있다.

단계별 적용되는 Cryptoeconomic Protocol을 그림으로 나타내면 아래와 같다.

Cryptoeconomic Protocol[2]

5. BALANCE

BALANCE 는 기존 Cryptoeconomic Protocol에서 “Deposit Dilemma”를 해결하기 위해 예치금(Deposit)의 양을 조절하는 단계인 “Curation”단계를 추가했다.

  1. Commitment단계에서는 신뢰할 수 없는 상태이기 때문에 초기 예치금을 기존과 같은 방법으로 높게 잡는다.
  2. Execution단계에서부터 어떻게 행동하느냐에 따라 예치금의 비율이 달라지게 된다. 처음 Execution단계에서는 가장 낮은 레이어에 할당되어 높은 비율로 예치금으로 시작하게 되며 어떤 행동을 선택하느냐에 따라 각각 agent별로 점수가 매겨진다.
  3. Curation 단계는 매 라운드가 끝나고 각 agent별로 매겨진 점수를 업데이트 하여 점수에 따라 어떤 Layer로 이동할지가 결정된다. 높은 점수를 받을 경우 현재보다 더 높은 Layer로 이동하게 되며(기존 예치금보다 더 낮은 비율로 예치금을 묶어둘 수 있다.) 낮은 점수를 받을 경우엔 기존보다 더 낮은 Layer로 이동하게 된다.

점수는 매 라운드마다 정해지며 Layer 따라 정해진 비율에 맞게 기존 금액에 곱한 값이 현재 예치금의 값이 결정된다. 라운드마다 Incentive를 유지하기 위해 점수는 초기화되며 agent들은 이에 따라 최선의 이익을 위해 행동하게 된다.

행동에 따른 Utility 값
BALANCE의 전체적인 프로세스

Agent는 계속해서 좋은 action을(Desired Action) 선택해야 담보 비율을 줄일 수 있다. 아무 행동을 하지 않거나 계약 상 “False”인 행동(Undesired Action)을 선택할 경우 이전 Layer로 떨어져 결국 높은 담보비율로 예치금을 묶어놔야 한다. 아래 그림은 전체 프로세스를 총 period를 0부터 w까지라고 가정했을 때 간단하게 정리한 그림이다.

Balance 간단요약[2]

t = 0일 때, 초기 상태에서는 기존 금액 대비 고정된 비율에 맞게 예치금이 설정되며 t가 증가하면서 라운드별 점수에 따라 예치금의 비율이 정해지고 마지막 라운드(t = w)가 끝나면 남아있는 예치금을 반환받게 된다.

아래 그래프는 점수에 따른 Deposit Factor (담보 비율)을 나타낸다. “2.00”은 기존 대비 200%의 담보가 필요하다는 뜻이며, 점수가 높을 수록 높은 Layer에 갈 수 있고 그에 따라 담보로 맡겨둘 예치금의 비율은 낮아진다.

t에 따른 agent별 Layer 변화 [2]

6. Evaluation

아래 그래프들은 Balance 프로토콜과 Agent의 Utility 계산에서 필요한 Parameter 값에 따른 “Deposit reduction bound”를 나타낸다.

각 변수들을 다시 한번 설명하면 아래와 같다.

이제 위 변수들의 변화에 따라 lower boundary가 어떻게 변화되는지 확인해보자.

(a) 는 각 Layer에서 담보 비율이 1.00(100%, 원금이랑 똑같은 금액) ~ 2.00까지 증가했을 때 lower boundary가 어떻게 정해지는지를 나타낸다. 그래프에서 보듯이 f의 값이 1.0일 때는 원금과 똑같은 비율로 일정하게 정해지며, f가 클 수록 lower bound도 커지며 담보 비율도 더 낮아진다.

(b) 는 반환되는 비율에 따른 lower bound를 나타낸다. r이 클수록 담보 비율이 더 급격하게 낮아진다. 또한 r = 0일 때는 담보비율이 낮아지지 않고 고정된다.

(c) 는 discount factor (미래가치를 현재 가치로 환산한 비율)에 따른 lower boundary를 나타낸다 . 여기서 δ = 0.75라는 뜻은 25%만 reduction한다는 뜻이다. discount factor가 클 수록 deposit reduction 비율 변동이 크지 않다. (δ = 0.75일 때 deposit reduction이 제일 작음.)

(d) 는 총 Layer의 개수에 따른 lower boundary를 나타낸다. Layer가 많을수록 deposit reduction이 커지는 것을 알 수 있다. 하지만 Layer의 수가 무한대가 되면 계속해서 비율이 낮아지는 것이 아니라 수렴하는 구간이 존재한다.

정리하자면 Balance 프로토콜은 라운드마다 동적으로 담보 비율을 정함으로써 너무 높은 담보 비율 설정으로 발생하는 문제인 초과 담보를 해결했다. 순차 게임(Sequential move Game) 방식으로 매 라운드마다 어떤 선택을 하느냐에 따라 다음 라운드의 담보 비율이 정해지며 agent들은 라운드마다 최대의 이익을 얻기 위해 그에 따른 전략을 선택한다. 매 라운드마다 행동에 따른 점수는 새롭게 정해지기 때문에 계약에 정해진 올바른 행동을 할 경우에 결과적으로 담보 청산 시 더 많은 보수(Payoff) 를 받을 수 있다.~~

더 자세한 내용은 영상논문을 참고하길 바란다.

참고문헌

[1] Harz, Dominik, et al. “Balance: Dynamic adjustment of cryptocurrency deposits.” Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security. 2019.

[2] https://www.youtube.com/watch?v=TkVP7eOTxes

[3]https://medium.com/tokyo-fintech/balance-is-what-makerdao-needs-39af01d1211e

[4]http://www.coindeskkorea.com/news/articleView.html?idxno=30071

[5]https://medium.com/@kimjunyong/19-%EC%8A%A4%ED%85%8C%EC%9D%B4%EB%B8%94%EC%BD%94%EC%9D%B8%EC%9D%98-%EC%9D%B4%ED%95%B4-part-1-ddb1ad5c1f9c

[6]https://medium.com/alice-finance-korean/how-alice-collateral-loan-works-8dd6698a68f2

[7]https://medium.com/alice-finance-korean/how-alice-collateral-loan-works-8dd6698a68f2

[8]https://steemit.com/kr/@cryptodreamers/cryptoeconomy

--

--

송아람
CURG
Writer for

서강대학교 컴퓨터공학과https://github.com/AramSong