oldhuntsman: Под капотом Голоса - а как оно работает то? [5871981]


Дисклеймер

В этом посте находится огромная “стена текста” по тонкостям устройства Голоса. Учтите что я не столько объясняю что-либо, сколько задаюсь вопросами. Но даже чтобы понять эти вопросы вам нужно будет обладать некоторыми познаниями в области экономики в целом, криптовалют вообще и Голоса в частности. Статья нацелена на энтузиастов голоса и тех кто либо хочет разобраться в том как работает голос либо уже разбирается и сможет мне помочь в этом деле. Читайте на свой страх и риск, если вам действительно интересно )

Не интересная вводная часть

Некоторое время назад у меня возникла мысль написать анализ Голоса с позиции многопользовательской онлайн игры. Аналогия эта давно напрашивается и мне она очень близка, так что идея меня зажгла. Но проявила некоторую сложность, которая уже давно маячила на горизонте сознания - я ничерта не понимаю что тут творится НА САМОМ ДЕЛЕ.

Любой опытный игрок, не важно является ли он адептом WoT, Dota 2, Heartstone, Civilisation или Overwatch, скажет новичку желающему достичь высот - изучай механику. Без понимания, причем четкого выраженного в конкретных цифрах, того что в игре происходит добиться успеха практически невозможно. Никакая чуйка и рефлексы спинного мозга не заменят тебе знаний о том как всё устроено и что по чём стоит.

И разумеется совсем уж глупо проводить анализ игры, не зная её устройства. Надо отметить, что я люблю разбираться в правилах, для меня это не нудная обязаловка а скорее захватывающий процесс. Я вообще редко прохожу игры до конца или зависаю в них надолго - как только механика становится для меня прозрачной и вырабатывается оптимальные алгоритмы действий, игра теряет свой интерес. Понять всего не ввязавшись в игру нельзя, однако часто я начинаю изучать правила игры ещё до того как зарегистрирую свой игровой аккаунт. Так было и с Голосом, но с ходу разобраться я не смог - получил только общее понимание. Вот ввязался. Вроде бы и успехи какие-то уже есть и некоторый практический опыт получен, а система для меня всё ещё не кажется прозрачной и предсказуемой. Решил я перед написанием статьи сесть и разобраться конкретнее, потратил наверное часов десять на поиск и анализ информации, но должного уровня успеха так и не добился. Остается только припасть к источнику мудрости напрямую и начать обсуждение с остальными участниками.

Суть вопроса

Nothing is clear

В Голос можно “играть” по разному. Часть ролей я на себя не примеряю и потому готов на первое время удовлетвориться условным пониманием механик с которыми сталкиваются они. Так что делегатов, майнеров и разработчиков ПО можно пока что оставить за кадром (хотя надо помнить, что для общей картины они принципиально важны). Но давайте сейчас сконцентрируемся лучше на тех трех ролях которые максимально широко распространены и близки каждому: авторы, кураторы и инвесторы.

Для инвесторов и спекулянтов критичны механики ввода-вывода денег, перемещения активов между тремя видами внутренних токенов, инфляция и процентные ставки по этим токенам и перспективы токенов на биржах по ликвидности, объемам торгов и цене. Механика там не то чтобы простецкая, но в принципе разобраться можно - мне для анализа хватит.

Для авторов важно как и сколько они получают за свои посты. Тут на первый взгляд даже попроще чем с инвесторами. Надо понять периодичность выплат (сутки и месяц), то как награда разделяется с кураторами (75% на 25%), то как она разделяется на токены (злотые и СГ). Получив токены, автор уже играет в игру инвесторов и спекулянтов и вынужден разбираться с их вопросами. Но по самому авторству всё сравнительно просто. Если забыть о механике репутации, но это песня отдельная. Также автору полезно понять смысл флагов и в целом то как на него влияют голосующие и как измеряется их вклад. Но это уже скорее про кураторскую механику.

А вот с ней родимой, начинается сущий ад. Особенное коварство заключается в том, что интерфейс то тут просто до безобразия: как куратор ты можешь нажать две кнопочки: апвоут или флаг. Причём флаг является очень специфической и не прибыльной механикой, так что про него можно смело забыть на первое время. Апвоут работает проще простого - можно отдать голос, можно отозвать голос. Если нажал и не отозвал до момента выплаты, апвоут сработает и все получат свою долю.

Играть в такую игру может даже обезьянка. Но как только обезьянка попытается предсказать к каким конкретно выплатам приведут её действия, она чувствует суровое давление эволюционного отбора. На первый взгляд информация по механике кураторства есть и вроде бы разжевывалась она неоднократно (впрочем написано там всё одно и то же). У нас есть следующие ключевые факторы влияющие на выплаты:

1) В какой момент времени жмакнут апвоут;

2) В какую очередь среди проголосовавших жмакнут апвоут;

3) Какой силой голоса обладает тот кто жмакнул апвоут и какую часть своей силы голоса он в это вложил;

4) Сколько у нас есть энергии голосования (voting power);
5) Сколько токенов набрал по итогам 24 часов голосования набрал пост который мы апвоутили;

Момент времени

Со временем всё не интуитивно но примерно доступно: если прошло хотя бы полчаса с момента публикации поста, куратор жмакнувший апвоту получает свой кусок награды полностью и по основной механике. Если прошло меньше времени, то получает только некоторый процент от награды по стандартной механике, а остальной процент сдаётся в пользу автора поста. Цифры приведены не богатые, но судя по тому что в первую секунду процент находится возле нуля, на 15й минуте это 50% а на 30й 100% логично предположить что функция там линейная - сколько процентов минут от 0 до 30 прошло с момента публикации, столько процентов награды ты получишь от той доли которая будет полагаться тебе за кураторство с учётом всех прочих факторов. Плохо конечно что приходится делать такое предположение - функцию и её график хотелось бы увидеть воочию, ну да ладно.

Место в очереди

С очередью наоборот всё очень интуитивно, но не понятно. Нам выгоднее оказаться первонахом - чем раньше ты вписался в голосование (в порядке очереди, а не времени), тем большей будет твоя доля награды. Это вступает в противоречие с механикой временной задержки, описанной выше и порождает очень интересные последствия. Может быть выгоднее обогнать десять человек и получить половину большей доли награды, чем полный кусок от меньшей? Может быть. НО. Я не знаю. В этом моменте начинается тотальный тёмный лес. Хоть сколько нибудь подробных упоминаний о том как влияет твой номер в очереди голосования на твою долю награды я так и не нашел. Есть некоторое туманное заявление что “для китов это не так важно, а вот малькам нужно успевать проголосовать первыми”. Допустим да, но это только всё запутывает. Как работает этот механизм в цифрах? Это же критичный момент. Если кто-то знает и может объяснить или направить туда где оно всё таки описано - я буду очень признателен.

Сила Голоса

Итак мы уже потеряли нить и не можем предсказать свои результаты, но всё же нам предстоит запутаться ещё больше. Третий пункт - Сила Голоса. Чем больше твоя сила голоса, тем большую часть награды ты получишь. Можно было бы предположить линейную функцию, но есть два но: нам на это нигде прямо не указывают и нам говорят что “китам не так важно голосовать первыми”. Значит ли это что твой относительный вес влияет на то каким образом будет изменяться доля в зависимости от твоей скорости голосования? Если да, то очень важно понять как. Информации на эту тему я нашел почти 0. Некоторое КРАЙНЕ замороченное объяснение есть в вики голоса, НО. Меня там насторожила фраза:

ГОЛОС автоматически делит 75% всего вознаграждения между всеми пользователями, которые проголосовали за пост, на пропорциональной основе, используя следующее уравнение для определение весового коэффициента каждого пользователя:

Сейчас кураторы получают 25% от пула вознаграждений авторства. Я так понимаю что это вообще устаревшая информация относящаяся к экономике действовавшей до хардфорка и опираться на нее нельзя. Даже если удастся понять. А понять то объяснение я не смог, хотя вроде и не дурак. Более доступных или более актуальных объяснений механики я нигде не нашёл.

Что характерно, всё это дополнительно усложняется ещё и процентом от Силы Голоса, который можно выставлять в момент апвоута. Может ли кит вести себя как малёк в одних случаях и как кит в других (например при голосовании первым и последним) и имеет ли это практический смысл? Или это просто способ дробления voting power? Непонятно.

Voting power

Тут сразу скажем очень неудачно всё с названиями. Я не знаю как у нас принято называть voting power, но если переводить прямо то выйдет сила голосования, что очень близко к Силе Голоса по звучанию, хотя по смыслу это совершенно разные сущности.

Сама концепция тем не менее доступная и если немного покопаться то она даже адекватно объяснена. Правда если вы будете искать данные на поверхности то увидите об этом только упоминание что “следует голосовать 40 раз в сутки чтобы максимизировать прибыль”, но без каких либо объяснений. Покопав поглубже можно найти данные:

Воутинг павер это механизм предотвращающий злоупотребление пулемётным голосованием. Надо вообще отметить, что многие неочевидные механики созданы только для того чтобы бороться с ботами. Проблема действительно насущная, а вот насколько эти механики хороши - второй вопрос, который я как раз и хотел бы разобрать в следующей статье. Но вернёмся к нашим баранам.

Когда мы голосуем, за пост или комментарий не важно, то исчерпываем свой запас воутинг павера. По 1/40 части (при условии 100% силы апвоута) за раз. По памяти точно уже не помню, но насколько я понимаю, пока вотинг павер у нас есть и он больше 1/40 части от максимума, наш авпоут работает шатно и полноценно. Если вотинг павера меньше 1/40 то эффективность пропорционально снижается вплоть до 0 при нулевом воутинг павере.

Восстанавливается этот ресурс, насколько я понял, постоянно и линейно, таким темпом что сила набирается от 0 до полной в течение 24 часов (если её сбросить на ноль и не трогать).

Пул вознаграждений поста

С набранной за голосование суммой, всё тоже не радужно. Интуитивность системы подрывается вот чем: внешне нам кажется что всё элементарно. Под постом есть красивая циферка, измеренная во всем понятных рублях. Казалось бы, можно жмакнуть апвоут, увидеть сколько копеек ты добавил и пойти курить бамбук считая это своим вкладом а сумму в рублях - сундуком мертвеца который мы будем делить. Но пока бамбук дымится в голову крадутся мысли. Стоп, но ведь нет такого токена как рубль! Награды мы получаем в силе голоса и золотых. А инфляция системы вообще измеряется через токен ликвидного голоса… Т.е. красивая циферка в рублях несёт для нас информацию мягко говоря приблизительную: это оценка рублёвой стоимости полной награды сделанная на текущий момент по фидам делегатов. К тому сколько денег из этого сможет получить куратор, учитывая что сдутие силы голоса занимает 13 недель эта цифра имеет мягко скажем не прямое отношение. Налицо некоторая очевидная но обманная интуитивность, сделанная скорее для успокоения наших “игроков” но почти не помогающая им в реальных расчетах. Но допустим мы все такие умные и указанное выше понимаем. При попытке докопаться до реальных цифр нас ждёт ещё одна стенка. Чтобы понять сколько твой вклад будет давать в Голосах, надо разобраться с системой инфляции по которой инфа вроде как тоже имеется, но далеко не исчерпывающая.

Итак в современной экономике Голоса мы имеем инфляцию 9,5% годовых от текущего объема токенов. Подводные камни начинаются уже тут. Во-первых эта инфляция снижается постепенно, примерно со скоростью 0,5% в год но стремится не к 0 а к 0,95%. Допустим тут ясно. Но стопэ. У нас же не один токен а ТРИ. Голос, сила голоса и золотой. Что из этого учитывается и как? Голоса живут фактически только как инструмент ввода-вывода, большая часть капитала связана в виде Силы Голоса. Золотые по факту вообще являются долговым обязательством системы (должны выкупаться голосами по определенной ставке). Как рассчитывается масса на которую идёт инфляция? Я ответов не нашел. По крайней мере у нас есть периодичность инфляции - токены добавляются с каждым новым блоком, раз в 3 секунды… СТОПЭЭЭЭЭ Куда и кому они добавляются раз в 3 секунды, если периодичность выплат авторам это сутки и месяц, а кураторам - сутки? Новые токены где-то копятся? Где, как? Имитируется голос или сила голоса? В какой момент имитируются золотые? Как золотые влияют на денежную массу в момент своего погашения голосами? Не нашёл никакой информации на этот счёт. И кстати насчёт трёх секунд тоже показания разнятся. Я видел упоминания о том что блоки обновляются раз в минуту...

Как вся эта загадочная инфляция делится: 10% делегатам (и майнерам?), 15% держателям силы голоса, 75% в пул авторско-кураторских наград. Тут вроде бы понятно, но это только на первый взгляд. Насколько мне помнится, процент на остаток получают не только держатели СГ но и держатели золотых. Причем по сложной схеме через фиды делегатов. Где этот кусок в долях распределения инфляции? Не понятно.

Всё это было бы важно только для инвесторов и спекулянтов, но вот ведь какое дело. Чтобы понять какой вклад твой апвоут внесёт в сумму нужно понимать базовую механику. А там всё не просто. Есть некоторые акции (round shares). В самом широком смысле, насколько я смог понять, это такая штука: вот есть у нас бюджет наград авторам и кураторам, условно на день 1000 Голоса. За этот день будет сделано много разных апвоутов для разных постов. Каждый из этих апвоутов будет создавать некоторое количество акций в зависимости от всех вышеупомянутых факторов. В конченом итоге 25% этого пула (250 Голоса, если продолжать наш пример) будет поделено между кураторами пропорционально тем акциям которые они создали. Например если я создал 3 акции из 100 то от 250 голосов из пула награды я получу 7,5 голосов (в Силе Голоса).

Но это поверхностное понимание. Никакой информации о том как именно генерируются эти акции я не нашёл.

Заключение

Грубо говоря, сказать не решаюсь, а мягко выражаясь - нет слов. Даже обладая большим желанием и временем на изучение механики работы Голоса разобраться в ней не представляется возможным для рядового русскоязычного пользователя.

Я подозреваю что в англоязычном сегменте есть больше инфы, но учитывая что я по русски то большую часть объяснений не понимаю - лезть туда я пока не стал. Плюс там написано про Стим, а у нас всё же Голос и непонятно насколько информацию по одной платформе можно переносить на другую.

Да, у нас есть открытый код и можно посмотреть как всё работает прямо там. Но. Для этого надо быть программистом во-первых, а во-вторых надо понимать что не всякий код легко прочесть и интерпретировать. Так что исходники в качестве мануалов по механике Голоса не годятся никак. И мне лично они не доступны “от слова совсем”.

В связи с этим, призываю тех кто понимает больше меня - давайте проясним поднятые вопросы. Тогда я смогу написать тот пост который хотел изначально… и возможно буду вынужден сделать цикл статей объясняющих работу Голоса тем, кто пойдет по моим стопам, чтобы им не пришлось увязнуть в болоте как мне.

Спасибо за внимание и да пребудет с вами Сила!


Оригинал поста создан 10-05-2017 16:18:48 UTC


5868717 Тема недели: КОГДА МЕЧТЫ СБЫВАЮТСЯ, а у тебя - птичья болезнь
5869168 Настроение ДОЖДЬ (или практикуя осознанность)
5869226 Эстафета «ВСПОМНИ ДЕТСТВО» от @volv автобиографический рассказ "ЕСЛИ БЫ НЕ..."
5869268 Вступление в ряды криптотрейдеров. ОТЧЁТ!
5869530 Записки кладоискателя! Срочно нужны экспонаты в школьный музей!
5869743 Улицы неба
5869956 Трейдеры потеряли миллиарды долларов на игре против Facebook, Amazon, Netflix и Google
5870853 Эстафета от @jurgan: Вокзал.
5871351 Сказка. Былина о Касипорушке. Часть 2. (для детей и взрослых)
5871550 Молчание / Silence
5871565 Папа у Васи силен в математике...
5871600 Сказка. Былина о Касипорушке. Часть 3. (для детей и взрослых)
5871691 Боль - О наших бедах
5871724 Словно по сердцу идет пароход - VII - Паром "Байкал"
5871981 Под капотом Голоса - а как оно работает то?

Прежде чем писать комментарий прочитайте О ПРОЕКТЕ
Поддержите проект донатом!


Comments 0