라이즈(RISE) 코인에 대해 알아보자 - 3

in #kr7 years ago (edited)

원본 작성자에게 허락을 받고 퍼온 글입니다
디씨인사이드에서 퍼온 글이라 반말로 작성되어 있습니다 양해 부탁드립니다
출처 : http://gall.dcinside.com/mgallery/board/view/?id=risecoin&no=61


장투해놓고 신경을 끄려고 RISE Delegate를 돌릴 생각을 했던건데
어째 차트보고 단타치는 것보다 Delegate 돌리고 갤러리 관리하는게 더 일이 많은 것 같아
오늘은 이만 쉬고 내일 3편에서 Incubator project와 SEC규제에 대해 설명하려 했는데
DPoS 이자 배당방법에 대해서 잘 이해하지 못한 사람들이 많은 것 같아서
늦게나마 컴퓨터를 켜서 다시 정리글을 좀 끄적여보려고 해

이 글을 보는 사람들 중에서는 아마 블럭체인이 도대체 뭐에 쓰는 건지도 모르는 사람들이 많을거야
DPoS 배당 방법에 대해 간단하게 설명만 하고 넘어가고 싶지만
결국 배당 방법에 대해 이해하려면 블럭체인의 기본개념과 채굴방식에 대한 이해가 필요하니
1편에서 적었던 채굴방식에 대해서 조금만 복습을 하고 넘어갈게

블럭체인은 정보가 오가는 내역을 중앙서버 한 군데서 처리하는게 아니라
분산되어 있는 여러 작은 서버에 의해서 교차검증하고
그 검증된 내역을 블럭처럼 쌓아올려서 밑에 있는 블럭을 건드릴 수 없게 만든 구조야
아래에 있는 블럭을 건드릴 수 없으니 해킹에서 안전하다는 거고 탈중앙화라고 하는건데

이해가 안된다면 웹하드와 토렌트를 생각해보자 다들 블럭체인은 몰라도 웹하드와 토렌트는 알겠지?
블럭은 아니지만 '탈중앙화' 라는 측면에서
웹하드는 큰 중앙 서버에 파일들을 올려놓고 개별 유저들이 그 서버에 요청해서 파일을 다운 받는 건데
토렌트는 그런 중앙 서버가 없어
먼저 파일을 가지고 있는 사람이 시드를 유지해주면 다른 원하는 사람이 있을 때
이쪽 유저가 저쪽 유저한테 파일을 전송할 수 있게 장치해놓은 게 전부야

반대로 말하면 시드를 유지해주는 사람이 없으면 파일을 못 받는거지
다들 그런 좌절의 경험을 해봐서 알겠지?ㅎㅎㅎㅎ
각 시드가 분산되어 있는 여러 작은 서버라고 생각하면 돼

그런데 만약 시드를 유지해주는 대신 돈을 준다고 한다면 사람들이 어떻게 할까?
그럼 각잡고 시드를 빡세게 유지해서 돈 벌어야지 컴퓨터만 켜놔도 돈을 준다는데
컴퓨터 24시간 풀가동!

거기서 시작한 건 아니긴 하지만
대충 그런 아이디어를 구현한 게 비트코인을 시작으로 한 채굴 시스템이야
토렌트에서 시드를 유지하는 것처럼
블럭체인 네트워크를 유지하면서 블럭을 쌓는 작은 서버들을 운영하는건데
그걸 괜히 누가 공짜로 그냥 해 주겠어 그러니 보상으로 코인을 지급하는거고
코인은 역으로 그 네트워크의 구조로 인해 복사, 조작이 불가능하니 가치를 보존받는 거고
그런 선순환 구조를 갖는거지

근데 그 중 누구한테 얼마만큼 블럭을 쌓을 권한을 주고 보상을 쥐어주지?
토렌트 공유야 그냥 되는대로 연결된 사람한테 파일을 뿌리면 되는거고
중간에서 새로 공유되는 데이터를 생성하는거도 아니지만
이건 아무나한테 되는대로 블럭을 막 쌓게 하면 안되잖아?
보상을 불만 없게 합리적으로 줘야 하니까 뭔가 원리와 원칙을 정해야겠지?

그렇게 해서 최초에 나온 그 규칙이 PoW(Proof of Work) 라는거야
1편에서 설명했었는데 기억하려나 모르겠다
채굴방식의 역사는 1편에 나름대로 설명해 놓았으니 1편을 읽어보도록 해

RISE의 채굴방식인 DPoS(Delegated Proof of Stake)역시 1편에 설명해놨지만
다시 간략히 설명해 주자면 네트워크 유지를 통해 보상을 얻을 권한을
불특정 다수가 지분만 가지면 다 할 수 있게 하는게 아니라
지분 투표를 통해서 투표 받은 지분이 가장 많은 대표들이 가지게 하는거야

그 대표들은 채굴자들이 채굴 장비를 갖추는 것처럼 적절하게 시스템을 갖춰놓고
지분을 가지고 있는 보유자들에게 날 투표해주십쇼 홍보를 하고
대신 내가 대표가 되어서 보상을 받을 수 있게 되면
받은 보상 중 얼마만큼을 투표자 여러분께 나눠드리겠습니다 라고 약속하는거야

dpos.jpg

구체적인 예를 들어볼게
기호 1 2 3 대표 셋이 있고 코인을 보유한 투표자 A~E 5명이 있다고 하자

각 투표자 보유량은

A 투표자 - 10개
B 투표자 - 8개
C 투표자 - 6개
D 투표자 - 4개
E 투표자 - 2개

그리고 이 대표 세명 중 상위 득표자 두 명만 채굴이 가능하다고 하자

A - 기호 1번에게 투표
B - 기호 2번에게 투표
C - 기호 3번에게 투표
D - 기호 2번에게 투표
E - 기호 3번에게 투표

결과

A는 총 10개
B는 총 12개
C는 총 8개

만큼의 지분을 득표했고 이 중 상위 두 명이 당선되는 걸로 했으니
A와 B가 블럭을 쌓으며 보상을 받을 수 있게 되는거야

이런식으로 하면 투표자들은 대표가 배분한다고 약속한 배당만 받으면 될 뿐
직접 서버를 운영하는게 아니기 때문에 일 잘하는 대표에게 효율적으로 맡겨두고
자신은 블럭체인 동기화를 긴 시간을 걸려 할 필요도 컴퓨터를 켜 접속해 놓아야 할 필요도 없고
서버 운영에 필요한 장비를 갖출 필요도 없게 되는거지 대표가 대신 하는거니까

https://forum.rise.vision/category/5/delegates-proposals
이 주소에서 각 Delegate들이 어떤 공약을 약속했는지 공약집을 확인할 수 있어
물론 이런 식의 공식적인 공약 없이 프라이빗하게 운영하는 경우도 있으니
모든 Delegate들이 전부 저기에 있다고 볼 수는 없지 우리 라이즈 갤러리 델리게이트도 Private pool로 운영중이고

보통 내용은
안녕? 난 한국에서 온 홍길동이야
서버 운영을 위해 쓰는 장비 스펙은 이래 cpu는 어쩌구 저쩌구...
나는 내가 블럭체인에서 얻는 보상을 나한테 투표한 사람에게
이런식으로 배분하도록 할거야
(Ex. 보상 중 80%를 투표자에게 배분하고 20%는 서버운영비와 운영자 수익으로 함. 3일 주기로 지급)

기본적인 것은 이런 식이지
그렇기 때문에 어느 Delegate에 Vote 하는지에 따라서 이자가 달라지는거야

그럼 구체적인 보상 수치에 대해 얘기해 보도록 하자
RISE 블럭체인은 101명의 대표자가 존재하고
평균적으로 30초마다 이체 내역을 담은 블럭을 하나 생성하며
매 블럭마다 15 RISE의 보상을 대표인 블럭 생성자에게 지급하고 있어
해가 지날수록 이 보상은 점점 줄어들거야
그러니 한 명의 대표자가 받는 RISE의 양은 101x30=3030초마다 15RISE가 되는거고
24시간(86400초)동안 한 명의 대표자(Delegate)에서 받는 RISE의 갯수는 427개가 되는거지

이제 재미있는 점이 나오는데
분명 더 많은 지분을 투표받은 Delegate도 있을 테고 적게 투표받은 Delegate도 있는데
모두가 똑같은 빈도로 블럭을 돌아가면서 생성하고 똑같이 15 RISE를 지급받아
그리고 계좌를 관리하는 대표가 직접 수동이든 자동이든
자신에게 투표한 투표자들 계좌 주소로 지분에 따라 직접 이자를 송금해주는 거지
그런데 이렇게 공평히 15 RISE씩 보상을 주기 때문에
어떤 대표가 투표 받은 RISE의 양이 많으면 101위 밖으로 밀려날 위험이 적어 안정적이지만
그 대표에게 투표한 사람은 자신의 지분만큼 배당을 받기 때문에 상대적으로 배당 효율이 좋지 않아지는거야
그래서 우리는 한번 Delegate가 활성화되면 추가보팅도 추가매수도 받지 않으려 하는거지

아주아주 중요한 개념인데 왜 이렇게 해놓았냐 하면
독과점을 힘들게 하기 위해서야
만약 투표받은 RISE의 양이 많은 대표가 더 많은 블럭을 쌓고 더 많은 보상을 가져가는 시스템으로 하면
소수의 대표가 좋은 조건으로 대부분의 득표를 해서 네트워크를 독과점하는 일이 발생할 수 있어
STRAT라는 코인이 Masternode 때문에 한동안 벽빌런 이라는 녀석이 엄청 유명했었던 사실을 다들 알고있는지 모르겠어
많이 가지고 있으면 무조건 더 많이 받기 때문에 한명의 고래가 코인 독점을 시도했던 사건이야

그래서 101위 안에 들기만 하면 1등이든 101등이든 대표가 채굴하는 보상은 똑같고
우리는 효율을 위해서 101등의 Delegate 투표 컷에 거의 근접해서
효과적으로 Delegate를 돌리고 보다 많은 이자를 지급해주려고 하는거야
그러니까 Delegate Rank에서 101위 이상이기만 하면 순위는 낮을 수록 좋아

dpos2.jpg
추가 보팅이나 추가매수를 허용하면 어떤 일이 생길지 그림을 통해 알아보도록 할게

50만 RISE의 투표를 받아 101위 안으로 들어오게된 Rise Gallery Delegate(이하 RGD)
약속한대로 하루에 들어오는 보상 중 80%를 투표자들에게 나눠주기로 한다
그럼 427 * 0.8 = 341.6 RISE
341.6 RISE를 자신에 투표한 사람들에게 나눠주는 것이다
어떻게 나눠준다? 지분에 따라서

김코린은 RGD에 30만 RISE를
이여우는 RGD에 20만 RISE를 투표했다

그러면 배당은
배당을 약속한 341.6 RISE 중
김코린은 341.6 * 0.6 = 204.96개
이여우는 341.6 * 0.4 = 136.64개
를 매일 배당받게 되는 것이다

그런데 어느날 굴러온 돌이 나타났다
박디디가 RGD에 10만 RISE를 추가로 투표한 것이다
50만 RISE에서 60만 RISE로
순위가 부쩍 올라 50위권까지 올라온 RGD
이제 배당은 어떻게 될까

김코린 = 341.6 * 0.5 = 170.8개
이여우 = 341.6 * 0.333 = 113.87개
박디디 = 341.6 * 0.167 = 56.93개

결과적으로 같은 RISE를 가지고 있던 김코린과 이여우는 박디디와 배당을 나눠먹는 꼴이 되면서
배당 받는 RISE의 수가 줄어들게 되는 것이다
RGD의 순위는 부쩍 올랐으나 결국 RGD에 투표한 각자는 배당 효율이 떨어지게 되는 결과로 이어진다
그렇기 때문에 비슷한 조건이라면 Pool Votes가 적은(득표량이 적은) 대표에게 투표하는 것이 효율이 좋다
박디디도 만약 50만 RISE를 투표받은 RGD보다
더 적게 득표를 한 다른 대표에게 투표했다면 상대적으로 지분이 많으므로
더 많은 배당을 받았을 것이기 때문이다

고래들이 Private pool로 운영하는 이유, 그리고 우리가 추가보팅과 추매를 받지 않는 이유가 여기에 있어
무제한으로 막 투표를 받으면 저런 배당 나눠먹기 사태가 일어나니
101위 권 내를 유지하는 선에서만 적절히 투표를 받아
각 투표자들에게 배당을 더 좋게 해주는 걸 정책으로 삼는거지

만약 누군가가 추매를 하게 되어서 기존 우리 델리에 보팅해둔 계좌로 전송하는 일이 생긴다면
자동으로 갯수가 적용이 되어서 우리 델리의 순위가 올라가게 될거야
하지만 위와 같은 이유로 추매한 분량만큼의 이자는 주지 않으려고 해
그러니 추매분량은 계좌를 하나 더 만들어서 다른 델리에 보팅해두고 이자를 받고있다가
자리가 나거나 3차 4차 델리가 만들어진다면 그때 넘어오는게 좋을 것 같아
Delegate 모집 마감시의 최초 Voting 갯수가 다 저장되고
그 수량만큼의 단리이자만 지급하니 다들 꼭 명심하고
추매했는데 왜 이자 더 안주나요? 떼먹는거 아닌가요? 이런 질문은 정말루 안나왔으면 좋겠어...ㅎㅎ
그런질문 하면 차단해버릴거야

짧고 간단하게 이해하기 쉽게 쓰고 싶었는데 쓰다보니 내용이 너무 길어진 것 같아
분명 긴 글을 싫어하는 사람들도 있을테지만 정성들여 쓴 글이니
다들 대충 읽지말고 꼭 정독해줬으면 좋겠어 비슷한 질문이 너무 많이 나오더라구...ㅎㅎ

그럼 RISE가 점점 더 발전된 코인이 되길 바라면서 오늘은 진짜로 여기까지만 정리할게
틀린 내용이나 더 알고싶은 내용이 있으면 댓글 달아줘