Штраф Репутации - Требования

Описание проблемы

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

Цели контракта

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

Сценарий контракта

Сценарий 1: Пользователь 1 нарушил границы своего участка.

  1. Пользователь 2 инициирует голосование на штраф участка sezu0123 Пользователя 1 на определенную репутацию не больше чем 100% репутации участка.
  2. В зависимости от длины геохеша определяется минимальное и максимальное количество голосующих Например:
Наименование Значение
Длина геохеша 7
Минимальное количество 24
Максимальное количество 32
  1. Пользователь 2 Off-chain сообщает владельцам соседних участков, привлекая внимание к голосованию любым удобным ему способом.
  2. Другие пользователи голосуют за или против принятия решения по оштрафованию.
  3. При голосовании пользователи указывают от имени какого участка они хотят проголосовать. Один пользователь может проголосовать только один раз от имени участка подходящего по условиям:
  4. Длина геохеша не может быть меньше чем на 1 пункт длины геохеша участка нарушителя
  5. Не должен находится дальше определенной области вокруг участка нарушителя
  6. У участка должна быть репутация больше чем 0
  7. В процессе голосования фиксируются промежуточные итоги Например:
Номер заявки Геохеш Адрес голосующего Согласен?
0 sezu0123 0x477...b65 true
0 sezu0123 0x455...c34 false
0 sezu0123 0x477...5v4 true

При совершении каждой транзанкции по голосованию кешируется статус по заявке

Номер заявки Количество за Количество против
0 15 10
  1. Любой пользователь может завершить голосование если в течении 7 суток не было совершено нового голоса за или против
  2. После завершения голосования, если голосов за больше чем голосов против - делегатам дается возможность подписать транзанкцию на лишение определенного в заявке количества репутации

Пользовательский сценарий в Телеграме:

https://mm.tt/1125957300?t=NNMKYWxVWh

Неоднозначные вопросы и ответы на них

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

A: Штраф не будет произведен пока делегаты не решат что это решение легетимно и не подпишут транзанкцию. Таким образом эта проблема должна выявляться Off-chain и в зависимости от решения - будет или не будет произведена транзанкция от делегатов.

Q: Как действовать если существует несколько заявок на лишение репутации пользователя, и по результатам всех них - у его участка получится отрицательная репутация?

A: Возможно стоит после этого лишить пользователя участка. Но это вопрос идеологии. И возможно следуя идеологии проекта - пользователь не будет лишен участка в любом случае - что бы он ни делал.

Особенности реализации на TypeScript:

Пока не реализовано на TypeScript

results matching ""

    No results matching ""