Всем привет! Для тех, кто уже читал мои посты о блокчейне хочу сказать, что рад вас видеть снова на своей странице. Для тех, с кем мы еще не знакомы, меня зовут Валерий, я junior developer в западном стартапе, приятно познакомиться.
Я как-то уже писал о том, что мы собираем свою “Википедию” о технологиях на крипторынке. Сейчас мой фокус внимания смещен на все составляющие блокчейна, я продвигаюсь снизу вверх, чтобы лучше понять, как это все работает. И вот мне в связи с работой постоянно попадались некоторые обозначения, которые мне поначалу казались синонимами.
Речь идет о протоколах или алгоритмах консенсуса, на которых, собственно, и работает блокчейн. Но этим все не ограничивается, с этими протоколами связано немало терминов, объясняющих их работу. Честно говоря, чтобы изучить протоколы и их составляющие, я потратил довольно много времени и прошерстил немало ресурсов. И я подумал, что добру зря пропадать и решил сделать новую публикацию с моим исследованием.
Столпы, на которые опираются блокчейны
Каждый блокчейн основан на протоколе, а учитывая то, что каждый из блокчейнов служит своей цели, то и количество протоколов явно больше одного. Кстати, блокчейн – это не только про криптовалюты, эти «базы данных» используются и в других сферах и только набирают обороты.
У каждого блокчейна есть свой протокол как некий свод правил и действий, направленных на передачу данных. Блокчейн-протокол – это тот же набор правил, благодаря которому обеспечивается безопасность транзакций в сети того или иного блокчейна. Сети блокчейнов функционируют, потому что они децентрализованы. Это означает, что каждый узел в сети должен проверять транзакции. Узел обычно представляет собой компьютер или подобную систему.
В свою очередь существует алгоритм консенсуса – это механизм, который проверяет верность тех или иных правил, то есть он проверяет, что транзакция верна и протокол соблюден. Какими они бывают и чем отличаются между собой? Их на самом деле много, поэтому мы рассмотрим основные и часто распространенные сценарии.
PoW (Proof-of-Work — Доказательство работы)
Proof-of-Work – алгоритм консенсуса биткоина, породивший, можно сказать, новую профессию на рынке, а именно майнер. Смысл как всегда кроется в названии, для участия в транзакции членам сети требуется решить произвольную математическую головоломку по нахождению хэша (hash) и публично доказать проделанную работу, чтобы избежать обмана системы. Первый, кому посчастливилось найти правильное решение, получает возможность добавить блок в цепочку. Бонусом идет не только добавление нового блока, но и возможность получить награду за проделанную работу, это и является основным мотиватором для участия в данном протоколе.
Хеш-функция — функция, осуществляющая преобразование массива входных данных произвольной длины в выходную битовую строку установленной длины, выполняемое определённым алгоритмом. Преобразование, производимое хеш-функцией, называется хешированием. Результат преобразования называется «хешем».
Благодаря доказательству работы операции с биткоинами и другими криптовалютами могут обрабатываться в одноранговой сети безопасным образом без необходимости в третьей стороне. В данном протоколе можно выделить 2 недостатка:
Процесс вычисления хэша требует большого количества энергии, которое только увеличивается по мере того, как к сети подключается все больше майнеров, а значит в нынешнее время уже не отвечает стандартам экологичности.
Участники данного протокола заинтересованы больше в получении выгоды, чем в развитии сети и поддержании справедливости сети, что в будущем может сказаться на безопасности.
PoS (Proof-of-Stake — Доказательство доли)
Proof-of-Stake создан как альтернатива Proof-of-Work и стремится перекрыть его недостатки, например, огромное энергопотребление. Данный механизм уменьшает объем вычислительной работы, необходимой для проверки блоков и транзакций, которые обеспечивают безопасность блокчейна. Вычислительная мощность (проверка блоков) заменяется стейкингом, в результате чего способность майнинга человека рандомизируется сетью. Владельцы предлагают свои монеты в качестве залога за возможность проверки блоков и становятся «валидаторами». Валидатор проверяет правильность транзакций в блоке. Если все сделано правильно, они добавляет блок к цепочке блоков и получают награду за свой вклад. Однако, если валидатор предлагает добавить заведомо неверный блок, он теряет часть своих стейкинговых активов в качестве штрафа. Примеры использования – NXT, Tezos, Peercoin, Blackcoin.
Стейкинг — это процесс блокировки криптовалютных активов для получения вознаграждения или процентов.
Эти два протокола несомненно очень похожи, ведь их главная цель это добавление новых блоков в блокчейн, но можно выделить ключевое различие:
Proof of Work (POW) использует метод конкурентной проверки для подтверждения транзакций и добавления новых блоков в блокчейн.
Proof of Stake (POS) использует случайно выбранных участников сети для проверки транзакций.
DPoS (Delegated Proof-of-Stake — Делегированное доказательство доли)
Delegated Proof-of-Stake схож по работе с PoS, за исключением того, что он включает в себя механизм голосования и делегирования, чтобы стимулировать пользователей защищать сеть и проверять блоки с помощью монет, оставленных в качестве залога. Благодаря данному залогу пользователи могут участвовать в голосовании, где выбирают делегатов, которые будут ответственны за все аспекты проведения транзакций. Когда делегаты наконец избраны, важно, чтобы они смогли договориться о том, какие транзакции следует отклонить, а какие — одобрить. Применяется в Cosmos, Tron, EOS.
Делегаты — это пользователи в системе DPoS, которые контролируют управление в блокчейне. За делегатов голосуют другие пользователи. Делегат может предложить изменить размер отдельного блока или изменить количество свидетелей, которым платят за проверку блоков. Когда изменения предлагаются делегатом, пользователи блокчейна голосуют за принятие этих изменений.
Валидаторы — это узлы, которые могут проверять, что блоки, созданные разными свидетелями, соответствуют правилам консенсуса. Если пользователь становится валидатором блоков, все, что от него требуется, — это запустить валидатор и проверить сеть.
Свидетели — пользователи, которые несут ответственность за безопасность и проверку блокчейна. Чтобы стать свидетелем, пользователь должен получить достаточное количество голосов. Общее количество свидетелей на одном сервере может варьироваться от 21 до 101. Несмотря на то, что свидетель может удерживать определенные транзакции вне блока, он не может изменить информацию о транзакции. Среди свидетелей очень большая конкуренция, если свидетель теряет доверие пользователей, его место занимает другой.
Данный протокол отличается особой надежностью. Алгоритмы консенсуса лежат в основе каждой сети блокчейнов. Использование правильного алгоритма обеспечивает быструю и безопасную проверку транзакций, наряду с меньшим потреблением энергии, чем системы PoW, DPoS также требует меньше времени, чем системы PoS. Плюс участники данной сети очень мотивированы тем, что сеть хорошо платит за исполнение своих обязанностей.
Заключение
Благодаря конкуренции риск мошенничества минимален, так как все пользователи заинтересованы в работе своей сети, а также, естественно, хотят занять лучшее в системе, поэтому “прогнивший винтик” сразу убирается. Все в нем выглядит очень естественно, прям так как и должно быть в жизни. В данном посте я рассмотрел не все существующие протоколы, но решил начать с этого, чтобы не перегружать ни себя, ни читателей. Поэтому в качестве заключения я хотел бы просуммировать полученную информацию в табличке ниже.
Сравнение PoS, PoW, DPoS
PoS | PoW | DPoS | |
Производительность | высокая | низкая | высокая |
Энергозатратность | низкая | высокая | низкая |
Вознаграждение за участие | есть | есть | есть |
Безопасность | высокая | низкая | высокая |
Участие валидаторов | да | нет | да |
Участие с использованием залога | да | нет | да |
Пример использования | NXT, Tezos, Peercoin | Bitcoin, Ethereum, Litecoin | Cosmos, Tron, EOS. |