Server sync... Block time in database: 1565931969, server time: 1566351120, offset: 419151

Новости Golos•Core. Встреча в Discord 01.11.18: Функционирование смарт-контрактов приложения Голос на платформе БЧ CyberWay


Добрый день!

В преддверии очередной встречи на платформе Дискорд, которая состоится в этот четверг 1 ноября в 16:00 по МСК, просим обратить ваше внимание на этот пост, который покрывает все основные вопросы, связанные с темой устройства приложение Голос на платформе БЧ CyberWay.

Итак, в состав приложения Голос входят 5 взаимодействующих смарт-контрактов:

  • Смарт-контракт управления Control;
  • Смарт-контракт вестинга Vesting;
  • Смарт-контракт эмиссии Emission;
  • Смарт-контракт публикаций Publication;
  • Смарт-контракт воркеров Workers.

В системе имеется смарт-контракт управления Control, предназначенный для выборов делегатов сообщества. Каждому пользователю присваивается значение веса в соответствии с объемом акций, хранящимся на его балансе в смарт-контракте Vesting. Когда пользователь отдает свой голос за кандидата в делегаты, выполняется подсчет набранного делегатом количества голосов в пропорции от объема акций проголосовавших пользователей. Если делегат набирает необходимое количество голосов для вхождения в топ-21, его ключ включается в MultiSig-аккаунт приложения, который может управлять экономикой сообщества.

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

Алгоритм DPoS-30 используется также в EOS. В реализации БЧ CyberWay предусматривается удаление этого алгоритма с его заменой на DPoS, а также с увеличение количества блок-продюсеров БЧ. Для увеличения количества блок-продюсеров необходимо будет переработать алгоритм доставки блоков между нодами - построить такую топологию сети, которая бы позволяла масштабировать сеть несмотря на высокую децентрализацию. Наша основная цель - сделать БЧ CyberWay и приложение Голос на его платформе децентрализованными.

Одной из основных обязанностей, которая возлагается на делегатов сообщества Голос на платформе БЧ CyberWay – это обновление смарт-контрактов сообщества на новую версию. Это становится возможным благодаря тому, что правами на обновление смарт-контрактов наделяется MultiSig-аккаунт, в который включаются ключи выбранных делегатов.


Выборы делегатов осуществляются через балансы пользователей в смарт-контракте Vesting. Данный смарт-контракт является настолько важным, что внутри команды возникают периодические дискуссии, в которых обсуждается необходимость сделать его системным, подобно смарт-контракту eosio.token, который хранит балансы пользователей в токенах. Главным аргументом за конвертацию смарт-контракта Vesting в системный является то, что это повысит уровень доверия пользователей к нему. Смарт-контракт Vesting хранит на своем счету переведенные пользователями токены, то есть учитывает балансы пользователей в акциях.

Команда ГолосКор на текущий момент не переименовывала системные контракты eosio, так как это позволяет быстрее затягивать изменения из кодовой базы EOS, но планирует сделать это ближе к старту БЧ CyberWay.

К системным контрактам относятся:

  • eosio.bios - предоставляющий описание основных структур для обмена данными между смарт-контрактами и БЧ;
  • eosio.token - предоставляющий функции по управлению токенами в БЧ;
  • eosio.system - предоставляющий функции по выбору БП, и регулирующий правила покупки бендвича в системе, управление аккаунтами в системе. Команда ГолосКор планирует существенно переработать данный смарт-контракт, так как мы планируем сделать платформу децентрализованной;
  • eosio.msig - предоставляющий функции по выполнению предложенных (proposal) транзакций;
  • eosio.sudo - предоставляет функции по выполнению транзакции от имени другого пользователя.

В смарт-контракте Vesting имеется ряд констант, которые позволяют настраивать поведение вестинга. В частности к данным параметрам относятся:

  • Срок вывода вестинга в токены;
  • Количество порций вывода вестинга в токены;
  • Минимальный срок делегирования вестинга;
  • Минимальная сумма делегирования вестинга;
  • Максимальный процент, получаемый делегатором за использование вестинга;
  • Ряд некоторых других параметров.

На следующем этапе после прототипа, команда ГолосКор планирует вынести данные константы в настройки, которые нужно будет настраивать с помощью MultiSig-аккаунта делегатов.

Эмиссия токенов приложения Голос регулирует через смарт-контракт Emission. Сгенерированную эмиссию смарт-контракт Emission переводит на балансы остальных смарт-контрактов, которые уже распределяют токены по своим правилам (см. картинку ниже).


В обязанности делегатов сообщества Голос на платформе БЧ CyberWay входит настройка параметров смарт-контракта эмиссии, в том числе:

  • Установление процента роста токенов;
  • Установление процентов распределения эмиссии между смарт-контрактами приложения;
  • Установление оплаты делегатам сообщества Голос;
  • И ряд других.

Наиболее значимый смарт-контракт блог-приложения Голос – это смарт-контракт Publication. Данный смарт-контракт поддерживает следующие функции:

  • Публикация постов;
  • Комментирование постов;
  • Курирование постов;
  • Назначение бенефициаров на посты;
  • Прочие функции, реализованные на платформе Голос.

В обязанности делегатов сообщества Голос входит:

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

Логика поведения смарт-контракта воркеров была подробно изложена в тематическом посте.

Каналы коммуникации с Golos•Core

  • https://t.me/goloscoretc (решение технических вопросов, связанных с работой блокчейн, нод, api и др.)
  • https://t.me/joinchat/BLwf_A118xQ57nsM1Q4MPA (канал для вноса предложений от комьюнити, обсуждение перехода на кодовую базу EOS)
  • https://t.me/golos_tools (решение вопросов по различным интерфейсам и дополнительным инструментам, создаваемым Golos•Core)
  • https://t.me/goloscore_analytics (решение вопросов по работе экономики блокчейн, статистическим экономическим данным, аналитике данных)
  • https://t.me/goloscoretech (новостной канал, с актуальной информацией от Golos•Core).

Мы будем очень рады, если вы поддержите делегата @goloscore. Заходите на страничку /~witnesses голосуйте за делегата Golos•Core!

Спасибо за внимание и хорошего дня!

С уважением,

Команда Golos•Core: @korpusenko, @andreypf, @maslenitsa, @muhazokotuha, @zxcat, @annaeq, @anazarov79, @kaynarov, @s-medvedev


Comments 0