Что такое Proof of Work, и зачем в Bitcoin происходит деление

Гайды00
preview

Очередное т. н. «деление» в сети Bitcoin ожидается во вторник 12 мая текущего года, когда будет добыт очередной 210-тысячный блок. В результате этого события вознаграждение майнеров будет уменьшено в два раза – с 12,5 ВТС до 6,25 ВТС.

Механизм достижения консенсуса, который используется в сети Bitcoin, носит название Proof of Work (доказательство работы, PoW). Он определяет, как майнеры (узлы сети) проверяют информацию и формируют на блокчейне новые блоки, в награду получая новосозданные биткоины. Размер такого вознаграждения уменьшается вдвое через каждые 210 тысяч «добытых» блоков – это приблизительно раз в четыре года. Очередное деление ожидается уже в ближайшее время. После этого майнерам, чтобы получать такой же доход, придется с удвоенной энергией доказывать, что они работали.

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

Идея, на которой построен Bitcoin

Proof of Work был первым и пока что – наиболее распространенным механизмом поиска консенсуса в криптовалютной сети. Это своеобразная ДНК блокчейна, состоящая из 32-битных фрагментов данных и позволяющая проверять правдивость информации, хранящейся в каждом блоке. Эти 32- битные данные – т. н. nonce – представляют собой одноразовые случайные числа, которые отличаются очень трудоемким процессом генерирования, но очень простой возможностью проверки.

Впервые данная идея была предложена еще в 1993 году преподавателем Гарвардского университета Синтией Дуорк и сотрудником Израильского научного института Вайцмана Мони Наором. Разработанный изначально для борьбы со спамом и DDoS-атаками, протокол PoW получил широкую известность после появления Bitcoin.

Как подтверждаются транзакции?

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

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

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

Устранение посредников

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

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

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

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

Насколько сложно подобрать нужное значение?

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

Вероятность угадать такое число равна ½ в тридцатой степени, то есть один шанс на миллиард.

Поиск nonce требует много времени и больших вычислительных мощностей. И если кто-то его найдет, это будет доказательством того, что он такую работу проделал, – отсюда и название протокола.

Когда число nonce найдено, другие участники сети могут применить к нему хэш SHA256 и мгновенно определить правильность решения.

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

Если бы какой-то злоумышленник вознамерился изменить данные, хранящиеся на блокчейне, ему потребовалось бы завладеть более чем 50% всех вычислительных мощностей сети, чтобы получать значения nonce быстрее других.

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

Стимулы в Proof of Work

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

Для этого предусмотрено вознаграждение майнера.

В сети Bitcoin тот, кто проделал криптографическую работу, достаточную для создания нового блока, получает вознаграждение в биткоинах, тем самым пополняя ресурсы (в виде новых монет) сети – отсюда и название «mining», т. е. добыча.

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

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

Критика Proof of Work

Самую большую угрозу для системы, построенной на протоколе Proof of Work, представляют т. н. атаки 51%. Несмотря на высокую себестоимость добычи, конкуренция среди майнеров очень высокая, поэтому многие из них объединяются в пулы – группы майнеров. При совместной работе их шансы подобрать правильное число и получить вознаграждение повышаются. Теоретически, какая-то из таких групп может аккумулировать более 51% вычислительных мощностей сети. Такой крупный и мощный участник смог бы сам определять, какая информация на блокчейне является правдивой, а какая – ложной.

Атаки 51% имели место на практике. Так, в январе 2019 года было выявлено 15 случаев вмешательства в блокчейн Ethereum Classic (ETC). 12 из них были связаны с двойным расходованием средств на общую сумму свыше 219 000 ETC (на тот момент – около $1,1 млн). Выявив этот факт, биржа Coinbase тогда приостановила все сделки с этой криптовалютой, благодаря чему счета пользователей, открытые на ней, не пострадали.

Атаки 51% также ранее использовались для защиты от злоумышленников. В середине 2020 года майнинговые пулы Bitcoin Cash – BTC.com и BTC.top – совместными усилиями провели атаку 51% на эту сеть, чтобы отменить неправомерные транзакции, совершенные неизвестным майнером.

В начале текущего года злоумышленники предприняли две атаки 51% на сеть Bitcoin Gold, в результате чего им удалось организовать двойное расходование средств на общую сумму 72 000$. В той же сети аналогичное событие имело место и в 2018 году – тогда ущерб оценили в 18 миллионов долларов.

Еще одним основанием для критики протокола PoW является огромное энергопотребление. По оценкам экспертов, на майнинг биткоинов ежегодно расходуется около 83 кВт-ч электроэнергии. С таким показателем Bitcoin мог бы занять 35-ю строчку в рейтинге стран – потребителей электроэнергии, расположившись между Финляндией и Пакистаном.

Учитывая перечисленные выше недостатки протокола PoW, было предложено несколько альтернативных решений поиска консенсуса. Среди них – DPOS (делегированное доказательство ставки) и FBA (федеративное византийское соглашение). Наибольшее распространение получил протокол PoS (доказательство ставки), при котором возможности подтверждения зависят от размера ставки (зафиксированных средств) пользователя в сети. Такой подход позволяет решить некоторые проблемы, присущие PoW, но создает и ряд собственных трудностей.

Источник: https://forkast.news

Комментарии