Delegated-Proof-of-Stake как альтернатива PoW и PoS: сравнение и перспективы Что такое алгоритм консенсуса и зачем он нужен? Эволюция алгоритмов консенсуса в блокчейн-системах Популярно о DPoS Преимущества DPoS Недостатки DPoS Неоднозначная мораль и перспективы DPoS

Delegated-Proof-of-Stake
как альтернатива PoW и PoS:
сравнение и перспективы

Delegated-Proof-of-Stake
как альтернатива PoW и PoS:
сравнение и перспективы

Без алгоритма консенсуса блокчейн не может
существовать. Одни алгоритмы позволяют строить
надежные децентрализованные системы, другие —
блокчейны с большой пропускной способностью
и масштабируемостью.



Этот спецпроект посвящен алгоритму
Delegated-Proof-of-Stake, который лежит в основе
самых производительных блокчейн-систем.

Спецпроект создан при поддержке проекта Minter.

Minter — блокчейн-платформа, реализующая свободную конвертацию своих монет в USD и позволяющая создавать собственные криптовалюты с алгоритмической стоимостью и возможностью обмена между другими блокчейнами экосистемы Cosmos. Minter Network использует алгоритм MDPoS.

Minter предоставляет специальный бонус для читателей Forklog.

Зарегистрируйтесь в Minter и получите 1000
токенов BIP
(примерно $60) сразу после запуска
основной сети Minter Network 01.05.2019 и прохождения KYC.
Получить бонус

Блокчейн-системы не могут существовать без формализованных правил поведения, которым следуют все участники сети. Эти правила называют алгоритмом консенсуса.

Самый известный алгоритм консенсуса Proof-of-Work лег в основу сети Bitcoin и дал жизнь такому явлению как майнинг. Есть и альтернативные алгоритмы: Proof-of-Stake, Proof-of-Burn, Proof-of-Storage и другие. Но Топ-5 блокчейнов по объему выполняемых за день операций работают на основе алгоритма Delegated-Proof-of-Stake. О нем и пойдет речь.

Что такое алгоритм консенсуса
и зачем он нужен?

Алгоритм консенсуса — один из основных параметров
блокчейн-системы наравне с хэш-функциями, размером
блока и пропускной способностью сети. В информатике
алгоритмом консенсуса называют метод, с помощью
которого распределенные узлы в сети достигают согласия
относительно элемента данных.

«Блокчейн можно рассматривать как радиостанцию, которую слушают
и записывают все жители мира. На этой радиостанции каждый может
транслировать криптографические утверждения через детерминистическую
машину состояний, чтобы прийти к согласию. Задача, которая стоит перед
нами, — определить, до каких радиостанций нам есть дело, кому достанется право
транслировать и когда»,

объясняет создатель
алгоритма DPoS Дэниел
Лаример.

Проблема согласия между узлами распределенной сети обсуждается как минимум с 1960-х годов — с начала изучения распределенных и параллельных вычислений. В апреле 1985 года Фишер, Линч и Паттерсон опубликовали одну из важнейших работ в области распределенных систем — «Невозможность распределенного консенсуса с одним дефектным процессом».

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

Представьте, что компания друзей каждую пятницу после работы долго спорит о том, куда пойти. В итоге они тратят на это все свое время. Чтобы решить, кто и как будет выбирать место встречи, им нужен алгоритм консенсуса.

Эволюция алгоритмов консенсуса в блокчейн-системах

Первым алгоритмом консенсуса, задействованным в блокчейн-системе, стал Proof-of-Work (PoW). На PoW основан блокчейн биткоина. Идея такого алгоритма была впервые описана в 1993 году в научной работе Синтии Дуард и Мони Наора о методике борьбы с email-спамом.

Proof-of-Work — это функция, которую сложно вычислить, но результаты вычислений просто проверить. В случае со спамом компьютер позволяет рассылать сотни тысяч сообщений каждый день. Согласно предположению Дуард и Наора, если на каждое сообщение нужно потратить 10 секунд вычислений, разослать больше 8640 не удастся.

Сам термин Proof-of-Work впервые
употребляется в работе Маркуса
Джейкобссона и Ари Джуелс 1999 года,
посвященной вычислительным
головоломкам в протоколах безопасности.

Алгоритм PoW приобрел широкую известность после публикации whitepaper биткоина в 2008 году. Там PoW служит препятствием двойному расходованию монет. Для создания нового блока транзакций участнику нужно путем подбора найти число, которое вместе с информацией об этом блоке даст подходящее правилам сети значение хэш-функции SHA256. То есть скорость добычи новых биткоинов — майнинга — полностью зависит от вычислительной мощности и удачи. Изначально биткоин-майнингом занимались энтузиасты на домашних компьютерах, но с популяризацией первой криптовалюты ее добычей стали заниматься целые компании. По потреблению энергии сеть биткоина сравнялась с Чехией.

В 2012 году Санни Кинг и Скотт Надал из проекта Peercoin представили Proof of Stake (PoS) — альтернативу PoW и решение проблемы больших затрат электричества на майнинг биткоина. Однако идея PoS была упомянута еще в 2011 году на форуме Bitcointalk. Вместо майнинга в PoS участники сети замораживают в кошельках определенное количество токенов. После этого алгоритм выбирает среди участников следующего блок-продюсера в зависимости от размера ставки. Таким образом участники подкрепляют добросовестность не затратами на вычисления, а напрямую активами внутри сети.

Тем не менее для PoS актуальна проблема Nothing at Stake (англ. Ничего на кону). В случае форка участники могут выступать валидаторами в обеих цепях без дополнительных затрат. Из-за этого растет вероятность частых форков в системе, что обесценивает криптовалюту и дискредитирует систему.

Алгоритмы PoW и PoS оставляли пространство для монополий. Участники с бо́льшими вычислительными мощностями в PoW и участники с бо́льшим запасом токенов в PoS получают больше прибыли и власти над системами.

В 2013 году Дэниел Лаример разработал Delegated-proof-of-stake (DPoS) — разновидность PoS, схожую по принципу с представительной демократией современных стран. В DPoS-системах участники используют свои токены, чтобы выбирать валидаторов, которые проверяют и добавляют блоки за вознаграждение. Алгоритм был задействован Ларимером в его блокчейн-проектах: BitShares, затем в Steem и EOS.

Рассмотрим эти алгоритмы на примере с выбором места встречи.

С алгоритмом PoW каждый, кто хочет предложить свой вариант досуга, начинает приседать. Кто первый присядет 50 раз, тот и выбирает, а все остальные соглашаются с его решением. Никто ведь не будет так себя истязать, чтобы предложить плохой вариант.
C PoS решение принимает тот, кто готов поставить больше денег на то, что его вариант всем понравится. Однако если остальные друзья разочаруются, ставку вернут, потому единственная мотивация выбирать хорошо — желание поддерживать хорошее настроение в компании.
С DPoS друзья голосованием выберут нескольких самых опытных друзей, которые на протяжении месяца будут поочередно выбирать заведение для всей компании. Если чей-то вариант окажется плохим, на его место выберут другого человека, а старый останется с пятном на репутации.

Популярно о DPoS

Фундаментальное отличие алгоритмов PoS, DPoS и PoW — принцип выбора участника, которому достанется право добавить в цепь новый блок. В сетях с PoW желающие добавить блок наперегонки решают криптографическую головоломку, а первый разгадавший добавляет свой блок и получает вознаграждение. В PoS участники ставят на кон токены, чтобы получить шанс добавить блок. Чем больше ставка — тем больше шансов. Но если в PoW майнеры получают предопределенную награду за создание блока и комиссии с каждой вошедшей в блок транзакции, в PoS вознаграждение ограничивается только комиссиями с транзакций.

В случае с DPoS участники по собственному желанию выдвигают кандидатуры на роль валидатора — полного узла сети, который проверяет и добавляет блоки за вознаграждение. Остальные участники голосуют за кандидатов токенами, а вес голосов распределяется согласно количеству внесенных монет. По результатам голосования формируется пул валидаторов. Специальный алгоритм формирует очередь валидаторов и поочередно дает им время на добавление блока. Если узел не успевает добавить блок, право переходит следующему участнику в очереди. Когда очередь кончается, алгоритм заново формирует пул валидаторов и распределяет места.

Работу алгоритма DPoS можно обобщить до нескольких этапов:

Держатели токенов выбирают валидаторов.

Алгоритм отбирает N валидаторов.
N — заранее установленное число
валидаторов в очереди.

Валидаторы проверяют и добавляют
блоки согласно очереди.

Если никто из проголосовавших
участников не перераспределил свои
токены, алгоритм снова формирует
очередь из того же пула валидаторов.
Если распределение токенов-голосов
изменилось, пул формируется из N
новых лидеров и цикл замыкается.

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

В любое время голосующие участники могут
отозвать свои токены-голоса и внести их как
ставку за другого валидатора. Если валидатор
попытается блокировать транзакции в блоке или
попробует иначе «обойти» правила, к следующему
циклу его не выберут в пул, а репутация такого
валидатора пострадает.

«Delegated Proof of Stake устойчив к любым естественным искажениям и
коррупции значительного меньшинства блок-продюсеров. В отличие от
конкурирующих алгоритмов DPoS продолжает функционировать, когда
большинство блок-продюсеров выходят из строя. Сообщество может голосовать
за замену вышедших из строя продюсеров до тех пор, пока не восстановится
100% участие. Я не знаю других алгоритмов консенсуса, которые устояли бы
перед такими разными сценариями отказа»,

пишет Дэниел Лаример

Валидаторы конкурируют только за голоса держателей токенов, и это происходит вне сети. Попав в пул, валидаторы заинтересованы в сотрудничестве и нормальной работе блокчейна. Механизм вознаграждения валидаторов зависит от проекта: процент от эмиссии новых монет или от комиссий за транзакции, фиксированная сумма и т.д. Кроме того, есть вариации алгоритма DPoS с разными количеством валидаторов в пуле, порогом вхождения на роль валидатора и вознаграждениями.

Разработчики Minter создали модифицированную версию DPoS с акцентом на доступность майнинга — MDPoS. Благодаря MDPoS в сети Minter можно делегировать не только нативные токены, но и монеты, созданные пользователями.

«Оборудовать полный узел сети для валидации транзакций можно даже на
удаленном сервере. С учетом рекомендованных спецификаций такой узел
обойдется в $20–30 и сможет обрабатывать тысячи транзакций в секунду»,

— отметил Даниил Лашин, главный разработчик Minter.

Разработчики подчеркивают, что отсутствие связанных с PoW-майнингом расходов на электричество и оборудование, возможность делегировать любые монеты в сети и низкий финансовый порог вхождения на роль валидатора — это логичное развитие подхода к майнингу криптовалют.

«Несмотря на ограниченное количество валидаторов в пуле, доступный майнинг
способствует большей децентрализации мощности и более равновесному
распределению вознаграждений в сети. В Minter валидатор может начать
работать и автоматически получать комиссию с минимальными вложениями и
стейком в $0,01»,

— добавил Даниил Лашин.
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: неформальное офчейн-управление
Ончейн-голосование
Ончейн-голосование + элементы офчейн-управления
Ончейн-голосование
Приоритетные
характеристики
Децентрализованность, безопасность
Масштабируемость, низкое энергопотребление
Масштабируемость, низкие комиссии
Низкие комиссии, скорость транзакций, масштабируемость
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: неформальное офчейн-управление

Ончейн-голосование

Ончейн-голосование + элементы офчейн-управления

Ончейн-голосование

Приоритетные характеристики

Децентрализованность, безопасность

Масштабируемость, низкое энергопотребление

Масштабируемость, низкие комиссии

Низкие комиссии, скорость транзакций, масштабируемость

Сравнение алгоритмов консенсуса PoW, PoS, BFT DPoS и MDPoS.

Преимущества DPoS

Основные преимущества DPoS — демократичная форма управления, масштабируемость и сравнительно низкие затраты энергии на обслуживание сети.

Гибкая форма ончейн-управления

DPoS можно назвать формой ончейн-самоуправления. Это гибкий вариант репрезентативной демократии: участники выбирают делегатов (валидаторов) и могут в любой момент отозвать и перераспределить свои голоса. Возможность произвольно отстранять и выбирать валидаторов оставляет реальную власть в руках всех держателей токенов. Сами валидаторы выступают своего рода наемными работниками, которые получают компенсацию за добросовестную обработку данных.

Мы предложили эксперту из команды Minter прокомментировать такую модель управления.

«В сети минтер участвует 16 валидаторов. Через каждые 518 400 блоков
будет добавляться 4 новых места в пуле валидаторов, пока количество мест
не достигнет 256. Все они обязуются поддерживать работу сети и выполнять
правила. Помимо прочего, валидаторы голосуют за изменение параметров
системы. Фактически они представляют интересы пользователей, которые
за них голосовали. Если валидатор не соответствует ожиданиям участников,
его отстранят от обязанностей»,

— отметил Даниил Лашин, главный разработчик Minter.

Кроме контроля над пулом валидаторов, своими голосами
участники сети контролируют технические параметры системы:
размер блока, хардфорк сети, вознаграждение валидаторов и их
общее количество.

Масштабируемость и
скорость обработки
транзакций

Алгоритм DPoS позволяет достигать
консенсуса относительно новых блоков
быстрее, чем PoW и PoS. На практике в
DPoS-системе сравнительно небольшое
количество узлов сети должны согласиться
с валидностью блока, чтобы все
транзакции в нем можно было считать
включенными в основную цепь.

Задача масштабируемости блокчейн-сети — оптимизация трех связанных параметров. Она описывается так называемой трилеммой масштабируемости, предложенной Виталиком Бутериным. Согласно трилемме, блокчейн может показывать хороший результат только по двум из трех параметров:

  • безопасность — уязвимость к манипуляциям недобросовестных узлов;
  • децентрализация — общее число блок-продюсеров;
  • масштабируемость — общая скорость обработки и финализации транзакций сетью.

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

Экономия ресурсов

В долгосрочной перспективе важно, что
блокчейн-системы на основе DPoS
потребляют существенно меньше энергии,
чем их аналоги на PoW.

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

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

Недостатки DPoS

Системы на базе DPoS критикуют из-за деанонимизации валидаторов, возможной централизации производства блоков и специфики модели управления.

Деанонимизация валидаторов

В DPoS-системах личности валидаторов известны. Чаще всего это не отдельные люди, а компании, которые должны поддерживать репутацию и представлять себя голосующим участникам сети, чтобы конкурировать за право добавлять блоки.

Учитывая, что порядок обработки блоков и личности валидаторов известны, злоумышленник может провести DDoS-атаку на валидаторов. Чем больше валидаторов подвергнутся атаке, тем заметнее будут возможные задержки в сети. Однако шансы, что злоумышленник сможет вывести из строя большинство узлов, невелики. Кроме того, валидаторы могут использовать устойчивость к DDoS как конкурентное преимущество.

«Проблема в том, что если у вас 100 узлов, система гораздо более
централизованная. Вы можете провести на них DDoS-атаку. Так как вам
нужно за них голосовать, победят те узлы, которые все знают. Так гораздо
проще атаковать людей во главе узлов. Интернет-провайдеры, компании
или правительства могут без труда их отключить. Этот конкретный подход
к масштабируемости имеет высокую цену: если вы попытаетесь добиться
масштабируемости с помощью увеличения размера отдельных узлов, количество
узлов падает, система становится более централизованной»,

считает Виталик Бутерин, основатель Ethereum.

В ответе на заявление Бутерина Дэниел Лаример упомянул, что Ethereum и Bitcoin уже подвергались DDoS-атакам, а Steem и BitShares выстояли, несмотря на попытки перегрузить сеть. Лаример также уточнил, что сеть Ethereum можно вывести из строя, атаковав всего 7 узлов, которые контролируют 90% вычислительной мощности, и все эти узлы хорошо известны правительствам и интернет-провайдерам.

Централизация

Блокчейн-системы на основе
DPoS называют более
централизованными с точки
зрения количества полных
узлов, которые верифицируют
и добавляют блоки. В NEO
работает 7 валидаторов, а в
Ethereum количество узлов
превышает 13 000.

С другой стороны, нельзя судить
о степени централизации по
одной метрике. В PoW-системах
Ethereum и Bitcoin значительный
вклад в создание блоков вносят
несколько крупных
майнинг-пулов.

Проблемы демократии

Решение о выборе делегатов-валидаторов в DPoS принимают участники сети. Теоретически они могут выбрать валидатора с хорошей репутацией, но злым умыслом. Как только недобросовестные намерения раскроются, голосующие участники исключат такого валидатора из пула, но злоумышленник может успеть вызвать перебои в работе сети.

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

пишет Виталик Бутерин.

Как и любая избирательная система, выбор валидаторов в DPoS-сети требует внимания со стороны голосующих. У участников с небольшим количеством токенов, а значит и сопоставимо небольшим влиянием на исход голосования, нет мотивации тратить время на изучение всех делегатов.

«Ончейн-управление делает участие узла в управлении совершенно
ненужным. В этом случае узел, не принимая решения, просто следует за уже
сделанными решениями. Значения по умолчанию невероятно сильны: чем
больше узлов следуют этим значениям, тем меньше смысла для
заинтересованного в переменах узла идти им наперекор и делать форк»,

отметил разработчик из Ethereum Foundation Влад Замфир.

Неоднозначная мораль
и перспективы DPoS

Баланс между скоростью обработки транзакций, безопасностью и децентрализацией кажется игрой с нулевой суммой. PoW жертвует масштабируемостью, но при этом он — наиболее безопасный и децентрализованный алгоритм консенсуса как минимум в теории. PoS неплохо масштабируется, но подвергается критике из-за централизации. DPoS потенциально обгоняет PoS по масштабируемости, но и его критикуют за опасность централизации.

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

«Proof-of-Work также решает проблему представленности голосующих в
принятии решения. Если бы большинство определялось по принципу один
IP-адрес — один голос, участник с доступом к большому количеству IP мог бы
манипулировать голосованием в своих интересах. С Proof-of-Work один
компьютерный процессор — это один голос»,

сказано в whitepaper Bitcoin.

Однако он не ожидал, что биткоин вырастет в цене настолько, что участникам сети станет выгодно содержать гигантские фермы для майнинга. Успех системы превзошел ожидания создателя, и его предосторожности не сработали. Несколько компаний с промышленными вычислительными мощностями практически контролируют сеть биткоина. В 2014 году крупнейший на тот момент майнинг-пул GHash.io почти на сутки собрал под своим контролем 55% всей вычислительной мощности.

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

«DPoS — оптимальная форма консенсуса для масштабируемых
бизнес-решений. Блокчейны с таким алгоритмом консенсуса сейчас
лидируют по скорости обработки транзакций, потому для платежных
систем или DApp-платформ DPoS подходит лучше, чем тот же Proof-of-Work,»

— прокомментировал Даниил Лашин, главный разработчик Minter.

DPoS называют «цифровой демократией». Но такому режиму присущи и злоупотребления. Например, обладая значительным ресурсом, можно бесконечно переизбирать себя валидатором, что дает бо́льший контроль над сетью, чем обладание значительным ресурсом в PoS-системах.

В то же время создатель DPoS Дэниел Лаример считает именно этот алгоритм самым жизнеспособным в рыночных условиях.

«Я пытаюсь создать инструменты для конкурирующих групп, где хотя бы ⅔
людей — честные. Я верю, что на базовом уровне люди хорошие. Давайте
смотреть на практическую реальность. Чем лучше группе удается сохранять
целостность по мере роста, тем больших размеров она достигнет. Чем
больше в группе коррупции, тем быстрее она развалится. Создание
инструментов для конкуренции на свободном рынке — это признание реалий
открытых экономических систем — основы настоящей децентрализации,»

— сказано в одной из статей Дэниела Ларимера.

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