Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
rusteemitblog
7 лет назад

📝 Предлагаемые изменениям Steem 0.17 (перевод статьи @steemitblog)

Сегодня мы бы хотели представить вам наши предлагаемые обновления протокола блокчейна для следующего релиза хардфорка 0.17.

KISS, сокращение для Keep It Simple, Stupid ("Не усложняй сверх меры") - это принцип, стоящий почти за всеми предложенными изменениями. Простота важна для любой системы, которая стремится найти широкую поддержку и консенсус в принятии ее пользователем. Делая систему проще мы минимизируем возможность неудачи, максимизируем потенциал для оптимизации, укрепляем позиции справедливости и можем более эффективно преподносить ценность системы новым участникам. Кстати говоря, если система может хорошо работать без какой-либо функции, мы предлагаем ее убрать.

Изоляция / Выделение ключевых компонентов консенсуса

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

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

Отделение Логики блокчейна от Требований интерфейса

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

Существует множество примеров логики консенсуса, продиктованной нуждами интерфейса. Они включают в себя глубину уровней комментариев, период выплат и ограничения редактирования. Многие из вещей, которые мы собираемся убрать, изначально были представлены в хардфорке 0.12 и никогда не были частью оригинального дизайна Steem.

Упрощения

Удаление ограничений по вознаграждениям за чрезмерный постинг

Во время июльского всплеска активности мы испытали массовый приток людей, которые постили столько, сколько могли, чтобы получить как можно больше вознаграждений. В стремлении остановить это “злоупотребление” мы установили ограничение на максимальный объем вознаграждения, которое мог получить пост, если постов было больше четырех в день. В ретроспективе это изменение было реакционным и в конечном счете - ненужным. Оно возымело психологический эффект демотивации от участия в сети и добавило системе ненужной сложности. Исходя из принципа KISS мы ощущаем необходимость его удаления.

Единственный период выплаты

В данный момент Steem поддерживает два периода выплат: 24 часа и 30 дней. 24-часовой период был установлен исходя из пика полученных голосов и в некоторых случаях может длиться 48 или больше часов. 30-дневный период был разработан для того, чтобы собрать тех голосующих/читателей, кто не попал в первые 24 часа.

Основываясь на статистике голосования можно сделать вывод, что большую часть от 30-дневной выплаты составляют голоса, полученные в первую неделю. Также нам известно, что существует небольшая разница между активными пользователями за неделю и за месяц, особенно среди пользователей с влиятельным голосом. Мы уверены, что авторы (и кураторы) получат больше с единственной (фиксированной) выплатой после 7 дней, чем с комбинацией из 24 (варьируется) и 30 дней (фиксированная). Единственный голос, полученный в день 3 при такой системе будет стоить для автора много больше, чем десяток голосов, полученных в день 3 в старой системе из-за применения алгоритма оценки N^2.

Исходный 24-часовой период был примером того, как требования интерфейса для “нового/набирающего популярность” контента диктовали логику блокчейна. Интерфейсы, такие как steemit.com или busy.org, могут использовать для выбора отображаемых статей любой алгоритм, какой захотят.
Кто-нибудь может спросить нас, отчего же мы не сделаем период голосования бесконечным и/или не внедрим многочисленные выплаты. Ответ состоит из двух частей:

  1. Ограниченное внимание голосующих/сообщества
  2. Проблемы с масштабируемостью

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

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

Выплата вознаграждения за комментарии, не зависящая от дискуссии

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

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

Удаление ограничения на длину цепочки комментариев

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

Возможность редактировать любой прошлый пост или комментарий

Мы предлагаем убрать ограничение на редактирование прошлых постов. Отображение истории изменений и возможность отмены непреднамеренных изменений, сделанных взломанными аккаунтами - это ответственность пользовательского интерфейса.

Нормализация уровня выплат

При существующих правилах выплата одному посту изменяет потенциальную выплату для следующего поста. Это создает между постами нежелательную последовательную зависимость, которая делает невозможным параллельное проведение выплат. Предлагаемое изменение гарантирует, что все посты, получающие выплаты в одно и то же время, получат некоторое количество STEEM за каждый голос.

Удаление доказательства работы

В нашем последнем обновлении мы предприняли попытку перейти на Equihash в качестве алгоритма доказательства проделанной работы (proof of work), но лишь столкнулись с уязвимостью принятой нами библиотеки. Большую часть прошедшего месяца доказательство проделанной работы не играло большой роли в нашем блокчейне. Теперь, когда STEEM уже был запущен и получил некоторое распространение, майнеры больше не предоставляют преимуществ в безопасности.

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

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

Удаление из консенсуса ограничения скорости пропускной способности

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

Witness-майнеры же тогда смогут принять более гибкую политику в отношении ограничения скорости без требования проведения хардфорков. В частности, мы будем применять специальные (не консенсусные) операции, чтобы информировать witness-майнеров об отзывном делегировании пропускной способности. Это позволит держателям крупных аккаунтов спонсировать меньшие аккаунты без необходимости делать это в Steem Power.

Ограничение скорости пропускной способности это временная мера, которая не влияет на долговременный консенсус. Все, что имеет значение в долгосрочной перспективе, это была ли или нет включена транзакция, а это решается witness-майнерами. Сообща witness-майнеры имеют силу, способную ограничить в скорости отдельный аккаунт, чтобы предотвратить злоупотребление, и использовать они будут тот же алгоритм, что и в релизе 0.16.1.

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

Многочисленные независимые бенефициары выплат вознаграждений

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

Это означает, что если Вы публикуете свой пост на Busy.org, часть награды за ваш пост пойдет Busy. Если же Вы публикуете свой пост через мобильное или десктопное приложение, тогда разработчик приложения вправе потребовать некоторую часть вознаграждения.

Независимый пул вознаграждения комментариев

Комментарии обладают совершенно иным уровнем просматриваемости и потому получают пропорционально меньше голосов. За прошедший месяц комментаторам был выплачен только 1% всех вознаграждений. Из-за природы N^2 кривой вознаграждений комментарии соревнуются не с другими комментариями, но с топ-блогерами.

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

Если бы всем комментариям нужно было соревноваться только с комментариями, тогда в этом могли бы поучаствовать больше пользователей и коллективно комментарии могли бы собрать больший процент от пула вознаграждений. Мы предлагаем вариант, где комментариям отведено 38% (золотое сечение) текущего пула вознаграждений и они бы вознаграждались по кривой N log (N) с некоторыми требующими определения модификациями. Это должно направить больше вознаграждений тем, кто вносит свой вклад в дискуссии и стимулирует вовлеченность сообщества.

Отделение балансов пула наград и рынка от текущего и сберегательного счета

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

Это изменение позволит пользователям видеть их вознаграждения каждый раз, как они решат их затребовать, и в то же время, позволит биржам воспроизводить блокчейн без подтверждения всех операций голосования. Расширенные варианты применения смогут обрабатывать голоса параллельно трансферам и/или рыночным операциям.

Разделив рыночные и текущие балансы мы сможем ускорить маркетинговую оценку и позволить обрабатывать рынок отдельно от трансферов. Как и с голосованием, идея состоит в том, чтобы рассматривать рынок SBD / STEEM в качестве виртуального “сайд-чейна”, который при масштабировании системы может обрабатываться параллельно.

Заключение

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

Примечание: это не та самая дорожная карта на 2017, над которой мы работаем. Тот документ намного более широкий и всеобъемлющий, чем этот план “на следующий шаг” под номером 0.17. Полная дорожная карта будет включать в себя планы по развитию steemit.com и другие касающиеся пользователей изменения.


Оригинальный пост и его обсуждение ЗДЕСЬ


Данный пост опубликован в рамках бета тестирования проекта RuSteemitBlog


Перевод осуществлен: @mayamarinero

Критика, комментарии и предложения приветствуются.


0
1604.588 GOLOS
Комментарии (5)
Сортировать по:
Сначала старые