100% SP vs 50:50 Which one is better? Does the haircut matter?

in #utopian-io5 years ago (edited)

Repository

https://github.com/steemit/steem

Introduction

Which one is better, 100% SP or 50% SBD: 50% SP? Does the haircut matter?

(TLDR: Roughly, 1: They're equivalent. 2: Doesn't matter)

Most people know that 50:50 is usually better especially when feed price was close to $1, but SBD was actually traded at much higher than 1 USD in the exchanges.

But now we're in the middle of the haircut (i.e., 1 SBD no longer guarantees 1 USD worth's STEEM), and many people seem to misunderstand which option is better now.

Unlike the explanation in @aggroed's recent post 100% powered up and its comment, I found that the two options are almost equivalent. (In fact, it's not that simple. Keep reading the main part or at least conclusion if you're interested in the detail.) Of course, I agree with @aggroed that 100% power-up helps STEEM price :) Sorry that I forgot to set 100% SP option for this post. I'll do next time.

Despite their equivalence,

  • 50:50 may still be better
    • considering liquidity benefit (who knew STEEM price comes down here?)
  • 100% power-up might still be better
    • due to rounding you may get 0.001 SP more
    • if you'll power-up anyway after receiving the reward.
    • you may get more votings :) Go for STEEM POWER! (actually this effect may not be negligible in these gloomy days)
    • may help keeping STEEM from going further down. If you're a whale (or if most people choose 100% option), that may affect the market price :)

Scope

Comparison between 100% SP vs 50% SBD: 50% SP for author reward under the recent haircut situation. I will show that they're equivalent by comparing the two options with raw block data. I'll also explain this with the Steem blockchain source code.

While the short answer is simple (they're equivalent regardless of the haircut), the details are not so simple. For those who're interested, I will give more detailed comparison.

Results

Method 1: Data analysis

Here is one of my recent author rewards with 50:50 option (12/9/2018 2pm) https://steemd.com/kr/@blockchainstudio/-2-40-utopianio--1543759120755

  • Current feed price is $0.40/STEEM on steemd.com or more accurately, 0.401 as follow:
  • Using this feed price, if you convert SBD to STEEM, you'll get the almost identical STEEM/SP for both options.

    Well, there seems to be 0.001 STEEM difference in this case due to rounding as I mentioned.

However, note that it is still possible that the amount you could've got with 100% SP option, 2 X 5.099 SP, might also have been 10.197 SP (not 10.198 SP) due to another rounding, which turns out to be true!!! as shown in 'author_rewards 10,197' (milli SP) on steemdb.com below.

In any case, the possible difference due to rounding is almost negligible, so the two options are almost equivalent. The difference isn't significant at all like "$7.5 vs $10" as in the aggroed's comment below:

https://steemit.com/money/@aggroed/100-powered-up#@aggroed/re-silvertop-re-aggroed-100-powered-up-20181208t160448672z

Two options may have different STU (Steem Token Unit)?

Well, you may still wonder if they might have a different STU from the beginning. That's a good point! And I've found that they're also identical. If you don't believe that, here it is :)

https://steemd.com/kr/@blockchainstudio/-2-40-utopianio--1543759120755
total_payout_value : 4.095 SBD is the author reward for the author (You can easily check this with steemit.com as below):

My author reward for the above post is in block #28,413,949. So I've picked one author reward with 100% SP option around that block. First one is 50:50 (mine in the above), the second one is 100% SP.

  • 50:50
{'_id': 'c34ec14fc9443f9d2b2fa872fe83ae88416ead55',
 'author': 'blockchainstudio',
 'block_num': 28413949,
 'permlink': '-2-40-utopianio--1543759120755',
 'sbd_payout': {'amount': '20', 'nai': '@@000000013', 'precision': 3},
 'steem_payout': {'amount': '5048', 'nai': '@@000000021', 'precision': 3},
 'timestamp': datetime.datetime(2018, 12, 9, 13, 58, 42, tzinfo=<UTC>),
 'trx_id': '0000000000000000000000000000000000000000',
 'trx_num': 0,
 'type': 'author_reward',
 'vesting_payout': {'amount': '10262057924',
                    'nai': '@@000000037',
                    'precision': 6}}

My recent post in the above. Again, if I chose 100% option instead, I'd have received 10.197 SP which is equivalent to the total amount that I received.

  • 100% SP
{'_id': 'aa3a9249ffed86b44501aa64d5c6a2a2c9d3df1c',
 'author': 'jpphotography',
 'block_num': 28413952,
 'permlink': 'asian-sunday-ginkaku-ji-in-autumn---kyoto-japan',
 'sbd_payout': {'amount': '0', 'nai': '@@000000013', 'precision': 3},
 'steem_payout': {'amount': '0', 'nai': '@@000000021', 'precision': 3},
 'timestamp': datetime.datetime(2018, 12, 9, 13, 58, 51, tzinfo=<UTC>),
 'trx_id': '0000000000000000000000000000000000000000',
 'trx_num': 0,
 'type': 'author_reward',
 'vesting_payout': {'amount': '15039882020',
                    'nai': '@@000000037',
                    'precision': 6}}


Post with 100% SP option

As you can see in the above, vesting_payout is 15039882020 (mvest), which is exactly 7.473 SP, as shown in the above!

STEEM/VEST ~= 0.0004969 (from steemd.com) you can access the historical value on https://steemdb.com/api/props)

Finally, 7.473 SP * feed price, you will get $3.001 SBD, again which is equivalent, as shown in the above. Done!

(Advanced) Wait a second, what about rshares?

Impressive, who are you? :) Well, you may still wonder if the same vote can have different rshares depending on the options. But they're the same and it can be easily checked on steemd.com

Method 2: Source code analysis

Here I'll explain each step with the source code briefly (See Method 1 for detailed explanation).

(After subtracting beneficiary's stake), shares are divided here depending on your option (100 or 50:50).

https://github.com/steemit/steem/blob/7ebe3f8bddf9e58c943618f55136db6330dd95a0/libraries/chain/database.cpp#L1828-L1829

As you can see, there is no trick, just plain division depending on the options you chose.

SBD is created by created_sbd() based on current feed price which already took the haircut into account!

https://github.com/steemit/steem/blob/7ebe3f8bddf9e58c943618f55136db6330dd95a0/libraries/chain/database.cpp#L1068-L1076

As you can see on https://api.steemjs.com/get_feed_history, current_median_history is already haircut. (which is very inconsistent with that all other historical values are non-haircut, which created 1% SBD printing bug that I explained here: https://steemit.com/utopian-io/@blockchainstudio/why-sbd-print-rate-is-still-1-despite-the-haircut-bug-report-explanation-and-suggestions)

So, regardless of the options you chose, they are converted the same way, so their values are equivalent.

(Advanced) What about rshares?

What if they have different rshares for the same vote depending on the options?

In fact, post reward is internally calculated in rshares in the beginning.

https://github.com/steemit/steem/blob/7ebe3f8bddf9e58c943618f55136db6330dd95a0/libraries/chain/database.cpp#L1783
rshares can easily be found at steemd.com too.

But the options do not affect the rshares.

Conclusion

The two options (100 and 50:50) are almost equivalent regardless of the haircut.

But there are some benefits in each option.

  • 50:50 may still be better
    • considering liquidity benefit (who knew STEEM price comes down here?)
  • 100% power-up might still be better
    • due to rounding you may get 0.001 SP more
    • you may get more votings :) Go for STEEM POWER! (actually this effect may not be negligible in these gloomy days)
    • if you'll power-up anyway after receiving the reward.
    • may help keeping STEEM from going further down. If you're a whale (or if most people choose 100% option), that may affect the market price :)
Advanced conclusion: When one is better than the other?

Let's forget about the minute benefits in the above, then when one can be better than the other?

Most people remember that 50:50 is better when SBD is actually traded at much higher than $1 but the feed price is still close to $1. That's the main principle.

100% SP is better when the feed price is higher than the market price. But, this is unlikely.
  • Why unlikely?

It's due to arbitrage via conversion. If the feed price is higher than the market price, that means you can receive more STEEMs from conversion than the amount you can get by selling SBD in the market. Of course, there's uncertainty, since the conversion takes 3.5 days. But anyway, the arbitrage opportunity cannot sustain long (unless Steemit is really eager to burn SBD by giving some incentive).

While the market is very volatile these days, the feed price is close to the market price more or less.

So you can benefit from 100% SP if you're very lucky to have higher feed price than the market price after 7 days you choose the option :) Of course, strictly speaking, if you convert with 50:50 option, and the feed price after another 3.5 days are even higher, then 50:50 is again better.

So which one is actually better? It's not that simple at all. All I can say for sure is it's very uncertain :) It isn't something that you can predict. Maybe the day will come again? SBD is traded at much higher than 1 USD? :) Then, choose 50:50.

Otherwise, I'd rather say they're virtually the same :) Just choose 50:50 if you need some STEEM, or 100% SP if you wanna fast power-up!

Tools and Scripts

  • Steem Python library to get raw block information.
  • Getting raw blocks is so simple (library doc has an example), so I don't include the script (unless there's a request from utopian-io).

Relevant Links and Resources

Proof of Authorship

Sort:  

.

Hi @crokkon, nice to see your comment again :) Thank you so much for your comments. Yes, I don't use steemsql yet. It's so tempting, so I'll try to avoid, since it will make me spend too much time :) And there are already many fantastic authors including you in that direction. So maybe I'll rather post something like this. Hope this also helps diversifying our contributions. Thank you!

.

haha maybe. I worked for Facebook as economist/data scientist before. (now I'm in academia) So I know how fun it is, and that's why I wanna try to stay away from it :) but I'm pretty sure I'll use it at some point. Currently, I'm doing some analysis from time to time just for fun directly from blockchain. Of course I know it's burdensome to the chain, so I'm minimizing the usage. I don't do any large scale analysis. When I do it, I'll use steemsql. Thanks again :)

Thank you for your review, @crokkon! Keep up the good work!

The 2 options are substantially equivalent and have nothing to do with haircut itself. Do you agree?

Posted using Partiko Android

Yes, that's exactly my point. Thank you.

For Koreans, 3위 증인인 aggroed가 haircut때문에 50:50 할때 $7.5 받으면 100% 파워업은 $10받는 것처럼 설명을 올렸는데 제 생각에는 잘못된 계산인 것 같아 한번 분석해봤습니다. 결론은 두옵션은 사실상 동일하다와 haircut자체와는 무관하다입니다. (물론 haircut 상황시 스달 소각을 위해 feed price를 높게 설정하는 incentive를 줄 가능성에 대해서도 언급해두었습니다.)

  • 물론 글에 설명한대로 50:50이 환금성이 좋으니 사실상 더 좋다고 봐야겠죠? 다른 조건이 같다면. 100% 파워업은 그대로 또 어차피 파워업하실 분들은 파워업이 claim만으로 자동으로 되는 셈이니 좀 더 편리하겠습니다. claim과 달리 파워업은 active key가 필요해서 자동으로 하기엔 프로그래밍을 하지 않곤 힘드니까요. 또 무엇보다 쿨해보여서 보팅을 더 많이 받을 확률이 매우 높겠네요?ㅎㅎ 결국 100% 가 더 좋은건지도 어차피 파워업하실분들께는.

100%가 좋을때는 feed price가 시장가 보다 높아야하는데 이러면 conversion(3.5일이 걸리는 리스크가 있긴하지만)을 통한 차익거래가 가능하기 때문에 이런 상황은 오래갈 수 없습니다. 그러니 7일뒤에 feed price가 시장가보다 더 높을것이라 예측하고 100%옵션을 선택한다? 거의 불가능이죠^^

반대로 feed price보다 시장가가 높은 경우는 많이 존재했죠^^ (역컨버전을 지원하지 않기 때문에 가능한겁니다) 스달이 2만원도 넘었던 적이 있었으니까요. 전 그때 스팀잇을 하지 않았습니다만. (왜 그랬을까요ㅠㅠ) 아무튼 시장가가 feed price보다 높을때는 50:50이 훨씬 더 좋다는 것은 다들 기억하고 계실 겁니다.

내일 (한국 오늘 저녁) 시간이 되면 한글판으로도 좀 설명드리겠습니다.


@blockchainstudio님 곰돌이가 최대 두배로 보팅해드리고 가요~! 영차~

짱짱맨 호출에 응답하여 보팅하였습니다.

추천! 이 세대의 교양서 「빨간맛 B컬처」. 스팀달러 특별가로 금일부터 스팀달러 에어드랍 프로그램 시작합니다.

「빨간맛 B컬처」 바로가기

Everyone should powerup as it raises the steem price up.

Hi @blockchainstudio!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 4.231 which ranks you at #2772 across all Steem accounts.
Your rank has improved 27 places in the last three days (old rank 2799).

In our last Algorithmic Curation Round, consisting of 226 contributions, your post is ranked at #54.

Evaluation of your UA score:
  • Some people are already following you, keep going!
  • The readers like your work!
  • Good user engagement!

Feel free to join our @steem-ua Discord server

Hey, @blockchainstudio!

Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!

Get higher incentives and support Utopian.io!
Simply set @utopian.pay as a 5% (or higher) payout beneficiary on your contribution post (via SteemPlus or Steeditor).

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!

Thank you so much! I actually forget to set beneficiary. I'll try next time.