Оценить:
 Рейтинг: 3.5

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

Год написания книги
2019
Теги
<< 1 ... 3 4 5 6 7
На страницу:
7 из 7
Настройки чтения
Размер шрифта
Высота строк
Поля

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

Консенсус

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

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

Существует несколько видов таких алгоритмов. Внутри биткойна действует алгоритм «доказательство работы» (Proof-of-Work, PoW). Награду за блок получает тот, кто больше всех работал.

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

Основными недостатками Proof-of-Work являются его скорость и высокая энергозатратность. Майнинг по этому алгоритму потребляет достаточно большое количество электроэнергии, а процесс перебора хэшей занимает много времени, что ограничивает пропускную способность блокчейна.

Другой вид консенсуса, который обычно противопоставляют Proof-of-Work, это Proof-of-Stake – «доказательство доли (состояния)». В этой системе если два майнера одновременно добавят в блокчейн новые блоки, будет принят блок того майнера у которого уже есть больше токенов этого блокчейна. Авторы этого алгоритма рассуждают очень просто: если у меня уже есть 100 500 миллионов токенов в этом блокчейне, буду ли я делать что-нибудь, что может повредить этому блокчейну и лишить меня моих токенов? Если я разумный человек, то, конечно же, нет.

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

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

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

Есть два основных недостатка:

1) недоброжелатель блокчейна с PoS-консенсусом может купить на бирже достаточное количество токенов и начать влиять на данные внутри блокчейна, собирая в блоки невалидные транзакции и передавая их в блокчейн;

2) этот консенсус не выглядит справедливым: в нем богатые становятся богаче, а бедные – беднее, изменить этот расклад можно, только увеличив свое богатство.

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

На сегодняшний день команда разработчиков Ethereum, одного из самых популярных блокчейнов, работает над внедрением алгоритма Casper – это улучшенная версия Proof-of-Stake. Внедрение этого алгоритма позволит существенно увеличить количество транзакций, которые сможет обрабатывать Ethereum.

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

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. Таким образом формируется цепочка. Если удалить какой-то из блоков или подменить транзакции внутри него, то изменятся хэши и такой блок выпадет из цепочки.

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

Конкуренция цепочек

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

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

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

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

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

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

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

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

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

Давайте соберем в одну картинку, как же работает блокчейн.

Рис. 5

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

добавляет новый блок, все ноды сохраняют у себя информацию об этом блоке и платеж считается проведенным. Это вкратце общая схема работы. Если вас интересуют подробности, то можно посмотреть запись одного из докладов, посвященного устройству блокчейна: http://bit.ly/2vwSnqP (http://bit.ly/2vwSnqP)

Пока в примерах мы старались по возможности рассказывать только про биткойн, но криптовалют намного, намного больше. Можно сказать, что криптовалюты делятся на две группы: биткойн и все остальные. Все криптовалюты, кроме биткойна, называют одним общим термином – altcoins, alternative coins,


Вы ознакомились с фрагментом книги.
Приобретайте полный текст книги у нашего партнера:
<< 1 ... 3 4 5 6 7
На страницу:
7 из 7