pro_co_ru
@pro_co_ru
Старший инженер-программист

Можно ли реализовать такую хеш-функцию, и если да, то какие мысли на этот счёт имеются?

Вопрос, наверное, к людям хорошо разбирающимся в криптографии.
Он относится к теме того, что баланс при децентрализации с использованием proof of work в различных блокчейнах нарушают те, кто имеет больше железа и может пересчитывать большее кол-во хешей в единицу времени.

Например, вот новость недавно попалась по теме этой проблемы.

Грубо говоря, появляется алгоритм хеширования который плохо работает на FPGA, ASIC и GPU, но со временем его оптимизируют, да и разработчики железа не дремлют, подгоняют его так, чтобы утереть нос всем остальным кто использует CPU или просто слабые вычислительные устройства.

Так вот, можно ли создать такую хеш-функцию, при вычислении которой в итеративной схеме будет участвовать несколько специальным образом сформированных участников, чтобы они не могли договориться друг с другом заранее, и при этом им всем нужно было бы выполнить часть итераций вычисляющих общий хеш + подписать вычисленные данные своим приватным ключом, всё это завернуть в общий хеш, и чтобы проверку валидности такого хеша можно было выполнить зная публичные ключи той группы которая которая вычисляла этот хеш совместно?
Таким образом, хешрейт будет сильно зависеть от самого медленного участника группы и скорости обмена данными между ними. Ну и соответственно, награда за подобранный валидный хеш к блоку будет распределяться не участникам пула, а тем кто был сформирован специальным алгоритмом в группу для вычисления этого хеша.

Ну и тогда не будет смысла в содержании мощных ферм, т.к. они попросту будут простаивать из-за самых медленных майнеров, и тогда каждый со своим смартфоном может стать равноправным майнером такой блокчейн сети. И такая децентрализация, мне кажется, должна получиться более сбалансированной.
  • Вопрос задан
  • 191 просмотр
Пригласить эксперта
Ответы на вопрос 3
vesper-bot
@vesper-bot
Любитель файрволлов
Такую сеть никто развивать не захочет имхо, либо разберут алгоритм подбора участников в группу и соберут в одну группу только быстрых, и плакала искусственная балансировка. Создать функцию можно, но применить нормально не получится.
Ответ написан
adugin
@adugin
Можно посмотреть в сторону Merkle Tree/подпись.
Ответ написан
pro_co_ru
@pro_co_ru Автор вопроса
Старший инженер-программист
Нашёл интересные наработки в этом направлении: https://github.com/dedis/cothority/wiki
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы