Консенсус в системах Blockchain

отметили
3
человека
в архиве

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

О разрушительной технологии

Технологии Blockchain разнообразны и к ним можно подходить с разных точек зрения. Ради этой статьи можно описать, что Блокчейн это общественная, децентрализованная база данных, которая хранит публичные записи. Более того, после добавления в базу данных запись не может быть изменена, и очень сложно фальсифицировать записи. Эта последняя функция называется персистентностью. Когда необходимо обновить запись в базе данных (блок-цепочке), новая запись должна быть добавлена ​​к существующей информации. Наконец, каждая из записей может быть просмотрена любым членом общественности, позволяя любому человеку индивидуально проверять подлинность каждой транзакции, записанной для любой отдельной записи в базе данных.

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

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

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

Виды консенсусов

Существует очень много методов нахождения консенсуса в блочной цепочке. Обо всех них читайте в этой статье. Сейчас же мы рассмотрим четыре основних метода: практический алгоритм византийской отказоустойчивости (PBFT), алгоритм проверки работоспособности (PoW), алгоритм доказательство владения доли (PoS) и делегированный алгоритм доказательства владения доли (DPoS).

Алгоритм практической византийской отказоустойчивости

PBFT был разработан как решение проблемы, представленной в виде аллегории:

Представьте себе, что несколько дивизий византийской армии располагаются лагерем вне вражеского города, каждая дивизия подчиняется своему генералу. Генералы могут общаться друг с другом только через посланника. Наблюдая за врагом, они должны принять решение об общем плане действий. Однако некоторые из генералов могут быть предателями, пытаясь помешать лояльным генералам достичь согласия. Генералы должны принять решение о том, когда нужно атаковать город, но им нужно сильное большинство своей армии, чтобы атаковать одновременно. У генералов должен быть алгоритм, гарантирующий, что (а) все лояльные генералы решают один и тот же план действий, и (б) небольшое количество предателей не может заставить лояльных генералов принять плохой план. Лояльные генералы будут делать то, что алгоритм говорит, что нужно, но предатели могут делать все, что пожелают. Алгоритм должен гарантировать условие (а) независимо от того, что делают предатели. Лояльные генералы должны не только достичь согласия, но и договориться о разумном плане.

Чтобы прояснить аллегорию для наших целей: «генералы» в истории — это стороны, участвующие в распределенной сети, в которой работает блок-цепочка. Посыльные, отправляемые туда и обратно, являются средством связи по сети, на которой работает блок-цепь. Коллективная цель «лояльных генералов» заключается в том, чтобы решить, принимать ли какую-либо информацию, представленную блочной цепи, как действительную или нет. Действительная часть информации была бы в нашей аллегории правильной возможностью принять решение в пользу нападения. Лояльные генералы, в свою очередь, являются верными участниками Блокчейна, которые заинтересованы в обеспечении целостности базы данных и, следовательно, обеспечении приемлемости только правильной информации. С другой стороны, генералами-предателями, будет любая сторона, стремящаяся фальсифицировать информацию о блочной цепи. Их потенциальные мотивы — мириады — это может быть человек, желающий потратить Bitcoin, которого он фактически не имеет; или другой человек, который хочет нарушить контрактные обязательства, предусмотренные в интеллектуальном контракте, который он уже подписал и представил.

Различные компьютерные ученые наметили ряд возможных решений проблемы византийских генералов из аллегории. Практичный византийский алгоритм отказоустойчивости (PBFT), который используется для установления консенсуса в блочных цепях, является лишь одним из этих потенциальных решений. Три примера криптовалют, которые полагаются на PBFT — Hyperledger, Stellar и Ripple.

Доказательство работы

Наиболее известным методом достижения консенсуса по блочной цепи является схема PoW, которая используется в криптовалюте Bitcoin. В отличие от решения в PBFT, PoW не требует, чтобы все стороны в сети (все узлы) отправляли свои индивидуальные выводы для достижения консенсуса. Скорее, PoW — это система, которая использует «хэш-функцию» для создания условий, при которых одному участнику разрешается объявлять свои выводы о представленной информации, и эти выводы могут быть независимо проверены всеми другими участниками системы. Ложные выводы предотвращаются параметрами хеш-функции, которые гарантируют, что ложная информация не сможет вычислить приемлемым образом. В системе Bitcoin, участник, который публично подтвердил информацию от имени сети, в свою очередь вознаграждается за свое участие биткойнами. Поэтому этот процесс поиска действительных «хэшей» (решений хэш-функции, созданной вводом сообщения) известен как «добыча». Интенсификация участия в сети обеспечивает широкое участие, что, в свою очередь, обеспечивает более надежную сеть и безопасную базу данных.

Доказательство владения доли

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

Сеть выбирает человека для утверждения новых сообщений (то есть подтверждения достоверности новой информации, передаваемой в базу данных) на основе их пропорциональной доли в сети. Другими словами, вместо того, чтобы любой человек пытался вычислить значение, чтобы быть выбранным для установления точки консенсуса, сама сеть запускает лотерею, чтобы решить, кто объявит результаты, и участники системы будут исключительно и автоматически введены в эту лотерею прямо пропорционально их общей доле в сети. Как и в системе PoW от Bitcoin, система PoS, управляемая такими криптовалютами, как Peercoin, также является стимулом для участия, что обеспечивает максимально возможное сетевое участие и, следовательно, наиболее надежную сетевую безопасность. В системе Peercoin выбранная сторона вознаграждается новыми монетами в процессе, называемом «чеканка».

Однако эта система, вознаграждает тех, кто уже наиболее глубоко вовлечен в сеть, по своей сути создает все более централизованную систему. Это враждебно по отношению к действительно надежной сети. Поэтому сторонники систем PoS выдвинули ряд различных модификаций, чтобы обеспечить возможность, дабы база для их сетей оставалась такой же широкой (и, следовательно, безопасной), насколько это возможно.

Делегированный алгоритм доказательства владения доли

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

Итак, представьте себе, каждый человек решает, могут ли сущности 1, 2 или 3 «представлять» свою индивидуальную долю в системе. Это позволяет людям с меньшими ставками объединиться, чтобы увеличить свое представительство, тем самым создав механизм, позволяющий сбалансировать силу крупных держателей акций. Это происходит за счет, однако, большей централизации сети. Bitshares — это одна из компаний, в которой используется система DPoS.

Выводы

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

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

Добавил Guland Guland 22 Октября 2018
проблема (15)
Комментарии участников:
Ни одного комментария пока не добавлено


Войдите или станьте участником, чтобы комментировать