Что такое ProgPoW? Почему и зачем алгоритм убьёт ASIC-майнеры и спасёт видеокарты

Содержание1 Проблема ASIC-майнеров2 Что такое ProgPoW3 Кто создал ProgPoW4 Как работает ProgPoW. Технические детали5 Ключевые нововведения ProgPoW6 ProgPoW на практике7 Отношение к ProgPoW8 Критика комьюнити9 Заключение Проблема ASIC-майнеров Для начала немного истории. Майнеры Ethereum и других монет на алгоритме Ethash/Dagger Hashimoto спокойно занимались своих делом с помощью видеокарт.

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

Шутки закончились в апреле 2018 года. Тогда Bitmain официально анонсировалаAntminer E3, который выдавал 180 mh/s при потреблении в 800 Вт. Затем к производству ASIC подключились другие компании.

Казалось бы, что может быть плохого в повышенной результативности майнинга со стороны ASIC-майнеров? Есть три момента:

  1. владельцы GPU-ферм существенно теряют в прибыли и утрачивают интерес в поддержании работы сети;
  2. хешрейт и власть сосредотачиваются в меньшем количестве рук;
  3. создаётся угроза для децентрализации.

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

  1. противостояние возможной централизации сети;
  2. недопущение монополии среди производителей оборудования для майнинга;
  3. возможность строить комьюнити без опасности извне.

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

Проблема ASIC актуальна для всех алгоритмов GPU-майнинга. Как разработчики с ними борются? Путём проведения хардфорков — первыми ASIC устройства из сети исключили программисты Bitcoin Z на алгоритме Equihash. При этом методы отличаются. Например, создатели проектов на том же Equihash начали массово переходить на алгоритм Equihash 144.5, для которого на данный момент нет ASIC. Разработчики Monero делают форки по несколько раз в год, хотя это им не особо помогает.

Зачем тратить большие деньги на создание ASIC-устройства, если через пару месяцев его можно будет разве что выбросить?

ProgPoW — более элегантное решение. Алгоритм не закроет доступ ASIC-майнерам к сети, но сделает их менее эффективными, а скорей всего и вовсе сравняет с GPU. В итоге тратить огромные деньги на небольшое преимущество вряд ли кто-то захочет, поэтому выбором станут старые добрые видеокарты. Разработчики добьются своей цели, GPU-майнеры будут в безопасности. Всё красиво и без крови. А теперь теория.

Что такое ProgPoW

ProgPoW — сокращение словосочетания «Programmatic Proof Of Work». Он является дополнением к нынешнему алгоритму Эфириума Ethash и должен сделать видеокарты более конкурентоспособными и уменьшить централизацию. Справиться с задачей помогут две особенности:

  1. он делает условие задачи для майнинга непостоянным;
  2. ProgPoW задействует все ресурсы видеокарты и её потенциал.

Последнее особенно важно, ведь у ASIC есть большой недостаток. Он даже зафиксирован в аббревиатуре — «application-specific integrated circuit» или «интегральная схема специального назначения». ASIC-майнеры заточены под выполнение одной конкретной задачи.

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

К тому же код нового алгоритма публикуют на GitHub. Всё прозрачно и честно. Для расширения кругозора разберёмся, кто отвечает за код ProgPoW.

Кто создал ProgPoW

За разработку алгоритма отвечает команда IfDefElse. Она состоит из мисс If, мистера Def и мистера Else. Напоминает сюжет «Бешеных псов» Тарантино, но в анонимности есть брешь. Дело в том, что мисс If не скрывает свою личность и является вполне себе публичной, её настоящее имя — Кристи-Лей Минахен. Команда сосредоточена на майнинг-оборудовании и алгоритмах.

К слову, именно они создали таблетку «OHGODANETHLARGEMENTPILL» для разгона видеокарт Nvidia. Подробнее о ней читайте здесь.

Как работает ProgPoW. Технические детали

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

Использование случайной последовательности задач исключает возможность создания фиксированного конвейера — как это происходит с ASIC-майнерами. Другими словами, для работы с ProgPoW нужно быть гибким, а ASIC-устройства этого не умеют.

ProgPoW регулярно меняет условия задачи для майнинга. GPU быстро адаптируются и сокращают разрыв производительности в сравнении с ASIC.

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

К слову, команда IfDefElse сотрудничала с инженерами Nvidia и AMD для гарантии непредвзятости. Представителям обеих компаний идея нравится, ведь защита от ASIC-майнеров делает видеокарты более актуальными. А где актуальность, там и продажи, а с ними у AMD и Nvidia сейчас все не очень радужно.

С ProgPoW лучше работают «зелёные» видеокарты. Читайте — Победа зелёных: алгоритм ProgPoW выгоднее использовать на видеокартах Nvidia.

Ключевые нововведения ProgPoW

С принципом действия разобрались, теперь рассмотрим пять дополнений, которыми ProgPoW отличается от обычного Dagger Hashimoto. Благодаря им работа алгоритма опирается на вычислительные возможности, пропускную способность и объём памяти.

  1. Замена keccak хеш-функцией blake2s. Последняя оптимизирована для 32-битных платформ, что отлично подходит для архитектуры видеокарт. При этом blake2s и blake2b обеспечивают практически тот же уровень безопасности, однако вторая заточена под 64-битные платформы.
  2. Увеличенный микс-стейт. Речь идёт о количестве регистров процессора, в которых можно хранить промежуточные значения. Они существенно быстрее оперативной памяти, поскольку находятся внутри самого процессора. У ASIC-майнеров чипы маленькие, а количество регистров проигрывает показателям графических сопроцессоров. В итоге для работы с этой особенностью асики вынуждены использовать оперативную память. Это в разы медленнее, любые потенциальные преимущества сводятся на нет.
  3. Добавление случайной последовательности вычислений в основной цикл. Фишка делает невозможным создание ASIC-устройства с фиксированным конвейером, что могло бы увеличивать скорость работы или снижать потребление.
  4. Поддержка операций чтения небольших объёмов кэша с маленькой задержкой, который поддерживает случайные адреса. Кэшированное чтение заставляет ASIC следовать правилам иерархии памяти в GPU. Это также ограничивает их возможности и производительность.
  5. Увеличение DRAM со 128 до 256 байт. Рост объёма — помощь для видеокарт. Специализированные ASIC не в состоянии оптимизировать контроллер памяти для небольшого количества обращений ради повышения производительности.

ProgPoW на практике

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

Хешрейты видеокарт на ProgPoW следующие:

  1. AMD Radeon RX 580 — 9,4 MH/s;
  2. AMD Radeon Vega 56 — 16,6 MH/s;
  3. AMD Radeon Vega 64 — 18,7 MH/s;
  4. Nvidia GeForce GTX 1070 Ti — 13,1 MH/s;
  5. Nvidia GeForce GTX 1080 — 14,9 MH/s;
  6. Nvidia GeForce GTX 1080 Ti — 21,8 MH/s.

А теперь сравним эффективность работы ASIC-майнеров на ProgPow:

  1. GPU с GDDR на Ethash — x1;
  2. GPU с GDDR на ProgPoW — x1;
  3. ASIC с GDDR на Ethash — x2;
  4. ASIC с GDDR на ProgPoW — x1,2;
  5. ASIC с HBM на Ethash — x4;
  6. ASIC с HBM на ProgPoW — x1,5.

В итоге преимущество ASIC-майнеров сокращается вплоть до 2,6 раза. С такими результатами владельцы GPU-ферм точно могут не переживать о завтрашнем дне и возможной централизации криптовалютных проектов.

Отношение к ProgPoW

Вопрос внедрения ProgPoW обсуждают с августа 2018 года. Среди разработчиков ETH Core его подняли 4 января. В целом, большинство ведущих программистов согласны с идеей, однако хотят больше времени на тестирование и имплементацию.

Критика комьюнити

Нужно перечислить доводы, которые высказывают противники интеграции ProgPoW. По их мнению, внедрение алгоритма означает следующее:

  • слепое отстаивание интересов Nvidia и AMD;
  • отвлечение от запуска Proof of Stake;
  • перспектива хардфорка Эфириума и разделения сети.

К тому же ASIC-майнеры делают сеть более безопасной, а доказательств централизации майнинга вроде как и нет. Что особенно важно — после активации ProgPoW производители асиков по-прежнему будут создавать секретные разработки и использовать их для добычи монет. Иначе говоря, ситуация якобы не изменится.

Заключение

Идея внедрения ProgPoW кажется отличной. Алгоритм не просто «хладнокровно расправляется с ASIC-майнерами», но и оставляет нишу майнинга демократичной. Порог входа в неё по-прежнему будет низким, поэтому децентрализация не станет пустым звуком. Надеемся, имплементация ProgPoW в сеть Эфириума не затянется так же, как это было с хардфорком Constantinople.