Что такое DPoS
Всем привет! Сегодня я расскажу вам об алгоритме консенсуса Delegated-Proof-of-Stake (DPoS). Начнем немного из далека. Впервые мир узнал о криптовалюте 21 января 2009 года: был создан первый биткоин (BTC). С этого момента майнинг охватил мир, но проблемы не заставили себя долго ждать: энергозатраты росли, делая добычу криптовалюты очень дорогой. На смену традиционному PoW , который заставлял делать бессмысленные вычисления, пришёл PoS , где доход определяется размером ставки. Оба способа способствуют формированию монополии, поэтому появился Delegated-Proof-of-Stake.
Delegated-Proof-of-Stake – это алгоритм, помогающий добиться консенсуса, а также способ защиты в мире криптовалюты, позволяющий избежать централизации системы. С помощью «делегированного доказательства доли» участники избирают валидаторов, которые оперативно проверяют и добавляют блоки. Валидаторами часто являются не только отдельные личности, но и целые компании: они заинтересованы в поддержании своего имиджа и получают вознаграждения за проведённые операции.
Если говорить проще, то при PoW в конкуренции за первую красавицу в школе побеждает умнейший/быстрейший, а при PoS девушку получит тот, кто предложит больше средств (при этом платить не нужно, только продемонстрировать наличие). DPoS отличается от обоих методов: красотка идёт к тому, кого назовёт выбранный педсовет. При этом участники сами решают, кто будет входить в эту пресловутую «судейскую коллегию», и могут в любой момент общим голосованием изменить состав.
Delegated-Proof-of-Stake является разновидностью PoS: именно на основании алгоритма PoS Дэниел Лаример в 2013 году придумал и внедрил новый способ, который активно используется в BitShares, Steem, EOS или Minter. Программиста вдохновила идея идеального демократического общества, в котором каждый участник ответственно относится к выбору и влияет на общее решение. Валидаторы могут меняться, если плохо выполняют свою работу: их место занимают другие, более сознательные исполнители.
Алгоритмы отличаются по способу выбора «счастливчика», которому достанется честь добавить новый блок. Принцип работы DPoS следующий:
- Держатели токенов выдвигают кандидатуры и выбирают валидаторов. На этом этапе проблемой может стать низкая активность участников или их нежелание вникать в достоинства предложенных кандидатур. При малых активах участник часто просто соглашается с мнением большинства.
- Выбор установленного количества валидаторов. Система автоматически отбирает необходимое число лидеров голосования, а если от одного из валидаторов придёт отказ, то его место займёт следующий.
- Валидаторы добавляют блоки, предварительно проверив их. При попытке нарушить правила системы валидатор лишится права предлагать свои услуги.
- Алгоритм постоянно работает, обновляя состав валидаторов, если были перераспределены иначе токены, голоса участников. Этот результат невозможно предугадать.
Фундаментальное отличие алгоритмов PoS, DPoS и PoW — принцип выбора участника, которому достанется право добавить в цепь новый блок. В сетях с PoW желающие добавить блок наперегонки решают криптографическую головоломку, а первый разгадавший добавляет свой блок и получает вознаграждение. В PoS участники ставят на кон токены, чтобы получить шанс добавить блок. Чем больше ставка — тем больше шансов. Но если в PoW майнеры получают предопределенную награду за создание блока и комиссии с каждой вошедшей в блок транзакции, в PoS вознаграждение ограничивается только комиссиями с транзакций.
В случае с DPoS участники по собственному желанию выдвигают кандидатуры на роль валидатора — полного узла сети, который проверяет и добавляет блоки за вознаграждение. Остальные участники голосуют за кандидатов токенами, а вес голосов распределяется согласно количеству внесенных монет. По результатам голосования формируется пул валидаторов. Специальный алгоритм формирует очередь валидаторов и поочередно дает им время на добавление блока. Если узел не успевает добавить блок, право переходит следующему участнику в очереди. Когда очередь кончается, алгоритм заново формирует пул валидаторов и распределяет места.
Вообще, работу сети можно показать разделив весь процес на несколько этапов.
1 Этап
Держатели токенов выбирают валидаторов. |
![]() |
2 Этап
Алгоритм отбирает N валидаторов. N — заранее установленное число валидаторов в очереди. |
![]() |
3 Этап
Валидаторы проверяют и добавляют блоки согласно очереди. |
![]() |
4 Этап
Если никто из проголосовавших участников не перераспределил свои токены, алгоритм снова формирует очередь из того же пула валидаторов. Если распределение токенов-голосов изменилось, пул формируется из N новых лидеров и цикл замыкается. |
![]() |
5 Этап
Алгоритм распределяет места в очереди среди выбранных валидаторов так, что никто из участников не может предугадать порядок в очереди, но результат всегда будет одинаковым при равных вводных данных. Так, каждый из узлов способен независимо от других участников просчитать ту же самую очередь. |
![]() |
В любое время голосующие участники могут отозвать свои токены-голоса и внести их как ставку за другого валидатора. Если валидатор попытается блокировать транзакции в блоке или попробует иначе «обойти» правила, к следующему циклу его не выберут в пул, а репутация такого валидатора пострадает.
Delegated-Proof-of-Stake во многом превосходит своих предшественников: разработчик учёл недостатки PoW и PoS и сделал новый, усовершенствованный алгоритм.
DPoS можно назвать формой ончейн-самоуправления. Это гибкий вариант репрезентативной демократии: участники выбирают делегатов (валидаторов) и могут в любой момент отозвать и перераспределить свои голоса. Возможность произвольно отстранять и выбирать валидаторов оставляет реальную власть в руках всех держателей токенов. Сами валидаторы выступают своего рода наемными работниками, которые получают компенсацию за добросовестную обработку данных.
- Высокая пропускная способность и скорость создания блока. Блоки в DPoS выстраиваются буквально «по кирпичикам» каждые 15 секунд. Для сравнения: в PoW 15 – минут, а в PoS – 7 минут. Пропускная способность тоже высока: 1000 транзакций против 7-30 при использовании других алгоритмов.
- Демократичная система управления. Участники совместно решают не только то, кто будет доверенным лицом, но и определяют размер блока и вознаграждения, хардфорк сети. Алгоритм позволяет легко справляться с монополией, конечно, это не значит, что нет сторонников того, что Delegated-Proof-of-Stake можно использовать в своих целях, но пока что система работает, успешно избавляясь от недобросовестных валидаторов.
- Сбережение ресурсов. Алгоритм PoW забирает бешеное количество энергии, чтобы провести никому не нужные вычисления. В Delegated-Proof-of-Stake затраты идут только на совершение транзакций: алгоритм обходится выгоднее, но разница не настолько огромна, как между PoW и PoS.
Давайте произведем небольшое сравнение разных алгоритмов консенсуса между собой. Возьмем самые популярные из них: PoW, PoS, BFT DPoS и MDPoS.
PoW | PoS | BFT DPoS | MDPoS | |
Примеры проектов | Bitcoin, Ethereum | Peercoin | NEO | Minter |
Время на создание блока |
Bitcoin: ~ 7–10 минут Ethereum: ~ 12–15 секунд | ~ 9 минут | 15 секунд | 5 секунд |
Пропускная способность (транзакций в секунду) |
Bitcoin: 7–10 Ethereum: 15–30 | 7 | 1000 | 2000 |
Стоимость транзакции | Bitcoin: ~ $0.168 Ethereum: ~ $0.066 | ~ $0.006 | Опционально | $0.001 |
Количество транзакций в блоке |
Bitcoin: до 4424 Ethereum: от 30 до 200 | от 2 до 10 | до 500 | до 10 000 |
Энергозатраты (кВт⋅ч в день) |
Bitcoin: 69 974 983 Ethereum: 51 765 837 | ~ 18 630 | 50,4 | 30–45 |
Количество полных узлов/блок-продюсеров |
Bitcoin: 10102 Ethereum: 12754 | 12 | 7 консенсус-узлов | От 16 до 256 |
Управление (Governance) |
Bitcoin: неформальное офчейн-управление Ethereum: неформальное офчейн-управление | Ончейн-голосование | Ончейн-голосование + элементы офчейн-управления | Ончейн-голосование |
Приоритетные характеристики |
Децентрализованность, безопасность | Масштабируемость, низкое энергопотребление | Масштабируемость, низкие комиссии | Низкие комиссии, скорость транзакций, масштабируемость |
Системы на базе DPoS критикуют из-за деанонимизации валидаторов, возможной централизации производства блоков и специфики модели управления.
- Деанонимизация валидаторов (В DPoS-системах личности валидаторов известны. Чаще всего это не отдельные люди, а компании, которые должны поддерживать репутацию и представлять себя голосующим участникам сети, чтобы конкурировать за право добавлять блоки. Учитывая, что порядок обработки блоков и личности валидаторов известны, злоумышленник может провести DDoS-атаку на валидаторов. Чем больше валидаторов подвергнутся атаке, тем заметнее будут возможные задержки в сети. Однако шансы, что злоумышленник сможет вывести из строя большинство узлов, невелики. Кроме того, валидаторы могут использовать устойчивость к DDoS как конкурентное преимущество.)
- Централизация (Блокчейн-системы на основе DPoS называют более централизованными с точки зрения количества полных узлов, которые верифицируют и добавляют блоки. В NEO работает 7 валидаторов, а в Ethereum количество узлов превышает 13 000. С другой стороны, нельзя судить о степени централизации по одной метрике. В PoW-системах Ethereum и Bitcoin значительный вклад в создание блоков вносят несколько крупных майнинг-пулов.)
- Проблемы демократии (Решение о выборе делегатов-валидаторов в DPoS принимают участники сети. Теоретически они могут выбрать валидатора с хорошей репутацией, но злым умыслом. Как только недобросовестные намерения раскроются, голосующие участники исключат такого валидатора из пула, но злоумышленник может успеть вызвать перебои в работе сети. Как и любая избирательная система, выбор валидаторов в DPoS-сети требует внимания со стороны голосующих. У участников с небольшим количеством токенов, а значит и сопоставимо небольшим влиянием на исход голосования, нет мотивации тратить время на изучение всех делегатов.)
Неоднозначная мораль и перспективы DPoS
Баланс между скоростью обработки транзакций, безопасностью и децентрализацией кажется игрой с нулевой суммой. PoW жертвует масштабируемостью, но при этом он — наиболее безопасный и децентрализованный алгоритм консенсуса как минимум в теории. PoS неплохо масштабируется, но подвергается критике из-за централизации. DPoS потенциально обгоняет PoS по масштабируемости, но и его критикуют за опасность централизации.
Создатель биткоина стремился создать некий прообраз цифровой демократии, где каждый пользователь будет иметь один голос. Кем бы ни был Сатоши, он отказался от голосования через IP, понимая, как легко один человек может завладеть большим количеством IP и подчинить себе сеть.
Однако он не ожидал, что биткоин вырастет в цене настолько, что участникам сети станет выгодно содержать гигантские фермы для майнинга. Успех системы превзошел ожидания создателя, и его предосторожности не сработали. Несколько компаний с промышленными вычислительными мощностями практически контролируют сеть биткоина. В 2014 году крупнейший на тот момент майнинг-пул GHash.io почти на сутки собрал под своим контролем 55% всей вычислительной мощности.
Идеологические споры о централизации и децентрализации — вечная тема для криптосообщества. Однако сейчас становятся популярными решения с акцентом не на децентрализации, а на масштабируемости и универсальности. Алгоритм DPoS и его производные — один из путей к этим преимуществам.
DPoS называют «цифровой демократией». Но такому режиму присущи и злоупотребления. Например, обладая значительным ресурсом, можно бесконечно переизбирать себя валидатором, что дает бо́льший контроль над сетью, чем обладание значительным ресурсом в PoS-системах.
В то же время создатель DPoS Дэниел Лаример считает именно этот алгоритм самым жизнеспособным в рыночных условиях.
Споры о вреде централизации вряд ли утихнут в ближайшие годы, а алгоритм DPoS, несмотря на критику, уже зарекомендовал себя как жизнеспособное решение. Пусть не настолько привычное и проверенное как PoW, но масштабируемое и актуальное для бизнеса.
Заключение:
Программисты уже десятилетие пытаются решить задачу и найти оптимальный алгоритм, в котором будут сочетаться три главных параметра: абсолютная безопасность, гарантированная децентрализация и оптимальная масштабируемость. У PoW серьёзные проблемы с масштабируемостью, а PoS обвиняют в централизации: DPoS превосходит своих предшественников в этих параметрах и является молодым алгоритмом, который в перспективе способен стать наиболее жизнеспособным и безопасным на криптовалютном рынке. Важное достоинство Delegated-Proof-of-Stake – это гибкость, возможность участников подстраивать алгоритм под себя. Если хотя бы 60% участников будут активно работать, честно используя систему, то, по мнению создателя Дэниеля Ларимера, DPoS будет идеальным инструментом.