보팅으로 최대보상액수 만드는 효율적 보팅법!(하루 24시간 기준 13번의 풀보팅 추천)

in #coinkorea7 years ago

복돼지.png
안녕하세요 @korairpower [MilkyPig] 인사올립니다.

요즘 가상화폐 공부를 하다가 스티밋 커뮤니티 매력에 빠져버렸습니다. 하하…
알면 알수록 이런 앙큼한 ‘Voting system이 다 있나!’ 싶을 정도의 매력적인 커뮤니티입니다.

그래서 오늘은 적을 알고 나를 알면 백번을 싸워서 물러남이 없다는
‘지피지기 백전불태’ 정신으로 Steem의 보팅 시스템에 대해서 알아보고자 합니다!


몇 시간 주기로 얼마나 보팅해야 가장 큰 효과를 낼 수 있을까?

많은 분들이 궁금해하시고(사실 높은 명성을 가진 분들은 거의 다 알고 계십니다만..)
저처럼 뉴비분들 중 아직 묻지마 보팅을 하시는 분들이 있을 실 텐데
과연 어떤 방법이 가장 효율적 보팅을 하는 건지 제 나름대로 분석해보았습니다^^!

우선 간단히 설명드리자면, 스팀은 스티머들의 보팅 남용(abuse)를 막기 위해 보팅 파워(Voting Power)와
리커버리 시간(Recovery Time)으로 보팅량을 조절하고 있습니다.
즉, 마구잡이로 따봉을 누르면 손해보는 것이지요.

또한, 보팅을 할 때는 자신의 스팀 파워(Steem Power)의 크기에 따라 보팅 액수가 달라집니다.
그리고 위의 설명한 보팅 파워의 개념을 끌어오면 결국 보팅액수(Voting Value라 명명 하겠습니다.)는
SP(스팀파워) * VP(보팅파워)가 되는 것입니다.
마지막으로, 보팅 비율(Voting rate)라는 변수까지 추가하면 한 번 투표 가치가 얼마나 되는지가 산출됩니다.

아참! 그리고 계산의 편의를 위해 보팅했을 때 유효 스팀파워에 해당하는 가치만큼의 보팅액수를 정해주는
보팅상수(Voting Constant)를 같이 곱해줘야겠습니다.
예를 들어, 500SP를 투자할 때 1$가 오른다고 하면 유효SP를 $로 환원해주는 보팅상수는 0.002가 됩니다.
(앞으로 가정상 보팅상수를 0.002로 설정하겠습니다.)


VV(보팅액수) = SP(스팀파워) * VP(보팅파워) * VR(보팅비율) * VC(보팅상수)

종합해서 예를 들어보겠습니다.
Case1. SP(스팀파워)가 500일 때 VP(보팅파워)가 100%이고, VR(보팅비율)은 100%이다.
=> VV(보팅액수) = 500 * 100% * 100% * 0.002 = 1$

Case2. SP(스팀파워)가 500일 때 VP(보팅파워)가 80%이고, VR(보팅비율)은 50%이다.
=> VV(보팅액수) = 500 * 80% * 50% * 0.002 = 0.4$

VV(보팅액수) = SP(스팀파워) * VP(보팅파워) * VR(보팅비율) * VC(보팅상수)라는 식이라는
간단한 방정식의 결과로 보았을 때, 같은 스팀파워를 가졌어도 보팅파워와 보팅비율, 보팅상수가
어떻게 달라지느냐에 따라 보팅액수가 크게 변할 수 있는 것을 볼 수 있습니다.
(‘그래서 배우신 분들이 풀보팅 해달라고 하셨었구나!’라고 깊이 깨달았습니다.)

이렇게 보팅액수에 대한 식을 정리하면서 눈치채셨겠지만,
사실 보팅 비율 같은 경우에는 투표자(Voter)가 시간이나 비용적 제한없이 조절할 수 있는 부분으로
보팅 효율성에 큰 문제가 되지 않습니다.
한편, 효율적 투표를 위해서는 최소의 비용으로 최대의 효과를 내는 것이기에
‘최단 기간 내에 한정된 자원(스팀파워)으로 최대의 효과를 내는법’을 알아내야 합니다.
그래서 중요하게 생각할 것이 보팅파워의 ‘회복시간(Recovery time)’이지 않을까 싶습니다.
#3 votingpower vs time(total period).png
위 사진은 Steemit With paper(백서)에서 가져온 내용입니다. 여기서 중요하게 보실 부분이
스팀파워를 85% 수준 이상에서 유지한다면 단 기간에 회복할 수 있지만,
스팀파워를 10%내외의 선까지 떨어뜨린다면 회복하는 데 몇 배의 시간이 걸린다는 것입니다.
#3 voingpower vs time(close up).png
위 표의 왼쪽 0 ~ 26H(시간)을 보다 면밀히 보여주는 그래프입니다.
왼쪽 0~26H(시간) 동안 소모된 보팅파워와 회복되는 보팅파워의 시간을 독립변수(x축)로 둔 것을 볼 수 있습니다.
8H(시간) 부근에서 90% 내외 수준을 유지하다가 간헐적(sometimes)으로 투표를 한다면
보팅파워의 회복시간이 소모시간보다 빨라지고 우상향 하는 그래프를 만들것입니다.
그리고 저 표에 의하면 90%에서 100%까지의 보팅파워로 회복되는 데 걸리는 시간은 16시간입니다.(추정)
#3 votingpower vs time(total period).png
그리고 위에서 제시한 표를 다시 가져오겠습니다.
이 그래프에서는 마구잡이로 보팅하여 26~90H(시간)의 기간에 걸쳐 보팅 파워를 10%(추정)까지 떨어뜨렸습니다.
그리고 회복하는 데 걸리는 시간을 보시면 96H(추정) 부근에서 324H까지
총 228시간에 걸쳐 55%(추정) 수준의 보팅 파워를 회복하였습니다.

즉, 90% 수준의 보팅파워에서 10%의 보팅파워를 회복하는 데 걸리는 시간은 16시간이였으며,
이와 대비하여 10% 수준의 보팅파워에서 10% 보팅파워를 회복하는 데 걸리는 시간의 평균(산술)은 41.5 시간이었습니다. 90%수준의 보팅파워의 회복보다 10% 수준의 보팅파워 회복이 무려 2.6배 가량의 회복시간을 더 가져야하는 것입니다.

물론, 아직 첨가하지 못한 변수와 또다른 문제가 있습니다.
1voting이 19하드포크 이후로 한계체감하며 소모된다는 점과
Recovery Time이 아마 y=ax^2 또는 역루트의 함수를 가질 것인데
아직 정확한 회복시간의 공식을 구해내지 못한 것입니다.

이 부분을 구하기 위해서는 몇 가지 실험을 해야 하는데,
제가 뉴비로 들어와서 좋은 글에 마구 보팅을 하다보니
아직 보팅파워가 100%가 되지 못해 실험을 하지 못하고 있습니다.(뉴송하옵니다…)
그래서 다음 번에 기회가 된다면 몇 번의 실험설계를 통해 가장 효율적인 보팅액수(Voting Value)를
만들기 위한 식을 도출해볼까 합니다.


집어치우고 그래서 몇 시간 주기로 얼마나 보팅하라는 것이야?!!!

본론으로 다시 들어가겠습니다..

사실, 이 비율에 대해서는 제가 아직 실험을 마치지 못해 정확한 수치를 구해드릴 수 없음이 죄송합니다.
이번 하드포크 19에 steemitblog 공지를 읽어보았을 때는 1vote = Reamaining 2% Votingpower라고 되어있습니다.
즉, 1vote = 남아있는 보팅 파워 중 2%를 깔 게야! 라는 말입니다.
예를 들어, 100%면 1vote 시 100%의 2%만큼이 차감되고 보팅파워가 90%면 1vote 시 90%의 2% 만큼 차감된다는 것입니다. 즉, voting할수록 votingpower의 소모율은 줄어들게 되었습니다.
그러다보니 우하향으로 한계체감하는 보팅파워와 우상향으로 한계체증하는 회복시간은
서로 상쇄되기 때문에 둘 다 정확하게 구해야 하는 변수가 되었습니다....

#3 보팅 수 대비 보팅 파워.png
보팅수에 따른 보팅파워는 다음과 같이 하락합니다.(회복시간 고려X)
하드포크 19 공지에서 찾아낸 단서로 공식을 만들어 엑셀 작업한 그래프입니다.
주요 수치로는 다음과 같은 부분이 있습니다.
100%파워에서 5번 vote 시 90%가 되고 11번 vote 시 80%가 됩니다.(이 외에도 round figure들이 존재합니다만,, 구하는 방법은 매우 간단하고 굳이 올릴 필요가 없을 데이터여서 구체적 수치가 필요하신 분들께는 말씀해주시면 공유해드리겠습니다.)

또, 한 가지 단서를 얻자면 하드포크 19에서 5일주기로 fully voting power가 regenerate된다고 합니다.
즉 보팅파워가 0%까지 갔으면 꽉 차는 데 5일이 걸린다는 말인 것 같습니다.
*다만, 의구심이 드는 것이 이게 ‘보팅 파워 회복시간이 산술적으로 변한다는 것인가?’라는 말인지는 좀 더 알아봐야 할 것 같습니다.(고수님들 답변을..) *

#3 효율적 보팅파워 사용 구간.png
어쨌든 저 말에 따르면 최소 80% 수준의 보팅 파워라면 24H(시간) 이내 회복된다는 말인 듯합니다.
그렇기 때문에 다음과같이 100% 보팅파워 수준에서 20%가량의 보팅파워를
소모하는 보팅을 한다면 보팅액수가 얼마나 될지 그리고 투표수는 얼마나 되는지 계산한 것입니다.

결론부터 말씀드리자면, 24H 하루 기준으로 94% 수준의 보팅파워에서 보팅비율을 100%로 두었을 시
13번의 vote를 하는 것 또는, 88% 수준의 보팅파워에서 풀보팅으로 14번의 vote를 하는 것이 바람직해 보입니다.
(분할 보팅을 하시는 분들은 하루에 94%에서 74%가 될 때까지 보팅하거나 88%에서 68%가 될 때까지 보팅하시면 됩니다.)

또한, 위 내용은 아직 보팅파워 회복시간 공식을 구하지 못했기 때문에 88%수준에서의 14번 vote가 보팅액수는
많게 계산되었을지라도 24시간 기준으로 20%를 회복하지 못할 가능성도 있다는 것을 유의해주시길 바라며,
안전하게 94%수준에서 13번 vote하시는 것을 추천드립니다.


결론

너무 길게 돌아왔습니다. 죄송합니다. 스크롤 드르륵드르륵 내리시다 이 부분만 보시면 될 것같습니다.
보팅을 어떻게 하면 효율적으로 할 것인가?

  • 24시간(하루 기준) 94% 수준의 보팅파워(Votingpower)에서 74% 수준의 보팅파워가 될 때까지 보팅한다. 또는 88% 수준의 보팅파워에서 68%수준의 보팅파워가 될 때까지 보팅한다.
  • 그리고 아직 실험해봐야 하지만 전자(94% 수준의 보팅파워 ~ 74% 수준의 보팅파워)를 추천한다.
  • 풀보팅으로 했을 때 94% 수준의 보팅파워에서 하루 기준 13번의 보팅을 하면 된다.

이상입니다.

아참 그리고 보팅파워 확인하는 사이트 사용법입니다.
https://steemd.com/@ID
@ID에 본인 Address 넣으시고 접속하시면 Voting Power 확인 가능합니다.^^

정말 끝입니다.

감사합니다!

#3 송금 내역.png
아참, 오늘도 스티밋의 장기적인 발전을 바라며 SP업합니다^^!!!!!!!!!!!!!!!!!!!!!

Sort:  

보팅 하고 갑니다.

감사합니다! 팔로우하고 찾아뵐게요~!

너무 길어서 대충보긴했지만
결과적으로 말하면 2시간에 한번이
최대효율을 뽑을수 있는것으로 알고잇습니다.

봐주셔서 감사합니다~ 다음엔 더 줄여서 써야겠습니다. 98% 보팅파워에서 얼마 후에 100% 보팅파워가 되는지 실험해보고 다른 함수들과 비교해봐야겠습니다^^

✈ 안녕하세요. 정말 알찬 글 올려주셔서 감사해요. 아마 뉴비 분들에게 큰 도움이 될 것 같네요. 다만 하드포크 19 이후로 어떤 변화가 있었는지 궁금해 하시는 분들이 많으셔서 글을 하나 붙이고 갈께요.

Overview

This Hardfork is about changing the rewards curve to be stake proportional. The original proposal can be read on steemit.com.

Linear Rewards

With the introduction of a linear reward curve everyone will have a say directly proportional to their stake. #1051

Square Root Curation Rewards Curve

This is to offset the changes in rewards due to the linear reward curve. Curation rewards should stay roughly where they are. #1052

1.Curation Rewards

The change to the curation rewards curve will not have a noticeable impact on curation rewards and is necessary simply to prevent the linear reward curve changes from having a material impact on curation rewards.

제 개인적인 생각으로는 하드포크 19 이후로 큐레이션 보상이 제곱근으로 변경되었기 때문에 풀보팅 보다는 5%-20% 이내의 보팅파워로 최대한 많은 유저들에게 보팅을 분산해서 하는 것이 전체 커뮤니티의 성장과 자신의 리워드 보상을 최대화 하는데 도움이 될거라고 생각합니다. 다만 어느 정도의 스팀파워에서 큐레이션 보상이 꺽이는지는 확인이 된바 없습니다. 결론적으로는 고래분들을 제외하고는 그냥 풀보팅을 하나 안하나 거의 비슷할 것 같습니다. 다만 이론상으로는 분산하는게 최적화 된 전략이라는 걸 말씀드리고 싶었어요.

간단한 설명을 위해 풀보팅 기준으로 하였는데 높은 스팀파워 소유자분들이 분산해서 투자하는 가정은 넣지 않았습니다 ^^;; 고래분들은 이 내용을 알고 있을 거라 생각했는데 따로 생각해봐야겠습니다. 감사합니다!

✈ 아니에요 ㅎㅎ 저를 비롯한 뉴비분들에게 큰 도움이 되는 글이에요. 하나하나 꼼꼼하게 다 테스트 해주시고 정말 좋은 글을 써주셨어요 ㅎㅎ 감사합니다! ㅎㅎ

픽글 보고 다녀갑니다.

항상 글 잘 읽고 있습니다. 감사합니다 ^^!

좋은정보 감사합니다. 매번 궁금했던건데 역시 배우신분들을 따라가는 수밖에 없네요 :)

배우신 분이라뇨 허허.. 아무튼 좋게 봐주셔서 감사합니다 ㅎㅎ

이런 정보글은 언제나 환영입니다!!
좋은글 감사합니다! 소통하며 지내요~~

감사합니다^^ 스티머님들과의 소통은 언제나 환영입니다!

@azathoth1942님이 좋은 지적 해주셨습니다. 24시간 주기에 13~14vote이면 회복량을 고려해서 일정 주기로 나누는 것이 더 효율적인 결과가 나옵니다. (1시간 50~55분 주기)
다만, 자는 시간 중간에 일어나서 할 수는 없으니 하루 기준으로 시간을 적절히 분배해야겠습니다^^

정성들여 분석하셨네요. 풀보팅 하고 갑니다. 다만 궁금한게 글 중간 쯤에 있는 10% 대 까지 파워가 떨어지면 회복에 200시간 이상 걸린다는 내용 하고 하드포크 19 이후 5일만에 풀회복 된다는 내용 하고 상충되는데. 하드포크19 때 룰이 바뀐건아닌지요

정확하게 보셨습니다. 그래서 위에 분석 내용 중간에 회복 시간에 대해 확정짓는 것은 실험법으로 증명하기로 예정되어있습니다. 다만 하드포크 19 이전 룰과 이후 룰 둘 다를 적용하더라도 80% 이상에선 하루 20% 가량의 보팅파워가 충전 가능하니 93~94%대 보팅파워를 유지하며 일정 간격으로 하루에 13 보팅 하는 게 이상적일 것이라는 판단입니다^^!
보팅 감사합니다~ 저도 자주 들르겠습니다^^!

굉장한 분석글 감사합니다. 그런데 풀 보팅이라는 것이 뭔지 잘 이해가 안갑니다. 100%를 하나의 글에 보팅하는 것을 의미하는건가요? 그러면 5일에 한번씩 풀보팅이 가능하게 되나요?

넵, 풀보팅은 하나의 글에 비율을 100%로 하고 보팅하는 것을 말합니다 ㅎㅎ 저는 뉴비에 스티파워가 모자라 아직 보팅바가 안 생겨서 무조건 풀보팅입니다 ㅋㅋ... 다만, esteem앱을 사용하면 스팀파워가 적어도 보팅 비율을 조절할 수 있다네요:)

보팅도 너무 어려워요. 그냥 좋은 글이면 풀보팅 ㅎㅎ

사실, 커뮤니티를 즐기는 목적으론 다른 것엔 신경쓰니 않고 좋은 글엔 보팅이 맞는 것같습니다^^! 감사합니다.