Теория
Тут небольшое отступление, что бы рассказать немного теории. Что бы было понятнее и для тех, кто не знает должно быть интересно. Кому не интересно, крутите смело в конец статьи.
У каждого голосующего есть Сила Голоса. Посмотреть ее можно так же в кошельке.
Это своеобразные акции голоса с долгосрочным размещением. Как минимум половина вознаграждения за посты и комментарии выплачивается в Силе Голоса, то бишь акциями. Те кто уже достаточно долго на голосе наверняка знают, что эта Сила Голоса влияет на распределения выплат к постам и на ваши кураторские вознаграждения.
Ваша СГ внутри блокчейна учитывается в вестинах.
Как это происходит. Когда кто-то размещает на голосе пост, другие участники голоса голосуют за этот пост, и блокчейн записывает под постом имя проголосовавшего и его количество акций на момент голосования, иначе говоря его уровень Силы Голоса.
weight
Голосующие могут так же выставлять процент Силы Голоса от нуля до 100, так называемый вес апвота или weight по английски. Это тоже учитывается. В такой пропорции будет учитываться ваша Сила Голоса.
voting_power
Есть еще один параметр, который влияет на Силу Голоса - энергия голоса. Так бы я перевел voting_power. С каждым отданным голосом ваша энергия падает. Примерно 40 ваших апвотов снижают voting_power до ~ 80% и за сутки она успевает восстановится до почти 100 процентов.
Текущее значение voting_power можно узнать к примеру на golosd.com/@вашник
То-есть в итоге ваша СГ умножается на weigh / 100 и на voting_power/100 и в итоге и получаются так называемые reward shares (англ. акции вознаграждения), сокращенно. rshares.
Чем больше этих rshares получает ваш пост относительно других постов, тем больше вознаграждение. Как это происходит. Допустим Петя написал пост "Жить хорошо", а Вася "А хорошо жить еще лучше. И спустя сутки за петин пост проголосовали 100 человек и вложили в его пост 100 акций, а за васин пост проголосовали всего 2 человека, но с большой силой голоса - т. н. киты, вложив к примеру 2500 акций. В сумме у нас получается 2600 акций. Если у нас пул вознаграждения к примеру 260 Золотых, то умножив 260 на 100 и поделив на 2600, мы получим вознаграждение Пети 10 золотых, а у Васи получится 250 золотых.
Часть вознаграждения распределяется между голосующими за пост. Все так же, аналогично. Если проголосует Вася-Кит за пост с 1000 акциями и Петя-Гальян с одной акцией. То естественно Вася-Кит получит 1000 частей вознаграждения кураторам, а Петя-Гальян за одну акцию получит 1 часть.
Вот почему так важно наращивать Силу Голоса. Чем она больше, тем выше ваше влияние на распределение наград, и тем выше ваш заработок. @naminutku регулярно публикует отчеты по заработками кураторов. Можно посмотреть сколько возможно получить процентов годовых, вложившись в Силу Голоса и удачно голосуя. В среднем получается 10-20 процентов. Где еще вы можете получить такие начисления по вкладам или? ))
Вычисления
Ну вот мы и добрались до самих вычислений. Что бы посчитать, нам надо получить сумму выплат за пост в GBG. Это можно сделать, открыв вкладку "Авторские вознаграждения" в кошельке. Как видим шаману было выплачено 59.120 GBG за пост.
И нам нужны rshares каждого проголосовавшего за данный пост. Для этого можно воспользоваться любым тулом, способным получить техническую информацию о посте. У меня есть свой собственный, я им и воспользуюсь.
Что бы получить информацию о посте, понадобится имя пользователя и так называемый permlink. permlink можно получить из ссылки на пост в адресной строке браузера. Это последняя часть ссылки после "/" (без слэша)
Теперь переходим на сайт http://ropox.tools/steemjs/api/database_api/get_content и вводим имя автора, permlink и нажимаем execute. В нижней части экрана появится техническая информация о посте.
Пролистав в низ, до "active_votes" вы увидите список проголосовавших и их rshares
Надо сложить все rshares. Просуммировав мы можем уже посчитать размер вознаграждения каждому проголосовавшему. Для этого умножаем размер выплат - 59.120 на rshares проголосовавшего и делим на сумму всех rshares.
В своем скрипте я исключал тех, кто ставил флаги. Их rshares записаны со знаком минус. И если сумма выплат получается меньше 0.001 GBG, то я увеличиваю принудительно сумму выплат до 0.001, что бы всем перепало, даже тем, у кого небольшая сила голоса.
Вот собственно и все
А вот постоянно ходят какие-то легенды, что выгодно голосовать незадолго перед китом. Это действительно всё легенды, судя по этим вычислениям? Нет никакой разницы, в какой последовательности Петя-Гальян и Вася-Кит проголосовали?
Честно говоря я не знаю. Еще не разбирался с этим. Будет время, попробую найти в коде.
Я в посте привел пример технической информации о посте и в частности об апвоутах. Так вот если внимательнее посмотреть, там есть rshares параметр, а есть еще и weight. Так вот rshares это влияет на вознаграждение посту, а weight это влияет на ваши кураторские вознаграждения. У поста есть total_vote_weight параметр, вот относительно его и вычисляются вознаграждения куратормам. weight вычисляется в зависимости от rshares и я видел, что он так же зависит от времени голосования. Если проголосовать сразу после того как пост был опубликован, то ваша сила голоса будет уменьшена почти до нуля. Если проголосовать через пол часа и позже, то ваша сила голоса будет полностью зачтена, соответственно кураторские будут выше.
И вот тут наверное и должен быть еще механизм регуляции, что бы люди не ждали, пока пост наберет много голосов, а потом голосовали бы и наслаждались работой других, а сами зашли и прочитали пост и прикинули бы, хороший пост или нет, стоит за него голосовать или нет, проголосуют ли за пост киты. То есть вознаграждение первым кураторам должно быть выше. По моим наблюдениям и экспериментам так оно и есть, но точно сказать смогу только посмотрев внимательнее код.
Будет время - сделаю это
Что-то за мой верхний комментарий в ветке ломанулись боты голосовать.
Что бы это значило?
За полчаса уже 52 голоса набежало.
А вот пойми их поди ) Боты, что с них взять
Всё просто, @bezborodkin. Боты последовали примеру товарища (хозяина?) @ropox.
Спасибо! Вот это было бы очень интересно. Это, по сути, пока единственный момент, который мне в математике Голоса не очень понятен.
Да, выгодно )
Автор поста здесь пишет о том, сколько вы даете посту, за который проголосовали.
Вас же интересует, сколько вы с этого получаете. Это разные вещи.
Проголосовавшие за один и тот же пост пользователи с одинаковой СГ ( и одинаковыми % -ми ) дали посту одну и ту же сумму, допустим 10 "условных единиц"
Один проголосовал до кита, он может получить даже больше кураторских, чем он дал посту.
Другой проголосовал после кита, соответственно получит 0.01 кураторских, если вообще что то получит...
Спасибо за подробности;))
А с маленькой СГ (у меня около 6), кураторские дадут (хотя б 0.000000000000000000000001) или ровно 0 будет?
Спасибо, @shenanigan, за предупреждение))) Чуть-чуть не хватает...
Ну, для начала подпишитесь на @golosmedia, он регулярно дает своим подписчикам процент с "акций" - выходит около 10 GBG за неделю. Ну и кроме того, информация у него полезная. Про китов статья была тут - https://golos.id/ru--golos/@urri/kity-nashego-golosa-chast-1, сейчас она устарела немножко, правда, но большей частью еще актуальна. И есть еще китовый сонар, разработанный @elviento - http://golos.loadsup.net/sonar/
@extranjerita
...правда, для этого надо иметь репутацию 50+
@html
Ну спасибище @extranjerita за ответ, да ещё и с ссылками! А то иногда как ответят — фиг найдёшь))) Отправляюсь читать))
Да, будут, только очень маленькие. Вы можете посмотреть, сколько их набегает, в собственном профиле (награды - нажать на стрелочку - выбрать кураторские награды). Но только даже у дельфина эти награды составляют порядка 3 единиц силы голоса в неделю, а у вас этим можно пренебречь пока. Зато если написать содержательный комментарий под постом кита и получить его лайк - это пока может весить больше, чем собственный пост.
Дык нема в профиле, пусто, вакуум! Отсюда и вопрос был. То ли не показывают микро-кураторские то ли жабят себе? Оказалось, жабят! Жабы!
За советы спасибо. Буду знач комментить)) Где тут список китов и их постов!)))
Меньше 0.001 обнуляется.
0.001 при 6 СГ вы получить можете, но это надо очень удачно попасть.
ВотГады! Обнуляют они! Жалко что ли 1-10??
А вам за ответ спасибо! Хорошо, хоть возможность удачно попасть имеется.
(Но надёжнее в лотерею играть)))
Вот же, про распределение кураторского вознаграждения:
Именно о том, сколько получает куратор.
Не заметил этого абзаца. Это неверно.
Кураторское вознаграждение перераспределяется от тех, кто проголосовал позже к тем, кто проголосовал раньше.
Если же тот, кто проголосовал раньше, проголосовал до истечения 30 минут с момента публикации поста, то частью своего вознаграждения он делится с автором.
Спасибо за ответ.
А если голосовать после истечения 30 минут - что принципиально меняется?
Скажем, за пост проголосовали всего 2 человека: Вася и Петя. У обоих одинаковая СГ. Голосуют оба на 100%. Вася проголосовал раньше. Рассмотрим 2 ситуации:
В чём будет разница в их кураторском вознаграждении в этих 2 ситуациях?
Если на английском, то можно почитать блог одного из разработчиков https://steemit.com/@theoretical
на комментарий снизу
Собственно, "формула" - это код, и он выложен в открытом виде на Гитхабе )
Однако же хочется ведь не просто "формулу", а простую формулу, да ? ;)
А вот с этим сложно, поскольку количество переменных в этой формуле примерно равно количеству пользователей.
Логика применения "квадратичного" голосования в том, что при "линейном" голосовании самой выгодной стратегией для всех становится голосование за собственные посты и комментарии. При квадратичном же вовремя проголосовать за чужой пост, который впоследствии наберёт много голосов, может быть намного более выгодным, чем проголосовать за собственный.
Да, хочется какой-то относительно небольшой кусок кода, пусть даже и не очень простой :)
На гитхаб надо пойти и перелопатить весь код движка, для начала. Просто чтоб найти нужные формулы и сопоставить их друг с другом. На это времени, увы, совсем нет, а понимание выстроить хочется :)
Происходит примерно так :
Вот Вася проголосовал на 15 минуте. Он "дал посту" своим голосом 1 "рубль".
Из этого "рубля" автор получает 0.75 + половину от 0.25 = 0.875
Вася получает 0.125
(если бы Вася проголосовал после 30 минуты, то он бы получил 0.25 , а автор 0.75 )
Пока все просто, но сильно усложняется с появлением других голосующих.
Допустим, как в первом примере, Вася проголосовал на 15 минуте, а Петя на тридцатой.
Вместе они дали автору уже не два, а (1+1) в квадрате, то есть 4 рубля, уже два рубля дал Вася и два Петя.
Соответственно, если бы не было перераспределения кураторских наград, то Вася получил бы 0.25, Петя 0.5 а автор 3.25
В реальности автор по прежнему получает 3.25, Вася получает где нибудь 0.3 а Петя 0.45 ( Петя делится своим вознаграждением с Васей, который проголосовал за пост раньше )
Если бы они оба проголосовали после 30 минуты, то автор получил бы 3, Вася 0.55, а Петя опять таки 0.45
А откуда квадрат берётся? Чёрт, всё-таки очень хочется формулы посмотреть :)
Мне тоже хочется узнать это
Для кураторских смысл есть. Для 50/50 - нет.
Самое странное что скрипт запретили выдавать. А логику разрешили рассказать. Теперь тот кто может писать приложения под БЧ GOLOS может запилить себе такую прогу. И довольно таки быстро.
Это просто не обговаривалось )) Да и знания не запретить! Это же не какое то секретное ноу-хау. Кто хочет может сам во всем разобраться. Да и для инициаторов программы 50/50 для прозрачности полезно. Я думаю они потраченные на скрипт монеты быстро отобьют и даддут добро на публикацию. Тогда и писать свой скрипт станет не нужным, да и скрипт для крипто-обывателей все таки относительно сложен для запуска. Тот кто напишет бот, получит хайп и сможет подзаработать.
Я тоже сделал такой скрипт, пока обкатываю его на Steemit'e. А вот про хайп и подзаработать можно детальнее?
В примере с Васей и Петей у вас получается линейное распределение? Там разве не надо возвести количество rshares в квадрат? Да и откат, наверно, надо по квадратичному закону делить...
К тому де, как вы видели уже наверное, обсуждается переход с квадратичной зависимости, на логарифмическую или линейную. У меня линейная получилась - более справедливая ))
Видел, тут предложения и поэкзотичней есть. Сейчас как раз постик пишу :)
Уже жду )
И так сойдет, для простоты изложения и распределения вознаграждения.
И так сойдет? Мне кажется, меня обделили. Хочу проверить, но у меня не работает:
Ну это наверное от того, что распределение не квадратичное и получается меньше отката китам, побольше мелочи.
Можно попробвать так же и квадратичную зависимость сделать и посмотреть, сколько скрипт насчитает. Мне самому интересно.
Ой не знаю. С уверенностью сказать не могу. Это надо в исходники голоса смотреть. Для задачи вознаграждения мне показалось достаточным посчитать самому сумму и распределение. Могу запустить скрипт и посмотреть, сколько он насчитал в сумме rshares и сколько получилось у тебя вознаграждения.
Да, не. Я просто насчитал, что должно было упасть в районе 14, а упало 8.
Да, там есть суммы за посты, но в скрипте я считал сумму rshares вручную игнорируя флаги. От этого сумма rshares получается чуточку больше чем сумма в структуре. Я думаю так. Но проверять я этого не стал. И да, распределение линейное. С квадратичностью я не стал возиться. Так проще, согласно вкладу. Иначе всем бы достались совсем уж крохи.
Вот правильный линк к посту
http://ropox.tools/steemjs/api/database_api/get_content?blockchain=GOLOS&author=optimist&permlink=chto-takoe-golos
а как называется строка с суммой rshares с учетом флагов?
Видимо таже ошибка. В permlink надо вводить permlink, ну и может опечтка в имени автора. Судя по всему пост не найден. Так как все поля пустые в структуре
вроде я всё правильно ввел, ну хорошо, можно тут глянуть во вкладке RAW Data
А там где-то есть сразу сумма всех ршарес или складывать надо руками?
https://golosdb.com/ru--apvot50-50/@optimist/chto-takoe-golos
В смысле ниже такой же вопрос задавали. Видимо я нечетко написал как пост загрузить
@ropox на Ваших скринах не видно, но там есть еще такие поля: net_rshares, abs_rshares, vote_rshares, children_abs_rshares. Что за данные в этих полях? У всех моих постов, в этих полях стоит одно и тоже число. Это случайно не общая сумма rshares всех проголосовавших? И что за поле с интересным названием - children?
Да, я думаю это суммы rshares, но врать не буду. Не проверял. Не уверен просто, это без возведения в степень двойки или с ней. Можно было и на них завязаться, но я подумал, что они учитывают флаги. У флагов rshares со знаком минус. Для подсчета выплат берется сумма с учетом минусов, а вот для скрипта я игнорировал флаги. Поэтому я вручную считал сумму, без учета флагов.
Но вы правы, если не заморачиваться с флагами, то можно взять готовую сумму, а не считать вручную. На худой конец найти в списке флаги и вычесть их из суммы.
Странно что выбор процента вознаграждения кураторам не встроен в клиент. Было бы интересно посмотреть на каком значении система пришла бы к балансу)
спасибо, сохраню для внимательного чтения
статей о распределении наград за голосование очень много, но большинству не хватает информативности
Спасибо! Информация прямо в руку)
Круто! Вот таким должен быть пост! Как раз были интересны подробности. Спасибо!
Хм... Проверил на этом посте тулзу, в полеЗаработало!active_votes
, показывает[]
спасибо за статью, все очень толково расписано. а по поводу похожего скрипта в Вами можно проконсультироваться? речь идет о розыгрыше определенного приза (от 1 до 3 за один раз) среди подписчиков которые сделали автопут, репост и комментарий.
Спрашивайте, по возможности отвечу.
у меня есть проблема с привлечением подписчиков. Чтобы ее решить (привлечь новых подписчиков) я хочу запустить своеобразный конкурс, в котором за подписку+ автопут+ репост+комментарий моего поста, люди выполнившие эти условия становятся участниками конкурса, и становятся претендентами на приз (от 1-3 за один розыгрыш), в моем случае часов из моей коллекции. победитель выбирается аналогично методом случайных чисел (по аналогии с randompromo.ru к примеру). Вот такой у меня вопрос и потребность)))
В смысле вам нужен скрипт для этого? Я к вашему сожалению и моему счастью ухожу в отпуск в конце следующей недели и уже ничего не успею сделать. Дел очень много. Только в ноябре смогу что то снова сделать. Я бы советовал сначала раскрутить свой аккаунт, а потом устраивать конкурсы с раздачей часов. Завтра выложу скрипт для откатов в открытый доступ . Можете воспользоваться им для раскрутки.
спасибо за честный ответ и совет. на всякий случай мой ник в телеграм m1m2.
@ropox, Поздравляю!
Ваш пост был упомянут в моем хит-параде в следующей категории:
Спасибо, очень ценная информация
Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит":
vlad, litrbooh, t3ran13, ianboil, francisgrey, lyudmila, ukrainian, neo, polyideic, fetta, kavalsky, niiu, eduard, korzhimanov, vik, brovaryleaks, vadbars, vasilisapor2, nefer, vict0r, semasping, ladyzarulem, zaria, tnam0rken, asuleymanov, exan, yudina-cat, polyakov, oksana0407, fyyf, vika-teplo, borisss, candy777, vpervye1, kondratij, tatyanamishenko, myhardmoney, del137, bammbuss, dmitrijv, brika, kertar, prianikova, dimas102, nerengot, igrinov, ieshua, mp42b, wedge, ksantoprotein, massatela, nerossoul, gbot, evgeniy73, nikitosuna, irimeiff, chupaaa, evgeniy1989, izbushka
Поэтому я тоже проголосовал за него!
Узнать подробности о сообществе можно тут:
Разрешите представиться - Кит Добрый
Правила
Инструкция по внесению Инвестиционного взноса
Вы тоже можете стать Инвестором и поддержать проект!!!
Если Вы хотите отказаться от поддержки Доброго Кита, то ответьте на этот комментарий командой "!нехочу"
dobryj.kit теперь стал Делегатом! Ваш голос важен для всего сообщества!!!
Поддержите нас на странице https://golos.io/~witnesses, вот так:
Что-то у меня не выходит список проголосовавших, хотя он там по факту есть
Вы не внимательно прочитали текст. Нужен не весь линк к посту, а только permlink - последняя часть, после "/". Я там на скриншоте выделил. В вашем случае будет так.
http://ropox.tools/steemjs/api/database_api/get_content?blockchain=GOLOS&author=istfak&permlink=den-nezavisimosti-bolgarii
Вот я лось...
Спасибо большое!
Достаточно подробно.
Подпишусь на ваш блог.