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

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

Доказательство работы описывает систему, которая требует немалых, но выполнимых усилий для предотвращения легкомысленного или злонамеренного использования вычислительной мощности, такого как рассылка спама по электронной почте или запуск атак типа «отказ в обслуживании». Эта концепция была адаптирована к деньгам Хэлом Финни в 2004 году с помощью идеи «многоразового доказательства работы». После своего появления в 2009 году биткойн стал первым широко распространенным применением идеи Финни (Финни также был получателем первой биткойн-транзакции). Доказательство работы также лежит в основе многих других криптовалют .

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

Это объяснение будет сосредоточено на доказательстве работы, поскольку оно функционирует в сети биткойнов . Биткойн – это цифровая валюта, в основе которой лежит своего рода распределенная бухгалтерская книга, известная как « цепочка блоков ». Этот реестр содержит записи всех транзакций биткойнов, организованных в последовательные «блоки», так что ни одному пользователю не разрешается тратить свои активы дважды. Во избежание подделки реестр является публичным или «распределенным»; измененная версия будет быстро отклонена другими пользователями.

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

Генерация любого хэша для набора биткойн-транзакций была бы тривиальной задачей для современного компьютера, поэтому, чтобы превратить процесс в «работу», биткойн-сеть устанавливает определенный уровень «сложности». Этот параметр настроен таким образом, что новый блок « добывается » – добавляется в цепочку блоков путем генерации действительного хэша – примерно каждые 10 минут. Установка сложности достигается путем установления «цели» для хэша : чем ниже цель, тем меньше набор действительных хэшей и тем сложнее его сгенерировать. На практике это означает хэш, который начинается с длинной строки нулей: например, хеш для блока # 429818 равен 000000000000000004dd3426129639082239efd583b5273b1bd75e8d78ff2e8d. Этот блок содержит 2012 транзакций с участием чуть более 1000 биткойнов, а также заголовок предыдущего блока. Если пользователь изменит сумму одной транзакции на 0,0001 биткойн, полученный хэш будет нераспознаваемым, и сеть отклонит мошенничество.

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

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

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