Разбираемся в технологии ProgPoW

Разбираемся в технологии ProgPoW

1

Что такое ProgPoW?

ProgPoW — сокращение от Programmatic Proof-of-Work («программируемое доказательство выполнения работы»), также иногда используется шуточный вариант PorgyPoW (от названия птиц поргов из пятого эпизода фильма «Звездные войны: последние джедаи») — это обновленная версия алгоритма консенсуса Ethash.

2

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

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

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

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

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

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

3

Кто, когда и как разработал 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-устойчивости и тысячи голосов на GitHub привели к началу разработки устойчивого алгоритма.

4

Особенности ProgPoW

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

5

Критика 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, похоже, устали от дискуссий, ведущихся несколько лет. Виталик Бутерин заявил, что его «устроит любое решение».

  • Подписывайтесь на новости Cryptoit в Facebook !
CryptoIt