Ежегодное голосование толпы в Minecraft — это долгожданное событие, на котором игроки могут выбрать следующее существо , которое будет добавлено в игру. Однако недавние открытия вызвали дискуссии о целостности этой системы голосования. В теме в Твиттере пользователя по имени Богдан описаны потенциальные недостатки Mob Vote 2023 , которые могли быть использованы в процессе голосования.
Рассматриваемая ошибка
По словам Богдана, об ошибке впервые было сообщено на трекере проблем Mojang под идентификатором WEB-6163 (сегодня эта ссылка больше недоступна). Основная проблема заключается в способе отправки и хранения голосов на сервере. Когда игрок голосует, его компьютер отправляет пакет данных на сервер Mojang. Этот пакет содержит MCToken игрока (форма идентификации) и таблицу со списком моба, за которого он голосует.
Сервер принимает этот массив и сохраняет его в базе данных, не проверяя размер или повторение содержащихся в нем элементов. По сути, сервер проверяет валидность мобов в списке, а не их количество.
Сервер принимает этот массив и сохраняет его в базе данных, не проверяя размер или повторение содержащихся в нем элементов. По сути, сервер проверяет валидность мобов в списке, а не их количество.
Как могли быть подсчитаны голоса: два варианта
Вариант 1: прочитать все
Первая возможность заключается в том, что сервер считывает все элементы списка для каждого избирателя. Если это так, то несколько записей для конкретного моба от одного избирателя могут привести к увеличению их подсчета, что потенциально может исказить результаты.
Вариант 2: прочитать голоса[0]
Альтернатива заключается в том, что сервер читает только первый элемент списка (индекс 0). Если это так, то целостность подсчета голосов сохраняется, даже если место для хранения базы данных будет потрачено впустую.
Загадка: стоимость и точность
Отсутствие контроля над размером и повторением вызывает вопросы. Если система не предназначена для проверки размера данных, как мы можем доверять ей в правильном подсчете голосов? Богдан поднимает веский вопрос: если не будет никакого контроля при хранении информации, что обходится Microsoft дороже с точки зрения хранения базы данных, какие у нас есть гарантии, что голоса будут подсчитаны правильно?
Голосование без владения Minecraft: еще одна возможная ошибка
Помимо основной проблемы с хранением и подсчетом голосов, выявился еще один баг: возможность голосовать, не имея учетной записи Minecraft. Это открывает еще один путь для возможной эксплуатации, поскольку по сути позволяет получить неограниченное количество голосов из непроверенных источников.
Заключение: нерешенные вопросы
Хотя Mojang признал слухи о манипулировании голосованием и отреагировал на них, заявив, что это не повлияло на результаты, остается много вопросов. Они не затрагивали напрямую точные детали ошибок и проблем, поднятых сообществом.
Хотя конкретных доказательств использования этих уязвимостей нет, наличие потенциальных недостатков в системе посеяло сомнения. Будет интересно посмотреть, как Mojang решит эти вопросы и проблемы в ходе будущих голосований.
![](https://minecraft-mods.pro/1/730y.png)