Что такое Fair DPoS (Delegated Proof of Stake)

25.02.2019 10:03:00

В первые дни образования VIZ, его идей и концепций, участники чата долго обсуждали, как сделать голосование за делегатов более справедливым. Кто бы что ни говорил, в DPoS существует проблема коррумпированности делегатов (централизации управления). В самом начале мы пришли к выводу, что если есть крупный участник сети с 51% долей, то он может захватить всю цепочку и назначить весь топ делегатов в том количестве, сколько голосов позволяет отдать блокчейн-система. В Steem или Голосе доступно 30 голосов за делегатов, притом каждый голос передает полный вес доли аккаунта голосующего. Мы назвали это DPoS 30. Если рассматривать топ-делегатов как право на постоянное подпись блоков в раунде из 21 блока, то DPoS 30 позволял коррумпировать топ (пропихнуть своих делегатов) без каких-либо проблем.

Естественно, сложность заключается в пассивности других участников, но мы рассматривали пример заинтересованности в совместной работе всей экосистемы, где участники довольно активны и хотят справедливого долевого участия в управлении блокчейн-системой. Так мы пришли от DPoS 30 к DPoS 2, а позже к Fair DPoS.

Рассмотрим DPoS 30 и DPoS 2

Место в топе гарантировано при весе голосов в ~4,76% доли сети. В DPoS 2 голосование ограничено 2 голосами, что приводит к 200% потенциально конкурирующего веса долей.

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

  1. Участник с долей 80 голосует за 2 участников: суммарное влияние 160.
  2. Участник с долей 20 (разница 60) голосует за 2 участников: суммарное влияние 40 (разница 120). Разница потенциального влияния увеличивается во столько раз, сколько голосов можно ставить.

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

Если лимитировать количество голосов за делегатов, то участник будет просто разбивать свой стэк, чтобы оказать наибольшее влияние на управленческие места. Это логичное решение, но очень неудобное. Участник сети должен иметь возможность поддерживать нескольких делегатов, голосуя за них своей долей. Поэтому в самом начале VIZ использовал 2 полновесных голоса за делегатов (DPoS 2). Так как очередь делегатов в VIZ состоит из 11 топ-делегатов и 10 делегатов поддержки, это позволяло снизить вероятность сговора и коррупции среди делегатов. Но позже мы перешли на Fair DPoS.

Fair DPoS

Справедливый код, равноправие долей ДАО VIZ — вот чего мы добивались. Коррумпированность в Steem и Голос не позволяла изменить правила подсчета голосования за делегатов. Кому захочется потерять влияние и «нагретое» местечко в топе? Делегаты или владельцы репозитория отказывались принимать подобные правки в код.

VIZ разрабатывался исходя из других принципов. Идеология основанная на справедливости — это то, что необходимо системе, основанной на равноправии долевого управления ДАО. Каждый может провести аудит алгоритмов в блокчейн-системе и решить, соответствует ли он его личным представлениям о справедливости.

Можно было поставить лимит на 1 голос за делегатов, но тогда мы столкнулись бы с дроблением крупных аккаунтов на более мелкие для голосования за делегатов из-за естественного желания управлять блокчейн-системой. Поэтому было принято делить голос поровну между всеми избранными делегатами, за которых проголосовал участник ДАО VIZ. В совокупности с чередуемой очередью делегатов мы получаем отличную механику децентрализации.

Очередь делегатов

После каждого раунда из 21 блока происходит пересчет виртуальной очереди делегатов. Если в Steem 20 топ-делегатов и только 1 делегат поддержки, то в VIZ свой механизм формирования очереди делегатов. В VIZ всего 11 топ-делегатов и 10 делегатов поддержки, которые чередуются в очереди. Это позволяет быть уверенным в подписи блока с максимальной задержкой в 6 секунд (если делегат поддержки пропустит свою очередь), так как топ делегаты крайне заинтересованы в стабильной работе блокчейн-системы. Более того, так как циркуляция делегатов поддержки происходит в 10 (!) раз быстрее, чем в Steem или Голосе, повышается организованность и ответственность всех делегатов.

Заключение

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


6
15 наград
136.893886 Ƶ
Отобразить форму комментирования
Комментарии

25.02.2019 14:01:12

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

25.02.2019 16:31:30

При чередовании типов делегатов подмена одного блока тут же будет отклонена топ делегатом.

25.02.2019 19:00:12

А если топ делегат включен в атаку? )

25.02.2019 19:25:18

Чередование топ-саппорт тут же выбьет его форк цепи из конкурентного состояния. Цепи сможет навредить только консенсус делегатов. А в длинную дистанцию атаки из выбьет после ~10-20 минут из очереди.

25.02.2019 14:02:18

И на мой взгляд в тексте плохо описан принцип 1 share = 1 голос за делегата. Много слов в общем, но нет описания конкретной работы Fair DPoS.

25.02.2019 16:32:24

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