@fellowman65de

Какой есть способ защиты от нарушителей в группе распределенных вычислений?

Привет вам всем.
Исходные данные: имеется большая сеть из людей, добровольно предоставляющих свои вычислительные мощности в обмен на награду за каждую решенную подзадачу. В сеть загружается общая большая задача, разделяется на подзадачи и эти подзадачи малой сложности распределяются между узлами.
Проблема: как уберечься от недобросовестных пользователей, которые будут решать задачи неправильно и посылать некорректные ответы? Нужна близкая к 100% вероятность того, что в систему не пройдёт неправильный ответ.
Что я только ни думал! Каким алгоритмом можно решить эту проблему?
Лично у меня пока есть только вариант загрузки в озу пользователя зашифрованной программы (чтобы ее код нельзя было изменить во время выполнения), которая бы следила за тем, что он по-настоящему не обманывает и просчитывает задачу. Насколько это осуществимо и можно ли так достичь близкой к 100% защиты?
Задания чаще всего предусматривают обработку графики. Пользователи используют только gpu, никаких cpu. Подзадачи простые и просчитываются обычно за 20-30 мс.
  • Вопрос задан
  • 3108 просмотров
Пригласить эксперта
Ответы на вопрос 3
sim3x
@sim3x
Несколько раз считать у разных людей одну и ту же задачу и сверять

Также ето поможет найти ошибки при вычислениях
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Подписывайте запросы своим открытым ключом, который содержится в программе.
Если подпись невалидна - задача не выполнена.
Давайте задачу трём клиентам и проверяйте, чтобы результат совпадал у всех трёх.
Любое нарушение (невалидный ключ или хотя бы одно несовпадение) - снимайте задачу с этих трёх и отдавайте другим трём, не сообщая ничего на клиент (что были ошибки и т.д.).
Ответ написан
opium
@opium
Просто люблю качественно работать
Почему бы просто не проверить правильность?
Ответ написан
Ваш ответ на вопрос

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

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