Перевод Журнал встречи исследовательской лаборатории Monero от 2020-06-03

Тема в разделе "Журналы о Monero", создана пользователем Unholy, 9 июн 2020.

  1. Unholy

    Unholy Well-Known Monerano

    Регистрация:
    6 мар 2018
    Сообщения:
    179
    Симпатии:
    13
    Когда: Среда, 3 июня 2020 г., 17:00 UTC
    Где: #monero-research-lab (freenode/matrix)

    Повестка дня:
    1. Приветствия
    2. Круглый стол
    3. Вопросы
    4. Ключевые моменты
    Журнал встречи:

    <sarang> ОК, начнем!
    <sarang> Во-первых, ПРИВЕТСТВИЯ
    <sarang> привет
    <ArticMine> Hi
    <dEBRUYNE> hi
    sarang ждет других участников в течение нескольких минут
    <hyc>
    hey
    <Isthmus> Heyo
    <sarang> Далее у нас КРУГЛЫЙ СТОЛ, где каждый участник может поделиться своими исследованиями, представляющими общий интерес
    <sarang> у меня есть несколько интересных тем
    <sarang> недавний препринт от студентов-исследователей из CMU по отслеживанию транзакций был обновлен, чтобы отразить все недавние исправления и улучшения: https://eprint.iacr.org/2020/593
    <binaryFate> привет
    MSavoritias подключился (~MSavoriti@44-224-rev.isper.sk)
    <sarang>
    исследователи по-прежнему утверждают, что небольшое (но и ненулевое) число транзакций после переключения (на протокол RingCT) было возможно отследить, но их данные явно не соответствуют другим опубликованным данным
    <sarang> поэтому я решил самостоятельно провести аналогичный анализ и сравнить результаты
    <sarang> я взял данные, которые учитывают все транзакции до начала этой недели
    <sarang> если вы запустите полный анализ цепной реакции, получится 7303 транзакции, содержащие хотя бы один вывод
    <sarang> однако
    <sarang> все эти транзакции тратят выходные данные перед предварительным переключением
    <sarang> таким образом, если вы отфильтруете все транзакции, которые не относятся к CT-in-CT-out, то у вас в любом случае получится 0 транзакций / выходов
    <sarang> подождите, это еще не все!
    <sarang> препринт также пытается определить, насколько эффективна эвристика, основанная на догадках
    <sarang> и, к сожалению, они использует эти 7303 (или сколько их там было в их диапазоне) транзакции как основополагающую истину
    <sarang> и затем строят предположение, что это свойственно для всех транзакций после переключения
    <binaryFate> это довольно глупо
    <sarang> бы не сказал, что это правильное определение, просто им не удалось учесть все типы транзакций
    <ArticMine> значит, во всём виновен RingCT
    <sarang> Поскольку после переключения непременно останутся транзакции с "full-CT", весь их набор данных основан на трате старых средств, для которых современный алгоритм выбора больше не применим
    <sarang> но есть один интересный момент
    <dEBRUYNE> Для прояснения ситуации — это касается транзакций, в которых выходы, не относящиеся к RingCT, были трансформированы в выходы RingCT, верно?
    <sarang> даже эти исследователи считают, что этот набор данных о транзакциях лучше, чем все последние данные от Миллера и других исследователей!
    <sarang> dEBRUYNE: да, или которые вообще не смогли быть сконвертированы в CT
    <sarang> (ограниченные случаи с участием одного входа)
    <moneromooo> Потому что существуют транзакции с "full-CT", которые всё еще можно получить в наборе данных
    <moneromooo> может быть, они просто забыли исключить его из анализа?
    <sarang> спасибо, что поправили
    <sarang> потому что НЕТ "full-CT" переключения, на основе которого можно вывести новые определения дактилоскопии
    <dEBRUYNE> sarang: Спасибо, я думаю, что это выбросы пыли, которые вначале нужно преобразовать в стандартизированные выходы
    <dEBRUYNE> значит пыль или просто несмешиваемые
    <sarang> таким образом, выходы, представленные в статье, не ошибочны, они просто не определяют различий между типами, что я, в свою очередь, считаю очень важным
    <sarang> все их выводы могут быть экстраполированы только на транзакции "CT"
    <binaryFate> Когда вы тратите старые результаты, кошелек предупреждает вас о том, что конфиденциальность может быть снижена. В их документе обязательно должно быть упомянуто, что эти транзакции являются конкретными и пользователи полностью информированы о возможном риске
    <sarang> Я уже начал подготовку отдельного письма для авторов документа, чтобы сообщить им об этой "ошибке" на тот случай, если они захотят пересмотреть документ
    <sarang> они очень быстро ответили на мое предыдущее письмо и очень быстро внесли новые правки
    <sarang> теперь, когда у меня есть полный набор выходных данных, я перепроверяю их результаты на предмет наличия эффективных наборов анонимности для всех остальных транзакций
    <sarang> и еще я хочу разделить их по типу транзакции
    <sarang> хоть в препринте и было несколько ошибок, я рад, что они провели такое исследование
    <sarang> мы должны поощрять студентов-исследователей
    <binaryFate> Мне не совсем понятно, что такого нового в этом наборе данных
    <sarang> Как же так?
    <binaryFate> этот набор данных специально предназначен для того, чтобы реальный выход считался устаревшим, разве это не должно выводить весьма посредственные результаты при анализе того, как работает эвристика, которую нельзя распространить на другие транзакции?
    <sarang> Да
    <sarang> это то, о чем я говорил ранее
    <sarang> они предположили, что их базовый набор данных после смены протокола представлял все последующие транзакции, что полностью неверно
    <UkoeHB_> входы pre-ringCT могут использоваться в кольцах так же, как и новые выходы на основе монетной базы
    <dEBRUYNE> "что я, в свою очередь, считаю очень важным" <= Да, потому что неосведомленные читатели могут сделать вывод, что это касается RingCT транзакций
    <binaryFate> алгоритм выбора приманки очень отличается для всех этих транзакций (особенно для non-ringct). Поскольку все они очень старые, они отличаются гамма-распределением, что очень сильно отличает их от текущего алгоритма
    <moneromooo> Использование выходов pre-ringct в качестве фальшивых выходов было бы отличным решением после добавления ringct, в противном случае появилось бы несколько раскрытых выходов в кольцах
    <sarang> Когда я закончу анализ новых данных, это должно предоставить гораздо более четкую картину состояния для всех текущих транзакций (и колец)
    <sarang> сам код все еще нуждается в чистке, чтобы облегчить другим исследователям воспроизведение этого анализа
    <UkoeHB_> интересная точка зрения, moneromooo
    <sarang> и спасибо gingeropolous за предоставление быстрого тестового стенда для этого анализа
    <sarang> если они решат не пересматривать документ, я могу написать новый препринт, который будет отображать все эти данные
    <sarang> но я подозреваю, что они захотят пересмотреть его снова, так как они очень быстро внесли правки после первого письма
    <binaryFate> реально круто, что вы перепроверили все эти результаты
    <hyc> звучит здорово
    <sarang> Я также могу опубликовать необработанные данные транзакций, которые были отброшены после смены протокола на случай, если кто-то захочет специально проанализировать их
    <hyc> очень круто, что их работа воспроизводима
    <sarang> Опять же, я очень рад, что они сделали такой анализ
    <sarang> да, но я не стал использовать их Java-код
    <sarang> я хотел обзавестись дополнительными данными, которые они не предоставили, поэтому я переписал код
    <sarang> но всё равно большое им спасибо за то, что они опубликовали весь свой код
    <UkoeHB_> Я хотел бы посмотреть, можно ли адаптировать их код к определенному типу анализа
    <moneromooo> На самом деле нет. Это больше похоже на *негативную* похвалу для тех, кто этого не делает
    <sarang> UkoeHB_, что это за анализ?
    <hyc> moneromooo: да, есть такая тенденция в последнее время
    <moneromooo> Документ или анализ без наличия самого кода не более чем статья
    <UkoeHB_> о кольцевых циклах и сравнение со случайно сгенерированными кольцами
    <sarang> а, для определения кольцевого цикла
    <hyc> moneromooo: согласен
    <moneromooo> Кольцо является круговой конструкцией. А цикл это....
    <UkoeHB_> например, два выхода принадлежат одному и тому же человеку, а цикл - это когда их предки пересекаются в одной и той же транзакции
    <sarang> Ооо, выходное слияние
    <sarang> ?
    <moneromooo> такое может случиться и в случае фальшивых выходов
    <sarang> да
    <UkoeHB_> да, поэтому я и хочу увидеть вероятность того, что размеры данного цикла изменяются случайно
    <sarang> Я думаю, что вопрос в том, насколько вероятно, что это произойдет на практике
    <Isthmus> @UkoeHB_, это довольно сложное исследование, да и результаты, вероятно, будут удручающими :-(
    <moneromooo> было бы неплохо, чтобы кошелек попытался выбрать поддельные выходы, которые генерируют "ложные срабатывания"
    <sarang> у меня есть код, который будет выполнять анализа слияния, но его все еще нужно добавить в общую кодовую базу
    <sarang> графики получаются весьма большие, и мне пока непонятно, как их можно переработать
    <Isthmus> было бы неплохо, чтобы кошелек попытался выбрать поддельные выходы, которые генерируют "ложные срабатывания" <
    <sarang> В анализе слияния используются только вычитаемые транзакции
    <UkoeHB_> верно, у меня есть некоторые идеи по поводу ограничения диапазона выходных данных, но сначала нужно точно оценить, сколько времени займет такой анализ
    <Isthmus> UkoeHB_: чтобы создать случайный набор данных, нужно будет выбрать предположения для таких параметров, как количество транзакций на кошелек
    <sarang> да
    <Isthmus> и самое интересное то, что мы можем установить статистические оценки всех этих параметров на основе реальных данных блокчейна
    <UkoeHB_> Isthmus, мы можем просто использовать уже существующие транзакции, но выбрать кольца случайным образом, что обеспечит прямое сравнение с реальной базой данных колец
    <Isthmus> Особенно если это редкое, но "естественное" явление, т. е. низкая частота ложных срабатываний
    <sarang> Этот вид анализа также рассматривался как основная часть структуры вспенивания
    <UkoeHB_> и сделать случайно сгенерированный анализ несколько раз для учета дисперсии
    <Isthmus> Да, имеет смысл
    <sarang> Во всяком случае, мы потратили очень много времени на обсуждение всего этого
    <sarang> были ли другие исследования, представляющие интерес?
    <Isthmus> Мне будет интересно посмотреть графики, где ось X - это число транзакций, созданных в кошельке, а ось Y - статистические показатели, такие как меткость / точность / и т. д.
    <Isthmus> У меня есть несколько обновлений
    <Isthmus> я проводил некоторые исследования масштабируемости в p2p сетях, создавал наборы для тестирования и т. д. Конечно, еще очень рано говорить об этом, но я полагаю, что у меня будут некоторые новые идеи для улучшения Monero
    <UkoeHB_> да, это серьезный проект, и он заслуживает отдельного исследовательского документа, еще я хочу посмотреть, насколько хорошо работает гамма-распределение с учетом актуального теоретического распределения
    <Isthmus> "еще я хочу посмотреть, насколько хорошо работает гамма-распределение с учетом актуального теоретического распределения" < ДА, ПОЖАЛУЙСТА!
    <Isthmus> @UkoeHB_, на GitHub у меня есть несколько алгоритмов, чтобы идентифицировать и фильтровать транзакции, которые используют равномерный выбор приманки вместо правильного построения из алгоритма. И если не пересмотреть этот подход, впоследствии это приведет к смещению результатов в сторону более старых выходов
    <Isthmus> немного позже я отправлю вам ссылки
    tromp вышел (~tromp@2a02:a210:ca3:2800:1803:9b3f:b921:fc5c): Удаленный хост закрыл подключение
    <UkoeHB_>
    отлично, спасибо
    <sarang> Да, нам необходимо исключить старое программное обеспечение
    <sarang> так как мы не сможем достигнуть консенсуса
    <UkoeHB_> Я думаю, что анализ колец слишком труден для того, чтобы им занимался кто-то в одиночку, поэтому нам потребуется совместная работа
    <Isthmus> Программное обеспечение не может быть старше, чем последнее изменение размера колец, как-то так?
    <sarang> Извините, я имел в виду старое программное обеспечение, использующее неправильные методы
    Isthmus кивает головой
    <sarang>
    "нестандартные" - более подходящий термин
    <sarang> причина, по которой детерминированные входные наборы игнорируются, заключается в том, что они содержат много выходных данных из одних и тех же транзакций
    <sarang> и поэтому они включены как "стандартная характеристика" для всех колец
    <binaryFate> "еще я хочу посмотреть, насколько хорошо работает гамма-распределение с учетом актуального теоретического распределения" - я тоже занимался работой в этом направлении, очень интересный получился опыт
    <UkoeHB_> я же пропустил последнюю встречу… И предложение по атаке Януса было обновлено ровно неделю назад (https://github.com/monero-project/monero/issues/6456), и теперь основная идея заключается в шифровании приватного ключа транзакции для получателей. Для 2-out-tx, где будет только 1 публичный ключ транзакции, все "выходные данные" будут использовать "приватный публичный ключ транзакции", полученный из зашифрованного приватного ключа получателя (без изменений).
    <UkoeHB_> Или просто измените выходные данные, чтобы использовать "выход на скаляр", однако я обеспокоен тем, что это повлечет за собой слишком большие изменения кода на уровне протокола
    asymptotically вышел (~asymptoti@gateway/tor-sasl/asymptotically): Удаленный хост закрыл подключение
    derpy_bridge_ вышел (~derpy_bri@92.223.89.195): Удаленный хост закрыл подключение
    derpy_bridge подключился (~derpy_bri@92.223.89.195)
    <binaryFate>
    Что происходит в том случае, если есть 2-out-tx, но ни один из выходов не является изменением?
    <Isthmus> Я думаю, нужно отталкиваться от 3
    <Isthmus> тогда 3-out-tx?
    <UkoeHB_> Идея состоит в том, чтобы принудительно использовать 1 публичный ключ транзакции для 2 выходов и 1 ключ на выход для >2 выходов. Все транзакции без выхода с изменениями должны были бы быть >2, даже если это означает добавление фиктивного выхода
    <moneromooo> 0 автоматически добавляется *только* тогда, когда есть один выход
    <UkoeHB_> Правильно, но останется потенциальная возможность, что 2 выхода без изменений будут нуждаться в пустышке
    <Isthmus> поэтому я и воспринимаю это как логичное решение
    <UkoeHB_> шифрование секретного ключа транзакции было проигнорировано, так как текущие транзакции знают о существовании публичного ключа, но поскольку мы начали применять несколько публичных ключей, это больше не выглядит как актуальная проблема
    <UkoeHB_> то есть как решение для атаки Януса*
    tromp подключился (~tromp@2a02:a210:ca3:2800:1803:9b3f:b921:fc5c)
    <UkoeHB_>
    и особенно теперь, когда приватный ключ транзакции оказался ненужным... в любом случае это мое быстрое обновление
    <ArticMine> означает ли это, что 2-out-tx всегда имеют реальные или фиктивные изменения
    <UkoeHB_> да
    <ArticMine> А что насчет потенциальной атаки?
    <UkoeHB_> в смысле вы имеете в виду то, что в 2-out-tx всегда есть выход с изменениями? Интересная точка зрения
    Isthmus тихо бормочет себе под нос — а вот если бы у нас было бы минимум 3 выхода, это не было бы проблемой
    <Isthmus>
    нет, подождите, это просто перенесет проблему на n+1
    <sarang> Извините, проблемы с подключением; я вернулся
    <ArticMine> я бы не был так уверен
    <UkoeHB_> махинации с 2-out-tx в основном предназначены для оптимизации сканирования и размеров транзакции, так как ретрансляция 2-out составляет только ~95% от простой версии
    <UkoeHB_> это правда, ArticMine
    MSavoritias вышел (~MSavoriti@44-224-rev.isper.sk): Причина: MSavoritias
    <luigi1111w>
    можно с высокой степенью уверенности предположить, что каждая транзакция содержит изменения для выходных данных. Я не понимаю, почему это такое важное наблюдение...
    <Isthmus> Тогда вспенивание не будет работать
    <sarang> ^
    <moneromooo> Почему это?
    <sarang> это и не обязательно
    <sarang> но это повлияет на слияние выходных данных позже
    <moneromooo> Ну, тогда это бесполезный трёп
    <Isthmus> Вспенивание с изменением создает петли, о которых уже писал UkoeHB_
    <luigi1111w> у вспенивания есть два выхода для изменения, разве нет?
    <ArticMine> может и так
    <luigi1111w> или один реальный и один поддельный
    <UkoeHB_> при вспенивании есть "выход для себя" и "выход изменения", и изменения выходов обрабатываются по-разному
    <luigi1111w> конечно, но это с точки зрения сети
    <UkoeHB_> угу
    <ArticMine> Или просто разделить 2 отдельных кошелька под контролем одного человека
    <ArticMine> что вносит неопределенность
    <luigi1111w> почему это так важно?
    <ArticMine> потому что смещение может увеличиться
    <sarang> Наше время подходит к концу, есть ли у вас другие исследования, которые необходимо обсудить перед окончанием встречи?
    <Isthmus> У меня есть 2 обновления, постараюсь быть краток:
    <Isthmus> Наш CCS в ключе исследования постквантовой безопасности Monero почти профинансирован. Осталось ~7%, менее 40 XMR. https://ccs.getmonero.org/proposals/research-post-quantum-monero.html
    <Isthmus> если финансирование будет завершено сегодня, мы сразу же займемся своей работой и представим первый отчет уже на следующей встрече MRL :)
    <Isthmus> И еще немного информации - у меня есть один знакомый, инженер из InsSight DistSys, который занимается созданием "ускоренных сетей", то есть узлов с высокой скоростью подключения и высокой пропускной способностью, что позволяет распространять / ретранслировать блоки / транзакции через специальную адаптированную сеть намного быстрее. И его основная цель - исключить длинный хвост подключений во время распространения / ретрансляции блоков
    <Isthmus> кодовая база его разработки является модульной со сценариями развертывания и управления через Terraform / ansible, поэтому ее можно настроить для ускорения сети Monero в будущем
    <Isthmus> Ну теперь точно всё
    asymptotically подключился (~asymptoti@gateway/tor-sasl/asymptotically)
    <sarang>
    Великолепно!
    <sarang> Полагаю, мне следует упомянуть, что я приветствую ваши комментарии / вопросы / emoji в отношении моего предложения о финансировании. На основе ваших реакций мне нужно принять решение: https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/148
    <luigi1111w> спасибо, что вынесли это на обсуждение
    <sarang> Хорошо, я полагаю, мы можем закончить с официальной частью встречи
    <sarang> спасибо всем за участие
    <sarang> обсуждение может продолжаться!

    Источник: Research meeting: 3 June 2020 @ 17:00 UTC #470

    Перевод:
    Unholy (@Unholy)
    Редактирование:
    Mr. Pickles (@v1docq47)
    Коррекция:
    Kukima (@Kukima)
     
  • О нас

    Наш сайт является одним из уникальных мест, где русскоязычное сообщество Monero может свободно общаться на темы, связанные с этой криптовалютой. Мы стараемся публиковать полезные мануалы и статьи (как собственные, так и переводы с английского) о криптовалюте Monero. Если вы хорошо владеете английским (или можете писать собственные статьи/мануалы) и хотите помочь в переводах и общем развитии Monero для русскоязычной аудитории - свяжитесь с одним из администраторов.