# 램 무단점유 문제에 대한 개선 방법
안녕하세요 EOS 노드원의 로움 입니다.
---
## 1. 소개
---
EOSIO Gov(https://t.me/EOSGov)에서 젬(Jem)의 램 무단점유(RAM squatting)에 대한 글을 읽고 이 글을 작성합니다. 젬이 EOS Gov에 작성한 글은 맨 아래의 참조에 있습니다.
Dawn 4.0에서 램은 스테이크 방법이 아닌, **램 마켓**에 의해 공급하는 것으로 변경되었습니다. 여기서, 스테이크 방법은 스테이크한 코인을 그대로 돌려주지만, **램 마켓은 시장 가격에 따라 돌려받는 코인의 수량이 달라집니다.**
## 2. 젬(Jem)의 방법 소개
---
아래 그림은 젬(jem)의 방법과 블록원의 방법을 보여줍니다.
<center></center>
> 윗 그림 : 블록원의 방법 / 아래 그림 : Jem의 방법
이 두 방법은 각 거래에서 1%의 수수료가 발생하는 것은 같습니다. 하지만 젬의 방법은 스테이크를 사용하는 반면, Dawn 4.0에서는 램 마켓을 사용합니다.
| | <center>블록원의 방법</center> | <center>잼(Jem의 방법)</center> |
|:--------|:--------|:--------:|
| <center>공통 점</center> |<center>1% 수수료 발생</center> |<center>1% 수수료 발생</center> |
| <center>차이 점</center> | <center>램 마켓 사용</center> | <center>스테이크 사용</center> |
Jem 의 방법은 **기존의 램 스테이크 방법에 수수료만 추가한 것**입니다.
이 수수료를 태워서 없애(burning)든지 또는 이것으로 BP들에게 보상한다면, 인플레이션을 낮추는 역할을 하므로 장기 홀더에게 매우 유리할 수 있습니다. 즉, 이런 수수료의 결과로 인플레이션의 양이 줄어들 수 있습니다.
## 3. Dawn 4.0의 마켓 방법의 단점
---
Dawn 4.0의 램 마켓 방법은 램 무단점유(RAM squatting) 문제를 램을 팔고 사는 시장을 통해서 회피하고자 한 것입니다. 하지만 이 방법의 단점은 **BP들이 사용 가능한 램 용량을 예측할 수 있다면 이를 통해서 수익을 얻을 수 있다는 것**입니다.
블록원의 CTO인 댄(Dan)은 텔레그램에서 21명의 BP들이 투표를 통해, 램 마켓의 램 공급량을 조절하는 방법을 알려주었습니다. 즉, BP들이 1TB 만큼의 램을 가지고 있어도, 21명의 메인 BP들이 실제로 시장에 공급할 램은 이들의 투표를 통해 정해지는 것입니다. 예로, 그들은 1TB 중 오직 200GB의 램만 제공하도록 정할 수 있습니다. 여기서, 중요한 것은 메인 BP들은 시장에 공급될 램을 예측할 수 있다는 것입니다.
<center></center>
다른 예로, 램이 많이 필요한 분산앱 개발자들은 자신의 분산앱을 EOS 플랫폼에 런칭할 때 램에 대한 수요예측을 통해 램 마켓을 통해서 추가 수익을 얻을 수 있습니다.
**즉, 마켓 방법은 누구든지 가용한 램의 용량을 예측할 수 있다면, 추가 이득을 취할 수 있다는 단점**을 가지고 있습니다.
## 4. 램을 스테이크하는 기존 방법의 단점
---
아래 그림은 블록원에서 제시한 램의 스테이크 방법에서 뱅코 알고리즘(Bancor algorithm)에 의한 램 가격을 보여줍니다. 이것은 램 무단 점유를 막기 위한 방법입니다.
기존의 램 스테이크 방법에서는 수수료가 없고, 이용자들은 뱅코 알고리즘에 의해 정해진 가격으로 코인을 스테이크하고, 이를 해지할 때는 그것을 그대로 돌려받습니다.
<center></center>
> 그림 출처 : https://steemit.com/cryptocurrency/@eosgo/breakdown-of-eos-resource-allocation-video-w-dan-larimer
이런 램 가격 결정 방법은 가용한 램 자원이 점점 작아질수록 램의 가격이 올라가고, 이에 따라 램에 대한 수요를 제한하는 진입 장벽을 만듭니다.
즉, 뱅코 알고리즘은 진입을 막는 방법입니다.하지만, **결정적으로 블록원은 아직까지 무단 점유된 램을 회복하는 방법을 제공하지 못했습니다. 즉 램 무단 점유자를 퇴출할 수 있는 방법을 제공하지 못한 것**입니다.
분산앱 개발자는 EOS의 메인넷이 런칭되면, 램을 미리 싼 가격에 무단 점유하려고 노력할 것으로 보입니다. 램은 양도가 불가능하기 때문에 거래를 통해 이익을 얻을 수는 없습니다. 하지만 그것을 **선점의 목적으로 무단 점유할 수는 있습니다. 따라서 무분별한 선점에 대한 방지 대안이 필요한 것**입니다.
## 5. 램 무단 점유 문제에 대한 EOS 노드원의 제안
---
EOS 노드원은 젬(Jem)의 제안에 동의하며, 이것에 더하여 **기존의 램 스테이크 방법의 단점인 무단 점유된 램을 회복하는 방법을 제안**하고자 합니다.
## 5-1 전제 조건: 램을 무단 점유한 사용자를 구분
---
우리는 우선 램 사용자를 감시하는 방법 등을 통해, 램 무단 점유자와 실 사용자를 구분할 수 있다고 가정합니다. 이를 위한 방법은 다양할 수 있습니다.
예를 들면, 램 사용량을 감시할 수 있는 사이트 등을 만들 수 있고, 잠재적 램 무단 점유자에게 램을 실제로 사용하고 있는지 등을 물어볼 수도 있습니다. 실제로 이것이 무단 점유로 판단되면 경제적 불이익을 줄 수 있습니다.
결론적으로, 만일 램 무단 점유자를 구별할 수만 있다면, BP의 투표 등을 통해서 램 무단 점유자에게 경제적인 불이익을 주어서 램 무단 점유를 막을 수 있습니다. 이를 위해, 커뮤니티가 램 무단 점유자를 구별할 수 있는 방법을 제안할 수 있습니다.
## 5.2 램 무단 점유자의 경제적인 처벌
---
우리는 잠재적 램 무단 점유자에게 경제적 불이익을 주기 위한 두 가지 방법을 생각하고 있습니다.
첫째로, **램 무단 점유자가 소유한 램을 프로그램적으로 무효화**시킬 수 있습니다.
한 가지 방법은 BP 투표 등을 통해 무단 점유된 램을 무효화 시키는 것입니다. 그러면, 무단 점유자는 자신이 소유한 램을 사용할 수 없게 되고 이와 함께 이 램은 바로 회복되어 다른 사용자가 이를 사용할 수 있게 됩니다. 그리고 무단점유자는 언제든지 스테이크된 코인을 돌려받을 수 있습니다.
둘째로, **램 무단 점유자가 소유한 EOS 코인을 특정기간 동안 동결**합니다. 즉 락업 기간을 부여하는 것입니다.
만일 램 무단 점유자가 램의 해지를 신청하면, 해당하는 램은 바로 회복되어 다른 사용자가 사용할 수 있지만, 그가 스테이크한 코인은 일정한 기간 동안 락업된 후에 돌려줍니다. 예를 들어 2주 또는 한 달의 락업기간을 부여할 수 있습니다.
## 6. 결론
---
이로써 우리는 **Dawn 4.0에 포함된 램 마켓의 단점을 확인**했고, **Jem의 램 스테이크 및 수수료 방법을 지지**합니다.
또한 위와 같이, **램 무단 점유를 회복하기 위해램 무단 점유자에게 경제적으로 제재를 가할 수 있는 두가지 방법을 제안**합니다.
## * 참조
아래 그림은 EOSIO Gov에서 Jem이 작성했던 글을 보여줍니다.
링크: https://t.me/EOSGov/37814
<center></center>

EOS 홀더들을 위한 커뮤니티 : https://t.me/eosnodeone_kr
EOS 개발자를 위한 커뮤니티 : https://t.me/eosnodeone_dev