Была обнаружена «существенная» ошибка выбора приманки. сообщил для Monero через официальный дескриптор проекта в Twitter. Согласно исследованию, проведенному разработчиком программного обеспечения Джастином Берманом, ошибка «может повлиять на конфиденциальность вашей транзакции» в течение короткого промежутка времени после получения средств.
Если пользователи тратят средства сразу после времени блокировки в первых 2 блоках, разрешенных правилами консенсуса (~ 20 минут после получения средств), то существует большая вероятность того, что результат можно определить как истинное расходование.
Исследовательская лаборатория Monero пояснила, что данные, подверженные риску раскрытия, связаны с адресами или суммами транзакций, а сами средства «никогда не подвергаются риску кражи». Поскольку отчет был опубликован около 10 часов назад, ошибка сохраняется в «официальном коде кошелька».
Чтобы устранить ошибку, пользователи могут подождать 1 час, прежде чем тратить средства после их получения. В настоящее время разработчики работают над обновлением программного обеспечения кошелька. Это не нужно делать с помощью хард-форка.
Разработчики Monero Research Lab и Monero очень серьезно относятся к этому вопросу. Мы предоставим обновление, когда появятся исправления для кошелька.
Возможное исправление ошибки выбора приманки в Monero
В проекте Monero на GitHub хранилище, Берман подробно объяснил ошибку. Он сообщил, что его расследование было проведено основными разработчиками до того, как оно было опубликовано. Он пояснил, что механизм выбора приманки, который влияет на программный кошелек, имеет «нулевое изменение выбора очень недавних выходов в качестве приманок».
Таким образом, почему пользователи могут смягчить ошибку, потратив свои средства через некоторое время. Как пояснил разработчик, алгоритм вводит 10 «приманок» в кольцо Monero, позже он скрывает реальный вывод. Механизм выбора имеет почти 0 шансов выбрать приманку с менее чем 100 выходами, но все же вероятность есть:
Дело в том, что еще есть шанс выбрать ловушку с выходным индексом <100 is thanks to this part of the algorithm which takes the output_index determined by exp(x), finds the block it’s in, and then randomly selects an output from that block. So outputs from blocks that have >100 выходов могут быть выбраны в качестве приманок.
Хотя он все еще находится в стадии разработки, Берман считает, что решение ошибки Monero потребует модификации механизма выбора приманки. Это может потенциально повлиять на единообразие транзакций, если они обрабатываются узлом без обновления, по сравнению с тем, как узлы обновления будут строить кольца, сказал разработчик.
Исправление, к которому я склоняюсь в данный момент, заключается в том, что алгоритм отключен на 1 блок, а это означает, что наблюдаемое гамма-распределение в статье просто отображает наблюдаемые затраты. При времени блока в 120 секунд можно ожидать, что около 0 выходов будут израсходованы менее чем за 120 секунд, что, по-видимому, подтверждает рекомендованное в статье гамма-распределение.
На момент написания Monero (XMR) торгуется по цене 220,95 доллара с прибылью 16,1% на недельном графике. XMR следует за общими настроениями рынка, двигаясь в боковом направлении после значительного роста в выходные.