История BitShares: Делегированное доказательство доли или протокол DPOS

in ru •  8 years ago 

Делегированное доказательство доли или протокол DPOS, Даниэль Лаример

3 апреля 2014

Аннотация

Эта статья знакомит с новой реализацией протокола доказательства доли, в рамках которого подтверждение сделок занимает секунды, обеспечивая большую безопасность за более короткий период времени, чем все существующие системы, функционирующие под протоколом доказательства доли POS. К тому времени как в системе Bitcoin будет произведён лишь один блок, ваша транзакция будет заверена уже 20% акционеров, а к тому времени, Bitcoin утвердит сделку и сделает её почти необратимой (6 блоков, 1 час), ваша транзакция под протоколом DPOS уже будет заверена 100% акционеров через своих делегатов.

1.0 История

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

1.1 Доказательство работы или протокол Proof-of-Work

Первой удачной попыткой решения этой проблемы стала система Bitcoin, которая использует протокол доказательства работы POW, который затрудняет создание более длинной цепочки блоков, увеличивая требуемые для этого вычислительные мощности. Алгоритм доказательства работы POW ведет себя как лотерея, где в среднем один узел находит блок каждые 10 минут. Если два узла находят блок в одно и то же время, сеть определяет, какой блок будет принят, основываясь на решении последующих узлов. Со статистической точки зрения, сделка считается однозначно подтверждённой и необратимой после 6 блоков (примерно через 1 час); однако основное количество разработчиков требуют подтверждения в 120 блоков (около 1 дня), прежде чем, как они считают, сеть будет достаточно защищена от потенциальной атаки более длинной цепи, и созданные монеты могут быть потрачены.

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

1.2 Доказательство доли или протокол POS

Было предложено много вариантов функционирования системы на базе алгоритма доказательства доли POS, но основная концепция заключается в том, что трудность получения блока должна быть пропорциональна вашей доле (процентам собственности) в сети. Есть две рабочие системы, развернутые на сегодняшний день: Peercoin и Nxt. Peercoin использует гибридную модель, в которой ваша доля определяет сложность добычи, а Nxt использует детерминированный алгоритм, выбирающий акционера на случайной основе, чтобы генерировать следующий блок. Алгоритм Nxt регулирует вероятность выбора, основываясь на вашем балансе.

В то время как Nxt и Peercoin решили проблему о выборе генерирующего следующий блок, они не смогли в должной степени решить проблему создания необратимой и безопасной, в одно и то же время, цепочки блоков. Системе Peercoin требуется на это, по крайней мере, 6 блоков (1 час), а Nxt требуется 10 блоков, в соответствии с информацией, которую мы смогли отыскать. Мы не смогли найти данных для оценки уровня безопасности, предоставляемого системой Nxt после 10 блоков.

Мы ранее опубликовали статью о системе, использующей транзакции, как доказательстве доли, в которой каждая сделка включает хэш предыдущего блока в цепочке. С помощью этой системы транзакции в сети становятся все более безопасными и необратимыми, так как в конечном итоге каждый блок верифицируется каждым акционером. Проблема с алгоритмом Сделки в качестве доказательства доли (Transaction as POS или TaPOS) является то, что он не определяет способ выбора генерирующего следующий блок.

1.3 Консенсус Ripple

Система Ripple позволяет группе узлов прийти к консенсусу, на основе концепции уникального списка узлов. Уникальный список узлов выстроен по системе клуба, где 51% членов клуба должны голосованием принимать нового члена. Консенсус будет следовать этому основному большинству, а остальные акционеры не имеют никакого влияния. Так как этот клуб с самого начала является «централизованным», он остаётся «централизованным» и если клуб становится коррумпированным, акционеры ничего не смогут сделать. Ripple, как и Bitcoin, и Peercoin, лишает акционеров права голоса и, таким образом, гораздо более централизована, чем другие системы.

2.0 Делегированное Доказательство Доли (протокол DPOS)

Согласно концепции децентрализованных автономных компаний DAC, децентрализация означает, что каждый акционер имеет влияние, пропорциональное количеству его акций и что решение, принятое голосованием 51% акционеров является необратимым и обязательным. Задача состоит в том, как достичь 51% одобрительный порога своевременно и эффективно.

Для достижения этой цели, каждый акционер может делегировать свое право голоса делегату. 100 наделённых наибольшим количеством голосов делегатов по очереди генерируют блоки согласно определенному графику. Каждому делегату выделяется временные рамки для производства блока. Если он не производят блок, то его очередь пропускается, и следующий делегат в соответствии со списком производит блок. Все делегаты получают зарплату, равную 10% от среднего размера транзакционной комиссии. Если средний блок содержит плату в 100 акций, делегат получит в качестве зарплаты 1 акцию.

Вполне возможно, что задержка в сети может привести к тому, что некоторые делегаты не смогут генерировать свой блок своевременно, и это приведёт к раздвоению цепочки блоков. Однако на практике это вряд ли произойдет, потому что делегат может установить прямые соединения с другими делегатами, предшествующим и следующим за ним в цепочке. Создание этой прямой связи со следующим за вами делегатом (и, возможно, тем, который следует за ним), производится для гарантии вашей оплаты.
С помощью этой модели новые блоки могут генерироваться каждые 10-30 секунд, и при нормальных условиях работы сети развилки цепочки блоков маловероятны или могут быть исправлены в течение нескольких минут.

2.1 Как стать Делегатом

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

2.2 Делегирование своего голоса

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

2.3 Контроль честности делегатов

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

2.4 Устранение развилок в цепочках блоков

Как и в случае с алгоритмом доказательства работы POW, а также всеми вариациями протоколов доказательства доли, лучшей цепочкой блоков является самая длинная действительная цепочка. Каждый раз, когда любой из делегатов пропускает свою возможность подписать блок, эта цепь становится на один блок короче потенциальных конкурентов. После того как 51% из 100 блоков, запланированных после вашей транзакции, произведены, можно смело предположить, что вы находитесь на главной цепочке.

Возможно самым главным фактором в предотвращении потерь в результате развилок цепи, является своевременное распознавание таких развилок. Поскольку делегаты получают достаточную оплату за производство блоков и, тем самым, поддерживают бесперебойную работу близкую к 100%, чтобы предотвратить потерю места и источника дохода, вы можете смело предположить, что если больше 1 или 2 блоков пропущено из последних 10, то часть сети Интернет испытывает проблемы с подключением, и пользователи должны быть очень бдительны и требовать дополнительных подтверждений. Если более 5 из последних 10 блоков были пропущены, то это означает, что вы, вероятно, находитесь на ложной развилке и должны остановить любые торговые операции, пока проблема не будет решена.

Возможность легко обнаружить и предупредить пользователей о сетевых развилках своевременно (менее чем за 5 минут) имеет решающее значение для сведения к минимуму вероятности возникновения убытков. Еще более важно для пользователя своевременно определить, не на ложной ли развилке цепочки блоков находится он.

2.5 Децентрализованы ли на самом деле 100 делегатов?

Определение «децентрализованный» трудно однозначно трактовать, потому что этот термин стал модным. Мы считаем, что свободный рынок и является окончательной формой децентрализации, и барьеры для входа на него есть основа всей централизации. Как и во многих системах, здесь есть возможность рассуждать о разной степени централизации, поэтому мы, вместо отвлечённых философских рассуждений, просто сравним относительную централизацию протокола Делегированного Доказательства Доли с другими альтернативами.

2.5.1 Bitcoin

Bitcoin в настоящее время работает на основе Делегированного Доказательство работы (DPOW) и, следовательно, имеет около 10 делегатов, которые контролируют подавляющее большинство хеш-мощностей. Сила вычислительных мощностей сама по себе централизована в руках тех, кто может использовать эффект масштаба, устраняя конкурентов в майнинге. Наконец, доказательство работы создает барьер для доступа, который автоматически препятствует возможности смещения доминирующих операторов. По сравнению с Bitcoin, протокол DPOS является гораздо более децентрализованным в производстве блоков и, возможно, гораздо более децентрализованным в отношении рыночной конкуренции.

Несмотря на ограниченное количество децентрализации в вычислительных мощностях, когда дело доходит до процентного количества акционеров (держателей монет Bitcoin), которые действительно контролируют Bitcoin, мы приходим к выводу, что эта система является, очевидно, наиболее централизованной. Если вы подсчитаете соотношение тех, кто просто использует Bitcoin, к тем, кто реально участвует в его добыче в настоящее время, вы получите лишь доли процента.

2.5.2 Peercoin

Peercoin является гибридной монетой и, таким образом, частично централизована, согласно алгоритму доказательства работы POW. Как и Bitcoin, Peercoin также имеет майнинг-пулы. По сравнению с Bitcoin, Peercoin, конечно, более децентрализованный; Однако, поскольку алгоритм доказательства доли дозволяет пользователям майнинг только при включённых компьютерах и разблокированных кошельках, лишь небольшой процент из акционеров участвует в любом виде майнинга.

2.5.3 Nxt

Nxt использует прозрачную чеканку (transparent forging), где следующий узел выбирается детерминировано. Это можно сравнить с использованием Делегированного Доказательство Доли (DPOS), где единственный человек, которого вы можете делегировать - это вы сами, а частота, с которой вы имеете возможность создавать блоки непосредственно связана с вашим балансом. В этом смысле Nxt является более децентрализованной системой, чем Peercoin и Bitcoin, но до сих пор страдает от незначительного участия пользователей из-за соображений безопасности и того факта, что большинство обычных пользователей не оставляют свои компьютеры включёнными на весь день, чтобы пользоваться этой возможностью.

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

3.0 Атаки

Существуют два основных вида атак, от которых сеть должна быть защищена: отказ в обслуживании и двойная трата. Злоумышленник вызывает отказ в обслуживании, предотвращая некоторые или все транзакции от включения в цепочку блоков, и такая атака может быть произведена любым человеком, имеющим 51% сети (будь то Bitcoin, Nxt или другие). Двойная трата производится с помощью достигнутого на короткий срок преимущества, и осуществляется в то время, пока сеть пытается достичь консенсуса.

Чтобы защититься от этих атак сеть должна получать верификацию со стороны 51% акционеров как можно быстрее.

3.1 Предотвращение отказа обслуживания

Наличие 100 делегатов, каждый из которых избирается акционерами и которые всё время действуют в случайной последовательности, приводит к тому, что любая сделка, которую одобрили даже 1% акционеров, может быть включена в блок менее чем за 30 минут. Это означает, что ни один делегат не может извлечь выгоду за счет исключения транзакции, в которой голоса отданы за других делегатов.

3.2 Централизация власти в руках нескольких делегатов

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

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

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

3.3 DDOS делегатов

Так как в системе насчитывается всего 100 делегатов, можно предположить, что злоумышленник постарается выполнить DDOS-атаку, против каждого делегата, чтобы блокировать их работу, когда настанет их очередь верификации блока. К счастью, этот конкретный тип атаки не так легко осуществить вследствие того, что делегат известен под своим открытым ключом, а не под своим IP. Это делает идентификацию цели для DDOS-атаки более сложной. С потенциалом прямых связей между делегатами, вмешиваться в производство ими блоков представляется ещё более сложной задачей.

4.0 Сделки как доказательство доли (TaPOS или Transactions as Proof of Stake)

В то время как назначение делегатов являются эффективным способом достижения прочного консенсуса в течение короткого периода времени, TaPOS предоставляет средство акционерам непосредственно оценивать поведение своих делегатов с течением времени. В среднем, менее чем за 6 месяцев, 51% акционеров напрямую подтвердят каждый блок. В зависимости от процента акций, находящихся в активной циркуляции, около 10% акционеров может напрямую подтвердить цепь блоков в течение всего лишь нескольких дней. Это прямое подтверждение блоков акционерами обеспечивает безопасность сети в долгосрочной перспективе и делает все попытки нападения крайне прозрачными.

5.0 Высокое качество обслуживания

Предположив рыночную капитализацию системы DPOS в 10 миллиардов долларов, а среднегодовые операционные издержки в 0,25% и оценив совокупный доход делегатов в 10% от всех сборов по сделкам, мы получим предварительные данные, что потенциально каждый делегат будет зарабатывать 25 тысяч долларов в год только за поддержку своего узла в сети.

Это очень выгодная должность и многие люди будут постоянно конкурировать, чтобы претендовать на неё. Это означает, что каждый, кто хочет получить эту работу, будет активно искать пути, чтобы отобрать поддержку у действующих делегатов. Они могут осуществить это путём выполнения статистического анализа поведения действующих делегатов, чтобы найти любое отклонение от стандартных алгоритмов. Как только недочёт будет обнаружен, соискатель может справедливо рассчитывать на получение нескольких дополнительных голосов.

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

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

6.0 Выводы

Процесс применения протокола DPOS, в сочетании с TaPOS, образует систему, которая в три или более раз превосходит системы Bitcoin, Peercoin и Nxt, в плане обеспечения доказанного общественного соглашения. Система под протоколом DPOS способна достигать такого консенсуса быстрее, устраняя возможность мелких нарушений со стороны случайных миноритарных акционеров. Экономические стимулы гарантируют, что делегаты будут работать, доказывая своё соответствие занимаемой должности, и, скорее всего, примут алгоритм консенсуса, похожий на используемый Ripple. DPOS является, по сути, средством для получения уникального списка узлов для Ripple, но в децентрализованном порядке, без опасности раскола сети.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!