Можно ли сделать доказательство схемы работы где вы можете доказать, сколько итераций вы сделали без (верификатор) Переделка всего расчета?
Да, с рядом условий.
Во-первых, нам нужно "итерации" которые могут выполняться параллельно:
Например.
для я в 0..10: выход [I] = пау (я)
вместо:
выход [I] = пау (выход [I-1])
Учитывая, что, говорят, что мы собираемся сделать 65536 итераций.
ибо я 0..65535:
выход [I] = пау (я)
Теперь организовать output_i в Створки полностью заселенной бинарного дерева. Она будет иметь глубину 16 уровней для 65536 итераций. На каждом узле в дереве хэш своих детей ... так же, как сделка хэш-дерево в Bitcoin.
Возьмите первые ~ 128 бит корневой хэш и использовать в качестве индексов, чтобы выбрать восемь уникальных итерационные выходов.
Собирать эти выходные вместе с фрагментами дерева, которые соединяют их с корнем.
Подтверждением работы является восемь решений и соединительные фрагменты дерева. Это свидетельствует о высокой вероятности того, что вся работа была фактически done- атакующему, только сделал восемь итераций затем искала случайную величину, указанную его 8 должен был бы сделать 2 ^ 128 работы. Вы можете вертеть номера для компромисса пропускной способности / безопасности.
Это называется неинтерактивными вырезать и выбрать, и это часто используется в различных видах нулевого доказательства знаний.
Если вы специально желая _serial_ доказательство работы- то нет, один не может быть построен. Если вы не сделаете все работают на одной и той же задачи (и тогда его раса, которая _bad_) каждый может использовать рандомизации для преобразования произвольно серийный военнопленного в полностью параллельную.