Медиаплатформа децентрализованной экосистемы Viz
CoinMarketCap
  • WIKI
  • FAQ
    • Введение в VIZ
    • Мануал для Viz Social Bot
    • Знакомство с экосистемой: My Viz Plus
    • Знакомство с экосистемой: Info Viz Plus
    • Знакомство с экосистемой: WILDVIZ
    • Знакомство с экосистемой: Боты
    • Как купить/продать VIZ на бирже
    • Расширение Vizonator
EN EN
The Viz Blockchain
МАГАЗИН
Бустер
Нет результатов
Посмотреть все результаты
  • Новости
    • Блокчейн
    • ДАО
    • Игры
    • Личное
    • Новичкам
    • Разработка
    • Сервисы
    • Социал
    • История
  • Viz.World
    • Social Gateways
    • Telegram
      • Каналы
      • Группы
    • Визонатор
    • API Nodes
  • Control.Viz
    • Медиа платформа
    • Пользователи
    • Аккаунты
    • Инструменты
      • Система платных подписок
      • Система инвайтов (чеки)
      • Создание аккаунта
      • Продажа аккаунта
      • Продажа сабаккаунтов
      • Покупка аккаунта
      • Делегирование доли
      • Расписание делегатов
      • Обзор блоков
      • Смена доступов
      • Локализация
      • Генерация ключей
    • Профиль
    • Кошелек
    • Комитет
    • Делегаты
    • Статьи
    • Опубликовать контент
  • Viz.Plus
    • Start Viz+
      • GitHub
    • About Viz+
      • Разработка
      • Бизнес
      • Инвестиции
    • My Viz+
      • Аккаунты
        • Создать аккаунт
        • Создать субаккаунт
        • Сбросить ключи
        • Доступы аккаунта
        • Изменить профиль
      • Активы
        • Увеличить соцкапитал
        • Уменьшить соцкапитал
        • Делегировать соцкапитал
        • Перевести
        • Обменять
        • Чеки
        • Наградить
      • ДАО
        • Голосовать за делегатов
        • Установить параметры
        • Подать заявку
        • Рассмотреть заявки
      • Магазин
        • Купить аккаунт
        • Продать аккаунт
        • Купить субаккаунт
        • Продать субаккаунт
        • Обзор подписок
        • Управлять подписками
        • Создать подписку
      • Приложение
      • GitHub
    • Info Viz+
      • Аккаунты
      • Делегаты
      • Блок-эксплорер
      • GitHub
    • Поваренная книга
    • Белая бумага
    • GitHub
    • Поддержка
  • Dpos.Space
    • Профиль пользователя
    • Топ пользователей
      • VIZ
      • SHARES
      • Эффективный соцкапитал
      • Делегированный соцкапитал
      • Полученный соцкапитал
    • Калькулятор блокчейна
    • Прокси
    • Управление мультисигом
    • Функционал сервиса
    • GitHub
    • Поддержка
  • Readdle.Me
    • GitHub
    • Telegram
  • Шлюзы
    • Graphene
      • XCHNG
      • RUDEX
    • Minter
    • Golos
    • BitShares
    • Магазин чеков
    • Маркет WildViz
    • Menaskop Exchange
    • Поддержка
  • Код
    • GitHub
    • Нода на C++
      • Инструкция по установке
    • Контрольная панель на PHP
    • JS библиотека
    • GO библиотека
    • PHP библиотека
    • Python библиотека
  • Игры
    • Русское лото
      • Статьи
    • VIZ Dice
      • Лотерея
    • VIZ Quiz
    • Рисовый фермер
  • Дополнительно
    • Viz.Doc — Документация
    • Wild.Viz — Инвайты
    • Viz.Cx — В разработке
      • GitHub
      • Поддержка
    • BitcoinTalk — Ветка
      • Список чатов
    • Viz.Wiki — Википедия
    • Инфляционная модель
    • Web3.0 — Книга
  • Новости
    • Блокчейн
    • ДАО
    • Игры
    • Личное
    • Новичкам
    • Разработка
    • Сервисы
    • Социал
    • История
  • Viz.World
    • Social Gateways
    • Telegram
      • Каналы
      • Группы
    • Визонатор
    • API Nodes
  • Control.Viz
    • Медиа платформа
    • Пользователи
    • Аккаунты
    • Инструменты
      • Система платных подписок
      • Система инвайтов (чеки)
      • Создание аккаунта
      • Продажа аккаунта
      • Продажа сабаккаунтов
      • Покупка аккаунта
      • Делегирование доли
      • Расписание делегатов
      • Обзор блоков
      • Смена доступов
      • Локализация
      • Генерация ключей
    • Профиль
    • Кошелек
    • Комитет
    • Делегаты
    • Статьи
    • Опубликовать контент
  • Viz.Plus
    • Start Viz+
      • GitHub
    • About Viz+
      • Разработка
      • Бизнес
      • Инвестиции
    • My Viz+
      • Аккаунты
        • Создать аккаунт
        • Создать субаккаунт
        • Сбросить ключи
        • Доступы аккаунта
        • Изменить профиль
      • Активы
        • Увеличить соцкапитал
        • Уменьшить соцкапитал
        • Делегировать соцкапитал
        • Перевести
        • Обменять
        • Чеки
        • Наградить
      • ДАО
        • Голосовать за делегатов
        • Установить параметры
        • Подать заявку
        • Рассмотреть заявки
      • Магазин
        • Купить аккаунт
        • Продать аккаунт
        • Купить субаккаунт
        • Продать субаккаунт
        • Обзор подписок
        • Управлять подписками
        • Создать подписку
      • Приложение
      • GitHub
    • Info Viz+
      • Аккаунты
      • Делегаты
      • Блок-эксплорер
      • GitHub
    • Поваренная книга
    • Белая бумага
    • GitHub
    • Поддержка
  • Dpos.Space
    • Профиль пользователя
    • Топ пользователей
      • VIZ
      • SHARES
      • Эффективный соцкапитал
      • Делегированный соцкапитал
      • Полученный соцкапитал
    • Калькулятор блокчейна
    • Прокси
    • Управление мультисигом
    • Функционал сервиса
    • GitHub
    • Поддержка
  • Readdle.Me
    • GitHub
    • Telegram
  • Шлюзы
    • Graphene
      • XCHNG
      • RUDEX
    • Minter
    • Golos
    • BitShares
    • Магазин чеков
    • Маркет WildViz
    • Menaskop Exchange
    • Поддержка
  • Код
    • GitHub
    • Нода на C++
      • Инструкция по установке
    • Контрольная панель на PHP
    • JS библиотека
    • GO библиотека
    • PHP библиотека
    • Python библиотека
  • Игры
    • Русское лото
      • Статьи
    • VIZ Dice
      • Лотерея
    • VIZ Quiz
    • Рисовый фермер
  • Дополнительно
    • Viz.Doc — Документация
    • Wild.Viz — Инвайты
    • Viz.Cx — В разработке
      • GitHub
      • Поддержка
    • BitcoinTalk — Ветка
      • Список чатов
    • Viz.Wiki — Википедия
    • Инфляционная модель
    • Web3.0 — Книга
Viz Media
Нет результатов
Посмотреть все результаты
Home Блокчейн

Недочет в изменении веса голосов за делегатов при create_vesting

Изучаем проблему

on1x от on1x
18.01.2019
в Блокчейн, Новости
0
0
Недочет в изменении веса голосов за делегатов при create_vesting

После вчерашней остановки блокчейна Голос я сидел и изучал код перед сном, рассматривая варианты разных ошибок. И меня осенило. В визе есть тоже баг, который необходимо исправить в ХардФорке. Проблема заключается в маленьком ньюансе при осуществлении начислении SHARES. А именно в методе create_vesting.

Раньше все SHARES аккаунта (не эффективные, а именно хранимые в аккаунте без учета делегирования) просто начислялись избранным делегатам в votes. После последнего хардфорка происходит деление SHARES на количество избранных пользователем делегатов.

Когда происходит create_vesting (а это происходит довольно часто, в том числе при операции award) вызывается метод adjust_proxied_witness_votes https://github.com/VIZ-World/viz-world/blob/master/libraries/chain/database.cpp#L1285

И далее рекурсивно происходит увеличение votes у каждого делегата (adjust_witness_votes), за которого проголосовал аккаунт.

https://github.com/VIZ-World/viz-world/blob/master/libraries/chain/database.cpp#L1677

https://github.com/VIZ-World/viz-world/blob/master/libraries/chain/database.cpp#L1696

https://github.com/VIZ-World/viz-world/blob/master/libraries/chain/database.cpp#L1704

И, наконец, увеличение votes: https://github.com/VIZ-World/viz-world/blob/master/libraries/chain/database.cpp#L1717

Так как у нас теперь vote делится на witnesses_voted_for https://github.com/VIZ-World/viz-world/blob/mainnet-dev/libraries/chain/include/graphene/chain/account_object.hpp#L89

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

После снятия голоса делегат будет иметь vote равный ошибке. А именно начисленный SHARES минус начисленный SHARES деленный на количество голосов. Данная ошибка не критичная, но ее надо исправить для равных расчетов. И возникает вопрос, как именно ее исправить.

Опираться на witness_vote_fair_weight нельзя, так как при делении delta за create_vesting на количество голосов может сохраниться остаток, в виде 0.000001 SHARES. После того как число таких остатков превысит по количеству число голосов аккаунта за делегатов, мы можем получить ситуацию, что при снятии голосов отнимется больше, чем будет даваться. Правильным решением будет ввод дополнительной переменный для account_object.

witnesses_vote_weight

Который можно будет использовать для сохранения числа vote для одного делегата (или его модификации delta деленный на witnesses_voted_for), а также вычитать его при снятии голоса.

С сегодняшнего дня я займусь пересчетом всей системы и стабилизации ее, чтобы не было ошибок.

Наградить автора поста Для награждения, в браузере должно быть
установлено расширение Визонатор
Метки: RUИдея
Предыдущая запись

Инструкция по установке ноды VIZ + настройка её публичной для API

Следующая запись

Авторизация через VIZ на сайте с помощью проверки подписи

Следующая запись
Авторизация через VIZ на сайте с помощью проверки подписи

Авторизация через VIZ на сайте с помощью проверки подписи

Добавить комментарий Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Информация

  • Техническое описание блокчейн-системы VIZ

  • Консенсус управления — уникальная система чередования делегатов

  • Справедливый DPoS — участник голосует за любое количество делегатов

  • Система платных подписок — процессинг периодических переводов на блокчейне

  • Анонимная регистрация — две механики для процессинга создания аккаунтов

  • Социальные шлюзы позволяют привлекать пользователей без регистрации

Комментарии

  • VIRT к записи События в протоколе Голос
  • Денис Скрипник к записи Пулы ликвидности
  • VIZ.Media к записи Почему вам нужен социальный капитал минимум 25 тысяч viz?
  • ae к записи Шлюз USDT TRC-20 (блокчейн Graphene)
  • VIZ.Media к записи Нода с отладкой GDB
  • semasping к записи Нода с отладкой GDB
  • Americanets к записи Android приложение автономной версии сайта My Viz+ (обновлено v1.5)
  • Liveone к записи VIZ Dice Bot в телеграме
  • Анна к записи VIZ Dice Bot в телеграме
  • Сергей к записи How to use the Telegram @viz_social_bot to reward and receive rewards

Актуальные темы

API Awards CryptoStorm.Fund Custom Dapp EN ES GoldVoice.Club PHP Protocol Proxy Readdle.me RU Social Network Viz+ VIZ Heroes Vizonator Viz Projects Viz Social Bot Voice WildViz WordPress Xchng Библиотеки Биржи Боты Видео Делегаты Децентрализация Документация Заявки Идея Комитет Конкурс Медиа Ноды Обмен Обновления Подкаст Рисовый фермер Телеграм Токены Функционал Хардхорк Шлюз

Архивы

Авторы

Категории

  • FAQ
  • Web3.0
  • Блокчейн
  • ДАО
  • Игры
  • История
  • Личное
  • Новичкам
  • Новости
  • Разработка
  • Сервисы
  • Социал
  • Торговля

Приложения

Google Play App Store
  • Состояние блокчейна
  • Аккаунты
  • Делегаты
  • Блок-эксплорер
  • Контакты

2018/22 © Блокчейн VIZ · Разработка и поддержка сайта "Веб Драйвер"

  • Авторизация
Нет результатов
Посмотреть все результаты
  • Новости
    • Блокчейн
    • ДАО
    • Игры
    • Личное
    • Новичкам
    • Разработка
    • Сервисы
    • Социал
    • История
  • Viz.World
    • Social Gateways
    • Telegram
      • Каналы
      • Группы
    • Визонатор
    • API Nodes
  • Control.Viz
    • Медиа платформа
    • Пользователи
    • Аккаунты
    • Инструменты
      • Система платных подписок
      • Система инвайтов (чеки)
      • Создание аккаунта
      • Продажа аккаунта
      • Продажа сабаккаунтов
      • Покупка аккаунта
      • Делегирование доли
      • Расписание делегатов
      • Обзор блоков
      • Смена доступов
      • Локализация
      • Генерация ключей
    • Профиль
    • Кошелек
    • Комитет
    • Делегаты
    • Статьи
    • Опубликовать контент
  • Viz.Plus
    • Start Viz+
      • GitHub
    • About Viz+
      • Разработка
      • Бизнес
      • Инвестиции
    • My Viz+
      • Аккаунты
      • Активы
      • ДАО
      • Магазин
      • Приложение
      • GitHub
    • Info Viz+
      • Аккаунты
      • Делегаты
      • Блок-эксплорер
      • GitHub
    • Поваренная книга
    • Белая бумага
    • GitHub
    • Поддержка
  • Dpos.Space
    • Профиль пользователя
    • Топ пользователей
      • VIZ
      • SHARES
      • Эффективный соцкапитал
      • Делегированный соцкапитал
      • Полученный соцкапитал
    • Калькулятор блокчейна
    • Прокси
    • Управление мультисигом
    • Функционал сервиса
    • GitHub
    • Поддержка
  • Readdle.Me
    • GitHub
    • Telegram
  • Шлюзы
    • Graphene
      • XCHNG
      • RUDEX
    • Minter
    • Golos
    • BitShares
    • Магазин чеков
    • Маркет WildViz
    • Menaskop Exchange
    • Поддержка
  • Код
    • GitHub
    • Нода на C++
      • Инструкция по установке
    • Контрольная панель на PHP
    • JS библиотека
    • GO библиотека
    • PHP библиотека
    • Python библиотека
  • Игры
    • Русское лото
      • Статьи
    • VIZ Dice
      • Лотерея
    • VIZ Quiz
    • Рисовый фермер
  • Дополнительно
    • Viz.Doc — Документация
    • Wild.Viz — Инвайты
    • Viz.Cx — В разработке
      • GitHub
      • Поддержка
    • BitcoinTalk — Ветка
      • Список чатов
    • Viz.Wiki — Википедия
    • Инфляционная модель
    • Web3.0 — Книга

2018/22 © Блокчейн VIZ · Разработка и поддержка сайта "Веб Драйвер"

Добро пожаловать!

Войдите в свой аккаунт ниже

Забыли пароль?

Создать аккаунт!

Fill the forms bellow to register

Все поля обязательны для заполнения. Войти

Восстановите ваш пароль

Введите имя пользователя или электронную почту для сброса пароля.

Войти
Posting....