Подходит ли equihash/scrypt для майнинга в пуле?

Схема PoW с «последовательной памятью» не может быть эффективно распараллелена, поэтому я полагаю, что вы также не можете распределить решение головоломки между участниками в пуле? Как это работает со scrypt — например, как работают майнинг-пулы litecoin?

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

Для эквихэша я считаю, что нет «частичного» решения, либо вы найдете входные данные, которые xor равны нулю, либо нет. Что мне не хватает?

Существуют ли уже пулы для майнинга Zcash? Как они обеспечивают «справедливость»?

Первую часть моего вопроса, вероятно, можно объяснить: один расчет скрипта трудно ускорить с помощью нескольких потоков, но вы всегда можете сделать несколько из них (с разными одноразовыми номерами). Каждому из них по-прежнему требуется много памяти. Таким образом, в основном несколько человек вычисляют совершенно разные вызовы скриптов. Что касается второго, я, вероятно, не понимаю, как zcash использует эквихеш, и я был бы рад, если бы кто-нибудь объяснил это.

Ответы (2)

Я нашел https://minezcash.com/zcash-mining-pool/ , так что, по-видимому, уже существует довольно много пулов майнинга Zcash.

Что касается вопроса о сложности, я сейчас просматриваю https://github.com/str4d/zcash-pow/blob/master/pow.py . Что меня раздражает, так это то, что, по-видимому, все еще существует вычисление SHA256.

Я должен был прочитать газету Equihash .

По сути, PoW по-прежнему представляет собой один большой цикл, проходящий через 160-битный одноразовый номер, но в его теле есть решение обобщенной проблемы дня рождения с использованием алгоритма Вагнера.

Параметры генерируются псевдослучайно (с использованием хеш-функции на основе предыдущего блока и одноразового номера), и в конце решение снова хешируется, и количество начальных нулевых битов (этого решения) определяет сложность. Я думаю, именно поэтому zcashd сообщает о решениях/ах, а не о хэшах/ах, поскольку одно решение — это одна попытка другого одноразового номера (и вам нужно их много, чтобы вам повезло).

Криптографические односторонние хеш-функции SHA256 и Blake2B все еще используются (раньше я думал, что это не так), но скорость их вычисления больше не доминирует над скоростью майнинга.