В чем разница между PoS и DPoS?
- BitShares
- Steemit
- Lisk
- Ark
- EOS
PoS похож на прямую демократию, а DPoS — на представительную. Классический PoS позволяет держателям монет заниматься «стейкингом». Держатель монет подтверждает транзакции, получая в награду новые монеты.
Вознаграждения в сети PoS зависят от количества монет, принадлежащих держателю («стейкеру»). Чем больше стейк, тем больше вознаграждение.
PoS стимулирует держателей крупных сумм заниматься стейкингом и образует неравенство, подобное распределению майнинговых мощностей в сети биткоина: майнер, больше инвестировавший в оборудование, получает больший шанс нахождения блока.
Delegated Proof of Stake делает распределение монет и влияние в сети более равномерным и обеспечивает большую степень децентрализации.
В DPoS-блокчейнах каждый кошелек с монетами на балансе может голосовать за так называемых «делегатов» (Delegates, Block Producers, Validators) — специальных представителей сообщества, получивших право генерировать блок и получать награду в виде транзакционных комиссий.
DPoS устойчив к атаке коррумпированного меньшинства. Если делегаты вредят сети или ушли в офлайн, участники сети повторно проводят выборы и назначают новых делегатов, пока количество честных блок-продюсеров не вернется к 100%.
Каковы функции делегатов в DPoS-блокчейнах?
Полномочия делегатов заключаются в настройке основных правил сети, поддержании стабильной работы блокчейна и генерации блоков. Они получают комиссии за транзакции в качестве прибыли. Делегатом может стать каждый участник сети, но лишь на короткое время.
Сеть платит делегату за генерацию новых блоков и включение в них новых транзакций. Делегат может по желанию тратить эти средства на маркетинг, лоббирование интересов сообщества, но не в личных целях. Держатели монет решают, сколько получит конкретный делегат за свою работу. Это зависит от правил сети и репутации делегата. Репутация подкрепляется голосами пользователей, которые при помощи своих монет в стейке постоянно участвуют в выборах. Один пользователь может отдать делегату только один голос, но голосовать сразу за нескольких кандидатов.
Когда делегаты избраны, каждый из них попадает в особую группу. Люди в этой группе имеют доступ к генезис-аккаунту.
Это аккаунт с мультиподписью, через который можно изменять:
- награду за блок;
- время генерации блоков;
- размер блока;
- размер вознаграждения свидетелям;
- комиссии за транзакции.
Параметры, находящиеся в компетенции делегатов, не должны меняться слишком часто: нестабильность и новизна отпугивают новичков и инвесторов. Генезис-аккаунт может выполнять и стандартные функции: использовать смарт-контракты, получать средства, формировать стейк.
После принятия важных решений в DPoS-блокчейнах есть короткий промежуток времени, в течение которого можно переизбрать новых делегатов. Это необходимо, если установленные делегатами правила не утверждены большинством голосов пользователей.
Можно сократить или увеличить количество делегатов, заменить их, но это не окажет влияния на устойчивость сети.
Как стать Делегатом?
Список активных делегатов обновляется после подсчета голосов. Затем система в случайном порядке выбирает делегатов и ставит их в очередь. Каждый делегат получает возможность генерировать блок. После того как все делегаты воспользовались очередью, их порядок снова меняется случайным образом.
Делегат может не пропустить транзакции в блок, отложив их подтверждение. Такой подход требует доверия к делегатам и делает саму систему уязвимой к манипуляциям.
Если делегат не создал блок или не включил в него транзакцию, то следующий блок генерируется другим делегатом и будет вдвое большим по размеру, чтобы включить в себя неподтвержденные транзакции. Так устраняется злонамеренная попытка блокировать или отсрочить генерацию блоков.
В долгосрочной перспективе заблокировать конкретные транзакции невозможно: если делегат злоупотребляет полномочиями, остальные участники сети имеют механизмы для его отстранения.
Кто такие Свидетели?
Пользователи, которые занимаются стейкингом и имеют шанс временно стать делегатом, называются свидетелями (Witness, Witness Node, Validator, Block Producer, так как они являются свидетелями транзакций и одновременно узлами сети). DPoS использует репутационную систему и голосование в реальном времени для избрания свидетелей и делегатов.
Свидетели генерируют и распространяют блоки, подтверждают транзакции, держат монеты в стейке и голосуют. В отличие от делегатов, они не могут настраивать основные правила сети. Во время подтверждения транзакций, свидетели и делегаты не могут менять детали транзакций, такие как сумма, отправитель, получатель, ID и так далее.
Также они проверяют:
- входящие блоки и подписи у транзакций;
- результаты исполнения смарт-контракта;
- являются ли делегаты легитимно избранными;
- распространение транзакций пользователей.
Каждый полный узел может предоставить доступ для чтения данных блокчейна, что делает систему похожей на децентрализованную сеть доставки контента (CDN).
Как работает стейкинг в DPoS?
Все монеты в DPoS-блокчейнах делятся на свободные (находящиеся в обороте) и те, что в стейкинге. Каждый сам определяет размер стейка, и тратить его нельзя. С помощью таких монет можно стать свидетелем, голосовать за делегатов и принимать участие в управлении сетью через смарт-контракты.
Каковы плюсы стейкинга?
- Не нужно инвестировать в дорогое оборудование, чтобы добывать новые монеты;
- Нет высокого энергопотребления;
- Сложность реализации атаки 51%: атакующий должен владеть как минимум 51% всех токенов;
- Во время проведения эирдропов некоторые проекты быстрее распределяют монеты именно среди стейкеров;
- Стейкинг в DPoS используется не только для заработка, но и в качестве инструмента влияния на сеть.
Есть ли у DPoS существенные недостатки и какие?
Среди недостатков:
- Деанонимизация свидетелей, так как зачастую это публичные компании, а не частные лица.
- Возможность проведения DDoS-атаки на узлы сети.
- Большинство не имеют достаточного стимула принимать участие в голосованиях, ведь их стейк слишком мал.
- Опасность централизации: обладатель больших ресурсов может переизбирать сам себя.
- Голосование кошельком несет высокие финансовые и политические риски: голосующие скорее возьмут взятку или совсем не проголосуют.
- Некоторые реализации рекомендуют использовать многоядерные процессоры для валидации, иначе делегат может упустить награду за блок.
- Во время стейкинга монеты фиксируются на какое-то время, так что если цена сильно снизится, вы не продадите монеты сразу.
Известный биткоин максималист Ник Сабо высказывал обеспокоенность по поводу одной из реализаций DPoS:
«В EOS несколько незнакомцев могут заморозить то, что пользователи считают своими деньгами. В рамках протокола вам нужно доверять конституционной организации, состоящей из людей, которых вы никогда не узнаете лично. Конституция EOS социально не масштабируема и является дырой в безопасности».
Во время голосования в апреле 2019 года за замену временной конституции (interim constitution) на пользовательское соглашение (EUA) явка составила 1,7%. Решение пришлось принимать блок-продюсерам, что вызвало обвинения в централизации и сырости некоторых реализаций DPoS.
Источник: forklog.com