Как заработать на криптовалютах и блокчейне. Объясняем на пальцах - страница 14



Существуют и более редкие виды консенсуса.

Delegated-Proof-of-Stake – «делегированное доказательство доли» – похож на Proof-of-Stake только названием. Важное отличие заключается в том, что все владельцы токенов могут выбрать представителя своих интересов внутри этого блокчейна. Фактически выбирается несколько нод от 21 до 100, которые проверяют блоки. Если выбранная нода работает плохо: добавляет невалидные транзакции, пропускает блоки, не обрабатывает транзакции, – то она будет удалена из списка майнеров и переизбрана. Этот алгоритм используют EOS, Steemit, BitShares. За счет объединения майнеров он позволяет существенно увеличить скорость проверки транзакций, а значит, и пропускную способность блокчейна. Например, EOS использует этот механизм для масштабирования до миллиона транзакций в секунду.

Proof-of-Activiti – доказательство активности. В таком блокчейне есть несколько нод-админов, которые проверяют транзакции и выдают результат всем остальным. Остальные просто копируют то, что проверили админы. Этот алгоритм носит очень централизованный характер: чтобы стать админом такой сети, нужно пройти проверку и подтверждение от уже действующих админов. Этот алгоритм чаще всего используется в непубличных закрытых блокчейнах, которые работают в замкнутом сообществе либо в компаниях. Примером такого блокчейна является Kovan. Kovan – это тестовый блокчейн для программистов, которые разрабатывают проекты на Ethereum. В Kovan существуют несколько администраторов, которые проверяют транзакции участников и бесплатно выдают токены, которые нужны участникам для проведения тестов.

Итак, при помощи консенсуса определяется, какой блок с транзакциями будет добавлен в блокчейн и какой майнер получит за это вознаграждение.


Блоки внутри блокчейна

А теперь давайте наконец-то разберемся, что такое блок и как он устроен?

Майнер собирает проверенные транзакции в блок, добавляет блоку заголовок (идентификатор) и подпись – это хэш блока. В разных блокчейнах структура блока и его отдельных частей может различаться. Например, в блоках биткойна есть еще место для тех самых дополнительных данных, которые майнеры могут менять, добиваясь нужного хэша. Общий принцип везде одинаковый: заголовок, транзакции, подпись.


Рис. 3. Структура блока


Сколько транзакций помещается в одном блоке, зависит от блокчейна, так как максимальный размер блока жестко запрограммирован. Например, в Bitcoin максимальный размер блока – 1 Мб. Из-за этого в биткойн-сообществе периодически появляются идеи, как можно увеличить размер блока. Во втором полугодии 2017 г. активно обсуждалась идея, как можно использовать место, зарезервированное в блоке для служебной информации, под транзакции, тем самым увеличив емкость блока практически в два раза.


Цепочки блоков

Из проверенных блоков формируется цепочка, в которой каждый новый блок ссылается на предыдущие.


Рис. 4. Цепочка блоков


Для блока № 1 формируется хэш из содержимого его транзакций. В хэш блока № 2 включены транзакции из этого блока + хэш блока № 1. В хэш блока № 3 кроме его транзакций попадет хэш блока № 2. Таким образом формируется цепочка. Если удалить какой-то из блоков или подменить транзакции внутри него, то изменятся хэши и такой блок выпадет из цепочки.

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