Aggelos Kiayias 교수의 카르다노 스테이크풀에 대한 기고문

staking

#1

어제자로 기고문이 올라온것 같습니다.

대표적으로 비트코인의 예를 들어 설명하고 있지만 PoW의 마이닝풀이 대형화되고 점차로 과점형태로 나아가게 되는 구조적 문제와 비교해서 스테이크 풀의 운영 방식을 설명하고 있습니다.

영어가 약해서 읽는데 정신을 잠깐 잃을뻔했지만(…) 제가 간략하게 이해 요점만 말씀드리면
스테이킹 풀에서 개인이 얻을 수 있는 수익을 공식화하면 아래와 같습니다.

네트워크 총 보상량 * 특정 스테이킹 풀이 전체 네트워크에서 차지하는 지분율 = 스테이킹 풀 보상
(스테이킹풀 보상 - 풀 운영비용) * 본인이 풀 내에서 차지하는 지분율 = 참여자의 수익

풀의 규모가 수익으로 그대로 직결되는 경우는 하나의 풀로 집중되는 것이 가장 합리적인 것이기 때문에 풀의 독점을 막을수 없습니다. 이를 막기 위해 풀이 전체 네트워크에서 차지하는 일정 비율 이상이 되면 한계 지점까지만 수익을 인정하는 saturation point(포화점)을 두어야 한다고 하네요.

이 원리를 앨리스와 밥과 찰리의 예를 들어서 설명하고 있는데요

네트워크 보상 총량 : 1000개 코인
앨리스가 가진 풀의 지분 : 20%, 풀 운영 비용 25개 코인
밥이 가진 풀의 지분 : 19%, 풀 운영 비용 30개 코인
찰리 개인이 가진 지분 : 1%
saturation point: 20% 가정

찰리는 스테이킹 풀에 새로 들어가려고 하는 잠재적 회원인데 앨리스의 풀을 선택할 것이냐 밥의 풀을 선택할 것이냐를 두고 고민합니다.

saturation point가 없다면 앨리스의 풀로 들어가는것이 이익이기 때문에 가장 큰 스테이킹 풀이 지속적으로 유입되는 사용자의 지분을 흡수해서 독점하게 되고 맙니다.

그러나 saturation point가 있다면 아래와 같이 생각해 볼 수 있습니다.

찰리가 앨리스의 풀로 들어가게 되면 앨리스의 풀은 21%가 되고 앨리스 풀의 수익은 1000개의 코인중 21%에 해당 하는 보상을 기대값으로 갖지만 saturation point가 20%이므로 20%까지만 수익이 인정됩니다.

그럼 200개가 앨리스 풀의 수익으로 할당되고 25개의 풀 운영비용을 제하면 175개의 수익중 찰리가 가진 1%에 해당하는 지분만큼 (1/21) 찰리는 보상으로 받게 되죠. 계산해보니 8.3333… 이더군요

만약 찰리가 밥의 풀로 들어가게 되면 밥의 풀은 20%가 되고 밥의 풀의 수익은 200개입니다.
운영비용 30을 제하면 170개가 사용자들의 보상으로 주어지는데 이중 찰리는 (1/20)의 지분을 가지고 있으므로 8.5개가 됩니다. 앨리스의 풀에 들어갈때보다 약 2%의 수익이 더 크지요

이 때문에 가장 큰 풀인 앨리스 풀로 들어가지 않고 밥의 풀로 분산되어 각각의 풀이 saturation point까지 비슷하게 성장하는 효과를 낳습니다.

시뮬레이션 결과 각각의 스테이킹 풀이 0.1%씩 지분을 소유하게 되는 상황이 네트워크에 최적의 운영을 가져올 거라는군요 전세계 유지되는 풀로 약 1000개정도가 됩니다.

이러한 풀의 상태와 리스트를 다이달로스 지갑에서 공시하는 방안을 고려중인것 같고요.

제가 번역이 잘못되어 잘못 이해하고 있는 부분들이 있을수 있어 많은 부분 지적을 부탁드립니다.


#2

Table 1에 보면 찰리의 보상 칸이 있는데 거기에는 앨리스풀에 참여했을때 8, 밥의 풀에 참여했을때 8.16으로 나와있고 제 계산이랑 맞지 않아 의아하실 겁니다.

제가 마진율을 계산식에 넣지 않았네요.
추가 질문으로 물어보니 마진율도 풀의 이익으로, 고정 풀 운영 비용에 더해서 미리 제해야 하는 금액입니다.

즉 위를 넣어 계산을 다시 해보면
앨리스의 풀에 들어갔을때 찰리의 보상금은 다음이 됩니다.

네트워크 총 보상량 * 특정 스테이킹 풀이 전체 네트워크에서 차지하는 지분율 = 스테이킹 풀 보상
(스테이킹풀 보상 - 풀 운영비용) * 마진율 = 풀 자체 수익금
{(스테이킹풀 보상 - 풀 운영비용) - 풀 자체 수익금} * 본인이 풀 내에서 차지하는 지분율 = 참여자의 수익

1000 * 20%(saturation point 적용) = 200개
(200 - 25) * 4% = 7개 코인
{(200개 - 25) - 7} * (1/21) = 8