2004 год. Гарольд Финни представляет алгоритм многоразового доказательства работы

Получайте компенсацию до 100% от спреда/комиссии, взимаемых Вашим брокером, торгуя через Международное объединение Форекс трейдеров (МОФТ).

Важность получения доказательства проделанной работы, или Proof-of- Work, уже обсуждалась выше. В 1997 году Адам Бэк запустил проект Hashcash, изначально создававшийся для защиты от спама. Задача формулировалась следующим образом: «Найти такое значение х, что хеш SHA (х) содержал бы N старших нулевых бит». Однако в полной мере Hashcash не удовлетворял выдвигаемым требованиям. Затем в 1999 году появляется сам термин Proof-of-Work – он был использован в статье «Proofs of Work and Bread Pudding Protocols» Маркуса Якобссона и Ари Джуелса в журнале Communications and Multimedia Security.

В алгоритме Hashcash выполняемая работа сводилась фактически к хэшированию одних и тех же данных – текста электронного письма – с перебираемой частью. Поскольку использовалась стойкая необратимая хэш-функция, то ничего лучше перебора в этом случае не было. Средний объем работы экспоненциально зависел от величины N. Схема была очень проста. Однако к началу нулевых годов стало понятно, что разница между Iow-end и high-end процессорами слишком велика для РоW-задач, чтобы без проблем использовать имевшиеся реализации алгоритма на компьютерах разных классов. Мартин Абади, Майк Бэрроу, Марк Манассе и Тэд Воббер решили отталкиваться не только от мощности процессора, но и активно использовать память ими в статье «Moderately hard, memory- bound functions» ключевые слова – memory-bound, то есть «ограниченные памятью». Алгоритм был первым, который задействовал в вычислениях относительно большие, измерявшиеся в мегабайтах, объемы памяти. Узким местом в таких схемах становилась уже не скорость процессора, а задержка при обмене данных с RAM или сам объем требуемой памяти. Однако эти параметры варьировались в компьютерах того времени в более узких пределах.

И наконец 16 августа 2004 года Хэл Финни в своём опубликованном на форуме криптопанков письме предложил использовать многоразовое доказательство выполнения работы (Reusable-Proofs-of-Work, RPoW, Reusable PoW) для создания уже именно электронной валюты5. Первоначально предложенный Финни термин был RPoW, а не более привычный сейчас PoW, что подчеркивало многоразовость доказательства.

Идея создания повторно используемого POW встречалась еще в 1999 году. Целью Финни для RPoW было создание разменной электронной монеты. Так же, как и стоимость существующих золотых монет подкреплена стоимостью содержащегося в них золота, Финни считал необходимым, чтобы электронные монеты тоже имели под собой какую-то определенную реальную стоимость. В качестве этой реальной стоимости, которую, с точки зрения Финни, должна иметь электронная монета, он вполне осознанно решил использовать компьютерные ресурсы, потраченные на создание этой монеты. То есть присвоение электронной монете маркера RPoW гарантировало всех участников сообщества, что на создание монеты были действительно потрачены необходимые компьютерные мощности. И расходуемые в сегодняшние дни майнерами, добывающими криптовалюты, использующие PoW, сотни мегаватт электричества и ресурсы своих компьютерных ферм – это не насущная необходимость, а следствие того, что алгоритм был изначально сознательно усложнен.

В RPoW версии Гарольда Финни маркер PoW является частью HashCash, дополняя его. Требование от пользователей наличия маркера PoW в сервисах, в которых используется многоразовое доказательство работы, препятствует необдуманному или чрезмерному использование сервиса, что могло бы сильно загрузить лежащие в основе ресурсов службы, такие, как полоса пропускания в интернет, дисковое пространство, электричество или административные накладные расходы.

Система RPoW Финни отличается от системы PoW запретом случайного обмена монетами без повторения работы, необходимой для их генерации. После того, как кто-то «потратил» маркер PoW в сервисе, сервис может обменять «потраченный» маркер PoW на новый, неизрасходованный знак RPoW, который затем может быть потрачен на каком-то стороннем сервисе, также способном принимать RPoW. Это позволяет экономить ресурсы, необходимые для «чеканки» маркеров PoW. С тех пор, как под лицензией BSD был опубликован исходный код для RPoW Финни, любой грамотный программист мог, путем проверки кода, убедится в том, что программным обеспечением и, как следствие, сервером RPoW, никогда не выдается новый маркер, кроме случаев обмена на потраченный знак равной ценности. До 2009 года система Финни была единственной реализованной системой RPoW.

Хотя на момент создания алгоритм RPoW многоразового доказательства произведенной работы, предложенный Финни, всех устраивал, нельзя не сказать, что впоследствии у него не были выявлены определенные недостатки. Кроме потенциальных проблем с безопасностью это, прежде всего, то, что вероятность успешного создания следующего блока майнером прямо пропорциональна вычислительным мощностям, которыми он обладает. Что приводит к постоянному наращиванию количества и качества оборудования каждого участника сети. Таким образом, майнинг с применением PoW/RPoW алгоритмов требует чрезвычайно много электроэнергии и чрезвычайно много компьютерных мощностей. Из-за этого PoW подход является не самым лучшим решением с точки зрения энергоэффективности. Корме того, результаты вычисления хэш-функций нигде, кроме как в самой сети, не используются. С момента появления технологии PoW сообщество пыталось придумать способ направить все вычислительные ресурсы сети, затрачиваемые в процессе майнинга, на решение какой-либо полезной математической или промышленной задачи, но в чистом виде это реализовать не удалось. Сомнительное философское утверждение о некоторой реальной стоимости, которая должна быть заложена в каждую электронную монету, вызывает определенный скепсис.

Как бы то ни было, в 2004 году алгоритм Финни появился на свет и стал тем самым последним элементом, которого не хватало для создания первой полноценной криптовалюты. И именно использование этого алгоритма привело в 2013 году к тому, что совокупная вычислительная мощность, затрачиваемая на PoW в сети только одной криптовалюты биткойн, обогнала в 256 раз ТОП-500 самых мощных на то время суперкомпьютеров в мире вместе взятых. А в 2017 году на полное оформление только одной транзакции по формированию блока в системе биткойн требовалось затратить в среднем 163 кВт ч электроэнергии. Таким количеством электроэнергии можно в течение пяти с половиной дней полностью обеспечивать нужды семьи, состоящей из трех человек и проживающей в небольшом одноэтажном доме. В 2017 году на майнинг криптовалют в сети биткойн за год ушло энергии больше, чем потребили за год такие государства, как Португалия или Сингапур. Однако к этим достижениям еще только предстояло прийти.

Содержание Далее

Перейти на Главную страницу сайта