Что такое ProgPoW?

Что такое ProgPoW?

Каково назначение ProgPoW?

Алгоритм ProgPoW призван повысить эффективность майнинга с помощью CPU/GPU и увеличить его преимущества в конкурентной борьбе с майнингом на ASIC-устройствах.

Распространение ASIC-устройств потенциально грозит:

  • падением доходов владельцев CPU/GPU и снижением их мотивации поддерживать работу сети;
  • манипулированием протоколом со стороны крупных майнеров;
  • централизацией майнинга.

С возникновением и распространением ASIC-устройств разработчики стали создавать новые итерации первоначального алгоритма PoW («доказательства выполнения работы»), предназначенные быть «ASIC-устойчивыми».

Создание алгоритма, защищенного от оборудования с выбранными оптимальными характеристиками, всегда было сложной задачей. Алгоритм Ethash, используемый в майнинге Ethereum, также разрабатывался как ASIC-устойчивый, однако оказался неэффективным.

Кто, когда и как разработал ProgPoW?

ProgPoW создали в 2018 году члены группы разработчиков ifdefelse: Miss If (Кристи Ли-Минэхэн, a.k.a OhGodAGirl), Mr. Else (a.k.a RadixPi) и Mr. Def.

Толчком к разработке ProgPoW послужили обсуждения ASIC-устойчивости в Интернете в марте 2018 года. Разработчик Ethereum под ником Pipermerriam опубликовал EIP958 (Ethereum Improvement Proposal, «предложение по улучшению эфириума»), призванное сделать Ethash ASIC-устойчивым.

Процесс разработки ускорило начало продаж Antminer E3, ASIC-майнера, работающего с алгоритмом Ethash. Хотя впоследствии стало ясно, что Antminer E3 — достаточно «сырое» устройство, в среде пользователей начали нарастать критические настроения по отношению к ASIC-устойчивости.

В апреле 2018 года разработчик Ethereum Влад Замфир провел опрос «Поддержите ли вы хардфорк, который сделает ASIC-майнеры неэффективными». 57% респондентов высказались в пользу хардфорка.

Примерно в то же время в рамках EIP 969 было предложено изменить Ethash.

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

Технические особенности ProgPoW

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

ProgPoW делает непостоянным условие задачи для майнинга — ASIC-майнер способен выполнять лишь одну конкретную задачу, на что указывает само его название, «специализированная интегральная схема», и потому недостаточно гибок для работы с ProgPoW. В отличие от ASIC, GPU способна быстро адаптироваться к постоянному изменению условий задачи для майнинга. Применение ProgPoW позволяет GPU достигать показателей производительности, сравнимых с таковыми у ASIC.

Критика в адрес ProgPoW и текущее состояние

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

В сентябре 2018 года компания Linzhi Mining анонсировала выпуск эффективного ASIC-устройства для Ethash. Компания заняла крайне враждебную позицию в отношении ProgPoW и даже утверждала, что способна разработать ASIC для ProgPoW. Появились слухи о том, что ProgPoW создали два главных производителя GPU — AMD и Nvidia.

В начале 2019 года началось голосование пользователей Ethereum по вопросу ProgPoW. К апрелю 2019 года 93% респондентов, контролирующих 2,93 млн ETH, поддержали ProgPoW. Команда разработчиков Ethereum несколько раз соглашалась с их мнением, а затем меняла позицию. В конце концов, было принято решение имплементировать ProgPoW с тем условием, что новый алгоритм пройдет аудиты. Аудиты прошли успешно, и в январе разработчики предварительно пришли к согласию касательно предложения ProgPoW (EIP-1057).

21 февраля 2020 года разработчики договорились, что активация кода ориентировочно состоится в июле.

24 февраля Виталик Бутерин выразил недоумение в связи с тем, что ProgPoW, одно время задвинутый на полку до лучших времен, снова появился на повестке дня и даже рассматривается для включения в следующий хардфорк Ethereum.

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

Однако Ethereum-разработчик Джеймс Хэнкок убежден, что раскол маловероятен. Более того, он считает, что ProgPoW – одно из «наиболее готовых» к активации предложений. С ним солидарен Мартин Свенде из Ethereum Foundation, также настаивающий на целесообразности активации.

По мнению Кристи Ли-Минэхэн и Виталика Бутерина, причиной серьезных противоречий, возникших в сообществе в связи с новым алгоритмом, служит «недостаток коммуникации».

Выявленная 4 марта 2020 года уязвимость в ProgPoW запустила новый виток дискуссии.

К настоящему времени пользователи Ethereum, похоже, устали от дискуссий, ведущихся несколько лет. Виталик Бутерин заявил, что его «устроит любое решение».

Источник: forklog.com



Самые актуальные новости - в Telegram-канале

Читайте также

Вверх