Рейтинг:10

Доказательство работы, предназначенное для процессоров?

флаг sg

Мое наивное понимание алгоритмов проверки работоспособности состоит в том, что они, по сути, представляют собой задачу типа p=np, где легко проверить решение, но трудно создать решение.

Недавно я прочитал, что некоторые криптовалюты основаны на алгоритмах, устойчивых к ASIC-майнингу — они созданы для работы на графическом процессоре. Это заставило меня задуматься, существует ли алгоритм проверки работоспособности, который можно было бы разработать для работы на процессоре (и, следовательно, использование GPU/ASIC приведет к снижению производительности)?

Мой первый инстинкт был нет, но потом я вспомнил, что мы не используем графические процессоры для основной работы наших компьютеров и, вероятно, на это есть причина. Итак, возможно ли создать алгоритм проверки работоспособности на основе процессора, который не будет транслироваться на GPU или ASIC?

флаг sg
В качестве примечания: я пытался искать похожие вопросы, но я нахожусь в приложении для Android, и это не очень мне помогло! (Я знаю, что это больше не поддерживается)
fgrieu avatar
флаг ng
Я недостаточно уверен, чтобы ответить на этот вопрос, но я думаю, что вы ищете [Argon2] (https://github.com/P-H-C/phc-winner-argon2).
флаг sg
@fgrieu спасибо, это похоже на то, что я ищу. Я буду читать больше, чтобы узнать!
PrincePolka avatar
флаг cn
RandomX работает быстрее на CPU, чем на GPU
ckamath avatar
флаг ag
Также актуальны: [функции, требовательные к памяти] (https://eprint.iacr.org/2014/238) и [функции, требовательные к пропускной способности] (https://eprint.iacr.org/2018/221).
флаг ma
Хотя майнинг на процессорах кажется более эгалитарным, в этой [длинной статье] (https://medium.com/@nic__carter/its-the-settlement-assurances-stupid-5dcd1c3f4e41) утверждается, что майнинг с помощью ASIC может быть полезным. Поскольку ASIC полезны только для конкретной монеты, покупка оборудования — это необратимые затраты, поэтому майнер стремится поддерживать эту монету и потенциально обеспечивать лучшую долгосрочную стабильность.
флаг jp
Не «проблема типа P = NP». Просто «проблема типа NP». Задачи NP трудно решить, но легко проверить. P=NP - это отдельный вопрос. Если P=NP (маловероятно), это означает, что эти проблемы на самом деле легко решить.
marstato avatar
флаг sa
Обратите внимание, что графические процессоры на самом деле являются только ASIC для расчетов трехмерной геометрии (и других вещей, необходимых для растрового рендеринга), а последние поколения добавляют схемы специально для трассировки лучей. С другой стороны, процессоры по определению противоположны. Они должны быть в состоянии выполнять **почти любые** расчеты с **разумной** скоростью. В результате они действительно не являются лучшими ни в чем. Почти для любого алгоритма, который можно придумать, можно также создать специализированные ASIC, которые превзойдут ЦП в этой задаче. Поэтому, как только ваша криптовалюта предлагает большие доходы, кто-то создаст ее.
SEJPM avatar
флаг us
Как указывали другие: вы ищете функции с жесткой памятью и пропускной способностью, которые обычно встречаются в контексте хэширования паролей/получения ключей на основе пароля, которые пытаются сформулировать так, чтобы лучшая аппаратная реализация была достаточно близка к текущему процессору конструкции.
Рейтинг:11
флаг cn
jjj

CryptoNight, функция pow, используемая Monero, является такой функцией. https://monerodocs.org/proof-of-work/cryptonight/ По сути, ему нужно больше случайных обращений к памяти, а память графического процессора для этого не предназначена. Так что узким местом является не вычислительная мощность, а доступ к памяти. ЦП постоянно нуждается в быстром и произвольном доступе к памяти для выполнения программ, поэтому он предназначен для этого. Кроме того, CryptoNight предназначен для отличной работы с размером кэша L3 большинства процессоров для действительно быстрого доступа.

Редактировать: Monero теперь использует RandomX, а не CryptoNight, как мне сказали в комментариях. Принцип использования случайного доступа к памяти остается прежним. Кроме того, инструкции, используемые для расчета, зависят от ввода, что очень плохо для GPU, поскольку ядра могут выполнять только одни и те же инструкции (у них нет отдельных счетчиков программ).

baro77 avatar
флаг gd
просто чтобы указать, что на самом деле Monero больше не использует CryptoNight, вместо этого RandomX
флаг ar
Стоит отметить, что CryptoNight больше не используется Monero, с момента появления ASIC, которые превосходят по производительности CPU — вопреки тому, что ожидалось. Это оказалось чем-то вроде игры в кошки-мышки.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.