Разбираемся в технологии 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.
BTW the way progpow was ninja-reapproved definitely did *not* help make people trust the governance or feel safe, and arguably drove the Twitterati to believe that they have to send loud, simple and clear messages (ie. more such Schelling fences) to get their voice heard.
— vitalik.eth (@VitalikButerin) February 24, 2020
27 февраля 2020 года целый ряд известных представителей сообщества Ethereum подписал петицию с призывом отказаться от активации ProgPoW. Они считают данное предложение поспешным, а в потенциале даже способным привести к расколу сети.
По их словам, необходимой поддержки для принятия ProgPoW в настоящий момент нет.
Однако Ethereum-разработчик Джеймс Хэнкок убежден, что раскол маловероятен. Более того, он считает, что ProgPoW – одно из «наиболее готовых» к активации предложений. С ним солидарен Мартин Свенде из Ethereum Foundation, также настаивающий на целесообразности активации.
По мнению Кристи Ли-Минэхэн и Виталика Бутерина , причиной серьезных противоречий, возникших в сообществе в связи с новым алгоритмом, служит «недостаток коммуникации».
Выявленная 4 марта 2020 года уязвимость в ProgPoW запустила новый виток дискуссии.
К настоящему времени пользователи Ethereum, похоже, устали от дискуссий, ведущихся несколько лет. Виталик Бутерин заявил, что его «устроит любое решение».
- Подписывайтесь на новости Cryptoit в Facebook !