Это статья является продолжением серии материалов (1 - Статистика, 2- Хороший Scorum, 3 - Плохой Scorum) про мои впечатления от использования Scorum в течение первого месяца жизни на платформе. Но эта статья не была запланирована заранее, а идея ее публикация возникла буквально несколько дней назад. Предупреждаю, материал - большой и требует внимательного прочтения. Верю, что сообществу это будет интересно, и Вы найдете время разобраться.

Итак, что я имею ввиду, когда говорю об угрозе централизации. Все мы знаем, что Scorum - это децентрализованная платформа, в управлении которой могут принимать участие все пользователи. Пр этом их влияние ограничено величиной Scorum Power и силой голоса. Потенциальная угроза централизации заключается в том, что в какой-то момент времени появляются обладатели большого количества SP и начинают активно совершать те или иные действия, например: выставление флагов и апвоуты. Это приводит к тому, что один или несколько пользователей оказывают существенное влияние на всю систему. Вы сейчас можете мне сказать "Ну, чего ты тут рассказываешь, никогда такого не будет". В том то и дело, что к написанию этого материала меня подтолкнуло то, что угроза из потенциальной стала превращаться в реальную.

Проблема 1 - Боты

Сначала в английской версии сайта в комментариях к этому посту был обнаружен бот, которого кто-то тестировал (смотрите ветку, следующую за комментарием @binoalien: "You got a 0.33% upvote from @binoalien courtesy of @binoaliendev! ").

Давайте разберемся, кто такие эти votebot-ы. Воутботы - это роботы, которые сканируют блокчейн на предмет появления новых материалов и голосуют за них. Их основная цель - увеличение пассивного дохода обладателей SP. Схема выглядит следующим образом:
 1. Создается аккаунт бота 
 2. Пользователи, желающие заработать себе пассивный доход, делегируют боту свои SP
 3. Бот работает, ставя апвоуты и зарабатывает себе SP
 4. Затем доход, полученный ботом распределяет между теми, кто делегировал боту SP. Механизм распределения может быть разный, и для Scorum он может заключаться в постепенной конверсии заработанных SP в SCR.

Иной формой работы бота может быть платные апвоуты, то есть, бот, имеющий большую SP может продавать свои апвоуты авторам, которые хотят, чтобы их публикации поднимались в рейтинге.

Обе схемы вредны для сообщества, так как при первой схеме бот лайкает статьи без разбора, а во втором случае преимущество оказывается у недобросовестных авторов.

Проблема 2 - Киты

Боты - это одна беда. Существует - вторая, назовем ее - киты. Киты - это пользователи, имеющие большую SP и соответственно оказывающие серьезное влияние на жизнь платформы. Во все той же английской версии сайта как-то появился пользователь @williams с SP около 300.000 и начал апвоутить комментарии всей своей силой голоса. В результате такие комментарии стали получать суммы к выплате около 1000 SP. Согласитесь как-то нечестно, когда за 5 слов человек получает 1000 SP, а автор серьезного поста - 100 SP. Сообщество отреагировало почти мгновенно - появился пользователь @balancer с SP равным 280.000. Он стал "балансировать" несправедливые. на его взгляд, апвоуты (в основном от все-того же @williams), выставляя флаги постам и комментариям, которые были несправедливо проапвоучены, тем самым снижая размер выплаты. Казалось бы проблема решена, но б**ть - нет. Я считаю, что проблема усугубилась, если раньше у нас был один кит, расставляющий апвоуты не совсем адекватно, то теперь их стало двое. Да, на текущий момент балансировка работает почти идеально и это хорошо, но а вдруг @balancer сойдет с ума? Или вдруг эти двое сговорятся и фактически монополизирует платформу ведь у них двоих 15% общего количества SP! А вдруг они найдут третьего или еще и четвертого? А если все они будут апвоутить только друг друга? Помимо теоретически несправедливого распределения вознаграждений, наличие таких консорциумов отпугивает новых пользователей, которые просто лишаются какого-либо влияния со своими 5 SP на балансе.

Так что же делать?

Вывод из этой истории для меня такой - нельзя отдавать на откуп сообществу такой важный вопрос как возможность централизации или точнее олигополизации платформы. Эту проблему нужно постараться решить правилами блокчейна. Кроме того, помимо борьбы с централизацией мы держим в уме цель сохранить привлекательность Scorum для новых пользователей в долгосрочной перспективе.

Сейчас новый пользователь Scorum получает 5 SP в качестве бонуса за регистрацию и может их наращивать своими активными действиями на платформе: писать статьи, комментировать, апвоутить публикации. Вместе с тем влияние новичка по сравнению с китом, имеющим 300.000 SP меньше в 60.000 раз. Согласитесь, так себе влияние. Например, сейчас пользователь, имеющий 1000 SP и 100%-ю силу голоса своим апвоутом добавляет автору приблизительно 4,8 SP. Если же у Вас есть 300.000 SP, то Ваш апвоут добавит автору почти 1500 SP, а с учетом того, что количество SP, эмитируемых в единицу времени фиксировано, в результате перераспределения отберет эти SP у других авторов. Вывод, который следует из этого абзаца - разница во влиянии между пользователями из разных слоев должна быть сокращена, при это пользователи должны быть заинтересованы в росте SP.

Существует множество теоретических вариантов решения данной проблемы. Если интересно - напишите в комментах, и я отдельно опишу анализ альтернатив, но из всех рассмотренных я выбрал два инструмента:

1. Запрет делегирования SP. Это позволит избежать консолидации "капиталов" в спекулятивных целях. Кроме того, это подчеркнет суть блокчейна как P2P-платформы.

2. Снижение разрывов за счет использования степенной функции в определении влияния размера SP на размер вознаграждения автора. То есть речь идет об использовании в расчетах для определения величины вознаграждения не абсолютного значения SP, а расчетного или по другому - относительного SP.

Если с первым пунктом все более менее понятно, то второй нуждается в пояснениях. Сейчас влияние SP апвоутера на размер выплаты находятся в линейной зависимости друг от друга, в результате чего и возникает та самая разница. Я же предлагаю для расчета суммы вознаграждения брать не само значение SP, а количество SP апвоутера, возведенное в степень, меньше единицы. В таблице ниже представлены значения относительных SP при возведении тех или иных значений в соответствующую степень.

Нижняя строка - это то, как есть сейчас. Верхняя строка со степенью 0,5 - это относительные величины SP, получаемые путем извлечения квадратного корня из значения SP. Как видим, разница между новичком и человеком с категорией "Pro" (1000 SP) сейчас составляет 200 раз, при использовании степени 0,5 она составит всего 14 раз, а между новичком и китом не 60000 раз, а 244 раза. На мой взгляд, значение степени 0,5 - все-таки достаточно жесткое и не будет стимулировать пользователей накапливать SP по достижении некой отметки. Мне кажется, что оптимальное значение степени находится где-то в диапазоне 0,7-0,8. Это позволит увеличить децентрализованность платформы, повысить заинтересованность новичков в присоединении в Scorum, и вместе с тем будет стимулировать пользователей наращивать SP.

Прошу в комментариях:

а) не стесняться задавать вопросы относительно содержания статьи, так как она получилась местами сложная
б) высказывать свои предложения по поводу управления риском централизации Scorum
в) рассказать, будет ли для вас интересной история возникновения китов williams и balancer на платформе. Я поверхностно поковырялся в блокчейне, есть интересные моменты, но не стал копаться глубоко и включать информацию в эту статью, чтобы не перегружать ее.